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

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

%struct.s2n_test_io_pair = type { i32, i32 }
%struct.s2n_result = type { i32 }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.iovec = type { ptr, i64 }
%struct.s2n_test_ktls_io_stuffer_pair = type { %struct.s2n_test_ktls_io_stuffer, %struct.s2n_test_ktls_io_stuffer }
%struct.s2n_test_ktls_io_stuffer = type { %struct.s2n_stuffer, %struct.s2n_stuffer, i64, 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_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_recv_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
@.str.11 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [149 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [43 x i8], align 1
@__const.main.test_data = external hidden unnamed_addr constant [100 x i8], align 16
@.str.19 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [53 x i8], align 1
@__const.main.alert_data = external hidden unnamed_addr constant [2 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [125 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [25 x i8], align 1

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_expect_concurrent_error_recv_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_recv(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 ptr, align 8
  %10 = alloca i32, align 4
  %11 = alloca ptr, align 8
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca [100 x i8], align 16
  %17 = alloca i64, align 8
  %18 = alloca i32, align 4
  %19 = alloca ptr, align 8
  %20 = alloca i32, align 4
  %21 = alloca ptr, align 8
  %22 = alloca i32, align 4
  %23 = alloca %struct.s2n_test_io_pair, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca [100 x i8], align 16
  %30 = alloca i64, align 8
  %31 = alloca i64, align 8
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca %struct.s2n_result, align 4
  %37 = alloca %struct.s2n_result, align 4
  %38 = alloca i32, align 4
  %39 = alloca ptr, align 8
  %40 = alloca i32, align 4
  %41 = alloca ptr, align 8
  %42 = alloca i32, align 4
  %43 = alloca %struct.s2n_stuffer, align 8
  %44 = alloca %struct.s2n_stuffer, align 8
  %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 [100 x i8], align 16
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca i32, align 4
  %56 = alloca i32, align 4
  %57 = alloca i32, align 4
  %58 = alloca %struct.s2n_result, align 4
  %59 = alloca %struct.s2n_result, align 4
  %60 = alloca i32, align 4
  %61 = alloca ptr, align 8
  %62 = alloca i32, align 4
  %63 = alloca ptr, align 8
  %64 = alloca i32, align 4
  %65 = alloca %struct.s2n_stuffer, align 8
  %66 = alloca %struct.s2n_stuffer, align 8
  %67 = alloca i32, align 4
  %68 = alloca i32, align 4
  %69 = alloca i32, align 4
  %70 = alloca i32, align 4
  %71 = alloca i32, align 4
  %72 = alloca i32, align 4
  %73 = alloca i32, align 4
  %74 = alloca i32, align 4
  %75 = alloca [1 x i8], align 1
  %76 = alloca i32, align 4
  %77 = alloca i32, align 4
  %78 = alloca i32, align 4
  %79 = alloca i32, align 4
  %80 = alloca i32, align 4
  %81 = alloca %struct.s2n_result, align 4
  %82 = alloca %struct.s2n_result, align 4
  %83 = alloca ptr, align 8
  %84 = alloca i32, align 4
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca i32, align 4
  %88 = alloca [100 x i8], align 16
  %89 = alloca i32, align 4
  %90 = alloca i32, align 4
  %91 = alloca i32, align 4
  %92 = alloca i32, align 4
  %93 = alloca i32, align 4
  %94 = alloca i32, align 4
  %95 = alloca i8, align 1
  %96 = alloca %struct.s2n_blob, align 8
  %97 = alloca i32, align 4
  %98 = alloca i64, align 8
  %99 = alloca %struct.s2n_blob, align 8
  %100 = alloca i32, align 4
  %101 = alloca i32, align 4
  %102 = alloca ptr, align 8
  %103 = alloca i32, align 4
  %104 = alloca ptr, align 8
  %105 = alloca i32, align 4
  %106 = alloca %struct.s2n_test_io_pair, align 4
  %107 = alloca i32, align 4
  %108 = alloca i32, align 4
  %109 = alloca i32, align 4
  %110 = alloca i64, 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 %struct.s2n_result, align 4
  %117 = alloca %struct.s2n_result, align 4
  %118 = alloca i8, align 1
  %119 = alloca i64, align 8
  %120 = alloca %struct.s2n_blob, align 8
  %121 = alloca i32, align 4
  %122 = alloca i64, align 8
  %123 = alloca %struct.s2n_blob, align 8
  %124 = alloca i32, align 4
  %125 = alloca i32, align 4
  %126 = alloca ptr, align 8
  %127 = alloca i32, align 4
  %128 = alloca ptr, align 8
  %129 = alloca i32, align 4
  %130 = alloca %struct.s2n_test_io_pair, align 4
  %131 = alloca i32, align 4
  %132 = alloca i32, align 4
  %133 = alloca i32, align 4
  %134 = alloca i64, align 8
  %135 = alloca i32, align 4
  %136 = alloca i32, align 4
  %137 = alloca i64, align 8
  %138 = alloca i64, align 8
  %139 = alloca i64, align 8
  %140 = alloca i32, align 4
  %141 = alloca i64, align 8
  %142 = alloca i32, align 4
  %143 = alloca i32, align 4
  %144 = alloca i64, align 8
  %145 = alloca i64, align 8
  %146 = alloca i64, align 8
  %147 = alloca i32, align 4
  %148 = alloca i32, align 4
  %149 = alloca i32, align 4
  %150 = alloca i32, align 4
  %151 = alloca i32, align 4
  %152 = alloca i32, align 4
  %153 = alloca i32, align 4
  %154 = alloca i32, align 4
  %155 = alloca i32, align 4
  %156 = alloca i32, align 4
  %157 = alloca i32, align 4
  %158 = alloca i32, align 4
  %159 = alloca i32, align 4
  %160 = alloca i64, align 8
  %161 = alloca i32, align 4
  %162 = alloca i32, align 4
  %163 = alloca i32, align 4
  %164 = alloca i32, align 4
  %165 = alloca i32, align 4
  %166 = alloca i32, align 4
  %167 = alloca %struct.s2n_result, align 4
  %168 = alloca %struct.s2n_result, align 4
  %169 = alloca [100 x i8], align 16
  %170 = alloca %struct.s2n_blob, align 8
  %171 = alloca i32, align 4
  %172 = alloca %struct.s2n_result, align 4
  %173 = alloca i32, align 4
  %174 = alloca %struct.iovec, align 8
  %175 = alloca i32, align 4
  %176 = alloca ptr, align 8
  %177 = alloca i32, align 4
  %178 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %179 = alloca %struct.s2n_result, align 4
  %180 = alloca i32, align 4
  %181 = alloca ptr, align 8
  %182 = alloca i64, align 8
  %183 = alloca %struct.s2n_result, align 4
  %184 = alloca i32, align 4
  %185 = alloca i32, align 4
  %186 = alloca [100 x i8], align 16
  %187 = alloca i32, align 4
  %188 = alloca i32, align 4
  %189 = alloca i32, align 4
  %190 = alloca i32, align 4
  %191 = alloca %struct.s2n_result, align 4
  %192 = alloca %struct.s2n_result, align 4
  %193 = alloca i64, align 8
  %194 = alloca %struct.iovec, align 8
  %195 = alloca ptr, align 8
  %196 = alloca i32, align 4
  %197 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %198 = alloca %struct.s2n_result, align 4
  %199 = alloca i32, align 4
  %200 = alloca ptr, align 8
  %201 = alloca i64, align 8
  %202 = alloca %struct.s2n_result, align 4
  %203 = alloca i32, align 4
  %204 = alloca i32, align 4
  %205 = alloca [100 x i8], align 16
  %206 = alloca i32, align 4
  %207 = alloca i32, align 4
  %208 = alloca i32, align 4
  %209 = alloca i32, align 4
  %210 = alloca %struct.s2n_result, align 4
  %211 = alloca %struct.s2n_result, align 4
  %212 = alloca i64, align 8
  %213 = alloca ptr, align 8
  %214 = alloca i32, align 4
  %215 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %216 = alloca %struct.s2n_result, align 4
  %217 = alloca i32, align 4
  %218 = alloca ptr, align 8
  %219 = alloca i64, align 8
  %220 = alloca %struct.s2n_result, align 4
  %221 = alloca i32, align 4
  %222 = alloca i32, align 4
  %223 = alloca [100 x i8], align 16
  %224 = alloca i32, align 4
  %225 = alloca i32, align 4
  %226 = alloca i32, align 4
  %227 = alloca i32, align 4
  %228 = alloca i32, align 4
  %229 = alloca i64, align 8
  %230 = alloca i32, align 4
  %231 = alloca i32, align 4
  %232 = alloca i32, align 4
  %233 = alloca i32, align 4
  %234 = alloca %struct.s2n_result, align 4
  %235 = alloca %struct.s2n_result, align 4
  %236 = alloca ptr, align 8
  %237 = alloca i32, align 4
  %238 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %239 = alloca %struct.s2n_result, align 4
  %240 = alloca i32, align 4
  %241 = alloca [100 x i8], align 16
  %242 = alloca i32, align 4
  %243 = alloca i32, align 4
  %244 = alloca i32, align 4
  %245 = alloca i32, align 4
  %246 = alloca i32, align 4
  %247 = alloca %struct.s2n_result, align 4
  %248 = alloca %struct.s2n_result, align 4
  %249 = alloca ptr, align 8
  %250 = alloca i32, align 4
  %251 = alloca i64, align 8
  %252 = alloca %struct.s2n_result, align 4
  %253 = alloca i32, align 4
  %254 = alloca [10 x i8], align 1
  %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 i32, align 4
  %262 = alloca %struct.s2n_result, align 4
  %263 = alloca [2 x i8], align 1
  %264 = alloca %struct.iovec, align 8
  %265 = alloca ptr, align 8
  %266 = alloca i32, align 4
  %267 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %268 = alloca %struct.s2n_result, align 4
  %269 = alloca i32, align 4
  %270 = alloca ptr, align 8
  %271 = alloca i64, align 8
  %272 = alloca %struct.s2n_result, align 4
  %273 = alloca i32, align 4
  %274 = alloca i32, align 4
  %275 = alloca [10 x i8], align 1
  %276 = alloca i32, align 4
  %277 = alloca i32, align 4
  %278 = alloca i32, align 4
  %279 = alloca i32, align 4
  %280 = alloca i32, align 4
  %281 = alloca i32, align 4
  %282 = alloca i32, align 4
  %283 = alloca %struct.s2n_result, align 4
  %284 = alloca %struct.s2n_result, align 4
  %285 = alloca ptr, align 8
  %286 = alloca i32, align 4
  %287 = alloca i64, align 8
  %288 = alloca i32, align 4
  %289 = alloca [4 x i8], align 1
  %290 = alloca %struct.iovec, align 8
  %291 = alloca ptr, align 8
  %292 = alloca i32, align 4
  %293 = alloca i32, align 4
  %294 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %295 = alloca %struct.s2n_result, align 4
  %296 = alloca i32, align 4
  %297 = alloca ptr, align 8
  %298 = alloca i64, align 8
  %299 = alloca %struct.s2n_result, align 4
  %300 = alloca i32, align 4
  %301 = alloca i32, align 4
  %302 = alloca %struct.s2n_result, align 4
  %303 = alloca i32, align 4
  %304 = alloca i32, align 4
  %305 = alloca [100 x i8], align 16
  %306 = alloca i32, align 4
  %307 = alloca i32, align 4
  %308 = alloca i32, align 4
  %309 = alloca i32, align 4
  %310 = alloca i32, align 4
  %311 = alloca %struct.s2n_result, align 4
  %312 = alloca %struct.s2n_result, align 4
  %313 = alloca %struct.s2n_result, align 4
  %314 = alloca ptr, align 8
  %315 = alloca i32, align 4
  %316 = alloca i32, align 4
  %317 = alloca ptr, align 8
  %318 = alloca i32, align 4
  %319 = alloca i32, align 4
  %320 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %321 = alloca %struct.s2n_result, align 4
  %322 = alloca i32, align 4
  %323 = alloca ptr, align 8
  %324 = alloca %struct.iovec, align 8
  %325 = alloca i64, align 8
  %326 = alloca i64, align 8
  %327 = alloca %struct.s2n_result, align 4
  %328 = alloca i32, align 4
  %329 = alloca i32, align 4
  %330 = alloca [100 x i8], align 16
  %331 = alloca i32, align 4
  %332 = alloca i32, align 4
  %333 = alloca i32, align 4
  %334 = alloca i32, align 4
  %335 = alloca %struct.s2n_result, align 4
  %336 = alloca %struct.s2n_result, align 4
  %337 = alloca ptr, align 8
  %338 = alloca i32, align 4
  %339 = alloca i32, align 4
  %340 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %341 = alloca %struct.s2n_result, align 4
  %342 = alloca i32, align 4
  %343 = alloca ptr, align 8
  %344 = alloca i64, align 8
  %345 = alloca %struct.iovec, align 8
  %346 = alloca i64, align 8
  %347 = alloca i64, align 8
  %348 = alloca %struct.s2n_result, align 4
  %349 = alloca i32, align 4
  %350 = alloca i32, align 4
  %351 = alloca [100 x i8], align 16
  %352 = alloca i32, align 4
  %353 = alloca i32, align 4
  %354 = alloca i32, align 4
  %355 = alloca i32, align 4
  %356 = alloca %struct.s2n_result, align 4
  %357 = alloca %struct.s2n_result, align 4
  %358 = alloca %struct.s2n_result, align 4
  %359 = alloca i32, align 4
  %360 = alloca i32, align 4
  %361 = alloca %struct.s2n_result, align 4
  %362 = alloca %struct.s2n_result, align 4
  store i32 0, ptr %3, align 4
  store i32 %0, ptr %4, align 4, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !9
  br label %363

363:                                              ; preds = %2
  br label %364

364:                                              ; preds = %363
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %365 = load ptr, ptr @stdout, align 8, !tbaa !9
  %366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %365, ptr noundef @.str.7, ptr noundef @.str.2) #11
  %367 = load ptr, ptr @stdout, align 8, !tbaa !9
  %368 = call i32 @fflush(ptr noundef %367)
  br label %369

369:                                              ; preds = %364
  %370 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %371 = icmp eq i32 %370, -1
  br i1 %371, label %372, label %423

372:                                              ; preds = %369
  br label %373

373:                                              ; preds = %372
  br label %374

374:                                              ; preds = %373
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #11
  %375 = call ptr @__errno_location() #12
  %376 = load i32, ptr %375, align 4, !tbaa !5
  store i32 %376, ptr %6, align 4, !tbaa !5
  %377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %378 = call i32 @s2n_print_stacktrace(ptr noundef %377)
  %379 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %380 = trunc i8 %379 to i1
  br i1 %380, label %381, label %403

381:                                              ; preds = %374
  %382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %383 = call i32 @fileno(ptr noundef %382) #11
  %384 = call i32 @isatty(i32 noundef %383) #11
  %385 = icmp ne i32 %384, 0
  br i1 %385, label %386, label %403

386:                                              ; preds = %381
  %387 = load i32, ptr %6, align 4, !tbaa !5
  %388 = call ptr @__errno_location() #12
  store i32 %387, ptr %388, align 4, !tbaa !5
  %389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %390 = load i32, ptr @test_count, align 4, !tbaa !5
  %391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %392 = load i32, ptr %391, align 4, !tbaa !5
  %393 = call ptr @s2n_strerror(i32 noundef %392, ptr noundef @.str.3)
  %394 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %395 = load i32, ptr %394, align 4, !tbaa !5
  %396 = call ptr @s2n_strerror_debug(i32 noundef %395, ptr noundef @.str.3)
  %397 = call ptr @__errno_location() #12
  %398 = load i32, ptr %397, align 4, !tbaa !5
  %399 = call ptr @strerror(i32 noundef %398) #11
  %400 = call ptr @__errno_location() #12
  %401 = load i32, ptr %400, align 4, !tbaa !5
  %402 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %389, ptr noundef @.str, i32 noundef %390, ptr noundef @.str.8, ptr noundef @.str.2, i32 noundef 54, ptr noundef %393, ptr noundef %396, ptr noundef %399, i32 noundef %401) #11
  br label %420

403:                                              ; preds = %381, %374
  %404 = load i32, ptr %6, align 4, !tbaa !5
  %405 = call ptr @__errno_location() #12
  store i32 %404, ptr %405, align 4, !tbaa !5
  %406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %407 = load i32, ptr @test_count, align 4, !tbaa !5
  %408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %409 = load i32, ptr %408, align 4, !tbaa !5
  %410 = call ptr @s2n_strerror(i32 noundef %409, ptr noundef @.str.3)
  %411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %412 = load i32, ptr %411, align 4, !tbaa !5
  %413 = call ptr @s2n_strerror_debug(i32 noundef %412, ptr noundef @.str.3)
  %414 = call ptr @__errno_location() #12
  %415 = load i32, ptr %414, align 4, !tbaa !5
  %416 = call ptr @strerror(i32 noundef %415) #11
  %417 = call ptr @__errno_location() #12
  %418 = load i32, ptr %417, align 4, !tbaa !5
  %419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %406, ptr noundef @.str.4, i32 noundef %407, ptr noundef @.str.8, ptr noundef @.str.2, i32 noundef 54, ptr noundef %410, ptr noundef %413, ptr noundef %416, i32 noundef %418) #11
  br label %420

420:                                              ; preds = %403, %386
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #11
  br label %421

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

422:                                              ; No predecessors!
  br label %423

423:                                              ; preds = %422, %369
  br label %424

424:                                              ; preds = %423
  br label %425

425:                                              ; preds = %424
  %426 = load i32, ptr @test_count, align 4, !tbaa !5
  %427 = add nsw i32 %426, 1
  store i32 %427, ptr @test_count, align 4, !tbaa !5
  %428 = call i32 @s2n_enable_atexit()
  %429 = icmp eq i32 %428, -1
  br i1 %429, label %430, label %481

430:                                              ; preds = %425
  br label %431

431:                                              ; preds = %430
  br label %432

432:                                              ; preds = %431
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #11
  %433 = call ptr @__errno_location() #12
  %434 = load i32, ptr %433, align 4, !tbaa !5
  store i32 %434, ptr %7, align 4, !tbaa !5
  %435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %436 = call i32 @s2n_print_stacktrace(ptr noundef %435)
  %437 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %438 = trunc i8 %437 to i1
  br i1 %438, label %439, label %461

439:                                              ; preds = %432
  %440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %441 = call i32 @fileno(ptr noundef %440) #11
  %442 = call i32 @isatty(i32 noundef %441) #11
  %443 = icmp ne i32 %442, 0
  br i1 %443, label %444, label %461

444:                                              ; preds = %439
  %445 = load i32, ptr %7, align 4, !tbaa !5
  %446 = call ptr @__errno_location() #12
  store i32 %445, ptr %446, align 4, !tbaa !5
  %447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %448 = load i32, ptr @test_count, align 4, !tbaa !5
  %449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %450 = load i32, ptr %449, align 4, !tbaa !5
  %451 = call ptr @s2n_strerror(i32 noundef %450, ptr noundef @.str.3)
  %452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %453 = load i32, ptr %452, align 4, !tbaa !5
  %454 = call ptr @s2n_strerror_debug(i32 noundef %453, ptr noundef @.str.3)
  %455 = call ptr @__errno_location() #12
  %456 = load i32, ptr %455, align 4, !tbaa !5
  %457 = call ptr @strerror(i32 noundef %456) #11
  %458 = call ptr @__errno_location() #12
  %459 = load i32, ptr %458, align 4, !tbaa !5
  %460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %447, ptr noundef @.str, i32 noundef %448, ptr noundef @.str.9, ptr noundef @.str.2, i32 noundef 54, ptr noundef %451, ptr noundef %454, ptr noundef %457, i32 noundef %459) #11
  br label %478

461:                                              ; preds = %439, %432
  %462 = load i32, ptr %7, align 4, !tbaa !5
  %463 = call ptr @__errno_location() #12
  store i32 %462, ptr %463, align 4, !tbaa !5
  %464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %465 = load i32, ptr @test_count, align 4, !tbaa !5
  %466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %467 = load i32, ptr %466, align 4, !tbaa !5
  %468 = call ptr @s2n_strerror(i32 noundef %467, ptr noundef @.str.3)
  %469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %470 = load i32, ptr %469, align 4, !tbaa !5
  %471 = call ptr @s2n_strerror_debug(i32 noundef %470, ptr noundef @.str.3)
  %472 = call ptr @__errno_location() #12
  %473 = load i32, ptr %472, align 4, !tbaa !5
  %474 = call ptr @strerror(i32 noundef %473) #11
  %475 = call ptr @__errno_location() #12
  %476 = load i32, ptr %475, align 4, !tbaa !5
  %477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %464, ptr noundef @.str.4, i32 noundef %465, ptr noundef @.str.9, ptr noundef @.str.2, i32 noundef 54, ptr noundef %468, ptr noundef %471, ptr noundef %474, i32 noundef %476) #11
  br label %478

478:                                              ; preds = %461, %444
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #11
  br label %479

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

480:                                              ; No predecessors!
  br label %481

481:                                              ; preds = %480, %425
  br label %482

482:                                              ; preds = %481
  br label %483

483:                                              ; preds = %482
  br label %484

484:                                              ; preds = %483
  %485 = call i32 @s2n_init()
  %486 = icmp eq i32 %485, -1
  br i1 %486, label %487, label %538

487:                                              ; preds = %484
  br label %488

488:                                              ; preds = %487
  br label %489

489:                                              ; preds = %488
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #11
  %490 = call ptr @__errno_location() #12
  %491 = load i32, ptr %490, align 4, !tbaa !5
  store i32 %491, ptr %8, align 4, !tbaa !5
  %492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %493 = call i32 @s2n_print_stacktrace(ptr noundef %492)
  %494 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %495 = trunc i8 %494 to i1
  br i1 %495, label %496, label %518

496:                                              ; preds = %489
  %497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %498 = call i32 @fileno(ptr noundef %497) #11
  %499 = call i32 @isatty(i32 noundef %498) #11
  %500 = icmp ne i32 %499, 0
  br i1 %500, label %501, label %518

501:                                              ; preds = %496
  %502 = load i32, ptr %8, align 4, !tbaa !5
  %503 = call ptr @__errno_location() #12
  store i32 %502, ptr %503, align 4, !tbaa !5
  %504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %505 = load i32, ptr @test_count, align 4, !tbaa !5
  %506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %507 = load i32, ptr %506, align 4, !tbaa !5
  %508 = call ptr @s2n_strerror(i32 noundef %507, ptr noundef @.str.3)
  %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_debug(i32 noundef %510, ptr noundef @.str.3)
  %512 = call ptr @__errno_location() #12
  %513 = load i32, ptr %512, align 4, !tbaa !5
  %514 = call ptr @strerror(i32 noundef %513) #11
  %515 = call ptr @__errno_location() #12
  %516 = load i32, ptr %515, align 4, !tbaa !5
  %517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %504, ptr noundef @.str, i32 noundef %505, ptr noundef @.str.10, ptr noundef @.str.2, i32 noundef 54, ptr noundef %508, ptr noundef %511, ptr noundef %514, i32 noundef %516) #11
  br label %535

518:                                              ; preds = %496, %489
  %519 = load i32, ptr %8, align 4, !tbaa !5
  %520 = call ptr @__errno_location() #12
  store i32 %519, ptr %520, align 4, !tbaa !5
  %521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %522 = load i32, ptr @test_count, align 4, !tbaa !5
  %523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %524 = load i32, ptr %523, align 4, !tbaa !5
  %525 = call ptr @s2n_strerror(i32 noundef %524, ptr noundef @.str.3)
  %526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %527 = load i32, ptr %526, align 4, !tbaa !5
  %528 = call ptr @s2n_strerror_debug(i32 noundef %527, ptr noundef @.str.3)
  %529 = call ptr @__errno_location() #12
  %530 = load i32, ptr %529, align 4, !tbaa !5
  %531 = call ptr @strerror(i32 noundef %530) #11
  %532 = call ptr @__errno_location() #12
  %533 = load i32, ptr %532, align 4, !tbaa !5
  %534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %521, ptr noundef @.str.4, i32 noundef %522, ptr noundef @.str.10, ptr noundef @.str.2, i32 noundef 54, ptr noundef %525, ptr noundef %528, ptr noundef %531, i32 noundef %533) #11
  br label %535

535:                                              ; preds = %518, %501
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #11
  br label %536

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

537:                                              ; No predecessors!
  br label %538

538:                                              ; preds = %537, %484
  br label %539

539:                                              ; preds = %538
  br label %540

540:                                              ; preds = %539
  call void @llvm.lifetime.start.p0(i64 8, ptr %9) #11
  br label %541

541:                                              ; preds = %540
  %542 = load i32, ptr @test_count, align 4, !tbaa !5
  %543 = add nsw i32 %542, 1
  store i32 %543, ptr @test_count, align 4, !tbaa !5
  %544 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %9, ptr noundef @.str.11, ptr noundef @.str.12)
  %545 = icmp eq i32 %544, -1
  br i1 %545, label %546, label %599

546:                                              ; preds = %541
  br label %547

547:                                              ; preds = %546
  br label %548

548:                                              ; preds = %547
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #11
  %549 = call ptr @__errno_location() #12
  %550 = load i32, ptr %549, align 4, !tbaa !5
  store i32 %550, ptr %10, align 4, !tbaa !5
  %551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %552 = call i32 @s2n_print_stacktrace(ptr noundef %551)
  %553 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %554 = trunc i8 %553 to i1
  br i1 %554, label %555, label %577

555:                                              ; preds = %548
  %556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %557 = call i32 @fileno(ptr noundef %556) #11
  %558 = call i32 @isatty(i32 noundef %557) #11
  %559 = icmp ne i32 %558, 0
  br i1 %559, label %560, label %577

560:                                              ; preds = %555
  %561 = load i32, ptr %10, align 4, !tbaa !5
  %562 = call ptr @__errno_location() #12
  store i32 %561, ptr %562, align 4, !tbaa !5
  %563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %564 = load i32, ptr @test_count, align 4, !tbaa !5
  %565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %566 = load i32, ptr %565, align 4, !tbaa !5
  %567 = call ptr @s2n_strerror(i32 noundef %566, ptr noundef @.str.3)
  %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_debug(i32 noundef %569, ptr noundef @.str.3)
  %571 = call ptr @__errno_location() #12
  %572 = load i32, ptr %571, align 4, !tbaa !5
  %573 = call ptr @strerror(i32 noundef %572) #11
  %574 = call ptr @__errno_location() #12
  %575 = load i32, ptr %574, align 4, !tbaa !5
  %576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %563, ptr noundef @.str, i32 noundef %564, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 59, ptr noundef %567, ptr noundef %570, ptr noundef %573, i32 noundef %575) #11
  br label %594

577:                                              ; preds = %555, %548
  %578 = load i32, ptr %10, align 4, !tbaa !5
  %579 = call ptr @__errno_location() #12
  store i32 %578, ptr %579, align 4, !tbaa !5
  %580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %581 = load i32, ptr @test_count, align 4, !tbaa !5
  %582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %583 = load i32, ptr %582, align 4, !tbaa !5
  %584 = call ptr @s2n_strerror(i32 noundef %583, ptr noundef @.str.3)
  %585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %586 = load i32, ptr %585, align 4, !tbaa !5
  %587 = call ptr @s2n_strerror_debug(i32 noundef %586, ptr noundef @.str.3)
  %588 = call ptr @__errno_location() #12
  %589 = load i32, ptr %588, align 4, !tbaa !5
  %590 = call ptr @strerror(i32 noundef %589) #11
  %591 = call ptr @__errno_location() #12
  %592 = load i32, ptr %591, align 4, !tbaa !5
  %593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %580, ptr noundef @.str.4, i32 noundef %581, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 59, ptr noundef %584, ptr noundef %587, ptr noundef %590, i32 noundef %592) #11
  br label %594

594:                                              ; preds = %577, %560
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #11
  br label %595

595:                                              ; preds = %594
  br label %596

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

597:                                              ; No predecessors!
  br label %598

598:                                              ; preds = %597
  br label %599

599:                                              ; preds = %598, %541
  br label %600

600:                                              ; preds = %599
  br label %601

601:                                              ; preds = %600
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #11
  %602 = call ptr @s2n_config_new()
  store ptr %602, ptr %11, align 8, !tbaa !9
  br label %603

603:                                              ; preds = %601
  %604 = load i32, ptr @test_count, align 4, !tbaa !5
  %605 = add nsw i32 %604, 1
  store i32 %605, ptr @test_count, align 4, !tbaa !5
  %606 = load ptr, ptr %11, align 8, !tbaa !9
  %607 = load ptr, ptr %9, align 8, !tbaa !9
  %608 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %606, ptr noundef %607)
  %609 = icmp eq i32 %608, -1
  br i1 %609, label %610, label %663

610:                                              ; preds = %603
  br label %611

611:                                              ; preds = %610
  br label %612

612:                                              ; preds = %611
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #11
  %613 = call ptr @__errno_location() #12
  %614 = load i32, ptr %613, align 4, !tbaa !5
  store i32 %614, ptr %12, align 4, !tbaa !5
  %615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %616 = call i32 @s2n_print_stacktrace(ptr noundef %615)
  %617 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %618 = trunc i8 %617 to i1
  br i1 %618, label %619, label %641

619:                                              ; preds = %612
  %620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %621 = call i32 @fileno(ptr noundef %620) #11
  %622 = call i32 @isatty(i32 noundef %621) #11
  %623 = icmp ne i32 %622, 0
  br i1 %623, label %624, label %641

624:                                              ; preds = %619
  %625 = load i32, ptr %12, align 4, !tbaa !5
  %626 = call ptr @__errno_location() #12
  store i32 %625, ptr %626, align 4, !tbaa !5
  %627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %628 = load i32, ptr @test_count, align 4, !tbaa !5
  %629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %630 = load i32, ptr %629, align 4, !tbaa !5
  %631 = call ptr @s2n_strerror(i32 noundef %630, ptr noundef @.str.3)
  %632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %633 = load i32, ptr %632, align 4, !tbaa !5
  %634 = call ptr @s2n_strerror_debug(i32 noundef %633, ptr noundef @.str.3)
  %635 = call ptr @__errno_location() #12
  %636 = load i32, ptr %635, align 4, !tbaa !5
  %637 = call ptr @strerror(i32 noundef %636) #11
  %638 = call ptr @__errno_location() #12
  %639 = load i32, ptr %638, align 4, !tbaa !5
  %640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %627, ptr noundef @.str, i32 noundef %628, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 63, ptr noundef %631, ptr noundef %634, ptr noundef %637, i32 noundef %639) #11
  br label %658

641:                                              ; preds = %619, %612
  %642 = load i32, ptr %12, align 4, !tbaa !5
  %643 = call ptr @__errno_location() #12
  store i32 %642, ptr %643, align 4, !tbaa !5
  %644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %645 = load i32, ptr @test_count, align 4, !tbaa !5
  %646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %647 = load i32, ptr %646, align 4, !tbaa !5
  %648 = call ptr @s2n_strerror(i32 noundef %647, ptr noundef @.str.3)
  %649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %650 = load i32, ptr %649, align 4, !tbaa !5
  %651 = call ptr @s2n_strerror_debug(i32 noundef %650, ptr noundef @.str.3)
  %652 = call ptr @__errno_location() #12
  %653 = load i32, ptr %652, align 4, !tbaa !5
  %654 = call ptr @strerror(i32 noundef %653) #11
  %655 = call ptr @__errno_location() #12
  %656 = load i32, ptr %655, align 4, !tbaa !5
  %657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %644, ptr noundef @.str.4, i32 noundef %645, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 63, ptr noundef %648, ptr noundef %651, ptr noundef %654, i32 noundef %656) #11
  br label %658

658:                                              ; preds = %641, %624
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #11
  br label %659

659:                                              ; preds = %658
  br label %660

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

661:                                              ; No predecessors!
  br label %662

662:                                              ; preds = %661
  br label %663

663:                                              ; preds = %662, %603
  br label %664

664:                                              ; preds = %663
  br label %665

665:                                              ; preds = %664
  br label %666

666:                                              ; preds = %665
  %667 = load i32, ptr @test_count, align 4, !tbaa !5
  %668 = add nsw i32 %667, 1
  store i32 %668, ptr @test_count, align 4, !tbaa !5
  %669 = load ptr, ptr %11, align 8, !tbaa !9
  %670 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %669, ptr noundef @.str.15)
  %671 = icmp eq i32 %670, -1
  br i1 %671, label %672, label %725

672:                                              ; preds = %666
  br label %673

673:                                              ; preds = %672
  br label %674

674:                                              ; preds = %673
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #11
  %675 = call ptr @__errno_location() #12
  %676 = load i32, ptr %675, align 4, !tbaa !5
  store i32 %676, ptr %13, align 4, !tbaa !5
  %677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %678 = call i32 @s2n_print_stacktrace(ptr noundef %677)
  %679 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %680 = trunc i8 %679 to i1
  br i1 %680, label %681, label %703

681:                                              ; preds = %674
  %682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %683 = call i32 @fileno(ptr noundef %682) #11
  %684 = call i32 @isatty(i32 noundef %683) #11
  %685 = icmp ne i32 %684, 0
  br i1 %685, label %686, label %703

686:                                              ; preds = %681
  %687 = load i32, ptr %13, align 4, !tbaa !5
  %688 = call ptr @__errno_location() #12
  store i32 %687, ptr %688, align 4, !tbaa !5
  %689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %690 = load i32, ptr @test_count, align 4, !tbaa !5
  %691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %692 = load i32, ptr %691, align 4, !tbaa !5
  %693 = call ptr @s2n_strerror(i32 noundef %692, ptr noundef @.str.3)
  %694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %695 = load i32, ptr %694, align 4, !tbaa !5
  %696 = call ptr @s2n_strerror_debug(i32 noundef %695, ptr noundef @.str.3)
  %697 = call ptr @__errno_location() #12
  %698 = load i32, ptr %697, align 4, !tbaa !5
  %699 = call ptr @strerror(i32 noundef %698) #11
  %700 = call ptr @__errno_location() #12
  %701 = load i32, ptr %700, align 4, !tbaa !5
  %702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %689, ptr noundef @.str, i32 noundef %690, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 64, ptr noundef %693, ptr noundef %696, ptr noundef %699, i32 noundef %701) #11
  br label %720

703:                                              ; preds = %681, %674
  %704 = load i32, ptr %13, align 4, !tbaa !5
  %705 = call ptr @__errno_location() #12
  store i32 %704, ptr %705, align 4, !tbaa !5
  %706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %707 = load i32, ptr @test_count, align 4, !tbaa !5
  %708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %709 = load i32, ptr %708, align 4, !tbaa !5
  %710 = call ptr @s2n_strerror(i32 noundef %709, ptr noundef @.str.3)
  %711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %712 = load i32, ptr %711, align 4, !tbaa !5
  %713 = call ptr @s2n_strerror_debug(i32 noundef %712, ptr noundef @.str.3)
  %714 = call ptr @__errno_location() #12
  %715 = load i32, ptr %714, align 4, !tbaa !5
  %716 = call ptr @strerror(i32 noundef %715) #11
  %717 = call ptr @__errno_location() #12
  %718 = load i32, ptr %717, align 4, !tbaa !5
  %719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %706, ptr noundef @.str.4, i32 noundef %707, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 64, ptr noundef %710, ptr noundef %713, ptr noundef %716, i32 noundef %718) #11
  br label %720

720:                                              ; preds = %703, %686
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #11
  br label %721

721:                                              ; preds = %720
  br label %722

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

723:                                              ; No predecessors!
  br label %724

724:                                              ; preds = %723
  br label %725

725:                                              ; preds = %724, %666
  br label %726

726:                                              ; preds = %725
  br label %727

727:                                              ; preds = %726
  br label %728

728:                                              ; preds = %727
  %729 = load i32, ptr @test_count, align 4, !tbaa !5
  %730 = add nsw i32 %729, 1
  store i32 %730, ptr @test_count, align 4, !tbaa !5
  %731 = load ptr, ptr %11, align 8, !tbaa !9
  %732 = call i32 @s2n_config_disable_x509_verification(ptr noundef %731)
  %733 = icmp eq i32 %732, -1
  br i1 %733, label %734, label %787

734:                                              ; preds = %728
  br label %735

735:                                              ; preds = %734
  br label %736

736:                                              ; preds = %735
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #11
  %737 = call ptr @__errno_location() #12
  %738 = load i32, ptr %737, align 4, !tbaa !5
  store i32 %738, ptr %14, align 4, !tbaa !5
  %739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %740 = call i32 @s2n_print_stacktrace(ptr noundef %739)
  %741 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %742 = trunc i8 %741 to i1
  br i1 %742, label %743, label %765

743:                                              ; preds = %736
  %744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %745 = call i32 @fileno(ptr noundef %744) #11
  %746 = call i32 @isatty(i32 noundef %745) #11
  %747 = icmp ne i32 %746, 0
  br i1 %747, label %748, label %765

748:                                              ; preds = %743
  %749 = load i32, ptr %14, align 4, !tbaa !5
  %750 = call ptr @__errno_location() #12
  store i32 %749, ptr %750, align 4, !tbaa !5
  %751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %752 = load i32, ptr @test_count, align 4, !tbaa !5
  %753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %754 = load i32, ptr %753, align 4, !tbaa !5
  %755 = call ptr @s2n_strerror(i32 noundef %754, ptr noundef @.str.3)
  %756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %757 = load i32, ptr %756, align 4, !tbaa !5
  %758 = call ptr @s2n_strerror_debug(i32 noundef %757, ptr noundef @.str.3)
  %759 = call ptr @__errno_location() #12
  %760 = load i32, ptr %759, align 4, !tbaa !5
  %761 = call ptr @strerror(i32 noundef %760) #11
  %762 = call ptr @__errno_location() #12
  %763 = load i32, ptr %762, align 4, !tbaa !5
  %764 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %751, ptr noundef @.str, i32 noundef %752, ptr noundef @.str.17, ptr noundef @.str.2, i32 noundef 65, ptr noundef %755, ptr noundef %758, ptr noundef %761, i32 noundef %763) #11
  br label %782

765:                                              ; preds = %743, %736
  %766 = load i32, ptr %14, align 4, !tbaa !5
  %767 = call ptr @__errno_location() #12
  store i32 %766, ptr %767, align 4, !tbaa !5
  %768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %769 = load i32, ptr @test_count, align 4, !tbaa !5
  %770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %771 = load i32, ptr %770, align 4, !tbaa !5
  %772 = call ptr @s2n_strerror(i32 noundef %771, ptr noundef @.str.3)
  %773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %774 = load i32, ptr %773, align 4, !tbaa !5
  %775 = call ptr @s2n_strerror_debug(i32 noundef %774, ptr noundef @.str.3)
  %776 = call ptr @__errno_location() #12
  %777 = load i32, ptr %776, align 4, !tbaa !5
  %778 = call ptr @strerror(i32 noundef %777) #11
  %779 = call ptr @__errno_location() #12
  %780 = load i32, ptr %779, align 4, !tbaa !5
  %781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %768, ptr noundef @.str.4, i32 noundef %769, ptr noundef @.str.17, ptr noundef @.str.2, i32 noundef 65, ptr noundef %772, ptr noundef %775, ptr noundef %778, i32 noundef %780) #11
  br label %782

782:                                              ; preds = %765, %748
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #11
  br label %783

783:                                              ; preds = %782
  br label %784

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

785:                                              ; No predecessors!
  br label %786

786:                                              ; preds = %785
  br label %787

787:                                              ; preds = %786, %728
  br label %788

788:                                              ; preds = %787
  br label %789

789:                                              ; preds = %788
  br label %790

790:                                              ; preds = %789
  %791 = load i32, ptr @test_count, align 4, !tbaa !5
  %792 = add nsw i32 %791, 1
  store i32 %792, ptr @test_count, align 4, !tbaa !5
  %793 = call i32 @s2n_peek(ptr noundef null)
  %794 = icmp eq i32 %793, 0
  br i1 %794, label %848, label %795

795:                                              ; preds = %790
  br label %796

796:                                              ; preds = %795
  br label %797

797:                                              ; preds = %796
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #11
  %798 = call ptr @__errno_location() #12
  %799 = load i32, ptr %798, align 4, !tbaa !5
  store i32 %799, ptr %15, align 4, !tbaa !5
  %800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %801 = call i32 @s2n_print_stacktrace(ptr noundef %800)
  %802 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %803 = trunc i8 %802 to i1
  br i1 %803, label %804, label %826

804:                                              ; preds = %797
  %805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %806 = call i32 @fileno(ptr noundef %805) #11
  %807 = call i32 @isatty(i32 noundef %806) #11
  %808 = icmp ne i32 %807, 0
  br i1 %808, label %809, label %826

809:                                              ; preds = %804
  %810 = load i32, ptr %15, align 4, !tbaa !5
  %811 = call ptr @__errno_location() #12
  store i32 %810, ptr %811, align 4, !tbaa !5
  %812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %813 = load i32, ptr @test_count, align 4, !tbaa !5
  %814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %815 = load i32, ptr %814, align 4, !tbaa !5
  %816 = call ptr @s2n_strerror(i32 noundef %815, ptr noundef @.str.3)
  %817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %818 = load i32, ptr %817, align 4, !tbaa !5
  %819 = call ptr @s2n_strerror_debug(i32 noundef %818, ptr noundef @.str.3)
  %820 = call ptr @__errno_location() #12
  %821 = load i32, ptr %820, align 4, !tbaa !5
  %822 = call ptr @strerror(i32 noundef %821) #11
  %823 = call ptr @__errno_location() #12
  %824 = load i32, ptr %823, align 4, !tbaa !5
  %825 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %812, ptr noundef @.str, i32 noundef %813, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 75, ptr noundef %816, ptr noundef %819, ptr noundef %822, i32 noundef %824) #11
  br label %843

826:                                              ; preds = %804, %797
  %827 = load i32, ptr %15, align 4, !tbaa !5
  %828 = call ptr @__errno_location() #12
  store i32 %827, ptr %828, align 4, !tbaa !5
  %829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %830 = load i32, ptr @test_count, align 4, !tbaa !5
  %831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %832 = load i32, ptr %831, align 4, !tbaa !5
  %833 = call ptr @s2n_strerror(i32 noundef %832, ptr noundef @.str.3)
  %834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %835 = load i32, ptr %834, align 4, !tbaa !5
  %836 = call ptr @s2n_strerror_debug(i32 noundef %835, ptr noundef @.str.3)
  %837 = call ptr @__errno_location() #12
  %838 = load i32, ptr %837, align 4, !tbaa !5
  %839 = call ptr @strerror(i32 noundef %838) #11
  %840 = call ptr @__errno_location() #12
  %841 = load i32, ptr %840, align 4, !tbaa !5
  %842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %829, ptr noundef @.str.4, i32 noundef %830, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 75, ptr noundef %833, ptr noundef %836, ptr noundef %839, i32 noundef %841) #11
  br label %843

843:                                              ; preds = %826, %809
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #11
  br label %844

844:                                              ; preds = %843
  br label %845

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

846:                                              ; No predecessors!
  br label %847

847:                                              ; preds = %846
  br label %848

848:                                              ; preds = %847, %790
  br label %849

849:                                              ; preds = %848
  br label %850

850:                                              ; preds = %849
  call void @llvm.lifetime.start.p0(i64 100, ptr %16) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %16, ptr align 16 @__const.main.test_data, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #11
  store i64 100, ptr %17, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #11
  store i32 0, ptr %18, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #11
  %851 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %851, ptr %19, align 8, !tbaa !9
  br label %852

852:                                              ; preds = %850
  %853 = load i32, ptr @test_count, align 4, !tbaa !5
  %854 = add nsw i32 %853, 1
  store i32 %854, ptr @test_count, align 4, !tbaa !5
  %855 = load ptr, ptr %19, align 8, !tbaa !9
  %856 = load ptr, ptr %11, align 8, !tbaa !9
  %857 = call i32 @s2n_connection_set_config(ptr noundef %855, ptr noundef %856)
  %858 = icmp eq i32 %857, -1
  br i1 %858, label %859, label %912

859:                                              ; preds = %852
  br label %860

860:                                              ; preds = %859
  br label %861

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

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

873:                                              ; preds = %868
  %874 = load i32, ptr %20, align 4, !tbaa !5
  %875 = call ptr @__errno_location() #12
  store i32 %874, ptr %875, align 4, !tbaa !5
  %876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %877 = load i32, ptr @test_count, align 4, !tbaa !5
  %878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %879 = load i32, ptr %878, align 4, !tbaa !5
  %880 = call ptr @s2n_strerror(i32 noundef %879, ptr noundef @.str.3)
  %881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %882 = load i32, ptr %881, align 4, !tbaa !5
  %883 = call ptr @s2n_strerror_debug(i32 noundef %882, ptr noundef @.str.3)
  %884 = call ptr @__errno_location() #12
  %885 = load i32, ptr %884, align 4, !tbaa !5
  %886 = call ptr @strerror(i32 noundef %885) #11
  %887 = call ptr @__errno_location() #12
  %888 = load i32, ptr %887, align 4, !tbaa !5
  %889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %876, ptr noundef @.str, i32 noundef %877, ptr noundef @.str.19, ptr noundef @.str.2, i32 noundef 86, ptr noundef %880, ptr noundef %883, ptr noundef %886, i32 noundef %888) #11
  br label %907

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

907:                                              ; preds = %890, %873
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #11
  br label %908

908:                                              ; preds = %907
  br label %909

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

910:                                              ; No predecessors!
  br label %911

911:                                              ; preds = %910
  br label %912

912:                                              ; preds = %911, %852
  br label %913

913:                                              ; preds = %912
  br label %914

914:                                              ; preds = %913
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #11
  %915 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %915, ptr %21, align 8, !tbaa !9
  br label %916

916:                                              ; preds = %914
  %917 = load i32, ptr @test_count, align 4, !tbaa !5
  %918 = add nsw i32 %917, 1
  store i32 %918, ptr @test_count, align 4, !tbaa !5
  %919 = load ptr, ptr %21, align 8, !tbaa !9
  %920 = load ptr, ptr %11, align 8, !tbaa !9
  %921 = call i32 @s2n_connection_set_config(ptr noundef %919, ptr noundef %920)
  %922 = icmp eq i32 %921, -1
  br i1 %922, label %923, label %976

923:                                              ; preds = %916
  br label %924

924:                                              ; preds = %923
  br label %925

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

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

937:                                              ; preds = %932
  %938 = load i32, ptr %22, align 4, !tbaa !5
  %939 = call ptr @__errno_location() #12
  store i32 %938, ptr %939, align 4, !tbaa !5
  %940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %941 = load i32, ptr @test_count, align 4, !tbaa !5
  %942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %943 = load i32, ptr %942, align 4, !tbaa !5
  %944 = call ptr @s2n_strerror(i32 noundef %943, ptr noundef @.str.3)
  %945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %946 = load i32, ptr %945, align 4, !tbaa !5
  %947 = call ptr @s2n_strerror_debug(i32 noundef %946, ptr noundef @.str.3)
  %948 = call ptr @__errno_location() #12
  %949 = load i32, ptr %948, align 4, !tbaa !5
  %950 = call ptr @strerror(i32 noundef %949) #11
  %951 = call ptr @__errno_location() #12
  %952 = load i32, ptr %951, align 4, !tbaa !5
  %953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %940, ptr noundef @.str, i32 noundef %941, ptr noundef @.str.20, ptr noundef @.str.2, i32 noundef 89, ptr noundef %944, ptr noundef %947, ptr noundef %950, i32 noundef %952) #11
  br label %971

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

971:                                              ; preds = %954, %937
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #11
  br label %972

972:                                              ; preds = %971
  br label %973

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

974:                                              ; No predecessors!
  br label %975

975:                                              ; preds = %974
  br label %976

976:                                              ; preds = %975, %916
  br label %977

977:                                              ; preds = %976
  br label %978

978:                                              ; preds = %977
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #11
  call void @llvm.memset.p0.i64(ptr align 4 %23, i8 0, i64 8, i1 false)
  br label %979

979:                                              ; preds = %978
  %980 = load i32, ptr @test_count, align 4, !tbaa !5
  %981 = add nsw i32 %980, 1
  store i32 %981, ptr @test_count, align 4, !tbaa !5
  %982 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %23)
  %983 = icmp eq i32 %982, -1
  br i1 %983, label %984, label %1037

984:                                              ; preds = %979
  br label %985

985:                                              ; preds = %984
  br label %986

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

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

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

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

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

1033:                                             ; preds = %1032
  br label %1034

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

1035:                                             ; No predecessors!
  br label %1036

1036:                                             ; preds = %1035
  br label %1037

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

1038:                                             ; preds = %1037
  br label %1039

1039:                                             ; preds = %1038
  br label %1040

1040:                                             ; preds = %1039
  %1041 = load i32, ptr @test_count, align 4, !tbaa !5
  %1042 = add nsw i32 %1041, 1
  store i32 %1042, ptr @test_count, align 4, !tbaa !5
  %1043 = load ptr, ptr %19, align 8, !tbaa !9
  %1044 = load ptr, ptr %21, align 8, !tbaa !9
  %1045 = call i32 @s2n_connections_set_io_pair(ptr noundef %1043, ptr noundef %1044, ptr noundef %23)
  %1046 = icmp eq i32 %1045, -1
  br i1 %1046, label %1047, label %1100

1047:                                             ; preds = %1040
  br label %1048

1048:                                             ; preds = %1047
  br label %1049

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

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

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

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

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

1096:                                             ; preds = %1095
  br label %1097

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

1098:                                             ; No predecessors!
  br label %1099

1099:                                             ; preds = %1098
  br label %1100

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

1101:                                             ; preds = %1100
  br label %1102

1102:                                             ; preds = %1101
  br label %1103

1103:                                             ; preds = %1102
  %1104 = load i32, ptr @test_count, align 4, !tbaa !5
  %1105 = add nsw i32 %1104, 1
  store i32 %1105, ptr @test_count, align 4, !tbaa !5
  %1106 = load ptr, ptr %21, align 8, !tbaa !9
  %1107 = load ptr, ptr %19, align 8, !tbaa !9
  %1108 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %1106, ptr noundef %1107)
  %1109 = icmp eq i32 %1108, -1
  br i1 %1109, label %1110, label %1163

1110:                                             ; preds = %1103
  br label %1111

1111:                                             ; preds = %1110
  br label %1112

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

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

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

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

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

1159:                                             ; preds = %1158
  br label %1160

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

1161:                                             ; No predecessors!
  br label %1162

1162:                                             ; preds = %1161
  br label %1163

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

1164:                                             ; preds = %1163
  br label %1165

1165:                                             ; preds = %1164
  br label %1166

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

1173:                                             ; preds = %1166
  br label %1174

1174:                                             ; preds = %1173
  br label %1175

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

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

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

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

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

1222:                                             ; preds = %1221
  br label %1223

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

1224:                                             ; No predecessors!
  br label %1225

1225:                                             ; preds = %1224
  br label %1226

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

1227:                                             ; preds = %1226
  br label %1228

1228:                                             ; preds = %1227
  br label %1229

1229:                                             ; preds = %1228
  %1230 = load i32, ptr @test_count, align 4, !tbaa !5
  %1231 = add nsw i32 %1230, 1
  store i32 %1231, ptr @test_count, align 4, !tbaa !5
  %1232 = load ptr, ptr %21, align 8, !tbaa !9
  %1233 = call i32 @s2n_peek(ptr noundef %1232)
  %1234 = icmp eq i32 %1233, 0
  br i1 %1234, label %1288, label %1235

1235:                                             ; preds = %1229
  br label %1236

1236:                                             ; preds = %1235
  br label %1237

1237:                                             ; preds = %1236
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #11
  %1238 = call ptr @__errno_location() #12
  %1239 = load i32, ptr %1238, align 4, !tbaa !5
  store i32 %1239, ptr %28, 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) #11
  %1247 = call i32 @isatty(i32 noundef %1246) #11
  %1248 = icmp ne i32 %1247, 0
  br i1 %1248, label %1249, label %1266

1249:                                             ; preds = %1244
  %1250 = load i32, ptr %28, align 4, !tbaa !5
  %1251 = call ptr @__errno_location() #12
  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() #12
  %1261 = load i32, ptr %1260, align 4, !tbaa !5
  %1262 = call ptr @strerror(i32 noundef %1261) #11
  %1263 = call ptr @__errno_location() #12
  %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.25, ptr noundef @.str.2, i32 noundef 100, ptr noundef %1256, ptr noundef %1259, ptr noundef %1262, i32 noundef %1264) #11
  br label %1283

1266:                                             ; preds = %1244, %1237
  %1267 = load i32, ptr %28, align 4, !tbaa !5
  %1268 = call ptr @__errno_location() #12
  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() #12
  %1278 = load i32, ptr %1277, align 4, !tbaa !5
  %1279 = call ptr @strerror(i32 noundef %1278) #11
  %1280 = call ptr @__errno_location() #12
  %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.25, ptr noundef @.str.2, i32 noundef 100, ptr noundef %1273, ptr noundef %1276, ptr noundef %1279, i32 noundef %1281) #11
  br label %1283

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

1284:                                             ; preds = %1283
  br label %1285

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

1286:                                             ; No predecessors!
  br label %1287

1287:                                             ; preds = %1286
  br label %1288

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

1289:                                             ; preds = %1288
  br label %1290

1290:                                             ; preds = %1289
  call void @llvm.lifetime.start.p0(i64 100, ptr %29) #11
  call void @llvm.memset.p0.i64(ptr align 16 %29, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #11
  store i64 10, ptr %30, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #11
  store i64 90, ptr %31, align 8, !tbaa !15
  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 %21, align 8, !tbaa !9
  %1295 = getelementptr inbounds [100 x i8], ptr %29, i64 0, i64 0
  %1296 = call i64 @s2n_recv(ptr noundef %1294, ptr noundef %1295, i64 noundef 90, ptr noundef %18)
  %1297 = icmp eq i64 %1296, 90
  br i1 %1297, label %1351, label %1298

1298:                                             ; preds = %1291
  br label %1299

1299:                                             ; preds = %1298
  br label %1300

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

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

1312:                                             ; preds = %1307
  %1313 = load i32, ptr %32, align 4, !tbaa !5
  %1314 = call ptr @__errno_location() #12
  store i32 %1313, ptr %1314, align 4, !tbaa !5
  %1315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1316 = load i32, ptr @test_count, align 4, !tbaa !5
  %1317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1318 = load i32, ptr %1317, align 4, !tbaa !5
  %1319 = call ptr @s2n_strerror(i32 noundef %1318, ptr noundef @.str.3)
  %1320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1321 = load i32, ptr %1320, align 4, !tbaa !5
  %1322 = call ptr @s2n_strerror_debug(i32 noundef %1321, ptr noundef @.str.3)
  %1323 = call ptr @__errno_location() #12
  %1324 = load i32, ptr %1323, align 4, !tbaa !5
  %1325 = call ptr @strerror(i32 noundef %1324) #11
  %1326 = call ptr @__errno_location() #12
  %1327 = load i32, ptr %1326, align 4, !tbaa !5
  %1328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1315, ptr noundef @.str, i32 noundef %1316, ptr noundef @.str.26, ptr noundef @.str.2, i32 noundef 106, ptr noundef %1319, ptr noundef %1322, ptr noundef %1325, i32 noundef %1327) #11
  br label %1346

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

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

1347:                                             ; preds = %1346
  br label %1348

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

1349:                                             ; No predecessors!
  br label %1350

1350:                                             ; preds = %1349
  br label %1351

1351:                                             ; preds = %1350, %1291
  br label %1352

1352:                                             ; preds = %1351
  br label %1353

1353:                                             ; preds = %1352
  br label %1354

1354:                                             ; preds = %1353
  %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 ptr, ptr %21, align 8, !tbaa !9
  %1358 = call i32 @s2n_peek(ptr noundef %1357)
  %1359 = zext i32 %1358 to i64
  %1360 = icmp eq i64 %1359, 10
  br i1 %1360, label %1414, label %1361

1361:                                             ; preds = %1354
  br label %1362

1362:                                             ; preds = %1361
  br label %1363

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

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

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

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

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

1410:                                             ; preds = %1409
  br label %1411

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

1412:                                             ; No predecessors!
  br label %1413

1413:                                             ; preds = %1412
  br label %1414

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

1415:                                             ; preds = %1414
  br label %1416

1416:                                             ; preds = %1415
  br label %1417

1417:                                             ; preds = %1416
  %1418 = load i32, ptr @test_count, align 4, !tbaa !5
  %1419 = add nsw i32 %1418, 1
  store i32 %1419, ptr @test_count, align 4, !tbaa !5
  %1420 = load ptr, ptr %21, align 8, !tbaa !9
  %1421 = getelementptr inbounds [100 x i8], ptr %29, i64 0, i64 0
  %1422 = call i64 @s2n_recv(ptr noundef %1420, ptr noundef %1421, i64 noundef 10, ptr noundef %18)
  %1423 = icmp eq i64 %1422, 10
  br i1 %1423, label %1477, label %1424

1424:                                             ; preds = %1417
  br label %1425

1425:                                             ; preds = %1424
  br label %1426

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

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

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

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

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

1473:                                             ; preds = %1472
  br label %1474

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

1475:                                             ; No predecessors!
  br label %1476

1476:                                             ; preds = %1475
  br label %1477

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

1478:                                             ; preds = %1477
  br label %1479

1479:                                             ; preds = %1478
  br label %1480

1480:                                             ; preds = %1479
  %1481 = load i32, ptr @test_count, align 4, !tbaa !5
  %1482 = add nsw i32 %1481, 1
  store i32 %1482, ptr @test_count, align 4, !tbaa !5
  %1483 = load ptr, ptr %21, align 8, !tbaa !9
  %1484 = call i32 @s2n_peek(ptr noundef %1483)
  %1485 = icmp eq i32 %1484, 0
  br i1 %1485, label %1539, label %1486

1486:                                             ; preds = %1480
  br label %1487

1487:                                             ; preds = %1486
  br label %1488

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

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

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

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

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

1535:                                             ; preds = %1534
  br label %1536

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

1537:                                             ; No predecessors!
  br label %1538

1538:                                             ; preds = %1537
  br label %1539

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

1540:                                             ; preds = %1539
  br label %1541

1541:                                             ; preds = %1540
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %29) #11
  %1542 = call i32 @s2n_io_pair_close(ptr noundef %23)
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #11
  %1543 = call i32 @s2n_connection_ptr_free(ptr noundef %21)
  %1544 = getelementptr inbounds %struct.s2n_result, ptr %36, i32 0, i32 0
  store i32 %1543, ptr %1544, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #11
  %1545 = call i32 @s2n_connection_ptr_free(ptr noundef %19)
  %1546 = getelementptr inbounds %struct.s2n_result, ptr %37, i32 0, i32 0
  store i32 %1545, ptr %1546, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #11
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #11
  store i32 0, ptr %38, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #11
  %1547 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %1547, ptr %39, align 8, !tbaa !9
  br label %1548

1548:                                             ; preds = %1541
  %1549 = load i32, ptr @test_count, align 4, !tbaa !5
  %1550 = add nsw i32 %1549, 1
  store i32 %1550, ptr @test_count, align 4, !tbaa !5
  %1551 = load ptr, ptr %39, align 8, !tbaa !9
  %1552 = load ptr, ptr %11, align 8, !tbaa !9
  %1553 = call i32 @s2n_connection_set_config(ptr noundef %1551, ptr noundef %1552)
  %1554 = icmp eq i32 %1553, -1
  br i1 %1554, label %1555, label %1608

1555:                                             ; preds = %1548
  br label %1556

1556:                                             ; preds = %1555
  br label %1557

1557:                                             ; preds = %1556
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #11
  %1558 = call ptr @__errno_location() #12
  %1559 = load i32, ptr %1558, align 4, !tbaa !5
  store i32 %1559, ptr %40, align 4, !tbaa !5
  %1560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1561 = call i32 @s2n_print_stacktrace(ptr noundef %1560)
  %1562 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1563 = trunc i8 %1562 to i1
  br i1 %1563, label %1564, label %1586

1564:                                             ; preds = %1557
  %1565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1566 = call i32 @fileno(ptr noundef %1565) #11
  %1567 = call i32 @isatty(i32 noundef %1566) #11
  %1568 = icmp ne i32 %1567, 0
  br i1 %1568, label %1569, label %1586

1569:                                             ; preds = %1564
  %1570 = load i32, ptr %40, align 4, !tbaa !5
  %1571 = call ptr @__errno_location() #12
  store i32 %1570, ptr %1571, align 4, !tbaa !5
  %1572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1573 = load i32, ptr @test_count, align 4, !tbaa !5
  %1574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1575 = load i32, ptr %1574, align 4, !tbaa !5
  %1576 = call ptr @s2n_strerror(i32 noundef %1575, ptr noundef @.str.3)
  %1577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1578 = load i32, ptr %1577, align 4, !tbaa !5
  %1579 = call ptr @s2n_strerror_debug(i32 noundef %1578, ptr noundef @.str.3)
  %1580 = call ptr @__errno_location() #12
  %1581 = load i32, ptr %1580, align 4, !tbaa !5
  %1582 = call ptr @strerror(i32 noundef %1581) #11
  %1583 = call ptr @__errno_location() #12
  %1584 = load i32, ptr %1583, align 4, !tbaa !5
  %1585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1572, ptr noundef @.str, i32 noundef %1573, ptr noundef @.str.19, ptr noundef @.str.2, i32 noundef 124, ptr noundef %1576, ptr noundef %1579, ptr noundef %1582, i32 noundef %1584) #11
  br label %1603

1586:                                             ; preds = %1564, %1557
  %1587 = load i32, ptr %40, align 4, !tbaa !5
  %1588 = call ptr @__errno_location() #12
  store i32 %1587, ptr %1588, align 4, !tbaa !5
  %1589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1590 = load i32, ptr @test_count, align 4, !tbaa !5
  %1591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1592 = load i32, ptr %1591, align 4, !tbaa !5
  %1593 = call ptr @s2n_strerror(i32 noundef %1592, ptr noundef @.str.3)
  %1594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1595 = load i32, ptr %1594, align 4, !tbaa !5
  %1596 = call ptr @s2n_strerror_debug(i32 noundef %1595, ptr noundef @.str.3)
  %1597 = call ptr @__errno_location() #12
  %1598 = load i32, ptr %1597, align 4, !tbaa !5
  %1599 = call ptr @strerror(i32 noundef %1598) #11
  %1600 = call ptr @__errno_location() #12
  %1601 = load i32, ptr %1600, align 4, !tbaa !5
  %1602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1589, ptr noundef @.str.4, i32 noundef %1590, ptr noundef @.str.19, ptr noundef @.str.2, i32 noundef 124, ptr noundef %1593, ptr noundef %1596, ptr noundef %1599, i32 noundef %1601) #11
  br label %1603

1603:                                             ; preds = %1586, %1569
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #11
  br label %1604

1604:                                             ; preds = %1603
  br label %1605

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

1606:                                             ; No predecessors!
  br label %1607

1607:                                             ; preds = %1606
  br label %1608

1608:                                             ; preds = %1607, %1548
  br label %1609

1609:                                             ; preds = %1608
  br label %1610

1610:                                             ; preds = %1609
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #11
  %1611 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %1611, ptr %41, align 8, !tbaa !9
  br label %1612

1612:                                             ; preds = %1610
  %1613 = load i32, ptr @test_count, align 4, !tbaa !5
  %1614 = add nsw i32 %1613, 1
  store i32 %1614, ptr @test_count, align 4, !tbaa !5
  %1615 = load ptr, ptr %41, align 8, !tbaa !9
  %1616 = load ptr, ptr %11, align 8, !tbaa !9
  %1617 = call i32 @s2n_connection_set_config(ptr noundef %1615, ptr noundef %1616)
  %1618 = icmp eq i32 %1617, -1
  br i1 %1618, label %1619, label %1672

1619:                                             ; preds = %1612
  br label %1620

1620:                                             ; preds = %1619
  br label %1621

1621:                                             ; preds = %1620
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #11
  %1622 = call ptr @__errno_location() #12
  %1623 = load i32, ptr %1622, align 4, !tbaa !5
  store i32 %1623, ptr %42, align 4, !tbaa !5
  %1624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1625 = call i32 @s2n_print_stacktrace(ptr noundef %1624)
  %1626 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1627 = trunc i8 %1626 to i1
  br i1 %1627, label %1628, label %1650

1628:                                             ; preds = %1621
  %1629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1630 = call i32 @fileno(ptr noundef %1629) #11
  %1631 = call i32 @isatty(i32 noundef %1630) #11
  %1632 = icmp ne i32 %1631, 0
  br i1 %1632, label %1633, label %1650

1633:                                             ; preds = %1628
  %1634 = load i32, ptr %42, align 4, !tbaa !5
  %1635 = call ptr @__errno_location() #12
  store i32 %1634, ptr %1635, align 4, !tbaa !5
  %1636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1637 = load i32, ptr @test_count, align 4, !tbaa !5
  %1638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1639 = load i32, ptr %1638, align 4, !tbaa !5
  %1640 = call ptr @s2n_strerror(i32 noundef %1639, ptr noundef @.str.3)
  %1641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1642 = load i32, ptr %1641, align 4, !tbaa !5
  %1643 = call ptr @s2n_strerror_debug(i32 noundef %1642, ptr noundef @.str.3)
  %1644 = call ptr @__errno_location() #12
  %1645 = load i32, ptr %1644, align 4, !tbaa !5
  %1646 = call ptr @strerror(i32 noundef %1645) #11
  %1647 = call ptr @__errno_location() #12
  %1648 = load i32, ptr %1647, align 4, !tbaa !5
  %1649 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1636, ptr noundef @.str, i32 noundef %1637, ptr noundef @.str.20, ptr noundef @.str.2, i32 noundef 127, ptr noundef %1640, ptr noundef %1643, ptr noundef %1646, i32 noundef %1648) #11
  br label %1667

1650:                                             ; preds = %1628, %1621
  %1651 = load i32, ptr %42, align 4, !tbaa !5
  %1652 = call ptr @__errno_location() #12
  store i32 %1651, ptr %1652, align 4, !tbaa !5
  %1653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1654 = load i32, ptr @test_count, align 4, !tbaa !5
  %1655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1656 = load i32, ptr %1655, align 4, !tbaa !5
  %1657 = call ptr @s2n_strerror(i32 noundef %1656, ptr noundef @.str.3)
  %1658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1659 = load i32, ptr %1658, align 4, !tbaa !5
  %1660 = call ptr @s2n_strerror_debug(i32 noundef %1659, ptr noundef @.str.3)
  %1661 = call ptr @__errno_location() #12
  %1662 = load i32, ptr %1661, align 4, !tbaa !5
  %1663 = call ptr @strerror(i32 noundef %1662) #11
  %1664 = call ptr @__errno_location() #12
  %1665 = load i32, ptr %1664, align 4, !tbaa !5
  %1666 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1653, ptr noundef @.str.4, i32 noundef %1654, ptr noundef @.str.20, ptr noundef @.str.2, i32 noundef 127, ptr noundef %1657, ptr noundef %1660, ptr noundef %1663, i32 noundef %1665) #11
  br label %1667

1667:                                             ; preds = %1650, %1633
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #11
  br label %1668

1668:                                             ; preds = %1667
  br label %1669

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

1670:                                             ; No predecessors!
  br label %1671

1671:                                             ; preds = %1670
  br label %1672

1672:                                             ; preds = %1671, %1612
  br label %1673

1673:                                             ; preds = %1672
  br label %1674

1674:                                             ; preds = %1673
  call void @llvm.lifetime.start.p0(i64 40, ptr %43) #11
  call void @llvm.memset.p0.i64(ptr align 8 %43, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %44) #11
  call void @llvm.memset.p0.i64(ptr align 8 %44, i8 0, i64 40, i1 false)
  br label %1675

1675:                                             ; preds = %1674
  %1676 = load i32, ptr @test_count, align 4, !tbaa !5
  %1677 = add nsw i32 %1676, 1
  store i32 %1677, ptr @test_count, align 4, !tbaa !5
  %1678 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %43, i32 noundef 0)
  %1679 = icmp eq i32 %1678, -1
  br i1 %1679, label %1680, label %1733

1680:                                             ; preds = %1675
  br label %1681

1681:                                             ; preds = %1680
  br label %1682

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

1689:                                             ; preds = %1682
  %1690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1691 = call i32 @fileno(ptr noundef %1690) #11
  %1692 = call i32 @isatty(i32 noundef %1691) #11
  %1693 = icmp ne i32 %1692, 0
  br i1 %1693, label %1694, label %1711

1694:                                             ; preds = %1689
  %1695 = load i32, ptr %45, align 4, !tbaa !5
  %1696 = call ptr @__errno_location() #12
  store i32 %1695, ptr %1696, align 4, !tbaa !5
  %1697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1698 = load i32, ptr @test_count, align 4, !tbaa !5
  %1699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1700 = load i32, ptr %1699, align 4, !tbaa !5
  %1701 = call ptr @s2n_strerror(i32 noundef %1700, ptr noundef @.str.3)
  %1702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1703 = load i32, ptr %1702, align 4, !tbaa !5
  %1704 = call ptr @s2n_strerror_debug(i32 noundef %1703, ptr noundef @.str.3)
  %1705 = call ptr @__errno_location() #12
  %1706 = load i32, ptr %1705, align 4, !tbaa !5
  %1707 = call ptr @strerror(i32 noundef %1706) #11
  %1708 = call ptr @__errno_location() #12
  %1709 = load i32, ptr %1708, align 4, !tbaa !5
  %1710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1697, ptr noundef @.str, i32 noundef %1698, ptr noundef @.str.29, ptr noundef @.str.2, i32 noundef 132, ptr noundef %1701, ptr noundef %1704, ptr noundef %1707, i32 noundef %1709) #11
  br label %1728

1711:                                             ; preds = %1689, %1682
  %1712 = load i32, ptr %45, align 4, !tbaa !5
  %1713 = call ptr @__errno_location() #12
  store i32 %1712, ptr %1713, align 4, !tbaa !5
  %1714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1715 = load i32, ptr @test_count, align 4, !tbaa !5
  %1716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1717 = load i32, ptr %1716, align 4, !tbaa !5
  %1718 = call ptr @s2n_strerror(i32 noundef %1717, ptr noundef @.str.3)
  %1719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1720 = load i32, ptr %1719, align 4, !tbaa !5
  %1721 = call ptr @s2n_strerror_debug(i32 noundef %1720, ptr noundef @.str.3)
  %1722 = call ptr @__errno_location() #12
  %1723 = load i32, ptr %1722, align 4, !tbaa !5
  %1724 = call ptr @strerror(i32 noundef %1723) #11
  %1725 = call ptr @__errno_location() #12
  %1726 = load i32, ptr %1725, align 4, !tbaa !5
  %1727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1714, ptr noundef @.str.4, i32 noundef %1715, ptr noundef @.str.29, ptr noundef @.str.2, i32 noundef 132, ptr noundef %1718, ptr noundef %1721, ptr noundef %1724, i32 noundef %1726) #11
  br label %1728

1728:                                             ; preds = %1711, %1694
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #11
  br label %1729

1729:                                             ; preds = %1728
  br label %1730

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

1731:                                             ; No predecessors!
  br label %1732

1732:                                             ; preds = %1731
  br label %1733

1733:                                             ; preds = %1732, %1675
  br label %1734

1734:                                             ; preds = %1733
  br label %1735

1735:                                             ; preds = %1734
  br label %1736

1736:                                             ; preds = %1735
  %1737 = load i32, ptr @test_count, align 4, !tbaa !5
  %1738 = add nsw i32 %1737, 1
  store i32 %1738, ptr @test_count, align 4, !tbaa !5
  %1739 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %44, i32 noundef 0)
  %1740 = icmp eq i32 %1739, -1
  br i1 %1740, label %1741, label %1794

1741:                                             ; preds = %1736
  br label %1742

1742:                                             ; preds = %1741
  br label %1743

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

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

1755:                                             ; preds = %1750
  %1756 = load i32, ptr %46, align 4, !tbaa !5
  %1757 = call ptr @__errno_location() #12
  store i32 %1756, ptr %1757, align 4, !tbaa !5
  %1758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1759 = load i32, ptr @test_count, align 4, !tbaa !5
  %1760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1761 = load i32, ptr %1760, align 4, !tbaa !5
  %1762 = call ptr @s2n_strerror(i32 noundef %1761, ptr noundef @.str.3)
  %1763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1764 = load i32, ptr %1763, align 4, !tbaa !5
  %1765 = call ptr @s2n_strerror_debug(i32 noundef %1764, ptr noundef @.str.3)
  %1766 = call ptr @__errno_location() #12
  %1767 = load i32, ptr %1766, align 4, !tbaa !5
  %1768 = call ptr @strerror(i32 noundef %1767) #11
  %1769 = call ptr @__errno_location() #12
  %1770 = load i32, ptr %1769, align 4, !tbaa !5
  %1771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1758, ptr noundef @.str, i32 noundef %1759, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 133, ptr noundef %1762, ptr noundef %1765, ptr noundef %1768, i32 noundef %1770) #11
  br label %1789

1772:                                             ; preds = %1750, %1743
  %1773 = load i32, ptr %46, align 4, !tbaa !5
  %1774 = call ptr @__errno_location() #12
  store i32 %1773, ptr %1774, align 4, !tbaa !5
  %1775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1776 = load i32, ptr @test_count, align 4, !tbaa !5
  %1777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1778 = load i32, ptr %1777, align 4, !tbaa !5
  %1779 = call ptr @s2n_strerror(i32 noundef %1778, ptr noundef @.str.3)
  %1780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1781 = load i32, ptr %1780, align 4, !tbaa !5
  %1782 = call ptr @s2n_strerror_debug(i32 noundef %1781, ptr noundef @.str.3)
  %1783 = call ptr @__errno_location() #12
  %1784 = load i32, ptr %1783, align 4, !tbaa !5
  %1785 = call ptr @strerror(i32 noundef %1784) #11
  %1786 = call ptr @__errno_location() #12
  %1787 = load i32, ptr %1786, align 4, !tbaa !5
  %1788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1775, ptr noundef @.str.4, i32 noundef %1776, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 133, ptr noundef %1779, ptr noundef %1782, ptr noundef %1785, i32 noundef %1787) #11
  br label %1789

1789:                                             ; preds = %1772, %1755
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #11
  br label %1790

1790:                                             ; preds = %1789
  br label %1791

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

1792:                                             ; No predecessors!
  br label %1793

1793:                                             ; preds = %1792
  br label %1794

1794:                                             ; preds = %1793, %1736
  br label %1795

1795:                                             ; preds = %1794
  br label %1796

1796:                                             ; preds = %1795
  br label %1797

1797:                                             ; preds = %1796
  %1798 = load i32, ptr @test_count, align 4, !tbaa !5
  %1799 = add nsw i32 %1798, 1
  store i32 %1799, ptr @test_count, align 4, !tbaa !5
  %1800 = load ptr, ptr %39, align 8, !tbaa !9
  %1801 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %44, ptr noundef %43, ptr noundef %1800)
  %1802 = icmp eq i32 %1801, -1
  br i1 %1802, label %1803, label %1856

1803:                                             ; preds = %1797
  br label %1804

1804:                                             ; preds = %1803
  br label %1805

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

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

1817:                                             ; preds = %1812
  %1818 = load i32, ptr %47, align 4, !tbaa !5
  %1819 = call ptr @__errno_location() #12
  store i32 %1818, ptr %1819, align 4, !tbaa !5
  %1820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1821 = load i32, ptr @test_count, align 4, !tbaa !5
  %1822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1823 = load i32, ptr %1822, align 4, !tbaa !5
  %1824 = call ptr @s2n_strerror(i32 noundef %1823, ptr noundef @.str.3)
  %1825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1826 = load i32, ptr %1825, align 4, !tbaa !5
  %1827 = call ptr @s2n_strerror_debug(i32 noundef %1826, ptr noundef @.str.3)
  %1828 = call ptr @__errno_location() #12
  %1829 = load i32, ptr %1828, align 4, !tbaa !5
  %1830 = call ptr @strerror(i32 noundef %1829) #11
  %1831 = call ptr @__errno_location() #12
  %1832 = load i32, ptr %1831, align 4, !tbaa !5
  %1833 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1820, ptr noundef @.str, i32 noundef %1821, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 134, ptr noundef %1824, ptr noundef %1827, ptr noundef %1830, i32 noundef %1832) #11
  br label %1851

1834:                                             ; preds = %1812, %1805
  %1835 = load i32, ptr %47, align 4, !tbaa !5
  %1836 = call ptr @__errno_location() #12
  store i32 %1835, ptr %1836, align 4, !tbaa !5
  %1837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1838 = load i32, ptr @test_count, align 4, !tbaa !5
  %1839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1840 = load i32, ptr %1839, align 4, !tbaa !5
  %1841 = call ptr @s2n_strerror(i32 noundef %1840, ptr noundef @.str.3)
  %1842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1843 = load i32, ptr %1842, align 4, !tbaa !5
  %1844 = call ptr @s2n_strerror_debug(i32 noundef %1843, ptr noundef @.str.3)
  %1845 = call ptr @__errno_location() #12
  %1846 = load i32, ptr %1845, align 4, !tbaa !5
  %1847 = call ptr @strerror(i32 noundef %1846) #11
  %1848 = call ptr @__errno_location() #12
  %1849 = load i32, ptr %1848, align 4, !tbaa !5
  %1850 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1837, ptr noundef @.str.4, i32 noundef %1838, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 134, ptr noundef %1841, ptr noundef %1844, ptr noundef %1847, i32 noundef %1849) #11
  br label %1851

1851:                                             ; preds = %1834, %1817
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #11
  br label %1852

1852:                                             ; preds = %1851
  br label %1853

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

1854:                                             ; No predecessors!
  br label %1855

1855:                                             ; preds = %1854
  br label %1856

1856:                                             ; preds = %1855, %1797
  br label %1857

1857:                                             ; preds = %1856
  br label %1858

1858:                                             ; preds = %1857
  br label %1859

1859:                                             ; preds = %1858
  %1860 = load i32, ptr @test_count, align 4, !tbaa !5
  %1861 = add nsw i32 %1860, 1
  store i32 %1861, ptr @test_count, align 4, !tbaa !5
  %1862 = load ptr, ptr %41, align 8, !tbaa !9
  %1863 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %43, ptr noundef %44, ptr noundef %1862)
  %1864 = icmp eq i32 %1863, -1
  br i1 %1864, label %1865, label %1918

1865:                                             ; preds = %1859
  br label %1866

1866:                                             ; preds = %1865
  br label %1867

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

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

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

1896:                                             ; preds = %1874, %1867
  %1897 = load i32, ptr %48, align 4, !tbaa !5
  %1898 = call ptr @__errno_location() #12
  store i32 %1897, ptr %1898, align 4, !tbaa !5
  %1899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1900 = load i32, ptr @test_count, align 4, !tbaa !5
  %1901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1902 = load i32, ptr %1901, align 4, !tbaa !5
  %1903 = call ptr @s2n_strerror(i32 noundef %1902, ptr noundef @.str.3)
  %1904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1905 = load i32, ptr %1904, align 4, !tbaa !5
  %1906 = call ptr @s2n_strerror_debug(i32 noundef %1905, ptr noundef @.str.3)
  %1907 = call ptr @__errno_location() #12
  %1908 = load i32, ptr %1907, align 4, !tbaa !5
  %1909 = call ptr @strerror(i32 noundef %1908) #11
  %1910 = call ptr @__errno_location() #12
  %1911 = load i32, ptr %1910, align 4, !tbaa !5
  %1912 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1899, ptr noundef @.str.4, i32 noundef %1900, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 135, ptr noundef %1903, ptr noundef %1906, ptr noundef %1909, i32 noundef %1911) #11
  br label %1913

1913:                                             ; preds = %1896, %1879
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #11
  br label %1914

1914:                                             ; preds = %1913
  br label %1915

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

1916:                                             ; No predecessors!
  br label %1917

1917:                                             ; preds = %1916
  br label %1918

1918:                                             ; preds = %1917, %1859
  br label %1919

1919:                                             ; preds = %1918
  br label %1920

1920:                                             ; preds = %1919
  br label %1921

1921:                                             ; preds = %1920
  %1922 = load i32, ptr @test_count, align 4, !tbaa !5
  %1923 = add nsw i32 %1922, 1
  store i32 %1923, ptr @test_count, align 4, !tbaa !5
  %1924 = load ptr, ptr %41, align 8, !tbaa !9
  %1925 = load ptr, ptr %39, align 8, !tbaa !9
  %1926 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %1924, ptr noundef %1925)
  %1927 = icmp eq i32 %1926, -1
  br i1 %1927, label %1928, label %1981

1928:                                             ; preds = %1921
  br label %1929

1929:                                             ; preds = %1928
  br label %1930

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

1937:                                             ; preds = %1930
  %1938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1939 = call i32 @fileno(ptr noundef %1938) #11
  %1940 = call i32 @isatty(i32 noundef %1939) #11
  %1941 = icmp ne i32 %1940, 0
  br i1 %1941, label %1942, label %1959

1942:                                             ; preds = %1937
  %1943 = load i32, ptr %49, align 4, !tbaa !5
  %1944 = call ptr @__errno_location() #12
  store i32 %1943, ptr %1944, align 4, !tbaa !5
  %1945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1946 = load i32, ptr @test_count, align 4, !tbaa !5
  %1947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1948 = load i32, ptr %1947, align 4, !tbaa !5
  %1949 = call ptr @s2n_strerror(i32 noundef %1948, ptr noundef @.str.3)
  %1950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1951 = load i32, ptr %1950, align 4, !tbaa !5
  %1952 = call ptr @s2n_strerror_debug(i32 noundef %1951, ptr noundef @.str.3)
  %1953 = call ptr @__errno_location() #12
  %1954 = load i32, ptr %1953, align 4, !tbaa !5
  %1955 = call ptr @strerror(i32 noundef %1954) #11
  %1956 = call ptr @__errno_location() #12
  %1957 = load i32, ptr %1956, align 4, !tbaa !5
  %1958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1945, ptr noundef @.str, i32 noundef %1946, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 137, ptr noundef %1949, ptr noundef %1952, ptr noundef %1955, i32 noundef %1957) #11
  br label %1976

1959:                                             ; preds = %1937, %1930
  %1960 = load i32, ptr %49, align 4, !tbaa !5
  %1961 = call ptr @__errno_location() #12
  store i32 %1960, ptr %1961, align 4, !tbaa !5
  %1962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1963 = load i32, ptr @test_count, align 4, !tbaa !5
  %1964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1965 = load i32, ptr %1964, align 4, !tbaa !5
  %1966 = call ptr @s2n_strerror(i32 noundef %1965, ptr noundef @.str.3)
  %1967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1968 = load i32, ptr %1967, align 4, !tbaa !5
  %1969 = call ptr @s2n_strerror_debug(i32 noundef %1968, ptr noundef @.str.3)
  %1970 = call ptr @__errno_location() #12
  %1971 = load i32, ptr %1970, align 4, !tbaa !5
  %1972 = call ptr @strerror(i32 noundef %1971) #11
  %1973 = call ptr @__errno_location() #12
  %1974 = load i32, ptr %1973, align 4, !tbaa !5
  %1975 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1962, ptr noundef @.str.4, i32 noundef %1963, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 137, ptr noundef %1966, ptr noundef %1969, ptr noundef %1972, i32 noundef %1974) #11
  br label %1976

1976:                                             ; preds = %1959, %1942
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #11
  br label %1977

1977:                                             ; preds = %1976
  br label %1978

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

1979:                                             ; No predecessors!
  br label %1980

1980:                                             ; preds = %1979
  br label %1981

1981:                                             ; preds = %1980, %1921
  br label %1982

1982:                                             ; preds = %1981
  br label %1983

1983:                                             ; preds = %1982
  br label %1984

1984:                                             ; preds = %1983
  %1985 = load i32, ptr @test_count, align 4, !tbaa !5
  %1986 = add nsw i32 %1985, 1
  store i32 %1986, ptr @test_count, align 4, !tbaa !5
  %1987 = load ptr, ptr %39, align 8, !tbaa !9
  %1988 = getelementptr inbounds [100 x i8], ptr %16, i64 0, i64 0
  %1989 = call i64 @s2n_send(ptr noundef %1987, ptr noundef %1988, i64 noundef 100, ptr noundef %38)
  %1990 = icmp eq i64 %1989, 100
  br i1 %1990, label %2044, label %1991

1991:                                             ; preds = %1984
  br label %1992

1992:                                             ; preds = %1991
  br label %1993

1993:                                             ; preds = %1992
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #11
  %1994 = call ptr @__errno_location() #12
  %1995 = load i32, ptr %1994, align 4, !tbaa !5
  store i32 %1995, ptr %50, align 4, !tbaa !5
  %1996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1997 = call i32 @s2n_print_stacktrace(ptr noundef %1996)
  %1998 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1999 = trunc i8 %1998 to i1
  br i1 %1999, label %2000, label %2022

2000:                                             ; preds = %1993
  %2001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2002 = call i32 @fileno(ptr noundef %2001) #11
  %2003 = call i32 @isatty(i32 noundef %2002) #11
  %2004 = icmp ne i32 %2003, 0
  br i1 %2004, label %2005, label %2022

2005:                                             ; preds = %2000
  %2006 = load i32, ptr %50, align 4, !tbaa !5
  %2007 = call ptr @__errno_location() #12
  store i32 %2006, ptr %2007, align 4, !tbaa !5
  %2008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2009 = load i32, ptr @test_count, align 4, !tbaa !5
  %2010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2011 = load i32, ptr %2010, align 4, !tbaa !5
  %2012 = call ptr @s2n_strerror(i32 noundef %2011, ptr noundef @.str.3)
  %2013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2014 = load i32, ptr %2013, align 4, !tbaa !5
  %2015 = call ptr @s2n_strerror_debug(i32 noundef %2014, ptr noundef @.str.3)
  %2016 = call ptr @__errno_location() #12
  %2017 = load i32, ptr %2016, align 4, !tbaa !5
  %2018 = call ptr @strerror(i32 noundef %2017) #11
  %2019 = call ptr @__errno_location() #12
  %2020 = load i32, ptr %2019, align 4, !tbaa !5
  %2021 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2008, ptr noundef @.str, i32 noundef %2009, ptr noundef @.str.24, ptr noundef @.str.2, i32 noundef 140, ptr noundef %2012, ptr noundef %2015, ptr noundef %2018, i32 noundef %2020) #11
  br label %2039

2022:                                             ; preds = %2000, %1993
  %2023 = load i32, ptr %50, align 4, !tbaa !5
  %2024 = call ptr @__errno_location() #12
  store i32 %2023, ptr %2024, align 4, !tbaa !5
  %2025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2026 = load i32, ptr @test_count, align 4, !tbaa !5
  %2027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2028 = load i32, ptr %2027, align 4, !tbaa !5
  %2029 = call ptr @s2n_strerror(i32 noundef %2028, ptr noundef @.str.3)
  %2030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2031 = load i32, ptr %2030, align 4, !tbaa !5
  %2032 = call ptr @s2n_strerror_debug(i32 noundef %2031, ptr noundef @.str.3)
  %2033 = call ptr @__errno_location() #12
  %2034 = load i32, ptr %2033, align 4, !tbaa !5
  %2035 = call ptr @strerror(i32 noundef %2034) #11
  %2036 = call ptr @__errno_location() #12
  %2037 = load i32, ptr %2036, align 4, !tbaa !5
  %2038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2025, ptr noundef @.str.4, i32 noundef %2026, ptr noundef @.str.24, ptr noundef @.str.2, i32 noundef 140, ptr noundef %2029, ptr noundef %2032, ptr noundef %2035, i32 noundef %2037) #11
  br label %2039

2039:                                             ; preds = %2022, %2005
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #11
  br label %2040

2040:                                             ; preds = %2039
  br label %2041

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

2042:                                             ; No predecessors!
  br label %2043

2043:                                             ; preds = %2042
  br label %2044

2044:                                             ; preds = %2043, %1984
  br label %2045

2045:                                             ; preds = %2044
  br label %2046

2046:                                             ; preds = %2045
  br label %2047

2047:                                             ; preds = %2046
  %2048 = load i32, ptr @test_count, align 4, !tbaa !5
  %2049 = add nsw i32 %2048, 1
  store i32 %2049, ptr @test_count, align 4, !tbaa !5
  %2050 = call i32 @s2n_stuffer_wipe_n(ptr noundef %43, i32 noundef 10)
  %2051 = icmp eq i32 %2050, -1
  br i1 %2051, label %2052, label %2105

2052:                                             ; preds = %2047
  br label %2053

2053:                                             ; preds = %2052
  br label %2054

2054:                                             ; preds = %2053
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #11
  %2055 = call ptr @__errno_location() #12
  %2056 = load i32, ptr %2055, align 4, !tbaa !5
  store i32 %2056, ptr %51, align 4, !tbaa !5
  %2057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2058 = call i32 @s2n_print_stacktrace(ptr noundef %2057)
  %2059 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2060 = trunc i8 %2059 to i1
  br i1 %2060, label %2061, label %2083

2061:                                             ; preds = %2054
  %2062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2063 = call i32 @fileno(ptr noundef %2062) #11
  %2064 = call i32 @isatty(i32 noundef %2063) #11
  %2065 = icmp ne i32 %2064, 0
  br i1 %2065, label %2066, label %2083

2066:                                             ; preds = %2061
  %2067 = load i32, ptr %51, align 4, !tbaa !5
  %2068 = call ptr @__errno_location() #12
  store i32 %2067, ptr %2068, align 4, !tbaa !5
  %2069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2070 = load i32, ptr @test_count, align 4, !tbaa !5
  %2071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2072 = load i32, ptr %2071, align 4, !tbaa !5
  %2073 = call ptr @s2n_strerror(i32 noundef %2072, ptr noundef @.str.3)
  %2074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2075 = load i32, ptr %2074, align 4, !tbaa !5
  %2076 = call ptr @s2n_strerror_debug(i32 noundef %2075, ptr noundef @.str.3)
  %2077 = call ptr @__errno_location() #12
  %2078 = load i32, ptr %2077, align 4, !tbaa !5
  %2079 = call ptr @strerror(i32 noundef %2078) #11
  %2080 = call ptr @__errno_location() #12
  %2081 = load i32, ptr %2080, align 4, !tbaa !5
  %2082 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2069, ptr noundef @.str, i32 noundef %2070, ptr noundef @.str.33, ptr noundef @.str.2, i32 noundef 143, ptr noundef %2073, ptr noundef %2076, ptr noundef %2079, i32 noundef %2081) #11
  br label %2100

2083:                                             ; preds = %2061, %2054
  %2084 = load i32, ptr %51, align 4, !tbaa !5
  %2085 = call ptr @__errno_location() #12
  store i32 %2084, ptr %2085, align 4, !tbaa !5
  %2086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2087 = load i32, ptr @test_count, align 4, !tbaa !5
  %2088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2089 = load i32, ptr %2088, align 4, !tbaa !5
  %2090 = call ptr @s2n_strerror(i32 noundef %2089, ptr noundef @.str.3)
  %2091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2092 = load i32, ptr %2091, align 4, !tbaa !5
  %2093 = call ptr @s2n_strerror_debug(i32 noundef %2092, ptr noundef @.str.3)
  %2094 = call ptr @__errno_location() #12
  %2095 = load i32, ptr %2094, align 4, !tbaa !5
  %2096 = call ptr @strerror(i32 noundef %2095) #11
  %2097 = call ptr @__errno_location() #12
  %2098 = load i32, ptr %2097, align 4, !tbaa !5
  %2099 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2086, ptr noundef @.str.4, i32 noundef %2087, ptr noundef @.str.33, ptr noundef @.str.2, i32 noundef 143, ptr noundef %2090, ptr noundef %2093, ptr noundef %2096, i32 noundef %2098) #11
  br label %2100

2100:                                             ; preds = %2083, %2066
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #11
  br label %2101

2101:                                             ; preds = %2100
  br label %2102

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

2103:                                             ; No predecessors!
  br label %2104

2104:                                             ; preds = %2103
  br label %2105

2105:                                             ; preds = %2104, %2047
  br label %2106

2106:                                             ; preds = %2105
  br label %2107

2107:                                             ; preds = %2106
  call void @llvm.lifetime.start.p0(i64 100, ptr %52) #11
  call void @llvm.memset.p0.i64(ptr align 16 %52, i8 0, i64 100, i1 false)
  br label %2108

2108:                                             ; preds = %2107
  br label %2109

2109:                                             ; preds = %2108
  br label %2110

2110:                                             ; preds = %2109
  %2111 = load i32, ptr @test_count, align 4, !tbaa !5
  %2112 = add nsw i32 %2111, 1
  store i32 %2112, ptr @test_count, align 4, !tbaa !5
  %2113 = load ptr, ptr %41, align 8, !tbaa !9
  %2114 = getelementptr inbounds [100 x i8], ptr %52, i64 0, i64 0
  %2115 = call i64 @s2n_recv(ptr noundef %2113, ptr noundef %2114, i64 noundef 100, ptr noundef %38)
  %2116 = icmp eq i64 %2115, -1
  br i1 %2116, label %2170, label %2117

2117:                                             ; preds = %2110
  br label %2118

2118:                                             ; preds = %2117
  br label %2119

2119:                                             ; preds = %2118
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #11
  %2120 = call ptr @__errno_location() #12
  %2121 = load i32, ptr %2120, align 4, !tbaa !5
  store i32 %2121, ptr %53, align 4, !tbaa !5
  %2122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2123 = call i32 @s2n_print_stacktrace(ptr noundef %2122)
  %2124 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2125 = trunc i8 %2124 to i1
  br i1 %2125, label %2126, label %2148

2126:                                             ; preds = %2119
  %2127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2128 = call i32 @fileno(ptr noundef %2127) #11
  %2129 = call i32 @isatty(i32 noundef %2128) #11
  %2130 = icmp ne i32 %2129, 0
  br i1 %2130, label %2131, label %2148

2131:                                             ; preds = %2126
  %2132 = load i32, ptr %53, align 4, !tbaa !5
  %2133 = call ptr @__errno_location() #12
  store i32 %2132, ptr %2133, align 4, !tbaa !5
  %2134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2135 = load i32, ptr @test_count, align 4, !tbaa !5
  %2136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2137 = load i32, ptr %2136, align 4, !tbaa !5
  %2138 = call ptr @s2n_strerror(i32 noundef %2137, ptr noundef @.str.3)
  %2139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2140 = load i32, ptr %2139, align 4, !tbaa !5
  %2141 = call ptr @s2n_strerror_debug(i32 noundef %2140, ptr noundef @.str.3)
  %2142 = call ptr @__errno_location() #12
  %2143 = load i32, ptr %2142, align 4, !tbaa !5
  %2144 = call ptr @strerror(i32 noundef %2143) #11
  %2145 = call ptr @__errno_location() #12
  %2146 = load i32, ptr %2145, align 4, !tbaa !5
  %2147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2134, ptr noundef @.str, i32 noundef %2135, ptr noundef @.str.34, ptr noundef @.str.2, i32 noundef 148, ptr noundef %2138, ptr noundef %2141, ptr noundef %2144, i32 noundef %2146) #11
  br label %2165

2148:                                             ; preds = %2126, %2119
  %2149 = load i32, ptr %53, align 4, !tbaa !5
  %2150 = call ptr @__errno_location() #12
  store i32 %2149, ptr %2150, align 4, !tbaa !5
  %2151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2152 = load i32, ptr @test_count, align 4, !tbaa !5
  %2153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2154 = load i32, ptr %2153, align 4, !tbaa !5
  %2155 = call ptr @s2n_strerror(i32 noundef %2154, ptr noundef @.str.3)
  %2156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2157 = load i32, ptr %2156, align 4, !tbaa !5
  %2158 = call ptr @s2n_strerror_debug(i32 noundef %2157, ptr noundef @.str.3)
  %2159 = call ptr @__errno_location() #12
  %2160 = load i32, ptr %2159, align 4, !tbaa !5
  %2161 = call ptr @strerror(i32 noundef %2160) #11
  %2162 = call ptr @__errno_location() #12
  %2163 = load i32, ptr %2162, align 4, !tbaa !5
  %2164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2151, ptr noundef @.str.4, i32 noundef %2152, ptr noundef @.str.34, ptr noundef @.str.2, i32 noundef 148, ptr noundef %2155, ptr noundef %2158, ptr noundef %2161, i32 noundef %2163) #11
  br label %2165

2165:                                             ; preds = %2148, %2131
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #11
  br label %2166

2166:                                             ; preds = %2165
  br label %2167

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

2168:                                             ; No predecessors!
  br label %2169

2169:                                             ; preds = %2168
  br label %2170

2170:                                             ; preds = %2169, %2110
  br label %2171

2171:                                             ; preds = %2170
  br label %2172

2172:                                             ; preds = %2171
  br label %2173

2173:                                             ; preds = %2172
  %2174 = load i32, ptr @test_count, align 4, !tbaa !5
  %2175 = add nsw i32 %2174, 1
  store i32 %2175, ptr @test_count, align 4, !tbaa !5
  %2176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2177 = load i32, ptr %2176, align 4, !tbaa !5
  %2178 = icmp eq i32 %2177, 201326592
  br i1 %2178, label %2232, label %2179

2179:                                             ; preds = %2173
  br label %2180

2180:                                             ; preds = %2179
  br label %2181

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

2188:                                             ; preds = %2181
  %2189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2190 = call i32 @fileno(ptr noundef %2189) #11
  %2191 = call i32 @isatty(i32 noundef %2190) #11
  %2192 = icmp ne i32 %2191, 0
  br i1 %2192, label %2193, label %2210

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

2210:                                             ; preds = %2188, %2181
  %2211 = load i32, ptr %54, align 4, !tbaa !5
  %2212 = call ptr @__errno_location() #12
  store i32 %2211, ptr %2212, align 4, !tbaa !5
  %2213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2214 = load i32, ptr @test_count, align 4, !tbaa !5
  %2215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2216 = load i32, ptr %2215, align 4, !tbaa !5
  %2217 = call ptr @s2n_strerror(i32 noundef %2216, ptr noundef @.str.3)
  %2218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2219 = load i32, ptr %2218, align 4, !tbaa !5
  %2220 = call ptr @s2n_strerror_debug(i32 noundef %2219, ptr noundef @.str.3)
  %2221 = call ptr @__errno_location() #12
  %2222 = load i32, ptr %2221, align 4, !tbaa !5
  %2223 = call ptr @strerror(i32 noundef %2222) #11
  %2224 = call ptr @__errno_location() #12
  %2225 = load i32, ptr %2224, align 4, !tbaa !5
  %2226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2213, ptr noundef @.str.4, i32 noundef %2214, ptr noundef @.str.35, ptr noundef @.str.2, i32 noundef 148, ptr noundef %2217, ptr noundef %2220, ptr noundef %2223, i32 noundef %2225) #11
  br label %2227

2227:                                             ; preds = %2210, %2193
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #11
  br label %2228

2228:                                             ; preds = %2227
  br label %2229

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

2230:                                             ; No predecessors!
  br label %2231

2231:                                             ; preds = %2230
  br label %2232

2232:                                             ; preds = %2231, %2173
  br label %2233

2233:                                             ; preds = %2232
  br label %2234

2234:                                             ; preds = %2233
  br label %2235

2235:                                             ; preds = %2234
  %2236 = load i32, ptr @test_count, align 4, !tbaa !5
  %2237 = add nsw i32 %2236, 1
  store i32 %2237, ptr @test_count, align 4, !tbaa !5
  %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 = icmp eq ptr %2240, null
  br i1 %2241, label %2242, label %2295

2242:                                             ; preds = %2235
  br label %2243

2243:                                             ; preds = %2242
  br label %2244

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

2251:                                             ; preds = %2244
  %2252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2253 = call i32 @fileno(ptr noundef %2252) #11
  %2254 = call i32 @isatty(i32 noundef %2253) #11
  %2255 = icmp ne i32 %2254, 0
  br i1 %2255, label %2256, label %2273

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

2273:                                             ; preds = %2251, %2244
  %2274 = load i32, ptr %55, align 4, !tbaa !5
  %2275 = call ptr @__errno_location() #12
  store i32 %2274, ptr %2275, align 4, !tbaa !5
  %2276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2277 = load i32, ptr @test_count, align 4, !tbaa !5
  %2278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2279 = load i32, ptr %2278, align 4, !tbaa !5
  %2280 = call ptr @s2n_strerror(i32 noundef %2279, ptr noundef @.str.3)
  %2281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2282 = load i32, ptr %2281, align 4, !tbaa !5
  %2283 = call ptr @s2n_strerror_debug(i32 noundef %2282, ptr noundef @.str.3)
  %2284 = call ptr @__errno_location() #12
  %2285 = load i32, ptr %2284, align 4, !tbaa !5
  %2286 = call ptr @strerror(i32 noundef %2285) #11
  %2287 = call ptr @__errno_location() #12
  %2288 = load i32, ptr %2287, align 4, !tbaa !5
  %2289 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2276, ptr noundef @.str.4, i32 noundef %2277, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 148, ptr noundef %2280, ptr noundef %2283, ptr noundef %2286, i32 noundef %2288) #11
  br label %2290

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

2291:                                             ; preds = %2290
  br label %2292

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

2293:                                             ; No predecessors!
  br label %2294

2294:                                             ; preds = %2293
  br label %2295

2295:                                             ; preds = %2294, %2235
  br label %2296

2296:                                             ; preds = %2295
  br label %2297

2297:                                             ; preds = %2296
  br label %2298

2298:                                             ; preds = %2297
  br label %2299

2299:                                             ; preds = %2298
  br label %2300

2300:                                             ; preds = %2299
  %2301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2301, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2302 = call ptr @__errno_location() #12
  store i32 0, ptr %2302, align 4, !tbaa !5
  br label %2303

2303:                                             ; preds = %2300
  br label %2304

2304:                                             ; preds = %2303
  br label %2305

2305:                                             ; preds = %2304
  br label %2306

2306:                                             ; preds = %2305
  br label %2307

2307:                                             ; preds = %2306
  %2308 = load i32, ptr @test_count, align 4, !tbaa !5
  %2309 = add nsw i32 %2308, 1
  store i32 %2309, ptr @test_count, align 4, !tbaa !5
  %2310 = load ptr, ptr %41, align 8, !tbaa !9
  %2311 = getelementptr inbounds %struct.s2n_connection, ptr %2310, i32 0, i32 40
  %2312 = getelementptr inbounds %struct.s2n_stuffer, ptr %2311, i32 0, i32 2
  %2313 = load i32, ptr %2312, align 4, !tbaa !17
  %2314 = load ptr, ptr %41, align 8, !tbaa !9
  %2315 = getelementptr inbounds %struct.s2n_connection, ptr %2314, i32 0, i32 40
  %2316 = getelementptr inbounds %struct.s2n_stuffer, ptr %2315, i32 0, i32 1
  %2317 = load i32, ptr %2316, align 8, !tbaa !43
  %2318 = sub i32 %2313, %2317
  %2319 = icmp ne i32 %2318, 0
  br i1 %2319, label %2373, label %2320

2320:                                             ; preds = %2307
  br label %2321

2321:                                             ; preds = %2320
  br label %2322

2322:                                             ; preds = %2321
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #11
  %2323 = call ptr @__errno_location() #12
  %2324 = load i32, ptr %2323, align 4, !tbaa !5
  store i32 %2324, ptr %56, align 4, !tbaa !5
  %2325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2326 = call i32 @s2n_print_stacktrace(ptr noundef %2325)
  %2327 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2328 = trunc i8 %2327 to i1
  br i1 %2328, label %2329, label %2351

2329:                                             ; preds = %2322
  %2330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2331 = call i32 @fileno(ptr noundef %2330) #11
  %2332 = call i32 @isatty(i32 noundef %2331) #11
  %2333 = icmp ne i32 %2332, 0
  br i1 %2333, label %2334, label %2351

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

2351:                                             ; preds = %2329, %2322
  %2352 = load i32, ptr %56, align 4, !tbaa !5
  %2353 = call ptr @__errno_location() #12
  store i32 %2352, ptr %2353, align 4, !tbaa !5
  %2354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2355 = load i32, ptr @test_count, align 4, !tbaa !5
  %2356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2357 = load i32, ptr %2356, align 4, !tbaa !5
  %2358 = call ptr @s2n_strerror(i32 noundef %2357, ptr noundef @.str.3)
  %2359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2360 = load i32, ptr %2359, align 4, !tbaa !5
  %2361 = call ptr @s2n_strerror_debug(i32 noundef %2360, ptr noundef @.str.3)
  %2362 = call ptr @__errno_location() #12
  %2363 = load i32, ptr %2362, align 4, !tbaa !5
  %2364 = call ptr @strerror(i32 noundef %2363) #11
  %2365 = call ptr @__errno_location() #12
  %2366 = load i32, ptr %2365, align 4, !tbaa !5
  %2367 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2354, ptr noundef @.str.4, i32 noundef %2355, ptr noundef @.str.36, ptr noundef @.str.2, i32 noundef 151, ptr noundef %2358, ptr noundef %2361, ptr noundef %2364, i32 noundef %2366) #11
  br label %2368

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

2369:                                             ; preds = %2368
  br label %2370

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

2371:                                             ; No predecessors!
  br label %2372

2372:                                             ; preds = %2371
  br label %2373

2373:                                             ; preds = %2372, %2307
  br label %2374

2374:                                             ; preds = %2373
  br label %2375

2375:                                             ; preds = %2374
  br label %2376

2376:                                             ; preds = %2375
  %2377 = load i32, ptr @test_count, align 4, !tbaa !5
  %2378 = add nsw i32 %2377, 1
  store i32 %2378, ptr @test_count, align 4, !tbaa !5
  %2379 = load ptr, ptr %41, align 8, !tbaa !9
  %2380 = call i32 @s2n_peek(ptr noundef %2379)
  %2381 = icmp eq i32 %2380, 0
  br i1 %2381, label %2435, label %2382

2382:                                             ; preds = %2376
  br label %2383

2383:                                             ; preds = %2382
  br label %2384

2384:                                             ; preds = %2383
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #11
  %2385 = call ptr @__errno_location() #12
  %2386 = load i32, ptr %2385, align 4, !tbaa !5
  store i32 %2386, ptr %57, align 4, !tbaa !5
  %2387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2388 = call i32 @s2n_print_stacktrace(ptr noundef %2387)
  %2389 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2390 = trunc i8 %2389 to i1
  br i1 %2390, label %2391, label %2413

2391:                                             ; preds = %2384
  %2392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2393 = call i32 @fileno(ptr noundef %2392) #11
  %2394 = call i32 @isatty(i32 noundef %2393) #11
  %2395 = icmp ne i32 %2394, 0
  br i1 %2395, label %2396, label %2413

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

2413:                                             ; preds = %2391, %2384
  %2414 = load i32, ptr %57, align 4, !tbaa !5
  %2415 = call ptr @__errno_location() #12
  store i32 %2414, ptr %2415, align 4, !tbaa !5
  %2416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2417 = load i32, ptr @test_count, align 4, !tbaa !5
  %2418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2419 = load i32, ptr %2418, align 4, !tbaa !5
  %2420 = call ptr @s2n_strerror(i32 noundef %2419, ptr noundef @.str.3)
  %2421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2422 = load i32, ptr %2421, align 4, !tbaa !5
  %2423 = call ptr @s2n_strerror_debug(i32 noundef %2422, ptr noundef @.str.3)
  %2424 = call ptr @__errno_location() #12
  %2425 = load i32, ptr %2424, align 4, !tbaa !5
  %2426 = call ptr @strerror(i32 noundef %2425) #11
  %2427 = call ptr @__errno_location() #12
  %2428 = load i32, ptr %2427, align 4, !tbaa !5
  %2429 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2416, ptr noundef @.str.4, i32 noundef %2417, ptr noundef @.str.25, ptr noundef @.str.2, i32 noundef 152, ptr noundef %2420, ptr noundef %2423, ptr noundef %2426, i32 noundef %2428) #11
  br label %2430

2430:                                             ; preds = %2413, %2396
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #11
  br label %2431

2431:                                             ; preds = %2430
  br label %2432

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

2433:                                             ; No predecessors!
  br label %2434

2434:                                             ; preds = %2433
  br label %2435

2435:                                             ; preds = %2434, %2376
  br label %2436

2436:                                             ; preds = %2435
  br label %2437

2437:                                             ; preds = %2436
  call void @llvm.lifetime.end.p0(i64 100, ptr %52) #11
  %2438 = call i32 @s2n_stuffer_free(ptr noundef %44)
  call void @llvm.lifetime.end.p0(i64 40, ptr %44) #11
  %2439 = call i32 @s2n_stuffer_free(ptr noundef %43)
  call void @llvm.lifetime.end.p0(i64 40, ptr %43) #11
  %2440 = call i32 @s2n_connection_ptr_free(ptr noundef %41)
  %2441 = getelementptr inbounds %struct.s2n_result, ptr %58, i32 0, i32 0
  store i32 %2440, ptr %2441, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #11
  %2442 = call i32 @s2n_connection_ptr_free(ptr noundef %39)
  %2443 = getelementptr inbounds %struct.s2n_result, ptr %59, i32 0, i32 0
  store i32 %2442, ptr %2443, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #11
  %2444 = call zeroext i1 (...) @s2n_is_tls13_fully_supported()
  br i1 %2444, label %2445, label %3406

2445:                                             ; preds = %2437
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #11
  store i32 0, ptr %60, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %61) #11
  %2446 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %2446, ptr %61, align 8, !tbaa !9
  br label %2447

2447:                                             ; preds = %2445
  %2448 = load i32, ptr @test_count, align 4, !tbaa !5
  %2449 = add nsw i32 %2448, 1
  store i32 %2449, ptr @test_count, align 4, !tbaa !5
  %2450 = load ptr, ptr %61, align 8, !tbaa !9
  %2451 = load ptr, ptr %11, align 8, !tbaa !9
  %2452 = call i32 @s2n_connection_set_config(ptr noundef %2450, ptr noundef %2451)
  %2453 = icmp eq i32 %2452, -1
  br i1 %2453, label %2454, label %2507

2454:                                             ; preds = %2447
  br label %2455

2455:                                             ; preds = %2454
  br label %2456

2456:                                             ; preds = %2455
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #11
  %2457 = call ptr @__errno_location() #12
  %2458 = load i32, ptr %2457, align 4, !tbaa !5
  store i32 %2458, ptr %62, align 4, !tbaa !5
  %2459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2460 = call i32 @s2n_print_stacktrace(ptr noundef %2459)
  %2461 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2462 = trunc i8 %2461 to i1
  br i1 %2462, label %2463, label %2485

2463:                                             ; preds = %2456
  %2464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2465 = call i32 @fileno(ptr noundef %2464) #11
  %2466 = call i32 @isatty(i32 noundef %2465) #11
  %2467 = icmp ne i32 %2466, 0
  br i1 %2467, label %2468, label %2485

2468:                                             ; preds = %2463
  %2469 = load i32, ptr %62, align 4, !tbaa !5
  %2470 = call ptr @__errno_location() #12
  store i32 %2469, ptr %2470, align 4, !tbaa !5
  %2471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2472 = load i32, ptr @test_count, align 4, !tbaa !5
  %2473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2474 = load i32, ptr %2473, align 4, !tbaa !5
  %2475 = call ptr @s2n_strerror(i32 noundef %2474, ptr noundef @.str.3)
  %2476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2477 = load i32, ptr %2476, align 4, !tbaa !5
  %2478 = call ptr @s2n_strerror_debug(i32 noundef %2477, ptr noundef @.str.3)
  %2479 = call ptr @__errno_location() #12
  %2480 = load i32, ptr %2479, align 4, !tbaa !5
  %2481 = call ptr @strerror(i32 noundef %2480) #11
  %2482 = call ptr @__errno_location() #12
  %2483 = load i32, ptr %2482, align 4, !tbaa !5
  %2484 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2471, ptr noundef @.str, i32 noundef %2472, ptr noundef @.str.19, ptr noundef @.str.2, i32 noundef 161, ptr noundef %2475, ptr noundef %2478, ptr noundef %2481, i32 noundef %2483) #11
  br label %2502

2485:                                             ; preds = %2463, %2456
  %2486 = load i32, ptr %62, align 4, !tbaa !5
  %2487 = call ptr @__errno_location() #12
  store i32 %2486, ptr %2487, align 4, !tbaa !5
  %2488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2489 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %2491, ptr noundef @.str.3)
  %2493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2494 = load i32, ptr %2493, align 4, !tbaa !5
  %2495 = call ptr @s2n_strerror_debug(i32 noundef %2494, ptr noundef @.str.3)
  %2496 = call ptr @__errno_location() #12
  %2497 = load i32, ptr %2496, align 4, !tbaa !5
  %2498 = call ptr @strerror(i32 noundef %2497) #11
  %2499 = call ptr @__errno_location() #12
  %2500 = load i32, ptr %2499, align 4, !tbaa !5
  %2501 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2488, ptr noundef @.str.4, i32 noundef %2489, ptr noundef @.str.19, ptr noundef @.str.2, i32 noundef 161, ptr noundef %2492, ptr noundef %2495, ptr noundef %2498, i32 noundef %2500) #11
  br label %2502

2502:                                             ; preds = %2485, %2468
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #11
  br label %2503

2503:                                             ; preds = %2502
  br label %2504

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

2505:                                             ; No predecessors!
  br label %2506

2506:                                             ; preds = %2505
  br label %2507

2507:                                             ; preds = %2506, %2447
  br label %2508

2508:                                             ; preds = %2507
  br label %2509

2509:                                             ; preds = %2508
  call void @llvm.lifetime.start.p0(i64 8, ptr %63) #11
  %2510 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %2510, ptr %63, align 8, !tbaa !9
  br label %2511

2511:                                             ; preds = %2509
  %2512 = load i32, ptr @test_count, align 4, !tbaa !5
  %2513 = add nsw i32 %2512, 1
  store i32 %2513, ptr @test_count, align 4, !tbaa !5
  %2514 = load ptr, ptr %63, align 8, !tbaa !9
  %2515 = load ptr, ptr %11, align 8, !tbaa !9
  %2516 = call i32 @s2n_connection_set_config(ptr noundef %2514, ptr noundef %2515)
  %2517 = icmp eq i32 %2516, -1
  br i1 %2517, label %2518, label %2571

2518:                                             ; preds = %2511
  br label %2519

2519:                                             ; preds = %2518
  br label %2520

2520:                                             ; preds = %2519
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #11
  %2521 = call ptr @__errno_location() #12
  %2522 = load i32, ptr %2521, align 4, !tbaa !5
  store i32 %2522, ptr %64, align 4, !tbaa !5
  %2523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2524 = call i32 @s2n_print_stacktrace(ptr noundef %2523)
  %2525 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2526 = trunc i8 %2525 to i1
  br i1 %2526, label %2527, label %2549

2527:                                             ; preds = %2520
  %2528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2529 = call i32 @fileno(ptr noundef %2528) #11
  %2530 = call i32 @isatty(i32 noundef %2529) #11
  %2531 = icmp ne i32 %2530, 0
  br i1 %2531, label %2532, label %2549

2532:                                             ; preds = %2527
  %2533 = load i32, ptr %64, align 4, !tbaa !5
  %2534 = call ptr @__errno_location() #12
  store i32 %2533, ptr %2534, align 4, !tbaa !5
  %2535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2536 = load i32, ptr @test_count, align 4, !tbaa !5
  %2537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2538 = load i32, ptr %2537, align 4, !tbaa !5
  %2539 = call ptr @s2n_strerror(i32 noundef %2538, ptr noundef @.str.3)
  %2540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2541 = load i32, ptr %2540, align 4, !tbaa !5
  %2542 = call ptr @s2n_strerror_debug(i32 noundef %2541, ptr noundef @.str.3)
  %2543 = call ptr @__errno_location() #12
  %2544 = load i32, ptr %2543, align 4, !tbaa !5
  %2545 = call ptr @strerror(i32 noundef %2544) #11
  %2546 = call ptr @__errno_location() #12
  %2547 = load i32, ptr %2546, align 4, !tbaa !5
  %2548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2535, ptr noundef @.str, i32 noundef %2536, ptr noundef @.str.20, ptr noundef @.str.2, i32 noundef 164, ptr noundef %2539, ptr noundef %2542, ptr noundef %2545, i32 noundef %2547) #11
  br label %2566

2549:                                             ; preds = %2527, %2520
  %2550 = load i32, ptr %64, align 4, !tbaa !5
  %2551 = call ptr @__errno_location() #12
  store i32 %2550, ptr %2551, align 4, !tbaa !5
  %2552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2553 = load i32, ptr @test_count, align 4, !tbaa !5
  %2554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2555 = load i32, ptr %2554, align 4, !tbaa !5
  %2556 = call ptr @s2n_strerror(i32 noundef %2555, ptr noundef @.str.3)
  %2557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2558 = load i32, ptr %2557, align 4, !tbaa !5
  %2559 = call ptr @s2n_strerror_debug(i32 noundef %2558, ptr noundef @.str.3)
  %2560 = call ptr @__errno_location() #12
  %2561 = load i32, ptr %2560, align 4, !tbaa !5
  %2562 = call ptr @strerror(i32 noundef %2561) #11
  %2563 = call ptr @__errno_location() #12
  %2564 = load i32, ptr %2563, align 4, !tbaa !5
  %2565 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2552, ptr noundef @.str.4, i32 noundef %2553, ptr noundef @.str.20, ptr noundef @.str.2, i32 noundef 164, ptr noundef %2556, ptr noundef %2559, ptr noundef %2562, i32 noundef %2564) #11
  br label %2566

2566:                                             ; preds = %2549, %2532
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #11
  br label %2567

2567:                                             ; preds = %2566
  br label %2568

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

2569:                                             ; No predecessors!
  br label %2570

2570:                                             ; preds = %2569
  br label %2571

2571:                                             ; preds = %2570, %2511
  br label %2572

2572:                                             ; preds = %2571
  br label %2573

2573:                                             ; preds = %2572
  call void @llvm.lifetime.start.p0(i64 40, ptr %65) #11
  call void @llvm.memset.p0.i64(ptr align 8 %65, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %66) #11
  call void @llvm.memset.p0.i64(ptr align 8 %66, i8 0, i64 40, i1 false)
  br label %2574

2574:                                             ; preds = %2573
  %2575 = load i32, ptr @test_count, align 4, !tbaa !5
  %2576 = add nsw i32 %2575, 1
  store i32 %2576, ptr @test_count, align 4, !tbaa !5
  %2577 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %65, i32 noundef 0)
  %2578 = icmp eq i32 %2577, -1
  br i1 %2578, label %2579, label %2632

2579:                                             ; preds = %2574
  br label %2580

2580:                                             ; preds = %2579
  br label %2581

2581:                                             ; preds = %2580
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #11
  %2582 = call ptr @__errno_location() #12
  %2583 = load i32, ptr %2582, align 4, !tbaa !5
  store i32 %2583, ptr %67, align 4, !tbaa !5
  %2584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2585 = call i32 @s2n_print_stacktrace(ptr noundef %2584)
  %2586 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2587 = trunc i8 %2586 to i1
  br i1 %2587, label %2588, label %2610

2588:                                             ; preds = %2581
  %2589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2590 = call i32 @fileno(ptr noundef %2589) #11
  %2591 = call i32 @isatty(i32 noundef %2590) #11
  %2592 = icmp ne i32 %2591, 0
  br i1 %2592, label %2593, label %2610

2593:                                             ; preds = %2588
  %2594 = load i32, ptr %67, align 4, !tbaa !5
  %2595 = call ptr @__errno_location() #12
  store i32 %2594, ptr %2595, align 4, !tbaa !5
  %2596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2597 = load i32, ptr @test_count, align 4, !tbaa !5
  %2598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2599 = load i32, ptr %2598, align 4, !tbaa !5
  %2600 = call ptr @s2n_strerror(i32 noundef %2599, ptr noundef @.str.3)
  %2601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2602 = load i32, ptr %2601, align 4, !tbaa !5
  %2603 = call ptr @s2n_strerror_debug(i32 noundef %2602, ptr noundef @.str.3)
  %2604 = call ptr @__errno_location() #12
  %2605 = load i32, ptr %2604, align 4, !tbaa !5
  %2606 = call ptr @strerror(i32 noundef %2605) #11
  %2607 = call ptr @__errno_location() #12
  %2608 = load i32, ptr %2607, align 4, !tbaa !5
  %2609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2596, ptr noundef @.str, i32 noundef %2597, ptr noundef @.str.29, ptr noundef @.str.2, i32 noundef 169, ptr noundef %2600, ptr noundef %2603, ptr noundef %2606, i32 noundef %2608) #11
  br label %2627

2610:                                             ; preds = %2588, %2581
  %2611 = load i32, ptr %67, align 4, !tbaa !5
  %2612 = call ptr @__errno_location() #12
  store i32 %2611, ptr %2612, align 4, !tbaa !5
  %2613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2614 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %2616, ptr noundef @.str.3)
  %2618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2619 = load i32, ptr %2618, align 4, !tbaa !5
  %2620 = call ptr @s2n_strerror_debug(i32 noundef %2619, ptr noundef @.str.3)
  %2621 = call ptr @__errno_location() #12
  %2622 = load i32, ptr %2621, align 4, !tbaa !5
  %2623 = call ptr @strerror(i32 noundef %2622) #11
  %2624 = call ptr @__errno_location() #12
  %2625 = load i32, ptr %2624, align 4, !tbaa !5
  %2626 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2613, ptr noundef @.str.4, i32 noundef %2614, ptr noundef @.str.29, ptr noundef @.str.2, i32 noundef 169, ptr noundef %2617, ptr noundef %2620, ptr noundef %2623, i32 noundef %2625) #11
  br label %2627

2627:                                             ; preds = %2610, %2593
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #11
  br label %2628

2628:                                             ; preds = %2627
  br label %2629

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

2630:                                             ; No predecessors!
  br label %2631

2631:                                             ; preds = %2630
  br label %2632

2632:                                             ; preds = %2631, %2574
  br label %2633

2633:                                             ; preds = %2632
  br label %2634

2634:                                             ; preds = %2633
  br label %2635

2635:                                             ; preds = %2634
  %2636 = load i32, ptr @test_count, align 4, !tbaa !5
  %2637 = add nsw i32 %2636, 1
  store i32 %2637, ptr @test_count, align 4, !tbaa !5
  %2638 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %66, i32 noundef 0)
  %2639 = icmp eq i32 %2638, -1
  br i1 %2639, label %2640, label %2693

2640:                                             ; preds = %2635
  br label %2641

2641:                                             ; preds = %2640
  br label %2642

2642:                                             ; preds = %2641
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #11
  %2643 = call ptr @__errno_location() #12
  %2644 = load i32, ptr %2643, align 4, !tbaa !5
  store i32 %2644, ptr %68, align 4, !tbaa !5
  %2645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2646 = call i32 @s2n_print_stacktrace(ptr noundef %2645)
  %2647 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2648 = trunc i8 %2647 to i1
  br i1 %2648, label %2649, label %2671

2649:                                             ; preds = %2642
  %2650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2651 = call i32 @fileno(ptr noundef %2650) #11
  %2652 = call i32 @isatty(i32 noundef %2651) #11
  %2653 = icmp ne i32 %2652, 0
  br i1 %2653, label %2654, label %2671

2654:                                             ; preds = %2649
  %2655 = load i32, ptr %68, align 4, !tbaa !5
  %2656 = call ptr @__errno_location() #12
  store i32 %2655, ptr %2656, align 4, !tbaa !5
  %2657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2658 = load i32, ptr @test_count, align 4, !tbaa !5
  %2659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2660 = load i32, ptr %2659, align 4, !tbaa !5
  %2661 = call ptr @s2n_strerror(i32 noundef %2660, ptr noundef @.str.3)
  %2662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2663 = load i32, ptr %2662, align 4, !tbaa !5
  %2664 = call ptr @s2n_strerror_debug(i32 noundef %2663, ptr noundef @.str.3)
  %2665 = call ptr @__errno_location() #12
  %2666 = load i32, ptr %2665, align 4, !tbaa !5
  %2667 = call ptr @strerror(i32 noundef %2666) #11
  %2668 = call ptr @__errno_location() #12
  %2669 = load i32, ptr %2668, align 4, !tbaa !5
  %2670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2657, ptr noundef @.str, i32 noundef %2658, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 170, ptr noundef %2661, ptr noundef %2664, ptr noundef %2667, i32 noundef %2669) #11
  br label %2688

2671:                                             ; preds = %2649, %2642
  %2672 = load i32, ptr %68, align 4, !tbaa !5
  %2673 = call ptr @__errno_location() #12
  store i32 %2672, ptr %2673, align 4, !tbaa !5
  %2674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2675 = load i32, ptr @test_count, align 4, !tbaa !5
  %2676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2677 = load i32, ptr %2676, align 4, !tbaa !5
  %2678 = call ptr @s2n_strerror(i32 noundef %2677, ptr noundef @.str.3)
  %2679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2680 = load i32, ptr %2679, align 4, !tbaa !5
  %2681 = call ptr @s2n_strerror_debug(i32 noundef %2680, ptr noundef @.str.3)
  %2682 = call ptr @__errno_location() #12
  %2683 = load i32, ptr %2682, align 4, !tbaa !5
  %2684 = call ptr @strerror(i32 noundef %2683) #11
  %2685 = call ptr @__errno_location() #12
  %2686 = load i32, ptr %2685, align 4, !tbaa !5
  %2687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2674, ptr noundef @.str.4, i32 noundef %2675, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 170, ptr noundef %2678, ptr noundef %2681, ptr noundef %2684, i32 noundef %2686) #11
  br label %2688

2688:                                             ; preds = %2671, %2654
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #11
  br label %2689

2689:                                             ; preds = %2688
  br label %2690

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

2691:                                             ; No predecessors!
  br label %2692

2692:                                             ; preds = %2691
  br label %2693

2693:                                             ; preds = %2692, %2635
  br label %2694

2694:                                             ; preds = %2693
  br label %2695

2695:                                             ; preds = %2694
  br label %2696

2696:                                             ; preds = %2695
  %2697 = load i32, ptr @test_count, align 4, !tbaa !5
  %2698 = add nsw i32 %2697, 1
  store i32 %2698, ptr @test_count, align 4, !tbaa !5
  %2699 = load ptr, ptr %61, align 8, !tbaa !9
  %2700 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %66, ptr noundef %65, ptr noundef %2699)
  %2701 = icmp eq i32 %2700, -1
  br i1 %2701, label %2702, label %2755

2702:                                             ; preds = %2696
  br label %2703

2703:                                             ; preds = %2702
  br label %2704

2704:                                             ; preds = %2703
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #11
  %2705 = call ptr @__errno_location() #12
  %2706 = load i32, ptr %2705, align 4, !tbaa !5
  store i32 %2706, ptr %69, align 4, !tbaa !5
  %2707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2708 = call i32 @s2n_print_stacktrace(ptr noundef %2707)
  %2709 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2710 = trunc i8 %2709 to i1
  br i1 %2710, label %2711, label %2733

2711:                                             ; preds = %2704
  %2712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2713 = call i32 @fileno(ptr noundef %2712) #11
  %2714 = call i32 @isatty(i32 noundef %2713) #11
  %2715 = icmp ne i32 %2714, 0
  br i1 %2715, label %2716, label %2733

2716:                                             ; preds = %2711
  %2717 = load i32, ptr %69, align 4, !tbaa !5
  %2718 = call ptr @__errno_location() #12
  store i32 %2717, ptr %2718, align 4, !tbaa !5
  %2719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2720 = load i32, ptr @test_count, align 4, !tbaa !5
  %2721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2722 = load i32, ptr %2721, align 4, !tbaa !5
  %2723 = call ptr @s2n_strerror(i32 noundef %2722, ptr noundef @.str.3)
  %2724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2725 = load i32, ptr %2724, align 4, !tbaa !5
  %2726 = call ptr @s2n_strerror_debug(i32 noundef %2725, ptr noundef @.str.3)
  %2727 = call ptr @__errno_location() #12
  %2728 = load i32, ptr %2727, align 4, !tbaa !5
  %2729 = call ptr @strerror(i32 noundef %2728) #11
  %2730 = call ptr @__errno_location() #12
  %2731 = load i32, ptr %2730, align 4, !tbaa !5
  %2732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2719, ptr noundef @.str, i32 noundef %2720, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 171, ptr noundef %2723, ptr noundef %2726, ptr noundef %2729, i32 noundef %2731) #11
  br label %2750

2733:                                             ; preds = %2711, %2704
  %2734 = load i32, ptr %69, align 4, !tbaa !5
  %2735 = call ptr @__errno_location() #12
  store i32 %2734, ptr %2735, align 4, !tbaa !5
  %2736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2737 = load i32, ptr @test_count, align 4, !tbaa !5
  %2738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2739 = load i32, ptr %2738, align 4, !tbaa !5
  %2740 = call ptr @s2n_strerror(i32 noundef %2739, ptr noundef @.str.3)
  %2741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2742 = load i32, ptr %2741, align 4, !tbaa !5
  %2743 = call ptr @s2n_strerror_debug(i32 noundef %2742, ptr noundef @.str.3)
  %2744 = call ptr @__errno_location() #12
  %2745 = load i32, ptr %2744, align 4, !tbaa !5
  %2746 = call ptr @strerror(i32 noundef %2745) #11
  %2747 = call ptr @__errno_location() #12
  %2748 = load i32, ptr %2747, align 4, !tbaa !5
  %2749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2736, ptr noundef @.str.4, i32 noundef %2737, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 171, ptr noundef %2740, ptr noundef %2743, ptr noundef %2746, i32 noundef %2748) #11
  br label %2750

2750:                                             ; preds = %2733, %2716
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #11
  br label %2751

2751:                                             ; preds = %2750
  br label %2752

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

2753:                                             ; No predecessors!
  br label %2754

2754:                                             ; preds = %2753
  br label %2755

2755:                                             ; preds = %2754, %2696
  br label %2756

2756:                                             ; preds = %2755
  br label %2757

2757:                                             ; preds = %2756
  br label %2758

2758:                                             ; preds = %2757
  %2759 = load i32, ptr @test_count, align 4, !tbaa !5
  %2760 = add nsw i32 %2759, 1
  store i32 %2760, ptr @test_count, align 4, !tbaa !5
  %2761 = load ptr, ptr %63, align 8, !tbaa !9
  %2762 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %65, ptr noundef %66, ptr noundef %2761)
  %2763 = icmp eq i32 %2762, -1
  br i1 %2763, label %2764, label %2817

2764:                                             ; preds = %2758
  br label %2765

2765:                                             ; preds = %2764
  br label %2766

2766:                                             ; preds = %2765
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #11
  %2767 = call ptr @__errno_location() #12
  %2768 = load i32, ptr %2767, align 4, !tbaa !5
  store i32 %2768, ptr %70, align 4, !tbaa !5
  %2769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2770 = call i32 @s2n_print_stacktrace(ptr noundef %2769)
  %2771 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2772 = trunc i8 %2771 to i1
  br i1 %2772, label %2773, label %2795

2773:                                             ; preds = %2766
  %2774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2775 = call i32 @fileno(ptr noundef %2774) #11
  %2776 = call i32 @isatty(i32 noundef %2775) #11
  %2777 = icmp ne i32 %2776, 0
  br i1 %2777, label %2778, label %2795

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

2795:                                             ; preds = %2773, %2766
  %2796 = load i32, ptr %70, align 4, !tbaa !5
  %2797 = call ptr @__errno_location() #12
  store i32 %2796, ptr %2797, align 4, !tbaa !5
  %2798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2799 = load i32, ptr @test_count, align 4, !tbaa !5
  %2800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2801 = load i32, ptr %2800, align 4, !tbaa !5
  %2802 = call ptr @s2n_strerror(i32 noundef %2801, ptr noundef @.str.3)
  %2803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2804 = load i32, ptr %2803, align 4, !tbaa !5
  %2805 = call ptr @s2n_strerror_debug(i32 noundef %2804, ptr noundef @.str.3)
  %2806 = call ptr @__errno_location() #12
  %2807 = load i32, ptr %2806, align 4, !tbaa !5
  %2808 = call ptr @strerror(i32 noundef %2807) #11
  %2809 = call ptr @__errno_location() #12
  %2810 = load i32, ptr %2809, align 4, !tbaa !5
  %2811 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2798, ptr noundef @.str.4, i32 noundef %2799, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 172, ptr noundef %2802, ptr noundef %2805, ptr noundef %2808, i32 noundef %2810) #11
  br label %2812

2812:                                             ; preds = %2795, %2778
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #11
  br label %2813

2813:                                             ; preds = %2812
  br label %2814

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

2815:                                             ; No predecessors!
  br label %2816

2816:                                             ; preds = %2815
  br label %2817

2817:                                             ; preds = %2816, %2758
  br label %2818

2818:                                             ; preds = %2817
  br label %2819

2819:                                             ; preds = %2818
  br label %2820

2820:                                             ; preds = %2819
  %2821 = load i32, ptr @test_count, align 4, !tbaa !5
  %2822 = add nsw i32 %2821, 1
  store i32 %2822, ptr @test_count, align 4, !tbaa !5
  %2823 = load ptr, ptr %63, align 8, !tbaa !9
  %2824 = load ptr, ptr %61, align 8, !tbaa !9
  %2825 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %2823, ptr noundef %2824)
  %2826 = icmp eq i32 %2825, -1
  br i1 %2826, label %2827, label %2880

2827:                                             ; preds = %2820
  br label %2828

2828:                                             ; preds = %2827
  br label %2829

2829:                                             ; preds = %2828
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #11
  %2830 = call ptr @__errno_location() #12
  %2831 = load i32, ptr %2830, align 4, !tbaa !5
  store i32 %2831, ptr %71, align 4, !tbaa !5
  %2832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2833 = call i32 @s2n_print_stacktrace(ptr noundef %2832)
  %2834 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2835 = trunc i8 %2834 to i1
  br i1 %2835, label %2836, label %2858

2836:                                             ; preds = %2829
  %2837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2838 = call i32 @fileno(ptr noundef %2837) #11
  %2839 = call i32 @isatty(i32 noundef %2838) #11
  %2840 = icmp ne i32 %2839, 0
  br i1 %2840, label %2841, label %2858

2841:                                             ; preds = %2836
  %2842 = load i32, ptr %71, align 4, !tbaa !5
  %2843 = call ptr @__errno_location() #12
  store i32 %2842, ptr %2843, align 4, !tbaa !5
  %2844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2845 = load i32, ptr @test_count, align 4, !tbaa !5
  %2846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2847 = load i32, ptr %2846, align 4, !tbaa !5
  %2848 = call ptr @s2n_strerror(i32 noundef %2847, ptr noundef @.str.3)
  %2849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2850 = load i32, ptr %2849, align 4, !tbaa !5
  %2851 = call ptr @s2n_strerror_debug(i32 noundef %2850, ptr noundef @.str.3)
  %2852 = call ptr @__errno_location() #12
  %2853 = load i32, ptr %2852, align 4, !tbaa !5
  %2854 = call ptr @strerror(i32 noundef %2853) #11
  %2855 = call ptr @__errno_location() #12
  %2856 = load i32, ptr %2855, align 4, !tbaa !5
  %2857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2844, ptr noundef @.str, i32 noundef %2845, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 174, ptr noundef %2848, ptr noundef %2851, ptr noundef %2854, i32 noundef %2856) #11
  br label %2875

2858:                                             ; preds = %2836, %2829
  %2859 = load i32, ptr %71, align 4, !tbaa !5
  %2860 = call ptr @__errno_location() #12
  store i32 %2859, ptr %2860, align 4, !tbaa !5
  %2861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2862 = load i32, ptr @test_count, align 4, !tbaa !5
  %2863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2864 = load i32, ptr %2863, align 4, !tbaa !5
  %2865 = call ptr @s2n_strerror(i32 noundef %2864, ptr noundef @.str.3)
  %2866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2867 = load i32, ptr %2866, align 4, !tbaa !5
  %2868 = call ptr @s2n_strerror_debug(i32 noundef %2867, ptr noundef @.str.3)
  %2869 = call ptr @__errno_location() #12
  %2870 = load i32, ptr %2869, align 4, !tbaa !5
  %2871 = call ptr @strerror(i32 noundef %2870) #11
  %2872 = call ptr @__errno_location() #12
  %2873 = load i32, ptr %2872, align 4, !tbaa !5
  %2874 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2861, ptr noundef @.str.4, i32 noundef %2862, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 174, ptr noundef %2865, ptr noundef %2868, ptr noundef %2871, i32 noundef %2873) #11
  br label %2875

2875:                                             ; preds = %2858, %2841
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #11
  br label %2876

2876:                                             ; preds = %2875
  br label %2877

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

2878:                                             ; No predecessors!
  br label %2879

2879:                                             ; preds = %2878
  br label %2880

2880:                                             ; preds = %2879, %2820
  br label %2881

2881:                                             ; preds = %2880
  br label %2882

2882:                                             ; preds = %2881
  %2883 = load ptr, ptr %61, align 8, !tbaa !9
  %2884 = getelementptr inbounds %struct.s2n_connection, ptr %2883, i32 0, i32 94
  call void @s2n_atomic_flag_set(ptr noundef %2884)
  br label %2885

2885:                                             ; preds = %2882
  %2886 = load i32, ptr @test_count, align 4, !tbaa !5
  %2887 = add nsw i32 %2886, 1
  store i32 %2887, ptr @test_count, align 4, !tbaa !5
  %2888 = load ptr, ptr %61, align 8, !tbaa !9
  %2889 = call i32 @s2n_key_update_send(ptr noundef %2888, ptr noundef %60)
  %2890 = icmp eq i32 %2889, -1
  br i1 %2890, label %2891, label %2944

2891:                                             ; preds = %2885
  br label %2892

2892:                                             ; preds = %2891
  br label %2893

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

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

2905:                                             ; preds = %2900
  %2906 = load i32, ptr %72, align 4, !tbaa !5
  %2907 = call ptr @__errno_location() #12
  store i32 %2906, ptr %2907, align 4, !tbaa !5
  %2908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2909 = load i32, ptr @test_count, align 4, !tbaa !5
  %2910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2911 = load i32, ptr %2910, align 4, !tbaa !5
  %2912 = call ptr @s2n_strerror(i32 noundef %2911, ptr noundef @.str.3)
  %2913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2914 = load i32, ptr %2913, align 4, !tbaa !5
  %2915 = call ptr @s2n_strerror_debug(i32 noundef %2914, ptr noundef @.str.3)
  %2916 = call ptr @__errno_location() #12
  %2917 = load i32, ptr %2916, align 4, !tbaa !5
  %2918 = call ptr @strerror(i32 noundef %2917) #11
  %2919 = call ptr @__errno_location() #12
  %2920 = load i32, ptr %2919, align 4, !tbaa !5
  %2921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2908, ptr noundef @.str, i32 noundef %2909, ptr noundef @.str.37, ptr noundef @.str.2, i32 noundef 178, ptr noundef %2912, ptr noundef %2915, ptr noundef %2918, i32 noundef %2920) #11
  br label %2939

2922:                                             ; preds = %2900, %2893
  %2923 = load i32, ptr %72, align 4, !tbaa !5
  %2924 = call ptr @__errno_location() #12
  store i32 %2923, ptr %2924, align 4, !tbaa !5
  %2925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2926 = load i32, ptr @test_count, align 4, !tbaa !5
  %2927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2928 = load i32, ptr %2927, align 4, !tbaa !5
  %2929 = call ptr @s2n_strerror(i32 noundef %2928, ptr noundef @.str.3)
  %2930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2931 = load i32, ptr %2930, align 4, !tbaa !5
  %2932 = call ptr @s2n_strerror_debug(i32 noundef %2931, ptr noundef @.str.3)
  %2933 = call ptr @__errno_location() #12
  %2934 = load i32, ptr %2933, align 4, !tbaa !5
  %2935 = call ptr @strerror(i32 noundef %2934) #11
  %2936 = call ptr @__errno_location() #12
  %2937 = load i32, ptr %2936, align 4, !tbaa !5
  %2938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2925, ptr noundef @.str.4, i32 noundef %2926, ptr noundef @.str.37, ptr noundef @.str.2, i32 noundef 178, ptr noundef %2929, ptr noundef %2932, ptr noundef %2935, i32 noundef %2937) #11
  br label %2939

2939:                                             ; preds = %2922, %2905
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #11
  br label %2940

2940:                                             ; preds = %2939
  br label %2941

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

2942:                                             ; No predecessors!
  br label %2943

2943:                                             ; preds = %2942
  br label %2944

2944:                                             ; preds = %2943, %2885
  br label %2945

2945:                                             ; preds = %2944
  br label %2946

2946:                                             ; preds = %2945
  br label %2947

2947:                                             ; preds = %2946
  %2948 = load i32, ptr @test_count, align 4, !tbaa !5
  %2949 = add nsw i32 %2948, 1
  store i32 %2949, ptr @test_count, align 4, !tbaa !5
  %2950 = load ptr, ptr %61, align 8, !tbaa !9
  %2951 = getelementptr inbounds %struct.s2n_connection, ptr %2950, i32 0, i32 94
  %2952 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %2951)
  br i1 %2952, label %2953, label %3006

2953:                                             ; preds = %2947
  br label %2954

2954:                                             ; preds = %2953
  br label %2955

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

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

2967:                                             ; preds = %2962
  %2968 = load i32, ptr %73, align 4, !tbaa !5
  %2969 = call ptr @__errno_location() #12
  store i32 %2968, ptr %2969, align 4, !tbaa !5
  %2970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2971 = load i32, ptr @test_count, align 4, !tbaa !5
  %2972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2973 = load i32, ptr %2972, align 4, !tbaa !5
  %2974 = call ptr @s2n_strerror(i32 noundef %2973, ptr noundef @.str.3)
  %2975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2976 = load i32, ptr %2975, align 4, !tbaa !5
  %2977 = call ptr @s2n_strerror_debug(i32 noundef %2976, ptr noundef @.str.3)
  %2978 = call ptr @__errno_location() #12
  %2979 = load i32, ptr %2978, align 4, !tbaa !5
  %2980 = call ptr @strerror(i32 noundef %2979) #11
  %2981 = call ptr @__errno_location() #12
  %2982 = load i32, ptr %2981, align 4, !tbaa !5
  %2983 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2970, ptr noundef @.str, i32 noundef %2971, ptr noundef @.str.38, ptr noundef @.str.2, i32 noundef 179, ptr noundef %2974, ptr noundef %2977, ptr noundef %2980, i32 noundef %2982) #11
  br label %3001

2984:                                             ; preds = %2962, %2955
  %2985 = load i32, ptr %73, align 4, !tbaa !5
  %2986 = call ptr @__errno_location() #12
  store i32 %2985, ptr %2986, align 4, !tbaa !5
  %2987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2988 = load i32, ptr @test_count, align 4, !tbaa !5
  %2989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2990 = load i32, ptr %2989, align 4, !tbaa !5
  %2991 = call ptr @s2n_strerror(i32 noundef %2990, ptr noundef @.str.3)
  %2992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2993 = load i32, ptr %2992, align 4, !tbaa !5
  %2994 = call ptr @s2n_strerror_debug(i32 noundef %2993, ptr noundef @.str.3)
  %2995 = call ptr @__errno_location() #12
  %2996 = load i32, ptr %2995, align 4, !tbaa !5
  %2997 = call ptr @strerror(i32 noundef %2996) #11
  %2998 = call ptr @__errno_location() #12
  %2999 = load i32, ptr %2998, align 4, !tbaa !5
  %3000 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2987, ptr noundef @.str.4, i32 noundef %2988, ptr noundef @.str.38, ptr noundef @.str.2, i32 noundef 179, ptr noundef %2991, ptr noundef %2994, ptr noundef %2997, i32 noundef %2999) #11
  br label %3001

3001:                                             ; preds = %2984, %2967
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #11
  br label %3002

3002:                                             ; preds = %3001
  br label %3003

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

3004:                                             ; No predecessors!
  br label %3005

3005:                                             ; preds = %3004
  br label %3006

3006:                                             ; preds = %3005, %2947
  br label %3007

3007:                                             ; preds = %3006
  br label %3008

3008:                                             ; preds = %3007
  br label %3009

3009:                                             ; preds = %3008
  %3010 = load i32, ptr @test_count, align 4, !tbaa !5
  %3011 = add nsw i32 %3010, 1
  store i32 %3011, ptr @test_count, align 4, !tbaa !5
  %3012 = call i32 @s2n_stuffer_wipe_n(ptr noundef %65, i32 noundef 10)
  %3013 = icmp eq i32 %3012, -1
  br i1 %3013, label %3014, label %3067

3014:                                             ; preds = %3009
  br label %3015

3015:                                             ; preds = %3014
  br label %3016

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

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

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

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

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

3063:                                             ; preds = %3062
  br label %3064

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

3065:                                             ; No predecessors!
  br label %3066

3066:                                             ; preds = %3065
  br label %3067

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

3068:                                             ; preds = %3067
  br label %3069

3069:                                             ; preds = %3068
  call void @llvm.lifetime.start.p0(i64 1, ptr %75) #11
  call void @llvm.memset.p0.i64(ptr align 1 %75, i8 0, i64 1, i1 false)
  br label %3070

3070:                                             ; preds = %3069
  br label %3071

3071:                                             ; preds = %3070
  br label %3072

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

3079:                                             ; preds = %3072
  br label %3080

3080:                                             ; preds = %3079
  br label %3081

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

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

3093:                                             ; preds = %3088
  %3094 = load i32, ptr %76, align 4, !tbaa !5
  %3095 = call ptr @__errno_location() #12
  store i32 %3094, ptr %3095, align 4, !tbaa !5
  %3096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3097 = load i32, ptr @test_count, align 4, !tbaa !5
  %3098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3099 = load i32, ptr %3098, align 4, !tbaa !5
  %3100 = call ptr @s2n_strerror(i32 noundef %3099, ptr noundef @.str.3)
  %3101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3102 = load i32, ptr %3101, align 4, !tbaa !5
  %3103 = call ptr @s2n_strerror_debug(i32 noundef %3102, ptr noundef @.str.3)
  %3104 = call ptr @__errno_location() #12
  %3105 = load i32, ptr %3104, align 4, !tbaa !5
  %3106 = call ptr @strerror(i32 noundef %3105) #11
  %3107 = call ptr @__errno_location() #12
  %3108 = load i32, ptr %3107, align 4, !tbaa !5
  %3109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3096, ptr noundef @.str, i32 noundef %3097, ptr noundef @.str.39, ptr noundef @.str.2, i32 noundef 187, ptr noundef %3100, ptr noundef %3103, ptr noundef %3106, i32 noundef %3108) #11
  br label %3127

3110:                                             ; preds = %3088, %3081
  %3111 = load i32, ptr %76, align 4, !tbaa !5
  %3112 = call ptr @__errno_location() #12
  store i32 %3111, ptr %3112, align 4, !tbaa !5
  %3113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3114 = load i32, ptr @test_count, align 4, !tbaa !5
  %3115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3116 = load i32, ptr %3115, align 4, !tbaa !5
  %3117 = call ptr @s2n_strerror(i32 noundef %3116, ptr noundef @.str.3)
  %3118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3119 = load i32, ptr %3118, align 4, !tbaa !5
  %3120 = call ptr @s2n_strerror_debug(i32 noundef %3119, ptr noundef @.str.3)
  %3121 = call ptr @__errno_location() #12
  %3122 = load i32, ptr %3121, align 4, !tbaa !5
  %3123 = call ptr @strerror(i32 noundef %3122) #11
  %3124 = call ptr @__errno_location() #12
  %3125 = load i32, ptr %3124, align 4, !tbaa !5
  %3126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3113, ptr noundef @.str.4, i32 noundef %3114, ptr noundef @.str.39, ptr noundef @.str.2, i32 noundef 187, ptr noundef %3117, ptr noundef %3120, ptr noundef %3123, i32 noundef %3125) #11
  br label %3127

3127:                                             ; preds = %3110, %3093
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #11
  br label %3128

3128:                                             ; preds = %3127
  br label %3129

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

3130:                                             ; No predecessors!
  br label %3131

3131:                                             ; preds = %3130
  br label %3132

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

3133:                                             ; preds = %3132
  br label %3134

3134:                                             ; preds = %3133
  br label %3135

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

3141:                                             ; preds = %3135
  br label %3142

3142:                                             ; preds = %3141
  br label %3143

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

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

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

3172:                                             ; preds = %3150, %3143
  %3173 = load i32, ptr %77, align 4, !tbaa !5
  %3174 = call ptr @__errno_location() #12
  store i32 %3173, ptr %3174, align 4, !tbaa !5
  %3175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3176 = load i32, ptr @test_count, align 4, !tbaa !5
  %3177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3178 = load i32, ptr %3177, align 4, !tbaa !5
  %3179 = call ptr @s2n_strerror(i32 noundef %3178, ptr noundef @.str.3)
  %3180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3181 = load i32, ptr %3180, align 4, !tbaa !5
  %3182 = call ptr @s2n_strerror_debug(i32 noundef %3181, ptr noundef @.str.3)
  %3183 = call ptr @__errno_location() #12
  %3184 = load i32, ptr %3183, align 4, !tbaa !5
  %3185 = call ptr @strerror(i32 noundef %3184) #11
  %3186 = call ptr @__errno_location() #12
  %3187 = load i32, ptr %3186, align 4, !tbaa !5
  %3188 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3175, ptr noundef @.str.4, i32 noundef %3176, ptr noundef @.str.35, ptr noundef @.str.2, i32 noundef 187, ptr noundef %3179, ptr noundef %3182, ptr noundef %3185, i32 noundef %3187) #11
  br label %3189

3189:                                             ; preds = %3172, %3155
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #11
  br label %3190

3190:                                             ; preds = %3189
  br label %3191

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

3192:                                             ; No predecessors!
  br label %3193

3193:                                             ; preds = %3192
  br label %3194

3194:                                             ; preds = %3193, %3135
  br label %3195

3195:                                             ; preds = %3194
  br label %3196

3196:                                             ; preds = %3195
  br label %3197

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

3204:                                             ; preds = %3197
  br label %3205

3205:                                             ; preds = %3204
  br label %3206

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

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

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

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

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

3253:                                             ; preds = %3252
  br label %3254

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

3255:                                             ; No predecessors!
  br label %3256

3256:                                             ; preds = %3255
  br label %3257

3257:                                             ; preds = %3256, %3197
  br label %3258

3258:                                             ; preds = %3257
  br label %3259

3259:                                             ; preds = %3258
  br label %3260

3260:                                             ; preds = %3259
  br label %3261

3261:                                             ; preds = %3260
  br label %3262

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

3265:                                             ; preds = %3262
  br label %3266

3266:                                             ; preds = %3265
  br label %3267

3267:                                             ; preds = %3266
  br label %3268

3268:                                             ; preds = %3267
  br label %3269

3269:                                             ; preds = %3268
  %3270 = load i32, ptr @test_count, align 4, !tbaa !5
  %3271 = add nsw i32 %3270, 1
  store i32 %3271, ptr @test_count, align 4, !tbaa !5
  %3272 = load ptr, ptr %63, align 8, !tbaa !9
  %3273 = getelementptr inbounds %struct.s2n_connection, ptr %3272, i32 0, i32 40
  %3274 = getelementptr inbounds %struct.s2n_stuffer, ptr %3273, i32 0, i32 2
  %3275 = load i32, ptr %3274, align 4, !tbaa !17
  %3276 = load ptr, ptr %63, align 8, !tbaa !9
  %3277 = getelementptr inbounds %struct.s2n_connection, ptr %3276, i32 0, i32 40
  %3278 = getelementptr inbounds %struct.s2n_stuffer, ptr %3277, i32 0, i32 1
  %3279 = load i32, ptr %3278, align 8, !tbaa !43
  %3280 = sub i32 %3275, %3279
  %3281 = icmp ne i32 %3280, 0
  br i1 %3281, label %3335, label %3282

3282:                                             ; preds = %3269
  br label %3283

3283:                                             ; preds = %3282
  br label %3284

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

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

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

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

3330:                                             ; preds = %3313, %3296
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #11
  br label %3331

3331:                                             ; preds = %3330
  br label %3332

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

3333:                                             ; No predecessors!
  br label %3334

3334:                                             ; preds = %3333
  br label %3335

3335:                                             ; preds = %3334, %3269
  br label %3336

3336:                                             ; preds = %3335
  br label %3337

3337:                                             ; preds = %3336
  br label %3338

3338:                                             ; preds = %3337
  %3339 = load i32, ptr @test_count, align 4, !tbaa !5
  %3340 = add nsw i32 %3339, 1
  store i32 %3340, ptr @test_count, align 4, !tbaa !5
  %3341 = load ptr, ptr %63, align 8, !tbaa !9
  %3342 = call i32 @s2n_peek(ptr noundef %3341)
  %3343 = icmp eq i32 %3342, 0
  br i1 %3343, label %3397, label %3344

3344:                                             ; preds = %3338
  br label %3345

3345:                                             ; preds = %3344
  br label %3346

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

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

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

3375:                                             ; preds = %3353, %3346
  %3376 = load i32, ptr %80, align 4, !tbaa !5
  %3377 = call ptr @__errno_location() #12
  store i32 %3376, ptr %3377, align 4, !tbaa !5
  %3378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3379 = load i32, ptr @test_count, align 4, !tbaa !5
  %3380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3381 = load i32, ptr %3380, align 4, !tbaa !5
  %3382 = call ptr @s2n_strerror(i32 noundef %3381, ptr noundef @.str.3)
  %3383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3384 = load i32, ptr %3383, align 4, !tbaa !5
  %3385 = call ptr @s2n_strerror_debug(i32 noundef %3384, ptr noundef @.str.3)
  %3386 = call ptr @__errno_location() #12
  %3387 = load i32, ptr %3386, align 4, !tbaa !5
  %3388 = call ptr @strerror(i32 noundef %3387) #11
  %3389 = call ptr @__errno_location() #12
  %3390 = load i32, ptr %3389, align 4, !tbaa !5
  %3391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3378, ptr noundef @.str.4, i32 noundef %3379, ptr noundef @.str.25, ptr noundef @.str.2, i32 noundef 191, ptr noundef %3382, ptr noundef %3385, ptr noundef %3388, i32 noundef %3390) #11
  br label %3392

3392:                                             ; preds = %3375, %3358
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #11
  br label %3393

3393:                                             ; preds = %3392
  br label %3394

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

3395:                                             ; No predecessors!
  br label %3396

3396:                                             ; preds = %3395
  br label %3397

3397:                                             ; preds = %3396, %3338
  br label %3398

3398:                                             ; preds = %3397
  br label %3399

3399:                                             ; preds = %3398
  call void @llvm.lifetime.end.p0(i64 1, ptr %75) #11
  %3400 = call i32 @s2n_stuffer_free(ptr noundef %66)
  call void @llvm.lifetime.end.p0(i64 40, ptr %66) #11
  %3401 = call i32 @s2n_stuffer_free(ptr noundef %65)
  call void @llvm.lifetime.end.p0(i64 40, ptr %65) #11
  %3402 = call i32 @s2n_connection_ptr_free(ptr noundef %63)
  %3403 = getelementptr inbounds %struct.s2n_result, ptr %81, i32 0, i32 0
  store i32 %3402, ptr %3403, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #11
  %3404 = call i32 @s2n_connection_ptr_free(ptr noundef %61)
  %3405 = getelementptr inbounds %struct.s2n_result, ptr %82, i32 0, i32 0
  store i32 %3404, ptr %3405, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #11
  br label %3406

3406:                                             ; preds = %3399, %2437
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %16) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %83) #11
  store ptr null, ptr %83, align 8, !tbaa !9
  br label %3407

3407:                                             ; preds = %3406
  %3408 = load i32, ptr @test_count, align 4, !tbaa !5
  %3409 = add nsw i32 %3408, 1
  store i32 %3409, ptr @test_count, align 4, !tbaa !5
  %3410 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %3410, ptr %83, align 8, !tbaa !9
  %3411 = icmp eq ptr %3410, null
  br i1 %3411, label %3412, label %3465

3412:                                             ; preds = %3407
  br label %3413

3413:                                             ; preds = %3412
  br label %3414

3414:                                             ; preds = %3413
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #11
  %3415 = call ptr @__errno_location() #12
  %3416 = load i32, ptr %3415, align 4, !tbaa !5
  store i32 %3416, ptr %84, align 4, !tbaa !5
  %3417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3418 = call i32 @s2n_print_stacktrace(ptr noundef %3417)
  %3419 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3420 = trunc i8 %3419 to i1
  br i1 %3420, label %3421, label %3443

3421:                                             ; preds = %3414
  %3422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3423 = call i32 @fileno(ptr noundef %3422) #11
  %3424 = call i32 @isatty(i32 noundef %3423) #11
  %3425 = icmp ne i32 %3424, 0
  br i1 %3425, label %3426, label %3443

3426:                                             ; preds = %3421
  %3427 = load i32, ptr %84, align 4, !tbaa !5
  %3428 = call ptr @__errno_location() #12
  store i32 %3427, ptr %3428, align 4, !tbaa !5
  %3429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3430 = load i32, ptr @test_count, align 4, !tbaa !5
  %3431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3432 = load i32, ptr %3431, align 4, !tbaa !5
  %3433 = call ptr @s2n_strerror(i32 noundef %3432, ptr noundef @.str.3)
  %3434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3435 = load i32, ptr %3434, align 4, !tbaa !5
  %3436 = call ptr @s2n_strerror_debug(i32 noundef %3435, ptr noundef @.str.3)
  %3437 = call ptr @__errno_location() #12
  %3438 = load i32, ptr %3437, align 4, !tbaa !5
  %3439 = call ptr @strerror(i32 noundef %3438) #11
  %3440 = call ptr @__errno_location() #12
  %3441 = load i32, ptr %3440, align 4, !tbaa !5
  %3442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3429, ptr noundef @.str, i32 noundef %3430, ptr noundef @.str.40, ptr noundef @.str.2, i32 noundef 199, ptr noundef %3433, ptr noundef %3436, ptr noundef %3439, i32 noundef %3441) #11
  br label %3460

3443:                                             ; preds = %3421, %3414
  %3444 = load i32, ptr %84, align 4, !tbaa !5
  %3445 = call ptr @__errno_location() #12
  store i32 %3444, ptr %3445, align 4, !tbaa !5
  %3446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3447 = load i32, ptr @test_count, align 4, !tbaa !5
  %3448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3449 = load i32, ptr %3448, align 4, !tbaa !5
  %3450 = call ptr @s2n_strerror(i32 noundef %3449, ptr noundef @.str.3)
  %3451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3452 = load i32, ptr %3451, align 4, !tbaa !5
  %3453 = call ptr @s2n_strerror_debug(i32 noundef %3452, ptr noundef @.str.3)
  %3454 = call ptr @__errno_location() #12
  %3455 = load i32, ptr %3454, align 4, !tbaa !5
  %3456 = call ptr @strerror(i32 noundef %3455) #11
  %3457 = call ptr @__errno_location() #12
  %3458 = load i32, ptr %3457, align 4, !tbaa !5
  %3459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3446, ptr noundef @.str.4, i32 noundef %3447, ptr noundef @.str.40, ptr noundef @.str.2, i32 noundef 199, ptr noundef %3450, ptr noundef %3453, ptr noundef %3456, i32 noundef %3458) #11
  br label %3460

3460:                                             ; preds = %3443, %3426
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #11
  br label %3461

3461:                                             ; preds = %3460
  br label %3462

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

3463:                                             ; No predecessors!
  br label %3464

3464:                                             ; preds = %3463
  br label %3465

3465:                                             ; preds = %3464, %3407
  br label %3466

3466:                                             ; preds = %3465
  br label %3467

3467:                                             ; preds = %3466
  br label %3468

3468:                                             ; preds = %3467
  %3469 = load i32, ptr @test_count, align 4, !tbaa !5
  %3470 = add nsw i32 %3469, 1
  store i32 %3470, ptr @test_count, align 4, !tbaa !5
  %3471 = load ptr, ptr %83, align 8, !tbaa !9
  %3472 = call i32 @s2n_connection_set_recv_cb(ptr noundef %3471, ptr noundef @s2n_expect_concurrent_error_recv_fn)
  %3473 = icmp eq i32 %3472, -1
  br i1 %3473, label %3474, label %3527

3474:                                             ; preds = %3468
  br label %3475

3475:                                             ; preds = %3474
  br label %3476

3476:                                             ; preds = %3475
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #11
  %3477 = call ptr @__errno_location() #12
  %3478 = load i32, ptr %3477, align 4, !tbaa !5
  store i32 %3478, ptr %85, align 4, !tbaa !5
  %3479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3480 = call i32 @s2n_print_stacktrace(ptr noundef %3479)
  %3481 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3482 = trunc i8 %3481 to i1
  br i1 %3482, label %3483, label %3505

3483:                                             ; preds = %3476
  %3484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3485 = call i32 @fileno(ptr noundef %3484) #11
  %3486 = call i32 @isatty(i32 noundef %3485) #11
  %3487 = icmp ne i32 %3486, 0
  br i1 %3487, label %3488, label %3505

3488:                                             ; preds = %3483
  %3489 = load i32, ptr %85, align 4, !tbaa !5
  %3490 = call ptr @__errno_location() #12
  store i32 %3489, ptr %3490, align 4, !tbaa !5
  %3491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3492 = load i32, ptr @test_count, align 4, !tbaa !5
  %3493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3494 = load i32, ptr %3493, align 4, !tbaa !5
  %3495 = call ptr @s2n_strerror(i32 noundef %3494, ptr noundef @.str.3)
  %3496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3497 = load i32, ptr %3496, align 4, !tbaa !5
  %3498 = call ptr @s2n_strerror_debug(i32 noundef %3497, ptr noundef @.str.3)
  %3499 = call ptr @__errno_location() #12
  %3500 = load i32, ptr %3499, align 4, !tbaa !5
  %3501 = call ptr @strerror(i32 noundef %3500) #11
  %3502 = call ptr @__errno_location() #12
  %3503 = load i32, ptr %3502, align 4, !tbaa !5
  %3504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3491, ptr noundef @.str, i32 noundef %3492, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 202, ptr noundef %3495, ptr noundef %3498, ptr noundef %3501, i32 noundef %3503) #11
  br label %3522

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

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

3523:                                             ; preds = %3522
  br label %3524

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

3525:                                             ; No predecessors!
  br label %3526

3526:                                             ; preds = %3525
  br label %3527

3527:                                             ; preds = %3526, %3468
  br label %3528

3528:                                             ; preds = %3527
  br label %3529

3529:                                             ; preds = %3528
  br label %3530

3530:                                             ; preds = %3529
  %3531 = load i32, ptr @test_count, align 4, !tbaa !5
  %3532 = add nsw i32 %3531, 1
  store i32 %3532, ptr @test_count, align 4, !tbaa !5
  %3533 = load ptr, ptr %83, align 8, !tbaa !9
  %3534 = load ptr, ptr %83, align 8, !tbaa !9
  %3535 = call i32 @s2n_connection_set_recv_ctx(ptr noundef %3533, ptr noundef %3534)
  %3536 = icmp eq i32 %3535, -1
  br i1 %3536, label %3537, label %3590

3537:                                             ; preds = %3530
  br label %3538

3538:                                             ; preds = %3537
  br label %3539

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

3546:                                             ; preds = %3539
  %3547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3548 = call i32 @fileno(ptr noundef %3547) #11
  %3549 = call i32 @isatty(i32 noundef %3548) #11
  %3550 = icmp ne i32 %3549, 0
  br i1 %3550, label %3551, label %3568

3551:                                             ; preds = %3546
  %3552 = load i32, ptr %86, align 4, !tbaa !5
  %3553 = call ptr @__errno_location() #12
  store i32 %3552, ptr %3553, align 4, !tbaa !5
  %3554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3555 = load i32, ptr @test_count, align 4, !tbaa !5
  %3556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3557 = load i32, ptr %3556, align 4, !tbaa !5
  %3558 = call ptr @s2n_strerror(i32 noundef %3557, ptr noundef @.str.3)
  %3559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3560 = load i32, ptr %3559, align 4, !tbaa !5
  %3561 = call ptr @s2n_strerror_debug(i32 noundef %3560, ptr noundef @.str.3)
  %3562 = call ptr @__errno_location() #12
  %3563 = load i32, ptr %3562, align 4, !tbaa !5
  %3564 = call ptr @strerror(i32 noundef %3563) #11
  %3565 = call ptr @__errno_location() #12
  %3566 = load i32, ptr %3565, align 4, !tbaa !5
  %3567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3554, ptr noundef @.str, i32 noundef %3555, ptr noundef @.str.42, ptr noundef @.str.2, i32 noundef 203, ptr noundef %3558, ptr noundef %3561, ptr noundef %3564, i32 noundef %3566) #11
  br label %3585

3568:                                             ; preds = %3546, %3539
  %3569 = load i32, ptr %86, align 4, !tbaa !5
  %3570 = call ptr @__errno_location() #12
  store i32 %3569, ptr %3570, align 4, !tbaa !5
  %3571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3572 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3574, ptr noundef @.str.3)
  %3576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3577 = load i32, ptr %3576, align 4, !tbaa !5
  %3578 = call ptr @s2n_strerror_debug(i32 noundef %3577, ptr noundef @.str.3)
  %3579 = call ptr @__errno_location() #12
  %3580 = load i32, ptr %3579, align 4, !tbaa !5
  %3581 = call ptr @strerror(i32 noundef %3580) #11
  %3582 = call ptr @__errno_location() #12
  %3583 = load i32, ptr %3582, align 4, !tbaa !5
  %3584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3571, ptr noundef @.str.4, i32 noundef %3572, ptr noundef @.str.42, ptr noundef @.str.2, i32 noundef 203, ptr noundef %3575, ptr noundef %3578, ptr noundef %3581, i32 noundef %3583) #11
  br label %3585

3585:                                             ; preds = %3568, %3551
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #11
  br label %3586

3586:                                             ; preds = %3585
  br label %3587

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

3588:                                             ; No predecessors!
  br label %3589

3589:                                             ; preds = %3588
  br label %3590

3590:                                             ; preds = %3589, %3530
  br label %3591

3591:                                             ; preds = %3590
  br label %3592

3592:                                             ; preds = %3591
  br label %3593

3593:                                             ; preds = %3592
  %3594 = load i32, ptr @test_count, align 4, !tbaa !5
  %3595 = add nsw i32 %3594, 1
  store i32 %3595, ptr @test_count, align 4, !tbaa !5
  %3596 = load ptr, ptr %83, align 8, !tbaa !9
  %3597 = call i32 @s2n_connection_set_blinding(ptr noundef %3596, i32 noundef 1)
  %3598 = icmp eq i32 %3597, -1
  br i1 %3598, label %3599, label %3652

3599:                                             ; preds = %3593
  br label %3600

3600:                                             ; preds = %3599
  br label %3601

3601:                                             ; preds = %3600
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #11
  %3602 = call ptr @__errno_location() #12
  %3603 = load i32, ptr %3602, align 4, !tbaa !5
  store i32 %3603, ptr %87, align 4, !tbaa !5
  %3604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3605 = call i32 @s2n_print_stacktrace(ptr noundef %3604)
  %3606 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3607 = trunc i8 %3606 to i1
  br i1 %3607, label %3608, label %3630

3608:                                             ; preds = %3601
  %3609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3610 = call i32 @fileno(ptr noundef %3609) #11
  %3611 = call i32 @isatty(i32 noundef %3610) #11
  %3612 = icmp ne i32 %3611, 0
  br i1 %3612, label %3613, label %3630

3613:                                             ; preds = %3608
  %3614 = load i32, ptr %87, align 4, !tbaa !5
  %3615 = call ptr @__errno_location() #12
  store i32 %3614, ptr %3615, align 4, !tbaa !5
  %3616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3617 = load i32, ptr @test_count, align 4, !tbaa !5
  %3618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3619 = load i32, ptr %3618, align 4, !tbaa !5
  %3620 = call ptr @s2n_strerror(i32 noundef %3619, ptr noundef @.str.3)
  %3621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3622 = load i32, ptr %3621, align 4, !tbaa !5
  %3623 = call ptr @s2n_strerror_debug(i32 noundef %3622, ptr noundef @.str.3)
  %3624 = call ptr @__errno_location() #12
  %3625 = load i32, ptr %3624, align 4, !tbaa !5
  %3626 = call ptr @strerror(i32 noundef %3625) #11
  %3627 = call ptr @__errno_location() #12
  %3628 = load i32, ptr %3627, align 4, !tbaa !5
  %3629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3616, ptr noundef @.str, i32 noundef %3617, ptr noundef @.str.43, ptr noundef @.str.2, i32 noundef 204, ptr noundef %3620, ptr noundef %3623, ptr noundef %3626, i32 noundef %3628) #11
  br label %3647

3630:                                             ; preds = %3608, %3601
  %3631 = load i32, ptr %87, align 4, !tbaa !5
  %3632 = call ptr @__errno_location() #12
  store i32 %3631, ptr %3632, align 4, !tbaa !5
  %3633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3634 = load i32, ptr @test_count, align 4, !tbaa !5
  %3635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3636 = load i32, ptr %3635, align 4, !tbaa !5
  %3637 = call ptr @s2n_strerror(i32 noundef %3636, ptr noundef @.str.3)
  %3638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3639 = load i32, ptr %3638, align 4, !tbaa !5
  %3640 = call ptr @s2n_strerror_debug(i32 noundef %3639, ptr noundef @.str.3)
  %3641 = call ptr @__errno_location() #12
  %3642 = load i32, ptr %3641, align 4, !tbaa !5
  %3643 = call ptr @strerror(i32 noundef %3642) #11
  %3644 = call ptr @__errno_location() #12
  %3645 = load i32, ptr %3644, align 4, !tbaa !5
  %3646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3633, ptr noundef @.str.4, i32 noundef %3634, ptr noundef @.str.43, ptr noundef @.str.2, i32 noundef 204, ptr noundef %3637, ptr noundef %3640, ptr noundef %3643, i32 noundef %3645) #11
  br label %3647

3647:                                             ; preds = %3630, %3613
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #11
  br label %3648

3648:                                             ; preds = %3647
  br label %3649

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

3650:                                             ; No predecessors!
  br label %3651

3651:                                             ; preds = %3650
  br label %3652

3652:                                             ; preds = %3651, %3593
  br label %3653

3653:                                             ; preds = %3652
  br label %3654

3654:                                             ; preds = %3653
  call void @llvm.lifetime.start.p0(i64 100, ptr %88) #11
  call void @llvm.memset.p0.i64(ptr align 16 %88, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %89) #11
  store i32 0, ptr %89, align 4, !tbaa !5
  store i8 0, ptr @s2n_custom_recv_fn_called, align 1, !tbaa !11
  br label %3655

3655:                                             ; preds = %3654
  br label %3656

3656:                                             ; preds = %3655
  br label %3657

3657:                                             ; preds = %3656
  %3658 = load i32, ptr @test_count, align 4, !tbaa !5
  %3659 = add nsw i32 %3658, 1
  store i32 %3659, ptr @test_count, align 4, !tbaa !5
  %3660 = load ptr, ptr %83, align 8, !tbaa !9
  %3661 = getelementptr inbounds [100 x i8], ptr %88, i64 0, i64 0
  %3662 = call i64 @s2n_recv(ptr noundef %3660, ptr noundef %3661, i64 noundef 100, ptr noundef %89)
  %3663 = icmp eq i64 %3662, -1
  br i1 %3663, label %3717, label %3664

3664:                                             ; preds = %3657
  br label %3665

3665:                                             ; preds = %3664
  br label %3666

3666:                                             ; preds = %3665
  call void @llvm.lifetime.start.p0(i64 4, ptr %90) #11
  %3667 = call ptr @__errno_location() #12
  %3668 = load i32, ptr %3667, align 4, !tbaa !5
  store i32 %3668, ptr %90, align 4, !tbaa !5
  %3669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3670 = call i32 @s2n_print_stacktrace(ptr noundef %3669)
  %3671 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3672 = trunc i8 %3671 to i1
  br i1 %3672, label %3673, label %3695

3673:                                             ; preds = %3666
  %3674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3675 = call i32 @fileno(ptr noundef %3674) #11
  %3676 = call i32 @isatty(i32 noundef %3675) #11
  %3677 = icmp ne i32 %3676, 0
  br i1 %3677, label %3678, label %3695

3678:                                             ; preds = %3673
  %3679 = load i32, ptr %90, align 4, !tbaa !5
  %3680 = call ptr @__errno_location() #12
  store i32 %3679, ptr %3680, align 4, !tbaa !5
  %3681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3682 = load i32, ptr @test_count, align 4, !tbaa !5
  %3683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3684 = load i32, ptr %3683, align 4, !tbaa !5
  %3685 = call ptr @s2n_strerror(i32 noundef %3684, ptr noundef @.str.3)
  %3686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3687 = load i32, ptr %3686, align 4, !tbaa !5
  %3688 = call ptr @s2n_strerror_debug(i32 noundef %3687, ptr noundef @.str.3)
  %3689 = call ptr @__errno_location() #12
  %3690 = load i32, ptr %3689, align 4, !tbaa !5
  %3691 = call ptr @strerror(i32 noundef %3690) #11
  %3692 = call ptr @__errno_location() #12
  %3693 = load i32, ptr %3692, align 4, !tbaa !5
  %3694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3681, ptr noundef @.str, i32 noundef %3682, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 210, ptr noundef %3685, ptr noundef %3688, ptr noundef %3691, i32 noundef %3693) #11
  br label %3712

3695:                                             ; preds = %3673, %3666
  %3696 = load i32, ptr %90, align 4, !tbaa !5
  %3697 = call ptr @__errno_location() #12
  store i32 %3696, ptr %3697, align 4, !tbaa !5
  %3698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3699 = load i32, ptr @test_count, align 4, !tbaa !5
  %3700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3701 = load i32, ptr %3700, align 4, !tbaa !5
  %3702 = call ptr @s2n_strerror(i32 noundef %3701, ptr noundef @.str.3)
  %3703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3704 = load i32, ptr %3703, align 4, !tbaa !5
  %3705 = call ptr @s2n_strerror_debug(i32 noundef %3704, ptr noundef @.str.3)
  %3706 = call ptr @__errno_location() #12
  %3707 = load i32, ptr %3706, align 4, !tbaa !5
  %3708 = call ptr @strerror(i32 noundef %3707) #11
  %3709 = call ptr @__errno_location() #12
  %3710 = load i32, ptr %3709, align 4, !tbaa !5
  %3711 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3698, ptr noundef @.str.4, i32 noundef %3699, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 210, ptr noundef %3702, ptr noundef %3705, ptr noundef %3708, i32 noundef %3710) #11
  br label %3712

3712:                                             ; preds = %3695, %3678
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #11
  br label %3713

3713:                                             ; preds = %3712
  br label %3714

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

3715:                                             ; No predecessors!
  br label %3716

3716:                                             ; preds = %3715
  br label %3717

3717:                                             ; preds = %3716, %3657
  br label %3718

3718:                                             ; preds = %3717
  br label %3719

3719:                                             ; preds = %3718
  br label %3720

3720:                                             ; preds = %3719
  %3721 = load i32, ptr @test_count, align 4, !tbaa !5
  %3722 = add nsw i32 %3721, 1
  store i32 %3722, ptr @test_count, align 4, !tbaa !5
  %3723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3724 = load i32, ptr %3723, align 4, !tbaa !5
  %3725 = icmp eq i32 %3724, 67108864
  br i1 %3725, label %3779, label %3726

3726:                                             ; preds = %3720
  br label %3727

3727:                                             ; preds = %3726
  br label %3728

3728:                                             ; preds = %3727
  call void @llvm.lifetime.start.p0(i64 4, ptr %91) #11
  %3729 = call ptr @__errno_location() #12
  %3730 = load i32, ptr %3729, align 4, !tbaa !5
  store i32 %3730, ptr %91, align 4, !tbaa !5
  %3731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3732 = call i32 @s2n_print_stacktrace(ptr noundef %3731)
  %3733 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3734 = trunc i8 %3733 to i1
  br i1 %3734, label %3735, label %3757

3735:                                             ; preds = %3728
  %3736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3737 = call i32 @fileno(ptr noundef %3736) #11
  %3738 = call i32 @isatty(i32 noundef %3737) #11
  %3739 = icmp ne i32 %3738, 0
  br i1 %3739, label %3740, label %3757

3740:                                             ; preds = %3735
  %3741 = load i32, ptr %91, align 4, !tbaa !5
  %3742 = call ptr @__errno_location() #12
  store i32 %3741, ptr %3742, align 4, !tbaa !5
  %3743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3744 = load i32, ptr @test_count, align 4, !tbaa !5
  %3745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3746 = load i32, ptr %3745, align 4, !tbaa !5
  %3747 = call ptr @s2n_strerror(i32 noundef %3746, ptr noundef @.str.3)
  %3748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3749 = load i32, ptr %3748, align 4, !tbaa !5
  %3750 = call ptr @s2n_strerror_debug(i32 noundef %3749, ptr noundef @.str.3)
  %3751 = call ptr @__errno_location() #12
  %3752 = load i32, ptr %3751, align 4, !tbaa !5
  %3753 = call ptr @strerror(i32 noundef %3752) #11
  %3754 = call ptr @__errno_location() #12
  %3755 = load i32, ptr %3754, align 4, !tbaa !5
  %3756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3743, ptr noundef @.str, i32 noundef %3744, ptr noundef @.str.45, ptr noundef @.str.2, i32 noundef 210, ptr noundef %3747, ptr noundef %3750, ptr noundef %3753, i32 noundef %3755) #11
  br label %3774

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

3774:                                             ; preds = %3757, %3740
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #11
  br label %3775

3775:                                             ; preds = %3774
  br label %3776

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

3777:                                             ; No predecessors!
  br label %3778

3778:                                             ; preds = %3777
  br label %3779

3779:                                             ; preds = %3778, %3720
  br label %3780

3780:                                             ; preds = %3779
  br label %3781

3781:                                             ; preds = %3780
  br label %3782

3782:                                             ; preds = %3781
  %3783 = load i32, ptr @test_count, align 4, !tbaa !5
  %3784 = add nsw i32 %3783, 1
  store i32 %3784, ptr @test_count, align 4, !tbaa !5
  %3785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3786 = load i32, ptr %3785, align 4, !tbaa !5
  %3787 = call ptr @s2n_strerror_debug(i32 noundef %3786, ptr noundef @.str.3)
  %3788 = icmp eq ptr %3787, null
  br i1 %3788, label %3789, label %3842

3789:                                             ; preds = %3782
  br label %3790

3790:                                             ; preds = %3789
  br label %3791

3791:                                             ; preds = %3790
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #11
  %3792 = call ptr @__errno_location() #12
  %3793 = load i32, ptr %3792, align 4, !tbaa !5
  store i32 %3793, ptr %92, align 4, !tbaa !5
  %3794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3795 = call i32 @s2n_print_stacktrace(ptr noundef %3794)
  %3796 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3797 = trunc i8 %3796 to i1
  br i1 %3797, label %3798, label %3820

3798:                                             ; preds = %3791
  %3799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3800 = call i32 @fileno(ptr noundef %3799) #11
  %3801 = call i32 @isatty(i32 noundef %3800) #11
  %3802 = icmp ne i32 %3801, 0
  br i1 %3802, label %3803, label %3820

3803:                                             ; preds = %3798
  %3804 = load i32, ptr %92, align 4, !tbaa !5
  %3805 = call ptr @__errno_location() #12
  store i32 %3804, ptr %3805, align 4, !tbaa !5
  %3806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3807 = load i32, ptr @test_count, align 4, !tbaa !5
  %3808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3809 = load i32, ptr %3808, align 4, !tbaa !5
  %3810 = call ptr @s2n_strerror(i32 noundef %3809, ptr noundef @.str.3)
  %3811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3812 = load i32, ptr %3811, align 4, !tbaa !5
  %3813 = call ptr @s2n_strerror_debug(i32 noundef %3812, ptr noundef @.str.3)
  %3814 = call ptr @__errno_location() #12
  %3815 = load i32, ptr %3814, align 4, !tbaa !5
  %3816 = call ptr @strerror(i32 noundef %3815) #11
  %3817 = call ptr @__errno_location() #12
  %3818 = load i32, ptr %3817, align 4, !tbaa !5
  %3819 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3806, ptr noundef @.str, i32 noundef %3807, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 210, ptr noundef %3810, ptr noundef %3813, ptr noundef %3816, i32 noundef %3818) #11
  br label %3837

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

3837:                                             ; preds = %3820, %3803
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #11
  br label %3838

3838:                                             ; preds = %3837
  br label %3839

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

3840:                                             ; No predecessors!
  br label %3841

3841:                                             ; preds = %3840
  br label %3842

3842:                                             ; preds = %3841, %3782
  br label %3843

3843:                                             ; preds = %3842
  br label %3844

3844:                                             ; preds = %3843
  br label %3845

3845:                                             ; preds = %3844
  br label %3846

3846:                                             ; preds = %3845
  br label %3847

3847:                                             ; preds = %3846
  %3848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3848, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3849 = call ptr @__errno_location() #12
  store i32 0, ptr %3849, align 4, !tbaa !5
  br label %3850

3850:                                             ; preds = %3847
  br label %3851

3851:                                             ; preds = %3850
  br label %3852

3852:                                             ; preds = %3851
  br label %3853

3853:                                             ; preds = %3852
  br label %3854

3854:                                             ; preds = %3853
  %3855 = load i32, ptr @test_count, align 4, !tbaa !5
  %3856 = add nsw i32 %3855, 1
  store i32 %3856, ptr @test_count, align 4, !tbaa !5
  %3857 = load i8, ptr @s2n_custom_recv_fn_called, align 1, !tbaa !11, !range !13, !noundef !14
  %3858 = trunc i8 %3857 to i1
  br i1 %3858, label %3912, label %3859

3859:                                             ; preds = %3854
  br label %3860

3860:                                             ; preds = %3859
  br label %3861

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

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

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

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

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

3908:                                             ; preds = %3907
  br label %3909

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

3910:                                             ; No predecessors!
  br label %3911

3911:                                             ; preds = %3910
  br label %3912

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

3913:                                             ; preds = %3912
  br label %3914

3914:                                             ; preds = %3913
  br label %3915

3915:                                             ; preds = %3914
  %3916 = load i32, ptr @test_count, align 4, !tbaa !5
  %3917 = add nsw i32 %3916, 1
  store i32 %3917, ptr @test_count, align 4, !tbaa !5
  %3918 = load ptr, ptr %83, align 8, !tbaa !9
  %3919 = call i32 @s2n_connection_free(ptr noundef %3918)
  %3920 = icmp eq i32 %3919, -1
  br i1 %3920, label %3921, label %3974

3921:                                             ; preds = %3915
  br label %3922

3922:                                             ; preds = %3921
  br label %3923

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

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

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

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

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

3970:                                             ; preds = %3969
  br label %3971

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

3972:                                             ; No predecessors!
  br label %3973

3973:                                             ; preds = %3972
  br label %3974

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

3975:                                             ; preds = %3974
  br label %3976

3976:                                             ; preds = %3975
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %88) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr %95) #11
  store i8 100, ptr %95, align 1, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 24, ptr %96) #11
  call void @llvm.memset.p0.i64(ptr align 8 %96, i8 0, i64 24, i1 false)
  br label %3977

3977:                                             ; preds = %3976
  %3978 = load i32, ptr @test_count, align 4, !tbaa !5
  %3979 = add nsw i32 %3978, 1
  store i32 %3979, ptr @test_count, align 4, !tbaa !5
  %3980 = call i32 @s2n_alloc(ptr noundef %96, i32 noundef 100)
  %3981 = icmp eq i32 %3980, -1
  br i1 %3981, label %3982, label %4035

3982:                                             ; preds = %3977
  br label %3983

3983:                                             ; preds = %3982
  br label %3984

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

3991:                                             ; preds = %3984
  %3992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3993 = call i32 @fileno(ptr noundef %3992) #11
  %3994 = call i32 @isatty(i32 noundef %3993) #11
  %3995 = icmp ne i32 %3994, 0
  br i1 %3995, label %3996, label %4013

3996:                                             ; preds = %3991
  %3997 = load i32, ptr %97, align 4, !tbaa !5
  %3998 = call ptr @__errno_location() #12
  store i32 %3997, ptr %3998, align 4, !tbaa !5
  %3999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4000 = load i32, ptr @test_count, align 4, !tbaa !5
  %4001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4002 = load i32, ptr %4001, align 4, !tbaa !5
  %4003 = call ptr @s2n_strerror(i32 noundef %4002, ptr noundef @.str.3)
  %4004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4005 = load i32, ptr %4004, align 4, !tbaa !5
  %4006 = call ptr @s2n_strerror_debug(i32 noundef %4005, ptr noundef @.str.3)
  %4007 = call ptr @__errno_location() #12
  %4008 = load i32, ptr %4007, align 4, !tbaa !5
  %4009 = call ptr @strerror(i32 noundef %4008) #11
  %4010 = call ptr @__errno_location() #12
  %4011 = load i32, ptr %4010, align 4, !tbaa !5
  %4012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3999, ptr noundef @.str, i32 noundef %4000, ptr noundef @.str.48, ptr noundef @.str.2, i32 noundef 221, ptr noundef %4003, ptr noundef %4006, ptr noundef %4009, i32 noundef %4011) #11
  br label %4030

4013:                                             ; preds = %3991, %3984
  %4014 = load i32, ptr %97, align 4, !tbaa !5
  %4015 = call ptr @__errno_location() #12
  store i32 %4014, ptr %4015, align 4, !tbaa !5
  %4016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4017 = load i32, ptr @test_count, align 4, !tbaa !5
  %4018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4019 = load i32, ptr %4018, align 4, !tbaa !5
  %4020 = call ptr @s2n_strerror(i32 noundef %4019, ptr noundef @.str.3)
  %4021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4022 = load i32, ptr %4021, align 4, !tbaa !5
  %4023 = call ptr @s2n_strerror_debug(i32 noundef %4022, ptr noundef @.str.3)
  %4024 = call ptr @__errno_location() #12
  %4025 = load i32, ptr %4024, align 4, !tbaa !5
  %4026 = call ptr @strerror(i32 noundef %4025) #11
  %4027 = call ptr @__errno_location() #12
  %4028 = load i32, ptr %4027, align 4, !tbaa !5
  %4029 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4016, ptr noundef @.str.4, i32 noundef %4017, ptr noundef @.str.48, ptr noundef @.str.2, i32 noundef 221, ptr noundef %4020, ptr noundef %4023, ptr noundef %4026, i32 noundef %4028) #11
  br label %4030

4030:                                             ; preds = %4013, %3996
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #11
  br label %4031

4031:                                             ; preds = %4030
  br label %4032

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

4033:                                             ; No predecessors!
  br label %4034

4034:                                             ; preds = %4033
  br label %4035

4035:                                             ; preds = %4034, %3977
  br label %4036

4036:                                             ; preds = %4035
  br label %4037

4037:                                             ; preds = %4036
  call void @llvm.lifetime.start.p0(i64 8, ptr %98) #11
  store i64 200, ptr %98, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 24, ptr %99) #11
  call void @llvm.memset.p0.i64(ptr align 8 %99, i8 0, i64 24, i1 false)
  br label %4038

4038:                                             ; preds = %4037
  %4039 = load i32, ptr @test_count, align 4, !tbaa !5
  %4040 = add nsw i32 %4039, 1
  store i32 %4040, ptr @test_count, align 4, !tbaa !5
  %4041 = call i32 @s2n_alloc(ptr noundef %99, i32 noundef 200)
  %4042 = icmp eq i32 %4041, -1
  br i1 %4042, label %4043, label %4096

4043:                                             ; preds = %4038
  br label %4044

4044:                                             ; preds = %4043
  br label %4045

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

4052:                                             ; preds = %4045
  %4053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4054 = call i32 @fileno(ptr noundef %4053) #11
  %4055 = call i32 @isatty(i32 noundef %4054) #11
  %4056 = icmp ne i32 %4055, 0
  br i1 %4056, label %4057, label %4074

4057:                                             ; preds = %4052
  %4058 = load i32, ptr %100, align 4, !tbaa !5
  %4059 = call ptr @__errno_location() #12
  store i32 %4058, ptr %4059, align 4, !tbaa !5
  %4060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4061 = load i32, ptr @test_count, align 4, !tbaa !5
  %4062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4063 = load i32, ptr %4062, align 4, !tbaa !5
  %4064 = call ptr @s2n_strerror(i32 noundef %4063, ptr noundef @.str.3)
  %4065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4066 = load i32, ptr %4065, align 4, !tbaa !5
  %4067 = call ptr @s2n_strerror_debug(i32 noundef %4066, ptr noundef @.str.3)
  %4068 = call ptr @__errno_location() #12
  %4069 = load i32, ptr %4068, align 4, !tbaa !5
  %4070 = call ptr @strerror(i32 noundef %4069) #11
  %4071 = call ptr @__errno_location() #12
  %4072 = load i32, ptr %4071, align 4, !tbaa !5
  %4073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4060, ptr noundef @.str, i32 noundef %4061, ptr noundef @.str.49, ptr noundef @.str.2, i32 noundef 225, ptr noundef %4064, ptr noundef %4067, ptr noundef %4070, i32 noundef %4072) #11
  br label %4091

4074:                                             ; preds = %4052, %4045
  %4075 = load i32, ptr %100, align 4, !tbaa !5
  %4076 = call ptr @__errno_location() #12
  store i32 %4075, ptr %4076, align 4, !tbaa !5
  %4077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4078 = load i32, ptr @test_count, align 4, !tbaa !5
  %4079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4080 = load i32, ptr %4079, align 4, !tbaa !5
  %4081 = call ptr @s2n_strerror(i32 noundef %4080, ptr noundef @.str.3)
  %4082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4083 = load i32, ptr %4082, align 4, !tbaa !5
  %4084 = call ptr @s2n_strerror_debug(i32 noundef %4083, ptr noundef @.str.3)
  %4085 = call ptr @__errno_location() #12
  %4086 = load i32, ptr %4085, align 4, !tbaa !5
  %4087 = call ptr @strerror(i32 noundef %4086) #11
  %4088 = call ptr @__errno_location() #12
  %4089 = load i32, ptr %4088, align 4, !tbaa !5
  %4090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4077, ptr noundef @.str.4, i32 noundef %4078, ptr noundef @.str.49, ptr noundef @.str.2, i32 noundef 225, ptr noundef %4081, ptr noundef %4084, ptr noundef %4087, i32 noundef %4089) #11
  br label %4091

4091:                                             ; preds = %4074, %4057
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #11
  br label %4092

4092:                                             ; preds = %4091
  br label %4093

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

4094:                                             ; No predecessors!
  br label %4095

4095:                                             ; preds = %4094
  br label %4096

4096:                                             ; preds = %4095, %4038
  br label %4097

4097:                                             ; preds = %4096
  br label %4098

4098:                                             ; preds = %4097
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #11
  store i32 0, ptr %101, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %102) #11
  %4099 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %4099, ptr %102, align 8, !tbaa !9
  br label %4100

4100:                                             ; preds = %4098
  %4101 = load i32, ptr @test_count, align 4, !tbaa !5
  %4102 = add nsw i32 %4101, 1
  store i32 %4102, ptr @test_count, align 4, !tbaa !5
  %4103 = load ptr, ptr %102, align 8, !tbaa !9
  %4104 = load ptr, ptr %11, align 8, !tbaa !9
  %4105 = call i32 @s2n_connection_set_config(ptr noundef %4103, ptr noundef %4104)
  %4106 = icmp eq i32 %4105, -1
  br i1 %4106, label %4107, label %4160

4107:                                             ; preds = %4100
  br label %4108

4108:                                             ; preds = %4107
  br label %4109

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

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

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

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

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

4156:                                             ; preds = %4155
  br label %4157

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

4158:                                             ; No predecessors!
  br label %4159

4159:                                             ; preds = %4158
  br label %4160

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

4161:                                             ; preds = %4160
  br label %4162

4162:                                             ; preds = %4161
  call void @llvm.lifetime.start.p0(i64 8, ptr %104) #11
  %4163 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %4163, ptr %104, align 8, !tbaa !9
  br label %4164

4164:                                             ; preds = %4162
  %4165 = load i32, ptr @test_count, align 4, !tbaa !5
  %4166 = add nsw i32 %4165, 1
  store i32 %4166, ptr @test_count, align 4, !tbaa !5
  %4167 = load ptr, ptr %104, align 8, !tbaa !9
  %4168 = load ptr, ptr %11, align 8, !tbaa !9
  %4169 = call i32 @s2n_connection_set_config(ptr noundef %4167, ptr noundef %4168)
  %4170 = icmp eq i32 %4169, -1
  br i1 %4170, label %4171, label %4224

4171:                                             ; preds = %4164
  br label %4172

4172:                                             ; preds = %4171
  br label %4173

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

4180:                                             ; preds = %4173
  %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
  %4184 = icmp ne i32 %4183, 0
  br i1 %4184, label %4185, label %4202

4185:                                             ; preds = %4180
  %4186 = load i32, ptr %105, align 4, !tbaa !5
  %4187 = call ptr @__errno_location() #12
  store i32 %4186, ptr %4187, align 4, !tbaa !5
  %4188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4189 = load i32, ptr @test_count, align 4, !tbaa !5
  %4190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4191 = load i32, ptr %4190, align 4, !tbaa !5
  %4192 = call ptr @s2n_strerror(i32 noundef %4191, ptr noundef @.str.3)
  %4193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4194 = load i32, ptr %4193, align 4, !tbaa !5
  %4195 = call ptr @s2n_strerror_debug(i32 noundef %4194, ptr noundef @.str.3)
  %4196 = call ptr @__errno_location() #12
  %4197 = load i32, ptr %4196, align 4, !tbaa !5
  %4198 = call ptr @strerror(i32 noundef %4197) #11
  %4199 = call ptr @__errno_location() #12
  %4200 = load i32, ptr %4199, align 4, !tbaa !5
  %4201 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4188, ptr noundef @.str, i32 noundef %4189, ptr noundef @.str.20, ptr noundef @.str.2, i32 noundef 235, ptr noundef %4192, ptr noundef %4195, ptr noundef %4198, i32 noundef %4200) #11
  br label %4219

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

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

4220:                                             ; preds = %4219
  br label %4221

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

4222:                                             ; No predecessors!
  br label %4223

4223:                                             ; preds = %4222
  br label %4224

4224:                                             ; preds = %4223, %4164
  br label %4225

4225:                                             ; preds = %4224
  br label %4226

4226:                                             ; preds = %4225
  call void @llvm.lifetime.start.p0(i64 8, ptr %106) #11
  call void @llvm.memset.p0.i64(ptr align 4 %106, i8 0, i64 8, i1 false)
  br label %4227

4227:                                             ; preds = %4226
  %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 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %106)
  %4231 = icmp eq i32 %4230, -1
  br i1 %4231, label %4232, label %4285

4232:                                             ; preds = %4227
  br label %4233

4233:                                             ; preds = %4232
  br label %4234

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

4241:                                             ; preds = %4234
  %4242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4243 = call i32 @fileno(ptr noundef %4242) #11
  %4244 = call i32 @isatty(i32 noundef %4243) #11
  %4245 = icmp ne i32 %4244, 0
  br i1 %4245, label %4246, label %4263

4246:                                             ; preds = %4241
  %4247 = load i32, ptr %107, align 4, !tbaa !5
  %4248 = call ptr @__errno_location() #12
  store i32 %4247, ptr %4248, align 4, !tbaa !5
  %4249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4250 = load i32, ptr @test_count, align 4, !tbaa !5
  %4251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4252 = load i32, ptr %4251, align 4, !tbaa !5
  %4253 = call ptr @s2n_strerror(i32 noundef %4252, ptr noundef @.str.3)
  %4254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4255 = load i32, ptr %4254, align 4, !tbaa !5
  %4256 = call ptr @s2n_strerror_debug(i32 noundef %4255, ptr noundef @.str.3)
  %4257 = call ptr @__errno_location() #12
  %4258 = load i32, ptr %4257, align 4, !tbaa !5
  %4259 = call ptr @strerror(i32 noundef %4258) #11
  %4260 = call ptr @__errno_location() #12
  %4261 = load i32, ptr %4260, align 4, !tbaa !5
  %4262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4249, ptr noundef @.str, i32 noundef %4250, ptr noundef @.str.21, ptr noundef @.str.2, i32 noundef 238, ptr noundef %4253, ptr noundef %4256, ptr noundef %4259, i32 noundef %4261) #11
  br label %4280

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

4280:                                             ; preds = %4263, %4246
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #11
  br label %4281

4281:                                             ; preds = %4280
  br label %4282

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

4283:                                             ; No predecessors!
  br label %4284

4284:                                             ; preds = %4283
  br label %4285

4285:                                             ; preds = %4284, %4227
  br label %4286

4286:                                             ; preds = %4285
  br label %4287

4287:                                             ; preds = %4286
  br label %4288

4288:                                             ; preds = %4287
  %4289 = load i32, ptr @test_count, align 4, !tbaa !5
  %4290 = add nsw i32 %4289, 1
  store i32 %4290, ptr @test_count, align 4, !tbaa !5
  %4291 = load ptr, ptr %102, align 8, !tbaa !9
  %4292 = load ptr, ptr %104, align 8, !tbaa !9
  %4293 = call i32 @s2n_connections_set_io_pair(ptr noundef %4291, ptr noundef %4292, ptr noundef %106)
  %4294 = icmp eq i32 %4293, -1
  br i1 %4294, label %4295, label %4348

4295:                                             ; preds = %4288
  br label %4296

4296:                                             ; preds = %4295
  br label %4297

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

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

4309:                                             ; preds = %4304
  %4310 = load i32, ptr %108, align 4, !tbaa !5
  %4311 = call ptr @__errno_location() #12
  store i32 %4310, ptr %4311, align 4, !tbaa !5
  %4312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4313 = load i32, ptr @test_count, align 4, !tbaa !5
  %4314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4315 = load i32, ptr %4314, align 4, !tbaa !5
  %4316 = call ptr @s2n_strerror(i32 noundef %4315, ptr noundef @.str.3)
  %4317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4318 = load i32, ptr %4317, align 4, !tbaa !5
  %4319 = call ptr @s2n_strerror_debug(i32 noundef %4318, ptr noundef @.str.3)
  %4320 = call ptr @__errno_location() #12
  %4321 = load i32, ptr %4320, align 4, !tbaa !5
  %4322 = call ptr @strerror(i32 noundef %4321) #11
  %4323 = call ptr @__errno_location() #12
  %4324 = load i32, ptr %4323, align 4, !tbaa !5
  %4325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4312, ptr noundef @.str, i32 noundef %4313, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 239, ptr noundef %4316, ptr noundef %4319, ptr noundef %4322, i32 noundef %4324) #11
  br label %4343

4326:                                             ; preds = %4304, %4297
  %4327 = load i32, ptr %108, align 4, !tbaa !5
  %4328 = call ptr @__errno_location() #12
  store i32 %4327, ptr %4328, align 4, !tbaa !5
  %4329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4330 = load i32, ptr @test_count, align 4, !tbaa !5
  %4331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4332 = load i32, ptr %4331, align 4, !tbaa !5
  %4333 = call ptr @s2n_strerror(i32 noundef %4332, ptr noundef @.str.3)
  %4334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4335 = load i32, ptr %4334, align 4, !tbaa !5
  %4336 = call ptr @s2n_strerror_debug(i32 noundef %4335, ptr noundef @.str.3)
  %4337 = call ptr @__errno_location() #12
  %4338 = load i32, ptr %4337, align 4, !tbaa !5
  %4339 = call ptr @strerror(i32 noundef %4338) #11
  %4340 = call ptr @__errno_location() #12
  %4341 = load i32, ptr %4340, align 4, !tbaa !5
  %4342 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4329, ptr noundef @.str.4, i32 noundef %4330, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 239, ptr noundef %4333, ptr noundef %4336, ptr noundef %4339, i32 noundef %4341) #11
  br label %4343

4343:                                             ; preds = %4326, %4309
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #11
  br label %4344

4344:                                             ; preds = %4343
  br label %4345

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

4346:                                             ; No predecessors!
  br label %4347

4347:                                             ; preds = %4346
  br label %4348

4348:                                             ; preds = %4347, %4288
  br label %4349

4349:                                             ; preds = %4348
  br label %4350

4350:                                             ; preds = %4349
  br label %4351

4351:                                             ; preds = %4350
  %4352 = load i32, ptr @test_count, align 4, !tbaa !5
  %4353 = add nsw i32 %4352, 1
  store i32 %4353, ptr @test_count, align 4, !tbaa !5
  %4354 = load ptr, ptr %104, align 8, !tbaa !9
  %4355 = load ptr, ptr %102, align 8, !tbaa !9
  %4356 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %4354, ptr noundef %4355)
  %4357 = icmp eq i32 %4356, -1
  br i1 %4357, label %4358, label %4411

4358:                                             ; preds = %4351
  br label %4359

4359:                                             ; preds = %4358
  br label %4360

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

4367:                                             ; preds = %4360
  %4368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4369 = call i32 @fileno(ptr noundef %4368) #11
  %4370 = call i32 @isatty(i32 noundef %4369) #11
  %4371 = icmp ne i32 %4370, 0
  br i1 %4371, label %4372, label %4389

4372:                                             ; preds = %4367
  %4373 = load i32, ptr %109, align 4, !tbaa !5
  %4374 = call ptr @__errno_location() #12
  store i32 %4373, ptr %4374, align 4, !tbaa !5
  %4375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4376 = load i32, ptr @test_count, align 4, !tbaa !5
  %4377 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4378 = load i32, ptr %4377, align 4, !tbaa !5
  %4379 = call ptr @s2n_strerror(i32 noundef %4378, ptr noundef @.str.3)
  %4380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4381 = load i32, ptr %4380, align 4, !tbaa !5
  %4382 = call ptr @s2n_strerror_debug(i32 noundef %4381, ptr noundef @.str.3)
  %4383 = call ptr @__errno_location() #12
  %4384 = load i32, ptr %4383, align 4, !tbaa !5
  %4385 = call ptr @strerror(i32 noundef %4384) #11
  %4386 = call ptr @__errno_location() #12
  %4387 = load i32, ptr %4386, align 4, !tbaa !5
  %4388 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4375, ptr noundef @.str, i32 noundef %4376, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 240, ptr noundef %4379, ptr noundef %4382, ptr noundef %4385, i32 noundef %4387) #11
  br label %4406

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

4406:                                             ; preds = %4389, %4372
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #11
  br label %4407

4407:                                             ; preds = %4406
  br label %4408

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

4409:                                             ; No predecessors!
  br label %4410

4410:                                             ; preds = %4409
  br label %4411

4411:                                             ; preds = %4410, %4351
  br label %4412

4412:                                             ; preds = %4411
  br label %4413

4413:                                             ; preds = %4412
  call void @llvm.lifetime.start.p0(i64 8, ptr %110) #11
  store i64 0, ptr %110, align 8, !tbaa !15
  br label %4414

4414:                                             ; preds = %4489, %4413
  %4415 = load i64, ptr %110, align 8, !tbaa !15
  %4416 = icmp ult i64 %4415, 3
  br i1 %4416, label %4418, label %4417

4417:                                             ; preds = %4414
  call void @llvm.lifetime.end.p0(i64 8, ptr %110) #11
  br label %4492

4418:                                             ; preds = %4414
  br label %4419

4419:                                             ; preds = %4418
  %4420 = load i32, ptr @test_count, align 4, !tbaa !5
  %4421 = add nsw i32 %4420, 1
  store i32 %4421, ptr @test_count, align 4, !tbaa !5
  %4422 = load ptr, ptr %102, align 8, !tbaa !9
  %4423 = getelementptr inbounds %struct.s2n_blob, ptr %96, i32 0, i32 0
  %4424 = load ptr, ptr %4423, align 8, !tbaa !45
  %4425 = getelementptr inbounds %struct.s2n_blob, ptr %96, i32 0, i32 1
  %4426 = load i32, ptr %4425, align 8, !tbaa !46
  %4427 = zext i32 %4426 to i64
  %4428 = call i64 @s2n_send(ptr noundef %4422, ptr noundef %4424, i64 noundef %4427, ptr noundef %101)
  %4429 = getelementptr inbounds %struct.s2n_blob, ptr %96, i32 0, i32 1
  %4430 = load i32, ptr %4429, align 8, !tbaa !46
  %4431 = zext i32 %4430 to i64
  %4432 = icmp eq i64 %4428, %4431
  br i1 %4432, label %4486, label %4433

4433:                                             ; preds = %4419
  br label %4434

4434:                                             ; preds = %4433
  br label %4435

4435:                                             ; preds = %4434
  call void @llvm.lifetime.start.p0(i64 4, ptr %111) #11
  %4436 = call ptr @__errno_location() #12
  %4437 = load i32, ptr %4436, align 4, !tbaa !5
  store i32 %4437, ptr %111, align 4, !tbaa !5
  %4438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4439 = call i32 @s2n_print_stacktrace(ptr noundef %4438)
  %4440 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4441 = trunc i8 %4440 to i1
  br i1 %4441, label %4442, label %4464

4442:                                             ; preds = %4435
  %4443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4444 = call i32 @fileno(ptr noundef %4443) #11
  %4445 = call i32 @isatty(i32 noundef %4444) #11
  %4446 = icmp ne i32 %4445, 0
  br i1 %4446, label %4447, label %4464

4447:                                             ; preds = %4442
  %4448 = load i32, ptr %111, align 4, !tbaa !5
  %4449 = call ptr @__errno_location() #12
  store i32 %4448, ptr %4449, align 4, !tbaa !5
  %4450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4451 = load i32, ptr @test_count, align 4, !tbaa !5
  %4452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4453 = load i32, ptr %4452, align 4, !tbaa !5
  %4454 = call ptr @s2n_strerror(i32 noundef %4453, ptr noundef @.str.3)
  %4455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4456 = load i32, ptr %4455, align 4, !tbaa !5
  %4457 = call ptr @s2n_strerror_debug(i32 noundef %4456, ptr noundef @.str.3)
  %4458 = call ptr @__errno_location() #12
  %4459 = load i32, ptr %4458, align 4, !tbaa !5
  %4460 = call ptr @strerror(i32 noundef %4459) #11
  %4461 = call ptr @__errno_location() #12
  %4462 = load i32, ptr %4461, align 4, !tbaa !5
  %4463 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4450, ptr noundef @.str, i32 noundef %4451, ptr noundef @.str.50, ptr noundef @.str.2, i32 noundef 244, ptr noundef %4454, ptr noundef %4457, ptr noundef %4460, i32 noundef %4462) #11
  br label %4481

4464:                                             ; preds = %4442, %4435
  %4465 = load i32, ptr %111, align 4, !tbaa !5
  %4466 = call ptr @__errno_location() #12
  store i32 %4465, ptr %4466, align 4, !tbaa !5
  %4467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4468 = load i32, ptr @test_count, align 4, !tbaa !5
  %4469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4470 = load i32, ptr %4469, align 4, !tbaa !5
  %4471 = call ptr @s2n_strerror(i32 noundef %4470, ptr noundef @.str.3)
  %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_debug(i32 noundef %4473, ptr noundef @.str.3)
  %4475 = call ptr @__errno_location() #12
  %4476 = load i32, ptr %4475, align 4, !tbaa !5
  %4477 = call ptr @strerror(i32 noundef %4476) #11
  %4478 = call ptr @__errno_location() #12
  %4479 = load i32, ptr %4478, align 4, !tbaa !5
  %4480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4467, ptr noundef @.str.4, i32 noundef %4468, ptr noundef @.str.50, ptr noundef @.str.2, i32 noundef 244, ptr noundef %4471, ptr noundef %4474, ptr noundef %4477, i32 noundef %4479) #11
  br label %4481

4481:                                             ; preds = %4464, %4447
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #11
  br label %4482

4482:                                             ; preds = %4481
  br label %4483

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

4484:                                             ; No predecessors!
  br label %4485

4485:                                             ; preds = %4484
  br label %4486

4486:                                             ; preds = %4485, %4419
  br label %4487

4487:                                             ; preds = %4486
  br label %4488

4488:                                             ; preds = %4487
  br label %4489

4489:                                             ; preds = %4488
  %4490 = load i64, ptr %110, align 8, !tbaa !15
  %4491 = add i64 %4490, 1
  store i64 %4491, ptr %110, align 8, !tbaa !15
  br label %4414, !llvm.loop !47

4492:                                             ; preds = %4417
  br label %4493

4493:                                             ; preds = %4492
  %4494 = load i32, ptr @test_count, align 4, !tbaa !5
  %4495 = add nsw i32 %4494, 1
  store i32 %4495, ptr @test_count, align 4, !tbaa !5
  %4496 = load ptr, ptr %11, align 8, !tbaa !9
  %4497 = call i32 @s2n_config_set_recv_multi_record(ptr noundef %4496, i1 noundef zeroext false)
  %4498 = icmp eq i32 %4497, -1
  br i1 %4498, label %4499, label %4552

4499:                                             ; preds = %4493
  br label %4500

4500:                                             ; preds = %4499
  br label %4501

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

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

4513:                                             ; preds = %4508
  %4514 = load i32, ptr %112, align 4, !tbaa !5
  %4515 = call ptr @__errno_location() #12
  store i32 %4514, ptr %4515, align 4, !tbaa !5
  %4516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4517 = load i32, ptr @test_count, align 4, !tbaa !5
  %4518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4519 = load i32, ptr %4518, align 4, !tbaa !5
  %4520 = call ptr @s2n_strerror(i32 noundef %4519, ptr noundef @.str.3)
  %4521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4522 = load i32, ptr %4521, align 4, !tbaa !5
  %4523 = call ptr @s2n_strerror_debug(i32 noundef %4522, ptr noundef @.str.3)
  %4524 = call ptr @__errno_location() #12
  %4525 = load i32, ptr %4524, align 4, !tbaa !5
  %4526 = call ptr @strerror(i32 noundef %4525) #11
  %4527 = call ptr @__errno_location() #12
  %4528 = load i32, ptr %4527, align 4, !tbaa !5
  %4529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4516, ptr noundef @.str, i32 noundef %4517, ptr noundef @.str.51, ptr noundef @.str.2, i32 noundef 248, ptr noundef %4520, ptr noundef %4523, ptr noundef %4526, i32 noundef %4528) #11
  br label %4547

4530:                                             ; preds = %4508, %4501
  %4531 = load i32, ptr %112, align 4, !tbaa !5
  %4532 = call ptr @__errno_location() #12
  store i32 %4531, ptr %4532, align 4, !tbaa !5
  %4533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4534 = load i32, ptr @test_count, align 4, !tbaa !5
  %4535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4536 = load i32, ptr %4535, align 4, !tbaa !5
  %4537 = call ptr @s2n_strerror(i32 noundef %4536, ptr noundef @.str.3)
  %4538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4539 = load i32, ptr %4538, align 4, !tbaa !5
  %4540 = call ptr @s2n_strerror_debug(i32 noundef %4539, ptr noundef @.str.3)
  %4541 = call ptr @__errno_location() #12
  %4542 = load i32, ptr %4541, align 4, !tbaa !5
  %4543 = call ptr @strerror(i32 noundef %4542) #11
  %4544 = call ptr @__errno_location() #12
  %4545 = load i32, ptr %4544, align 4, !tbaa !5
  %4546 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4533, ptr noundef @.str.4, i32 noundef %4534, ptr noundef @.str.51, ptr noundef @.str.2, i32 noundef 248, ptr noundef %4537, ptr noundef %4540, ptr noundef %4543, i32 noundef %4545) #11
  br label %4547

4547:                                             ; preds = %4530, %4513
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #11
  br label %4548

4548:                                             ; preds = %4547
  br label %4549

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

4550:                                             ; No predecessors!
  br label %4551

4551:                                             ; preds = %4550
  br label %4552

4552:                                             ; preds = %4551, %4493
  br label %4553

4553:                                             ; preds = %4552
  br label %4554

4554:                                             ; preds = %4553
  br label %4555

4555:                                             ; preds = %4554
  %4556 = load i32, ptr @test_count, align 4, !tbaa !5
  %4557 = add nsw i32 %4556, 1
  store i32 %4557, ptr @test_count, align 4, !tbaa !5
  %4558 = load ptr, ptr %104, align 8, !tbaa !9
  %4559 = getelementptr inbounds %struct.s2n_blob, ptr %99, i32 0, i32 0
  %4560 = load ptr, ptr %4559, align 8, !tbaa !45
  %4561 = call i64 @s2n_recv(ptr noundef %4558, ptr noundef %4560, i64 noundef 200, ptr noundef %101)
  %4562 = icmp eq i64 %4561, 100
  br i1 %4562, label %4616, label %4563

4563:                                             ; preds = %4555
  br label %4564

4564:                                             ; preds = %4563
  br label %4565

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

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

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

4594:                                             ; preds = %4572, %4565
  %4595 = load i32, ptr %113, align 4, !tbaa !5
  %4596 = call ptr @__errno_location() #12
  store i32 %4595, ptr %4596, align 4, !tbaa !5
  %4597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4598 = load i32, ptr @test_count, align 4, !tbaa !5
  %4599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4600 = load i32, ptr %4599, align 4, !tbaa !5
  %4601 = call ptr @s2n_strerror(i32 noundef %4600, ptr noundef @.str.3)
  %4602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4603 = load i32, ptr %4602, align 4, !tbaa !5
  %4604 = call ptr @s2n_strerror_debug(i32 noundef %4603, ptr noundef @.str.3)
  %4605 = call ptr @__errno_location() #12
  %4606 = load i32, ptr %4605, align 4, !tbaa !5
  %4607 = call ptr @strerror(i32 noundef %4606) #11
  %4608 = call ptr @__errno_location() #12
  %4609 = load i32, ptr %4608, align 4, !tbaa !5
  %4610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4597, ptr noundef @.str.4, i32 noundef %4598, ptr noundef @.str.52, ptr noundef @.str.2, i32 noundef 250, ptr noundef %4601, ptr noundef %4604, ptr noundef %4607, i32 noundef %4609) #11
  br label %4611

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

4612:                                             ; preds = %4611
  br label %4613

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

4614:                                             ; No predecessors!
  br label %4615

4615:                                             ; preds = %4614
  br label %4616

4616:                                             ; preds = %4615, %4555
  br label %4617

4617:                                             ; preds = %4616
  br label %4618

4618:                                             ; preds = %4617
  br label %4619

4619:                                             ; preds = %4618
  %4620 = load i32, ptr @test_count, align 4, !tbaa !5
  %4621 = add nsw i32 %4620, 1
  store i32 %4621, ptr @test_count, align 4, !tbaa !5
  %4622 = load ptr, ptr %11, align 8, !tbaa !9
  %4623 = call i32 @s2n_config_set_recv_multi_record(ptr noundef %4622, i1 noundef zeroext true)
  %4624 = icmp eq i32 %4623, -1
  br i1 %4624, label %4625, label %4678

4625:                                             ; preds = %4619
  br label %4626

4626:                                             ; preds = %4625
  br label %4627

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

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

4639:                                             ; preds = %4634
  %4640 = load i32, ptr %114, align 4, !tbaa !5
  %4641 = call ptr @__errno_location() #12
  store i32 %4640, ptr %4641, align 4, !tbaa !5
  %4642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4643 = load i32, ptr @test_count, align 4, !tbaa !5
  %4644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4645 = load i32, ptr %4644, align 4, !tbaa !5
  %4646 = call ptr @s2n_strerror(i32 noundef %4645, ptr noundef @.str.3)
  %4647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4648 = load i32, ptr %4647, align 4, !tbaa !5
  %4649 = call ptr @s2n_strerror_debug(i32 noundef %4648, ptr noundef @.str.3)
  %4650 = call ptr @__errno_location() #12
  %4651 = load i32, ptr %4650, align 4, !tbaa !5
  %4652 = call ptr @strerror(i32 noundef %4651) #11
  %4653 = call ptr @__errno_location() #12
  %4654 = load i32, ptr %4653, align 4, !tbaa !5
  %4655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4642, ptr noundef @.str, i32 noundef %4643, ptr noundef @.str.53, ptr noundef @.str.2, i32 noundef 253, ptr noundef %4646, ptr noundef %4649, ptr noundef %4652, i32 noundef %4654) #11
  br label %4673

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

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

4674:                                             ; preds = %4673
  br label %4675

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

4676:                                             ; No predecessors!
  br label %4677

4677:                                             ; preds = %4676
  br label %4678

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

4679:                                             ; preds = %4678
  br label %4680

4680:                                             ; preds = %4679
  br label %4681

4681:                                             ; preds = %4680
  %4682 = load i32, ptr @test_count, align 4, !tbaa !5
  %4683 = add nsw i32 %4682, 1
  store i32 %4683, ptr @test_count, align 4, !tbaa !5
  %4684 = load ptr, ptr %104, align 8, !tbaa !9
  %4685 = getelementptr inbounds %struct.s2n_blob, ptr %99, i32 0, i32 0
  %4686 = load ptr, ptr %4685, align 8, !tbaa !45
  %4687 = call i64 @s2n_recv(ptr noundef %4684, ptr noundef %4686, i64 noundef 200, ptr noundef %101)
  %4688 = icmp eq i64 %4687, 200
  br i1 %4688, label %4742, label %4689

4689:                                             ; preds = %4681
  br label %4690

4690:                                             ; preds = %4689
  br label %4691

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

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

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

4720:                                             ; preds = %4698, %4691
  %4721 = load i32, ptr %115, align 4, !tbaa !5
  %4722 = call ptr @__errno_location() #12
  store i32 %4721, ptr %4722, align 4, !tbaa !5
  %4723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4724 = load i32, ptr @test_count, align 4, !tbaa !5
  %4725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4726 = load i32, ptr %4725, align 4, !tbaa !5
  %4727 = call ptr @s2n_strerror(i32 noundef %4726, ptr noundef @.str.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() #12
  %4732 = load i32, ptr %4731, align 4, !tbaa !5
  %4733 = call ptr @strerror(i32 noundef %4732) #11
  %4734 = call ptr @__errno_location() #12
  %4735 = load i32, ptr %4734, align 4, !tbaa !5
  %4736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4723, ptr noundef @.str.4, i32 noundef %4724, ptr noundef @.str.54, ptr noundef @.str.2, i32 noundef 256, ptr noundef %4727, ptr noundef %4730, ptr noundef %4733, i32 noundef %4735) #11
  br label %4737

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

4738:                                             ; preds = %4737
  br label %4739

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

4740:                                             ; No predecessors!
  br label %4741

4741:                                             ; preds = %4740
  br label %4742

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

4743:                                             ; preds = %4742
  br label %4744

4744:                                             ; preds = %4743
  %4745 = call i32 @s2n_io_pair_close(ptr noundef %106)
  call void @llvm.lifetime.end.p0(i64 8, ptr %106) #11
  %4746 = call i32 @s2n_connection_ptr_free(ptr noundef %104)
  %4747 = getelementptr inbounds %struct.s2n_result, ptr %116, i32 0, i32 0
  store i32 %4746, ptr %4747, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %104) #11
  %4748 = call i32 @s2n_connection_ptr_free(ptr noundef %102)
  %4749 = getelementptr inbounds %struct.s2n_result, ptr %117, i32 0, i32 0
  store i32 %4748, ptr %4749, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %102) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #11
  %4750 = call i32 @s2n_free(ptr noundef %99)
  call void @llvm.lifetime.end.p0(i64 24, ptr %99) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %98) #11
  %4751 = call i32 @s2n_free(ptr noundef %96)
  call void @llvm.lifetime.end.p0(i64 24, ptr %96) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %95) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr %118) #11
  store i8 100, ptr %118, align 1, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 8, ptr %119) #11
  store i64 3, ptr %119, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 24, ptr %120) #11
  call void @llvm.memset.p0.i64(ptr align 8 %120, i8 0, i64 24, i1 false)
  br label %4752

4752:                                             ; preds = %4744
  %4753 = load i32, ptr @test_count, align 4, !tbaa !5
  %4754 = add nsw i32 %4753, 1
  store i32 %4754, ptr @test_count, align 4, !tbaa !5
  %4755 = call i32 @s2n_alloc(ptr noundef %120, i32 noundef 100)
  %4756 = icmp eq i32 %4755, -1
  br i1 %4756, label %4757, label %4810

4757:                                             ; preds = %4752
  br label %4758

4758:                                             ; preds = %4757
  br label %4759

4759:                                             ; preds = %4758
  call void @llvm.lifetime.start.p0(i64 4, ptr %121) #11
  %4760 = call ptr @__errno_location() #12
  %4761 = load i32, ptr %4760, align 4, !tbaa !5
  store i32 %4761, ptr %121, align 4, !tbaa !5
  %4762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4763 = call i32 @s2n_print_stacktrace(ptr noundef %4762)
  %4764 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4765 = trunc i8 %4764 to i1
  br i1 %4765, label %4766, label %4788

4766:                                             ; preds = %4759
  %4767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4768 = call i32 @fileno(ptr noundef %4767) #11
  %4769 = call i32 @isatty(i32 noundef %4768) #11
  %4770 = icmp ne i32 %4769, 0
  br i1 %4770, label %4771, label %4788

4771:                                             ; preds = %4766
  %4772 = load i32, ptr %121, align 4, !tbaa !5
  %4773 = call ptr @__errno_location() #12
  store i32 %4772, ptr %4773, align 4, !tbaa !5
  %4774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4775 = load i32, ptr @test_count, align 4, !tbaa !5
  %4776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4777 = load i32, ptr %4776, align 4, !tbaa !5
  %4778 = call ptr @s2n_strerror(i32 noundef %4777, ptr noundef @.str.3)
  %4779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4780 = load i32, ptr %4779, align 4, !tbaa !5
  %4781 = call ptr @s2n_strerror_debug(i32 noundef %4780, ptr noundef @.str.3)
  %4782 = call ptr @__errno_location() #12
  %4783 = load i32, ptr %4782, align 4, !tbaa !5
  %4784 = call ptr @strerror(i32 noundef %4783) #11
  %4785 = call ptr @__errno_location() #12
  %4786 = load i32, ptr %4785, align 4, !tbaa !5
  %4787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4774, ptr noundef @.str, i32 noundef %4775, ptr noundef @.str.48, ptr noundef @.str.2, i32 noundef 268, ptr noundef %4778, ptr noundef %4781, ptr noundef %4784, i32 noundef %4786) #11
  br label %4805

4788:                                             ; preds = %4766, %4759
  %4789 = load i32, ptr %121, align 4, !tbaa !5
  %4790 = call ptr @__errno_location() #12
  store i32 %4789, ptr %4790, align 4, !tbaa !5
  %4791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4792 = load i32, ptr @test_count, align 4, !tbaa !5
  %4793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4794 = load i32, ptr %4793, align 4, !tbaa !5
  %4795 = call ptr @s2n_strerror(i32 noundef %4794, ptr noundef @.str.3)
  %4796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4797 = load i32, ptr %4796, align 4, !tbaa !5
  %4798 = call ptr @s2n_strerror_debug(i32 noundef %4797, ptr noundef @.str.3)
  %4799 = call ptr @__errno_location() #12
  %4800 = load i32, ptr %4799, align 4, !tbaa !5
  %4801 = call ptr @strerror(i32 noundef %4800) #11
  %4802 = call ptr @__errno_location() #12
  %4803 = load i32, ptr %4802, align 4, !tbaa !5
  %4804 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4791, ptr noundef @.str.4, i32 noundef %4792, ptr noundef @.str.48, ptr noundef @.str.2, i32 noundef 268, ptr noundef %4795, ptr noundef %4798, ptr noundef %4801, i32 noundef %4803) #11
  br label %4805

4805:                                             ; preds = %4788, %4771
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #11
  br label %4806

4806:                                             ; preds = %4805
  br label %4807

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

4808:                                             ; No predecessors!
  br label %4809

4809:                                             ; preds = %4808
  br label %4810

4810:                                             ; preds = %4809, %4752
  br label %4811

4811:                                             ; preds = %4810
  br label %4812

4812:                                             ; preds = %4811
  call void @llvm.lifetime.start.p0(i64 8, ptr %122) #11
  store i64 300, ptr %122, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 24, ptr %123) #11
  call void @llvm.memset.p0.i64(ptr align 8 %123, i8 0, i64 24, i1 false)
  br label %4813

4813:                                             ; preds = %4812
  %4814 = load i32, ptr @test_count, align 4, !tbaa !5
  %4815 = add nsw i32 %4814, 1
  store i32 %4815, ptr @test_count, align 4, !tbaa !5
  %4816 = call i32 @s2n_alloc(ptr noundef %123, i32 noundef 300)
  %4817 = icmp eq i32 %4816, -1
  br i1 %4817, label %4818, label %4871

4818:                                             ; preds = %4813
  br label %4819

4819:                                             ; preds = %4818
  br label %4820

4820:                                             ; preds = %4819
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #11
  %4821 = call ptr @__errno_location() #12
  %4822 = load i32, ptr %4821, align 4, !tbaa !5
  store i32 %4822, ptr %124, align 4, !tbaa !5
  %4823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4824 = call i32 @s2n_print_stacktrace(ptr noundef %4823)
  %4825 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4826 = trunc i8 %4825 to i1
  br i1 %4826, label %4827, label %4849

4827:                                             ; preds = %4820
  %4828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4829 = call i32 @fileno(ptr noundef %4828) #11
  %4830 = call i32 @isatty(i32 noundef %4829) #11
  %4831 = icmp ne i32 %4830, 0
  br i1 %4831, label %4832, label %4849

4832:                                             ; preds = %4827
  %4833 = load i32, ptr %124, align 4, !tbaa !5
  %4834 = call ptr @__errno_location() #12
  store i32 %4833, ptr %4834, align 4, !tbaa !5
  %4835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4836 = load i32, ptr @test_count, align 4, !tbaa !5
  %4837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4838 = load i32, ptr %4837, align 4, !tbaa !5
  %4839 = call ptr @s2n_strerror(i32 noundef %4838, ptr noundef @.str.3)
  %4840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4841 = load i32, ptr %4840, align 4, !tbaa !5
  %4842 = call ptr @s2n_strerror_debug(i32 noundef %4841, ptr noundef @.str.3)
  %4843 = call ptr @__errno_location() #12
  %4844 = load i32, ptr %4843, align 4, !tbaa !5
  %4845 = call ptr @strerror(i32 noundef %4844) #11
  %4846 = call ptr @__errno_location() #12
  %4847 = load i32, ptr %4846, align 4, !tbaa !5
  %4848 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4835, ptr noundef @.str, i32 noundef %4836, ptr noundef @.str.55, ptr noundef @.str.2, i32 noundef 272, ptr noundef %4839, ptr noundef %4842, ptr noundef %4845, i32 noundef %4847) #11
  br label %4866

4849:                                             ; preds = %4827, %4820
  %4850 = load i32, ptr %124, align 4, !tbaa !5
  %4851 = call ptr @__errno_location() #12
  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() #12
  %4861 = load i32, ptr %4860, align 4, !tbaa !5
  %4862 = call ptr @strerror(i32 noundef %4861) #11
  %4863 = call ptr @__errno_location() #12
  %4864 = load i32, ptr %4863, align 4, !tbaa !5
  %4865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4852, ptr noundef @.str.4, i32 noundef %4853, ptr noundef @.str.55, ptr noundef @.str.2, i32 noundef 272, ptr noundef %4856, ptr noundef %4859, ptr noundef %4862, i32 noundef %4864) #11
  br label %4866

4866:                                             ; preds = %4849, %4832
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #11
  br label %4867

4867:                                             ; preds = %4866
  br label %4868

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

4869:                                             ; No predecessors!
  br label %4870

4870:                                             ; preds = %4869
  br label %4871

4871:                                             ; preds = %4870, %4813
  br label %4872

4872:                                             ; preds = %4871
  br label %4873

4873:                                             ; preds = %4872
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #11
  store i32 0, ptr %125, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %126) #11
  %4874 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %4874, ptr %126, align 8, !tbaa !9
  br label %4875

4875:                                             ; preds = %4873
  %4876 = load i32, ptr @test_count, align 4, !tbaa !5
  %4877 = add nsw i32 %4876, 1
  store i32 %4877, ptr @test_count, align 4, !tbaa !5
  %4878 = load ptr, ptr %126, align 8, !tbaa !9
  %4879 = load ptr, ptr %11, align 8, !tbaa !9
  %4880 = call i32 @s2n_connection_set_config(ptr noundef %4878, ptr noundef %4879)
  %4881 = icmp eq i32 %4880, -1
  br i1 %4881, label %4882, label %4935

4882:                                             ; preds = %4875
  br label %4883

4883:                                             ; preds = %4882
  br label %4884

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

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

4896:                                             ; preds = %4891
  %4897 = load i32, ptr %127, align 4, !tbaa !5
  %4898 = call ptr @__errno_location() #12
  store i32 %4897, ptr %4898, align 4, !tbaa !5
  %4899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4900 = load i32, ptr @test_count, align 4, !tbaa !5
  %4901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4902 = load i32, ptr %4901, align 4, !tbaa !5
  %4903 = call ptr @s2n_strerror(i32 noundef %4902, ptr noundef @.str.3)
  %4904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4905 = load i32, ptr %4904, align 4, !tbaa !5
  %4906 = call ptr @s2n_strerror_debug(i32 noundef %4905, ptr noundef @.str.3)
  %4907 = call ptr @__errno_location() #12
  %4908 = load i32, ptr %4907, align 4, !tbaa !5
  %4909 = call ptr @strerror(i32 noundef %4908) #11
  %4910 = call ptr @__errno_location() #12
  %4911 = load i32, ptr %4910, align 4, !tbaa !5
  %4912 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4899, ptr noundef @.str, i32 noundef %4900, ptr noundef @.str.19, ptr noundef @.str.2, i32 noundef 278, ptr noundef %4903, ptr noundef %4906, ptr noundef %4909, i32 noundef %4911) #11
  br label %4930

4913:                                             ; preds = %4891, %4884
  %4914 = load i32, ptr %127, align 4, !tbaa !5
  %4915 = call ptr @__errno_location() #12
  store i32 %4914, ptr %4915, align 4, !tbaa !5
  %4916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4917 = load i32, ptr @test_count, align 4, !tbaa !5
  %4918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4919 = load i32, ptr %4918, align 4, !tbaa !5
  %4920 = call ptr @s2n_strerror(i32 noundef %4919, ptr noundef @.str.3)
  %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_debug(i32 noundef %4922, ptr noundef @.str.3)
  %4924 = call ptr @__errno_location() #12
  %4925 = load i32, ptr %4924, align 4, !tbaa !5
  %4926 = call ptr @strerror(i32 noundef %4925) #11
  %4927 = call ptr @__errno_location() #12
  %4928 = load i32, ptr %4927, align 4, !tbaa !5
  %4929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4916, ptr noundef @.str.4, i32 noundef %4917, ptr noundef @.str.19, ptr noundef @.str.2, i32 noundef 278, ptr noundef %4920, ptr noundef %4923, ptr noundef %4926, i32 noundef %4928) #11
  br label %4930

4930:                                             ; preds = %4913, %4896
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #11
  br label %4931

4931:                                             ; preds = %4930
  br label %4932

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

4933:                                             ; No predecessors!
  br label %4934

4934:                                             ; preds = %4933
  br label %4935

4935:                                             ; preds = %4934, %4875
  br label %4936

4936:                                             ; preds = %4935
  br label %4937

4937:                                             ; preds = %4936
  call void @llvm.lifetime.start.p0(i64 8, ptr %128) #11
  %4938 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %4938, ptr %128, align 8, !tbaa !9
  br label %4939

4939:                                             ; preds = %4937
  %4940 = load i32, ptr @test_count, align 4, !tbaa !5
  %4941 = add nsw i32 %4940, 1
  store i32 %4941, ptr @test_count, align 4, !tbaa !5
  %4942 = load ptr, ptr %128, align 8, !tbaa !9
  %4943 = load ptr, ptr %11, align 8, !tbaa !9
  %4944 = call i32 @s2n_connection_set_config(ptr noundef %4942, ptr noundef %4943)
  %4945 = icmp eq i32 %4944, -1
  br i1 %4945, label %4946, label %4999

4946:                                             ; preds = %4939
  br label %4947

4947:                                             ; preds = %4946
  br label %4948

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

4955:                                             ; preds = %4948
  %4956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4957 = call i32 @fileno(ptr noundef %4956) #11
  %4958 = call i32 @isatty(i32 noundef %4957) #11
  %4959 = icmp ne i32 %4958, 0
  br i1 %4959, label %4960, label %4977

4960:                                             ; preds = %4955
  %4961 = load i32, ptr %129, align 4, !tbaa !5
  %4962 = call ptr @__errno_location() #12
  store i32 %4961, ptr %4962, align 4, !tbaa !5
  %4963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4964 = load i32, ptr @test_count, align 4, !tbaa !5
  %4965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4966 = load i32, ptr %4965, align 4, !tbaa !5
  %4967 = call ptr @s2n_strerror(i32 noundef %4966, ptr noundef @.str.3)
  %4968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4969 = load i32, ptr %4968, align 4, !tbaa !5
  %4970 = call ptr @s2n_strerror_debug(i32 noundef %4969, ptr noundef @.str.3)
  %4971 = call ptr @__errno_location() #12
  %4972 = load i32, ptr %4971, align 4, !tbaa !5
  %4973 = call ptr @strerror(i32 noundef %4972) #11
  %4974 = call ptr @__errno_location() #12
  %4975 = load i32, ptr %4974, align 4, !tbaa !5
  %4976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4963, ptr noundef @.str, i32 noundef %4964, ptr noundef @.str.20, ptr noundef @.str.2, i32 noundef 281, ptr noundef %4967, ptr noundef %4970, ptr noundef %4973, i32 noundef %4975) #11
  br label %4994

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

4994:                                             ; preds = %4977, %4960
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #11
  br label %4995

4995:                                             ; preds = %4994
  br label %4996

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

4997:                                             ; No predecessors!
  br label %4998

4998:                                             ; preds = %4997
  br label %4999

4999:                                             ; preds = %4998, %4939
  br label %5000

5000:                                             ; preds = %4999
  br label %5001

5001:                                             ; preds = %5000
  call void @llvm.lifetime.start.p0(i64 8, ptr %130) #11
  call void @llvm.memset.p0.i64(ptr align 4 %130, i8 0, i64 8, i1 false)
  br label %5002

5002:                                             ; preds = %5001
  %5003 = load i32, ptr @test_count, align 4, !tbaa !5
  %5004 = add nsw i32 %5003, 1
  store i32 %5004, ptr @test_count, align 4, !tbaa !5
  %5005 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %130)
  %5006 = icmp eq i32 %5005, -1
  br i1 %5006, label %5007, label %5060

5007:                                             ; preds = %5002
  br label %5008

5008:                                             ; preds = %5007
  br label %5009

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

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

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

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

5055:                                             ; preds = %5038, %5021
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #11
  br label %5056

5056:                                             ; preds = %5055
  br label %5057

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

5058:                                             ; No predecessors!
  br label %5059

5059:                                             ; preds = %5058
  br label %5060

5060:                                             ; preds = %5059, %5002
  br label %5061

5061:                                             ; preds = %5060
  br label %5062

5062:                                             ; preds = %5061
  br label %5063

5063:                                             ; preds = %5062
  %5064 = load i32, ptr @test_count, align 4, !tbaa !5
  %5065 = add nsw i32 %5064, 1
  store i32 %5065, ptr @test_count, align 4, !tbaa !5
  %5066 = load ptr, ptr %126, align 8, !tbaa !9
  %5067 = load ptr, ptr %128, align 8, !tbaa !9
  %5068 = call i32 @s2n_connections_set_io_pair(ptr noundef %5066, ptr noundef %5067, ptr noundef %130)
  %5069 = icmp eq i32 %5068, -1
  br i1 %5069, label %5070, label %5123

5070:                                             ; preds = %5063
  br label %5071

5071:                                             ; preds = %5070
  br label %5072

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

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

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

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

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

5119:                                             ; preds = %5118
  br label %5120

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

5121:                                             ; No predecessors!
  br label %5122

5122:                                             ; preds = %5121
  br label %5123

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

5124:                                             ; preds = %5123
  br label %5125

5125:                                             ; preds = %5124
  br label %5126

5126:                                             ; preds = %5125
  %5127 = load i32, ptr @test_count, align 4, !tbaa !5
  %5128 = add nsw i32 %5127, 1
  store i32 %5128, ptr @test_count, align 4, !tbaa !5
  %5129 = load ptr, ptr %128, align 8, !tbaa !9
  %5130 = load ptr, ptr %126, align 8, !tbaa !9
  %5131 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %5129, ptr noundef %5130)
  %5132 = icmp eq i32 %5131, -1
  br i1 %5132, label %5133, label %5186

5133:                                             ; preds = %5126
  br label %5134

5134:                                             ; preds = %5133
  br label %5135

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

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

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

5164:                                             ; preds = %5142, %5135
  %5165 = load i32, ptr %133, align 4, !tbaa !5
  %5166 = call ptr @__errno_location() #12
  store i32 %5165, ptr %5166, align 4, !tbaa !5
  %5167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5168 = load i32, ptr @test_count, align 4, !tbaa !5
  %5169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5170 = load i32, ptr %5169, align 4, !tbaa !5
  %5171 = call ptr @s2n_strerror(i32 noundef %5170, ptr noundef @.str.3)
  %5172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5173 = load i32, ptr %5172, align 4, !tbaa !5
  %5174 = call ptr @s2n_strerror_debug(i32 noundef %5173, ptr noundef @.str.3)
  %5175 = call ptr @__errno_location() #12
  %5176 = load i32, ptr %5175, align 4, !tbaa !5
  %5177 = call ptr @strerror(i32 noundef %5176) #11
  %5178 = call ptr @__errno_location() #12
  %5179 = load i32, ptr %5178, align 4, !tbaa !5
  %5180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5167, ptr noundef @.str.4, i32 noundef %5168, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 286, ptr noundef %5171, ptr noundef %5174, ptr noundef %5177, i32 noundef %5179) #11
  br label %5181

5181:                                             ; preds = %5164, %5147
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #11
  br label %5182

5182:                                             ; preds = %5181
  br label %5183

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

5184:                                             ; No predecessors!
  br label %5185

5185:                                             ; preds = %5184
  br label %5186

5186:                                             ; preds = %5185, %5126
  br label %5187

5187:                                             ; preds = %5186
  br label %5188

5188:                                             ; preds = %5187
  call void @llvm.lifetime.start.p0(i64 8, ptr %134) #11
  store i64 0, ptr %134, align 8, !tbaa !15
  br label %5189

5189:                                             ; preds = %6108, %5188
  %5190 = load i64, ptr %134, align 8, !tbaa !15
  %5191 = icmp ule i64 %5190, 1
  br i1 %5191, label %5193, label %5192

5192:                                             ; preds = %5189
  store i32 483, ptr %135, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %134) #11
  br label %6111

5193:                                             ; preds = %5189
  br label %5194

5194:                                             ; preds = %5193
  %5195 = load i32, ptr @test_count, align 4, !tbaa !5
  %5196 = add nsw i32 %5195, 1
  store i32 %5196, ptr @test_count, align 4, !tbaa !5
  %5197 = load ptr, ptr %11, align 8, !tbaa !9
  %5198 = load i64, ptr %134, align 8, !tbaa !15
  %5199 = icmp ne i64 %5198, 0
  %5200 = call i32 @s2n_config_set_recv_multi_record(ptr noundef %5197, i1 noundef zeroext %5199)
  %5201 = icmp eq i32 %5200, -1
  br i1 %5201, label %5202, label %5255

5202:                                             ; preds = %5194
  br label %5203

5203:                                             ; preds = %5202
  br label %5204

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

5211:                                             ; preds = %5204
  %5212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5213 = call i32 @fileno(ptr noundef %5212) #11
  %5214 = call i32 @isatty(i32 noundef %5213) #11
  %5215 = icmp ne i32 %5214, 0
  br i1 %5215, label %5216, label %5233

5216:                                             ; preds = %5211
  %5217 = load i32, ptr %136, align 4, !tbaa !5
  %5218 = call ptr @__errno_location() #12
  store i32 %5217, ptr %5218, align 4, !tbaa !5
  %5219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5220 = load i32, ptr @test_count, align 4, !tbaa !5
  %5221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5222 = load i32, ptr %5221, align 4, !tbaa !5
  %5223 = call ptr @s2n_strerror(i32 noundef %5222, ptr noundef @.str.3)
  %5224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5225 = load i32, ptr %5224, align 4, !tbaa !5
  %5226 = call ptr @s2n_strerror_debug(i32 noundef %5225, ptr noundef @.str.3)
  %5227 = call ptr @__errno_location() #12
  %5228 = load i32, ptr %5227, align 4, !tbaa !5
  %5229 = call ptr @strerror(i32 noundef %5228) #11
  %5230 = call ptr @__errno_location() #12
  %5231 = load i32, ptr %5230, align 4, !tbaa !5
  %5232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5219, ptr noundef @.str, i32 noundef %5220, ptr noundef @.str.56, ptr noundef @.str.2, i32 noundef 289, ptr noundef %5223, ptr noundef %5226, ptr noundef %5229, i32 noundef %5231) #11
  br label %5250

5233:                                             ; preds = %5211, %5204
  %5234 = load i32, ptr %136, align 4, !tbaa !5
  %5235 = call ptr @__errno_location() #12
  store i32 %5234, ptr %5235, align 4, !tbaa !5
  %5236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5237 = load i32, ptr @test_count, align 4, !tbaa !5
  %5238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5239 = load i32, ptr %5238, align 4, !tbaa !5
  %5240 = call ptr @s2n_strerror(i32 noundef %5239, ptr noundef @.str.3)
  %5241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5242 = load i32, ptr %5241, align 4, !tbaa !5
  %5243 = call ptr @s2n_strerror_debug(i32 noundef %5242, ptr noundef @.str.3)
  %5244 = call ptr @__errno_location() #12
  %5245 = load i32, ptr %5244, align 4, !tbaa !5
  %5246 = call ptr @strerror(i32 noundef %5245) #11
  %5247 = call ptr @__errno_location() #12
  %5248 = load i32, ptr %5247, align 4, !tbaa !5
  %5249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5236, ptr noundef @.str.4, i32 noundef %5237, ptr noundef @.str.56, ptr noundef @.str.2, i32 noundef 289, ptr noundef %5240, ptr noundef %5243, ptr noundef %5246, i32 noundef %5248) #11
  br label %5250

5250:                                             ; preds = %5233, %5216
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #11
  br label %5251

5251:                                             ; preds = %5250
  br label %5252

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

5253:                                             ; No predecessors!
  br label %5254

5254:                                             ; preds = %5253
  br label %5255

5255:                                             ; preds = %5254, %5194
  br label %5256

5256:                                             ; preds = %5255
  br label %5257

5257:                                             ; preds = %5256
  call void @llvm.lifetime.start.p0(i64 8, ptr %137) #11
  store i64 100, ptr %137, align 8, !tbaa !15
  %5258 = load i64, ptr %134, align 8, !tbaa !15
  %5259 = icmp ne i64 %5258, 0
  br i1 %5259, label %5260, label %5263

5260:                                             ; preds = %5257
  %5261 = load i64, ptr %137, align 8, !tbaa !15
  %5262 = mul i64 %5261, 3
  store i64 %5262, ptr %137, align 8, !tbaa !15
  br label %5263

5263:                                             ; preds = %5260, %5257
  call void @llvm.lifetime.start.p0(i64 8, ptr %138) #11
  store i64 1, ptr %138, align 8, !tbaa !15
  br label %5264

5264:                                             ; preds = %6104, %5263
  %5265 = load i64, ptr %138, align 8, !tbaa !15
  %5266 = icmp ule i64 %5265, 300
  br i1 %5266, label %5268, label %5267

5267:                                             ; preds = %5264
  store i32 492, ptr %135, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %138) #11
  br label %6107

5268:                                             ; preds = %5264
  call void @llvm.lifetime.start.p0(i64 8, ptr %139) #11
  store i64 0, ptr %139, align 8, !tbaa !15
  br label %5269

5269:                                             ; preds = %5344, %5268
  %5270 = load i64, ptr %139, align 8, !tbaa !15
  %5271 = icmp ult i64 %5270, 3
  br i1 %5271, label %5273, label %5272

5272:                                             ; preds = %5269
  store i32 495, ptr %135, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %139) #11
  br label %5347

5273:                                             ; preds = %5269
  br label %5274

5274:                                             ; preds = %5273
  %5275 = load i32, ptr @test_count, align 4, !tbaa !5
  %5276 = add nsw i32 %5275, 1
  store i32 %5276, ptr @test_count, align 4, !tbaa !5
  %5277 = load ptr, ptr %126, align 8, !tbaa !9
  %5278 = getelementptr inbounds %struct.s2n_blob, ptr %120, i32 0, i32 0
  %5279 = load ptr, ptr %5278, align 8, !tbaa !45
  %5280 = getelementptr inbounds %struct.s2n_blob, ptr %120, i32 0, i32 1
  %5281 = load i32, ptr %5280, align 8, !tbaa !46
  %5282 = zext i32 %5281 to i64
  %5283 = call i64 @s2n_send(ptr noundef %5277, ptr noundef %5279, i64 noundef %5282, ptr noundef %125)
  %5284 = getelementptr inbounds %struct.s2n_blob, ptr %120, i32 0, i32 1
  %5285 = load i32, ptr %5284, align 8, !tbaa !46
  %5286 = zext i32 %5285 to i64
  %5287 = icmp eq i64 %5283, %5286
  br i1 %5287, label %5341, label %5288

5288:                                             ; preds = %5274
  br label %5289

5289:                                             ; preds = %5288
  br label %5290

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

5297:                                             ; preds = %5290
  %5298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5299 = call i32 @fileno(ptr noundef %5298) #11
  %5300 = call i32 @isatty(i32 noundef %5299) #11
  %5301 = icmp ne i32 %5300, 0
  br i1 %5301, label %5302, label %5319

5302:                                             ; preds = %5297
  %5303 = load i32, ptr %140, align 4, !tbaa !5
  %5304 = call ptr @__errno_location() #12
  store i32 %5303, ptr %5304, align 4, !tbaa !5
  %5305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5306 = load i32, ptr @test_count, align 4, !tbaa !5
  %5307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5308 = load i32, ptr %5307, align 4, !tbaa !5
  %5309 = call ptr @s2n_strerror(i32 noundef %5308, ptr noundef @.str.3)
  %5310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5311 = load i32, ptr %5310, align 4, !tbaa !5
  %5312 = call ptr @s2n_strerror_debug(i32 noundef %5311, ptr noundef @.str.3)
  %5313 = call ptr @__errno_location() #12
  %5314 = load i32, ptr %5313, align 4, !tbaa !5
  %5315 = call ptr @strerror(i32 noundef %5314) #11
  %5316 = call ptr @__errno_location() #12
  %5317 = load i32, ptr %5316, align 4, !tbaa !5
  %5318 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5305, ptr noundef @.str, i32 noundef %5306, ptr noundef @.str.50, ptr noundef @.str.2, i32 noundef 300, ptr noundef %5309, ptr noundef %5312, ptr noundef %5315, i32 noundef %5317) #11
  br label %5336

5319:                                             ; preds = %5297, %5290
  %5320 = load i32, ptr %140, align 4, !tbaa !5
  %5321 = call ptr @__errno_location() #12
  store i32 %5320, ptr %5321, align 4, !tbaa !5
  %5322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5323 = load i32, ptr @test_count, align 4, !tbaa !5
  %5324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5325 = load i32, ptr %5324, align 4, !tbaa !5
  %5326 = call ptr @s2n_strerror(i32 noundef %5325, ptr noundef @.str.3)
  %5327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5328 = load i32, ptr %5327, align 4, !tbaa !5
  %5329 = call ptr @s2n_strerror_debug(i32 noundef %5328, ptr noundef @.str.3)
  %5330 = call ptr @__errno_location() #12
  %5331 = load i32, ptr %5330, align 4, !tbaa !5
  %5332 = call ptr @strerror(i32 noundef %5331) #11
  %5333 = call ptr @__errno_location() #12
  %5334 = load i32, ptr %5333, align 4, !tbaa !5
  %5335 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5322, ptr noundef @.str.4, i32 noundef %5323, ptr noundef @.str.50, ptr noundef @.str.2, i32 noundef 300, ptr noundef %5326, ptr noundef %5329, ptr noundef %5332, i32 noundef %5334) #11
  br label %5336

5336:                                             ; preds = %5319, %5302
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #11
  br label %5337

5337:                                             ; preds = %5336
  br label %5338

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

5339:                                             ; No predecessors!
  br label %5340

5340:                                             ; preds = %5339
  br label %5341

5341:                                             ; preds = %5340, %5274
  br label %5342

5342:                                             ; preds = %5341
  br label %5343

5343:                                             ; preds = %5342
  br label %5344

5344:                                             ; preds = %5343
  %5345 = load i64, ptr %139, align 8, !tbaa !15
  %5346 = add i64 %5345, 1
  store i64 %5346, ptr %139, align 8, !tbaa !15
  br label %5269, !llvm.loop !49

5347:                                             ; preds = %5272
  call void @llvm.lifetime.start.p0(i64 8, ptr %141) #11
  store i64 0, ptr %141, align 8, !tbaa !15
  br label %5348

5348:                                             ; preds = %5478, %5347
  %5349 = load i64, ptr %141, align 8, !tbaa !15
  %5350 = icmp ult i64 %5349, 10
  br i1 %5350, label %5352, label %5351

5351:                                             ; preds = %5348
  store i32 504, ptr %135, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %141) #11
  br label %5481

5352:                                             ; preds = %5348
  br label %5353

5353:                                             ; preds = %5352
  %5354 = load i32, ptr @test_count, align 4, !tbaa !5
  %5355 = add nsw i32 %5354, 1
  store i32 %5355, ptr @test_count, align 4, !tbaa !5
  %5356 = load ptr, ptr %128, align 8, !tbaa !9
  %5357 = getelementptr inbounds %struct.s2n_blob, ptr %123, i32 0, i32 0
  %5358 = load ptr, ptr %5357, align 8, !tbaa !45
  %5359 = call i64 @s2n_recv(ptr noundef %5356, ptr noundef %5358, i64 noundef 0, ptr noundef %125)
  %5360 = icmp eq i64 %5359, 0
  br i1 %5360, label %5414, label %5361

5361:                                             ; preds = %5353
  br label %5362

5362:                                             ; preds = %5361
  br label %5363

5363:                                             ; preds = %5362
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #11
  %5364 = call ptr @__errno_location() #12
  %5365 = load i32, ptr %5364, align 4, !tbaa !5
  store i32 %5365, ptr %142, align 4, !tbaa !5
  %5366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5367 = call i32 @s2n_print_stacktrace(ptr noundef %5366)
  %5368 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5369 = trunc i8 %5368 to i1
  br i1 %5369, label %5370, label %5392

5370:                                             ; preds = %5363
  %5371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5372 = call i32 @fileno(ptr noundef %5371) #11
  %5373 = call i32 @isatty(i32 noundef %5372) #11
  %5374 = icmp ne i32 %5373, 0
  br i1 %5374, label %5375, label %5392

5375:                                             ; preds = %5370
  %5376 = load i32, ptr %142, align 4, !tbaa !5
  %5377 = call ptr @__errno_location() #12
  store i32 %5376, ptr %5377, align 4, !tbaa !5
  %5378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5379 = load i32, ptr @test_count, align 4, !tbaa !5
  %5380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5381 = load i32, ptr %5380, align 4, !tbaa !5
  %5382 = call ptr @s2n_strerror(i32 noundef %5381, ptr noundef @.str.3)
  %5383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5384 = load i32, ptr %5383, align 4, !tbaa !5
  %5385 = call ptr @s2n_strerror_debug(i32 noundef %5384, ptr noundef @.str.3)
  %5386 = call ptr @__errno_location() #12
  %5387 = load i32, ptr %5386, align 4, !tbaa !5
  %5388 = call ptr @strerror(i32 noundef %5387) #11
  %5389 = call ptr @__errno_location() #12
  %5390 = load i32, ptr %5389, align 4, !tbaa !5
  %5391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5378, ptr noundef @.str, i32 noundef %5379, ptr noundef @.str.57, ptr noundef @.str.2, i32 noundef 305, ptr noundef %5382, ptr noundef %5385, ptr noundef %5388, i32 noundef %5390) #11
  br label %5409

5392:                                             ; preds = %5370, %5363
  %5393 = load i32, ptr %142, align 4, !tbaa !5
  %5394 = call ptr @__errno_location() #12
  store i32 %5393, ptr %5394, align 4, !tbaa !5
  %5395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5396 = load i32, ptr @test_count, align 4, !tbaa !5
  %5397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5398 = load i32, ptr %5397, align 4, !tbaa !5
  %5399 = call ptr @s2n_strerror(i32 noundef %5398, ptr noundef @.str.3)
  %5400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5401 = load i32, ptr %5400, align 4, !tbaa !5
  %5402 = call ptr @s2n_strerror_debug(i32 noundef %5401, ptr noundef @.str.3)
  %5403 = call ptr @__errno_location() #12
  %5404 = load i32, ptr %5403, align 4, !tbaa !5
  %5405 = call ptr @strerror(i32 noundef %5404) #11
  %5406 = call ptr @__errno_location() #12
  %5407 = load i32, ptr %5406, align 4, !tbaa !5
  %5408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5395, ptr noundef @.str.4, i32 noundef %5396, ptr noundef @.str.57, ptr noundef @.str.2, i32 noundef 305, ptr noundef %5399, ptr noundef %5402, ptr noundef %5405, i32 noundef %5407) #11
  br label %5409

5409:                                             ; preds = %5392, %5375
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #11
  br label %5410

5410:                                             ; preds = %5409
  br label %5411

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

5412:                                             ; No predecessors!
  br label %5413

5413:                                             ; preds = %5412
  br label %5414

5414:                                             ; preds = %5413, %5353
  br label %5415

5415:                                             ; preds = %5414
  br label %5416

5416:                                             ; preds = %5415
  br label %5417

5417:                                             ; preds = %5416
  %5418 = load i32, ptr @test_count, align 4, !tbaa !5
  %5419 = add nsw i32 %5418, 1
  store i32 %5419, ptr @test_count, align 4, !tbaa !5
  %5420 = load i32, ptr %125, align 4, !tbaa !5
  %5421 = icmp eq i32 %5420, 0
  br i1 %5421, label %5475, label %5422

5422:                                             ; preds = %5417
  br label %5423

5423:                                             ; preds = %5422
  br label %5424

5424:                                             ; preds = %5423
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #11
  %5425 = call ptr @__errno_location() #12
  %5426 = load i32, ptr %5425, align 4, !tbaa !5
  store i32 %5426, ptr %143, align 4, !tbaa !5
  %5427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5428 = call i32 @s2n_print_stacktrace(ptr noundef %5427)
  %5429 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5430 = trunc i8 %5429 to i1
  br i1 %5430, label %5431, label %5453

5431:                                             ; preds = %5424
  %5432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5433 = call i32 @fileno(ptr noundef %5432) #11
  %5434 = call i32 @isatty(i32 noundef %5433) #11
  %5435 = icmp ne i32 %5434, 0
  br i1 %5435, label %5436, label %5453

5436:                                             ; preds = %5431
  %5437 = load i32, ptr %143, align 4, !tbaa !5
  %5438 = call ptr @__errno_location() #12
  store i32 %5437, ptr %5438, align 4, !tbaa !5
  %5439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5440 = load i32, ptr @test_count, align 4, !tbaa !5
  %5441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5442 = load i32, ptr %5441, align 4, !tbaa !5
  %5443 = call ptr @s2n_strerror(i32 noundef %5442, ptr noundef @.str.3)
  %5444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5445 = load i32, ptr %5444, align 4, !tbaa !5
  %5446 = call ptr @s2n_strerror_debug(i32 noundef %5445, ptr noundef @.str.3)
  %5447 = call ptr @__errno_location() #12
  %5448 = load i32, ptr %5447, align 4, !tbaa !5
  %5449 = call ptr @strerror(i32 noundef %5448) #11
  %5450 = call ptr @__errno_location() #12
  %5451 = load i32, ptr %5450, align 4, !tbaa !5
  %5452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5439, ptr noundef @.str, i32 noundef %5440, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 306, ptr noundef %5443, ptr noundef %5446, ptr noundef %5449, i32 noundef %5451) #11
  br label %5470

5453:                                             ; preds = %5431, %5424
  %5454 = load i32, ptr %143, align 4, !tbaa !5
  %5455 = call ptr @__errno_location() #12
  store i32 %5454, ptr %5455, align 4, !tbaa !5
  %5456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5457 = load i32, ptr @test_count, align 4, !tbaa !5
  %5458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5459 = load i32, ptr %5458, align 4, !tbaa !5
  %5460 = call ptr @s2n_strerror(i32 noundef %5459, ptr noundef @.str.3)
  %5461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5462 = load i32, ptr %5461, align 4, !tbaa !5
  %5463 = call ptr @s2n_strerror_debug(i32 noundef %5462, ptr noundef @.str.3)
  %5464 = call ptr @__errno_location() #12
  %5465 = load i32, ptr %5464, align 4, !tbaa !5
  %5466 = call ptr @strerror(i32 noundef %5465) #11
  %5467 = call ptr @__errno_location() #12
  %5468 = load i32, ptr %5467, align 4, !tbaa !5
  %5469 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5456, ptr noundef @.str.4, i32 noundef %5457, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 306, ptr noundef %5460, ptr noundef %5463, ptr noundef %5466, i32 noundef %5468) #11
  br label %5470

5470:                                             ; preds = %5453, %5436
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #11
  br label %5471

5471:                                             ; preds = %5470
  br label %5472

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

5473:                                             ; No predecessors!
  br label %5474

5474:                                             ; preds = %5473
  br label %5475

5475:                                             ; preds = %5474, %5417
  br label %5476

5476:                                             ; preds = %5475
  br label %5477

5477:                                             ; preds = %5476
  br label %5478

5478:                                             ; preds = %5477
  %5479 = load i64, ptr %141, align 8, !tbaa !15
  %5480 = add i64 %5479, 1
  store i64 %5480, ptr %141, align 8, !tbaa !15
  br label %5348, !llvm.loop !50

5481:                                             ; preds = %5351
  call void @llvm.lifetime.start.p0(i64 8, ptr %144) #11
  store i64 0, ptr %144, align 8, !tbaa !15
  br label %5482

5482:                                             ; preds = %5840, %5481
  %5483 = load i64, ptr %144, align 8, !tbaa !15
  %5484 = icmp ult i64 %5483, 300
  br i1 %5484, label %5485, label %5841

5485:                                             ; preds = %5482
  call void @llvm.lifetime.start.p0(i64 8, ptr %145) #11
  %5486 = load i64, ptr %138, align 8, !tbaa !15
  %5487 = load i64, ptr %144, align 8, !tbaa !15
  %5488 = sub i64 300, %5487
  %5489 = icmp ult i64 %5486, %5488
  br i1 %5489, label %5490, label %5492

5490:                                             ; preds = %5485
  %5491 = load i64, ptr %138, align 8, !tbaa !15
  br label %5495

5492:                                             ; preds = %5485
  %5493 = load i64, ptr %144, align 8, !tbaa !15
  %5494 = sub i64 300, %5493
  br label %5495

5495:                                             ; preds = %5492, %5490
  %5496 = phi i64 [ %5491, %5490 ], [ %5494, %5492 ]
  %5497 = load i64, ptr %137, align 8, !tbaa !15
  %5498 = icmp ult i64 %5496, %5497
  br i1 %5498, label %5499, label %5511

5499:                                             ; preds = %5495
  %5500 = load i64, ptr %138, align 8, !tbaa !15
  %5501 = load i64, ptr %144, align 8, !tbaa !15
  %5502 = sub i64 300, %5501
  %5503 = icmp ult i64 %5500, %5502
  br i1 %5503, label %5504, label %5506

5504:                                             ; preds = %5499
  %5505 = load i64, ptr %138, align 8, !tbaa !15
  br label %5509

5506:                                             ; preds = %5499
  %5507 = load i64, ptr %144, align 8, !tbaa !15
  %5508 = sub i64 300, %5507
  br label %5509

5509:                                             ; preds = %5506, %5504
  %5510 = phi i64 [ %5505, %5504 ], [ %5508, %5506 ]
  br label %5513

5511:                                             ; preds = %5495
  %5512 = load i64, ptr %137, align 8, !tbaa !15
  br label %5513

5513:                                             ; preds = %5511, %5509
  %5514 = phi i64 [ %5510, %5509 ], [ %5512, %5511 ]
  store i64 %5514, ptr %145, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %146) #11
  %5515 = load ptr, ptr %128, align 8, !tbaa !9
  %5516 = getelementptr inbounds %struct.s2n_blob, ptr %123, i32 0, i32 0
  %5517 = load ptr, ptr %5516, align 8, !tbaa !45
  %5518 = load i64, ptr %138, align 8, !tbaa !15
  %5519 = call i64 @s2n_recv(ptr noundef %5515, ptr noundef %5517, i64 noundef %5518, ptr noundef %125)
  store i64 %5519, ptr %146, align 8, !tbaa !15
  %5520 = load i64, ptr %134, align 8, !tbaa !15
  %5521 = icmp ne i64 %5520, 0
  br i1 %5521, label %5522, label %5585

5522:                                             ; preds = %5513
  br label %5523

5523:                                             ; preds = %5522
  %5524 = load i32, ptr @test_count, align 4, !tbaa !5
  %5525 = add nsw i32 %5524, 1
  store i32 %5525, ptr @test_count, align 4, !tbaa !5
  %5526 = load i64, ptr %146, align 8, !tbaa !15
  %5527 = load i64, ptr %145, align 8, !tbaa !15
  %5528 = icmp eq i64 %5526, %5527
  br i1 %5528, label %5582, label %5529

5529:                                             ; preds = %5523
  br label %5530

5530:                                             ; preds = %5529
  br label %5531

5531:                                             ; preds = %5530
  call void @llvm.lifetime.start.p0(i64 4, ptr %147) #11
  %5532 = call ptr @__errno_location() #12
  %5533 = load i32, ptr %5532, align 4, !tbaa !5
  store i32 %5533, ptr %147, align 4, !tbaa !5
  %5534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5535 = call i32 @s2n_print_stacktrace(ptr noundef %5534)
  %5536 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5537 = trunc i8 %5536 to i1
  br i1 %5537, label %5538, label %5560

5538:                                             ; preds = %5531
  %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
  %5542 = icmp ne i32 %5541, 0
  br i1 %5542, label %5543, label %5560

5543:                                             ; preds = %5538
  %5544 = load i32, ptr %147, align 4, !tbaa !5
  %5545 = call ptr @__errno_location() #12
  store i32 %5544, ptr %5545, align 4, !tbaa !5
  %5546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5547 = load i32, ptr @test_count, align 4, !tbaa !5
  %5548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5549 = load i32, ptr %5548, align 4, !tbaa !5
  %5550 = call ptr @s2n_strerror(i32 noundef %5549, ptr noundef @.str.3)
  %5551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5552 = load i32, ptr %5551, align 4, !tbaa !5
  %5553 = call ptr @s2n_strerror_debug(i32 noundef %5552, ptr noundef @.str.3)
  %5554 = call ptr @__errno_location() #12
  %5555 = load i32, ptr %5554, align 4, !tbaa !5
  %5556 = call ptr @strerror(i32 noundef %5555) #11
  %5557 = call ptr @__errno_location() #12
  %5558 = load i32, ptr %5557, align 4, !tbaa !5
  %5559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5546, ptr noundef @.str, i32 noundef %5547, ptr noundef @.str.59, ptr noundef @.str.2, i32 noundef 318, ptr noundef %5550, ptr noundef %5553, ptr noundef %5556, i32 noundef %5558) #11
  br label %5577

5560:                                             ; preds = %5538, %5531
  %5561 = load i32, ptr %147, align 4, !tbaa !5
  %5562 = call ptr @__errno_location() #12
  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() #12
  %5572 = load i32, ptr %5571, align 4, !tbaa !5
  %5573 = call ptr @strerror(i32 noundef %5572) #11
  %5574 = call ptr @__errno_location() #12
  %5575 = load i32, ptr %5574, align 4, !tbaa !5
  %5576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5563, ptr noundef @.str.4, i32 noundef %5564, ptr noundef @.str.59, ptr noundef @.str.2, i32 noundef 318, ptr noundef %5567, ptr noundef %5570, ptr noundef %5573, i32 noundef %5575) #11
  br label %5577

5577:                                             ; preds = %5560, %5543
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #11
  br label %5578

5578:                                             ; preds = %5577
  br label %5579

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

5580:                                             ; No predecessors!
  br label %5581

5581:                                             ; preds = %5580
  br label %5582

5582:                                             ; preds = %5581, %5523
  br label %5583

5583:                                             ; preds = %5582
  br label %5584

5584:                                             ; preds = %5583
  br label %5709

5585:                                             ; preds = %5513
  br label %5586

5586:                                             ; preds = %5585
  %5587 = load i32, ptr @test_count, align 4, !tbaa !5
  %5588 = add nsw i32 %5587, 1
  store i32 %5588, ptr @test_count, align 4, !tbaa !5
  %5589 = load i64, ptr %146, align 8, !tbaa !15
  %5590 = icmp eq i64 %5589, 0
  br i1 %5590, label %5591, label %5644

5591:                                             ; preds = %5586
  br label %5592

5592:                                             ; preds = %5591
  br label %5593

5593:                                             ; preds = %5592
  call void @llvm.lifetime.start.p0(i64 4, ptr %148) #11
  %5594 = call ptr @__errno_location() #12
  %5595 = load i32, ptr %5594, align 4, !tbaa !5
  store i32 %5595, ptr %148, align 4, !tbaa !5
  %5596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5597 = call i32 @s2n_print_stacktrace(ptr noundef %5596)
  %5598 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5599 = trunc i8 %5598 to i1
  br i1 %5599, label %5600, label %5622

5600:                                             ; preds = %5593
  %5601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5602 = call i32 @fileno(ptr noundef %5601) #11
  %5603 = call i32 @isatty(i32 noundef %5602) #11
  %5604 = icmp ne i32 %5603, 0
  br i1 %5604, label %5605, label %5622

5605:                                             ; preds = %5600
  %5606 = load i32, ptr %148, align 4, !tbaa !5
  %5607 = call ptr @__errno_location() #12
  store i32 %5606, ptr %5607, align 4, !tbaa !5
  %5608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5609 = load i32, ptr @test_count, align 4, !tbaa !5
  %5610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5611 = load i32, ptr %5610, align 4, !tbaa !5
  %5612 = call ptr @s2n_strerror(i32 noundef %5611, ptr noundef @.str.3)
  %5613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5614 = load i32, ptr %5613, align 4, !tbaa !5
  %5615 = call ptr @s2n_strerror_debug(i32 noundef %5614, ptr noundef @.str.3)
  %5616 = call ptr @__errno_location() #12
  %5617 = load i32, ptr %5616, align 4, !tbaa !5
  %5618 = call ptr @strerror(i32 noundef %5617) #11
  %5619 = call ptr @__errno_location() #12
  %5620 = load i32, ptr %5619, align 4, !tbaa !5
  %5621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5608, ptr noundef @.str, i32 noundef %5609, ptr noundef @.str.60, ptr noundef @.str.2, i32 noundef 322, ptr noundef %5612, ptr noundef %5615, ptr noundef %5618, i32 noundef %5620) #11
  br label %5639

5622:                                             ; preds = %5600, %5593
  %5623 = load i32, ptr %148, align 4, !tbaa !5
  %5624 = call ptr @__errno_location() #12
  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() #12
  %5634 = load i32, ptr %5633, align 4, !tbaa !5
  %5635 = call ptr @strerror(i32 noundef %5634) #11
  %5636 = call ptr @__errno_location() #12
  %5637 = load i32, ptr %5636, align 4, !tbaa !5
  %5638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5625, ptr noundef @.str.4, i32 noundef %5626, ptr noundef @.str.60, ptr noundef @.str.2, i32 noundef 322, ptr noundef %5629, ptr noundef %5632, ptr noundef %5635, i32 noundef %5637) #11
  br label %5639

5639:                                             ; preds = %5622, %5605
  call void @llvm.lifetime.end.p0(i64 4, ptr %148) #11
  br label %5640

5640:                                             ; preds = %5639
  br label %5641

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

5642:                                             ; No predecessors!
  br label %5643

5643:                                             ; preds = %5642
  br label %5644

5644:                                             ; preds = %5643, %5586
  br label %5645

5645:                                             ; preds = %5644
  br label %5646

5646:                                             ; preds = %5645
  br label %5647

5647:                                             ; preds = %5646
  %5648 = load i32, ptr @test_count, align 4, !tbaa !5
  %5649 = add nsw i32 %5648, 1
  store i32 %5649, ptr @test_count, align 4, !tbaa !5
  %5650 = load i64, ptr %146, align 8, !tbaa !15
  %5651 = load i64, ptr %145, align 8, !tbaa !15
  %5652 = icmp ule i64 %5650, %5651
  br i1 %5652, label %5706, label %5653

5653:                                             ; preds = %5647
  br label %5654

5654:                                             ; preds = %5653
  br label %5655

5655:                                             ; preds = %5654
  call void @llvm.lifetime.start.p0(i64 4, ptr %149) #11
  %5656 = call ptr @__errno_location() #12
  %5657 = load i32, ptr %5656, align 4, !tbaa !5
  store i32 %5657, ptr %149, align 4, !tbaa !5
  %5658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5659 = call i32 @s2n_print_stacktrace(ptr noundef %5658)
  %5660 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5661 = trunc i8 %5660 to i1
  br i1 %5661, label %5662, label %5684

5662:                                             ; preds = %5655
  %5663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5664 = call i32 @fileno(ptr noundef %5663) #11
  %5665 = call i32 @isatty(i32 noundef %5664) #11
  %5666 = icmp ne i32 %5665, 0
  br i1 %5666, label %5667, label %5684

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

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

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

5702:                                             ; preds = %5701
  br label %5703

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

5704:                                             ; No predecessors!
  br label %5705

5705:                                             ; preds = %5704
  br label %5706

5706:                                             ; preds = %5705, %5647
  br label %5707

5707:                                             ; preds = %5706
  br label %5708

5708:                                             ; preds = %5707
  br label %5709

5709:                                             ; preds = %5708, %5584
  %5710 = load i64, ptr %146, align 8, !tbaa !15
  %5711 = load i64, ptr %144, align 8, !tbaa !15
  %5712 = add i64 %5711, %5710
  store i64 %5712, ptr %144, align 8, !tbaa !15
  %5713 = load ptr, ptr %128, align 8, !tbaa !9
  %5714 = call i32 @s2n_peek(ptr noundef %5713)
  %5715 = icmp eq i32 %5714, 0
  br i1 %5715, label %5716, label %5778

5716:                                             ; preds = %5709
  br label %5717

5717:                                             ; preds = %5716
  %5718 = load i32, ptr @test_count, align 4, !tbaa !5
  %5719 = add nsw i32 %5718, 1
  store i32 %5719, ptr @test_count, align 4, !tbaa !5
  %5720 = load i32, ptr %125, align 4, !tbaa !5
  %5721 = icmp eq i32 %5720, 0
  br i1 %5721, label %5775, label %5722

5722:                                             ; preds = %5717
  br label %5723

5723:                                             ; preds = %5722
  br label %5724

5724:                                             ; preds = %5723
  call void @llvm.lifetime.start.p0(i64 4, ptr %150) #11
  %5725 = call ptr @__errno_location() #12
  %5726 = load i32, ptr %5725, align 4, !tbaa !5
  store i32 %5726, ptr %150, align 4, !tbaa !5
  %5727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5728 = call i32 @s2n_print_stacktrace(ptr noundef %5727)
  %5729 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5730 = trunc i8 %5729 to i1
  br i1 %5730, label %5731, label %5753

5731:                                             ; preds = %5724
  %5732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5733 = call i32 @fileno(ptr noundef %5732) #11
  %5734 = call i32 @isatty(i32 noundef %5733) #11
  %5735 = icmp ne i32 %5734, 0
  br i1 %5735, label %5736, label %5753

5736:                                             ; preds = %5731
  %5737 = load i32, ptr %150, align 4, !tbaa !5
  %5738 = call ptr @__errno_location() #12
  store i32 %5737, ptr %5738, align 4, !tbaa !5
  %5739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5740 = load i32, ptr @test_count, align 4, !tbaa !5
  %5741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5742 = load i32, ptr %5741, align 4, !tbaa !5
  %5743 = call ptr @s2n_strerror(i32 noundef %5742, ptr noundef @.str.3)
  %5744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5745 = load i32, ptr %5744, align 4, !tbaa !5
  %5746 = call ptr @s2n_strerror_debug(i32 noundef %5745, ptr noundef @.str.3)
  %5747 = call ptr @__errno_location() #12
  %5748 = load i32, ptr %5747, align 4, !tbaa !5
  %5749 = call ptr @strerror(i32 noundef %5748) #11
  %5750 = call ptr @__errno_location() #12
  %5751 = load i32, ptr %5750, align 4, !tbaa !5
  %5752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5739, ptr noundef @.str, i32 noundef %5740, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 337, ptr noundef %5743, ptr noundef %5746, ptr noundef %5749, i32 noundef %5751) #11
  br label %5770

5753:                                             ; preds = %5731, %5724
  %5754 = load i32, ptr %150, align 4, !tbaa !5
  %5755 = call ptr @__errno_location() #12
  store i32 %5754, ptr %5755, align 4, !tbaa !5
  %5756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5757 = load i32, ptr @test_count, align 4, !tbaa !5
  %5758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5759 = load i32, ptr %5758, align 4, !tbaa !5
  %5760 = call ptr @s2n_strerror(i32 noundef %5759, ptr noundef @.str.3)
  %5761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5762 = load i32, ptr %5761, align 4, !tbaa !5
  %5763 = call ptr @s2n_strerror_debug(i32 noundef %5762, ptr noundef @.str.3)
  %5764 = call ptr @__errno_location() #12
  %5765 = load i32, ptr %5764, align 4, !tbaa !5
  %5766 = call ptr @strerror(i32 noundef %5765) #11
  %5767 = call ptr @__errno_location() #12
  %5768 = load i32, ptr %5767, align 4, !tbaa !5
  %5769 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5756, ptr noundef @.str.4, i32 noundef %5757, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 337, ptr noundef %5760, ptr noundef %5763, ptr noundef %5766, i32 noundef %5768) #11
  br label %5770

5770:                                             ; preds = %5753, %5736
  call void @llvm.lifetime.end.p0(i64 4, ptr %150) #11
  br label %5771

5771:                                             ; preds = %5770
  br label %5772

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

5773:                                             ; No predecessors!
  br label %5774

5774:                                             ; preds = %5773
  br label %5775

5775:                                             ; preds = %5774, %5717
  br label %5776

5776:                                             ; preds = %5775
  br label %5777

5777:                                             ; preds = %5776
  br label %5840

5778:                                             ; preds = %5709
  br label %5779

5779:                                             ; preds = %5778
  %5780 = load i32, ptr @test_count, align 4, !tbaa !5
  %5781 = add nsw i32 %5780, 1
  store i32 %5781, ptr @test_count, align 4, !tbaa !5
  %5782 = load i32, ptr %125, align 4, !tbaa !5
  %5783 = icmp eq i32 %5782, 1
  br i1 %5783, label %5837, label %5784

5784:                                             ; preds = %5779
  br label %5785

5785:                                             ; preds = %5784
  br label %5786

5786:                                             ; preds = %5785
  call void @llvm.lifetime.start.p0(i64 4, ptr %151) #11
  %5787 = call ptr @__errno_location() #12
  %5788 = load i32, ptr %5787, align 4, !tbaa !5
  store i32 %5788, ptr %151, align 4, !tbaa !5
  %5789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5790 = call i32 @s2n_print_stacktrace(ptr noundef %5789)
  %5791 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5792 = trunc i8 %5791 to i1
  br i1 %5792, label %5793, label %5815

5793:                                             ; preds = %5786
  %5794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5795 = call i32 @fileno(ptr noundef %5794) #11
  %5796 = call i32 @isatty(i32 noundef %5795) #11
  %5797 = icmp ne i32 %5796, 0
  br i1 %5797, label %5798, label %5815

5798:                                             ; preds = %5793
  %5799 = load i32, ptr %151, align 4, !tbaa !5
  %5800 = call ptr @__errno_location() #12
  store i32 %5799, ptr %5800, align 4, !tbaa !5
  %5801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5802 = load i32, ptr @test_count, align 4, !tbaa !5
  %5803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5804 = load i32, ptr %5803, align 4, !tbaa !5
  %5805 = call ptr @s2n_strerror(i32 noundef %5804, ptr noundef @.str.3)
  %5806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5807 = load i32, ptr %5806, align 4, !tbaa !5
  %5808 = call ptr @s2n_strerror_debug(i32 noundef %5807, ptr noundef @.str.3)
  %5809 = call ptr @__errno_location() #12
  %5810 = load i32, ptr %5809, align 4, !tbaa !5
  %5811 = call ptr @strerror(i32 noundef %5810) #11
  %5812 = call ptr @__errno_location() #12
  %5813 = load i32, ptr %5812, align 4, !tbaa !5
  %5814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5801, ptr noundef @.str, i32 noundef %5802, ptr noundef @.str.62, ptr noundef @.str.2, i32 noundef 339, ptr noundef %5805, ptr noundef %5808, ptr noundef %5811, i32 noundef %5813) #11
  br label %5832

5815:                                             ; preds = %5793, %5786
  %5816 = load i32, ptr %151, align 4, !tbaa !5
  %5817 = call ptr @__errno_location() #12
  store i32 %5816, ptr %5817, align 4, !tbaa !5
  %5818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5819 = load i32, ptr @test_count, align 4, !tbaa !5
  %5820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5821 = load i32, ptr %5820, align 4, !tbaa !5
  %5822 = call ptr @s2n_strerror(i32 noundef %5821, ptr noundef @.str.3)
  %5823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5824 = load i32, ptr %5823, align 4, !tbaa !5
  %5825 = call ptr @s2n_strerror_debug(i32 noundef %5824, ptr noundef @.str.3)
  %5826 = call ptr @__errno_location() #12
  %5827 = load i32, ptr %5826, align 4, !tbaa !5
  %5828 = call ptr @strerror(i32 noundef %5827) #11
  %5829 = call ptr @__errno_location() #12
  %5830 = load i32, ptr %5829, align 4, !tbaa !5
  %5831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5818, ptr noundef @.str.4, i32 noundef %5819, ptr noundef @.str.62, ptr noundef @.str.2, i32 noundef 339, ptr noundef %5822, ptr noundef %5825, ptr noundef %5828, i32 noundef %5830) #11
  br label %5832

5832:                                             ; preds = %5815, %5798
  call void @llvm.lifetime.end.p0(i64 4, ptr %151) #11
  br label %5833

5833:                                             ; preds = %5832
  br label %5834

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

5835:                                             ; No predecessors!
  br label %5836

5836:                                             ; preds = %5835
  br label %5837

5837:                                             ; preds = %5836, %5779
  br label %5838

5838:                                             ; preds = %5837
  br label %5839

5839:                                             ; preds = %5838
  br label %5840

5840:                                             ; preds = %5839, %5777
  call void @llvm.lifetime.end.p0(i64 8, ptr %146) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %145) #11
  br label %5482, !llvm.loop !51

5841:                                             ; preds = %5482
  br label %5842

5842:                                             ; preds = %5841
  br label %5843

5843:                                             ; preds = %5842
  br label %5844

5844:                                             ; preds = %5843
  %5845 = load i32, ptr @test_count, align 4, !tbaa !5
  %5846 = add nsw i32 %5845, 1
  store i32 %5846, ptr @test_count, align 4, !tbaa !5
  %5847 = load ptr, ptr %128, align 8, !tbaa !9
  %5848 = getelementptr inbounds %struct.s2n_blob, ptr %123, i32 0, i32 0
  %5849 = load ptr, ptr %5848, align 8, !tbaa !45
  %5850 = load i64, ptr %138, align 8, !tbaa !15
  %5851 = call i64 @s2n_recv(ptr noundef %5847, ptr noundef %5849, i64 noundef %5850, ptr noundef %125)
  %5852 = icmp eq i64 %5851, -1
  br i1 %5852, label %5906, label %5853

5853:                                             ; preds = %5844
  br label %5854

5854:                                             ; preds = %5853
  br label %5855

5855:                                             ; preds = %5854
  call void @llvm.lifetime.start.p0(i64 4, ptr %152) #11
  %5856 = call ptr @__errno_location() #12
  %5857 = load i32, ptr %5856, align 4, !tbaa !5
  store i32 %5857, ptr %152, align 4, !tbaa !5
  %5858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5859 = call i32 @s2n_print_stacktrace(ptr noundef %5858)
  %5860 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5861 = trunc i8 %5860 to i1
  br i1 %5861, label %5862, label %5884

5862:                                             ; preds = %5855
  %5863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5864 = call i32 @fileno(ptr noundef %5863) #11
  %5865 = call i32 @isatty(i32 noundef %5864) #11
  %5866 = icmp ne i32 %5865, 0
  br i1 %5866, label %5867, label %5884

5867:                                             ; preds = %5862
  %5868 = load i32, ptr %152, align 4, !tbaa !5
  %5869 = call ptr @__errno_location() #12
  store i32 %5868, ptr %5869, align 4, !tbaa !5
  %5870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5871 = load i32, ptr @test_count, align 4, !tbaa !5
  %5872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5873 = load i32, ptr %5872, align 4, !tbaa !5
  %5874 = call ptr @s2n_strerror(i32 noundef %5873, ptr noundef @.str.3)
  %5875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5876 = load i32, ptr %5875, align 4, !tbaa !5
  %5877 = call ptr @s2n_strerror_debug(i32 noundef %5876, ptr noundef @.str.3)
  %5878 = call ptr @__errno_location() #12
  %5879 = load i32, ptr %5878, align 4, !tbaa !5
  %5880 = call ptr @strerror(i32 noundef %5879) #11
  %5881 = call ptr @__errno_location() #12
  %5882 = load i32, ptr %5881, align 4, !tbaa !5
  %5883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5870, ptr noundef @.str, i32 noundef %5871, ptr noundef @.str.63, ptr noundef @.str.2, i32 noundef 344, ptr noundef %5874, ptr noundef %5877, ptr noundef %5880, i32 noundef %5882) #11
  br label %5901

5884:                                             ; preds = %5862, %5855
  %5885 = load i32, ptr %152, align 4, !tbaa !5
  %5886 = call ptr @__errno_location() #12
  store i32 %5885, ptr %5886, align 4, !tbaa !5
  %5887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5888 = load i32, ptr @test_count, align 4, !tbaa !5
  %5889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5890 = load i32, ptr %5889, align 4, !tbaa !5
  %5891 = call ptr @s2n_strerror(i32 noundef %5890, ptr noundef @.str.3)
  %5892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5893 = load i32, ptr %5892, align 4, !tbaa !5
  %5894 = call ptr @s2n_strerror_debug(i32 noundef %5893, ptr noundef @.str.3)
  %5895 = call ptr @__errno_location() #12
  %5896 = load i32, ptr %5895, align 4, !tbaa !5
  %5897 = call ptr @strerror(i32 noundef %5896) #11
  %5898 = call ptr @__errno_location() #12
  %5899 = load i32, ptr %5898, align 4, !tbaa !5
  %5900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5887, ptr noundef @.str.4, i32 noundef %5888, ptr noundef @.str.63, ptr noundef @.str.2, i32 noundef 344, ptr noundef %5891, ptr noundef %5894, ptr noundef %5897, i32 noundef %5899) #11
  br label %5901

5901:                                             ; preds = %5884, %5867
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #11
  br label %5902

5902:                                             ; preds = %5901
  br label %5903

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

5904:                                             ; No predecessors!
  br label %5905

5905:                                             ; preds = %5904
  br label %5906

5906:                                             ; preds = %5905, %5844
  br label %5907

5907:                                             ; preds = %5906
  br label %5908

5908:                                             ; preds = %5907
  br label %5909

5909:                                             ; preds = %5908
  %5910 = load i32, ptr @test_count, align 4, !tbaa !5
  %5911 = add nsw i32 %5910, 1
  store i32 %5911, ptr @test_count, align 4, !tbaa !5
  %5912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5913 = load i32, ptr %5912, align 4, !tbaa !5
  %5914 = icmp eq i32 %5913, 201326592
  br i1 %5914, label %5968, label %5915

5915:                                             ; preds = %5909
  br label %5916

5916:                                             ; preds = %5915
  br label %5917

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

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

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

5946:                                             ; preds = %5924, %5917
  %5947 = load i32, ptr %153, align 4, !tbaa !5
  %5948 = call ptr @__errno_location() #12
  store i32 %5947, ptr %5948, align 4, !tbaa !5
  %5949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5950 = load i32, ptr @test_count, align 4, !tbaa !5
  %5951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5952 = load i32, ptr %5951, align 4, !tbaa !5
  %5953 = call ptr @s2n_strerror(i32 noundef %5952, ptr noundef @.str.3)
  %5954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5955 = load i32, ptr %5954, align 4, !tbaa !5
  %5956 = call ptr @s2n_strerror_debug(i32 noundef %5955, ptr noundef @.str.3)
  %5957 = call ptr @__errno_location() #12
  %5958 = load i32, ptr %5957, align 4, !tbaa !5
  %5959 = call ptr @strerror(i32 noundef %5958) #11
  %5960 = call ptr @__errno_location() #12
  %5961 = load i32, ptr %5960, align 4, !tbaa !5
  %5962 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5949, ptr noundef @.str.4, i32 noundef %5950, ptr noundef @.str.35, ptr noundef @.str.2, i32 noundef 344, ptr noundef %5953, ptr noundef %5956, ptr noundef %5959, i32 noundef %5961) #11
  br label %5963

5963:                                             ; preds = %5946, %5929
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #11
  br label %5964

5964:                                             ; preds = %5963
  br label %5965

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

5966:                                             ; No predecessors!
  br label %5967

5967:                                             ; preds = %5966
  br label %5968

5968:                                             ; preds = %5967, %5909
  br label %5969

5969:                                             ; preds = %5968
  br label %5970

5970:                                             ; preds = %5969
  br label %5971

5971:                                             ; preds = %5970
  %5972 = load i32, ptr @test_count, align 4, !tbaa !5
  %5973 = add nsw i32 %5972, 1
  store i32 %5973, ptr @test_count, align 4, !tbaa !5
  %5974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5975 = load i32, ptr %5974, align 4, !tbaa !5
  %5976 = call ptr @s2n_strerror_debug(i32 noundef %5975, ptr noundef @.str.3)
  %5977 = icmp eq ptr %5976, null
  br i1 %5977, label %5978, label %6031

5978:                                             ; preds = %5971
  br label %5979

5979:                                             ; preds = %5978
  br label %5980

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

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

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

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

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

6027:                                             ; preds = %6026
  br label %6028

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

6029:                                             ; No predecessors!
  br label %6030

6030:                                             ; preds = %6029
  br label %6031

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

6032:                                             ; preds = %6031
  br label %6033

6033:                                             ; preds = %6032
  br label %6034

6034:                                             ; preds = %6033
  br label %6035

6035:                                             ; preds = %6034
  br label %6036

6036:                                             ; preds = %6035
  %6037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6037, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6038 = call ptr @__errno_location() #12
  store i32 0, ptr %6038, align 4, !tbaa !5
  br label %6039

6039:                                             ; preds = %6036
  br label %6040

6040:                                             ; preds = %6039
  br label %6041

6041:                                             ; preds = %6040
  br label %6042

6042:                                             ; preds = %6041
  br label %6043

6043:                                             ; preds = %6042
  %6044 = load i32, ptr @test_count, align 4, !tbaa !5
  %6045 = add nsw i32 %6044, 1
  store i32 %6045, ptr @test_count, align 4, !tbaa !5
  %6046 = load i32, ptr %125, align 4, !tbaa !5
  %6047 = icmp eq i32 %6046, 1
  br i1 %6047, label %6101, label %6048

6048:                                             ; preds = %6043
  br label %6049

6049:                                             ; preds = %6048
  br label %6050

6050:                                             ; preds = %6049
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #11
  %6051 = call ptr @__errno_location() #12
  %6052 = load i32, ptr %6051, align 4, !tbaa !5
  store i32 %6052, ptr %155, align 4, !tbaa !5
  %6053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6054 = call i32 @s2n_print_stacktrace(ptr noundef %6053)
  %6055 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6056 = trunc i8 %6055 to i1
  br i1 %6056, label %6057, label %6079

6057:                                             ; preds = %6050
  %6058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6059 = call i32 @fileno(ptr noundef %6058) #11
  %6060 = call i32 @isatty(i32 noundef %6059) #11
  %6061 = icmp ne i32 %6060, 0
  br i1 %6061, label %6062, label %6079

6062:                                             ; preds = %6057
  %6063 = load i32, ptr %155, align 4, !tbaa !5
  %6064 = call ptr @__errno_location() #12
  store i32 %6063, ptr %6064, align 4, !tbaa !5
  %6065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6066 = load i32, ptr @test_count, align 4, !tbaa !5
  %6067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6068 = load i32, ptr %6067, align 4, !tbaa !5
  %6069 = call ptr @s2n_strerror(i32 noundef %6068, ptr noundef @.str.3)
  %6070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6071 = load i32, ptr %6070, align 4, !tbaa !5
  %6072 = call ptr @s2n_strerror_debug(i32 noundef %6071, ptr noundef @.str.3)
  %6073 = call ptr @__errno_location() #12
  %6074 = load i32, ptr %6073, align 4, !tbaa !5
  %6075 = call ptr @strerror(i32 noundef %6074) #11
  %6076 = call ptr @__errno_location() #12
  %6077 = load i32, ptr %6076, align 4, !tbaa !5
  %6078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6065, ptr noundef @.str, i32 noundef %6066, ptr noundef @.str.62, ptr noundef @.str.2, i32 noundef 345, ptr noundef %6069, ptr noundef %6072, ptr noundef %6075, i32 noundef %6077) #11
  br label %6096

6079:                                             ; preds = %6057, %6050
  %6080 = load i32, ptr %155, align 4, !tbaa !5
  %6081 = call ptr @__errno_location() #12
  store i32 %6080, ptr %6081, align 4, !tbaa !5
  %6082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6083 = load i32, ptr @test_count, align 4, !tbaa !5
  %6084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6085 = load i32, ptr %6084, align 4, !tbaa !5
  %6086 = call ptr @s2n_strerror(i32 noundef %6085, ptr noundef @.str.3)
  %6087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6088 = load i32, ptr %6087, align 4, !tbaa !5
  %6089 = call ptr @s2n_strerror_debug(i32 noundef %6088, ptr noundef @.str.3)
  %6090 = call ptr @__errno_location() #12
  %6091 = load i32, ptr %6090, align 4, !tbaa !5
  %6092 = call ptr @strerror(i32 noundef %6091) #11
  %6093 = call ptr @__errno_location() #12
  %6094 = load i32, ptr %6093, align 4, !tbaa !5
  %6095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6082, ptr noundef @.str.4, i32 noundef %6083, ptr noundef @.str.62, ptr noundef @.str.2, i32 noundef 345, ptr noundef %6086, ptr noundef %6089, ptr noundef %6092, i32 noundef %6094) #11
  br label %6096

6096:                                             ; preds = %6079, %6062
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #11
  br label %6097

6097:                                             ; preds = %6096
  br label %6098

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

6099:                                             ; No predecessors!
  br label %6100

6100:                                             ; preds = %6099
  br label %6101

6101:                                             ; preds = %6100, %6043
  br label %6102

6102:                                             ; preds = %6101
  br label %6103

6103:                                             ; preds = %6102
  call void @llvm.lifetime.end.p0(i64 8, ptr %144) #11
  br label %6104

6104:                                             ; preds = %6103
  %6105 = load i64, ptr %138, align 8, !tbaa !15
  %6106 = add i64 %6105, 1
  store i64 %6106, ptr %138, align 8, !tbaa !15
  br label %5264, !llvm.loop !52

6107:                                             ; preds = %5267
  call void @llvm.lifetime.end.p0(i64 8, ptr %137) #11
  br label %6108

6108:                                             ; preds = %6107
  %6109 = load i64, ptr %134, align 8, !tbaa !15
  %6110 = add i64 %6109, 1
  store i64 %6110, ptr %134, align 8, !tbaa !15
  br label %5189, !llvm.loop !53

6111:                                             ; preds = %5192
  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 %126, align 8, !tbaa !9
  %6118 = call i32 @s2n_shutdown(ptr noundef %6117, ptr noundef %125)
  %6119 = icmp eq i32 %6118, -1
  br i1 %6119, label %6173, label %6120

6120:                                             ; preds = %6114
  br label %6121

6121:                                             ; preds = %6120
  br label %6122

6122:                                             ; preds = %6121
  call void @llvm.lifetime.start.p0(i64 4, ptr %156) #11
  %6123 = call ptr @__errno_location() #12
  %6124 = load i32, ptr %6123, align 4, !tbaa !5
  store i32 %6124, ptr %156, 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) #11
  %6132 = call i32 @isatty(i32 noundef %6131) #11
  %6133 = icmp ne i32 %6132, 0
  br i1 %6133, label %6134, label %6151

6134:                                             ; preds = %6129
  %6135 = load i32, ptr %156, align 4, !tbaa !5
  %6136 = call ptr @__errno_location() #12
  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() #12
  %6146 = load i32, ptr %6145, align 4, !tbaa !5
  %6147 = call ptr @strerror(i32 noundef %6146) #11
  %6148 = call ptr @__errno_location() #12
  %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.64, ptr noundef @.str.2, i32 noundef 349, ptr noundef %6141, ptr noundef %6144, ptr noundef %6147, i32 noundef %6149) #11
  br label %6168

6151:                                             ; preds = %6129, %6122
  %6152 = load i32, ptr %156, align 4, !tbaa !5
  %6153 = call ptr @__errno_location() #12
  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() #12
  %6163 = load i32, ptr %6162, align 4, !tbaa !5
  %6164 = call ptr @strerror(i32 noundef %6163) #11
  %6165 = call ptr @__errno_location() #12
  %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.64, ptr noundef @.str.2, i32 noundef 349, ptr noundef %6158, ptr noundef %6161, ptr noundef %6164, i32 noundef %6166) #11
  br label %6168

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

6169:                                             ; preds = %6168
  br label %6170

6170:                                             ; preds = %6169
  call void @exit(i32 noundef 1) #13
  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
  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 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6180 = load i32, ptr %6179, align 4, !tbaa !5
  %6181 = icmp eq i32 %6180, 201326592
  br i1 %6181, label %6235, label %6182

6182:                                             ; preds = %6176
  br label %6183

6183:                                             ; preds = %6182
  br label %6184

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

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

6196:                                             ; preds = %6191
  %6197 = load i32, ptr %157, align 4, !tbaa !5
  %6198 = call ptr @__errno_location() #12
  store i32 %6197, ptr %6198, align 4, !tbaa !5
  %6199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6200 = load i32, ptr @test_count, align 4, !tbaa !5
  %6201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6202 = load i32, ptr %6201, align 4, !tbaa !5
  %6203 = call ptr @s2n_strerror(i32 noundef %6202, ptr noundef @.str.3)
  %6204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6205 = load i32, ptr %6204, align 4, !tbaa !5
  %6206 = call ptr @s2n_strerror_debug(i32 noundef %6205, ptr noundef @.str.3)
  %6207 = call ptr @__errno_location() #12
  %6208 = load i32, ptr %6207, align 4, !tbaa !5
  %6209 = call ptr @strerror(i32 noundef %6208) #11
  %6210 = call ptr @__errno_location() #12
  %6211 = load i32, ptr %6210, align 4, !tbaa !5
  %6212 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6199, ptr noundef @.str, i32 noundef %6200, ptr noundef @.str.35, ptr noundef @.str.2, i32 noundef 349, ptr noundef %6203, ptr noundef %6206, ptr noundef %6209, i32 noundef %6211) #11
  br label %6230

6213:                                             ; preds = %6191, %6184
  %6214 = load i32, ptr %157, align 4, !tbaa !5
  %6215 = call ptr @__errno_location() #12
  store i32 %6214, ptr %6215, align 4, !tbaa !5
  %6216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6217 = load i32, ptr @test_count, align 4, !tbaa !5
  %6218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6219 = load i32, ptr %6218, align 4, !tbaa !5
  %6220 = call ptr @s2n_strerror(i32 noundef %6219, ptr noundef @.str.3)
  %6221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6222 = load i32, ptr %6221, align 4, !tbaa !5
  %6223 = call ptr @s2n_strerror_debug(i32 noundef %6222, ptr noundef @.str.3)
  %6224 = call ptr @__errno_location() #12
  %6225 = load i32, ptr %6224, align 4, !tbaa !5
  %6226 = call ptr @strerror(i32 noundef %6225) #11
  %6227 = call ptr @__errno_location() #12
  %6228 = load i32, ptr %6227, align 4, !tbaa !5
  %6229 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6216, ptr noundef @.str.4, i32 noundef %6217, ptr noundef @.str.35, ptr noundef @.str.2, i32 noundef 349, ptr noundef %6220, ptr noundef %6223, ptr noundef %6226, i32 noundef %6228) #11
  br label %6230

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

6231:                                             ; preds = %6230
  br label %6232

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

6233:                                             ; No predecessors!
  br label %6234

6234:                                             ; preds = %6233
  br label %6235

6235:                                             ; preds = %6234, %6176
  br label %6236

6236:                                             ; preds = %6235
  br label %6237

6237:                                             ; preds = %6236
  br label %6238

6238:                                             ; preds = %6237
  %6239 = load i32, ptr @test_count, align 4, !tbaa !5
  %6240 = add nsw i32 %6239, 1
  store i32 %6240, ptr @test_count, align 4, !tbaa !5
  %6241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6242 = load i32, ptr %6241, align 4, !tbaa !5
  %6243 = call ptr @s2n_strerror_debug(i32 noundef %6242, ptr noundef @.str.3)
  %6244 = icmp eq ptr %6243, null
  br i1 %6244, label %6245, label %6298

6245:                                             ; preds = %6238
  br label %6246

6246:                                             ; preds = %6245
  br label %6247

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

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

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

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

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

6294:                                             ; preds = %6293
  br label %6295

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

6296:                                             ; No predecessors!
  br label %6297

6297:                                             ; preds = %6296
  br label %6298

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

6299:                                             ; preds = %6298
  br label %6300

6300:                                             ; preds = %6299
  br label %6301

6301:                                             ; preds = %6300
  br label %6302

6302:                                             ; preds = %6301
  br label %6303

6303:                                             ; preds = %6302
  %6304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6304, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6305 = call ptr @__errno_location() #12
  store i32 0, ptr %6305, align 4, !tbaa !5
  br label %6306

6306:                                             ; preds = %6303
  br label %6307

6307:                                             ; preds = %6306
  br label %6308

6308:                                             ; preds = %6307
  br label %6309

6309:                                             ; preds = %6308
  br label %6310

6310:                                             ; preds = %6309
  %6311 = load i32, ptr @test_count, align 4, !tbaa !5
  %6312 = add nsw i32 %6311, 1
  store i32 %6312, ptr @test_count, align 4, !tbaa !5
  %6313 = load i32, ptr %125, align 4, !tbaa !5
  %6314 = icmp eq i32 %6313, 1
  br i1 %6314, label %6368, label %6315

6315:                                             ; preds = %6310
  br label %6316

6316:                                             ; preds = %6315
  br label %6317

6317:                                             ; preds = %6316
  call void @llvm.lifetime.start.p0(i64 4, ptr %159) #11
  %6318 = call ptr @__errno_location() #12
  %6319 = load i32, ptr %6318, align 4, !tbaa !5
  store i32 %6319, ptr %159, align 4, !tbaa !5
  %6320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6321 = call i32 @s2n_print_stacktrace(ptr noundef %6320)
  %6322 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6323 = trunc i8 %6322 to i1
  br i1 %6323, label %6324, label %6346

6324:                                             ; preds = %6317
  %6325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6326 = call i32 @fileno(ptr noundef %6325) #11
  %6327 = call i32 @isatty(i32 noundef %6326) #11
  %6328 = icmp ne i32 %6327, 0
  br i1 %6328, label %6329, label %6346

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

6346:                                             ; preds = %6324, %6317
  %6347 = load i32, ptr %159, align 4, !tbaa !5
  %6348 = call ptr @__errno_location() #12
  store i32 %6347, ptr %6348, align 4, !tbaa !5
  %6349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6350 = load i32, ptr @test_count, align 4, !tbaa !5
  %6351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6352 = load i32, ptr %6351, align 4, !tbaa !5
  %6353 = call ptr @s2n_strerror(i32 noundef %6352, ptr noundef @.str.3)
  %6354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6355 = load i32, ptr %6354, align 4, !tbaa !5
  %6356 = call ptr @s2n_strerror_debug(i32 noundef %6355, ptr noundef @.str.3)
  %6357 = call ptr @__errno_location() #12
  %6358 = load i32, ptr %6357, align 4, !tbaa !5
  %6359 = call ptr @strerror(i32 noundef %6358) #11
  %6360 = call ptr @__errno_location() #12
  %6361 = load i32, ptr %6360, align 4, !tbaa !5
  %6362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6349, ptr noundef @.str.4, i32 noundef %6350, ptr noundef @.str.62, ptr noundef @.str.2, i32 noundef 350, ptr noundef %6353, ptr noundef %6356, ptr noundef %6359, i32 noundef %6361) #11
  br label %6363

6363:                                             ; preds = %6346, %6329
  call void @llvm.lifetime.end.p0(i64 4, ptr %159) #11
  br label %6364

6364:                                             ; preds = %6363
  br label %6365

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

6366:                                             ; No predecessors!
  br label %6367

6367:                                             ; preds = %6366
  br label %6368

6368:                                             ; preds = %6367, %6310
  br label %6369

6369:                                             ; preds = %6368
  br label %6370

6370:                                             ; preds = %6369
  call void @llvm.lifetime.start.p0(i64 8, ptr %160) #11
  store i64 0, ptr %160, align 8, !tbaa !15
  br label %6371

6371:                                             ; preds = %6504, %6370
  %6372 = load i64, ptr %160, align 8, !tbaa !15
  %6373 = icmp ult i64 %6372, 10
  br i1 %6373, label %6375, label %6374

6374:                                             ; preds = %6371
  store i32 611, ptr %135, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %160) #11
  br label %6507

6375:                                             ; preds = %6371
  br label %6376

6376:                                             ; preds = %6375
  %6377 = load i32, ptr @test_count, align 4, !tbaa !5
  %6378 = add nsw i32 %6377, 1
  store i32 %6378, ptr @test_count, align 4, !tbaa !5
  %6379 = load ptr, ptr %128, align 8, !tbaa !9
  %6380 = getelementptr inbounds %struct.s2n_blob, ptr %123, i32 0, i32 0
  %6381 = load ptr, ptr %6380, align 8, !tbaa !45
  %6382 = getelementptr inbounds %struct.s2n_blob, ptr %123, i32 0, i32 1
  %6383 = load i32, ptr %6382, align 8, !tbaa !46
  %6384 = zext i32 %6383 to i64
  %6385 = call i64 @s2n_recv(ptr noundef %6379, ptr noundef %6381, i64 noundef %6384, ptr noundef %125)
  %6386 = icmp eq i64 %6385, 0
  br i1 %6386, label %6440, label %6387

6387:                                             ; preds = %6376
  br label %6388

6388:                                             ; preds = %6387
  br label %6389

6389:                                             ; preds = %6388
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #11
  %6390 = call ptr @__errno_location() #12
  %6391 = load i32, ptr %6390, align 4, !tbaa !5
  store i32 %6391, ptr %161, align 4, !tbaa !5
  %6392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6393 = call i32 @s2n_print_stacktrace(ptr noundef %6392)
  %6394 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6395 = trunc i8 %6394 to i1
  br i1 %6395, label %6396, label %6418

6396:                                             ; preds = %6389
  %6397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6398 = call i32 @fileno(ptr noundef %6397) #11
  %6399 = call i32 @isatty(i32 noundef %6398) #11
  %6400 = icmp ne i32 %6399, 0
  br i1 %6400, label %6401, label %6418

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

6418:                                             ; preds = %6396, %6389
  %6419 = load i32, ptr %161, align 4, !tbaa !5
  %6420 = call ptr @__errno_location() #12
  store i32 %6419, ptr %6420, align 4, !tbaa !5
  %6421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6422 = load i32, ptr @test_count, align 4, !tbaa !5
  %6423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6424 = load i32, ptr %6423, align 4, !tbaa !5
  %6425 = call ptr @s2n_strerror(i32 noundef %6424, ptr noundef @.str.3)
  %6426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6427 = load i32, ptr %6426, align 4, !tbaa !5
  %6428 = call ptr @s2n_strerror_debug(i32 noundef %6427, ptr noundef @.str.3)
  %6429 = call ptr @__errno_location() #12
  %6430 = load i32, ptr %6429, align 4, !tbaa !5
  %6431 = call ptr @strerror(i32 noundef %6430) #11
  %6432 = call ptr @__errno_location() #12
  %6433 = load i32, ptr %6432, align 4, !tbaa !5
  %6434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6421, ptr noundef @.str.4, i32 noundef %6422, ptr noundef @.str.65, ptr noundef @.str.2, i32 noundef 354, ptr noundef %6425, ptr noundef %6428, ptr noundef %6431, i32 noundef %6433) #11
  br label %6435

6435:                                             ; preds = %6418, %6401
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #11
  br label %6436

6436:                                             ; preds = %6435
  br label %6437

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

6438:                                             ; No predecessors!
  br label %6439

6439:                                             ; preds = %6438
  br label %6440

6440:                                             ; preds = %6439, %6376
  br label %6441

6441:                                             ; preds = %6440
  br label %6442

6442:                                             ; preds = %6441
  br label %6443

6443:                                             ; preds = %6442
  %6444 = load i32, ptr @test_count, align 4, !tbaa !5
  %6445 = add nsw i32 %6444, 1
  store i32 %6445, ptr @test_count, align 4, !tbaa !5
  %6446 = load i32, ptr %125, align 4, !tbaa !5
  %6447 = icmp eq i32 %6446, 0
  br i1 %6447, label %6501, label %6448

6448:                                             ; preds = %6443
  br label %6449

6449:                                             ; preds = %6448
  br label %6450

6450:                                             ; preds = %6449
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #11
  %6451 = call ptr @__errno_location() #12
  %6452 = load i32, ptr %6451, align 4, !tbaa !5
  store i32 %6452, ptr %162, align 4, !tbaa !5
  %6453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6454 = call i32 @s2n_print_stacktrace(ptr noundef %6453)
  %6455 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6456 = trunc i8 %6455 to i1
  br i1 %6456, label %6457, label %6479

6457:                                             ; preds = %6450
  %6458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6459 = call i32 @fileno(ptr noundef %6458) #11
  %6460 = call i32 @isatty(i32 noundef %6459) #11
  %6461 = icmp ne i32 %6460, 0
  br i1 %6461, label %6462, label %6479

6462:                                             ; preds = %6457
  %6463 = load i32, ptr %162, align 4, !tbaa !5
  %6464 = call ptr @__errno_location() #12
  store i32 %6463, ptr %6464, align 4, !tbaa !5
  %6465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6466 = load i32, ptr @test_count, align 4, !tbaa !5
  %6467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6468 = load i32, ptr %6467, align 4, !tbaa !5
  %6469 = call ptr @s2n_strerror(i32 noundef %6468, ptr noundef @.str.3)
  %6470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6471 = load i32, ptr %6470, align 4, !tbaa !5
  %6472 = call ptr @s2n_strerror_debug(i32 noundef %6471, ptr noundef @.str.3)
  %6473 = call ptr @__errno_location() #12
  %6474 = load i32, ptr %6473, align 4, !tbaa !5
  %6475 = call ptr @strerror(i32 noundef %6474) #11
  %6476 = call ptr @__errno_location() #12
  %6477 = load i32, ptr %6476, align 4, !tbaa !5
  %6478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6465, ptr noundef @.str, i32 noundef %6466, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 355, ptr noundef %6469, ptr noundef %6472, ptr noundef %6475, i32 noundef %6477) #11
  br label %6496

6479:                                             ; preds = %6457, %6450
  %6480 = load i32, ptr %162, align 4, !tbaa !5
  %6481 = call ptr @__errno_location() #12
  store i32 %6480, ptr %6481, align 4, !tbaa !5
  %6482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6483 = load i32, ptr @test_count, align 4, !tbaa !5
  %6484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6485 = load i32, ptr %6484, align 4, !tbaa !5
  %6486 = call ptr @s2n_strerror(i32 noundef %6485, ptr noundef @.str.3)
  %6487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6488 = load i32, ptr %6487, align 4, !tbaa !5
  %6489 = call ptr @s2n_strerror_debug(i32 noundef %6488, ptr noundef @.str.3)
  %6490 = call ptr @__errno_location() #12
  %6491 = load i32, ptr %6490, align 4, !tbaa !5
  %6492 = call ptr @strerror(i32 noundef %6491) #11
  %6493 = call ptr @__errno_location() #12
  %6494 = load i32, ptr %6493, align 4, !tbaa !5
  %6495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6482, ptr noundef @.str.4, i32 noundef %6483, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 355, ptr noundef %6486, ptr noundef %6489, ptr noundef %6492, i32 noundef %6494) #11
  br label %6496

6496:                                             ; preds = %6479, %6462
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #11
  br label %6497

6497:                                             ; preds = %6496
  br label %6498

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

6499:                                             ; No predecessors!
  br label %6500

6500:                                             ; preds = %6499
  br label %6501

6501:                                             ; preds = %6500, %6443
  br label %6502

6502:                                             ; preds = %6501
  br label %6503

6503:                                             ; preds = %6502
  br label %6504

6504:                                             ; preds = %6503
  %6505 = load i64, ptr %160, align 8, !tbaa !15
  %6506 = add i64 %6505, 1
  store i64 %6506, ptr %160, align 8, !tbaa !15
  br label %6371, !llvm.loop !54

6507:                                             ; preds = %6374
  br label %6508

6508:                                             ; preds = %6507
  %6509 = load i32, ptr @test_count, align 4, !tbaa !5
  %6510 = add nsw i32 %6509, 1
  store i32 %6510, ptr @test_count, align 4, !tbaa !5
  %6511 = load ptr, ptr %128, align 8, !tbaa !9
  %6512 = call i32 @s2n_shutdown(ptr noundef %6511, ptr noundef %125)
  %6513 = icmp eq i32 %6512, -1
  br i1 %6513, label %6514, label %6567

6514:                                             ; preds = %6508
  br label %6515

6515:                                             ; preds = %6514
  br label %6516

6516:                                             ; preds = %6515
  call void @llvm.lifetime.start.p0(i64 4, ptr %163) #11
  %6517 = call ptr @__errno_location() #12
  %6518 = load i32, ptr %6517, align 4, !tbaa !5
  store i32 %6518, ptr %163, align 4, !tbaa !5
  %6519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6520 = call i32 @s2n_print_stacktrace(ptr noundef %6519)
  %6521 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6522 = trunc i8 %6521 to i1
  br i1 %6522, label %6523, label %6545

6523:                                             ; preds = %6516
  %6524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6525 = call i32 @fileno(ptr noundef %6524) #11
  %6526 = call i32 @isatty(i32 noundef %6525) #11
  %6527 = icmp ne i32 %6526, 0
  br i1 %6527, label %6528, label %6545

6528:                                             ; preds = %6523
  %6529 = load i32, ptr %163, align 4, !tbaa !5
  %6530 = call ptr @__errno_location() #12
  store i32 %6529, ptr %6530, align 4, !tbaa !5
  %6531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6532 = load i32, ptr @test_count, align 4, !tbaa !5
  %6533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6534 = load i32, ptr %6533, align 4, !tbaa !5
  %6535 = call ptr @s2n_strerror(i32 noundef %6534, ptr noundef @.str.3)
  %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_debug(i32 noundef %6537, ptr noundef @.str.3)
  %6539 = call ptr @__errno_location() #12
  %6540 = load i32, ptr %6539, align 4, !tbaa !5
  %6541 = call ptr @strerror(i32 noundef %6540) #11
  %6542 = call ptr @__errno_location() #12
  %6543 = load i32, ptr %6542, align 4, !tbaa !5
  %6544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6531, ptr noundef @.str, i32 noundef %6532, ptr noundef @.str.66, ptr noundef @.str.2, i32 noundef 358, ptr noundef %6535, ptr noundef %6538, ptr noundef %6541, i32 noundef %6543) #11
  br label %6562

6545:                                             ; preds = %6523, %6516
  %6546 = load i32, ptr %163, align 4, !tbaa !5
  %6547 = call ptr @__errno_location() #12
  store i32 %6546, ptr %6547, align 4, !tbaa !5
  %6548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6549 = load i32, ptr @test_count, align 4, !tbaa !5
  %6550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6551 = load i32, ptr %6550, align 4, !tbaa !5
  %6552 = call ptr @s2n_strerror(i32 noundef %6551, ptr noundef @.str.3)
  %6553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6554 = load i32, ptr %6553, align 4, !tbaa !5
  %6555 = call ptr @s2n_strerror_debug(i32 noundef %6554, ptr noundef @.str.3)
  %6556 = call ptr @__errno_location() #12
  %6557 = load i32, ptr %6556, align 4, !tbaa !5
  %6558 = call ptr @strerror(i32 noundef %6557) #11
  %6559 = call ptr @__errno_location() #12
  %6560 = load i32, ptr %6559, align 4, !tbaa !5
  %6561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6548, ptr noundef @.str.4, i32 noundef %6549, ptr noundef @.str.66, ptr noundef @.str.2, i32 noundef 358, ptr noundef %6552, ptr noundef %6555, ptr noundef %6558, i32 noundef %6560) #11
  br label %6562

6562:                                             ; preds = %6545, %6528
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #11
  br label %6563

6563:                                             ; preds = %6562
  br label %6564

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

6565:                                             ; No predecessors!
  br label %6566

6566:                                             ; preds = %6565
  br label %6567

6567:                                             ; preds = %6566, %6508
  br label %6568

6568:                                             ; preds = %6567
  br label %6569

6569:                                             ; preds = %6568
  br label %6570

6570:                                             ; preds = %6569
  %6571 = load i32, ptr @test_count, align 4, !tbaa !5
  %6572 = add nsw i32 %6571, 1
  store i32 %6572, ptr @test_count, align 4, !tbaa !5
  %6573 = load i32, ptr %125, align 4, !tbaa !5
  %6574 = icmp eq i32 %6573, 0
  br i1 %6574, label %6628, label %6575

6575:                                             ; preds = %6570
  br label %6576

6576:                                             ; preds = %6575
  br label %6577

6577:                                             ; preds = %6576
  call void @llvm.lifetime.start.p0(i64 4, ptr %164) #11
  %6578 = call ptr @__errno_location() #12
  %6579 = load i32, ptr %6578, align 4, !tbaa !5
  store i32 %6579, ptr %164, align 4, !tbaa !5
  %6580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6581 = call i32 @s2n_print_stacktrace(ptr noundef %6580)
  %6582 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6583 = trunc i8 %6582 to i1
  br i1 %6583, label %6584, label %6606

6584:                                             ; preds = %6577
  %6585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6586 = call i32 @fileno(ptr noundef %6585) #11
  %6587 = call i32 @isatty(i32 noundef %6586) #11
  %6588 = icmp ne i32 %6587, 0
  br i1 %6588, label %6589, label %6606

6589:                                             ; preds = %6584
  %6590 = load i32, ptr %164, align 4, !tbaa !5
  %6591 = call ptr @__errno_location() #12
  store i32 %6590, ptr %6591, align 4, !tbaa !5
  %6592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6593 = load i32, ptr @test_count, align 4, !tbaa !5
  %6594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6595 = load i32, ptr %6594, align 4, !tbaa !5
  %6596 = call ptr @s2n_strerror(i32 noundef %6595, ptr noundef @.str.3)
  %6597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6598 = load i32, ptr %6597, align 4, !tbaa !5
  %6599 = call ptr @s2n_strerror_debug(i32 noundef %6598, ptr noundef @.str.3)
  %6600 = call ptr @__errno_location() #12
  %6601 = load i32, ptr %6600, align 4, !tbaa !5
  %6602 = call ptr @strerror(i32 noundef %6601) #11
  %6603 = call ptr @__errno_location() #12
  %6604 = load i32, ptr %6603, align 4, !tbaa !5
  %6605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6592, ptr noundef @.str, i32 noundef %6593, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 359, ptr noundef %6596, ptr noundef %6599, ptr noundef %6602, i32 noundef %6604) #11
  br label %6623

6606:                                             ; preds = %6584, %6577
  %6607 = load i32, ptr %164, align 4, !tbaa !5
  %6608 = call ptr @__errno_location() #12
  store i32 %6607, ptr %6608, align 4, !tbaa !5
  %6609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6610 = load i32, ptr @test_count, align 4, !tbaa !5
  %6611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6612 = load i32, ptr %6611, align 4, !tbaa !5
  %6613 = call ptr @s2n_strerror(i32 noundef %6612, ptr noundef @.str.3)
  %6614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6615 = load i32, ptr %6614, align 4, !tbaa !5
  %6616 = call ptr @s2n_strerror_debug(i32 noundef %6615, ptr noundef @.str.3)
  %6617 = call ptr @__errno_location() #12
  %6618 = load i32, ptr %6617, align 4, !tbaa !5
  %6619 = call ptr @strerror(i32 noundef %6618) #11
  %6620 = call ptr @__errno_location() #12
  %6621 = load i32, ptr %6620, align 4, !tbaa !5
  %6622 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6609, ptr noundef @.str.4, i32 noundef %6610, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 359, ptr noundef %6613, ptr noundef %6616, ptr noundef %6619, i32 noundef %6621) #11
  br label %6623

6623:                                             ; preds = %6606, %6589
  call void @llvm.lifetime.end.p0(i64 4, ptr %164) #11
  br label %6624

6624:                                             ; preds = %6623
  br label %6625

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

6626:                                             ; No predecessors!
  br label %6627

6627:                                             ; preds = %6626
  br label %6628

6628:                                             ; preds = %6627, %6570
  br label %6629

6629:                                             ; preds = %6628
  br label %6630

6630:                                             ; preds = %6629
  br label %6631

6631:                                             ; preds = %6630
  %6632 = load i32, ptr @test_count, align 4, !tbaa !5
  %6633 = add nsw i32 %6632, 1
  store i32 %6633, ptr @test_count, align 4, !tbaa !5
  %6634 = load ptr, ptr %126, align 8, !tbaa !9
  %6635 = call i32 @s2n_shutdown(ptr noundef %6634, ptr noundef %125)
  %6636 = icmp eq i32 %6635, -1
  br i1 %6636, label %6637, label %6690

6637:                                             ; preds = %6631
  br label %6638

6638:                                             ; preds = %6637
  br label %6639

6639:                                             ; preds = %6638
  call void @llvm.lifetime.start.p0(i64 4, ptr %165) #11
  %6640 = call ptr @__errno_location() #12
  %6641 = load i32, ptr %6640, align 4, !tbaa !5
  store i32 %6641, ptr %165, align 4, !tbaa !5
  %6642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6643 = call i32 @s2n_print_stacktrace(ptr noundef %6642)
  %6644 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6645 = trunc i8 %6644 to i1
  br i1 %6645, label %6646, label %6668

6646:                                             ; preds = %6639
  %6647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6648 = call i32 @fileno(ptr noundef %6647) #11
  %6649 = call i32 @isatty(i32 noundef %6648) #11
  %6650 = icmp ne i32 %6649, 0
  br i1 %6650, label %6651, label %6668

6651:                                             ; preds = %6646
  %6652 = load i32, ptr %165, align 4, !tbaa !5
  %6653 = call ptr @__errno_location() #12
  store i32 %6652, ptr %6653, align 4, !tbaa !5
  %6654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6655 = load i32, ptr @test_count, align 4, !tbaa !5
  %6656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6657 = load i32, ptr %6656, align 4, !tbaa !5
  %6658 = call ptr @s2n_strerror(i32 noundef %6657, ptr noundef @.str.3)
  %6659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6660 = load i32, ptr %6659, align 4, !tbaa !5
  %6661 = call ptr @s2n_strerror_debug(i32 noundef %6660, ptr noundef @.str.3)
  %6662 = call ptr @__errno_location() #12
  %6663 = load i32, ptr %6662, align 4, !tbaa !5
  %6664 = call ptr @strerror(i32 noundef %6663) #11
  %6665 = call ptr @__errno_location() #12
  %6666 = load i32, ptr %6665, align 4, !tbaa !5
  %6667 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6654, ptr noundef @.str, i32 noundef %6655, ptr noundef @.str.67, ptr noundef @.str.2, i32 noundef 360, ptr noundef %6658, ptr noundef %6661, ptr noundef %6664, i32 noundef %6666) #11
  br label %6685

6668:                                             ; preds = %6646, %6639
  %6669 = load i32, ptr %165, align 4, !tbaa !5
  %6670 = call ptr @__errno_location() #12
  store i32 %6669, ptr %6670, align 4, !tbaa !5
  %6671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6672 = load i32, ptr @test_count, align 4, !tbaa !5
  %6673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6674 = load i32, ptr %6673, align 4, !tbaa !5
  %6675 = call ptr @s2n_strerror(i32 noundef %6674, ptr noundef @.str.3)
  %6676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6677 = load i32, ptr %6676, align 4, !tbaa !5
  %6678 = call ptr @s2n_strerror_debug(i32 noundef %6677, ptr noundef @.str.3)
  %6679 = call ptr @__errno_location() #12
  %6680 = load i32, ptr %6679, align 4, !tbaa !5
  %6681 = call ptr @strerror(i32 noundef %6680) #11
  %6682 = call ptr @__errno_location() #12
  %6683 = load i32, ptr %6682, align 4, !tbaa !5
  %6684 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6671, ptr noundef @.str.4, i32 noundef %6672, ptr noundef @.str.67, ptr noundef @.str.2, i32 noundef 360, ptr noundef %6675, ptr noundef %6678, ptr noundef %6681, i32 noundef %6683) #11
  br label %6685

6685:                                             ; preds = %6668, %6651
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #11
  br label %6686

6686:                                             ; preds = %6685
  br label %6687

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

6688:                                             ; No predecessors!
  br label %6689

6689:                                             ; preds = %6688
  br label %6690

6690:                                             ; preds = %6689, %6631
  br label %6691

6691:                                             ; preds = %6690
  br label %6692

6692:                                             ; preds = %6691
  br label %6693

6693:                                             ; preds = %6692
  %6694 = load i32, ptr @test_count, align 4, !tbaa !5
  %6695 = add nsw i32 %6694, 1
  store i32 %6695, ptr @test_count, align 4, !tbaa !5
  %6696 = load i32, ptr %125, align 4, !tbaa !5
  %6697 = icmp eq i32 %6696, 0
  br i1 %6697, label %6751, label %6698

6698:                                             ; preds = %6693
  br label %6699

6699:                                             ; preds = %6698
  br label %6700

6700:                                             ; preds = %6699
  call void @llvm.lifetime.start.p0(i64 4, ptr %166) #11
  %6701 = call ptr @__errno_location() #12
  %6702 = load i32, ptr %6701, align 4, !tbaa !5
  store i32 %6702, ptr %166, align 4, !tbaa !5
  %6703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6704 = call i32 @s2n_print_stacktrace(ptr noundef %6703)
  %6705 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6706 = trunc i8 %6705 to i1
  br i1 %6706, label %6707, label %6729

6707:                                             ; preds = %6700
  %6708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6709 = call i32 @fileno(ptr noundef %6708) #11
  %6710 = call i32 @isatty(i32 noundef %6709) #11
  %6711 = icmp ne i32 %6710, 0
  br i1 %6711, label %6712, label %6729

6712:                                             ; preds = %6707
  %6713 = load i32, ptr %166, align 4, !tbaa !5
  %6714 = call ptr @__errno_location() #12
  store i32 %6713, ptr %6714, align 4, !tbaa !5
  %6715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6716 = load i32, ptr @test_count, align 4, !tbaa !5
  %6717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6718 = load i32, ptr %6717, align 4, !tbaa !5
  %6719 = call ptr @s2n_strerror(i32 noundef %6718, ptr noundef @.str.3)
  %6720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6721 = load i32, ptr %6720, align 4, !tbaa !5
  %6722 = call ptr @s2n_strerror_debug(i32 noundef %6721, ptr noundef @.str.3)
  %6723 = call ptr @__errno_location() #12
  %6724 = load i32, ptr %6723, align 4, !tbaa !5
  %6725 = call ptr @strerror(i32 noundef %6724) #11
  %6726 = call ptr @__errno_location() #12
  %6727 = load i32, ptr %6726, align 4, !tbaa !5
  %6728 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6715, ptr noundef @.str, i32 noundef %6716, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 361, ptr noundef %6719, ptr noundef %6722, ptr noundef %6725, i32 noundef %6727) #11
  br label %6746

6729:                                             ; preds = %6707, %6700
  %6730 = load i32, ptr %166, align 4, !tbaa !5
  %6731 = call ptr @__errno_location() #12
  store i32 %6730, ptr %6731, align 4, !tbaa !5
  %6732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6733 = load i32, ptr @test_count, align 4, !tbaa !5
  %6734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6735 = load i32, ptr %6734, align 4, !tbaa !5
  %6736 = call ptr @s2n_strerror(i32 noundef %6735, ptr noundef @.str.3)
  %6737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6738 = load i32, ptr %6737, align 4, !tbaa !5
  %6739 = call ptr @s2n_strerror_debug(i32 noundef %6738, ptr noundef @.str.3)
  %6740 = call ptr @__errno_location() #12
  %6741 = load i32, ptr %6740, align 4, !tbaa !5
  %6742 = call ptr @strerror(i32 noundef %6741) #11
  %6743 = call ptr @__errno_location() #12
  %6744 = load i32, ptr %6743, align 4, !tbaa !5
  %6745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6732, ptr noundef @.str.4, i32 noundef %6733, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 361, ptr noundef %6736, ptr noundef %6739, ptr noundef %6742, i32 noundef %6744) #11
  br label %6746

6746:                                             ; preds = %6729, %6712
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #11
  br label %6747

6747:                                             ; preds = %6746
  br label %6748

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

6749:                                             ; No predecessors!
  br label %6750

6750:                                             ; preds = %6749
  br label %6751

6751:                                             ; preds = %6750, %6693
  br label %6752

6752:                                             ; preds = %6751
  br label %6753

6753:                                             ; preds = %6752
  %6754 = call i32 @s2n_io_pair_close(ptr noundef %130)
  call void @llvm.lifetime.end.p0(i64 8, ptr %130) #11
  %6755 = call i32 @s2n_connection_ptr_free(ptr noundef %128)
  %6756 = getelementptr inbounds %struct.s2n_result, ptr %167, i32 0, i32 0
  store i32 %6755, ptr %6756, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %128) #11
  %6757 = call i32 @s2n_connection_ptr_free(ptr noundef %126)
  %6758 = getelementptr inbounds %struct.s2n_result, ptr %168, i32 0, i32 0
  store i32 %6757, ptr %6758, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %126) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #11
  %6759 = call i32 @s2n_free(ptr noundef %123)
  call void @llvm.lifetime.end.p0(i64 24, ptr %123) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %122) #11
  %6760 = call i32 @s2n_free(ptr noundef %120)
  call void @llvm.lifetime.end.p0(i64 24, ptr %120) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %119) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %118) #11
  call void @llvm.lifetime.start.p0(i64 100, ptr %169) #11
  call void @llvm.memset.p0.i64(ptr align 16 %169, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr %170) #11
  call void @llvm.memset.p0.i64(ptr align 8 %170, i8 0, i64 24, i1 false)
  br label %6761

6761:                                             ; preds = %6753
  %6762 = load i32, ptr @test_count, align 4, !tbaa !5
  %6763 = add nsw i32 %6762, 1
  store i32 %6763, ptr @test_count, align 4, !tbaa !5
  %6764 = getelementptr inbounds [100 x i8], ptr %169, i64 0, i64 0
  %6765 = call i32 @s2n_blob_init(ptr noundef %170, ptr noundef %6764, i32 noundef 100)
  %6766 = icmp eq i32 %6765, -1
  br i1 %6766, label %6767, label %6820

6767:                                             ; preds = %6761
  br label %6768

6768:                                             ; preds = %6767
  br label %6769

6769:                                             ; preds = %6768
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #11
  %6770 = call ptr @__errno_location() #12
  %6771 = load i32, ptr %6770, align 4, !tbaa !5
  store i32 %6771, ptr %171, align 4, !tbaa !5
  %6772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6773 = call i32 @s2n_print_stacktrace(ptr noundef %6772)
  %6774 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6775 = trunc i8 %6774 to i1
  br i1 %6775, label %6776, label %6798

6776:                                             ; preds = %6769
  %6777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6778 = call i32 @fileno(ptr noundef %6777) #11
  %6779 = call i32 @isatty(i32 noundef %6778) #11
  %6780 = icmp ne i32 %6779, 0
  br i1 %6780, label %6781, label %6798

6781:                                             ; preds = %6776
  %6782 = load i32, ptr %171, align 4, !tbaa !5
  %6783 = call ptr @__errno_location() #12
  store i32 %6782, ptr %6783, align 4, !tbaa !5
  %6784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6785 = load i32, ptr @test_count, align 4, !tbaa !5
  %6786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6787 = load i32, ptr %6786, align 4, !tbaa !5
  %6788 = call ptr @s2n_strerror(i32 noundef %6787, ptr noundef @.str.3)
  %6789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6790 = load i32, ptr %6789, align 4, !tbaa !5
  %6791 = call ptr @s2n_strerror_debug(i32 noundef %6790, ptr noundef @.str.3)
  %6792 = call ptr @__errno_location() #12
  %6793 = load i32, ptr %6792, align 4, !tbaa !5
  %6794 = call ptr @strerror(i32 noundef %6793) #11
  %6795 = call ptr @__errno_location() #12
  %6796 = load i32, ptr %6795, align 4, !tbaa !5
  %6797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6784, ptr noundef @.str, i32 noundef %6785, ptr noundef @.str.68, ptr noundef @.str.2, i32 noundef 368, ptr noundef %6788, ptr noundef %6791, ptr noundef %6794, i32 noundef %6796) #11
  br label %6815

6798:                                             ; preds = %6776, %6769
  %6799 = load i32, ptr %171, align 4, !tbaa !5
  %6800 = call ptr @__errno_location() #12
  store i32 %6799, ptr %6800, align 4, !tbaa !5
  %6801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6802 = load i32, ptr @test_count, align 4, !tbaa !5
  %6803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6804 = load i32, ptr %6803, align 4, !tbaa !5
  %6805 = call ptr @s2n_strerror(i32 noundef %6804, ptr noundef @.str.3)
  %6806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6807 = load i32, ptr %6806, align 4, !tbaa !5
  %6808 = call ptr @s2n_strerror_debug(i32 noundef %6807, ptr noundef @.str.3)
  %6809 = call ptr @__errno_location() #12
  %6810 = load i32, ptr %6809, align 4, !tbaa !5
  %6811 = call ptr @strerror(i32 noundef %6810) #11
  %6812 = call ptr @__errno_location() #12
  %6813 = load i32, ptr %6812, align 4, !tbaa !5
  %6814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6801, ptr noundef @.str.4, i32 noundef %6802, ptr noundef @.str.68, ptr noundef @.str.2, i32 noundef 368, ptr noundef %6805, ptr noundef %6808, ptr noundef %6811, i32 noundef %6813) #11
  br label %6815

6815:                                             ; preds = %6798, %6781
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #11
  br label %6816

6816:                                             ; preds = %6815
  br label %6817

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

6818:                                             ; No predecessors!
  br label %6819

6819:                                             ; preds = %6818
  br label %6820

6820:                                             ; preds = %6819, %6761
  br label %6821

6821:                                             ; preds = %6820
  br label %6822

6822:                                             ; preds = %6821
  br label %6823

6823:                                             ; preds = %6822
  %6824 = load i32, ptr @test_count, align 4, !tbaa !5
  %6825 = add nsw i32 %6824, 1
  store i32 %6825, ptr @test_count, align 4, !tbaa !5
  %6826 = call i32 @s2n_get_public_random_data(ptr noundef %170)
  %6827 = getelementptr inbounds %struct.s2n_result, ptr %172, i32 0, i32 0
  store i32 %6826, ptr %6827, align 4
  %6828 = getelementptr inbounds %struct.s2n_result, ptr %172, i32 0, i32 0
  %6829 = load i32, ptr %6828, align 4
  %6830 = call zeroext i1 @s2n_result_is_ok(i32 %6829)
  br i1 %6830, label %6884, label %6831

6831:                                             ; preds = %6823
  br label %6832

6832:                                             ; preds = %6831
  br label %6833

6833:                                             ; preds = %6832
  call void @llvm.lifetime.start.p0(i64 4, ptr %173) #11
  %6834 = call ptr @__errno_location() #12
  %6835 = load i32, ptr %6834, align 4, !tbaa !5
  store i32 %6835, ptr %173, align 4, !tbaa !5
  %6836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6837 = call i32 @s2n_print_stacktrace(ptr noundef %6836)
  %6838 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6839 = trunc i8 %6838 to i1
  br i1 %6839, label %6840, label %6862

6840:                                             ; preds = %6833
  %6841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6842 = call i32 @fileno(ptr noundef %6841) #11
  %6843 = call i32 @isatty(i32 noundef %6842) #11
  %6844 = icmp ne i32 %6843, 0
  br i1 %6844, label %6845, label %6862

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

6862:                                             ; preds = %6840, %6833
  %6863 = load i32, ptr %173, align 4, !tbaa !5
  %6864 = call ptr @__errno_location() #12
  store i32 %6863, ptr %6864, align 4, !tbaa !5
  %6865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6866 = load i32, ptr @test_count, align 4, !tbaa !5
  %6867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6868 = load i32, ptr %6867, align 4, !tbaa !5
  %6869 = call ptr @s2n_strerror(i32 noundef %6868, ptr noundef @.str.3)
  %6870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6871 = load i32, ptr %6870, align 4, !tbaa !5
  %6872 = call ptr @s2n_strerror_debug(i32 noundef %6871, ptr noundef @.str.3)
  %6873 = call ptr @__errno_location() #12
  %6874 = load i32, ptr %6873, align 4, !tbaa !5
  %6875 = call ptr @strerror(i32 noundef %6874) #11
  %6876 = call ptr @__errno_location() #12
  %6877 = load i32, ptr %6876, align 4, !tbaa !5
  %6878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6865, ptr noundef @.str.4, i32 noundef %6866, ptr noundef @.str.69, ptr noundef @.str.2, i32 noundef 369, ptr noundef %6869, ptr noundef %6872, ptr noundef %6875, i32 noundef %6877) #11
  br label %6879

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

6880:                                             ; preds = %6879
  br label %6881

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

6882:                                             ; No predecessors!
  br label %6883

6883:                                             ; preds = %6882
  br label %6884

6884:                                             ; preds = %6883, %6823
  br label %6885

6885:                                             ; preds = %6884
  br label %6886

6886:                                             ; preds = %6885
  call void @llvm.lifetime.start.p0(i64 16, ptr %174) #11
  %6887 = getelementptr inbounds %struct.iovec, ptr %174, i32 0, i32 0
  %6888 = getelementptr inbounds [100 x i8], ptr %169, i64 0, i64 0
  store ptr %6888, ptr %6887, align 8, !tbaa !55
  %6889 = getelementptr inbounds %struct.iovec, ptr %174, i32 0, i32 1
  store i64 100, ptr %6889, align 8, !tbaa !57
  call void @llvm.lifetime.start.p0(i64 4, ptr %175) #11
  store i32 0, ptr %175, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %176) #11
  %6890 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %6890, ptr %176, align 8, !tbaa !9
  br label %6891

6891:                                             ; preds = %6886
  %6892 = load i32, ptr @test_count, align 4, !tbaa !5
  %6893 = add nsw i32 %6892, 1
  store i32 %6893, ptr @test_count, align 4, !tbaa !5
  %6894 = load ptr, ptr %176, align 8, !tbaa !9
  %6895 = icmp eq ptr %6894, null
  br i1 %6895, label %6896, label %6949

6896:                                             ; preds = %6891
  br label %6897

6897:                                             ; preds = %6896
  br label %6898

6898:                                             ; preds = %6897
  call void @llvm.lifetime.start.p0(i64 4, ptr %177) #11
  %6899 = call ptr @__errno_location() #12
  %6900 = load i32, ptr %6899, align 4, !tbaa !5
  store i32 %6900, ptr %177, align 4, !tbaa !5
  %6901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6902 = call i32 @s2n_print_stacktrace(ptr noundef %6901)
  %6903 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6904 = trunc i8 %6903 to i1
  br i1 %6904, label %6905, label %6927

6905:                                             ; preds = %6898
  %6906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6907 = call i32 @fileno(ptr noundef %6906) #11
  %6908 = call i32 @isatty(i32 noundef %6907) #11
  %6909 = icmp ne i32 %6908, 0
  br i1 %6909, label %6910, label %6927

6910:                                             ; preds = %6905
  %6911 = load i32, ptr %177, align 4, !tbaa !5
  %6912 = call ptr @__errno_location() #12
  store i32 %6911, ptr %6912, align 4, !tbaa !5
  %6913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6914 = load i32, ptr @test_count, align 4, !tbaa !5
  %6915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6916 = load i32, ptr %6915, align 4, !tbaa !5
  %6917 = call ptr @s2n_strerror(i32 noundef %6916, ptr noundef @.str.3)
  %6918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6919 = load i32, ptr %6918, align 4, !tbaa !5
  %6920 = call ptr @s2n_strerror_debug(i32 noundef %6919, ptr noundef @.str.3)
  %6921 = call ptr @__errno_location() #12
  %6922 = load i32, ptr %6921, align 4, !tbaa !5
  %6923 = call ptr @strerror(i32 noundef %6922) #11
  %6924 = call ptr @__errno_location() #12
  %6925 = load i32, ptr %6924, align 4, !tbaa !5
  %6926 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6913, ptr noundef @.str, i32 noundef %6914, ptr noundef @.str.70, ptr noundef @.str.2, i32 noundef 382, ptr noundef %6917, ptr noundef %6920, ptr noundef %6923, i32 noundef %6925) #11
  br label %6944

6927:                                             ; preds = %6905, %6898
  %6928 = load i32, ptr %177, align 4, !tbaa !5
  %6929 = call ptr @__errno_location() #12
  store i32 %6928, ptr %6929, align 4, !tbaa !5
  %6930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6931 = load i32, ptr @test_count, align 4, !tbaa !5
  %6932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6933 = load i32, ptr %6932, align 4, !tbaa !5
  %6934 = call ptr @s2n_strerror(i32 noundef %6933, ptr noundef @.str.3)
  %6935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6936 = load i32, ptr %6935, align 4, !tbaa !5
  %6937 = call ptr @s2n_strerror_debug(i32 noundef %6936, ptr noundef @.str.3)
  %6938 = call ptr @__errno_location() #12
  %6939 = load i32, ptr %6938, align 4, !tbaa !5
  %6940 = call ptr @strerror(i32 noundef %6939) #11
  %6941 = call ptr @__errno_location() #12
  %6942 = load i32, ptr %6941, align 4, !tbaa !5
  %6943 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6930, ptr noundef @.str.4, i32 noundef %6931, ptr noundef @.str.70, ptr noundef @.str.2, i32 noundef 382, ptr noundef %6934, ptr noundef %6937, ptr noundef %6940, i32 noundef %6942) #11
  br label %6944

6944:                                             ; preds = %6927, %6910
  call void @llvm.lifetime.end.p0(i64 4, ptr %177) #11
  br label %6945

6945:                                             ; preds = %6944
  br label %6946

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

6947:                                             ; No predecessors!
  br label %6948

6948:                                             ; preds = %6947
  br label %6949

6949:                                             ; preds = %6948, %6891
  br label %6950

6950:                                             ; preds = %6949
  br label %6951

6951:                                             ; preds = %6950
  %6952 = load ptr, ptr %176, align 8, !tbaa !9
  call void @s2n_ktls_configure_connection(ptr noundef %6952, i32 noundef 1)
  call void @llvm.lifetime.start.p0(i64 192, ptr %178) #11
  call void @llvm.memset.p0.i64(ptr align 8 %178, i8 0, i64 192, i1 false)
  br label %6953

6953:                                             ; preds = %6951
  %6954 = load i32, ptr @test_count, align 4, !tbaa !5
  %6955 = add nsw i32 %6954, 1
  store i32 %6955, ptr @test_count, align 4, !tbaa !5
  %6956 = load ptr, ptr %176, align 8, !tbaa !9
  %6957 = load ptr, ptr %176, align 8, !tbaa !9
  %6958 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef %6956, ptr noundef %6957, ptr noundef %178)
  %6959 = getelementptr inbounds %struct.s2n_result, ptr %179, i32 0, i32 0
  store i32 %6958, ptr %6959, align 4
  %6960 = getelementptr inbounds %struct.s2n_result, ptr %179, i32 0, i32 0
  %6961 = load i32, ptr %6960, align 4
  %6962 = call zeroext i1 @s2n_result_is_ok(i32 %6961)
  br i1 %6962, label %7016, label %6963

6963:                                             ; preds = %6953
  br label %6964

6964:                                             ; preds = %6963
  br label %6965

6965:                                             ; preds = %6964
  call void @llvm.lifetime.start.p0(i64 4, ptr %180) #11
  %6966 = call ptr @__errno_location() #12
  %6967 = load i32, ptr %6966, align 4, !tbaa !5
  store i32 %6967, ptr %180, align 4, !tbaa !5
  %6968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6969 = call i32 @s2n_print_stacktrace(ptr noundef %6968)
  %6970 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6971 = trunc i8 %6970 to i1
  br i1 %6971, label %6972, label %6994

6972:                                             ; preds = %6965
  %6973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6974 = call i32 @fileno(ptr noundef %6973) #11
  %6975 = call i32 @isatty(i32 noundef %6974) #11
  %6976 = icmp ne i32 %6975, 0
  br i1 %6976, label %6977, label %6994

6977:                                             ; preds = %6972
  %6978 = load i32, ptr %180, align 4, !tbaa !5
  %6979 = call ptr @__errno_location() #12
  store i32 %6978, ptr %6979, align 4, !tbaa !5
  %6980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6981 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6983, ptr noundef @.str.3)
  %6985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6986 = load i32, ptr %6985, align 4, !tbaa !5
  %6987 = call ptr @s2n_strerror_debug(i32 noundef %6986, ptr noundef @.str.3)
  %6988 = call ptr @__errno_location() #12
  %6989 = load i32, ptr %6988, align 4, !tbaa !5
  %6990 = call ptr @strerror(i32 noundef %6989) #11
  %6991 = call ptr @__errno_location() #12
  %6992 = load i32, ptr %6991, align 4, !tbaa !5
  %6993 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6980, ptr noundef @.str, i32 noundef %6981, ptr noundef @.str.71, ptr noundef @.str.2, i32 noundef 387, ptr noundef %6984, ptr noundef %6987, ptr noundef %6990, i32 noundef %6992) #11
  br label %7011

6994:                                             ; preds = %6972, %6965
  %6995 = load i32, ptr %180, align 4, !tbaa !5
  %6996 = call ptr @__errno_location() #12
  store i32 %6995, ptr %6996, align 4, !tbaa !5
  %6997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6998 = load i32, ptr @test_count, align 4, !tbaa !5
  %6999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7000 = load i32, ptr %6999, align 4, !tbaa !5
  %7001 = call ptr @s2n_strerror(i32 noundef %7000, ptr noundef @.str.3)
  %7002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7003 = load i32, ptr %7002, align 4, !tbaa !5
  %7004 = call ptr @s2n_strerror_debug(i32 noundef %7003, ptr noundef @.str.3)
  %7005 = call ptr @__errno_location() #12
  %7006 = load i32, ptr %7005, align 4, !tbaa !5
  %7007 = call ptr @strerror(i32 noundef %7006) #11
  %7008 = call ptr @__errno_location() #12
  %7009 = load i32, ptr %7008, align 4, !tbaa !5
  %7010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6997, ptr noundef @.str.4, i32 noundef %6998, ptr noundef @.str.71, ptr noundef @.str.2, i32 noundef 387, ptr noundef %7001, ptr noundef %7004, ptr noundef %7007, i32 noundef %7009) #11
  br label %7011

7011:                                             ; preds = %6994, %6977
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #11
  br label %7012

7012:                                             ; preds = %7011
  br label %7013

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

7014:                                             ; No predecessors!
  br label %7015

7015:                                             ; preds = %7014
  br label %7016

7016:                                             ; preds = %7015, %6953
  br label %7017

7017:                                             ; preds = %7016
  br label %7018

7018:                                             ; preds = %7017
  call void @llvm.lifetime.start.p0(i64 8, ptr %181) #11
  %7019 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer_pair, ptr %178, i32 0, i32 0
  store ptr %7019, ptr %181, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %182) #11
  store i64 0, ptr %182, align 8, !tbaa !15
  br label %7020

7020:                                             ; preds = %7018
  %7021 = load i32, ptr @test_count, align 4, !tbaa !5
  %7022 = add nsw i32 %7021, 1
  store i32 %7022, ptr @test_count, align 4, !tbaa !5
  %7023 = load ptr, ptr %181, align 8, !tbaa !9
  %7024 = call i32 @s2n_ktls_sendmsg(ptr noundef %7023, i8 noundef zeroext 23, ptr noundef %174, i64 noundef 1, ptr noundef %175, ptr noundef %182)
  %7025 = getelementptr inbounds %struct.s2n_result, ptr %183, i32 0, i32 0
  store i32 %7024, ptr %7025, align 4
  %7026 = getelementptr inbounds %struct.s2n_result, ptr %183, i32 0, i32 0
  %7027 = load i32, ptr %7026, align 4
  %7028 = call zeroext i1 @s2n_result_is_ok(i32 %7027)
  br i1 %7028, label %7082, label %7029

7029:                                             ; preds = %7020
  br label %7030

7030:                                             ; preds = %7029
  br label %7031

7031:                                             ; preds = %7030
  call void @llvm.lifetime.start.p0(i64 4, ptr %184) #11
  %7032 = call ptr @__errno_location() #12
  %7033 = load i32, ptr %7032, align 4, !tbaa !5
  store i32 %7033, ptr %184, align 4, !tbaa !5
  %7034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7035 = call i32 @s2n_print_stacktrace(ptr noundef %7034)
  %7036 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7037 = trunc i8 %7036 to i1
  br i1 %7037, label %7038, label %7060

7038:                                             ; preds = %7031
  %7039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7040 = call i32 @fileno(ptr noundef %7039) #11
  %7041 = call i32 @isatty(i32 noundef %7040) #11
  %7042 = icmp ne i32 %7041, 0
  br i1 %7042, label %7043, label %7060

7043:                                             ; preds = %7038
  %7044 = load i32, ptr %184, align 4, !tbaa !5
  %7045 = call ptr @__errno_location() #12
  store i32 %7044, ptr %7045, align 4, !tbaa !5
  %7046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7047 = load i32, ptr @test_count, align 4, !tbaa !5
  %7048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7049 = load i32, ptr %7048, align 4, !tbaa !5
  %7050 = call ptr @s2n_strerror(i32 noundef %7049, ptr noundef @.str.3)
  %7051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7052 = load i32, ptr %7051, align 4, !tbaa !5
  %7053 = call ptr @s2n_strerror_debug(i32 noundef %7052, ptr noundef @.str.3)
  %7054 = call ptr @__errno_location() #12
  %7055 = load i32, ptr %7054, align 4, !tbaa !5
  %7056 = call ptr @strerror(i32 noundef %7055) #11
  %7057 = call ptr @__errno_location() #12
  %7058 = load i32, ptr %7057, align 4, !tbaa !5
  %7059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7046, ptr noundef @.str, i32 noundef %7047, ptr noundef @.str.72, ptr noundef @.str.2, i32 noundef 392, ptr noundef %7050, ptr noundef %7053, ptr noundef %7056, i32 noundef %7058) #11
  br label %7077

7060:                                             ; preds = %7038, %7031
  %7061 = load i32, ptr %184, align 4, !tbaa !5
  %7062 = call ptr @__errno_location() #12
  store i32 %7061, ptr %7062, align 4, !tbaa !5
  %7063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7064 = load i32, ptr @test_count, align 4, !tbaa !5
  %7065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7066 = load i32, ptr %7065, align 4, !tbaa !5
  %7067 = call ptr @s2n_strerror(i32 noundef %7066, ptr noundef @.str.3)
  %7068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7069 = load i32, ptr %7068, align 4, !tbaa !5
  %7070 = call ptr @s2n_strerror_debug(i32 noundef %7069, ptr noundef @.str.3)
  %7071 = call ptr @__errno_location() #12
  %7072 = load i32, ptr %7071, align 4, !tbaa !5
  %7073 = call ptr @strerror(i32 noundef %7072) #11
  %7074 = call ptr @__errno_location() #12
  %7075 = load i32, ptr %7074, align 4, !tbaa !5
  %7076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7063, ptr noundef @.str.4, i32 noundef %7064, ptr noundef @.str.72, ptr noundef @.str.2, i32 noundef 392, ptr noundef %7067, ptr noundef %7070, ptr noundef %7073, i32 noundef %7075) #11
  br label %7077

7077:                                             ; preds = %7060, %7043
  call void @llvm.lifetime.end.p0(i64 4, ptr %184) #11
  br label %7078

7078:                                             ; preds = %7077
  br label %7079

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

7080:                                             ; No predecessors!
  br label %7081

7081:                                             ; preds = %7080
  br label %7082

7082:                                             ; preds = %7081, %7020
  br label %7083

7083:                                             ; preds = %7082
  br label %7084

7084:                                             ; preds = %7083
  br label %7085

7085:                                             ; preds = %7084
  %7086 = load i32, ptr @test_count, align 4, !tbaa !5
  %7087 = add nsw i32 %7086, 1
  store i32 %7087, ptr @test_count, align 4, !tbaa !5
  %7088 = load i64, ptr %182, align 8, !tbaa !15
  %7089 = icmp eq i64 %7088, 100
  br i1 %7089, label %7143, label %7090

7090:                                             ; preds = %7085
  br label %7091

7091:                                             ; preds = %7090
  br label %7092

7092:                                             ; preds = %7091
  call void @llvm.lifetime.start.p0(i64 4, ptr %185) #11
  %7093 = call ptr @__errno_location() #12
  %7094 = load i32, ptr %7093, align 4, !tbaa !5
  store i32 %7094, ptr %185, align 4, !tbaa !5
  %7095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7096 = call i32 @s2n_print_stacktrace(ptr noundef %7095)
  %7097 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7098 = trunc i8 %7097 to i1
  br i1 %7098, label %7099, label %7121

7099:                                             ; preds = %7092
  %7100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7101 = call i32 @fileno(ptr noundef %7100) #11
  %7102 = call i32 @isatty(i32 noundef %7101) #11
  %7103 = icmp ne i32 %7102, 0
  br i1 %7103, label %7104, label %7121

7104:                                             ; preds = %7099
  %7105 = load i32, ptr %185, align 4, !tbaa !5
  %7106 = call ptr @__errno_location() #12
  store i32 %7105, ptr %7106, align 4, !tbaa !5
  %7107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7108 = load i32, ptr @test_count, align 4, !tbaa !5
  %7109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7110 = load i32, ptr %7109, align 4, !tbaa !5
  %7111 = call ptr @s2n_strerror(i32 noundef %7110, ptr noundef @.str.3)
  %7112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7113 = load i32, ptr %7112, align 4, !tbaa !5
  %7114 = call ptr @s2n_strerror_debug(i32 noundef %7113, ptr noundef @.str.3)
  %7115 = call ptr @__errno_location() #12
  %7116 = load i32, ptr %7115, align 4, !tbaa !5
  %7117 = call ptr @strerror(i32 noundef %7116) #11
  %7118 = call ptr @__errno_location() #12
  %7119 = load i32, ptr %7118, align 4, !tbaa !5
  %7120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7107, ptr noundef @.str, i32 noundef %7108, ptr noundef @.str.73, ptr noundef @.str.2, i32 noundef 393, ptr noundef %7111, ptr noundef %7114, ptr noundef %7117, i32 noundef %7119) #11
  br label %7138

7121:                                             ; preds = %7099, %7092
  %7122 = load i32, ptr %185, align 4, !tbaa !5
  %7123 = call ptr @__errno_location() #12
  store i32 %7122, ptr %7123, align 4, !tbaa !5
  %7124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7125 = load i32, ptr @test_count, align 4, !tbaa !5
  %7126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7127 = load i32, ptr %7126, align 4, !tbaa !5
  %7128 = call ptr @s2n_strerror(i32 noundef %7127, ptr noundef @.str.3)
  %7129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7130 = load i32, ptr %7129, align 4, !tbaa !5
  %7131 = call ptr @s2n_strerror_debug(i32 noundef %7130, ptr noundef @.str.3)
  %7132 = call ptr @__errno_location() #12
  %7133 = load i32, ptr %7132, align 4, !tbaa !5
  %7134 = call ptr @strerror(i32 noundef %7133) #11
  %7135 = call ptr @__errno_location() #12
  %7136 = load i32, ptr %7135, align 4, !tbaa !5
  %7137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7124, ptr noundef @.str.4, i32 noundef %7125, ptr noundef @.str.73, ptr noundef @.str.2, i32 noundef 393, ptr noundef %7128, ptr noundef %7131, ptr noundef %7134, i32 noundef %7136) #11
  br label %7138

7138:                                             ; preds = %7121, %7104
  call void @llvm.lifetime.end.p0(i64 4, ptr %185) #11
  br label %7139

7139:                                             ; preds = %7138
  br label %7140

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

7141:                                             ; No predecessors!
  br label %7142

7142:                                             ; preds = %7141
  br label %7143

7143:                                             ; preds = %7142, %7085
  br label %7144

7144:                                             ; preds = %7143
  br label %7145

7145:                                             ; preds = %7144
  call void @llvm.lifetime.start.p0(i64 100, ptr %186) #11
  call void @llvm.memset.p0.i64(ptr align 16 %186, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %187) #11
  %7146 = load ptr, ptr %176, align 8, !tbaa !9
  %7147 = getelementptr inbounds [100 x i8], ptr %186, i64 0, i64 0
  %7148 = call i64 @s2n_recv(ptr noundef %7146, ptr noundef %7147, i64 noundef 100, ptr noundef %175)
  %7149 = trunc i64 %7148 to i32
  store i32 %7149, ptr %187, align 4, !tbaa !5
  br label %7150

7150:                                             ; preds = %7145
  %7151 = load i32, ptr @test_count, align 4, !tbaa !5
  %7152 = add nsw i32 %7151, 1
  store i32 %7152, ptr @test_count, align 4, !tbaa !5
  %7153 = load i32, ptr %187, align 4, !tbaa !5
  %7154 = sext i32 %7153 to i64
  %7155 = load i64, ptr %182, align 8, !tbaa !15
  %7156 = icmp eq i64 %7154, %7155
  br i1 %7156, label %7210, label %7157

7157:                                             ; preds = %7150
  br label %7158

7158:                                             ; preds = %7157
  br label %7159

7159:                                             ; preds = %7158
  call void @llvm.lifetime.start.p0(i64 4, ptr %188) #11
  %7160 = call ptr @__errno_location() #12
  %7161 = load i32, ptr %7160, align 4, !tbaa !5
  store i32 %7161, ptr %188, align 4, !tbaa !5
  %7162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7163 = call i32 @s2n_print_stacktrace(ptr noundef %7162)
  %7164 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7165 = trunc i8 %7164 to i1
  br i1 %7165, label %7166, label %7188

7166:                                             ; preds = %7159
  %7167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7168 = call i32 @fileno(ptr noundef %7167) #11
  %7169 = call i32 @isatty(i32 noundef %7168) #11
  %7170 = icmp ne i32 %7169, 0
  br i1 %7170, label %7171, label %7188

7171:                                             ; preds = %7166
  %7172 = load i32, ptr %188, align 4, !tbaa !5
  %7173 = call ptr @__errno_location() #12
  store i32 %7172, ptr %7173, align 4, !tbaa !5
  %7174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7175 = load i32, ptr @test_count, align 4, !tbaa !5
  %7176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7177 = load i32, ptr %7176, align 4, !tbaa !5
  %7178 = call ptr @s2n_strerror(i32 noundef %7177, ptr noundef @.str.3)
  %7179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7180 = load i32, ptr %7179, align 4, !tbaa !5
  %7181 = call ptr @s2n_strerror_debug(i32 noundef %7180, ptr noundef @.str.3)
  %7182 = call ptr @__errno_location() #12
  %7183 = load i32, ptr %7182, align 4, !tbaa !5
  %7184 = call ptr @strerror(i32 noundef %7183) #11
  %7185 = call ptr @__errno_location() #12
  %7186 = load i32, ptr %7185, align 4, !tbaa !5
  %7187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7174, ptr noundef @.str, i32 noundef %7175, ptr noundef @.str.74, ptr noundef @.str.2, i32 noundef 397, ptr noundef %7178, ptr noundef %7181, ptr noundef %7184, i32 noundef %7186) #11
  br label %7205

7188:                                             ; preds = %7166, %7159
  %7189 = load i32, ptr %188, align 4, !tbaa !5
  %7190 = call ptr @__errno_location() #12
  store i32 %7189, ptr %7190, align 4, !tbaa !5
  %7191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7192 = load i32, ptr @test_count, align 4, !tbaa !5
  %7193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7194 = load i32, ptr %7193, align 4, !tbaa !5
  %7195 = call ptr @s2n_strerror(i32 noundef %7194, ptr noundef @.str.3)
  %7196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7197 = load i32, ptr %7196, align 4, !tbaa !5
  %7198 = call ptr @s2n_strerror_debug(i32 noundef %7197, ptr noundef @.str.3)
  %7199 = call ptr @__errno_location() #12
  %7200 = load i32, ptr %7199, align 4, !tbaa !5
  %7201 = call ptr @strerror(i32 noundef %7200) #11
  %7202 = call ptr @__errno_location() #12
  %7203 = load i32, ptr %7202, align 4, !tbaa !5
  %7204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7191, ptr noundef @.str.4, i32 noundef %7192, ptr noundef @.str.74, ptr noundef @.str.2, i32 noundef 397, ptr noundef %7195, ptr noundef %7198, ptr noundef %7201, i32 noundef %7203) #11
  br label %7205

7205:                                             ; preds = %7188, %7171
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #11
  br label %7206

7206:                                             ; preds = %7205
  br label %7207

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

7208:                                             ; No predecessors!
  br label %7209

7209:                                             ; preds = %7208
  br label %7210

7210:                                             ; preds = %7209, %7150
  br label %7211

7211:                                             ; preds = %7210
  br label %7212

7212:                                             ; preds = %7211
  br label %7213

7213:                                             ; preds = %7212
  %7214 = load i32, ptr @test_count, align 4, !tbaa !5
  %7215 = add nsw i32 %7214, 1
  store i32 %7215, ptr @test_count, align 4, !tbaa !5
  %7216 = load i32, ptr %175, align 4, !tbaa !5
  %7217 = icmp eq i32 %7216, 0
  br i1 %7217, label %7271, label %7218

7218:                                             ; preds = %7213
  br label %7219

7219:                                             ; preds = %7218
  br label %7220

7220:                                             ; preds = %7219
  call void @llvm.lifetime.start.p0(i64 4, ptr %189) #11
  %7221 = call ptr @__errno_location() #12
  %7222 = load i32, ptr %7221, align 4, !tbaa !5
  store i32 %7222, ptr %189, align 4, !tbaa !5
  %7223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7224 = call i32 @s2n_print_stacktrace(ptr noundef %7223)
  %7225 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7226 = trunc i8 %7225 to i1
  br i1 %7226, label %7227, label %7249

7227:                                             ; preds = %7220
  %7228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7229 = call i32 @fileno(ptr noundef %7228) #11
  %7230 = call i32 @isatty(i32 noundef %7229) #11
  %7231 = icmp ne i32 %7230, 0
  br i1 %7231, label %7232, label %7249

7232:                                             ; preds = %7227
  %7233 = load i32, ptr %189, align 4, !tbaa !5
  %7234 = call ptr @__errno_location() #12
  store i32 %7233, ptr %7234, align 4, !tbaa !5
  %7235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7236 = load i32, ptr @test_count, align 4, !tbaa !5
  %7237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7238 = load i32, ptr %7237, align 4, !tbaa !5
  %7239 = call ptr @s2n_strerror(i32 noundef %7238, ptr noundef @.str.3)
  %7240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7241 = load i32, ptr %7240, align 4, !tbaa !5
  %7242 = call ptr @s2n_strerror_debug(i32 noundef %7241, ptr noundef @.str.3)
  %7243 = call ptr @__errno_location() #12
  %7244 = load i32, ptr %7243, align 4, !tbaa !5
  %7245 = call ptr @strerror(i32 noundef %7244) #11
  %7246 = call ptr @__errno_location() #12
  %7247 = load i32, ptr %7246, align 4, !tbaa !5
  %7248 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7235, ptr noundef @.str, i32 noundef %7236, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 398, ptr noundef %7239, ptr noundef %7242, ptr noundef %7245, i32 noundef %7247) #11
  br label %7266

7249:                                             ; preds = %7227, %7220
  %7250 = load i32, ptr %189, align 4, !tbaa !5
  %7251 = call ptr @__errno_location() #12
  store i32 %7250, ptr %7251, align 4, !tbaa !5
  %7252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7253 = load i32, ptr @test_count, align 4, !tbaa !5
  %7254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7255 = load i32, ptr %7254, align 4, !tbaa !5
  %7256 = call ptr @s2n_strerror(i32 noundef %7255, ptr noundef @.str.3)
  %7257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7258 = load i32, ptr %7257, align 4, !tbaa !5
  %7259 = call ptr @s2n_strerror_debug(i32 noundef %7258, ptr noundef @.str.3)
  %7260 = call ptr @__errno_location() #12
  %7261 = load i32, ptr %7260, align 4, !tbaa !5
  %7262 = call ptr @strerror(i32 noundef %7261) #11
  %7263 = call ptr @__errno_location() #12
  %7264 = load i32, ptr %7263, align 4, !tbaa !5
  %7265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7252, ptr noundef @.str.4, i32 noundef %7253, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 398, ptr noundef %7256, ptr noundef %7259, ptr noundef %7262, i32 noundef %7264) #11
  br label %7266

7266:                                             ; preds = %7249, %7232
  call void @llvm.lifetime.end.p0(i64 4, ptr %189) #11
  br label %7267

7267:                                             ; preds = %7266
  br label %7268

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

7269:                                             ; No predecessors!
  br label %7270

7270:                                             ; preds = %7269
  br label %7271

7271:                                             ; preds = %7270, %7213
  br label %7272

7272:                                             ; preds = %7271
  br label %7273

7273:                                             ; preds = %7272
  br label %7274

7274:                                             ; preds = %7273
  %7275 = load i32, ptr %187, align 4, !tbaa !5
  %7276 = icmp ne i32 %7275, 0
  br i1 %7276, label %7277, label %7343

7277:                                             ; preds = %7274
  br label %7278

7278:                                             ; preds = %7277
  %7279 = load i32, ptr @test_count, align 4, !tbaa !5
  %7280 = add nsw i32 %7279, 1
  store i32 %7280, ptr @test_count, align 4, !tbaa !5
  %7281 = getelementptr inbounds [100 x i8], ptr %186, i64 0, i64 0
  %7282 = getelementptr inbounds [100 x i8], ptr %169, i64 0, i64 0
  %7283 = load i32, ptr %187, align 4, !tbaa !5
  %7284 = sext i32 %7283 to i64
  %7285 = call i32 @memcmp(ptr noundef %7281, ptr noundef %7282, i64 noundef %7284) #14
  %7286 = icmp eq i32 %7285, 0
  br i1 %7286, label %7340, label %7287

7287:                                             ; preds = %7278
  br label %7288

7288:                                             ; preds = %7287
  br label %7289

7289:                                             ; preds = %7288
  call void @llvm.lifetime.start.p0(i64 4, ptr %190) #11
  %7290 = call ptr @__errno_location() #12
  %7291 = load i32, ptr %7290, align 4, !tbaa !5
  store i32 %7291, ptr %190, align 4, !tbaa !5
  %7292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7293 = call i32 @s2n_print_stacktrace(ptr noundef %7292)
  %7294 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7295 = trunc i8 %7294 to i1
  br i1 %7295, label %7296, label %7318

7296:                                             ; preds = %7289
  %7297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7298 = call i32 @fileno(ptr noundef %7297) #11
  %7299 = call i32 @isatty(i32 noundef %7298) #11
  %7300 = icmp ne i32 %7299, 0
  br i1 %7300, label %7301, label %7318

7301:                                             ; preds = %7296
  %7302 = load i32, ptr %190, align 4, !tbaa !5
  %7303 = call ptr @__errno_location() #12
  store i32 %7302, ptr %7303, align 4, !tbaa !5
  %7304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7305 = load i32, ptr @test_count, align 4, !tbaa !5
  %7306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7307 = load i32, ptr %7306, align 4, !tbaa !5
  %7308 = call ptr @s2n_strerror(i32 noundef %7307, ptr noundef @.str.3)
  %7309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7310 = load i32, ptr %7309, align 4, !tbaa !5
  %7311 = call ptr @s2n_strerror_debug(i32 noundef %7310, ptr noundef @.str.3)
  %7312 = call ptr @__errno_location() #12
  %7313 = load i32, ptr %7312, align 4, !tbaa !5
  %7314 = call ptr @strerror(i32 noundef %7313) #11
  %7315 = call ptr @__errno_location() #12
  %7316 = load i32, ptr %7315, align 4, !tbaa !5
  %7317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7304, ptr noundef @.str, i32 noundef %7305, ptr noundef @.str.75, ptr noundef @.str.2, i32 noundef 399, ptr noundef %7308, ptr noundef %7311, ptr noundef %7314, i32 noundef %7316) #11
  br label %7335

7318:                                             ; preds = %7296, %7289
  %7319 = load i32, ptr %190, align 4, !tbaa !5
  %7320 = call ptr @__errno_location() #12
  store i32 %7319, ptr %7320, align 4, !tbaa !5
  %7321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7322 = load i32, ptr @test_count, align 4, !tbaa !5
  %7323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7324 = load i32, ptr %7323, align 4, !tbaa !5
  %7325 = call ptr @s2n_strerror(i32 noundef %7324, ptr noundef @.str.3)
  %7326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7327 = load i32, ptr %7326, align 4, !tbaa !5
  %7328 = call ptr @s2n_strerror_debug(i32 noundef %7327, ptr noundef @.str.3)
  %7329 = call ptr @__errno_location() #12
  %7330 = load i32, ptr %7329, align 4, !tbaa !5
  %7331 = call ptr @strerror(i32 noundef %7330) #11
  %7332 = call ptr @__errno_location() #12
  %7333 = load i32, ptr %7332, align 4, !tbaa !5
  %7334 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7321, ptr noundef @.str.4, i32 noundef %7322, ptr noundef @.str.75, ptr noundef @.str.2, i32 noundef 399, ptr noundef %7325, ptr noundef %7328, ptr noundef %7331, i32 noundef %7333) #11
  br label %7335

7335:                                             ; preds = %7318, %7301
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #11
  br label %7336

7336:                                             ; preds = %7335
  br label %7337

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

7338:                                             ; No predecessors!
  br label %7339

7339:                                             ; preds = %7338
  br label %7340

7340:                                             ; preds = %7339, %7278
  br label %7341

7341:                                             ; preds = %7340
  br label %7342

7342:                                             ; preds = %7341
  br label %7343

7343:                                             ; preds = %7342, %7274
  br label %7344

7344:                                             ; preds = %7343
  br label %7345

7345:                                             ; preds = %7344
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %186) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %182) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %181) #11
  %7346 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef %178)
  %7347 = getelementptr inbounds %struct.s2n_result, ptr %191, i32 0, i32 0
  store i32 %7346, ptr %7347, align 4
  call void @llvm.lifetime.end.p0(i64 192, ptr %178) #11
  %7348 = call i32 @s2n_connection_ptr_free(ptr noundef %176)
  %7349 = getelementptr inbounds %struct.s2n_result, ptr %192, i32 0, i32 0
  store i32 %7348, ptr %7349, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %176) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %193) #11
  store i64 50, ptr %193, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 16, ptr %194) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %194, ptr align 8 %174, i64 16, i1 false), !tbaa.struct !58
  %7350 = getelementptr inbounds %struct.iovec, ptr %194, i32 0, i32 1
  store i64 50, ptr %7350, align 8, !tbaa !57
  call void @llvm.lifetime.start.p0(i64 8, ptr %195) #11
  %7351 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %7351, ptr %195, align 8, !tbaa !9
  br label %7352

7352:                                             ; preds = %7345
  %7353 = load i32, ptr @test_count, align 4, !tbaa !5
  %7354 = add nsw i32 %7353, 1
  store i32 %7354, ptr @test_count, align 4, !tbaa !5
  %7355 = load ptr, ptr %195, align 8, !tbaa !9
  %7356 = icmp eq ptr %7355, null
  br i1 %7356, label %7357, label %7410

7357:                                             ; preds = %7352
  br label %7358

7358:                                             ; preds = %7357
  br label %7359

7359:                                             ; preds = %7358
  call void @llvm.lifetime.start.p0(i64 4, ptr %196) #11
  %7360 = call ptr @__errno_location() #12
  %7361 = load i32, ptr %7360, align 4, !tbaa !5
  store i32 %7361, ptr %196, align 4, !tbaa !5
  %7362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7363 = call i32 @s2n_print_stacktrace(ptr noundef %7362)
  %7364 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7365 = trunc i8 %7364 to i1
  br i1 %7365, label %7366, label %7388

7366:                                             ; preds = %7359
  %7367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7368 = call i32 @fileno(ptr noundef %7367) #11
  %7369 = call i32 @isatty(i32 noundef %7368) #11
  %7370 = icmp ne i32 %7369, 0
  br i1 %7370, label %7371, label %7388

7371:                                             ; preds = %7366
  %7372 = load i32, ptr %196, align 4, !tbaa !5
  %7373 = call ptr @__errno_location() #12
  store i32 %7372, ptr %7373, align 4, !tbaa !5
  %7374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7375 = load i32, ptr @test_count, align 4, !tbaa !5
  %7376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7377 = load i32, ptr %7376, align 4, !tbaa !5
  %7378 = call ptr @s2n_strerror(i32 noundef %7377, ptr noundef @.str.3)
  %7379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7380 = load i32, ptr %7379, align 4, !tbaa !5
  %7381 = call ptr @s2n_strerror_debug(i32 noundef %7380, ptr noundef @.str.3)
  %7382 = call ptr @__errno_location() #12
  %7383 = load i32, ptr %7382, align 4, !tbaa !5
  %7384 = call ptr @strerror(i32 noundef %7383) #11
  %7385 = call ptr @__errno_location() #12
  %7386 = load i32, ptr %7385, align 4, !tbaa !5
  %7387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7374, ptr noundef @.str, i32 noundef %7375, ptr noundef @.str.70, ptr noundef @.str.2, i32 noundef 410, ptr noundef %7378, ptr noundef %7381, ptr noundef %7384, i32 noundef %7386) #11
  br label %7405

7388:                                             ; preds = %7366, %7359
  %7389 = load i32, ptr %196, align 4, !tbaa !5
  %7390 = call ptr @__errno_location() #12
  store i32 %7389, ptr %7390, align 4, !tbaa !5
  %7391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7392 = load i32, ptr @test_count, align 4, !tbaa !5
  %7393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7394 = load i32, ptr %7393, align 4, !tbaa !5
  %7395 = call ptr @s2n_strerror(i32 noundef %7394, ptr noundef @.str.3)
  %7396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7397 = load i32, ptr %7396, align 4, !tbaa !5
  %7398 = call ptr @s2n_strerror_debug(i32 noundef %7397, ptr noundef @.str.3)
  %7399 = call ptr @__errno_location() #12
  %7400 = load i32, ptr %7399, align 4, !tbaa !5
  %7401 = call ptr @strerror(i32 noundef %7400) #11
  %7402 = call ptr @__errno_location() #12
  %7403 = load i32, ptr %7402, align 4, !tbaa !5
  %7404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7391, ptr noundef @.str.4, i32 noundef %7392, ptr noundef @.str.70, ptr noundef @.str.2, i32 noundef 410, ptr noundef %7395, ptr noundef %7398, ptr noundef %7401, i32 noundef %7403) #11
  br label %7405

7405:                                             ; preds = %7388, %7371
  call void @llvm.lifetime.end.p0(i64 4, ptr %196) #11
  br label %7406

7406:                                             ; preds = %7405
  br label %7407

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

7408:                                             ; No predecessors!
  br label %7409

7409:                                             ; preds = %7408
  br label %7410

7410:                                             ; preds = %7409, %7352
  br label %7411

7411:                                             ; preds = %7410
  br label %7412

7412:                                             ; preds = %7411
  %7413 = load ptr, ptr %195, align 8, !tbaa !9
  call void @s2n_ktls_configure_connection(ptr noundef %7413, i32 noundef 1)
  call void @llvm.lifetime.start.p0(i64 192, ptr %197) #11
  call void @llvm.memset.p0.i64(ptr align 8 %197, i8 0, i64 192, i1 false)
  br label %7414

7414:                                             ; preds = %7412
  %7415 = load i32, ptr @test_count, align 4, !tbaa !5
  %7416 = add nsw i32 %7415, 1
  store i32 %7416, ptr @test_count, align 4, !tbaa !5
  %7417 = load ptr, ptr %195, align 8, !tbaa !9
  %7418 = load ptr, ptr %195, align 8, !tbaa !9
  %7419 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef %7417, ptr noundef %7418, ptr noundef %197)
  %7420 = getelementptr inbounds %struct.s2n_result, ptr %198, i32 0, i32 0
  store i32 %7419, ptr %7420, align 4
  %7421 = getelementptr inbounds %struct.s2n_result, ptr %198, i32 0, i32 0
  %7422 = load i32, ptr %7421, align 4
  %7423 = call zeroext i1 @s2n_result_is_ok(i32 %7422)
  br i1 %7423, label %7477, label %7424

7424:                                             ; preds = %7414
  br label %7425

7425:                                             ; preds = %7424
  br label %7426

7426:                                             ; preds = %7425
  call void @llvm.lifetime.start.p0(i64 4, ptr %199) #11
  %7427 = call ptr @__errno_location() #12
  %7428 = load i32, ptr %7427, align 4, !tbaa !5
  store i32 %7428, ptr %199, align 4, !tbaa !5
  %7429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7430 = call i32 @s2n_print_stacktrace(ptr noundef %7429)
  %7431 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7432 = trunc i8 %7431 to i1
  br i1 %7432, label %7433, label %7455

7433:                                             ; preds = %7426
  %7434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7435 = call i32 @fileno(ptr noundef %7434) #11
  %7436 = call i32 @isatty(i32 noundef %7435) #11
  %7437 = icmp ne i32 %7436, 0
  br i1 %7437, label %7438, label %7455

7438:                                             ; preds = %7433
  %7439 = load i32, ptr %199, align 4, !tbaa !5
  %7440 = call ptr @__errno_location() #12
  store i32 %7439, ptr %7440, align 4, !tbaa !5
  %7441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7442 = load i32, ptr @test_count, align 4, !tbaa !5
  %7443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7444 = load i32, ptr %7443, align 4, !tbaa !5
  %7445 = call ptr @s2n_strerror(i32 noundef %7444, ptr noundef @.str.3)
  %7446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7447 = load i32, ptr %7446, align 4, !tbaa !5
  %7448 = call ptr @s2n_strerror_debug(i32 noundef %7447, ptr noundef @.str.3)
  %7449 = call ptr @__errno_location() #12
  %7450 = load i32, ptr %7449, align 4, !tbaa !5
  %7451 = call ptr @strerror(i32 noundef %7450) #11
  %7452 = call ptr @__errno_location() #12
  %7453 = load i32, ptr %7452, align 4, !tbaa !5
  %7454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7441, ptr noundef @.str, i32 noundef %7442, ptr noundef @.str.71, ptr noundef @.str.2, i32 noundef 415, ptr noundef %7445, ptr noundef %7448, ptr noundef %7451, i32 noundef %7453) #11
  br label %7472

7455:                                             ; preds = %7433, %7426
  %7456 = load i32, ptr %199, align 4, !tbaa !5
  %7457 = call ptr @__errno_location() #12
  store i32 %7456, ptr %7457, align 4, !tbaa !5
  %7458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7459 = load i32, ptr @test_count, align 4, !tbaa !5
  %7460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7461 = load i32, ptr %7460, align 4, !tbaa !5
  %7462 = call ptr @s2n_strerror(i32 noundef %7461, ptr noundef @.str.3)
  %7463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7464 = load i32, ptr %7463, align 4, !tbaa !5
  %7465 = call ptr @s2n_strerror_debug(i32 noundef %7464, ptr noundef @.str.3)
  %7466 = call ptr @__errno_location() #12
  %7467 = load i32, ptr %7466, align 4, !tbaa !5
  %7468 = call ptr @strerror(i32 noundef %7467) #11
  %7469 = call ptr @__errno_location() #12
  %7470 = load i32, ptr %7469, align 4, !tbaa !5
  %7471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7458, ptr noundef @.str.4, i32 noundef %7459, ptr noundef @.str.71, ptr noundef @.str.2, i32 noundef 415, ptr noundef %7462, ptr noundef %7465, ptr noundef %7468, i32 noundef %7470) #11
  br label %7472

7472:                                             ; preds = %7455, %7438
  call void @llvm.lifetime.end.p0(i64 4, ptr %199) #11
  br label %7473

7473:                                             ; preds = %7472
  br label %7474

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

7475:                                             ; No predecessors!
  br label %7476

7476:                                             ; preds = %7475
  br label %7477

7477:                                             ; preds = %7476, %7414
  br label %7478

7478:                                             ; preds = %7477
  br label %7479

7479:                                             ; preds = %7478
  call void @llvm.lifetime.start.p0(i64 8, ptr %200) #11
  %7480 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer_pair, ptr %197, i32 0, i32 0
  store ptr %7480, ptr %200, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %201) #11
  store i64 0, ptr %201, align 8, !tbaa !15
  br label %7481

7481:                                             ; preds = %7479
  %7482 = load i32, ptr @test_count, align 4, !tbaa !5
  %7483 = add nsw i32 %7482, 1
  store i32 %7483, ptr @test_count, align 4, !tbaa !5
  %7484 = load ptr, ptr %200, align 8, !tbaa !9
  %7485 = call i32 @s2n_ktls_sendmsg(ptr noundef %7484, i8 noundef zeroext 23, ptr noundef %194, i64 noundef 1, ptr noundef %175, ptr noundef %201)
  %7486 = getelementptr inbounds %struct.s2n_result, ptr %202, i32 0, i32 0
  store i32 %7485, ptr %7486, align 4
  %7487 = getelementptr inbounds %struct.s2n_result, ptr %202, i32 0, i32 0
  %7488 = load i32, ptr %7487, align 4
  %7489 = call zeroext i1 @s2n_result_is_ok(i32 %7488)
  br i1 %7489, label %7543, label %7490

7490:                                             ; preds = %7481
  br label %7491

7491:                                             ; preds = %7490
  br label %7492

7492:                                             ; preds = %7491
  call void @llvm.lifetime.start.p0(i64 4, ptr %203) #11
  %7493 = call ptr @__errno_location() #12
  %7494 = load i32, ptr %7493, align 4, !tbaa !5
  store i32 %7494, ptr %203, align 4, !tbaa !5
  %7495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7496 = call i32 @s2n_print_stacktrace(ptr noundef %7495)
  %7497 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7498 = trunc i8 %7497 to i1
  br i1 %7498, label %7499, label %7521

7499:                                             ; preds = %7492
  %7500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7501 = call i32 @fileno(ptr noundef %7500) #11
  %7502 = call i32 @isatty(i32 noundef %7501) #11
  %7503 = icmp ne i32 %7502, 0
  br i1 %7503, label %7504, label %7521

7504:                                             ; preds = %7499
  %7505 = load i32, ptr %203, align 4, !tbaa !5
  %7506 = call ptr @__errno_location() #12
  store i32 %7505, ptr %7506, align 4, !tbaa !5
  %7507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7508 = load i32, ptr @test_count, align 4, !tbaa !5
  %7509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7510 = load i32, ptr %7509, align 4, !tbaa !5
  %7511 = call ptr @s2n_strerror(i32 noundef %7510, ptr noundef @.str.3)
  %7512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7513 = load i32, ptr %7512, align 4, !tbaa !5
  %7514 = call ptr @s2n_strerror_debug(i32 noundef %7513, ptr noundef @.str.3)
  %7515 = call ptr @__errno_location() #12
  %7516 = load i32, ptr %7515, align 4, !tbaa !5
  %7517 = call ptr @strerror(i32 noundef %7516) #11
  %7518 = call ptr @__errno_location() #12
  %7519 = load i32, ptr %7518, align 4, !tbaa !5
  %7520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7507, ptr noundef @.str, i32 noundef %7508, ptr noundef @.str.76, ptr noundef @.str.2, i32 noundef 420, ptr noundef %7511, ptr noundef %7514, ptr noundef %7517, i32 noundef %7519) #11
  br label %7538

7521:                                             ; preds = %7499, %7492
  %7522 = load i32, ptr %203, align 4, !tbaa !5
  %7523 = call ptr @__errno_location() #12
  store i32 %7522, ptr %7523, align 4, !tbaa !5
  %7524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7525 = load i32, ptr @test_count, align 4, !tbaa !5
  %7526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7527 = load i32, ptr %7526, align 4, !tbaa !5
  %7528 = call ptr @s2n_strerror(i32 noundef %7527, ptr noundef @.str.3)
  %7529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7530 = load i32, ptr %7529, align 4, !tbaa !5
  %7531 = call ptr @s2n_strerror_debug(i32 noundef %7530, ptr noundef @.str.3)
  %7532 = call ptr @__errno_location() #12
  %7533 = load i32, ptr %7532, align 4, !tbaa !5
  %7534 = call ptr @strerror(i32 noundef %7533) #11
  %7535 = call ptr @__errno_location() #12
  %7536 = load i32, ptr %7535, align 4, !tbaa !5
  %7537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7524, ptr noundef @.str.4, i32 noundef %7525, ptr noundef @.str.76, ptr noundef @.str.2, i32 noundef 420, ptr noundef %7528, ptr noundef %7531, ptr noundef %7534, i32 noundef %7536) #11
  br label %7538

7538:                                             ; preds = %7521, %7504
  call void @llvm.lifetime.end.p0(i64 4, ptr %203) #11
  br label %7539

7539:                                             ; preds = %7538
  br label %7540

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

7541:                                             ; No predecessors!
  br label %7542

7542:                                             ; preds = %7541
  br label %7543

7543:                                             ; preds = %7542, %7481
  br label %7544

7544:                                             ; preds = %7543
  br label %7545

7545:                                             ; preds = %7544
  br label %7546

7546:                                             ; preds = %7545
  %7547 = load i32, ptr @test_count, align 4, !tbaa !5
  %7548 = add nsw i32 %7547, 1
  store i32 %7548, ptr @test_count, align 4, !tbaa !5
  %7549 = load i64, ptr %201, align 8, !tbaa !15
  %7550 = icmp eq i64 %7549, 50
  br i1 %7550, label %7604, label %7551

7551:                                             ; preds = %7546
  br label %7552

7552:                                             ; preds = %7551
  br label %7553

7553:                                             ; preds = %7552
  call void @llvm.lifetime.start.p0(i64 4, ptr %204) #11
  %7554 = call ptr @__errno_location() #12
  %7555 = load i32, ptr %7554, align 4, !tbaa !5
  store i32 %7555, ptr %204, align 4, !tbaa !5
  %7556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7557 = call i32 @s2n_print_stacktrace(ptr noundef %7556)
  %7558 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7559 = trunc i8 %7558 to i1
  br i1 %7559, label %7560, label %7582

7560:                                             ; preds = %7553
  %7561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7562 = call i32 @fileno(ptr noundef %7561) #11
  %7563 = call i32 @isatty(i32 noundef %7562) #11
  %7564 = icmp ne i32 %7563, 0
  br i1 %7564, label %7565, label %7582

7565:                                             ; preds = %7560
  %7566 = load i32, ptr %204, align 4, !tbaa !5
  %7567 = call ptr @__errno_location() #12
  store i32 %7566, ptr %7567, align 4, !tbaa !5
  %7568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7569 = load i32, ptr @test_count, align 4, !tbaa !5
  %7570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7571 = load i32, ptr %7570, align 4, !tbaa !5
  %7572 = call ptr @s2n_strerror(i32 noundef %7571, ptr noundef @.str.3)
  %7573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7574 = load i32, ptr %7573, align 4, !tbaa !5
  %7575 = call ptr @s2n_strerror_debug(i32 noundef %7574, ptr noundef @.str.3)
  %7576 = call ptr @__errno_location() #12
  %7577 = load i32, ptr %7576, align 4, !tbaa !5
  %7578 = call ptr @strerror(i32 noundef %7577) #11
  %7579 = call ptr @__errno_location() #12
  %7580 = load i32, ptr %7579, align 4, !tbaa !5
  %7581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7568, ptr noundef @.str, i32 noundef %7569, ptr noundef @.str.77, ptr noundef @.str.2, i32 noundef 421, ptr noundef %7572, ptr noundef %7575, ptr noundef %7578, i32 noundef %7580) #11
  br label %7599

7582:                                             ; preds = %7560, %7553
  %7583 = load i32, ptr %204, align 4, !tbaa !5
  %7584 = call ptr @__errno_location() #12
  store i32 %7583, ptr %7584, align 4, !tbaa !5
  %7585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7586 = load i32, ptr @test_count, align 4, !tbaa !5
  %7587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7588 = load i32, ptr %7587, align 4, !tbaa !5
  %7589 = call ptr @s2n_strerror(i32 noundef %7588, ptr noundef @.str.3)
  %7590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7591 = load i32, ptr %7590, align 4, !tbaa !5
  %7592 = call ptr @s2n_strerror_debug(i32 noundef %7591, ptr noundef @.str.3)
  %7593 = call ptr @__errno_location() #12
  %7594 = load i32, ptr %7593, align 4, !tbaa !5
  %7595 = call ptr @strerror(i32 noundef %7594) #11
  %7596 = call ptr @__errno_location() #12
  %7597 = load i32, ptr %7596, align 4, !tbaa !5
  %7598 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7585, ptr noundef @.str.4, i32 noundef %7586, ptr noundef @.str.77, ptr noundef @.str.2, i32 noundef 421, ptr noundef %7589, ptr noundef %7592, ptr noundef %7595, i32 noundef %7597) #11
  br label %7599

7599:                                             ; preds = %7582, %7565
  call void @llvm.lifetime.end.p0(i64 4, ptr %204) #11
  br label %7600

7600:                                             ; preds = %7599
  br label %7601

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

7602:                                             ; No predecessors!
  br label %7603

7603:                                             ; preds = %7602
  br label %7604

7604:                                             ; preds = %7603, %7546
  br label %7605

7605:                                             ; preds = %7604
  br label %7606

7606:                                             ; preds = %7605
  call void @llvm.lifetime.start.p0(i64 100, ptr %205) #11
  call void @llvm.memset.p0.i64(ptr align 16 %205, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %206) #11
  %7607 = load ptr, ptr %195, align 8, !tbaa !9
  %7608 = getelementptr inbounds [100 x i8], ptr %205, i64 0, i64 0
  %7609 = call i64 @s2n_recv(ptr noundef %7607, ptr noundef %7608, i64 noundef 100, ptr noundef %175)
  %7610 = trunc i64 %7609 to i32
  store i32 %7610, ptr %206, align 4, !tbaa !5
  br label %7611

7611:                                             ; preds = %7606
  %7612 = load i32, ptr @test_count, align 4, !tbaa !5
  %7613 = add nsw i32 %7612, 1
  store i32 %7613, ptr @test_count, align 4, !tbaa !5
  %7614 = load i32, ptr %206, align 4, !tbaa !5
  %7615 = sext i32 %7614 to i64
  %7616 = load i64, ptr %201, align 8, !tbaa !15
  %7617 = icmp eq i64 %7615, %7616
  br i1 %7617, label %7671, label %7618

7618:                                             ; preds = %7611
  br label %7619

7619:                                             ; preds = %7618
  br label %7620

7620:                                             ; preds = %7619
  call void @llvm.lifetime.start.p0(i64 4, ptr %207) #11
  %7621 = call ptr @__errno_location() #12
  %7622 = load i32, ptr %7621, align 4, !tbaa !5
  store i32 %7622, ptr %207, align 4, !tbaa !5
  %7623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7624 = call i32 @s2n_print_stacktrace(ptr noundef %7623)
  %7625 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7626 = trunc i8 %7625 to i1
  br i1 %7626, label %7627, label %7649

7627:                                             ; preds = %7620
  %7628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7629 = call i32 @fileno(ptr noundef %7628) #11
  %7630 = call i32 @isatty(i32 noundef %7629) #11
  %7631 = icmp ne i32 %7630, 0
  br i1 %7631, label %7632, label %7649

7632:                                             ; preds = %7627
  %7633 = load i32, ptr %207, align 4, !tbaa !5
  %7634 = call ptr @__errno_location() #12
  store i32 %7633, ptr %7634, align 4, !tbaa !5
  %7635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7636 = load i32, ptr @test_count, align 4, !tbaa !5
  %7637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7638 = load i32, ptr %7637, align 4, !tbaa !5
  %7639 = call ptr @s2n_strerror(i32 noundef %7638, ptr noundef @.str.3)
  %7640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7641 = load i32, ptr %7640, align 4, !tbaa !5
  %7642 = call ptr @s2n_strerror_debug(i32 noundef %7641, ptr noundef @.str.3)
  %7643 = call ptr @__errno_location() #12
  %7644 = load i32, ptr %7643, align 4, !tbaa !5
  %7645 = call ptr @strerror(i32 noundef %7644) #11
  %7646 = call ptr @__errno_location() #12
  %7647 = load i32, ptr %7646, align 4, !tbaa !5
  %7648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7635, ptr noundef @.str, i32 noundef %7636, ptr noundef @.str.74, ptr noundef @.str.2, i32 noundef 425, ptr noundef %7639, ptr noundef %7642, ptr noundef %7645, i32 noundef %7647) #11
  br label %7666

7649:                                             ; preds = %7627, %7620
  %7650 = load i32, ptr %207, align 4, !tbaa !5
  %7651 = call ptr @__errno_location() #12
  store i32 %7650, ptr %7651, align 4, !tbaa !5
  %7652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7653 = load i32, ptr @test_count, align 4, !tbaa !5
  %7654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7655 = load i32, ptr %7654, align 4, !tbaa !5
  %7656 = call ptr @s2n_strerror(i32 noundef %7655, ptr noundef @.str.3)
  %7657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7658 = load i32, ptr %7657, align 4, !tbaa !5
  %7659 = call ptr @s2n_strerror_debug(i32 noundef %7658, ptr noundef @.str.3)
  %7660 = call ptr @__errno_location() #12
  %7661 = load i32, ptr %7660, align 4, !tbaa !5
  %7662 = call ptr @strerror(i32 noundef %7661) #11
  %7663 = call ptr @__errno_location() #12
  %7664 = load i32, ptr %7663, align 4, !tbaa !5
  %7665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7652, ptr noundef @.str.4, i32 noundef %7653, ptr noundef @.str.74, ptr noundef @.str.2, i32 noundef 425, ptr noundef %7656, ptr noundef %7659, ptr noundef %7662, i32 noundef %7664) #11
  br label %7666

7666:                                             ; preds = %7649, %7632
  call void @llvm.lifetime.end.p0(i64 4, ptr %207) #11
  br label %7667

7667:                                             ; preds = %7666
  br label %7668

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

7669:                                             ; No predecessors!
  br label %7670

7670:                                             ; preds = %7669
  br label %7671

7671:                                             ; preds = %7670, %7611
  br label %7672

7672:                                             ; preds = %7671
  br label %7673

7673:                                             ; preds = %7672
  br label %7674

7674:                                             ; preds = %7673
  %7675 = load i32, ptr @test_count, align 4, !tbaa !5
  %7676 = add nsw i32 %7675, 1
  store i32 %7676, ptr @test_count, align 4, !tbaa !5
  %7677 = load i32, ptr %175, align 4, !tbaa !5
  %7678 = icmp eq i32 %7677, 0
  br i1 %7678, label %7732, label %7679

7679:                                             ; preds = %7674
  br label %7680

7680:                                             ; preds = %7679
  br label %7681

7681:                                             ; preds = %7680
  call void @llvm.lifetime.start.p0(i64 4, ptr %208) #11
  %7682 = call ptr @__errno_location() #12
  %7683 = load i32, ptr %7682, align 4, !tbaa !5
  store i32 %7683, ptr %208, align 4, !tbaa !5
  %7684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7685 = call i32 @s2n_print_stacktrace(ptr noundef %7684)
  %7686 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7687 = trunc i8 %7686 to i1
  br i1 %7687, label %7688, label %7710

7688:                                             ; preds = %7681
  %7689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7690 = call i32 @fileno(ptr noundef %7689) #11
  %7691 = call i32 @isatty(i32 noundef %7690) #11
  %7692 = icmp ne i32 %7691, 0
  br i1 %7692, label %7693, label %7710

7693:                                             ; preds = %7688
  %7694 = load i32, ptr %208, align 4, !tbaa !5
  %7695 = call ptr @__errno_location() #12
  store i32 %7694, ptr %7695, align 4, !tbaa !5
  %7696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7697 = load i32, ptr @test_count, align 4, !tbaa !5
  %7698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7699 = load i32, ptr %7698, align 4, !tbaa !5
  %7700 = call ptr @s2n_strerror(i32 noundef %7699, ptr noundef @.str.3)
  %7701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7702 = load i32, ptr %7701, align 4, !tbaa !5
  %7703 = call ptr @s2n_strerror_debug(i32 noundef %7702, ptr noundef @.str.3)
  %7704 = call ptr @__errno_location() #12
  %7705 = load i32, ptr %7704, align 4, !tbaa !5
  %7706 = call ptr @strerror(i32 noundef %7705) #11
  %7707 = call ptr @__errno_location() #12
  %7708 = load i32, ptr %7707, align 4, !tbaa !5
  %7709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7696, ptr noundef @.str, i32 noundef %7697, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 426, ptr noundef %7700, ptr noundef %7703, ptr noundef %7706, i32 noundef %7708) #11
  br label %7727

7710:                                             ; preds = %7688, %7681
  %7711 = load i32, ptr %208, align 4, !tbaa !5
  %7712 = call ptr @__errno_location() #12
  store i32 %7711, ptr %7712, align 4, !tbaa !5
  %7713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7714 = load i32, ptr @test_count, align 4, !tbaa !5
  %7715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7716 = load i32, ptr %7715, align 4, !tbaa !5
  %7717 = call ptr @s2n_strerror(i32 noundef %7716, ptr noundef @.str.3)
  %7718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7719 = load i32, ptr %7718, align 4, !tbaa !5
  %7720 = call ptr @s2n_strerror_debug(i32 noundef %7719, ptr noundef @.str.3)
  %7721 = call ptr @__errno_location() #12
  %7722 = load i32, ptr %7721, align 4, !tbaa !5
  %7723 = call ptr @strerror(i32 noundef %7722) #11
  %7724 = call ptr @__errno_location() #12
  %7725 = load i32, ptr %7724, align 4, !tbaa !5
  %7726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7713, ptr noundef @.str.4, i32 noundef %7714, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 426, ptr noundef %7717, ptr noundef %7720, ptr noundef %7723, i32 noundef %7725) #11
  br label %7727

7727:                                             ; preds = %7710, %7693
  call void @llvm.lifetime.end.p0(i64 4, ptr %208) #11
  br label %7728

7728:                                             ; preds = %7727
  br label %7729

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

7730:                                             ; No predecessors!
  br label %7731

7731:                                             ; preds = %7730
  br label %7732

7732:                                             ; preds = %7731, %7674
  br label %7733

7733:                                             ; preds = %7732
  br label %7734

7734:                                             ; preds = %7733
  br label %7735

7735:                                             ; preds = %7734
  %7736 = load i32, ptr %206, align 4, !tbaa !5
  %7737 = icmp ne i32 %7736, 0
  br i1 %7737, label %7738, label %7804

7738:                                             ; preds = %7735
  br label %7739

7739:                                             ; preds = %7738
  %7740 = load i32, ptr @test_count, align 4, !tbaa !5
  %7741 = add nsw i32 %7740, 1
  store i32 %7741, ptr @test_count, align 4, !tbaa !5
  %7742 = getelementptr inbounds [100 x i8], ptr %205, i64 0, i64 0
  %7743 = getelementptr inbounds [100 x i8], ptr %169, i64 0, i64 0
  %7744 = load i32, ptr %206, align 4, !tbaa !5
  %7745 = sext i32 %7744 to i64
  %7746 = call i32 @memcmp(ptr noundef %7742, ptr noundef %7743, i64 noundef %7745) #14
  %7747 = icmp eq i32 %7746, 0
  br i1 %7747, label %7801, label %7748

7748:                                             ; preds = %7739
  br label %7749

7749:                                             ; preds = %7748
  br label %7750

7750:                                             ; preds = %7749
  call void @llvm.lifetime.start.p0(i64 4, ptr %209) #11
  %7751 = call ptr @__errno_location() #12
  %7752 = load i32, ptr %7751, align 4, !tbaa !5
  store i32 %7752, ptr %209, align 4, !tbaa !5
  %7753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7754 = call i32 @s2n_print_stacktrace(ptr noundef %7753)
  %7755 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7756 = trunc i8 %7755 to i1
  br i1 %7756, label %7757, label %7779

7757:                                             ; preds = %7750
  %7758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7759 = call i32 @fileno(ptr noundef %7758) #11
  %7760 = call i32 @isatty(i32 noundef %7759) #11
  %7761 = icmp ne i32 %7760, 0
  br i1 %7761, label %7762, label %7779

7762:                                             ; preds = %7757
  %7763 = load i32, ptr %209, align 4, !tbaa !5
  %7764 = call ptr @__errno_location() #12
  store i32 %7763, ptr %7764, align 4, !tbaa !5
  %7765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7766 = load i32, ptr @test_count, align 4, !tbaa !5
  %7767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7768 = load i32, ptr %7767, align 4, !tbaa !5
  %7769 = call ptr @s2n_strerror(i32 noundef %7768, ptr noundef @.str.3)
  %7770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7771 = load i32, ptr %7770, align 4, !tbaa !5
  %7772 = call ptr @s2n_strerror_debug(i32 noundef %7771, ptr noundef @.str.3)
  %7773 = call ptr @__errno_location() #12
  %7774 = load i32, ptr %7773, align 4, !tbaa !5
  %7775 = call ptr @strerror(i32 noundef %7774) #11
  %7776 = call ptr @__errno_location() #12
  %7777 = load i32, ptr %7776, align 4, !tbaa !5
  %7778 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7765, ptr noundef @.str, i32 noundef %7766, ptr noundef @.str.75, ptr noundef @.str.2, i32 noundef 427, ptr noundef %7769, ptr noundef %7772, ptr noundef %7775, i32 noundef %7777) #11
  br label %7796

7779:                                             ; preds = %7757, %7750
  %7780 = load i32, ptr %209, align 4, !tbaa !5
  %7781 = call ptr @__errno_location() #12
  store i32 %7780, ptr %7781, align 4, !tbaa !5
  %7782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7783 = load i32, ptr @test_count, align 4, !tbaa !5
  %7784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7785 = load i32, ptr %7784, align 4, !tbaa !5
  %7786 = call ptr @s2n_strerror(i32 noundef %7785, ptr noundef @.str.3)
  %7787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7788 = load i32, ptr %7787, align 4, !tbaa !5
  %7789 = call ptr @s2n_strerror_debug(i32 noundef %7788, ptr noundef @.str.3)
  %7790 = call ptr @__errno_location() #12
  %7791 = load i32, ptr %7790, align 4, !tbaa !5
  %7792 = call ptr @strerror(i32 noundef %7791) #11
  %7793 = call ptr @__errno_location() #12
  %7794 = load i32, ptr %7793, align 4, !tbaa !5
  %7795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7782, ptr noundef @.str.4, i32 noundef %7783, ptr noundef @.str.75, ptr noundef @.str.2, i32 noundef 427, ptr noundef %7786, ptr noundef %7789, ptr noundef %7792, i32 noundef %7794) #11
  br label %7796

7796:                                             ; preds = %7779, %7762
  call void @llvm.lifetime.end.p0(i64 4, ptr %209) #11
  br label %7797

7797:                                             ; preds = %7796
  br label %7798

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

7799:                                             ; No predecessors!
  br label %7800

7800:                                             ; preds = %7799
  br label %7801

7801:                                             ; preds = %7800, %7739
  br label %7802

7802:                                             ; preds = %7801
  br label %7803

7803:                                             ; preds = %7802
  br label %7804

7804:                                             ; preds = %7803, %7735
  br label %7805

7805:                                             ; preds = %7804
  br label %7806

7806:                                             ; preds = %7805
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %205) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %201) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %200) #11
  %7807 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef %197)
  %7808 = getelementptr inbounds %struct.s2n_result, ptr %210, i32 0, i32 0
  store i32 %7807, ptr %7808, align 4
  call void @llvm.lifetime.end.p0(i64 192, ptr %197) #11
  %7809 = call i32 @s2n_connection_ptr_free(ptr noundef %195)
  %7810 = getelementptr inbounds %struct.s2n_result, ptr %211, i32 0, i32 0
  store i32 %7809, ptr %7810, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %195) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %194) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %193) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %212) #11
  store i64 50, ptr %212, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %213) #11
  %7811 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %7811, ptr %213, align 8, !tbaa !9
  br label %7812

7812:                                             ; preds = %7806
  %7813 = load i32, ptr @test_count, align 4, !tbaa !5
  %7814 = add nsw i32 %7813, 1
  store i32 %7814, ptr @test_count, align 4, !tbaa !5
  %7815 = load ptr, ptr %213, align 8, !tbaa !9
  %7816 = icmp eq ptr %7815, null
  br i1 %7816, label %7817, label %7870

7817:                                             ; preds = %7812
  br label %7818

7818:                                             ; preds = %7817
  br label %7819

7819:                                             ; preds = %7818
  call void @llvm.lifetime.start.p0(i64 4, ptr %214) #11
  %7820 = call ptr @__errno_location() #12
  %7821 = load i32, ptr %7820, align 4, !tbaa !5
  store i32 %7821, ptr %214, align 4, !tbaa !5
  %7822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7823 = call i32 @s2n_print_stacktrace(ptr noundef %7822)
  %7824 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7825 = trunc i8 %7824 to i1
  br i1 %7825, label %7826, label %7848

7826:                                             ; preds = %7819
  %7827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7828 = call i32 @fileno(ptr noundef %7827) #11
  %7829 = call i32 @isatty(i32 noundef %7828) #11
  %7830 = icmp ne i32 %7829, 0
  br i1 %7830, label %7831, label %7848

7831:                                             ; preds = %7826
  %7832 = load i32, ptr %214, align 4, !tbaa !5
  %7833 = call ptr @__errno_location() #12
  store i32 %7832, ptr %7833, align 4, !tbaa !5
  %7834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7835 = load i32, ptr @test_count, align 4, !tbaa !5
  %7836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7837 = load i32, ptr %7836, align 4, !tbaa !5
  %7838 = call ptr @s2n_strerror(i32 noundef %7837, ptr noundef @.str.3)
  %7839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7840 = load i32, ptr %7839, align 4, !tbaa !5
  %7841 = call ptr @s2n_strerror_debug(i32 noundef %7840, ptr noundef @.str.3)
  %7842 = call ptr @__errno_location() #12
  %7843 = load i32, ptr %7842, align 4, !tbaa !5
  %7844 = call ptr @strerror(i32 noundef %7843) #11
  %7845 = call ptr @__errno_location() #12
  %7846 = load i32, ptr %7845, align 4, !tbaa !5
  %7847 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7834, ptr noundef @.str, i32 noundef %7835, ptr noundef @.str.70, ptr noundef @.str.2, i32 noundef 436, ptr noundef %7838, ptr noundef %7841, ptr noundef %7844, i32 noundef %7846) #11
  br label %7865

7848:                                             ; preds = %7826, %7819
  %7849 = load i32, ptr %214, align 4, !tbaa !5
  %7850 = call ptr @__errno_location() #12
  store i32 %7849, ptr %7850, align 4, !tbaa !5
  %7851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7852 = load i32, ptr @test_count, align 4, !tbaa !5
  %7853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7854 = load i32, ptr %7853, align 4, !tbaa !5
  %7855 = call ptr @s2n_strerror(i32 noundef %7854, ptr noundef @.str.3)
  %7856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7857 = load i32, ptr %7856, align 4, !tbaa !5
  %7858 = call ptr @s2n_strerror_debug(i32 noundef %7857, ptr noundef @.str.3)
  %7859 = call ptr @__errno_location() #12
  %7860 = load i32, ptr %7859, align 4, !tbaa !5
  %7861 = call ptr @strerror(i32 noundef %7860) #11
  %7862 = call ptr @__errno_location() #12
  %7863 = load i32, ptr %7862, align 4, !tbaa !5
  %7864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7851, ptr noundef @.str.4, i32 noundef %7852, ptr noundef @.str.70, ptr noundef @.str.2, i32 noundef 436, ptr noundef %7855, ptr noundef %7858, ptr noundef %7861, i32 noundef %7863) #11
  br label %7865

7865:                                             ; preds = %7848, %7831
  call void @llvm.lifetime.end.p0(i64 4, ptr %214) #11
  br label %7866

7866:                                             ; preds = %7865
  br label %7867

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

7868:                                             ; No predecessors!
  br label %7869

7869:                                             ; preds = %7868
  br label %7870

7870:                                             ; preds = %7869, %7812
  br label %7871

7871:                                             ; preds = %7870
  br label %7872

7872:                                             ; preds = %7871
  %7873 = load ptr, ptr %213, align 8, !tbaa !9
  call void @s2n_ktls_configure_connection(ptr noundef %7873, i32 noundef 1)
  call void @llvm.lifetime.start.p0(i64 192, ptr %215) #11
  call void @llvm.memset.p0.i64(ptr align 8 %215, i8 0, i64 192, i1 false)
  br label %7874

7874:                                             ; preds = %7872
  %7875 = load i32, ptr @test_count, align 4, !tbaa !5
  %7876 = add nsw i32 %7875, 1
  store i32 %7876, ptr @test_count, align 4, !tbaa !5
  %7877 = load ptr, ptr %213, align 8, !tbaa !9
  %7878 = load ptr, ptr %213, align 8, !tbaa !9
  %7879 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef %7877, ptr noundef %7878, ptr noundef %215)
  %7880 = getelementptr inbounds %struct.s2n_result, ptr %216, i32 0, i32 0
  store i32 %7879, ptr %7880, align 4
  %7881 = getelementptr inbounds %struct.s2n_result, ptr %216, i32 0, i32 0
  %7882 = load i32, ptr %7881, align 4
  %7883 = call zeroext i1 @s2n_result_is_ok(i32 %7882)
  br i1 %7883, label %7937, label %7884

7884:                                             ; preds = %7874
  br label %7885

7885:                                             ; preds = %7884
  br label %7886

7886:                                             ; preds = %7885
  call void @llvm.lifetime.start.p0(i64 4, ptr %217) #11
  %7887 = call ptr @__errno_location() #12
  %7888 = load i32, ptr %7887, align 4, !tbaa !5
  store i32 %7888, ptr %217, align 4, !tbaa !5
  %7889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7890 = call i32 @s2n_print_stacktrace(ptr noundef %7889)
  %7891 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7892 = trunc i8 %7891 to i1
  br i1 %7892, label %7893, label %7915

7893:                                             ; preds = %7886
  %7894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7895 = call i32 @fileno(ptr noundef %7894) #11
  %7896 = call i32 @isatty(i32 noundef %7895) #11
  %7897 = icmp ne i32 %7896, 0
  br i1 %7897, label %7898, label %7915

7898:                                             ; preds = %7893
  %7899 = load i32, ptr %217, align 4, !tbaa !5
  %7900 = call ptr @__errno_location() #12
  store i32 %7899, ptr %7900, align 4, !tbaa !5
  %7901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7902 = load i32, ptr @test_count, align 4, !tbaa !5
  %7903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7904 = load i32, ptr %7903, align 4, !tbaa !5
  %7905 = call ptr @s2n_strerror(i32 noundef %7904, ptr noundef @.str.3)
  %7906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7907 = load i32, ptr %7906, align 4, !tbaa !5
  %7908 = call ptr @s2n_strerror_debug(i32 noundef %7907, ptr noundef @.str.3)
  %7909 = call ptr @__errno_location() #12
  %7910 = load i32, ptr %7909, align 4, !tbaa !5
  %7911 = call ptr @strerror(i32 noundef %7910) #11
  %7912 = call ptr @__errno_location() #12
  %7913 = load i32, ptr %7912, align 4, !tbaa !5
  %7914 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7901, ptr noundef @.str, i32 noundef %7902, ptr noundef @.str.71, ptr noundef @.str.2, i32 noundef 441, ptr noundef %7905, ptr noundef %7908, ptr noundef %7911, i32 noundef %7913) #11
  br label %7932

7915:                                             ; preds = %7893, %7886
  %7916 = load i32, ptr %217, align 4, !tbaa !5
  %7917 = call ptr @__errno_location() #12
  store i32 %7916, ptr %7917, align 4, !tbaa !5
  %7918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7919 = load i32, ptr @test_count, align 4, !tbaa !5
  %7920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7921 = load i32, ptr %7920, align 4, !tbaa !5
  %7922 = call ptr @s2n_strerror(i32 noundef %7921, ptr noundef @.str.3)
  %7923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7924 = load i32, ptr %7923, align 4, !tbaa !5
  %7925 = call ptr @s2n_strerror_debug(i32 noundef %7924, ptr noundef @.str.3)
  %7926 = call ptr @__errno_location() #12
  %7927 = load i32, ptr %7926, align 4, !tbaa !5
  %7928 = call ptr @strerror(i32 noundef %7927) #11
  %7929 = call ptr @__errno_location() #12
  %7930 = load i32, ptr %7929, align 4, !tbaa !5
  %7931 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7918, ptr noundef @.str.4, i32 noundef %7919, ptr noundef @.str.71, ptr noundef @.str.2, i32 noundef 441, ptr noundef %7922, ptr noundef %7925, ptr noundef %7928, i32 noundef %7930) #11
  br label %7932

7932:                                             ; preds = %7915, %7898
  call void @llvm.lifetime.end.p0(i64 4, ptr %217) #11
  br label %7933

7933:                                             ; preds = %7932
  br label %7934

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

7935:                                             ; No predecessors!
  br label %7936

7936:                                             ; preds = %7935
  br label %7937

7937:                                             ; preds = %7936, %7874
  br label %7938

7938:                                             ; preds = %7937
  br label %7939

7939:                                             ; preds = %7938
  call void @llvm.lifetime.start.p0(i64 8, ptr %218) #11
  %7940 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer_pair, ptr %215, i32 0, i32 0
  store ptr %7940, ptr %218, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %219) #11
  store i64 0, ptr %219, align 8, !tbaa !15
  br label %7941

7941:                                             ; preds = %7939
  %7942 = load i32, ptr @test_count, align 4, !tbaa !5
  %7943 = add nsw i32 %7942, 1
  store i32 %7943, ptr @test_count, align 4, !tbaa !5
  %7944 = load ptr, ptr %218, align 8, !tbaa !9
  %7945 = call i32 @s2n_ktls_sendmsg(ptr noundef %7944, i8 noundef zeroext 23, ptr noundef %174, i64 noundef 1, ptr noundef %175, ptr noundef %219)
  %7946 = getelementptr inbounds %struct.s2n_result, ptr %220, i32 0, i32 0
  store i32 %7945, ptr %7946, align 4
  %7947 = getelementptr inbounds %struct.s2n_result, ptr %220, i32 0, i32 0
  %7948 = load i32, ptr %7947, align 4
  %7949 = call zeroext i1 @s2n_result_is_ok(i32 %7948)
  br i1 %7949, label %8003, label %7950

7950:                                             ; preds = %7941
  br label %7951

7951:                                             ; preds = %7950
  br label %7952

7952:                                             ; preds = %7951
  call void @llvm.lifetime.start.p0(i64 4, ptr %221) #11
  %7953 = call ptr @__errno_location() #12
  %7954 = load i32, ptr %7953, align 4, !tbaa !5
  store i32 %7954, ptr %221, align 4, !tbaa !5
  %7955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7956 = call i32 @s2n_print_stacktrace(ptr noundef %7955)
  %7957 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7958 = trunc i8 %7957 to i1
  br i1 %7958, label %7959, label %7981

7959:                                             ; preds = %7952
  %7960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7961 = call i32 @fileno(ptr noundef %7960) #11
  %7962 = call i32 @isatty(i32 noundef %7961) #11
  %7963 = icmp ne i32 %7962, 0
  br i1 %7963, label %7964, label %7981

7964:                                             ; preds = %7959
  %7965 = load i32, ptr %221, align 4, !tbaa !5
  %7966 = call ptr @__errno_location() #12
  store i32 %7965, ptr %7966, align 4, !tbaa !5
  %7967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7968 = load i32, ptr @test_count, align 4, !tbaa !5
  %7969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7970 = load i32, ptr %7969, align 4, !tbaa !5
  %7971 = call ptr @s2n_strerror(i32 noundef %7970, ptr noundef @.str.3)
  %7972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7973 = load i32, ptr %7972, align 4, !tbaa !5
  %7974 = call ptr @s2n_strerror_debug(i32 noundef %7973, ptr noundef @.str.3)
  %7975 = call ptr @__errno_location() #12
  %7976 = load i32, ptr %7975, align 4, !tbaa !5
  %7977 = call ptr @strerror(i32 noundef %7976) #11
  %7978 = call ptr @__errno_location() #12
  %7979 = load i32, ptr %7978, align 4, !tbaa !5
  %7980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7967, ptr noundef @.str, i32 noundef %7968, ptr noundef @.str.72, ptr noundef @.str.2, i32 noundef 446, ptr noundef %7971, ptr noundef %7974, ptr noundef %7977, i32 noundef %7979) #11
  br label %7998

7981:                                             ; preds = %7959, %7952
  %7982 = load i32, ptr %221, align 4, !tbaa !5
  %7983 = call ptr @__errno_location() #12
  store i32 %7982, ptr %7983, align 4, !tbaa !5
  %7984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7985 = load i32, ptr @test_count, align 4, !tbaa !5
  %7986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7987 = load i32, ptr %7986, align 4, !tbaa !5
  %7988 = call ptr @s2n_strerror(i32 noundef %7987, ptr noundef @.str.3)
  %7989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7990 = load i32, ptr %7989, align 4, !tbaa !5
  %7991 = call ptr @s2n_strerror_debug(i32 noundef %7990, ptr noundef @.str.3)
  %7992 = call ptr @__errno_location() #12
  %7993 = load i32, ptr %7992, align 4, !tbaa !5
  %7994 = call ptr @strerror(i32 noundef %7993) #11
  %7995 = call ptr @__errno_location() #12
  %7996 = load i32, ptr %7995, align 4, !tbaa !5
  %7997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7984, ptr noundef @.str.4, i32 noundef %7985, ptr noundef @.str.72, ptr noundef @.str.2, i32 noundef 446, ptr noundef %7988, ptr noundef %7991, ptr noundef %7994, i32 noundef %7996) #11
  br label %7998

7998:                                             ; preds = %7981, %7964
  call void @llvm.lifetime.end.p0(i64 4, ptr %221) #11
  br label %7999

7999:                                             ; preds = %7998
  br label %8000

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

8001:                                             ; No predecessors!
  br label %8002

8002:                                             ; preds = %8001
  br label %8003

8003:                                             ; preds = %8002, %7941
  br label %8004

8004:                                             ; preds = %8003
  br label %8005

8005:                                             ; preds = %8004
  br label %8006

8006:                                             ; preds = %8005
  %8007 = load i32, ptr @test_count, align 4, !tbaa !5
  %8008 = add nsw i32 %8007, 1
  store i32 %8008, ptr @test_count, align 4, !tbaa !5
  %8009 = load i64, ptr %219, align 8, !tbaa !15
  %8010 = icmp eq i64 %8009, 100
  br i1 %8010, label %8064, label %8011

8011:                                             ; preds = %8006
  br label %8012

8012:                                             ; preds = %8011
  br label %8013

8013:                                             ; preds = %8012
  call void @llvm.lifetime.start.p0(i64 4, ptr %222) #11
  %8014 = call ptr @__errno_location() #12
  %8015 = load i32, ptr %8014, align 4, !tbaa !5
  store i32 %8015, ptr %222, align 4, !tbaa !5
  %8016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8017 = call i32 @s2n_print_stacktrace(ptr noundef %8016)
  %8018 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8019 = trunc i8 %8018 to i1
  br i1 %8019, label %8020, label %8042

8020:                                             ; preds = %8013
  %8021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8022 = call i32 @fileno(ptr noundef %8021) #11
  %8023 = call i32 @isatty(i32 noundef %8022) #11
  %8024 = icmp ne i32 %8023, 0
  br i1 %8024, label %8025, label %8042

8025:                                             ; preds = %8020
  %8026 = load i32, ptr %222, align 4, !tbaa !5
  %8027 = call ptr @__errno_location() #12
  store i32 %8026, ptr %8027, align 4, !tbaa !5
  %8028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8029 = load i32, ptr @test_count, align 4, !tbaa !5
  %8030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8031 = load i32, ptr %8030, align 4, !tbaa !5
  %8032 = call ptr @s2n_strerror(i32 noundef %8031, ptr noundef @.str.3)
  %8033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8034 = load i32, ptr %8033, align 4, !tbaa !5
  %8035 = call ptr @s2n_strerror_debug(i32 noundef %8034, ptr noundef @.str.3)
  %8036 = call ptr @__errno_location() #12
  %8037 = load i32, ptr %8036, align 4, !tbaa !5
  %8038 = call ptr @strerror(i32 noundef %8037) #11
  %8039 = call ptr @__errno_location() #12
  %8040 = load i32, ptr %8039, align 4, !tbaa !5
  %8041 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8028, ptr noundef @.str, i32 noundef %8029, ptr noundef @.str.73, ptr noundef @.str.2, i32 noundef 447, ptr noundef %8032, ptr noundef %8035, ptr noundef %8038, i32 noundef %8040) #11
  br label %8059

8042:                                             ; preds = %8020, %8013
  %8043 = load i32, ptr %222, align 4, !tbaa !5
  %8044 = call ptr @__errno_location() #12
  store i32 %8043, ptr %8044, align 4, !tbaa !5
  %8045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8046 = load i32, ptr @test_count, align 4, !tbaa !5
  %8047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8048 = load i32, ptr %8047, align 4, !tbaa !5
  %8049 = call ptr @s2n_strerror(i32 noundef %8048, ptr noundef @.str.3)
  %8050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8051 = load i32, ptr %8050, align 4, !tbaa !5
  %8052 = call ptr @s2n_strerror_debug(i32 noundef %8051, ptr noundef @.str.3)
  %8053 = call ptr @__errno_location() #12
  %8054 = load i32, ptr %8053, align 4, !tbaa !5
  %8055 = call ptr @strerror(i32 noundef %8054) #11
  %8056 = call ptr @__errno_location() #12
  %8057 = load i32, ptr %8056, align 4, !tbaa !5
  %8058 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8045, ptr noundef @.str.4, i32 noundef %8046, ptr noundef @.str.73, ptr noundef @.str.2, i32 noundef 447, ptr noundef %8049, ptr noundef %8052, ptr noundef %8055, i32 noundef %8057) #11
  br label %8059

8059:                                             ; preds = %8042, %8025
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #11
  br label %8060

8060:                                             ; preds = %8059
  br label %8061

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

8062:                                             ; No predecessors!
  br label %8063

8063:                                             ; preds = %8062
  br label %8064

8064:                                             ; preds = %8063, %8006
  br label %8065

8065:                                             ; preds = %8064
  br label %8066

8066:                                             ; preds = %8065
  call void @llvm.lifetime.start.p0(i64 100, ptr %223) #11
  call void @llvm.memset.p0.i64(ptr align 16 %223, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %224) #11
  %8067 = load ptr, ptr %213, align 8, !tbaa !9
  %8068 = getelementptr inbounds [100 x i8], ptr %223, i64 0, i64 0
  %8069 = call i64 @s2n_recv(ptr noundef %8067, ptr noundef %8068, i64 noundef 50, ptr noundef %175)
  %8070 = trunc i64 %8069 to i32
  store i32 %8070, ptr %224, align 4, !tbaa !5
  br label %8071

8071:                                             ; preds = %8066
  %8072 = load i32, ptr @test_count, align 4, !tbaa !5
  %8073 = add nsw i32 %8072, 1
  store i32 %8073, ptr @test_count, align 4, !tbaa !5
  %8074 = load i32, ptr %224, align 4, !tbaa !5
  %8075 = sext i32 %8074 to i64
  %8076 = icmp eq i64 %8075, 50
  br i1 %8076, label %8130, label %8077

8077:                                             ; preds = %8071
  br label %8078

8078:                                             ; preds = %8077
  br label %8079

8079:                                             ; preds = %8078
  call void @llvm.lifetime.start.p0(i64 4, ptr %225) #11
  %8080 = call ptr @__errno_location() #12
  %8081 = load i32, ptr %8080, align 4, !tbaa !5
  store i32 %8081, ptr %225, align 4, !tbaa !5
  %8082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8083 = call i32 @s2n_print_stacktrace(ptr noundef %8082)
  %8084 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8085 = trunc i8 %8084 to i1
  br i1 %8085, label %8086, label %8108

8086:                                             ; preds = %8079
  %8087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8088 = call i32 @fileno(ptr noundef %8087) #11
  %8089 = call i32 @isatty(i32 noundef %8088) #11
  %8090 = icmp ne i32 %8089, 0
  br i1 %8090, label %8091, label %8108

8091:                                             ; preds = %8086
  %8092 = load i32, ptr %225, align 4, !tbaa !5
  %8093 = call ptr @__errno_location() #12
  store i32 %8092, ptr %8093, align 4, !tbaa !5
  %8094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8095 = load i32, ptr @test_count, align 4, !tbaa !5
  %8096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8097 = load i32, ptr %8096, align 4, !tbaa !5
  %8098 = call ptr @s2n_strerror(i32 noundef %8097, ptr noundef @.str.3)
  %8099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8100 = load i32, ptr %8099, align 4, !tbaa !5
  %8101 = call ptr @s2n_strerror_debug(i32 noundef %8100, ptr noundef @.str.3)
  %8102 = call ptr @__errno_location() #12
  %8103 = load i32, ptr %8102, align 4, !tbaa !5
  %8104 = call ptr @strerror(i32 noundef %8103) #11
  %8105 = call ptr @__errno_location() #12
  %8106 = load i32, ptr %8105, align 4, !tbaa !5
  %8107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8094, ptr noundef @.str, i32 noundef %8095, ptr noundef @.str.78, ptr noundef @.str.2, i32 noundef 452, ptr noundef %8098, ptr noundef %8101, ptr noundef %8104, i32 noundef %8106) #11
  br label %8125

8108:                                             ; preds = %8086, %8079
  %8109 = load i32, ptr %225, align 4, !tbaa !5
  %8110 = call ptr @__errno_location() #12
  store i32 %8109, ptr %8110, align 4, !tbaa !5
  %8111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8112 = load i32, ptr @test_count, align 4, !tbaa !5
  %8113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8114 = load i32, ptr %8113, align 4, !tbaa !5
  %8115 = call ptr @s2n_strerror(i32 noundef %8114, ptr noundef @.str.3)
  %8116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8117 = load i32, ptr %8116, align 4, !tbaa !5
  %8118 = call ptr @s2n_strerror_debug(i32 noundef %8117, ptr noundef @.str.3)
  %8119 = call ptr @__errno_location() #12
  %8120 = load i32, ptr %8119, align 4, !tbaa !5
  %8121 = call ptr @strerror(i32 noundef %8120) #11
  %8122 = call ptr @__errno_location() #12
  %8123 = load i32, ptr %8122, align 4, !tbaa !5
  %8124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8111, ptr noundef @.str.4, i32 noundef %8112, ptr noundef @.str.78, ptr noundef @.str.2, i32 noundef 452, ptr noundef %8115, ptr noundef %8118, ptr noundef %8121, i32 noundef %8123) #11
  br label %8125

8125:                                             ; preds = %8108, %8091
  call void @llvm.lifetime.end.p0(i64 4, ptr %225) #11
  br label %8126

8126:                                             ; preds = %8125
  br label %8127

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

8128:                                             ; No predecessors!
  br label %8129

8129:                                             ; preds = %8128
  br label %8130

8130:                                             ; preds = %8129, %8071
  br label %8131

8131:                                             ; preds = %8130
  br label %8132

8132:                                             ; preds = %8131
  br label %8133

8133:                                             ; preds = %8132
  %8134 = load i32, ptr @test_count, align 4, !tbaa !5
  %8135 = add nsw i32 %8134, 1
  store i32 %8135, ptr @test_count, align 4, !tbaa !5
  %8136 = load i32, ptr %175, align 4, !tbaa !5
  %8137 = icmp eq i32 %8136, 1
  br i1 %8137, label %8191, label %8138

8138:                                             ; preds = %8133
  br label %8139

8139:                                             ; preds = %8138
  br label %8140

8140:                                             ; preds = %8139
  call void @llvm.lifetime.start.p0(i64 4, ptr %226) #11
  %8141 = call ptr @__errno_location() #12
  %8142 = load i32, ptr %8141, align 4, !tbaa !5
  store i32 %8142, ptr %226, align 4, !tbaa !5
  %8143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8144 = call i32 @s2n_print_stacktrace(ptr noundef %8143)
  %8145 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8146 = trunc i8 %8145 to i1
  br i1 %8146, label %8147, label %8169

8147:                                             ; preds = %8140
  %8148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8149 = call i32 @fileno(ptr noundef %8148) #11
  %8150 = call i32 @isatty(i32 noundef %8149) #11
  %8151 = icmp ne i32 %8150, 0
  br i1 %8151, label %8152, label %8169

8152:                                             ; preds = %8147
  %8153 = load i32, ptr %226, align 4, !tbaa !5
  %8154 = call ptr @__errno_location() #12
  store i32 %8153, ptr %8154, align 4, !tbaa !5
  %8155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8156 = load i32, ptr @test_count, align 4, !tbaa !5
  %8157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8158 = load i32, ptr %8157, align 4, !tbaa !5
  %8159 = call ptr @s2n_strerror(i32 noundef %8158, ptr noundef @.str.3)
  %8160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8161 = load i32, ptr %8160, align 4, !tbaa !5
  %8162 = call ptr @s2n_strerror_debug(i32 noundef %8161, ptr noundef @.str.3)
  %8163 = call ptr @__errno_location() #12
  %8164 = load i32, ptr %8163, align 4, !tbaa !5
  %8165 = call ptr @strerror(i32 noundef %8164) #11
  %8166 = call ptr @__errno_location() #12
  %8167 = load i32, ptr %8166, align 4, !tbaa !5
  %8168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8155, ptr noundef @.str, i32 noundef %8156, ptr noundef @.str.62, ptr noundef @.str.2, i32 noundef 453, ptr noundef %8159, ptr noundef %8162, ptr noundef %8165, i32 noundef %8167) #11
  br label %8186

8169:                                             ; preds = %8147, %8140
  %8170 = load i32, ptr %226, align 4, !tbaa !5
  %8171 = call ptr @__errno_location() #12
  store i32 %8170, ptr %8171, align 4, !tbaa !5
  %8172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8173 = load i32, ptr @test_count, align 4, !tbaa !5
  %8174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8175 = load i32, ptr %8174, align 4, !tbaa !5
  %8176 = call ptr @s2n_strerror(i32 noundef %8175, ptr noundef @.str.3)
  %8177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8178 = load i32, ptr %8177, align 4, !tbaa !5
  %8179 = call ptr @s2n_strerror_debug(i32 noundef %8178, ptr noundef @.str.3)
  %8180 = call ptr @__errno_location() #12
  %8181 = load i32, ptr %8180, align 4, !tbaa !5
  %8182 = call ptr @strerror(i32 noundef %8181) #11
  %8183 = call ptr @__errno_location() #12
  %8184 = load i32, ptr %8183, align 4, !tbaa !5
  %8185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8172, ptr noundef @.str.4, i32 noundef %8173, ptr noundef @.str.62, ptr noundef @.str.2, i32 noundef 453, ptr noundef %8176, ptr noundef %8179, ptr noundef %8182, i32 noundef %8184) #11
  br label %8186

8186:                                             ; preds = %8169, %8152
  call void @llvm.lifetime.end.p0(i64 4, ptr %226) #11
  br label %8187

8187:                                             ; preds = %8186
  br label %8188

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

8189:                                             ; No predecessors!
  br label %8190

8190:                                             ; preds = %8189
  br label %8191

8191:                                             ; preds = %8190, %8133
  br label %8192

8192:                                             ; preds = %8191
  br label %8193

8193:                                             ; preds = %8192
  br label %8194

8194:                                             ; preds = %8193
  br label %8195

8195:                                             ; preds = %8194
  %8196 = load i32, ptr @test_count, align 4, !tbaa !5
  %8197 = add nsw i32 %8196, 1
  store i32 %8197, ptr @test_count, align 4, !tbaa !5
  %8198 = getelementptr inbounds [100 x i8], ptr %223, i64 0, i64 0
  %8199 = getelementptr inbounds [100 x i8], ptr %169, i64 0, i64 0
  %8200 = call i32 @memcmp(ptr noundef %8198, ptr noundef %8199, i64 noundef 50) #14
  %8201 = icmp eq i32 %8200, 0
  br i1 %8201, label %8255, label %8202

8202:                                             ; preds = %8195
  br label %8203

8203:                                             ; preds = %8202
  br label %8204

8204:                                             ; preds = %8203
  call void @llvm.lifetime.start.p0(i64 4, ptr %227) #11
  %8205 = call ptr @__errno_location() #12
  %8206 = load i32, ptr %8205, align 4, !tbaa !5
  store i32 %8206, ptr %227, align 4, !tbaa !5
  %8207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8208 = call i32 @s2n_print_stacktrace(ptr noundef %8207)
  %8209 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8210 = trunc i8 %8209 to i1
  br i1 %8210, label %8211, label %8233

8211:                                             ; preds = %8204
  %8212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8213 = call i32 @fileno(ptr noundef %8212) #11
  %8214 = call i32 @isatty(i32 noundef %8213) #11
  %8215 = icmp ne i32 %8214, 0
  br i1 %8215, label %8216, label %8233

8216:                                             ; preds = %8211
  %8217 = load i32, ptr %227, align 4, !tbaa !5
  %8218 = call ptr @__errno_location() #12
  store i32 %8217, ptr %8218, align 4, !tbaa !5
  %8219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8220 = load i32, ptr @test_count, align 4, !tbaa !5
  %8221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8222 = load i32, ptr %8221, align 4, !tbaa !5
  %8223 = call ptr @s2n_strerror(i32 noundef %8222, ptr noundef @.str.3)
  %8224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8225 = load i32, ptr %8224, align 4, !tbaa !5
  %8226 = call ptr @s2n_strerror_debug(i32 noundef %8225, ptr noundef @.str.3)
  %8227 = call ptr @__errno_location() #12
  %8228 = load i32, ptr %8227, align 4, !tbaa !5
  %8229 = call ptr @strerror(i32 noundef %8228) #11
  %8230 = call ptr @__errno_location() #12
  %8231 = load i32, ptr %8230, align 4, !tbaa !5
  %8232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8219, ptr noundef @.str, i32 noundef %8220, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 454, ptr noundef %8223, ptr noundef %8226, ptr noundef %8229, i32 noundef %8231) #11
  br label %8250

8233:                                             ; preds = %8211, %8204
  %8234 = load i32, ptr %227, align 4, !tbaa !5
  %8235 = call ptr @__errno_location() #12
  store i32 %8234, ptr %8235, align 4, !tbaa !5
  %8236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8237 = load i32, ptr @test_count, align 4, !tbaa !5
  %8238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8239 = load i32, ptr %8238, align 4, !tbaa !5
  %8240 = call ptr @s2n_strerror(i32 noundef %8239, ptr noundef @.str.3)
  %8241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8242 = load i32, ptr %8241, align 4, !tbaa !5
  %8243 = call ptr @s2n_strerror_debug(i32 noundef %8242, ptr noundef @.str.3)
  %8244 = call ptr @__errno_location() #12
  %8245 = load i32, ptr %8244, align 4, !tbaa !5
  %8246 = call ptr @strerror(i32 noundef %8245) #11
  %8247 = call ptr @__errno_location() #12
  %8248 = load i32, ptr %8247, align 4, !tbaa !5
  %8249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8236, ptr noundef @.str.4, i32 noundef %8237, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 454, ptr noundef %8240, ptr noundef %8243, ptr noundef %8246, i32 noundef %8248) #11
  br label %8250

8250:                                             ; preds = %8233, %8216
  call void @llvm.lifetime.end.p0(i64 4, ptr %227) #11
  br label %8251

8251:                                             ; preds = %8250
  br label %8252

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

8253:                                             ; No predecessors!
  br label %8254

8254:                                             ; preds = %8253
  br label %8255

8255:                                             ; preds = %8254, %8195
  br label %8256

8256:                                             ; preds = %8255
  br label %8257

8257:                                             ; preds = %8256
  br label %8258

8258:                                             ; preds = %8257
  br label %8259

8259:                                             ; preds = %8258
  br label %8260

8260:                                             ; preds = %8259
  %8261 = load i32, ptr @test_count, align 4, !tbaa !5
  %8262 = add nsw i32 %8261, 1
  store i32 %8262, ptr @test_count, align 4, !tbaa !5
  %8263 = load ptr, ptr %218, align 8, !tbaa !9
  %8264 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %8263, i32 0, i32 3
  %8265 = load i64, ptr %8264, align 8, !tbaa !59
  %8266 = icmp eq i64 %8265, 1
  br i1 %8266, label %8320, label %8267

8267:                                             ; preds = %8260
  br label %8268

8268:                                             ; preds = %8267
  br label %8269

8269:                                             ; preds = %8268
  call void @llvm.lifetime.start.p0(i64 4, ptr %228) #11
  %8270 = call ptr @__errno_location() #12
  %8271 = load i32, ptr %8270, align 4, !tbaa !5
  store i32 %8271, ptr %228, align 4, !tbaa !5
  %8272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8273 = call i32 @s2n_print_stacktrace(ptr noundef %8272)
  %8274 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8275 = trunc i8 %8274 to i1
  br i1 %8275, label %8276, label %8298

8276:                                             ; preds = %8269
  %8277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8278 = call i32 @fileno(ptr noundef %8277) #11
  %8279 = call i32 @isatty(i32 noundef %8278) #11
  %8280 = icmp ne i32 %8279, 0
  br i1 %8280, label %8281, label %8298

8281:                                             ; preds = %8276
  %8282 = load i32, ptr %228, align 4, !tbaa !5
  %8283 = call ptr @__errno_location() #12
  store i32 %8282, ptr %8283, align 4, !tbaa !5
  %8284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8285 = load i32, ptr @test_count, align 4, !tbaa !5
  %8286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8287 = load i32, ptr %8286, align 4, !tbaa !5
  %8288 = call ptr @s2n_strerror(i32 noundef %8287, ptr noundef @.str.3)
  %8289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8290 = load i32, ptr %8289, align 4, !tbaa !5
  %8291 = call ptr @s2n_strerror_debug(i32 noundef %8290, ptr noundef @.str.3)
  %8292 = call ptr @__errno_location() #12
  %8293 = load i32, ptr %8292, align 4, !tbaa !5
  %8294 = call ptr @strerror(i32 noundef %8293) #11
  %8295 = call ptr @__errno_location() #12
  %8296 = load i32, ptr %8295, align 4, !tbaa !5
  %8297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8284, ptr noundef @.str, i32 noundef %8285, ptr noundef @.str.80, ptr noundef @.str.2, i32 noundef 455, ptr noundef %8288, ptr noundef %8291, ptr noundef %8294, i32 noundef %8296) #11
  br label %8315

8298:                                             ; preds = %8276, %8269
  %8299 = load i32, ptr %228, align 4, !tbaa !5
  %8300 = call ptr @__errno_location() #12
  store i32 %8299, ptr %8300, align 4, !tbaa !5
  %8301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8302 = load i32, ptr @test_count, align 4, !tbaa !5
  %8303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8304 = load i32, ptr %8303, align 4, !tbaa !5
  %8305 = call ptr @s2n_strerror(i32 noundef %8304, ptr noundef @.str.3)
  %8306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8307 = load i32, ptr %8306, align 4, !tbaa !5
  %8308 = call ptr @s2n_strerror_debug(i32 noundef %8307, ptr noundef @.str.3)
  %8309 = call ptr @__errno_location() #12
  %8310 = load i32, ptr %8309, align 4, !tbaa !5
  %8311 = call ptr @strerror(i32 noundef %8310) #11
  %8312 = call ptr @__errno_location() #12
  %8313 = load i32, ptr %8312, align 4, !tbaa !5
  %8314 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8301, ptr noundef @.str.4, i32 noundef %8302, ptr noundef @.str.80, ptr noundef @.str.2, i32 noundef 455, ptr noundef %8305, ptr noundef %8308, ptr noundef %8311, i32 noundef %8313) #11
  br label %8315

8315:                                             ; preds = %8298, %8281
  call void @llvm.lifetime.end.p0(i64 4, ptr %228) #11
  br label %8316

8316:                                             ; preds = %8315
  br label %8317

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

8318:                                             ; No predecessors!
  br label %8319

8319:                                             ; preds = %8318
  br label %8320

8320:                                             ; preds = %8319, %8260
  br label %8321

8321:                                             ; preds = %8320
  br label %8322

8322:                                             ; preds = %8321
  call void @llvm.lifetime.start.p0(i64 8, ptr %229) #11
  store i64 50, ptr %229, align 8, !tbaa !15
  %8323 = load ptr, ptr %213, align 8, !tbaa !9
  %8324 = getelementptr inbounds [100 x i8], ptr %223, i64 0, i64 0
  %8325 = load i32, ptr %224, align 4, !tbaa !5
  %8326 = sext i32 %8325 to i64
  %8327 = getelementptr inbounds i8, ptr %8324, i64 %8326
  %8328 = call i64 @s2n_recv(ptr noundef %8323, ptr noundef %8327, i64 noundef 50, ptr noundef %175)
  %8329 = trunc i64 %8328 to i32
  store i32 %8329, ptr %224, align 4, !tbaa !5
  br label %8330

8330:                                             ; preds = %8322
  %8331 = load i32, ptr @test_count, align 4, !tbaa !5
  %8332 = add nsw i32 %8331, 1
  store i32 %8332, ptr @test_count, align 4, !tbaa !5
  %8333 = load i32, ptr %224, align 4, !tbaa !5
  %8334 = sext i32 %8333 to i64
  %8335 = icmp eq i64 %8334, 50
  br i1 %8335, label %8389, label %8336

8336:                                             ; preds = %8330
  br label %8337

8337:                                             ; preds = %8336
  br label %8338

8338:                                             ; preds = %8337
  call void @llvm.lifetime.start.p0(i64 4, ptr %230) #11
  %8339 = call ptr @__errno_location() #12
  %8340 = load i32, ptr %8339, align 4, !tbaa !5
  store i32 %8340, ptr %230, align 4, !tbaa !5
  %8341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8342 = call i32 @s2n_print_stacktrace(ptr noundef %8341)
  %8343 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8344 = trunc i8 %8343 to i1
  br i1 %8344, label %8345, label %8367

8345:                                             ; preds = %8338
  %8346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8347 = call i32 @fileno(ptr noundef %8346) #11
  %8348 = call i32 @isatty(i32 noundef %8347) #11
  %8349 = icmp ne i32 %8348, 0
  br i1 %8349, label %8350, label %8367

8350:                                             ; preds = %8345
  %8351 = load i32, ptr %230, align 4, !tbaa !5
  %8352 = call ptr @__errno_location() #12
  store i32 %8351, ptr %8352, align 4, !tbaa !5
  %8353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8354 = load i32, ptr @test_count, align 4, !tbaa !5
  %8355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8356 = load i32, ptr %8355, align 4, !tbaa !5
  %8357 = call ptr @s2n_strerror(i32 noundef %8356, ptr noundef @.str.3)
  %8358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8359 = load i32, ptr %8358, align 4, !tbaa !5
  %8360 = call ptr @s2n_strerror_debug(i32 noundef %8359, ptr noundef @.str.3)
  %8361 = call ptr @__errno_location() #12
  %8362 = load i32, ptr %8361, align 4, !tbaa !5
  %8363 = call ptr @strerror(i32 noundef %8362) #11
  %8364 = call ptr @__errno_location() #12
  %8365 = load i32, ptr %8364, align 4, !tbaa !5
  %8366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8353, ptr noundef @.str, i32 noundef %8354, ptr noundef @.str.81, ptr noundef @.str.2, i32 noundef 460, ptr noundef %8357, ptr noundef %8360, ptr noundef %8363, i32 noundef %8365) #11
  br label %8384

8367:                                             ; preds = %8345, %8338
  %8368 = load i32, ptr %230, align 4, !tbaa !5
  %8369 = call ptr @__errno_location() #12
  store i32 %8368, ptr %8369, align 4, !tbaa !5
  %8370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8371 = load i32, ptr @test_count, align 4, !tbaa !5
  %8372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8373 = load i32, ptr %8372, align 4, !tbaa !5
  %8374 = call ptr @s2n_strerror(i32 noundef %8373, ptr noundef @.str.3)
  %8375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8376 = load i32, ptr %8375, align 4, !tbaa !5
  %8377 = call ptr @s2n_strerror_debug(i32 noundef %8376, ptr noundef @.str.3)
  %8378 = call ptr @__errno_location() #12
  %8379 = load i32, ptr %8378, align 4, !tbaa !5
  %8380 = call ptr @strerror(i32 noundef %8379) #11
  %8381 = call ptr @__errno_location() #12
  %8382 = load i32, ptr %8381, align 4, !tbaa !5
  %8383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8370, ptr noundef @.str.4, i32 noundef %8371, ptr noundef @.str.81, ptr noundef @.str.2, i32 noundef 460, ptr noundef %8374, ptr noundef %8377, ptr noundef %8380, i32 noundef %8382) #11
  br label %8384

8384:                                             ; preds = %8367, %8350
  call void @llvm.lifetime.end.p0(i64 4, ptr %230) #11
  br label %8385

8385:                                             ; preds = %8384
  br label %8386

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

8387:                                             ; No predecessors!
  br label %8388

8388:                                             ; preds = %8387
  br label %8389

8389:                                             ; preds = %8388, %8330
  br label %8390

8390:                                             ; preds = %8389
  br label %8391

8391:                                             ; preds = %8390
  br label %8392

8392:                                             ; preds = %8391
  %8393 = load i32, ptr @test_count, align 4, !tbaa !5
  %8394 = add nsw i32 %8393, 1
  store i32 %8394, ptr @test_count, align 4, !tbaa !5
  %8395 = load i32, ptr %175, align 4, !tbaa !5
  %8396 = icmp eq i32 %8395, 0
  br i1 %8396, label %8450, label %8397

8397:                                             ; preds = %8392
  br label %8398

8398:                                             ; preds = %8397
  br label %8399

8399:                                             ; preds = %8398
  call void @llvm.lifetime.start.p0(i64 4, ptr %231) #11
  %8400 = call ptr @__errno_location() #12
  %8401 = load i32, ptr %8400, align 4, !tbaa !5
  store i32 %8401, ptr %231, align 4, !tbaa !5
  %8402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8403 = call i32 @s2n_print_stacktrace(ptr noundef %8402)
  %8404 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8405 = trunc i8 %8404 to i1
  br i1 %8405, label %8406, label %8428

8406:                                             ; preds = %8399
  %8407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8408 = call i32 @fileno(ptr noundef %8407) #11
  %8409 = call i32 @isatty(i32 noundef %8408) #11
  %8410 = icmp ne i32 %8409, 0
  br i1 %8410, label %8411, label %8428

8411:                                             ; preds = %8406
  %8412 = load i32, ptr %231, align 4, !tbaa !5
  %8413 = call ptr @__errno_location() #12
  store i32 %8412, ptr %8413, align 4, !tbaa !5
  %8414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8415 = load i32, ptr @test_count, align 4, !tbaa !5
  %8416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8417 = load i32, ptr %8416, align 4, !tbaa !5
  %8418 = call ptr @s2n_strerror(i32 noundef %8417, ptr noundef @.str.3)
  %8419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8420 = load i32, ptr %8419, align 4, !tbaa !5
  %8421 = call ptr @s2n_strerror_debug(i32 noundef %8420, ptr noundef @.str.3)
  %8422 = call ptr @__errno_location() #12
  %8423 = load i32, ptr %8422, align 4, !tbaa !5
  %8424 = call ptr @strerror(i32 noundef %8423) #11
  %8425 = call ptr @__errno_location() #12
  %8426 = load i32, ptr %8425, align 4, !tbaa !5
  %8427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8414, ptr noundef @.str, i32 noundef %8415, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 461, ptr noundef %8418, ptr noundef %8421, ptr noundef %8424, i32 noundef %8426) #11
  br label %8445

8428:                                             ; preds = %8406, %8399
  %8429 = load i32, ptr %231, align 4, !tbaa !5
  %8430 = call ptr @__errno_location() #12
  store i32 %8429, ptr %8430, align 4, !tbaa !5
  %8431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8432 = load i32, ptr @test_count, align 4, !tbaa !5
  %8433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8434 = load i32, ptr %8433, align 4, !tbaa !5
  %8435 = call ptr @s2n_strerror(i32 noundef %8434, ptr noundef @.str.3)
  %8436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8437 = load i32, ptr %8436, align 4, !tbaa !5
  %8438 = call ptr @s2n_strerror_debug(i32 noundef %8437, ptr noundef @.str.3)
  %8439 = call ptr @__errno_location() #12
  %8440 = load i32, ptr %8439, align 4, !tbaa !5
  %8441 = call ptr @strerror(i32 noundef %8440) #11
  %8442 = call ptr @__errno_location() #12
  %8443 = load i32, ptr %8442, align 4, !tbaa !5
  %8444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8431, ptr noundef @.str.4, i32 noundef %8432, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 461, ptr noundef %8435, ptr noundef %8438, ptr noundef %8441, i32 noundef %8443) #11
  br label %8445

8445:                                             ; preds = %8428, %8411
  call void @llvm.lifetime.end.p0(i64 4, ptr %231) #11
  br label %8446

8446:                                             ; preds = %8445
  br label %8447

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

8448:                                             ; No predecessors!
  br label %8449

8449:                                             ; preds = %8448
  br label %8450

8450:                                             ; preds = %8449, %8392
  br label %8451

8451:                                             ; preds = %8450
  br label %8452

8452:                                             ; preds = %8451
  br label %8453

8453:                                             ; preds = %8452
  br label %8454

8454:                                             ; preds = %8453
  %8455 = load i32, ptr @test_count, align 4, !tbaa !5
  %8456 = add nsw i32 %8455, 1
  store i32 %8456, ptr @test_count, align 4, !tbaa !5
  %8457 = getelementptr inbounds [100 x i8], ptr %223, i64 0, i64 0
  %8458 = getelementptr inbounds [100 x i8], ptr %169, i64 0, i64 0
  %8459 = call i32 @memcmp(ptr noundef %8457, ptr noundef %8458, i64 noundef 100) #14
  %8460 = icmp eq i32 %8459, 0
  br i1 %8460, label %8514, label %8461

8461:                                             ; preds = %8454
  br label %8462

8462:                                             ; preds = %8461
  br label %8463

8463:                                             ; preds = %8462
  call void @llvm.lifetime.start.p0(i64 4, ptr %232) #11
  %8464 = call ptr @__errno_location() #12
  %8465 = load i32, ptr %8464, align 4, !tbaa !5
  store i32 %8465, ptr %232, align 4, !tbaa !5
  %8466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8467 = call i32 @s2n_print_stacktrace(ptr noundef %8466)
  %8468 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8469 = trunc i8 %8468 to i1
  br i1 %8469, label %8470, label %8492

8470:                                             ; preds = %8463
  %8471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8472 = call i32 @fileno(ptr noundef %8471) #11
  %8473 = call i32 @isatty(i32 noundef %8472) #11
  %8474 = icmp ne i32 %8473, 0
  br i1 %8474, label %8475, label %8492

8475:                                             ; preds = %8470
  %8476 = load i32, ptr %232, align 4, !tbaa !5
  %8477 = call ptr @__errno_location() #12
  store i32 %8476, ptr %8477, align 4, !tbaa !5
  %8478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8479 = load i32, ptr @test_count, align 4, !tbaa !5
  %8480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8481 = load i32, ptr %8480, align 4, !tbaa !5
  %8482 = call ptr @s2n_strerror(i32 noundef %8481, ptr noundef @.str.3)
  %8483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8484 = load i32, ptr %8483, align 4, !tbaa !5
  %8485 = call ptr @s2n_strerror_debug(i32 noundef %8484, ptr noundef @.str.3)
  %8486 = call ptr @__errno_location() #12
  %8487 = load i32, ptr %8486, align 4, !tbaa !5
  %8488 = call ptr @strerror(i32 noundef %8487) #11
  %8489 = call ptr @__errno_location() #12
  %8490 = load i32, ptr %8489, align 4, !tbaa !5
  %8491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8478, ptr noundef @.str, i32 noundef %8479, ptr noundef @.str.82, ptr noundef @.str.2, i32 noundef 462, ptr noundef %8482, ptr noundef %8485, ptr noundef %8488, i32 noundef %8490) #11
  br label %8509

8492:                                             ; preds = %8470, %8463
  %8493 = load i32, ptr %232, align 4, !tbaa !5
  %8494 = call ptr @__errno_location() #12
  store i32 %8493, ptr %8494, align 4, !tbaa !5
  %8495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8496 = load i32, ptr @test_count, align 4, !tbaa !5
  %8497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8498 = load i32, ptr %8497, align 4, !tbaa !5
  %8499 = call ptr @s2n_strerror(i32 noundef %8498, ptr noundef @.str.3)
  %8500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8501 = load i32, ptr %8500, align 4, !tbaa !5
  %8502 = call ptr @s2n_strerror_debug(i32 noundef %8501, ptr noundef @.str.3)
  %8503 = call ptr @__errno_location() #12
  %8504 = load i32, ptr %8503, align 4, !tbaa !5
  %8505 = call ptr @strerror(i32 noundef %8504) #11
  %8506 = call ptr @__errno_location() #12
  %8507 = load i32, ptr %8506, align 4, !tbaa !5
  %8508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8495, ptr noundef @.str.4, i32 noundef %8496, ptr noundef @.str.82, ptr noundef @.str.2, i32 noundef 462, ptr noundef %8499, ptr noundef %8502, ptr noundef %8505, i32 noundef %8507) #11
  br label %8509

8509:                                             ; preds = %8492, %8475
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #11
  br label %8510

8510:                                             ; preds = %8509
  br label %8511

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

8512:                                             ; No predecessors!
  br label %8513

8513:                                             ; preds = %8512
  br label %8514

8514:                                             ; preds = %8513, %8454
  br label %8515

8515:                                             ; preds = %8514
  br label %8516

8516:                                             ; preds = %8515
  br label %8517

8517:                                             ; preds = %8516
  br label %8518

8518:                                             ; preds = %8517
  br label %8519

8519:                                             ; preds = %8518
  %8520 = load i32, ptr @test_count, align 4, !tbaa !5
  %8521 = add nsw i32 %8520, 1
  store i32 %8521, ptr @test_count, align 4, !tbaa !5
  %8522 = load ptr, ptr %218, align 8, !tbaa !9
  %8523 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer, ptr %8522, i32 0, i32 3
  %8524 = load i64, ptr %8523, align 8, !tbaa !59
  %8525 = icmp eq i64 %8524, 1
  br i1 %8525, label %8579, label %8526

8526:                                             ; preds = %8519
  br label %8527

8527:                                             ; preds = %8526
  br label %8528

8528:                                             ; preds = %8527
  call void @llvm.lifetime.start.p0(i64 4, ptr %233) #11
  %8529 = call ptr @__errno_location() #12
  %8530 = load i32, ptr %8529, align 4, !tbaa !5
  store i32 %8530, ptr %233, align 4, !tbaa !5
  %8531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8532 = call i32 @s2n_print_stacktrace(ptr noundef %8531)
  %8533 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8534 = trunc i8 %8533 to i1
  br i1 %8534, label %8535, label %8557

8535:                                             ; preds = %8528
  %8536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8537 = call i32 @fileno(ptr noundef %8536) #11
  %8538 = call i32 @isatty(i32 noundef %8537) #11
  %8539 = icmp ne i32 %8538, 0
  br i1 %8539, label %8540, label %8557

8540:                                             ; preds = %8535
  %8541 = load i32, ptr %233, align 4, !tbaa !5
  %8542 = call ptr @__errno_location() #12
  store i32 %8541, ptr %8542, align 4, !tbaa !5
  %8543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8544 = load i32, ptr @test_count, align 4, !tbaa !5
  %8545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8546 = load i32, ptr %8545, align 4, !tbaa !5
  %8547 = call ptr @s2n_strerror(i32 noundef %8546, ptr noundef @.str.3)
  %8548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8549 = load i32, ptr %8548, align 4, !tbaa !5
  %8550 = call ptr @s2n_strerror_debug(i32 noundef %8549, ptr noundef @.str.3)
  %8551 = call ptr @__errno_location() #12
  %8552 = load i32, ptr %8551, align 4, !tbaa !5
  %8553 = call ptr @strerror(i32 noundef %8552) #11
  %8554 = call ptr @__errno_location() #12
  %8555 = load i32, ptr %8554, align 4, !tbaa !5
  %8556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8543, ptr noundef @.str, i32 noundef %8544, ptr noundef @.str.80, ptr noundef @.str.2, i32 noundef 463, ptr noundef %8547, ptr noundef %8550, ptr noundef %8553, i32 noundef %8555) #11
  br label %8574

8557:                                             ; preds = %8535, %8528
  %8558 = load i32, ptr %233, align 4, !tbaa !5
  %8559 = call ptr @__errno_location() #12
  store i32 %8558, ptr %8559, align 4, !tbaa !5
  %8560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8561 = load i32, ptr @test_count, align 4, !tbaa !5
  %8562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8563 = load i32, ptr %8562, align 4, !tbaa !5
  %8564 = call ptr @s2n_strerror(i32 noundef %8563, ptr noundef @.str.3)
  %8565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8566 = load i32, ptr %8565, align 4, !tbaa !5
  %8567 = call ptr @s2n_strerror_debug(i32 noundef %8566, ptr noundef @.str.3)
  %8568 = call ptr @__errno_location() #12
  %8569 = load i32, ptr %8568, align 4, !tbaa !5
  %8570 = call ptr @strerror(i32 noundef %8569) #11
  %8571 = call ptr @__errno_location() #12
  %8572 = load i32, ptr %8571, align 4, !tbaa !5
  %8573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8560, ptr noundef @.str.4, i32 noundef %8561, ptr noundef @.str.80, ptr noundef @.str.2, i32 noundef 463, ptr noundef %8564, ptr noundef %8567, ptr noundef %8570, i32 noundef %8572) #11
  br label %8574

8574:                                             ; preds = %8557, %8540
  call void @llvm.lifetime.end.p0(i64 4, ptr %233) #11
  br label %8575

8575:                                             ; preds = %8574
  br label %8576

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

8577:                                             ; No predecessors!
  br label %8578

8578:                                             ; preds = %8577
  br label %8579

8579:                                             ; preds = %8578, %8519
  br label %8580

8580:                                             ; preds = %8579
  br label %8581

8581:                                             ; preds = %8580
  call void @llvm.lifetime.end.p0(i64 8, ptr %229) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %224) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %223) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %219) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %218) #11
  %8582 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef %215)
  %8583 = getelementptr inbounds %struct.s2n_result, ptr %234, i32 0, i32 0
  store i32 %8582, ptr %8583, align 4
  call void @llvm.lifetime.end.p0(i64 192, ptr %215) #11
  %8584 = call i32 @s2n_connection_ptr_free(ptr noundef %213)
  %8585 = getelementptr inbounds %struct.s2n_result, ptr %235, i32 0, i32 0
  store i32 %8584, ptr %8585, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %213) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %212) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %236) #11
  %8586 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %8586, ptr %236, align 8, !tbaa !9
  br label %8587

8587:                                             ; preds = %8581
  %8588 = load i32, ptr @test_count, align 4, !tbaa !5
  %8589 = add nsw i32 %8588, 1
  store i32 %8589, ptr @test_count, align 4, !tbaa !5
  %8590 = load ptr, ptr %236, align 8, !tbaa !9
  %8591 = icmp eq ptr %8590, null
  br i1 %8591, label %8592, label %8645

8592:                                             ; preds = %8587
  br label %8593

8593:                                             ; preds = %8592
  br label %8594

8594:                                             ; preds = %8593
  call void @llvm.lifetime.start.p0(i64 4, ptr %237) #11
  %8595 = call ptr @__errno_location() #12
  %8596 = load i32, ptr %8595, align 4, !tbaa !5
  store i32 %8596, ptr %237, align 4, !tbaa !5
  %8597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8598 = call i32 @s2n_print_stacktrace(ptr noundef %8597)
  %8599 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8600 = trunc i8 %8599 to i1
  br i1 %8600, label %8601, label %8623

8601:                                             ; preds = %8594
  %8602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8603 = call i32 @fileno(ptr noundef %8602) #11
  %8604 = call i32 @isatty(i32 noundef %8603) #11
  %8605 = icmp ne i32 %8604, 0
  br i1 %8605, label %8606, label %8623

8606:                                             ; preds = %8601
  %8607 = load i32, ptr %237, align 4, !tbaa !5
  %8608 = call ptr @__errno_location() #12
  store i32 %8607, ptr %8608, align 4, !tbaa !5
  %8609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8610 = load i32, ptr @test_count, align 4, !tbaa !5
  %8611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8612 = load i32, ptr %8611, align 4, !tbaa !5
  %8613 = call ptr @s2n_strerror(i32 noundef %8612, ptr noundef @.str.3)
  %8614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8615 = load i32, ptr %8614, align 4, !tbaa !5
  %8616 = call ptr @s2n_strerror_debug(i32 noundef %8615, ptr noundef @.str.3)
  %8617 = call ptr @__errno_location() #12
  %8618 = load i32, ptr %8617, align 4, !tbaa !5
  %8619 = call ptr @strerror(i32 noundef %8618) #11
  %8620 = call ptr @__errno_location() #12
  %8621 = load i32, ptr %8620, align 4, !tbaa !5
  %8622 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8609, ptr noundef @.str, i32 noundef %8610, ptr noundef @.str.70, ptr noundef @.str.2, i32 noundef 470, ptr noundef %8613, ptr noundef %8616, ptr noundef %8619, i32 noundef %8621) #11
  br label %8640

8623:                                             ; preds = %8601, %8594
  %8624 = load i32, ptr %237, align 4, !tbaa !5
  %8625 = call ptr @__errno_location() #12
  store i32 %8624, ptr %8625, align 4, !tbaa !5
  %8626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8627 = load i32, ptr @test_count, align 4, !tbaa !5
  %8628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8629 = load i32, ptr %8628, align 4, !tbaa !5
  %8630 = call ptr @s2n_strerror(i32 noundef %8629, ptr noundef @.str.3)
  %8631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8632 = load i32, ptr %8631, align 4, !tbaa !5
  %8633 = call ptr @s2n_strerror_debug(i32 noundef %8632, ptr noundef @.str.3)
  %8634 = call ptr @__errno_location() #12
  %8635 = load i32, ptr %8634, align 4, !tbaa !5
  %8636 = call ptr @strerror(i32 noundef %8635) #11
  %8637 = call ptr @__errno_location() #12
  %8638 = load i32, ptr %8637, align 4, !tbaa !5
  %8639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8626, ptr noundef @.str.4, i32 noundef %8627, ptr noundef @.str.70, ptr noundef @.str.2, i32 noundef 470, ptr noundef %8630, ptr noundef %8633, ptr noundef %8636, i32 noundef %8638) #11
  br label %8640

8640:                                             ; preds = %8623, %8606
  call void @llvm.lifetime.end.p0(i64 4, ptr %237) #11
  br label %8641

8641:                                             ; preds = %8640
  br label %8642

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

8643:                                             ; No predecessors!
  br label %8644

8644:                                             ; preds = %8643
  br label %8645

8645:                                             ; preds = %8644, %8587
  br label %8646

8646:                                             ; preds = %8645
  br label %8647

8647:                                             ; preds = %8646
  %8648 = load ptr, ptr %236, align 8, !tbaa !9
  call void @s2n_ktls_configure_connection(ptr noundef %8648, i32 noundef 1)
  call void @llvm.lifetime.start.p0(i64 192, ptr %238) #11
  call void @llvm.memset.p0.i64(ptr align 8 %238, i8 0, i64 192, i1 false)
  br label %8649

8649:                                             ; preds = %8647
  %8650 = load i32, ptr @test_count, align 4, !tbaa !5
  %8651 = add nsw i32 %8650, 1
  store i32 %8651, ptr @test_count, align 4, !tbaa !5
  %8652 = load ptr, ptr %236, align 8, !tbaa !9
  %8653 = load ptr, ptr %236, align 8, !tbaa !9
  %8654 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef %8652, ptr noundef %8653, ptr noundef %238)
  %8655 = getelementptr inbounds %struct.s2n_result, ptr %239, i32 0, i32 0
  store i32 %8654, ptr %8655, align 4
  %8656 = getelementptr inbounds %struct.s2n_result, ptr %239, i32 0, i32 0
  %8657 = load i32, ptr %8656, align 4
  %8658 = call zeroext i1 @s2n_result_is_ok(i32 %8657)
  br i1 %8658, label %8712, label %8659

8659:                                             ; preds = %8649
  br label %8660

8660:                                             ; preds = %8659
  br label %8661

8661:                                             ; preds = %8660
  call void @llvm.lifetime.start.p0(i64 4, ptr %240) #11
  %8662 = call ptr @__errno_location() #12
  %8663 = load i32, ptr %8662, align 4, !tbaa !5
  store i32 %8663, ptr %240, align 4, !tbaa !5
  %8664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8665 = call i32 @s2n_print_stacktrace(ptr noundef %8664)
  %8666 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8667 = trunc i8 %8666 to i1
  br i1 %8667, label %8668, label %8690

8668:                                             ; preds = %8661
  %8669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8670 = call i32 @fileno(ptr noundef %8669) #11
  %8671 = call i32 @isatty(i32 noundef %8670) #11
  %8672 = icmp ne i32 %8671, 0
  br i1 %8672, label %8673, label %8690

8673:                                             ; preds = %8668
  %8674 = load i32, ptr %240, align 4, !tbaa !5
  %8675 = call ptr @__errno_location() #12
  store i32 %8674, ptr %8675, align 4, !tbaa !5
  %8676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8677 = load i32, ptr @test_count, align 4, !tbaa !5
  %8678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8679 = load i32, ptr %8678, align 4, !tbaa !5
  %8680 = call ptr @s2n_strerror(i32 noundef %8679, ptr noundef @.str.3)
  %8681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8682 = load i32, ptr %8681, align 4, !tbaa !5
  %8683 = call ptr @s2n_strerror_debug(i32 noundef %8682, ptr noundef @.str.3)
  %8684 = call ptr @__errno_location() #12
  %8685 = load i32, ptr %8684, align 4, !tbaa !5
  %8686 = call ptr @strerror(i32 noundef %8685) #11
  %8687 = call ptr @__errno_location() #12
  %8688 = load i32, ptr %8687, align 4, !tbaa !5
  %8689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8676, ptr noundef @.str, i32 noundef %8677, ptr noundef @.str.71, ptr noundef @.str.2, i32 noundef 475, ptr noundef %8680, ptr noundef %8683, ptr noundef %8686, i32 noundef %8688) #11
  br label %8707

8690:                                             ; preds = %8668, %8661
  %8691 = load i32, ptr %240, align 4, !tbaa !5
  %8692 = call ptr @__errno_location() #12
  store i32 %8691, ptr %8692, align 4, !tbaa !5
  %8693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8694 = load i32, ptr @test_count, align 4, !tbaa !5
  %8695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8696 = load i32, ptr %8695, align 4, !tbaa !5
  %8697 = call ptr @s2n_strerror(i32 noundef %8696, ptr noundef @.str.3)
  %8698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8699 = load i32, ptr %8698, align 4, !tbaa !5
  %8700 = call ptr @s2n_strerror_debug(i32 noundef %8699, ptr noundef @.str.3)
  %8701 = call ptr @__errno_location() #12
  %8702 = load i32, ptr %8701, align 4, !tbaa !5
  %8703 = call ptr @strerror(i32 noundef %8702) #11
  %8704 = call ptr @__errno_location() #12
  %8705 = load i32, ptr %8704, align 4, !tbaa !5
  %8706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8693, ptr noundef @.str.4, i32 noundef %8694, ptr noundef @.str.71, ptr noundef @.str.2, i32 noundef 475, ptr noundef %8697, ptr noundef %8700, ptr noundef %8703, i32 noundef %8705) #11
  br label %8707

8707:                                             ; preds = %8690, %8673
  call void @llvm.lifetime.end.p0(i64 4, ptr %240) #11
  br label %8708

8708:                                             ; preds = %8707
  br label %8709

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

8710:                                             ; No predecessors!
  br label %8711

8711:                                             ; preds = %8710
  br label %8712

8712:                                             ; preds = %8711, %8649
  br label %8713

8713:                                             ; preds = %8712
  br label %8714

8714:                                             ; preds = %8713
  call void @llvm.lifetime.start.p0(i64 100, ptr %241) #11
  call void @llvm.memset.p0.i64(ptr align 16 %241, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %242) #11
  %8715 = load ptr, ptr %236, align 8, !tbaa !9
  %8716 = getelementptr inbounds [100 x i8], ptr %241, i64 0, i64 0
  %8717 = call i64 @s2n_recv(ptr noundef %8715, ptr noundef %8716, i64 noundef 100, ptr noundef %175)
  %8718 = trunc i64 %8717 to i32
  store i32 %8718, ptr %242, align 4, !tbaa !5
  br label %8719

8719:                                             ; preds = %8714
  br label %8720

8720:                                             ; preds = %8719
  br label %8721

8721:                                             ; preds = %8720
  %8722 = load i32, ptr @test_count, align 4, !tbaa !5
  %8723 = add nsw i32 %8722, 1
  store i32 %8723, ptr @test_count, align 4, !tbaa !5
  %8724 = load i32, ptr %242, align 4, !tbaa !5
  %8725 = icmp eq i32 %8724, -1
  br i1 %8725, label %8779, label %8726

8726:                                             ; preds = %8721
  br label %8727

8727:                                             ; preds = %8726
  br label %8728

8728:                                             ; preds = %8727
  call void @llvm.lifetime.start.p0(i64 4, ptr %243) #11
  %8729 = call ptr @__errno_location() #12
  %8730 = load i32, ptr %8729, align 4, !tbaa !5
  store i32 %8730, ptr %243, align 4, !tbaa !5
  %8731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8732 = call i32 @s2n_print_stacktrace(ptr noundef %8731)
  %8733 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8734 = trunc i8 %8733 to i1
  br i1 %8734, label %8735, label %8757

8735:                                             ; preds = %8728
  %8736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8737 = call i32 @fileno(ptr noundef %8736) #11
  %8738 = call i32 @isatty(i32 noundef %8737) #11
  %8739 = icmp ne i32 %8738, 0
  br i1 %8739, label %8740, label %8757

8740:                                             ; preds = %8735
  %8741 = load i32, ptr %243, align 4, !tbaa !5
  %8742 = call ptr @__errno_location() #12
  store i32 %8741, ptr %8742, align 4, !tbaa !5
  %8743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8744 = load i32, ptr @test_count, align 4, !tbaa !5
  %8745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8746 = load i32, ptr %8745, align 4, !tbaa !5
  %8747 = call ptr @s2n_strerror(i32 noundef %8746, ptr noundef @.str.3)
  %8748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8749 = load i32, ptr %8748, align 4, !tbaa !5
  %8750 = call ptr @s2n_strerror_debug(i32 noundef %8749, ptr noundef @.str.3)
  %8751 = call ptr @__errno_location() #12
  %8752 = load i32, ptr %8751, align 4, !tbaa !5
  %8753 = call ptr @strerror(i32 noundef %8752) #11
  %8754 = call ptr @__errno_location() #12
  %8755 = load i32, ptr %8754, align 4, !tbaa !5
  %8756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8743, ptr noundef @.str, i32 noundef %8744, ptr noundef @.str.83, ptr noundef @.str.2, i32 noundef 479, ptr noundef %8747, ptr noundef %8750, ptr noundef %8753, i32 noundef %8755) #11
  br label %8774

8757:                                             ; preds = %8735, %8728
  %8758 = load i32, ptr %243, align 4, !tbaa !5
  %8759 = call ptr @__errno_location() #12
  store i32 %8758, ptr %8759, align 4, !tbaa !5
  %8760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8761 = load i32, ptr @test_count, align 4, !tbaa !5
  %8762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8763 = load i32, ptr %8762, align 4, !tbaa !5
  %8764 = call ptr @s2n_strerror(i32 noundef %8763, ptr noundef @.str.3)
  %8765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8766 = load i32, ptr %8765, align 4, !tbaa !5
  %8767 = call ptr @s2n_strerror_debug(i32 noundef %8766, ptr noundef @.str.3)
  %8768 = call ptr @__errno_location() #12
  %8769 = load i32, ptr %8768, align 4, !tbaa !5
  %8770 = call ptr @strerror(i32 noundef %8769) #11
  %8771 = call ptr @__errno_location() #12
  %8772 = load i32, ptr %8771, align 4, !tbaa !5
  %8773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8760, ptr noundef @.str.4, i32 noundef %8761, ptr noundef @.str.83, ptr noundef @.str.2, i32 noundef 479, ptr noundef %8764, ptr noundef %8767, ptr noundef %8770, i32 noundef %8772) #11
  br label %8774

8774:                                             ; preds = %8757, %8740
  call void @llvm.lifetime.end.p0(i64 4, ptr %243) #11
  br label %8775

8775:                                             ; preds = %8774
  br label %8776

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

8777:                                             ; No predecessors!
  br label %8778

8778:                                             ; preds = %8777
  br label %8779

8779:                                             ; preds = %8778, %8721
  br label %8780

8780:                                             ; preds = %8779
  br label %8781

8781:                                             ; preds = %8780
  br label %8782

8782:                                             ; preds = %8781
  %8783 = load i32, ptr @test_count, align 4, !tbaa !5
  %8784 = add nsw i32 %8783, 1
  store i32 %8784, ptr @test_count, align 4, !tbaa !5
  %8785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8786 = load i32, ptr %8785, align 4, !tbaa !5
  %8787 = icmp eq i32 %8786, 201326592
  br i1 %8787, label %8841, label %8788

8788:                                             ; preds = %8782
  br label %8789

8789:                                             ; preds = %8788
  br label %8790

8790:                                             ; preds = %8789
  call void @llvm.lifetime.start.p0(i64 4, ptr %244) #11
  %8791 = call ptr @__errno_location() #12
  %8792 = load i32, ptr %8791, align 4, !tbaa !5
  store i32 %8792, ptr %244, align 4, !tbaa !5
  %8793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8794 = call i32 @s2n_print_stacktrace(ptr noundef %8793)
  %8795 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8796 = trunc i8 %8795 to i1
  br i1 %8796, label %8797, label %8819

8797:                                             ; preds = %8790
  %8798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8799 = call i32 @fileno(ptr noundef %8798) #11
  %8800 = call i32 @isatty(i32 noundef %8799) #11
  %8801 = icmp ne i32 %8800, 0
  br i1 %8801, label %8802, label %8819

8802:                                             ; preds = %8797
  %8803 = load i32, ptr %244, align 4, !tbaa !5
  %8804 = call ptr @__errno_location() #12
  store i32 %8803, ptr %8804, align 4, !tbaa !5
  %8805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8806 = load i32, ptr @test_count, align 4, !tbaa !5
  %8807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8808 = load i32, ptr %8807, align 4, !tbaa !5
  %8809 = call ptr @s2n_strerror(i32 noundef %8808, ptr noundef @.str.3)
  %8810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8811 = load i32, ptr %8810, align 4, !tbaa !5
  %8812 = call ptr @s2n_strerror_debug(i32 noundef %8811, ptr noundef @.str.3)
  %8813 = call ptr @__errno_location() #12
  %8814 = load i32, ptr %8813, align 4, !tbaa !5
  %8815 = call ptr @strerror(i32 noundef %8814) #11
  %8816 = call ptr @__errno_location() #12
  %8817 = load i32, ptr %8816, align 4, !tbaa !5
  %8818 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8805, ptr noundef @.str, i32 noundef %8806, ptr noundef @.str.35, ptr noundef @.str.2, i32 noundef 479, ptr noundef %8809, ptr noundef %8812, ptr noundef %8815, i32 noundef %8817) #11
  br label %8836

8819:                                             ; preds = %8797, %8790
  %8820 = load i32, ptr %244, align 4, !tbaa !5
  %8821 = call ptr @__errno_location() #12
  store i32 %8820, ptr %8821, align 4, !tbaa !5
  %8822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8823 = load i32, ptr @test_count, align 4, !tbaa !5
  %8824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8825 = load i32, ptr %8824, align 4, !tbaa !5
  %8826 = call ptr @s2n_strerror(i32 noundef %8825, ptr noundef @.str.3)
  %8827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8828 = load i32, ptr %8827, align 4, !tbaa !5
  %8829 = call ptr @s2n_strerror_debug(i32 noundef %8828, ptr noundef @.str.3)
  %8830 = call ptr @__errno_location() #12
  %8831 = load i32, ptr %8830, align 4, !tbaa !5
  %8832 = call ptr @strerror(i32 noundef %8831) #11
  %8833 = call ptr @__errno_location() #12
  %8834 = load i32, ptr %8833, align 4, !tbaa !5
  %8835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8822, ptr noundef @.str.4, i32 noundef %8823, ptr noundef @.str.35, ptr noundef @.str.2, i32 noundef 479, ptr noundef %8826, ptr noundef %8829, ptr noundef %8832, i32 noundef %8834) #11
  br label %8836

8836:                                             ; preds = %8819, %8802
  call void @llvm.lifetime.end.p0(i64 4, ptr %244) #11
  br label %8837

8837:                                             ; preds = %8836
  br label %8838

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

8839:                                             ; No predecessors!
  br label %8840

8840:                                             ; preds = %8839
  br label %8841

8841:                                             ; preds = %8840, %8782
  br label %8842

8842:                                             ; preds = %8841
  br label %8843

8843:                                             ; preds = %8842
  br label %8844

8844:                                             ; preds = %8843
  %8845 = load i32, ptr @test_count, align 4, !tbaa !5
  %8846 = add nsw i32 %8845, 1
  store i32 %8846, ptr @test_count, align 4, !tbaa !5
  %8847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8848 = load i32, ptr %8847, align 4, !tbaa !5
  %8849 = call ptr @s2n_strerror_debug(i32 noundef %8848, ptr noundef @.str.3)
  %8850 = icmp eq ptr %8849, null
  br i1 %8850, label %8851, label %8904

8851:                                             ; preds = %8844
  br label %8852

8852:                                             ; preds = %8851
  br label %8853

8853:                                             ; preds = %8852
  call void @llvm.lifetime.start.p0(i64 4, ptr %245) #11
  %8854 = call ptr @__errno_location() #12
  %8855 = load i32, ptr %8854, align 4, !tbaa !5
  store i32 %8855, ptr %245, align 4, !tbaa !5
  %8856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8857 = call i32 @s2n_print_stacktrace(ptr noundef %8856)
  %8858 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8859 = trunc i8 %8858 to i1
  br i1 %8859, label %8860, label %8882

8860:                                             ; preds = %8853
  %8861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8862 = call i32 @fileno(ptr noundef %8861) #11
  %8863 = call i32 @isatty(i32 noundef %8862) #11
  %8864 = icmp ne i32 %8863, 0
  br i1 %8864, label %8865, label %8882

8865:                                             ; preds = %8860
  %8866 = load i32, ptr %245, align 4, !tbaa !5
  %8867 = call ptr @__errno_location() #12
  store i32 %8866, ptr %8867, align 4, !tbaa !5
  %8868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8869 = load i32, ptr @test_count, align 4, !tbaa !5
  %8870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8871 = load i32, ptr %8870, align 4, !tbaa !5
  %8872 = call ptr @s2n_strerror(i32 noundef %8871, ptr noundef @.str.3)
  %8873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8874 = load i32, ptr %8873, align 4, !tbaa !5
  %8875 = call ptr @s2n_strerror_debug(i32 noundef %8874, ptr noundef @.str.3)
  %8876 = call ptr @__errno_location() #12
  %8877 = load i32, ptr %8876, align 4, !tbaa !5
  %8878 = call ptr @strerror(i32 noundef %8877) #11
  %8879 = call ptr @__errno_location() #12
  %8880 = load i32, ptr %8879, align 4, !tbaa !5
  %8881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8868, ptr noundef @.str, i32 noundef %8869, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 479, ptr noundef %8872, ptr noundef %8875, ptr noundef %8878, i32 noundef %8880) #11
  br label %8899

8882:                                             ; preds = %8860, %8853
  %8883 = load i32, ptr %245, align 4, !tbaa !5
  %8884 = call ptr @__errno_location() #12
  store i32 %8883, ptr %8884, align 4, !tbaa !5
  %8885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8886 = load i32, ptr @test_count, align 4, !tbaa !5
  %8887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8888 = load i32, ptr %8887, align 4, !tbaa !5
  %8889 = call ptr @s2n_strerror(i32 noundef %8888, ptr noundef @.str.3)
  %8890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8891 = load i32, ptr %8890, align 4, !tbaa !5
  %8892 = call ptr @s2n_strerror_debug(i32 noundef %8891, ptr noundef @.str.3)
  %8893 = call ptr @__errno_location() #12
  %8894 = load i32, ptr %8893, align 4, !tbaa !5
  %8895 = call ptr @strerror(i32 noundef %8894) #11
  %8896 = call ptr @__errno_location() #12
  %8897 = load i32, ptr %8896, align 4, !tbaa !5
  %8898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8885, ptr noundef @.str.4, i32 noundef %8886, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 479, ptr noundef %8889, ptr noundef %8892, ptr noundef %8895, i32 noundef %8897) #11
  br label %8899

8899:                                             ; preds = %8882, %8865
  call void @llvm.lifetime.end.p0(i64 4, ptr %245) #11
  br label %8900

8900:                                             ; preds = %8899
  br label %8901

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

8902:                                             ; No predecessors!
  br label %8903

8903:                                             ; preds = %8902
  br label %8904

8904:                                             ; preds = %8903, %8844
  br label %8905

8905:                                             ; preds = %8904
  br label %8906

8906:                                             ; preds = %8905
  br label %8907

8907:                                             ; preds = %8906
  br label %8908

8908:                                             ; preds = %8907
  br label %8909

8909:                                             ; preds = %8908
  %8910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8910, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8911 = call ptr @__errno_location() #12
  store i32 0, ptr %8911, align 4, !tbaa !5
  br label %8912

8912:                                             ; preds = %8909
  br label %8913

8913:                                             ; preds = %8912
  br label %8914

8914:                                             ; preds = %8913
  br label %8915

8915:                                             ; preds = %8914
  br label %8916

8916:                                             ; preds = %8915
  %8917 = load i32, ptr @test_count, align 4, !tbaa !5
  %8918 = add nsw i32 %8917, 1
  store i32 %8918, ptr @test_count, align 4, !tbaa !5
  %8919 = load i32, ptr %175, align 4, !tbaa !5
  %8920 = icmp eq i32 %8919, 1
  br i1 %8920, label %8974, label %8921

8921:                                             ; preds = %8916
  br label %8922

8922:                                             ; preds = %8921
  br label %8923

8923:                                             ; preds = %8922
  call void @llvm.lifetime.start.p0(i64 4, ptr %246) #11
  %8924 = call ptr @__errno_location() #12
  %8925 = load i32, ptr %8924, align 4, !tbaa !5
  store i32 %8925, ptr %246, align 4, !tbaa !5
  %8926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8927 = call i32 @s2n_print_stacktrace(ptr noundef %8926)
  %8928 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8929 = trunc i8 %8928 to i1
  br i1 %8929, label %8930, label %8952

8930:                                             ; preds = %8923
  %8931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8932 = call i32 @fileno(ptr noundef %8931) #11
  %8933 = call i32 @isatty(i32 noundef %8932) #11
  %8934 = icmp ne i32 %8933, 0
  br i1 %8934, label %8935, label %8952

8935:                                             ; preds = %8930
  %8936 = load i32, ptr %246, align 4, !tbaa !5
  %8937 = call ptr @__errno_location() #12
  store i32 %8936, ptr %8937, align 4, !tbaa !5
  %8938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8939 = load i32, ptr @test_count, align 4, !tbaa !5
  %8940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8941 = load i32, ptr %8940, align 4, !tbaa !5
  %8942 = call ptr @s2n_strerror(i32 noundef %8941, ptr noundef @.str.3)
  %8943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8944 = load i32, ptr %8943, align 4, !tbaa !5
  %8945 = call ptr @s2n_strerror_debug(i32 noundef %8944, ptr noundef @.str.3)
  %8946 = call ptr @__errno_location() #12
  %8947 = load i32, ptr %8946, align 4, !tbaa !5
  %8948 = call ptr @strerror(i32 noundef %8947) #11
  %8949 = call ptr @__errno_location() #12
  %8950 = load i32, ptr %8949, align 4, !tbaa !5
  %8951 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8938, ptr noundef @.str, i32 noundef %8939, ptr noundef @.str.62, ptr noundef @.str.2, i32 noundef 480, ptr noundef %8942, ptr noundef %8945, ptr noundef %8948, i32 noundef %8950) #11
  br label %8969

8952:                                             ; preds = %8930, %8923
  %8953 = load i32, ptr %246, align 4, !tbaa !5
  %8954 = call ptr @__errno_location() #12
  store i32 %8953, ptr %8954, align 4, !tbaa !5
  %8955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8956 = load i32, ptr @test_count, align 4, !tbaa !5
  %8957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8958 = load i32, ptr %8957, align 4, !tbaa !5
  %8959 = call ptr @s2n_strerror(i32 noundef %8958, ptr noundef @.str.3)
  %8960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8961 = load i32, ptr %8960, align 4, !tbaa !5
  %8962 = call ptr @s2n_strerror_debug(i32 noundef %8961, ptr noundef @.str.3)
  %8963 = call ptr @__errno_location() #12
  %8964 = load i32, ptr %8963, align 4, !tbaa !5
  %8965 = call ptr @strerror(i32 noundef %8964) #11
  %8966 = call ptr @__errno_location() #12
  %8967 = load i32, ptr %8966, align 4, !tbaa !5
  %8968 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8955, ptr noundef @.str.4, i32 noundef %8956, ptr noundef @.str.62, ptr noundef @.str.2, i32 noundef 480, ptr noundef %8959, ptr noundef %8962, ptr noundef %8965, i32 noundef %8967) #11
  br label %8969

8969:                                             ; preds = %8952, %8935
  call void @llvm.lifetime.end.p0(i64 4, ptr %246) #11
  br label %8970

8970:                                             ; preds = %8969
  br label %8971

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

8972:                                             ; No predecessors!
  br label %8973

8973:                                             ; preds = %8972
  br label %8974

8974:                                             ; preds = %8973, %8916
  br label %8975

8975:                                             ; preds = %8974
  br label %8976

8976:                                             ; preds = %8975
  call void @llvm.lifetime.end.p0(i64 4, ptr %242) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %241) #11
  %8977 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef %238)
  %8978 = getelementptr inbounds %struct.s2n_result, ptr %247, i32 0, i32 0
  store i32 %8977, ptr %8978, align 4
  call void @llvm.lifetime.end.p0(i64 192, ptr %238) #11
  %8979 = call i32 @s2n_connection_ptr_free(ptr noundef %236)
  %8980 = getelementptr inbounds %struct.s2n_result, ptr %248, i32 0, i32 0
  store i32 %8979, ptr %8980, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %236) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %249) #11
  %8981 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %8981, ptr %249, align 8, !tbaa !9
  br label %8982

8982:                                             ; preds = %8976
  %8983 = load i32, ptr @test_count, align 4, !tbaa !5
  %8984 = add nsw i32 %8983, 1
  store i32 %8984, ptr @test_count, align 4, !tbaa !5
  %8985 = load ptr, ptr %249, align 8, !tbaa !9
  %8986 = icmp eq ptr %8985, null
  br i1 %8986, label %8987, label %9040

8987:                                             ; preds = %8982
  br label %8988

8988:                                             ; preds = %8987
  br label %8989

8989:                                             ; preds = %8988
  call void @llvm.lifetime.start.p0(i64 4, ptr %250) #11
  %8990 = call ptr @__errno_location() #12
  %8991 = load i32, ptr %8990, align 4, !tbaa !5
  store i32 %8991, ptr %250, align 4, !tbaa !5
  %8992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8993 = call i32 @s2n_print_stacktrace(ptr noundef %8992)
  %8994 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8995 = trunc i8 %8994 to i1
  br i1 %8995, label %8996, label %9018

8996:                                             ; preds = %8989
  %8997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8998 = call i32 @fileno(ptr noundef %8997) #11
  %8999 = call i32 @isatty(i32 noundef %8998) #11
  %9000 = icmp ne i32 %8999, 0
  br i1 %9000, label %9001, label %9018

9001:                                             ; preds = %8996
  %9002 = load i32, ptr %250, align 4, !tbaa !5
  %9003 = call ptr @__errno_location() #12
  store i32 %9002, ptr %9003, align 4, !tbaa !5
  %9004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9005 = load i32, ptr @test_count, align 4, !tbaa !5
  %9006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9007 = load i32, ptr %9006, align 4, !tbaa !5
  %9008 = call ptr @s2n_strerror(i32 noundef %9007, ptr noundef @.str.3)
  %9009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9010 = load i32, ptr %9009, align 4, !tbaa !5
  %9011 = call ptr @s2n_strerror_debug(i32 noundef %9010, ptr noundef @.str.3)
  %9012 = call ptr @__errno_location() #12
  %9013 = load i32, ptr %9012, align 4, !tbaa !5
  %9014 = call ptr @strerror(i32 noundef %9013) #11
  %9015 = call ptr @__errno_location() #12
  %9016 = load i32, ptr %9015, align 4, !tbaa !5
  %9017 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9004, ptr noundef @.str, i32 noundef %9005, ptr noundef @.str.70, ptr noundef @.str.2, i32 noundef 487, ptr noundef %9008, ptr noundef %9011, ptr noundef %9014, i32 noundef %9016) #11
  br label %9035

9018:                                             ; preds = %8996, %8989
  %9019 = load i32, ptr %250, align 4, !tbaa !5
  %9020 = call ptr @__errno_location() #12
  store i32 %9019, ptr %9020, align 4, !tbaa !5
  %9021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9022 = load i32, ptr @test_count, align 4, !tbaa !5
  %9023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9024 = load i32, ptr %9023, align 4, !tbaa !5
  %9025 = call ptr @s2n_strerror(i32 noundef %9024, ptr noundef @.str.3)
  %9026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9027 = load i32, ptr %9026, align 4, !tbaa !5
  %9028 = call ptr @s2n_strerror_debug(i32 noundef %9027, ptr noundef @.str.3)
  %9029 = call ptr @__errno_location() #12
  %9030 = load i32, ptr %9029, align 4, !tbaa !5
  %9031 = call ptr @strerror(i32 noundef %9030) #11
  %9032 = call ptr @__errno_location() #12
  %9033 = load i32, ptr %9032, align 4, !tbaa !5
  %9034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9021, ptr noundef @.str.4, i32 noundef %9022, ptr noundef @.str.70, ptr noundef @.str.2, i32 noundef 487, ptr noundef %9025, ptr noundef %9028, ptr noundef %9031, i32 noundef %9033) #11
  br label %9035

9035:                                             ; preds = %9018, %9001
  call void @llvm.lifetime.end.p0(i64 4, ptr %250) #11
  br label %9036

9036:                                             ; preds = %9035
  br label %9037

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

9038:                                             ; No predecessors!
  br label %9039

9039:                                             ; preds = %9038
  br label %9040

9040:                                             ; preds = %9039, %8982
  br label %9041

9041:                                             ; preds = %9040
  br label %9042

9042:                                             ; preds = %9041
  %9043 = load ptr, ptr %249, align 8, !tbaa !9
  call void @s2n_ktls_configure_connection(ptr noundef %9043, i32 noundef 1)
  call void @llvm.lifetime.start.p0(i64 8, ptr %251) #11
  store i64 0, ptr %251, align 8, !tbaa !15
  br label %9044

9044:                                             ; preds = %9042
  %9045 = load i32, ptr @test_count, align 4, !tbaa !5
  %9046 = add nsw i32 %9045, 1
  store i32 %9046, ptr @test_count, align 4, !tbaa !5
  %9047 = load ptr, ptr %249, align 8, !tbaa !9
  %9048 = call i32 @s2n_ktls_set_recvmsg_cb(ptr noundef %9047, ptr noundef @s2n_test_ktls_recvmsg_cb, ptr noundef %251)
  %9049 = getelementptr inbounds %struct.s2n_result, ptr %252, i32 0, i32 0
  store i32 %9048, ptr %9049, align 4
  %9050 = getelementptr inbounds %struct.s2n_result, ptr %252, i32 0, i32 0
  %9051 = load i32, ptr %9050, align 4
  %9052 = call zeroext i1 @s2n_result_is_ok(i32 %9051)
  br i1 %9052, label %9106, label %9053

9053:                                             ; preds = %9044
  br label %9054

9054:                                             ; preds = %9053
  br label %9055

9055:                                             ; preds = %9054
  call void @llvm.lifetime.start.p0(i64 4, ptr %253) #11
  %9056 = call ptr @__errno_location() #12
  %9057 = load i32, ptr %9056, align 4, !tbaa !5
  store i32 %9057, ptr %253, align 4, !tbaa !5
  %9058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9059 = call i32 @s2n_print_stacktrace(ptr noundef %9058)
  %9060 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9061 = trunc i8 %9060 to i1
  br i1 %9061, label %9062, label %9084

9062:                                             ; preds = %9055
  %9063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9064 = call i32 @fileno(ptr noundef %9063) #11
  %9065 = call i32 @isatty(i32 noundef %9064) #11
  %9066 = icmp ne i32 %9065, 0
  br i1 %9066, label %9067, label %9084

9067:                                             ; preds = %9062
  %9068 = load i32, ptr %253, align 4, !tbaa !5
  %9069 = call ptr @__errno_location() #12
  store i32 %9068, ptr %9069, align 4, !tbaa !5
  %9070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9071 = load i32, ptr @test_count, align 4, !tbaa !5
  %9072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9073 = load i32, ptr %9072, align 4, !tbaa !5
  %9074 = call ptr @s2n_strerror(i32 noundef %9073, ptr noundef @.str.3)
  %9075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9076 = load i32, ptr %9075, align 4, !tbaa !5
  %9077 = call ptr @s2n_strerror_debug(i32 noundef %9076, ptr noundef @.str.3)
  %9078 = call ptr @__errno_location() #12
  %9079 = load i32, ptr %9078, align 4, !tbaa !5
  %9080 = call ptr @strerror(i32 noundef %9079) #11
  %9081 = call ptr @__errno_location() #12
  %9082 = load i32, ptr %9081, align 4, !tbaa !5
  %9083 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9070, ptr noundef @.str, i32 noundef %9071, ptr noundef @.str.84, ptr noundef @.str.2, i32 noundef 491, ptr noundef %9074, ptr noundef %9077, ptr noundef %9080, i32 noundef %9082) #11
  br label %9101

9084:                                             ; preds = %9062, %9055
  %9085 = load i32, ptr %253, align 4, !tbaa !5
  %9086 = call ptr @__errno_location() #12
  store i32 %9085, ptr %9086, align 4, !tbaa !5
  %9087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9088 = load i32, ptr @test_count, align 4, !tbaa !5
  %9089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9090 = load i32, ptr %9089, align 4, !tbaa !5
  %9091 = call ptr @s2n_strerror(i32 noundef %9090, ptr noundef @.str.3)
  %9092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9093 = load i32, ptr %9092, align 4, !tbaa !5
  %9094 = call ptr @s2n_strerror_debug(i32 noundef %9093, ptr noundef @.str.3)
  %9095 = call ptr @__errno_location() #12
  %9096 = load i32, ptr %9095, align 4, !tbaa !5
  %9097 = call ptr @strerror(i32 noundef %9096) #11
  %9098 = call ptr @__errno_location() #12
  %9099 = load i32, ptr %9098, align 4, !tbaa !5
  %9100 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9087, ptr noundef @.str.4, i32 noundef %9088, ptr noundef @.str.84, ptr noundef @.str.2, i32 noundef 491, ptr noundef %9091, ptr noundef %9094, ptr noundef %9097, i32 noundef %9099) #11
  br label %9101

9101:                                             ; preds = %9084, %9067
  call void @llvm.lifetime.end.p0(i64 4, ptr %253) #11
  br label %9102

9102:                                             ; preds = %9101
  br label %9103

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

9104:                                             ; No predecessors!
  br label %9105

9105:                                             ; preds = %9104
  br label %9106

9106:                                             ; preds = %9105, %9044
  br label %9107

9107:                                             ; preds = %9106
  br label %9108

9108:                                             ; preds = %9107
  call void @llvm.lifetime.start.p0(i64 10, ptr %254) #11
  call void @llvm.memset.p0.i64(ptr align 1 %254, i8 0, i64 10, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %255) #11
  %9109 = load ptr, ptr %249, align 8, !tbaa !9
  %9110 = getelementptr inbounds [10 x i8], ptr %254, i64 0, i64 0
  %9111 = call i64 @s2n_recv(ptr noundef %9109, ptr noundef %9110, i64 noundef 10, ptr noundef %175)
  %9112 = trunc i64 %9111 to i32
  store i32 %9112, ptr %255, align 4, !tbaa !5
  br label %9113

9113:                                             ; preds = %9108
  br label %9114

9114:                                             ; preds = %9113
  br label %9115

9115:                                             ; preds = %9114
  %9116 = load i32, ptr @test_count, align 4, !tbaa !5
  %9117 = add nsw i32 %9116, 1
  store i32 %9117, ptr @test_count, align 4, !tbaa !5
  %9118 = load i32, ptr %255, align 4, !tbaa !5
  %9119 = icmp eq i32 %9118, -1
  br i1 %9119, label %9173, label %9120

9120:                                             ; preds = %9115
  br label %9121

9121:                                             ; preds = %9120
  br label %9122

9122:                                             ; preds = %9121
  call void @llvm.lifetime.start.p0(i64 4, ptr %256) #11
  %9123 = call ptr @__errno_location() #12
  %9124 = load i32, ptr %9123, align 4, !tbaa !5
  store i32 %9124, ptr %256, align 4, !tbaa !5
  %9125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9126 = call i32 @s2n_print_stacktrace(ptr noundef %9125)
  %9127 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9128 = trunc i8 %9127 to i1
  br i1 %9128, label %9129, label %9151

9129:                                             ; preds = %9122
  %9130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9131 = call i32 @fileno(ptr noundef %9130) #11
  %9132 = call i32 @isatty(i32 noundef %9131) #11
  %9133 = icmp ne i32 %9132, 0
  br i1 %9133, label %9134, label %9151

9134:                                             ; preds = %9129
  %9135 = load i32, ptr %256, align 4, !tbaa !5
  %9136 = call ptr @__errno_location() #12
  store i32 %9135, ptr %9136, align 4, !tbaa !5
  %9137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9138 = load i32, ptr @test_count, align 4, !tbaa !5
  %9139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9140 = load i32, ptr %9139, align 4, !tbaa !5
  %9141 = call ptr @s2n_strerror(i32 noundef %9140, ptr noundef @.str.3)
  %9142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9143 = load i32, ptr %9142, align 4, !tbaa !5
  %9144 = call ptr @s2n_strerror_debug(i32 noundef %9143, ptr noundef @.str.3)
  %9145 = call ptr @__errno_location() #12
  %9146 = load i32, ptr %9145, align 4, !tbaa !5
  %9147 = call ptr @strerror(i32 noundef %9146) #11
  %9148 = call ptr @__errno_location() #12
  %9149 = load i32, ptr %9148, align 4, !tbaa !5
  %9150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9137, ptr noundef @.str, i32 noundef %9138, ptr noundef @.str.83, ptr noundef @.str.2, i32 noundef 495, ptr noundef %9141, ptr noundef %9144, ptr noundef %9147, i32 noundef %9149) #11
  br label %9168

9151:                                             ; preds = %9129, %9122
  %9152 = load i32, ptr %256, align 4, !tbaa !5
  %9153 = call ptr @__errno_location() #12
  store i32 %9152, ptr %9153, align 4, !tbaa !5
  %9154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9155 = load i32, ptr @test_count, align 4, !tbaa !5
  %9156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9157 = load i32, ptr %9156, align 4, !tbaa !5
  %9158 = call ptr @s2n_strerror(i32 noundef %9157, ptr noundef @.str.3)
  %9159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9160 = load i32, ptr %9159, align 4, !tbaa !5
  %9161 = call ptr @s2n_strerror_debug(i32 noundef %9160, ptr noundef @.str.3)
  %9162 = call ptr @__errno_location() #12
  %9163 = load i32, ptr %9162, align 4, !tbaa !5
  %9164 = call ptr @strerror(i32 noundef %9163) #11
  %9165 = call ptr @__errno_location() #12
  %9166 = load i32, ptr %9165, align 4, !tbaa !5
  %9167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9154, ptr noundef @.str.4, i32 noundef %9155, ptr noundef @.str.83, ptr noundef @.str.2, i32 noundef 495, ptr noundef %9158, ptr noundef %9161, ptr noundef %9164, i32 noundef %9166) #11
  br label %9168

9168:                                             ; preds = %9151, %9134
  call void @llvm.lifetime.end.p0(i64 4, ptr %256) #11
  br label %9169

9169:                                             ; preds = %9168
  br label %9170

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

9171:                                             ; No predecessors!
  br label %9172

9172:                                             ; preds = %9171
  br label %9173

9173:                                             ; preds = %9172, %9115
  br label %9174

9174:                                             ; preds = %9173
  br label %9175

9175:                                             ; preds = %9174
  br label %9176

9176:                                             ; preds = %9175
  %9177 = load i32, ptr @test_count, align 4, !tbaa !5
  %9178 = add nsw i32 %9177, 1
  store i32 %9178, ptr @test_count, align 4, !tbaa !5
  %9179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9180 = load i32, ptr %9179, align 4, !tbaa !5
  %9181 = icmp eq i32 %9180, 134217728
  br i1 %9181, label %9235, label %9182

9182:                                             ; preds = %9176
  br label %9183

9183:                                             ; preds = %9182
  br label %9184

9184:                                             ; preds = %9183
  call void @llvm.lifetime.start.p0(i64 4, ptr %257) #11
  %9185 = call ptr @__errno_location() #12
  %9186 = load i32, ptr %9185, align 4, !tbaa !5
  store i32 %9186, ptr %257, align 4, !tbaa !5
  %9187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9188 = call i32 @s2n_print_stacktrace(ptr noundef %9187)
  %9189 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9190 = trunc i8 %9189 to i1
  br i1 %9190, label %9191, label %9213

9191:                                             ; preds = %9184
  %9192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9193 = call i32 @fileno(ptr noundef %9192) #11
  %9194 = call i32 @isatty(i32 noundef %9193) #11
  %9195 = icmp ne i32 %9194, 0
  br i1 %9195, label %9196, label %9213

9196:                                             ; preds = %9191
  %9197 = load i32, ptr %257, align 4, !tbaa !5
  %9198 = call ptr @__errno_location() #12
  store i32 %9197, ptr %9198, align 4, !tbaa !5
  %9199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9200 = load i32, ptr @test_count, align 4, !tbaa !5
  %9201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9202 = load i32, ptr %9201, align 4, !tbaa !5
  %9203 = call ptr @s2n_strerror(i32 noundef %9202, ptr noundef @.str.3)
  %9204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9205 = load i32, ptr %9204, align 4, !tbaa !5
  %9206 = call ptr @s2n_strerror_debug(i32 noundef %9205, ptr noundef @.str.3)
  %9207 = call ptr @__errno_location() #12
  %9208 = load i32, ptr %9207, align 4, !tbaa !5
  %9209 = call ptr @strerror(i32 noundef %9208) #11
  %9210 = call ptr @__errno_location() #12
  %9211 = load i32, ptr %9210, align 4, !tbaa !5
  %9212 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9199, ptr noundef @.str, i32 noundef %9200, ptr noundef @.str.85, ptr noundef @.str.2, i32 noundef 495, ptr noundef %9203, ptr noundef %9206, ptr noundef %9209, i32 noundef %9211) #11
  br label %9230

9213:                                             ; preds = %9191, %9184
  %9214 = load i32, ptr %257, align 4, !tbaa !5
  %9215 = call ptr @__errno_location() #12
  store i32 %9214, ptr %9215, align 4, !tbaa !5
  %9216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9217 = load i32, ptr @test_count, align 4, !tbaa !5
  %9218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9219 = load i32, ptr %9218, align 4, !tbaa !5
  %9220 = call ptr @s2n_strerror(i32 noundef %9219, ptr noundef @.str.3)
  %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_debug(i32 noundef %9222, ptr noundef @.str.3)
  %9224 = call ptr @__errno_location() #12
  %9225 = load i32, ptr %9224, align 4, !tbaa !5
  %9226 = call ptr @strerror(i32 noundef %9225) #11
  %9227 = call ptr @__errno_location() #12
  %9228 = load i32, ptr %9227, align 4, !tbaa !5
  %9229 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9216, ptr noundef @.str.4, i32 noundef %9217, ptr noundef @.str.85, ptr noundef @.str.2, i32 noundef 495, ptr noundef %9220, ptr noundef %9223, ptr noundef %9226, i32 noundef %9228) #11
  br label %9230

9230:                                             ; preds = %9213, %9196
  call void @llvm.lifetime.end.p0(i64 4, ptr %257) #11
  br label %9231

9231:                                             ; preds = %9230
  br label %9232

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

9233:                                             ; No predecessors!
  br label %9234

9234:                                             ; preds = %9233
  br label %9235

9235:                                             ; preds = %9234, %9176
  br label %9236

9236:                                             ; preds = %9235
  br label %9237

9237:                                             ; preds = %9236
  br label %9238

9238:                                             ; preds = %9237
  %9239 = load i32, ptr @test_count, align 4, !tbaa !5
  %9240 = add nsw i32 %9239, 1
  store i32 %9240, ptr @test_count, align 4, !tbaa !5
  %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 = icmp eq ptr %9243, null
  br i1 %9244, label %9245, label %9298

9245:                                             ; preds = %9238
  br label %9246

9246:                                             ; preds = %9245
  br label %9247

9247:                                             ; preds = %9246
  call void @llvm.lifetime.start.p0(i64 4, ptr %258) #11
  %9248 = call ptr @__errno_location() #12
  %9249 = load i32, ptr %9248, align 4, !tbaa !5
  store i32 %9249, ptr %258, align 4, !tbaa !5
  %9250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9251 = call i32 @s2n_print_stacktrace(ptr noundef %9250)
  %9252 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9253 = trunc i8 %9252 to i1
  br i1 %9253, label %9254, label %9276

9254:                                             ; preds = %9247
  %9255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9256 = call i32 @fileno(ptr noundef %9255) #11
  %9257 = call i32 @isatty(i32 noundef %9256) #11
  %9258 = icmp ne i32 %9257, 0
  br i1 %9258, label %9259, label %9276

9259:                                             ; preds = %9254
  %9260 = load i32, ptr %258, align 4, !tbaa !5
  %9261 = call ptr @__errno_location() #12
  store i32 %9260, ptr %9261, align 4, !tbaa !5
  %9262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9263 = load i32, ptr @test_count, align 4, !tbaa !5
  %9264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9265 = load i32, ptr %9264, align 4, !tbaa !5
  %9266 = call ptr @s2n_strerror(i32 noundef %9265, ptr noundef @.str.3)
  %9267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9268 = load i32, ptr %9267, align 4, !tbaa !5
  %9269 = call ptr @s2n_strerror_debug(i32 noundef %9268, ptr noundef @.str.3)
  %9270 = call ptr @__errno_location() #12
  %9271 = load i32, ptr %9270, align 4, !tbaa !5
  %9272 = call ptr @strerror(i32 noundef %9271) #11
  %9273 = call ptr @__errno_location() #12
  %9274 = load i32, ptr %9273, align 4, !tbaa !5
  %9275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9262, ptr noundef @.str, i32 noundef %9263, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 495, ptr noundef %9266, ptr noundef %9269, ptr noundef %9272, i32 noundef %9274) #11
  br label %9293

9276:                                             ; preds = %9254, %9247
  %9277 = load i32, ptr %258, align 4, !tbaa !5
  %9278 = call ptr @__errno_location() #12
  store i32 %9277, ptr %9278, align 4, !tbaa !5
  %9279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9280 = load i32, ptr @test_count, align 4, !tbaa !5
  %9281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9282 = load i32, ptr %9281, align 4, !tbaa !5
  %9283 = call ptr @s2n_strerror(i32 noundef %9282, ptr noundef @.str.3)
  %9284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9285 = load i32, ptr %9284, align 4, !tbaa !5
  %9286 = call ptr @s2n_strerror_debug(i32 noundef %9285, ptr noundef @.str.3)
  %9287 = call ptr @__errno_location() #12
  %9288 = load i32, ptr %9287, align 4, !tbaa !5
  %9289 = call ptr @strerror(i32 noundef %9288) #11
  %9290 = call ptr @__errno_location() #12
  %9291 = load i32, ptr %9290, align 4, !tbaa !5
  %9292 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9279, ptr noundef @.str.4, i32 noundef %9280, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 495, ptr noundef %9283, ptr noundef %9286, ptr noundef %9289, i32 noundef %9291) #11
  br label %9293

9293:                                             ; preds = %9276, %9259
  call void @llvm.lifetime.end.p0(i64 4, ptr %258) #11
  br label %9294

9294:                                             ; preds = %9293
  br label %9295

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

9296:                                             ; No predecessors!
  br label %9297

9297:                                             ; preds = %9296
  br label %9298

9298:                                             ; preds = %9297, %9238
  br label %9299

9299:                                             ; preds = %9298
  br label %9300

9300:                                             ; preds = %9299
  br label %9301

9301:                                             ; preds = %9300
  br label %9302

9302:                                             ; preds = %9301
  br label %9303

9303:                                             ; preds = %9302
  %9304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %9304, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %9305 = call ptr @__errno_location() #12
  store i32 0, ptr %9305, align 4, !tbaa !5
  br label %9306

9306:                                             ; preds = %9303
  br label %9307

9307:                                             ; preds = %9306
  br label %9308

9308:                                             ; preds = %9307
  br label %9309

9309:                                             ; preds = %9308
  br label %9310

9310:                                             ; preds = %9309
  %9311 = load i32, ptr @test_count, align 4, !tbaa !5
  %9312 = add nsw i32 %9311, 1
  store i32 %9312, ptr @test_count, align 4, !tbaa !5
  %9313 = load i32, ptr %175, align 4, !tbaa !5
  %9314 = icmp eq i32 %9313, 1
  br i1 %9314, label %9368, label %9315

9315:                                             ; preds = %9310
  br label %9316

9316:                                             ; preds = %9315
  br label %9317

9317:                                             ; preds = %9316
  call void @llvm.lifetime.start.p0(i64 4, ptr %259) #11
  %9318 = call ptr @__errno_location() #12
  %9319 = load i32, ptr %9318, align 4, !tbaa !5
  store i32 %9319, ptr %259, align 4, !tbaa !5
  %9320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9321 = call i32 @s2n_print_stacktrace(ptr noundef %9320)
  %9322 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9323 = trunc i8 %9322 to i1
  br i1 %9323, label %9324, label %9346

9324:                                             ; preds = %9317
  %9325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9326 = call i32 @fileno(ptr noundef %9325) #11
  %9327 = call i32 @isatty(i32 noundef %9326) #11
  %9328 = icmp ne i32 %9327, 0
  br i1 %9328, label %9329, label %9346

9329:                                             ; preds = %9324
  %9330 = load i32, ptr %259, align 4, !tbaa !5
  %9331 = call ptr @__errno_location() #12
  store i32 %9330, ptr %9331, align 4, !tbaa !5
  %9332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9333 = load i32, ptr @test_count, align 4, !tbaa !5
  %9334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9335 = load i32, ptr %9334, align 4, !tbaa !5
  %9336 = call ptr @s2n_strerror(i32 noundef %9335, ptr noundef @.str.3)
  %9337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9338 = load i32, ptr %9337, align 4, !tbaa !5
  %9339 = call ptr @s2n_strerror_debug(i32 noundef %9338, ptr noundef @.str.3)
  %9340 = call ptr @__errno_location() #12
  %9341 = load i32, ptr %9340, align 4, !tbaa !5
  %9342 = call ptr @strerror(i32 noundef %9341) #11
  %9343 = call ptr @__errno_location() #12
  %9344 = load i32, ptr %9343, align 4, !tbaa !5
  %9345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9332, ptr noundef @.str, i32 noundef %9333, ptr noundef @.str.62, ptr noundef @.str.2, i32 noundef 496, ptr noundef %9336, ptr noundef %9339, ptr noundef %9342, i32 noundef %9344) #11
  br label %9363

9346:                                             ; preds = %9324, %9317
  %9347 = load i32, ptr %259, align 4, !tbaa !5
  %9348 = call ptr @__errno_location() #12
  store i32 %9347, ptr %9348, align 4, !tbaa !5
  %9349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9350 = load i32, ptr @test_count, align 4, !tbaa !5
  %9351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9352 = load i32, ptr %9351, align 4, !tbaa !5
  %9353 = call ptr @s2n_strerror(i32 noundef %9352, ptr noundef @.str.3)
  %9354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9355 = load i32, ptr %9354, align 4, !tbaa !5
  %9356 = call ptr @s2n_strerror_debug(i32 noundef %9355, ptr noundef @.str.3)
  %9357 = call ptr @__errno_location() #12
  %9358 = load i32, ptr %9357, align 4, !tbaa !5
  %9359 = call ptr @strerror(i32 noundef %9358) #11
  %9360 = call ptr @__errno_location() #12
  %9361 = load i32, ptr %9360, align 4, !tbaa !5
  %9362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9349, ptr noundef @.str.4, i32 noundef %9350, ptr noundef @.str.62, ptr noundef @.str.2, i32 noundef 496, ptr noundef %9353, ptr noundef %9356, ptr noundef %9359, i32 noundef %9361) #11
  br label %9363

9363:                                             ; preds = %9346, %9329
  call void @llvm.lifetime.end.p0(i64 4, ptr %259) #11
  br label %9364

9364:                                             ; preds = %9363
  br label %9365

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

9366:                                             ; No predecessors!
  br label %9367

9367:                                             ; preds = %9366
  br label %9368

9368:                                             ; preds = %9367, %9310
  br label %9369

9369:                                             ; preds = %9368
  br label %9370

9370:                                             ; preds = %9369
  br label %9371

9371:                                             ; preds = %9370
  %9372 = load i32, ptr @test_count, align 4, !tbaa !5
  %9373 = add nsw i32 %9372, 1
  store i32 %9373, ptr @test_count, align 4, !tbaa !5
  %9374 = load ptr, ptr %249, align 8, !tbaa !9
  %9375 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %9374, i32 noundef 3)
  br i1 %9375, label %9429, label %9376

9376:                                             ; preds = %9371
  br label %9377

9377:                                             ; preds = %9376
  br label %9378

9378:                                             ; preds = %9377
  call void @llvm.lifetime.start.p0(i64 4, ptr %260) #11
  %9379 = call ptr @__errno_location() #12
  %9380 = load i32, ptr %9379, align 4, !tbaa !5
  store i32 %9380, ptr %260, align 4, !tbaa !5
  %9381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9382 = call i32 @s2n_print_stacktrace(ptr noundef %9381)
  %9383 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9384 = trunc i8 %9383 to i1
  br i1 %9384, label %9385, label %9407

9385:                                             ; preds = %9378
  %9386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9387 = call i32 @fileno(ptr noundef %9386) #11
  %9388 = call i32 @isatty(i32 noundef %9387) #11
  %9389 = icmp ne i32 %9388, 0
  br i1 %9389, label %9390, label %9407

9390:                                             ; preds = %9385
  %9391 = load i32, ptr %260, align 4, !tbaa !5
  %9392 = call ptr @__errno_location() #12
  store i32 %9391, ptr %9392, align 4, !tbaa !5
  %9393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9394 = load i32, ptr @test_count, align 4, !tbaa !5
  %9395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9396 = load i32, ptr %9395, align 4, !tbaa !5
  %9397 = call ptr @s2n_strerror(i32 noundef %9396, ptr noundef @.str.3)
  %9398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9399 = load i32, ptr %9398, align 4, !tbaa !5
  %9400 = call ptr @s2n_strerror_debug(i32 noundef %9399, ptr noundef @.str.3)
  %9401 = call ptr @__errno_location() #12
  %9402 = load i32, ptr %9401, align 4, !tbaa !5
  %9403 = call ptr @strerror(i32 noundef %9402) #11
  %9404 = call ptr @__errno_location() #12
  %9405 = load i32, ptr %9404, align 4, !tbaa !5
  %9406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9393, ptr noundef @.str, i32 noundef %9394, ptr noundef @.str.86, ptr noundef @.str.2, i32 noundef 499, ptr noundef %9397, ptr noundef %9400, ptr noundef %9403, i32 noundef %9405) #11
  br label %9424

9407:                                             ; preds = %9385, %9378
  %9408 = load i32, ptr %260, align 4, !tbaa !5
  %9409 = call ptr @__errno_location() #12
  store i32 %9408, ptr %9409, align 4, !tbaa !5
  %9410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9411 = load i32, ptr @test_count, align 4, !tbaa !5
  %9412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9413 = load i32, ptr %9412, align 4, !tbaa !5
  %9414 = call ptr @s2n_strerror(i32 noundef %9413, ptr noundef @.str.3)
  %9415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9416 = load i32, ptr %9415, align 4, !tbaa !5
  %9417 = call ptr @s2n_strerror_debug(i32 noundef %9416, ptr noundef @.str.3)
  %9418 = call ptr @__errno_location() #12
  %9419 = load i32, ptr %9418, align 4, !tbaa !5
  %9420 = call ptr @strerror(i32 noundef %9419) #11
  %9421 = call ptr @__errno_location() #12
  %9422 = load i32, ptr %9421, align 4, !tbaa !5
  %9423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9410, ptr noundef @.str.4, i32 noundef %9411, ptr noundef @.str.86, ptr noundef @.str.2, i32 noundef 499, ptr noundef %9414, ptr noundef %9417, ptr noundef %9420, i32 noundef %9422) #11
  br label %9424

9424:                                             ; preds = %9407, %9390
  call void @llvm.lifetime.end.p0(i64 4, ptr %260) #11
  br label %9425

9425:                                             ; preds = %9424
  br label %9426

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

9427:                                             ; No predecessors!
  br label %9428

9428:                                             ; preds = %9427
  br label %9429

9429:                                             ; preds = %9428, %9371
  br label %9430

9430:                                             ; preds = %9429
  br label %9431

9431:                                             ; preds = %9430
  br label %9432

9432:                                             ; preds = %9431
  %9433 = load i32, ptr @test_count, align 4, !tbaa !5
  %9434 = add nsw i32 %9433, 1
  store i32 %9434, ptr @test_count, align 4, !tbaa !5
  %9435 = load ptr, ptr %249, align 8, !tbaa !9
  %9436 = call i64 @s2n_connection_get_delay(ptr noundef %9435)
  %9437 = icmp eq i64 %9436, 0
  br i1 %9437, label %9491, label %9438

9438:                                             ; preds = %9432
  br label %9439

9439:                                             ; preds = %9438
  br label %9440

9440:                                             ; preds = %9439
  call void @llvm.lifetime.start.p0(i64 4, ptr %261) #11
  %9441 = call ptr @__errno_location() #12
  %9442 = load i32, ptr %9441, align 4, !tbaa !5
  store i32 %9442, ptr %261, align 4, !tbaa !5
  %9443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9444 = call i32 @s2n_print_stacktrace(ptr noundef %9443)
  %9445 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9446 = trunc i8 %9445 to i1
  br i1 %9446, label %9447, label %9469

9447:                                             ; preds = %9440
  %9448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9449 = call i32 @fileno(ptr noundef %9448) #11
  %9450 = call i32 @isatty(i32 noundef %9449) #11
  %9451 = icmp ne i32 %9450, 0
  br i1 %9451, label %9452, label %9469

9452:                                             ; preds = %9447
  %9453 = load i32, ptr %261, align 4, !tbaa !5
  %9454 = call ptr @__errno_location() #12
  store i32 %9453, ptr %9454, align 4, !tbaa !5
  %9455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9456 = load i32, ptr @test_count, align 4, !tbaa !5
  %9457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9458 = load i32, ptr %9457, align 4, !tbaa !5
  %9459 = call ptr @s2n_strerror(i32 noundef %9458, ptr noundef @.str.3)
  %9460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9461 = load i32, ptr %9460, align 4, !tbaa !5
  %9462 = call ptr @s2n_strerror_debug(i32 noundef %9461, ptr noundef @.str.3)
  %9463 = call ptr @__errno_location() #12
  %9464 = load i32, ptr %9463, align 4, !tbaa !5
  %9465 = call ptr @strerror(i32 noundef %9464) #11
  %9466 = call ptr @__errno_location() #12
  %9467 = load i32, ptr %9466, align 4, !tbaa !5
  %9468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9455, ptr noundef @.str, i32 noundef %9456, ptr noundef @.str.87, ptr noundef @.str.2, i32 noundef 500, ptr noundef %9459, ptr noundef %9462, ptr noundef %9465, i32 noundef %9467) #11
  br label %9486

9469:                                             ; preds = %9447, %9440
  %9470 = load i32, ptr %261, align 4, !tbaa !5
  %9471 = call ptr @__errno_location() #12
  store i32 %9470, ptr %9471, align 4, !tbaa !5
  %9472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9473 = load i32, ptr @test_count, align 4, !tbaa !5
  %9474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9475 = load i32, ptr %9474, align 4, !tbaa !5
  %9476 = call ptr @s2n_strerror(i32 noundef %9475, ptr noundef @.str.3)
  %9477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9478 = load i32, ptr %9477, align 4, !tbaa !5
  %9479 = call ptr @s2n_strerror_debug(i32 noundef %9478, ptr noundef @.str.3)
  %9480 = call ptr @__errno_location() #12
  %9481 = load i32, ptr %9480, align 4, !tbaa !5
  %9482 = call ptr @strerror(i32 noundef %9481) #11
  %9483 = call ptr @__errno_location() #12
  %9484 = load i32, ptr %9483, align 4, !tbaa !5
  %9485 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9472, ptr noundef @.str.4, i32 noundef %9473, ptr noundef @.str.87, ptr noundef @.str.2, i32 noundef 500, ptr noundef %9476, ptr noundef %9479, ptr noundef %9482, i32 noundef %9484) #11
  br label %9486

9486:                                             ; preds = %9469, %9452
  call void @llvm.lifetime.end.p0(i64 4, ptr %261) #11
  br label %9487

9487:                                             ; preds = %9486
  br label %9488

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

9489:                                             ; No predecessors!
  br label %9490

9490:                                             ; preds = %9489
  br label %9491

9491:                                             ; preds = %9490, %9432
  br label %9492

9492:                                             ; preds = %9491
  br label %9493

9493:                                             ; preds = %9492
  call void @llvm.lifetime.end.p0(i64 4, ptr %255) #11
  call void @llvm.lifetime.end.p0(i64 10, ptr %254) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %251) #11
  %9494 = call i32 @s2n_connection_ptr_free(ptr noundef %249)
  %9495 = getelementptr inbounds %struct.s2n_result, ptr %262, i32 0, i32 0
  store i32 %9494, ptr %9495, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %249) #11
  call void @llvm.lifetime.start.p0(i64 2, ptr %263) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %263, ptr align 1 @__const.main.alert_data, i64 2, i1 false)
  call void @llvm.lifetime.start.p0(i64 16, ptr %264) #11
  %9496 = getelementptr inbounds %struct.iovec, ptr %264, i32 0, i32 0
  %9497 = getelementptr inbounds [2 x i8], ptr %263, i64 0, i64 0
  store ptr %9497, ptr %9496, align 8, !tbaa !55
  %9498 = getelementptr inbounds %struct.iovec, ptr %264, i32 0, i32 1
  store i64 2, ptr %9498, align 8, !tbaa !57
  call void @llvm.lifetime.start.p0(i64 8, ptr %265) #11
  %9499 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %9499, ptr %265, align 8, !tbaa !9
  br label %9500

9500:                                             ; preds = %9493
  %9501 = load i32, ptr @test_count, align 4, !tbaa !5
  %9502 = add nsw i32 %9501, 1
  store i32 %9502, ptr @test_count, align 4, !tbaa !5
  %9503 = load ptr, ptr %265, align 8, !tbaa !9
  %9504 = icmp eq ptr %9503, null
  br i1 %9504, label %9505, label %9558

9505:                                             ; preds = %9500
  br label %9506

9506:                                             ; preds = %9505
  br label %9507

9507:                                             ; preds = %9506
  call void @llvm.lifetime.start.p0(i64 4, ptr %266) #11
  %9508 = call ptr @__errno_location() #12
  %9509 = load i32, ptr %9508, align 4, !tbaa !5
  store i32 %9509, ptr %266, align 4, !tbaa !5
  %9510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9511 = call i32 @s2n_print_stacktrace(ptr noundef %9510)
  %9512 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9513 = trunc i8 %9512 to i1
  br i1 %9513, label %9514, label %9536

9514:                                             ; preds = %9507
  %9515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9516 = call i32 @fileno(ptr noundef %9515) #11
  %9517 = call i32 @isatty(i32 noundef %9516) #11
  %9518 = icmp ne i32 %9517, 0
  br i1 %9518, label %9519, label %9536

9519:                                             ; preds = %9514
  %9520 = load i32, ptr %266, align 4, !tbaa !5
  %9521 = call ptr @__errno_location() #12
  store i32 %9520, ptr %9521, align 4, !tbaa !5
  %9522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9523 = load i32, ptr @test_count, align 4, !tbaa !5
  %9524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9525 = load i32, ptr %9524, align 4, !tbaa !5
  %9526 = call ptr @s2n_strerror(i32 noundef %9525, ptr noundef @.str.3)
  %9527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9528 = load i32, ptr %9527, align 4, !tbaa !5
  %9529 = call ptr @s2n_strerror_debug(i32 noundef %9528, ptr noundef @.str.3)
  %9530 = call ptr @__errno_location() #12
  %9531 = load i32, ptr %9530, align 4, !tbaa !5
  %9532 = call ptr @strerror(i32 noundef %9531) #11
  %9533 = call ptr @__errno_location() #12
  %9534 = load i32, ptr %9533, align 4, !tbaa !5
  %9535 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9522, ptr noundef @.str, i32 noundef %9523, ptr noundef @.str.70, ptr noundef @.str.2, i32 noundef 519, ptr noundef %9526, ptr noundef %9529, ptr noundef %9532, i32 noundef %9534) #11
  br label %9553

9536:                                             ; preds = %9514, %9507
  %9537 = load i32, ptr %266, align 4, !tbaa !5
  %9538 = call ptr @__errno_location() #12
  store i32 %9537, ptr %9538, align 4, !tbaa !5
  %9539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9540 = load i32, ptr @test_count, align 4, !tbaa !5
  %9541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9542 = load i32, ptr %9541, align 4, !tbaa !5
  %9543 = call ptr @s2n_strerror(i32 noundef %9542, ptr noundef @.str.3)
  %9544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9545 = load i32, ptr %9544, align 4, !tbaa !5
  %9546 = call ptr @s2n_strerror_debug(i32 noundef %9545, ptr noundef @.str.3)
  %9547 = call ptr @__errno_location() #12
  %9548 = load i32, ptr %9547, align 4, !tbaa !5
  %9549 = call ptr @strerror(i32 noundef %9548) #11
  %9550 = call ptr @__errno_location() #12
  %9551 = load i32, ptr %9550, align 4, !tbaa !5
  %9552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9539, ptr noundef @.str.4, i32 noundef %9540, ptr noundef @.str.70, ptr noundef @.str.2, i32 noundef 519, ptr noundef %9543, ptr noundef %9546, ptr noundef %9549, i32 noundef %9551) #11
  br label %9553

9553:                                             ; preds = %9536, %9519
  call void @llvm.lifetime.end.p0(i64 4, ptr %266) #11
  br label %9554

9554:                                             ; preds = %9553
  br label %9555

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

9556:                                             ; No predecessors!
  br label %9557

9557:                                             ; preds = %9556
  br label %9558

9558:                                             ; preds = %9557, %9500
  br label %9559

9559:                                             ; preds = %9558
  br label %9560

9560:                                             ; preds = %9559
  %9561 = load ptr, ptr %265, align 8, !tbaa !9
  call void @s2n_ktls_configure_connection(ptr noundef %9561, i32 noundef 1)
  call void @llvm.lifetime.start.p0(i64 192, ptr %267) #11
  call void @llvm.memset.p0.i64(ptr align 8 %267, i8 0, i64 192, i1 false)
  br label %9562

9562:                                             ; preds = %9560
  %9563 = load i32, ptr @test_count, align 4, !tbaa !5
  %9564 = add nsw i32 %9563, 1
  store i32 %9564, ptr @test_count, align 4, !tbaa !5
  %9565 = load ptr, ptr %265, align 8, !tbaa !9
  %9566 = load ptr, ptr %265, align 8, !tbaa !9
  %9567 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef %9565, ptr noundef %9566, ptr noundef %267)
  %9568 = getelementptr inbounds %struct.s2n_result, ptr %268, i32 0, i32 0
  store i32 %9567, ptr %9568, align 4
  %9569 = getelementptr inbounds %struct.s2n_result, ptr %268, i32 0, i32 0
  %9570 = load i32, ptr %9569, align 4
  %9571 = call zeroext i1 @s2n_result_is_ok(i32 %9570)
  br i1 %9571, label %9625, label %9572

9572:                                             ; preds = %9562
  br label %9573

9573:                                             ; preds = %9572
  br label %9574

9574:                                             ; preds = %9573
  call void @llvm.lifetime.start.p0(i64 4, ptr %269) #11
  %9575 = call ptr @__errno_location() #12
  %9576 = load i32, ptr %9575, align 4, !tbaa !5
  store i32 %9576, ptr %269, align 4, !tbaa !5
  %9577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9578 = call i32 @s2n_print_stacktrace(ptr noundef %9577)
  %9579 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9580 = trunc i8 %9579 to i1
  br i1 %9580, label %9581, label %9603

9581:                                             ; preds = %9574
  %9582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9583 = call i32 @fileno(ptr noundef %9582) #11
  %9584 = call i32 @isatty(i32 noundef %9583) #11
  %9585 = icmp ne i32 %9584, 0
  br i1 %9585, label %9586, label %9603

9586:                                             ; preds = %9581
  %9587 = load i32, ptr %269, align 4, !tbaa !5
  %9588 = call ptr @__errno_location() #12
  store i32 %9587, ptr %9588, align 4, !tbaa !5
  %9589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9590 = load i32, ptr @test_count, align 4, !tbaa !5
  %9591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9592 = load i32, ptr %9591, align 4, !tbaa !5
  %9593 = call ptr @s2n_strerror(i32 noundef %9592, ptr noundef @.str.3)
  %9594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9595 = load i32, ptr %9594, align 4, !tbaa !5
  %9596 = call ptr @s2n_strerror_debug(i32 noundef %9595, ptr noundef @.str.3)
  %9597 = call ptr @__errno_location() #12
  %9598 = load i32, ptr %9597, align 4, !tbaa !5
  %9599 = call ptr @strerror(i32 noundef %9598) #11
  %9600 = call ptr @__errno_location() #12
  %9601 = load i32, ptr %9600, align 4, !tbaa !5
  %9602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9589, ptr noundef @.str, i32 noundef %9590, ptr noundef @.str.71, ptr noundef @.str.2, i32 noundef 524, ptr noundef %9593, ptr noundef %9596, ptr noundef %9599, i32 noundef %9601) #11
  br label %9620

9603:                                             ; preds = %9581, %9574
  %9604 = load i32, ptr %269, align 4, !tbaa !5
  %9605 = call ptr @__errno_location() #12
  store i32 %9604, ptr %9605, align 4, !tbaa !5
  %9606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9607 = load i32, ptr @test_count, align 4, !tbaa !5
  %9608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9609 = load i32, ptr %9608, align 4, !tbaa !5
  %9610 = call ptr @s2n_strerror(i32 noundef %9609, ptr noundef @.str.3)
  %9611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9612 = load i32, ptr %9611, align 4, !tbaa !5
  %9613 = call ptr @s2n_strerror_debug(i32 noundef %9612, ptr noundef @.str.3)
  %9614 = call ptr @__errno_location() #12
  %9615 = load i32, ptr %9614, align 4, !tbaa !5
  %9616 = call ptr @strerror(i32 noundef %9615) #11
  %9617 = call ptr @__errno_location() #12
  %9618 = load i32, ptr %9617, align 4, !tbaa !5
  %9619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9606, ptr noundef @.str.4, i32 noundef %9607, ptr noundef @.str.71, ptr noundef @.str.2, i32 noundef 524, ptr noundef %9610, ptr noundef %9613, ptr noundef %9616, i32 noundef %9618) #11
  br label %9620

9620:                                             ; preds = %9603, %9586
  call void @llvm.lifetime.end.p0(i64 4, ptr %269) #11
  br label %9621

9621:                                             ; preds = %9620
  br label %9622

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

9623:                                             ; No predecessors!
  br label %9624

9624:                                             ; preds = %9623
  br label %9625

9625:                                             ; preds = %9624, %9562
  br label %9626

9626:                                             ; preds = %9625
  br label %9627

9627:                                             ; preds = %9626
  call void @llvm.lifetime.start.p0(i64 8, ptr %270) #11
  %9628 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer_pair, ptr %267, i32 0, i32 0
  store ptr %9628, ptr %270, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %271) #11
  store i64 0, ptr %271, align 8, !tbaa !15
  br label %9629

9629:                                             ; preds = %9627
  %9630 = load i32, ptr @test_count, align 4, !tbaa !5
  %9631 = add nsw i32 %9630, 1
  store i32 %9631, ptr @test_count, align 4, !tbaa !5
  %9632 = load ptr, ptr %270, align 8, !tbaa !9
  %9633 = call i32 @s2n_ktls_sendmsg(ptr noundef %9632, i8 noundef zeroext 21, ptr noundef %264, i64 noundef 1, ptr noundef %175, ptr noundef %271)
  %9634 = getelementptr inbounds %struct.s2n_result, ptr %272, i32 0, i32 0
  store i32 %9633, ptr %9634, align 4
  %9635 = getelementptr inbounds %struct.s2n_result, ptr %272, i32 0, i32 0
  %9636 = load i32, ptr %9635, align 4
  %9637 = call zeroext i1 @s2n_result_is_ok(i32 %9636)
  br i1 %9637, label %9691, label %9638

9638:                                             ; preds = %9629
  br label %9639

9639:                                             ; preds = %9638
  br label %9640

9640:                                             ; preds = %9639
  call void @llvm.lifetime.start.p0(i64 4, ptr %273) #11
  %9641 = call ptr @__errno_location() #12
  %9642 = load i32, ptr %9641, align 4, !tbaa !5
  store i32 %9642, ptr %273, align 4, !tbaa !5
  %9643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9644 = call i32 @s2n_print_stacktrace(ptr noundef %9643)
  %9645 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9646 = trunc i8 %9645 to i1
  br i1 %9646, label %9647, label %9669

9647:                                             ; preds = %9640
  %9648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9649 = call i32 @fileno(ptr noundef %9648) #11
  %9650 = call i32 @isatty(i32 noundef %9649) #11
  %9651 = icmp ne i32 %9650, 0
  br i1 %9651, label %9652, label %9669

9652:                                             ; preds = %9647
  %9653 = load i32, ptr %273, align 4, !tbaa !5
  %9654 = call ptr @__errno_location() #12
  store i32 %9653, ptr %9654, align 4, !tbaa !5
  %9655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9656 = load i32, ptr @test_count, align 4, !tbaa !5
  %9657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9658 = load i32, ptr %9657, align 4, !tbaa !5
  %9659 = call ptr @s2n_strerror(i32 noundef %9658, ptr noundef @.str.3)
  %9660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9661 = load i32, ptr %9660, align 4, !tbaa !5
  %9662 = call ptr @s2n_strerror_debug(i32 noundef %9661, ptr noundef @.str.3)
  %9663 = call ptr @__errno_location() #12
  %9664 = load i32, ptr %9663, align 4, !tbaa !5
  %9665 = call ptr @strerror(i32 noundef %9664) #11
  %9666 = call ptr @__errno_location() #12
  %9667 = load i32, ptr %9666, align 4, !tbaa !5
  %9668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9655, ptr noundef @.str, i32 noundef %9656, ptr noundef @.str.88, ptr noundef @.str.2, i32 noundef 528, ptr noundef %9659, ptr noundef %9662, ptr noundef %9665, i32 noundef %9667) #11
  br label %9686

9669:                                             ; preds = %9647, %9640
  %9670 = load i32, ptr %273, align 4, !tbaa !5
  %9671 = call ptr @__errno_location() #12
  store i32 %9670, ptr %9671, align 4, !tbaa !5
  %9672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9673 = load i32, ptr @test_count, align 4, !tbaa !5
  %9674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9675 = load i32, ptr %9674, align 4, !tbaa !5
  %9676 = call ptr @s2n_strerror(i32 noundef %9675, ptr noundef @.str.3)
  %9677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9678 = load i32, ptr %9677, align 4, !tbaa !5
  %9679 = call ptr @s2n_strerror_debug(i32 noundef %9678, ptr noundef @.str.3)
  %9680 = call ptr @__errno_location() #12
  %9681 = load i32, ptr %9680, align 4, !tbaa !5
  %9682 = call ptr @strerror(i32 noundef %9681) #11
  %9683 = call ptr @__errno_location() #12
  %9684 = load i32, ptr %9683, align 4, !tbaa !5
  %9685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9672, ptr noundef @.str.4, i32 noundef %9673, ptr noundef @.str.88, ptr noundef @.str.2, i32 noundef 528, ptr noundef %9676, ptr noundef %9679, ptr noundef %9682, i32 noundef %9684) #11
  br label %9686

9686:                                             ; preds = %9669, %9652
  call void @llvm.lifetime.end.p0(i64 4, ptr %273) #11
  br label %9687

9687:                                             ; preds = %9686
  br label %9688

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

9689:                                             ; No predecessors!
  br label %9690

9690:                                             ; preds = %9689
  br label %9691

9691:                                             ; preds = %9690, %9629
  br label %9692

9692:                                             ; preds = %9691
  br label %9693

9693:                                             ; preds = %9692
  br label %9694

9694:                                             ; preds = %9693
  %9695 = load i32, ptr @test_count, align 4, !tbaa !5
  %9696 = add nsw i32 %9695, 1
  store i32 %9696, ptr @test_count, align 4, !tbaa !5
  %9697 = load i64, ptr %271, align 8, !tbaa !15
  %9698 = icmp eq i64 %9697, 2
  br i1 %9698, label %9752, label %9699

9699:                                             ; preds = %9694
  br label %9700

9700:                                             ; preds = %9699
  br label %9701

9701:                                             ; preds = %9700
  call void @llvm.lifetime.start.p0(i64 4, ptr %274) #11
  %9702 = call ptr @__errno_location() #12
  %9703 = load i32, ptr %9702, align 4, !tbaa !5
  store i32 %9703, ptr %274, align 4, !tbaa !5
  %9704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9705 = call i32 @s2n_print_stacktrace(ptr noundef %9704)
  %9706 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9707 = trunc i8 %9706 to i1
  br i1 %9707, label %9708, label %9730

9708:                                             ; preds = %9701
  %9709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9710 = call i32 @fileno(ptr noundef %9709) #11
  %9711 = call i32 @isatty(i32 noundef %9710) #11
  %9712 = icmp ne i32 %9711, 0
  br i1 %9712, label %9713, label %9730

9713:                                             ; preds = %9708
  %9714 = load i32, ptr %274, align 4, !tbaa !5
  %9715 = call ptr @__errno_location() #12
  store i32 %9714, ptr %9715, align 4, !tbaa !5
  %9716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9717 = load i32, ptr @test_count, align 4, !tbaa !5
  %9718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9719 = load i32, ptr %9718, align 4, !tbaa !5
  %9720 = call ptr @s2n_strerror(i32 noundef %9719, ptr noundef @.str.3)
  %9721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9722 = load i32, ptr %9721, align 4, !tbaa !5
  %9723 = call ptr @s2n_strerror_debug(i32 noundef %9722, ptr noundef @.str.3)
  %9724 = call ptr @__errno_location() #12
  %9725 = load i32, ptr %9724, align 4, !tbaa !5
  %9726 = call ptr @strerror(i32 noundef %9725) #11
  %9727 = call ptr @__errno_location() #12
  %9728 = load i32, ptr %9727, align 4, !tbaa !5
  %9729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9716, ptr noundef @.str, i32 noundef %9717, ptr noundef @.str.89, ptr noundef @.str.2, i32 noundef 529, ptr noundef %9720, ptr noundef %9723, ptr noundef %9726, i32 noundef %9728) #11
  br label %9747

9730:                                             ; preds = %9708, %9701
  %9731 = load i32, ptr %274, align 4, !tbaa !5
  %9732 = call ptr @__errno_location() #12
  store i32 %9731, ptr %9732, align 4, !tbaa !5
  %9733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9734 = load i32, ptr @test_count, align 4, !tbaa !5
  %9735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9736 = load i32, ptr %9735, align 4, !tbaa !5
  %9737 = call ptr @s2n_strerror(i32 noundef %9736, ptr noundef @.str.3)
  %9738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9739 = load i32, ptr %9738, align 4, !tbaa !5
  %9740 = call ptr @s2n_strerror_debug(i32 noundef %9739, ptr noundef @.str.3)
  %9741 = call ptr @__errno_location() #12
  %9742 = load i32, ptr %9741, align 4, !tbaa !5
  %9743 = call ptr @strerror(i32 noundef %9742) #11
  %9744 = call ptr @__errno_location() #12
  %9745 = load i32, ptr %9744, align 4, !tbaa !5
  %9746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9733, ptr noundef @.str.4, i32 noundef %9734, ptr noundef @.str.89, ptr noundef @.str.2, i32 noundef 529, ptr noundef %9737, ptr noundef %9740, ptr noundef %9743, i32 noundef %9745) #11
  br label %9747

9747:                                             ; preds = %9730, %9713
  call void @llvm.lifetime.end.p0(i64 4, ptr %274) #11
  br label %9748

9748:                                             ; preds = %9747
  br label %9749

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

9750:                                             ; No predecessors!
  br label %9751

9751:                                             ; preds = %9750
  br label %9752

9752:                                             ; preds = %9751, %9694
  br label %9753

9753:                                             ; preds = %9752
  br label %9754

9754:                                             ; preds = %9753
  call void @llvm.lifetime.start.p0(i64 10, ptr %275) #11
  call void @llvm.memset.p0.i64(ptr align 1 %275, i8 0, i64 10, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %276) #11
  %9755 = load ptr, ptr %265, align 8, !tbaa !9
  %9756 = getelementptr inbounds [10 x i8], ptr %275, i64 0, i64 0
  %9757 = call i64 @s2n_recv(ptr noundef %9755, ptr noundef %9756, i64 noundef 10, ptr noundef %175)
  %9758 = trunc i64 %9757 to i32
  store i32 %9758, ptr %276, align 4, !tbaa !5
  br label %9759

9759:                                             ; preds = %9754
  br label %9760

9760:                                             ; preds = %9759
  br label %9761

9761:                                             ; preds = %9760
  %9762 = load i32, ptr @test_count, align 4, !tbaa !5
  %9763 = add nsw i32 %9762, 1
  store i32 %9763, ptr @test_count, align 4, !tbaa !5
  %9764 = load i32, ptr %276, align 4, !tbaa !5
  %9765 = icmp eq i32 %9764, -1
  br i1 %9765, label %9819, label %9766

9766:                                             ; preds = %9761
  br label %9767

9767:                                             ; preds = %9766
  br label %9768

9768:                                             ; preds = %9767
  call void @llvm.lifetime.start.p0(i64 4, ptr %277) #11
  %9769 = call ptr @__errno_location() #12
  %9770 = load i32, ptr %9769, align 4, !tbaa !5
  store i32 %9770, ptr %277, align 4, !tbaa !5
  %9771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9772 = call i32 @s2n_print_stacktrace(ptr noundef %9771)
  %9773 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9774 = trunc i8 %9773 to i1
  br i1 %9774, label %9775, label %9797

9775:                                             ; preds = %9768
  %9776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9777 = call i32 @fileno(ptr noundef %9776) #11
  %9778 = call i32 @isatty(i32 noundef %9777) #11
  %9779 = icmp ne i32 %9778, 0
  br i1 %9779, label %9780, label %9797

9780:                                             ; preds = %9775
  %9781 = load i32, ptr %277, align 4, !tbaa !5
  %9782 = call ptr @__errno_location() #12
  store i32 %9781, ptr %9782, align 4, !tbaa !5
  %9783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9784 = load i32, ptr @test_count, align 4, !tbaa !5
  %9785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9786 = load i32, ptr %9785, align 4, !tbaa !5
  %9787 = call ptr @s2n_strerror(i32 noundef %9786, ptr noundef @.str.3)
  %9788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9789 = load i32, ptr %9788, align 4, !tbaa !5
  %9790 = call ptr @s2n_strerror_debug(i32 noundef %9789, ptr noundef @.str.3)
  %9791 = call ptr @__errno_location() #12
  %9792 = load i32, ptr %9791, align 4, !tbaa !5
  %9793 = call ptr @strerror(i32 noundef %9792) #11
  %9794 = call ptr @__errno_location() #12
  %9795 = load i32, ptr %9794, align 4, !tbaa !5
  %9796 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9783, ptr noundef @.str, i32 noundef %9784, ptr noundef @.str.83, ptr noundef @.str.2, i32 noundef 533, ptr noundef %9787, ptr noundef %9790, ptr noundef %9793, i32 noundef %9795) #11
  br label %9814

9797:                                             ; preds = %9775, %9768
  %9798 = load i32, ptr %277, align 4, !tbaa !5
  %9799 = call ptr @__errno_location() #12
  store i32 %9798, ptr %9799, align 4, !tbaa !5
  %9800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9801 = load i32, ptr @test_count, align 4, !tbaa !5
  %9802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9803 = load i32, ptr %9802, align 4, !tbaa !5
  %9804 = call ptr @s2n_strerror(i32 noundef %9803, ptr noundef @.str.3)
  %9805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9806 = load i32, ptr %9805, align 4, !tbaa !5
  %9807 = call ptr @s2n_strerror_debug(i32 noundef %9806, ptr noundef @.str.3)
  %9808 = call ptr @__errno_location() #12
  %9809 = load i32, ptr %9808, align 4, !tbaa !5
  %9810 = call ptr @strerror(i32 noundef %9809) #11
  %9811 = call ptr @__errno_location() #12
  %9812 = load i32, ptr %9811, align 4, !tbaa !5
  %9813 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9800, ptr noundef @.str.4, i32 noundef %9801, ptr noundef @.str.83, ptr noundef @.str.2, i32 noundef 533, ptr noundef %9804, ptr noundef %9807, ptr noundef %9810, i32 noundef %9812) #11
  br label %9814

9814:                                             ; preds = %9797, %9780
  call void @llvm.lifetime.end.p0(i64 4, ptr %277) #11
  br label %9815

9815:                                             ; preds = %9814
  br label %9816

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

9817:                                             ; No predecessors!
  br label %9818

9818:                                             ; preds = %9817
  br label %9819

9819:                                             ; preds = %9818, %9761
  br label %9820

9820:                                             ; preds = %9819
  br label %9821

9821:                                             ; preds = %9820
  br label %9822

9822:                                             ; preds = %9821
  %9823 = load i32, ptr @test_count, align 4, !tbaa !5
  %9824 = add nsw i32 %9823, 1
  store i32 %9824, ptr @test_count, align 4, !tbaa !5
  %9825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9826 = load i32, ptr %9825, align 4, !tbaa !5
  %9827 = icmp eq i32 %9826, 268435456
  br i1 %9827, label %9881, label %9828

9828:                                             ; preds = %9822
  br label %9829

9829:                                             ; preds = %9828
  br label %9830

9830:                                             ; preds = %9829
  call void @llvm.lifetime.start.p0(i64 4, ptr %278) #11
  %9831 = call ptr @__errno_location() #12
  %9832 = load i32, ptr %9831, align 4, !tbaa !5
  store i32 %9832, ptr %278, align 4, !tbaa !5
  %9833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9834 = call i32 @s2n_print_stacktrace(ptr noundef %9833)
  %9835 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9836 = trunc i8 %9835 to i1
  br i1 %9836, label %9837, label %9859

9837:                                             ; preds = %9830
  %9838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9839 = call i32 @fileno(ptr noundef %9838) #11
  %9840 = call i32 @isatty(i32 noundef %9839) #11
  %9841 = icmp ne i32 %9840, 0
  br i1 %9841, label %9842, label %9859

9842:                                             ; preds = %9837
  %9843 = load i32, ptr %278, align 4, !tbaa !5
  %9844 = call ptr @__errno_location() #12
  store i32 %9843, ptr %9844, align 4, !tbaa !5
  %9845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9846 = load i32, ptr @test_count, align 4, !tbaa !5
  %9847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9848 = load i32, ptr %9847, align 4, !tbaa !5
  %9849 = call ptr @s2n_strerror(i32 noundef %9848, ptr noundef @.str.3)
  %9850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9851 = load i32, ptr %9850, align 4, !tbaa !5
  %9852 = call ptr @s2n_strerror_debug(i32 noundef %9851, ptr noundef @.str.3)
  %9853 = call ptr @__errno_location() #12
  %9854 = load i32, ptr %9853, align 4, !tbaa !5
  %9855 = call ptr @strerror(i32 noundef %9854) #11
  %9856 = call ptr @__errno_location() #12
  %9857 = load i32, ptr %9856, align 4, !tbaa !5
  %9858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9845, ptr noundef @.str, i32 noundef %9846, ptr noundef @.str.90, ptr noundef @.str.2, i32 noundef 533, ptr noundef %9849, ptr noundef %9852, ptr noundef %9855, i32 noundef %9857) #11
  br label %9876

9859:                                             ; preds = %9837, %9830
  %9860 = load i32, ptr %278, align 4, !tbaa !5
  %9861 = call ptr @__errno_location() #12
  store i32 %9860, ptr %9861, align 4, !tbaa !5
  %9862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9863 = load i32, ptr @test_count, align 4, !tbaa !5
  %9864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9865 = load i32, ptr %9864, align 4, !tbaa !5
  %9866 = call ptr @s2n_strerror(i32 noundef %9865, ptr noundef @.str.3)
  %9867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9868 = load i32, ptr %9867, align 4, !tbaa !5
  %9869 = call ptr @s2n_strerror_debug(i32 noundef %9868, ptr noundef @.str.3)
  %9870 = call ptr @__errno_location() #12
  %9871 = load i32, ptr %9870, align 4, !tbaa !5
  %9872 = call ptr @strerror(i32 noundef %9871) #11
  %9873 = call ptr @__errno_location() #12
  %9874 = load i32, ptr %9873, align 4, !tbaa !5
  %9875 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9862, ptr noundef @.str.4, i32 noundef %9863, ptr noundef @.str.90, ptr noundef @.str.2, i32 noundef 533, ptr noundef %9866, ptr noundef %9869, ptr noundef %9872, i32 noundef %9874) #11
  br label %9876

9876:                                             ; preds = %9859, %9842
  call void @llvm.lifetime.end.p0(i64 4, ptr %278) #11
  br label %9877

9877:                                             ; preds = %9876
  br label %9878

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

9879:                                             ; No predecessors!
  br label %9880

9880:                                             ; preds = %9879
  br label %9881

9881:                                             ; preds = %9880, %9822
  br label %9882

9882:                                             ; preds = %9881
  br label %9883

9883:                                             ; preds = %9882
  br label %9884

9884:                                             ; preds = %9883
  %9885 = load i32, ptr @test_count, align 4, !tbaa !5
  %9886 = add nsw i32 %9885, 1
  store i32 %9886, ptr @test_count, align 4, !tbaa !5
  %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 = icmp eq ptr %9889, null
  br i1 %9890, label %9891, label %9944

9891:                                             ; preds = %9884
  br label %9892

9892:                                             ; preds = %9891
  br label %9893

9893:                                             ; preds = %9892
  call void @llvm.lifetime.start.p0(i64 4, ptr %279) #11
  %9894 = call ptr @__errno_location() #12
  %9895 = load i32, ptr %9894, align 4, !tbaa !5
  store i32 %9895, ptr %279, align 4, !tbaa !5
  %9896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9897 = call i32 @s2n_print_stacktrace(ptr noundef %9896)
  %9898 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9899 = trunc i8 %9898 to i1
  br i1 %9899, label %9900, label %9922

9900:                                             ; preds = %9893
  %9901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9902 = call i32 @fileno(ptr noundef %9901) #11
  %9903 = call i32 @isatty(i32 noundef %9902) #11
  %9904 = icmp ne i32 %9903, 0
  br i1 %9904, label %9905, label %9922

9905:                                             ; preds = %9900
  %9906 = load i32, ptr %279, align 4, !tbaa !5
  %9907 = call ptr @__errno_location() #12
  store i32 %9906, ptr %9907, align 4, !tbaa !5
  %9908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9909 = load i32, ptr @test_count, align 4, !tbaa !5
  %9910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9911 = load i32, ptr %9910, align 4, !tbaa !5
  %9912 = call ptr @s2n_strerror(i32 noundef %9911, ptr noundef @.str.3)
  %9913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9914 = load i32, ptr %9913, align 4, !tbaa !5
  %9915 = call ptr @s2n_strerror_debug(i32 noundef %9914, ptr noundef @.str.3)
  %9916 = call ptr @__errno_location() #12
  %9917 = load i32, ptr %9916, align 4, !tbaa !5
  %9918 = call ptr @strerror(i32 noundef %9917) #11
  %9919 = call ptr @__errno_location() #12
  %9920 = load i32, ptr %9919, align 4, !tbaa !5
  %9921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9908, ptr noundef @.str, i32 noundef %9909, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 533, ptr noundef %9912, ptr noundef %9915, ptr noundef %9918, i32 noundef %9920) #11
  br label %9939

9922:                                             ; preds = %9900, %9893
  %9923 = load i32, ptr %279, align 4, !tbaa !5
  %9924 = call ptr @__errno_location() #12
  store i32 %9923, ptr %9924, align 4, !tbaa !5
  %9925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9926 = load i32, ptr @test_count, align 4, !tbaa !5
  %9927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9928 = load i32, ptr %9927, align 4, !tbaa !5
  %9929 = call ptr @s2n_strerror(i32 noundef %9928, ptr noundef @.str.3)
  %9930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9931 = load i32, ptr %9930, align 4, !tbaa !5
  %9932 = call ptr @s2n_strerror_debug(i32 noundef %9931, ptr noundef @.str.3)
  %9933 = call ptr @__errno_location() #12
  %9934 = load i32, ptr %9933, align 4, !tbaa !5
  %9935 = call ptr @strerror(i32 noundef %9934) #11
  %9936 = call ptr @__errno_location() #12
  %9937 = load i32, ptr %9936, align 4, !tbaa !5
  %9938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9925, ptr noundef @.str.4, i32 noundef %9926, ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 533, ptr noundef %9929, ptr noundef %9932, ptr noundef %9935, i32 noundef %9937) #11
  br label %9939

9939:                                             ; preds = %9922, %9905
  call void @llvm.lifetime.end.p0(i64 4, ptr %279) #11
  br label %9940

9940:                                             ; preds = %9939
  br label %9941

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

9942:                                             ; No predecessors!
  br label %9943

9943:                                             ; preds = %9942
  br label %9944

9944:                                             ; preds = %9943, %9884
  br label %9945

9945:                                             ; preds = %9944
  br label %9946

9946:                                             ; preds = %9945
  br label %9947

9947:                                             ; preds = %9946
  br label %9948

9948:                                             ; preds = %9947
  br label %9949

9949:                                             ; preds = %9948
  %9950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %9950, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %9951 = call ptr @__errno_location() #12
  store i32 0, ptr %9951, align 4, !tbaa !5
  br label %9952

9952:                                             ; preds = %9949
  br label %9953

9953:                                             ; preds = %9952
  br label %9954

9954:                                             ; preds = %9953
  br label %9955

9955:                                             ; preds = %9954
  br label %9956

9956:                                             ; preds = %9955
  %9957 = load i32, ptr @test_count, align 4, !tbaa !5
  %9958 = add nsw i32 %9957, 1
  store i32 %9958, ptr @test_count, align 4, !tbaa !5
  %9959 = load i32, ptr %175, align 4, !tbaa !5
  %9960 = icmp eq i32 %9959, 1
  br i1 %9960, label %10014, label %9961

9961:                                             ; preds = %9956
  br label %9962

9962:                                             ; preds = %9961
  br label %9963

9963:                                             ; preds = %9962
  call void @llvm.lifetime.start.p0(i64 4, ptr %280) #11
  %9964 = call ptr @__errno_location() #12
  %9965 = load i32, ptr %9964, align 4, !tbaa !5
  store i32 %9965, ptr %280, align 4, !tbaa !5
  %9966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9967 = call i32 @s2n_print_stacktrace(ptr noundef %9966)
  %9968 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9969 = trunc i8 %9968 to i1
  br i1 %9969, label %9970, label %9992

9970:                                             ; preds = %9963
  %9971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9972 = call i32 @fileno(ptr noundef %9971) #11
  %9973 = call i32 @isatty(i32 noundef %9972) #11
  %9974 = icmp ne i32 %9973, 0
  br i1 %9974, label %9975, label %9992

9975:                                             ; preds = %9970
  %9976 = load i32, ptr %280, align 4, !tbaa !5
  %9977 = call ptr @__errno_location() #12
  store i32 %9976, ptr %9977, align 4, !tbaa !5
  %9978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9979 = load i32, ptr @test_count, align 4, !tbaa !5
  %9980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9981 = load i32, ptr %9980, align 4, !tbaa !5
  %9982 = call ptr @s2n_strerror(i32 noundef %9981, ptr noundef @.str.3)
  %9983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9984 = load i32, ptr %9983, align 4, !tbaa !5
  %9985 = call ptr @s2n_strerror_debug(i32 noundef %9984, ptr noundef @.str.3)
  %9986 = call ptr @__errno_location() #12
  %9987 = load i32, ptr %9986, align 4, !tbaa !5
  %9988 = call ptr @strerror(i32 noundef %9987) #11
  %9989 = call ptr @__errno_location() #12
  %9990 = load i32, ptr %9989, align 4, !tbaa !5
  %9991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9978, ptr noundef @.str, i32 noundef %9979, ptr noundef @.str.62, ptr noundef @.str.2, i32 noundef 534, ptr noundef %9982, ptr noundef %9985, ptr noundef %9988, i32 noundef %9990) #11
  br label %10009

9992:                                             ; preds = %9970, %9963
  %9993 = load i32, ptr %280, align 4, !tbaa !5
  %9994 = call ptr @__errno_location() #12
  store i32 %9993, ptr %9994, align 4, !tbaa !5
  %9995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9996 = load i32, ptr @test_count, align 4, !tbaa !5
  %9997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9998 = load i32, ptr %9997, align 4, !tbaa !5
  %9999 = call ptr @s2n_strerror(i32 noundef %9998, ptr noundef @.str.3)
  %10000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10001 = load i32, ptr %10000, align 4, !tbaa !5
  %10002 = call ptr @s2n_strerror_debug(i32 noundef %10001, ptr noundef @.str.3)
  %10003 = call ptr @__errno_location() #12
  %10004 = load i32, ptr %10003, align 4, !tbaa !5
  %10005 = call ptr @strerror(i32 noundef %10004) #11
  %10006 = call ptr @__errno_location() #12
  %10007 = load i32, ptr %10006, align 4, !tbaa !5
  %10008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9995, ptr noundef @.str.4, i32 noundef %9996, ptr noundef @.str.62, ptr noundef @.str.2, i32 noundef 534, ptr noundef %9999, ptr noundef %10002, ptr noundef %10005, i32 noundef %10007) #11
  br label %10009

10009:                                            ; preds = %9992, %9975
  call void @llvm.lifetime.end.p0(i64 4, ptr %280) #11
  br label %10010

10010:                                            ; preds = %10009
  br label %10011

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

10012:                                            ; No predecessors!
  br label %10013

10013:                                            ; preds = %10012
  br label %10014

10014:                                            ; preds = %10013, %9956
  br label %10015

10015:                                            ; preds = %10014
  br label %10016

10016:                                            ; preds = %10015
  br label %10017

10017:                                            ; preds = %10016
  %10018 = load i32, ptr @test_count, align 4, !tbaa !5
  %10019 = add nsw i32 %10018, 1
  store i32 %10019, ptr @test_count, align 4, !tbaa !5
  %10020 = load ptr, ptr %265, align 8, !tbaa !9
  %10021 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %10020, i32 noundef 3)
  br i1 %10021, label %10075, label %10022

10022:                                            ; preds = %10017
  br label %10023

10023:                                            ; preds = %10022
  br label %10024

10024:                                            ; preds = %10023
  call void @llvm.lifetime.start.p0(i64 4, ptr %281) #11
  %10025 = call ptr @__errno_location() #12
  %10026 = load i32, ptr %10025, align 4, !tbaa !5
  store i32 %10026, ptr %281, align 4, !tbaa !5
  %10027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10028 = call i32 @s2n_print_stacktrace(ptr noundef %10027)
  %10029 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10030 = trunc i8 %10029 to i1
  br i1 %10030, label %10031, label %10053

10031:                                            ; preds = %10024
  %10032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10033 = call i32 @fileno(ptr noundef %10032) #11
  %10034 = call i32 @isatty(i32 noundef %10033) #11
  %10035 = icmp ne i32 %10034, 0
  br i1 %10035, label %10036, label %10053

10036:                                            ; preds = %10031
  %10037 = load i32, ptr %281, align 4, !tbaa !5
  %10038 = call ptr @__errno_location() #12
  store i32 %10037, ptr %10038, align 4, !tbaa !5
  %10039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10040 = load i32, ptr @test_count, align 4, !tbaa !5
  %10041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10042 = load i32, ptr %10041, align 4, !tbaa !5
  %10043 = call ptr @s2n_strerror(i32 noundef %10042, ptr noundef @.str.3)
  %10044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10045 = load i32, ptr %10044, align 4, !tbaa !5
  %10046 = call ptr @s2n_strerror_debug(i32 noundef %10045, ptr noundef @.str.3)
  %10047 = call ptr @__errno_location() #12
  %10048 = load i32, ptr %10047, align 4, !tbaa !5
  %10049 = call ptr @strerror(i32 noundef %10048) #11
  %10050 = call ptr @__errno_location() #12
  %10051 = load i32, ptr %10050, align 4, !tbaa !5
  %10052 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10039, ptr noundef @.str, i32 noundef %10040, ptr noundef @.str.86, ptr noundef @.str.2, i32 noundef 537, ptr noundef %10043, ptr noundef %10046, ptr noundef %10049, i32 noundef %10051) #11
  br label %10070

10053:                                            ; preds = %10031, %10024
  %10054 = load i32, ptr %281, align 4, !tbaa !5
  %10055 = call ptr @__errno_location() #12
  store i32 %10054, ptr %10055, align 4, !tbaa !5
  %10056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10057 = load i32, ptr @test_count, align 4, !tbaa !5
  %10058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10059 = load i32, ptr %10058, align 4, !tbaa !5
  %10060 = call ptr @s2n_strerror(i32 noundef %10059, ptr noundef @.str.3)
  %10061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10062 = load i32, ptr %10061, align 4, !tbaa !5
  %10063 = call ptr @s2n_strerror_debug(i32 noundef %10062, ptr noundef @.str.3)
  %10064 = call ptr @__errno_location() #12
  %10065 = load i32, ptr %10064, align 4, !tbaa !5
  %10066 = call ptr @strerror(i32 noundef %10065) #11
  %10067 = call ptr @__errno_location() #12
  %10068 = load i32, ptr %10067, align 4, !tbaa !5
  %10069 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10056, ptr noundef @.str.4, i32 noundef %10057, ptr noundef @.str.86, ptr noundef @.str.2, i32 noundef 537, ptr noundef %10060, ptr noundef %10063, ptr noundef %10066, i32 noundef %10068) #11
  br label %10070

10070:                                            ; preds = %10053, %10036
  call void @llvm.lifetime.end.p0(i64 4, ptr %281) #11
  br label %10071

10071:                                            ; preds = %10070
  br label %10072

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

10073:                                            ; No predecessors!
  br label %10074

10074:                                            ; preds = %10073
  br label %10075

10075:                                            ; preds = %10074, %10017
  br label %10076

10076:                                            ; preds = %10075
  br label %10077

10077:                                            ; preds = %10076
  br label %10078

10078:                                            ; preds = %10077
  %10079 = load i32, ptr @test_count, align 4, !tbaa !5
  %10080 = add nsw i32 %10079, 1
  store i32 %10080, ptr @test_count, align 4, !tbaa !5
  %10081 = load ptr, ptr %265, align 8, !tbaa !9
  %10082 = call i64 @s2n_connection_get_delay(ptr noundef %10081)
  %10083 = icmp eq i64 %10082, 0
  br i1 %10083, label %10137, label %10084

10084:                                            ; preds = %10078
  br label %10085

10085:                                            ; preds = %10084
  br label %10086

10086:                                            ; preds = %10085
  call void @llvm.lifetime.start.p0(i64 4, ptr %282) #11
  %10087 = call ptr @__errno_location() #12
  %10088 = load i32, ptr %10087, align 4, !tbaa !5
  store i32 %10088, ptr %282, align 4, !tbaa !5
  %10089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10090 = call i32 @s2n_print_stacktrace(ptr noundef %10089)
  %10091 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10092 = trunc i8 %10091 to i1
  br i1 %10092, label %10093, label %10115

10093:                                            ; preds = %10086
  %10094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10095 = call i32 @fileno(ptr noundef %10094) #11
  %10096 = call i32 @isatty(i32 noundef %10095) #11
  %10097 = icmp ne i32 %10096, 0
  br i1 %10097, label %10098, label %10115

10098:                                            ; preds = %10093
  %10099 = load i32, ptr %282, align 4, !tbaa !5
  %10100 = call ptr @__errno_location() #12
  store i32 %10099, ptr %10100, align 4, !tbaa !5
  %10101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10102 = load i32, ptr @test_count, align 4, !tbaa !5
  %10103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10104 = load i32, ptr %10103, align 4, !tbaa !5
  %10105 = call ptr @s2n_strerror(i32 noundef %10104, ptr noundef @.str.3)
  %10106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10107 = load i32, ptr %10106, align 4, !tbaa !5
  %10108 = call ptr @s2n_strerror_debug(i32 noundef %10107, ptr noundef @.str.3)
  %10109 = call ptr @__errno_location() #12
  %10110 = load i32, ptr %10109, align 4, !tbaa !5
  %10111 = call ptr @strerror(i32 noundef %10110) #11
  %10112 = call ptr @__errno_location() #12
  %10113 = load i32, ptr %10112, align 4, !tbaa !5
  %10114 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10101, ptr noundef @.str, i32 noundef %10102, ptr noundef @.str.87, ptr noundef @.str.2, i32 noundef 538, ptr noundef %10105, ptr noundef %10108, ptr noundef %10111, i32 noundef %10113) #11
  br label %10132

10115:                                            ; preds = %10093, %10086
  %10116 = load i32, ptr %282, align 4, !tbaa !5
  %10117 = call ptr @__errno_location() #12
  store i32 %10116, ptr %10117, align 4, !tbaa !5
  %10118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10119 = load i32, ptr @test_count, align 4, !tbaa !5
  %10120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10121 = load i32, ptr %10120, align 4, !tbaa !5
  %10122 = call ptr @s2n_strerror(i32 noundef %10121, ptr noundef @.str.3)
  %10123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10124 = load i32, ptr %10123, align 4, !tbaa !5
  %10125 = call ptr @s2n_strerror_debug(i32 noundef %10124, ptr noundef @.str.3)
  %10126 = call ptr @__errno_location() #12
  %10127 = load i32, ptr %10126, align 4, !tbaa !5
  %10128 = call ptr @strerror(i32 noundef %10127) #11
  %10129 = call ptr @__errno_location() #12
  %10130 = load i32, ptr %10129, align 4, !tbaa !5
  %10131 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10118, ptr noundef @.str.4, i32 noundef %10119, ptr noundef @.str.87, ptr noundef @.str.2, i32 noundef 538, ptr noundef %10122, ptr noundef %10125, ptr noundef %10128, i32 noundef %10130) #11
  br label %10132

10132:                                            ; preds = %10115, %10098
  call void @llvm.lifetime.end.p0(i64 4, ptr %282) #11
  br label %10133

10133:                                            ; preds = %10132
  br label %10134

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

10135:                                            ; No predecessors!
  br label %10136

10136:                                            ; preds = %10135
  br label %10137

10137:                                            ; preds = %10136, %10078
  br label %10138

10138:                                            ; preds = %10137
  br label %10139

10139:                                            ; preds = %10138
  call void @llvm.lifetime.end.p0(i64 4, ptr %276) #11
  call void @llvm.lifetime.end.p0(i64 10, ptr %275) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %271) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %270) #11
  %10140 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef %267)
  %10141 = getelementptr inbounds %struct.s2n_result, ptr %283, i32 0, i32 0
  store i32 %10140, ptr %10141, align 4
  call void @llvm.lifetime.end.p0(i64 192, ptr %267) #11
  %10142 = call i32 @s2n_connection_ptr_free(ptr noundef %265)
  %10143 = getelementptr inbounds %struct.s2n_result, ptr %284, i32 0, i32 0
  store i32 %10142, ptr %10143, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %265) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %264) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %263) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %285) #11
  %10144 = call ptr @s2n_config_new()
  store ptr %10144, ptr %285, align 8, !tbaa !9
  br label %10145

10145:                                            ; preds = %10139
  %10146 = load i32, ptr @test_count, align 4, !tbaa !5
  %10147 = add nsw i32 %10146, 1
  store i32 %10147, ptr @test_count, align 4, !tbaa !5
  %10148 = load ptr, ptr %285, align 8, !tbaa !9
  %10149 = icmp eq ptr %10148, null
  br i1 %10149, label %10150, label %10203

10150:                                            ; preds = %10145
  br label %10151

10151:                                            ; preds = %10150
  br label %10152

10152:                                            ; preds = %10151
  call void @llvm.lifetime.start.p0(i64 4, ptr %286) #11
  %10153 = call ptr @__errno_location() #12
  %10154 = load i32, ptr %10153, align 4, !tbaa !5
  store i32 %10154, ptr %286, align 4, !tbaa !5
  %10155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10156 = call i32 @s2n_print_stacktrace(ptr noundef %10155)
  %10157 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10158 = trunc i8 %10157 to i1
  br i1 %10158, label %10159, label %10181

10159:                                            ; preds = %10152
  %10160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10161 = call i32 @fileno(ptr noundef %10160) #11
  %10162 = call i32 @isatty(i32 noundef %10161) #11
  %10163 = icmp ne i32 %10162, 0
  br i1 %10163, label %10164, label %10181

10164:                                            ; preds = %10159
  %10165 = load i32, ptr %286, align 4, !tbaa !5
  %10166 = call ptr @__errno_location() #12
  store i32 %10165, ptr %10166, align 4, !tbaa !5
  %10167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10168 = load i32, ptr @test_count, align 4, !tbaa !5
  %10169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10170 = load i32, ptr %10169, align 4, !tbaa !5
  %10171 = call ptr @s2n_strerror(i32 noundef %10170, ptr noundef @.str.3)
  %10172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10173 = load i32, ptr %10172, align 4, !tbaa !5
  %10174 = call ptr @s2n_strerror_debug(i32 noundef %10173, ptr noundef @.str.3)
  %10175 = call ptr @__errno_location() #12
  %10176 = load i32, ptr %10175, align 4, !tbaa !5
  %10177 = call ptr @strerror(i32 noundef %10176) #11
  %10178 = call ptr @__errno_location() #12
  %10179 = load i32, ptr %10178, align 4, !tbaa !5
  %10180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10167, ptr noundef @.str, i32 noundef %10168, ptr noundef @.str.91, ptr noundef @.str.2, i32 noundef 545, ptr noundef %10171, ptr noundef %10174, ptr noundef %10177, i32 noundef %10179) #11
  br label %10198

10181:                                            ; preds = %10159, %10152
  %10182 = load i32, ptr %286, align 4, !tbaa !5
  %10183 = call ptr @__errno_location() #12
  store i32 %10182, ptr %10183, align 4, !tbaa !5
  %10184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10185 = load i32, ptr @test_count, align 4, !tbaa !5
  %10186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10187 = load i32, ptr %10186, align 4, !tbaa !5
  %10188 = call ptr @s2n_strerror(i32 noundef %10187, ptr noundef @.str.3)
  %10189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10190 = load i32, ptr %10189, align 4, !tbaa !5
  %10191 = call ptr @s2n_strerror_debug(i32 noundef %10190, ptr noundef @.str.3)
  %10192 = call ptr @__errno_location() #12
  %10193 = load i32, ptr %10192, align 4, !tbaa !5
  %10194 = call ptr @strerror(i32 noundef %10193) #11
  %10195 = call ptr @__errno_location() #12
  %10196 = load i32, ptr %10195, align 4, !tbaa !5
  %10197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10184, ptr noundef @.str.4, i32 noundef %10185, ptr noundef @.str.91, ptr noundef @.str.2, i32 noundef 545, ptr noundef %10188, ptr noundef %10191, ptr noundef %10194, i32 noundef %10196) #11
  br label %10198

10198:                                            ; preds = %10181, %10164
  call void @llvm.lifetime.end.p0(i64 4, ptr %286) #11
  br label %10199

10199:                                            ; preds = %10198
  br label %10200

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

10201:                                            ; No predecessors!
  br label %10202

10202:                                            ; preds = %10201
  br label %10203

10203:                                            ; preds = %10202, %10145
  br label %10204

10204:                                            ; preds = %10203
  br label %10205

10205:                                            ; preds = %10204
  call void @llvm.lifetime.start.p0(i64 8, ptr %287) #11
  store i64 0, ptr %287, align 8, !tbaa !15
  br label %10206

10206:                                            ; preds = %10205
  %10207 = load i32, ptr @test_count, align 4, !tbaa !5
  %10208 = add nsw i32 %10207, 1
  store i32 %10208, ptr @test_count, align 4, !tbaa !5
  %10209 = load ptr, ptr %285, align 8, !tbaa !9
  %10210 = call i32 @s2n_config_set_renegotiate_request_cb(ptr noundef %10209, ptr noundef @s2n_test_reneg_req_cb, ptr noundef %287)
  %10211 = icmp eq i32 %10210, -1
  br i1 %10211, label %10212, label %10265

10212:                                            ; preds = %10206
  br label %10213

10213:                                            ; preds = %10212
  br label %10214

10214:                                            ; preds = %10213
  call void @llvm.lifetime.start.p0(i64 4, ptr %288) #11
  %10215 = call ptr @__errno_location() #12
  %10216 = load i32, ptr %10215, align 4, !tbaa !5
  store i32 %10216, ptr %288, align 4, !tbaa !5
  %10217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10218 = call i32 @s2n_print_stacktrace(ptr noundef %10217)
  %10219 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10220 = trunc i8 %10219 to i1
  br i1 %10220, label %10221, label %10243

10221:                                            ; preds = %10214
  %10222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10223 = call i32 @fileno(ptr noundef %10222) #11
  %10224 = call i32 @isatty(i32 noundef %10223) #11
  %10225 = icmp ne i32 %10224, 0
  br i1 %10225, label %10226, label %10243

10226:                                            ; preds = %10221
  %10227 = load i32, ptr %288, align 4, !tbaa !5
  %10228 = call ptr @__errno_location() #12
  store i32 %10227, ptr %10228, align 4, !tbaa !5
  %10229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10230 = load i32, ptr @test_count, align 4, !tbaa !5
  %10231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10232 = load i32, ptr %10231, align 4, !tbaa !5
  %10233 = call ptr @s2n_strerror(i32 noundef %10232, ptr noundef @.str.3)
  %10234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10235 = load i32, ptr %10234, align 4, !tbaa !5
  %10236 = call ptr @s2n_strerror_debug(i32 noundef %10235, ptr noundef @.str.3)
  %10237 = call ptr @__errno_location() #12
  %10238 = load i32, ptr %10237, align 4, !tbaa !5
  %10239 = call ptr @strerror(i32 noundef %10238) #11
  %10240 = call ptr @__errno_location() #12
  %10241 = load i32, ptr %10240, align 4, !tbaa !5
  %10242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10229, ptr noundef @.str, i32 noundef %10230, ptr noundef @.str.92, ptr noundef @.str.2, i32 noundef 549, ptr noundef %10233, ptr noundef %10236, ptr noundef %10239, i32 noundef %10241) #11
  br label %10260

10243:                                            ; preds = %10221, %10214
  %10244 = load i32, ptr %288, align 4, !tbaa !5
  %10245 = call ptr @__errno_location() #12
  store i32 %10244, ptr %10245, align 4, !tbaa !5
  %10246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10247 = load i32, ptr @test_count, align 4, !tbaa !5
  %10248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10249 = load i32, ptr %10248, align 4, !tbaa !5
  %10250 = call ptr @s2n_strerror(i32 noundef %10249, ptr noundef @.str.3)
  %10251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10252 = load i32, ptr %10251, align 4, !tbaa !5
  %10253 = call ptr @s2n_strerror_debug(i32 noundef %10252, ptr noundef @.str.3)
  %10254 = call ptr @__errno_location() #12
  %10255 = load i32, ptr %10254, align 4, !tbaa !5
  %10256 = call ptr @strerror(i32 noundef %10255) #11
  %10257 = call ptr @__errno_location() #12
  %10258 = load i32, ptr %10257, align 4, !tbaa !5
  %10259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10246, ptr noundef @.str.4, i32 noundef %10247, ptr noundef @.str.92, ptr noundef @.str.2, i32 noundef 549, ptr noundef %10250, ptr noundef %10253, ptr noundef %10256, i32 noundef %10258) #11
  br label %10260

10260:                                            ; preds = %10243, %10226
  call void @llvm.lifetime.end.p0(i64 4, ptr %288) #11
  br label %10261

10261:                                            ; preds = %10260
  br label %10262

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

10263:                                            ; No predecessors!
  br label %10264

10264:                                            ; preds = %10263
  br label %10265

10265:                                            ; preds = %10264, %10206
  br label %10266

10266:                                            ; preds = %10265
  br label %10267

10267:                                            ; preds = %10266
  call void @llvm.lifetime.start.p0(i64 4, ptr %289) #11
  call void @llvm.memset.p0.i64(ptr align 1 %289, i8 0, i64 4, i1 false)
  call void @llvm.lifetime.start.p0(i64 16, ptr %290) #11
  %10268 = getelementptr inbounds %struct.iovec, ptr %290, i32 0, i32 0
  %10269 = getelementptr inbounds [4 x i8], ptr %289, i64 0, i64 0
  store ptr %10269, ptr %10268, align 8, !tbaa !55
  %10270 = getelementptr inbounds %struct.iovec, ptr %290, i32 0, i32 1
  store i64 4, ptr %10270, align 8, !tbaa !57
  call void @llvm.lifetime.start.p0(i64 8, ptr %291) #11
  %10271 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %10271, ptr %291, align 8, !tbaa !9
  br label %10272

10272:                                            ; preds = %10267
  %10273 = load i32, ptr @test_count, align 4, !tbaa !5
  %10274 = add nsw i32 %10273, 1
  store i32 %10274, ptr @test_count, align 4, !tbaa !5
  %10275 = load ptr, ptr %291, align 8, !tbaa !9
  %10276 = icmp eq ptr %10275, null
  br i1 %10276, label %10277, label %10330

10277:                                            ; preds = %10272
  br label %10278

10278:                                            ; preds = %10277
  br label %10279

10279:                                            ; preds = %10278
  call void @llvm.lifetime.start.p0(i64 4, ptr %292) #11
  %10280 = call ptr @__errno_location() #12
  %10281 = load i32, ptr %10280, align 4, !tbaa !5
  store i32 %10281, ptr %292, align 4, !tbaa !5
  %10282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10283 = call i32 @s2n_print_stacktrace(ptr noundef %10282)
  %10284 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10285 = trunc i8 %10284 to i1
  br i1 %10285, label %10286, label %10308

10286:                                            ; preds = %10279
  %10287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10288 = call i32 @fileno(ptr noundef %10287) #11
  %10289 = call i32 @isatty(i32 noundef %10288) #11
  %10290 = icmp ne i32 %10289, 0
  br i1 %10290, label %10291, label %10308

10291:                                            ; preds = %10286
  %10292 = load i32, ptr %292, align 4, !tbaa !5
  %10293 = call ptr @__errno_location() #12
  store i32 %10292, ptr %10293, align 4, !tbaa !5
  %10294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10295 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %10297, ptr noundef @.str.3)
  %10299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10300 = load i32, ptr %10299, align 4, !tbaa !5
  %10301 = call ptr @s2n_strerror_debug(i32 noundef %10300, ptr noundef @.str.3)
  %10302 = call ptr @__errno_location() #12
  %10303 = load i32, ptr %10302, align 4, !tbaa !5
  %10304 = call ptr @strerror(i32 noundef %10303) #11
  %10305 = call ptr @__errno_location() #12
  %10306 = load i32, ptr %10305, align 4, !tbaa !5
  %10307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10294, ptr noundef @.str, i32 noundef %10295, ptr noundef @.str.70, ptr noundef @.str.2, i32 noundef 559, ptr noundef %10298, ptr noundef %10301, ptr noundef %10304, i32 noundef %10306) #11
  br label %10325

10308:                                            ; preds = %10286, %10279
  %10309 = load i32, ptr %292, align 4, !tbaa !5
  %10310 = call ptr @__errno_location() #12
  store i32 %10309, ptr %10310, align 4, !tbaa !5
  %10311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10312 = load i32, ptr @test_count, align 4, !tbaa !5
  %10313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10314 = load i32, ptr %10313, align 4, !tbaa !5
  %10315 = call ptr @s2n_strerror(i32 noundef %10314, ptr noundef @.str.3)
  %10316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10317 = load i32, ptr %10316, align 4, !tbaa !5
  %10318 = call ptr @s2n_strerror_debug(i32 noundef %10317, ptr noundef @.str.3)
  %10319 = call ptr @__errno_location() #12
  %10320 = load i32, ptr %10319, align 4, !tbaa !5
  %10321 = call ptr @strerror(i32 noundef %10320) #11
  %10322 = call ptr @__errno_location() #12
  %10323 = load i32, ptr %10322, align 4, !tbaa !5
  %10324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10311, ptr noundef @.str.4, i32 noundef %10312, ptr noundef @.str.70, ptr noundef @.str.2, i32 noundef 559, ptr noundef %10315, ptr noundef %10318, ptr noundef %10321, i32 noundef %10323) #11
  br label %10325

10325:                                            ; preds = %10308, %10291
  call void @llvm.lifetime.end.p0(i64 4, ptr %292) #11
  br label %10326

10326:                                            ; preds = %10325
  br label %10327

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

10328:                                            ; No predecessors!
  br label %10329

10329:                                            ; preds = %10328
  br label %10330

10330:                                            ; preds = %10329, %10272
  br label %10331

10331:                                            ; preds = %10330
  br label %10332

10332:                                            ; preds = %10331
  br label %10333

10333:                                            ; preds = %10332
  %10334 = load i32, ptr @test_count, align 4, !tbaa !5
  %10335 = add nsw i32 %10334, 1
  store i32 %10335, ptr @test_count, align 4, !tbaa !5
  %10336 = load ptr, ptr %291, align 8, !tbaa !9
  %10337 = load ptr, ptr %285, align 8, !tbaa !9
  %10338 = call i32 @s2n_connection_set_config(ptr noundef %10336, ptr noundef %10337)
  %10339 = icmp eq i32 %10338, -1
  br i1 %10339, label %10340, label %10393

10340:                                            ; preds = %10333
  br label %10341

10341:                                            ; preds = %10340
  br label %10342

10342:                                            ; preds = %10341
  call void @llvm.lifetime.start.p0(i64 4, ptr %293) #11
  %10343 = call ptr @__errno_location() #12
  %10344 = load i32, ptr %10343, align 4, !tbaa !5
  store i32 %10344, ptr %293, align 4, !tbaa !5
  %10345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10346 = call i32 @s2n_print_stacktrace(ptr noundef %10345)
  %10347 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10348 = trunc i8 %10347 to i1
  br i1 %10348, label %10349, label %10371

10349:                                            ; preds = %10342
  %10350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10351 = call i32 @fileno(ptr noundef %10350) #11
  %10352 = call i32 @isatty(i32 noundef %10351) #11
  %10353 = icmp ne i32 %10352, 0
  br i1 %10353, label %10354, label %10371

10354:                                            ; preds = %10349
  %10355 = load i32, ptr %293, align 4, !tbaa !5
  %10356 = call ptr @__errno_location() #12
  store i32 %10355, ptr %10356, align 4, !tbaa !5
  %10357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10358 = load i32, ptr @test_count, align 4, !tbaa !5
  %10359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10360 = load i32, ptr %10359, align 4, !tbaa !5
  %10361 = call ptr @s2n_strerror(i32 noundef %10360, ptr noundef @.str.3)
  %10362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10363 = load i32, ptr %10362, align 4, !tbaa !5
  %10364 = call ptr @s2n_strerror_debug(i32 noundef %10363, ptr noundef @.str.3)
  %10365 = call ptr @__errno_location() #12
  %10366 = load i32, ptr %10365, align 4, !tbaa !5
  %10367 = call ptr @strerror(i32 noundef %10366) #11
  %10368 = call ptr @__errno_location() #12
  %10369 = load i32, ptr %10368, align 4, !tbaa !5
  %10370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10357, ptr noundef @.str, i32 noundef %10358, ptr noundef @.str.93, ptr noundef @.str.2, i32 noundef 560, ptr noundef %10361, ptr noundef %10364, ptr noundef %10367, i32 noundef %10369) #11
  br label %10388

10371:                                            ; preds = %10349, %10342
  %10372 = load i32, ptr %293, align 4, !tbaa !5
  %10373 = call ptr @__errno_location() #12
  store i32 %10372, ptr %10373, align 4, !tbaa !5
  %10374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10375 = load i32, ptr @test_count, align 4, !tbaa !5
  %10376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10377 = load i32, ptr %10376, align 4, !tbaa !5
  %10378 = call ptr @s2n_strerror(i32 noundef %10377, ptr noundef @.str.3)
  %10379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10380 = load i32, ptr %10379, align 4, !tbaa !5
  %10381 = call ptr @s2n_strerror_debug(i32 noundef %10380, ptr noundef @.str.3)
  %10382 = call ptr @__errno_location() #12
  %10383 = load i32, ptr %10382, align 4, !tbaa !5
  %10384 = call ptr @strerror(i32 noundef %10383) #11
  %10385 = call ptr @__errno_location() #12
  %10386 = load i32, ptr %10385, align 4, !tbaa !5
  %10387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10374, ptr noundef @.str.4, i32 noundef %10375, ptr noundef @.str.93, ptr noundef @.str.2, i32 noundef 560, ptr noundef %10378, ptr noundef %10381, ptr noundef %10384, i32 noundef %10386) #11
  br label %10388

10388:                                            ; preds = %10371, %10354
  call void @llvm.lifetime.end.p0(i64 4, ptr %293) #11
  br label %10389

10389:                                            ; preds = %10388
  br label %10390

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

10391:                                            ; No predecessors!
  br label %10392

10392:                                            ; preds = %10391
  br label %10393

10393:                                            ; preds = %10392, %10333
  br label %10394

10394:                                            ; preds = %10393
  br label %10395

10395:                                            ; preds = %10394
  %10396 = load ptr, ptr %291, align 8, !tbaa !9
  call void @s2n_ktls_configure_connection(ptr noundef %10396, i32 noundef 1)
  %10397 = load ptr, ptr %291, align 8, !tbaa !9
  %10398 = load i32, ptr %10397, align 8
  %10399 = and i32 %10398, -9
  %10400 = or i32 %10399, 8
  store i32 %10400, ptr %10397, align 8
  call void @llvm.lifetime.start.p0(i64 192, ptr %294) #11
  call void @llvm.memset.p0.i64(ptr align 8 %294, i8 0, i64 192, i1 false)
  br label %10401

10401:                                            ; preds = %10395
  %10402 = load i32, ptr @test_count, align 4, !tbaa !5
  %10403 = add nsw i32 %10402, 1
  store i32 %10403, ptr @test_count, align 4, !tbaa !5
  %10404 = load ptr, ptr %291, align 8, !tbaa !9
  %10405 = load ptr, ptr %291, align 8, !tbaa !9
  %10406 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef %10404, ptr noundef %10405, ptr noundef %294)
  %10407 = getelementptr inbounds %struct.s2n_result, ptr %295, i32 0, i32 0
  store i32 %10406, ptr %10407, align 4
  %10408 = getelementptr inbounds %struct.s2n_result, ptr %295, i32 0, i32 0
  %10409 = load i32, ptr %10408, align 4
  %10410 = call zeroext i1 @s2n_result_is_ok(i32 %10409)
  br i1 %10410, label %10464, label %10411

10411:                                            ; preds = %10401
  br label %10412

10412:                                            ; preds = %10411
  br label %10413

10413:                                            ; preds = %10412
  call void @llvm.lifetime.start.p0(i64 4, ptr %296) #11
  %10414 = call ptr @__errno_location() #12
  %10415 = load i32, ptr %10414, align 4, !tbaa !5
  store i32 %10415, ptr %296, align 4, !tbaa !5
  %10416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10417 = call i32 @s2n_print_stacktrace(ptr noundef %10416)
  %10418 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10419 = trunc i8 %10418 to i1
  br i1 %10419, label %10420, label %10442

10420:                                            ; preds = %10413
  %10421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10422 = call i32 @fileno(ptr noundef %10421) #11
  %10423 = call i32 @isatty(i32 noundef %10422) #11
  %10424 = icmp ne i32 %10423, 0
  br i1 %10424, label %10425, label %10442

10425:                                            ; preds = %10420
  %10426 = load i32, ptr %296, align 4, !tbaa !5
  %10427 = call ptr @__errno_location() #12
  store i32 %10426, ptr %10427, align 4, !tbaa !5
  %10428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10429 = load i32, ptr @test_count, align 4, !tbaa !5
  %10430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10431 = load i32, ptr %10430, align 4, !tbaa !5
  %10432 = call ptr @s2n_strerror(i32 noundef %10431, ptr noundef @.str.3)
  %10433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10434 = load i32, ptr %10433, align 4, !tbaa !5
  %10435 = call ptr @s2n_strerror_debug(i32 noundef %10434, ptr noundef @.str.3)
  %10436 = call ptr @__errno_location() #12
  %10437 = load i32, ptr %10436, align 4, !tbaa !5
  %10438 = call ptr @strerror(i32 noundef %10437) #11
  %10439 = call ptr @__errno_location() #12
  %10440 = load i32, ptr %10439, align 4, !tbaa !5
  %10441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10428, ptr noundef @.str, i32 noundef %10429, ptr noundef @.str.71, ptr noundef @.str.2, i32 noundef 566, ptr noundef %10432, ptr noundef %10435, ptr noundef %10438, i32 noundef %10440) #11
  br label %10459

10442:                                            ; preds = %10420, %10413
  %10443 = load i32, ptr %296, align 4, !tbaa !5
  %10444 = call ptr @__errno_location() #12
  store i32 %10443, ptr %10444, align 4, !tbaa !5
  %10445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10446 = load i32, ptr @test_count, align 4, !tbaa !5
  %10447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10448 = load i32, ptr %10447, align 4, !tbaa !5
  %10449 = call ptr @s2n_strerror(i32 noundef %10448, ptr noundef @.str.3)
  %10450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10451 = load i32, ptr %10450, align 4, !tbaa !5
  %10452 = call ptr @s2n_strerror_debug(i32 noundef %10451, ptr noundef @.str.3)
  %10453 = call ptr @__errno_location() #12
  %10454 = load i32, ptr %10453, align 4, !tbaa !5
  %10455 = call ptr @strerror(i32 noundef %10454) #11
  %10456 = call ptr @__errno_location() #12
  %10457 = load i32, ptr %10456, align 4, !tbaa !5
  %10458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10445, ptr noundef @.str.4, i32 noundef %10446, ptr noundef @.str.71, ptr noundef @.str.2, i32 noundef 566, ptr noundef %10449, ptr noundef %10452, ptr noundef %10455, i32 noundef %10457) #11
  br label %10459

10459:                                            ; preds = %10442, %10425
  call void @llvm.lifetime.end.p0(i64 4, ptr %296) #11
  br label %10460

10460:                                            ; preds = %10459
  br label %10461

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

10462:                                            ; No predecessors!
  br label %10463

10463:                                            ; preds = %10462
  br label %10464

10464:                                            ; preds = %10463, %10401
  br label %10465

10465:                                            ; preds = %10464
  br label %10466

10466:                                            ; preds = %10465
  call void @llvm.lifetime.start.p0(i64 8, ptr %297) #11
  %10467 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer_pair, ptr %294, i32 0, i32 0
  store ptr %10467, ptr %297, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %298) #11
  store i64 0, ptr %298, align 8, !tbaa !15
  br label %10468

10468:                                            ; preds = %10466
  %10469 = load i32, ptr @test_count, align 4, !tbaa !5
  %10470 = add nsw i32 %10469, 1
  store i32 %10470, ptr @test_count, align 4, !tbaa !5
  %10471 = load ptr, ptr %297, align 8, !tbaa !9
  %10472 = call i32 @s2n_ktls_sendmsg(ptr noundef %10471, i8 noundef zeroext 22, ptr noundef %290, i64 noundef 1, ptr noundef %175, ptr noundef %298)
  %10473 = getelementptr inbounds %struct.s2n_result, ptr %299, i32 0, i32 0
  store i32 %10472, ptr %10473, align 4
  %10474 = getelementptr inbounds %struct.s2n_result, ptr %299, i32 0, i32 0
  %10475 = load i32, ptr %10474, align 4
  %10476 = call zeroext i1 @s2n_result_is_ok(i32 %10475)
  br i1 %10476, label %10530, label %10477

10477:                                            ; preds = %10468
  br label %10478

10478:                                            ; preds = %10477
  br label %10479

10479:                                            ; preds = %10478
  call void @llvm.lifetime.start.p0(i64 4, ptr %300) #11
  %10480 = call ptr @__errno_location() #12
  %10481 = load i32, ptr %10480, align 4, !tbaa !5
  store i32 %10481, ptr %300, align 4, !tbaa !5
  %10482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10483 = call i32 @s2n_print_stacktrace(ptr noundef %10482)
  %10484 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10485 = trunc i8 %10484 to i1
  br i1 %10485, label %10486, label %10508

10486:                                            ; preds = %10479
  %10487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10488 = call i32 @fileno(ptr noundef %10487) #11
  %10489 = call i32 @isatty(i32 noundef %10488) #11
  %10490 = icmp ne i32 %10489, 0
  br i1 %10490, label %10491, label %10508

10491:                                            ; preds = %10486
  %10492 = load i32, ptr %300, align 4, !tbaa !5
  %10493 = call ptr @__errno_location() #12
  store i32 %10492, ptr %10493, align 4, !tbaa !5
  %10494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10495 = load i32, ptr @test_count, align 4, !tbaa !5
  %10496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10497 = load i32, ptr %10496, align 4, !tbaa !5
  %10498 = call ptr @s2n_strerror(i32 noundef %10497, ptr noundef @.str.3)
  %10499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10500 = load i32, ptr %10499, align 4, !tbaa !5
  %10501 = call ptr @s2n_strerror_debug(i32 noundef %10500, ptr noundef @.str.3)
  %10502 = call ptr @__errno_location() #12
  %10503 = load i32, ptr %10502, align 4, !tbaa !5
  %10504 = call ptr @strerror(i32 noundef %10503) #11
  %10505 = call ptr @__errno_location() #12
  %10506 = load i32, ptr %10505, align 4, !tbaa !5
  %10507 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10494, ptr noundef @.str, i32 noundef %10495, ptr noundef @.str.94, ptr noundef @.str.2, i32 noundef 573, ptr noundef %10498, ptr noundef %10501, ptr noundef %10504, i32 noundef %10506) #11
  br label %10525

10508:                                            ; preds = %10486, %10479
  %10509 = load i32, ptr %300, align 4, !tbaa !5
  %10510 = call ptr @__errno_location() #12
  store i32 %10509, ptr %10510, align 4, !tbaa !5
  %10511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10512 = load i32, ptr @test_count, align 4, !tbaa !5
  %10513 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10514 = load i32, ptr %10513, align 4, !tbaa !5
  %10515 = call ptr @s2n_strerror(i32 noundef %10514, ptr noundef @.str.3)
  %10516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10517 = load i32, ptr %10516, align 4, !tbaa !5
  %10518 = call ptr @s2n_strerror_debug(i32 noundef %10517, ptr noundef @.str.3)
  %10519 = call ptr @__errno_location() #12
  %10520 = load i32, ptr %10519, align 4, !tbaa !5
  %10521 = call ptr @strerror(i32 noundef %10520) #11
  %10522 = call ptr @__errno_location() #12
  %10523 = load i32, ptr %10522, align 4, !tbaa !5
  %10524 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10511, ptr noundef @.str.4, i32 noundef %10512, ptr noundef @.str.94, ptr noundef @.str.2, i32 noundef 573, ptr noundef %10515, ptr noundef %10518, ptr noundef %10521, i32 noundef %10523) #11
  br label %10525

10525:                                            ; preds = %10508, %10491
  call void @llvm.lifetime.end.p0(i64 4, ptr %300) #11
  br label %10526

10526:                                            ; preds = %10525
  br label %10527

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

10528:                                            ; No predecessors!
  br label %10529

10529:                                            ; preds = %10528
  br label %10530

10530:                                            ; preds = %10529, %10468
  br label %10531

10531:                                            ; preds = %10530
  br label %10532

10532:                                            ; preds = %10531
  br label %10533

10533:                                            ; preds = %10532
  %10534 = load i32, ptr @test_count, align 4, !tbaa !5
  %10535 = add nsw i32 %10534, 1
  store i32 %10535, ptr @test_count, align 4, !tbaa !5
  %10536 = load i64, ptr %298, align 8, !tbaa !15
  %10537 = icmp eq i64 %10536, 4
  br i1 %10537, label %10591, label %10538

10538:                                            ; preds = %10533
  br label %10539

10539:                                            ; preds = %10538
  br label %10540

10540:                                            ; preds = %10539
  call void @llvm.lifetime.start.p0(i64 4, ptr %301) #11
  %10541 = call ptr @__errno_location() #12
  %10542 = load i32, ptr %10541, align 4, !tbaa !5
  store i32 %10542, ptr %301, align 4, !tbaa !5
  %10543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10544 = call i32 @s2n_print_stacktrace(ptr noundef %10543)
  %10545 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10546 = trunc i8 %10545 to i1
  br i1 %10546, label %10547, label %10569

10547:                                            ; preds = %10540
  %10548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10549 = call i32 @fileno(ptr noundef %10548) #11
  %10550 = call i32 @isatty(i32 noundef %10549) #11
  %10551 = icmp ne i32 %10550, 0
  br i1 %10551, label %10552, label %10569

10552:                                            ; preds = %10547
  %10553 = load i32, ptr %301, align 4, !tbaa !5
  %10554 = call ptr @__errno_location() #12
  store i32 %10553, ptr %10554, align 4, !tbaa !5
  %10555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10556 = load i32, ptr @test_count, align 4, !tbaa !5
  %10557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10558 = load i32, ptr %10557, align 4, !tbaa !5
  %10559 = call ptr @s2n_strerror(i32 noundef %10558, ptr noundef @.str.3)
  %10560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10561 = load i32, ptr %10560, align 4, !tbaa !5
  %10562 = call ptr @s2n_strerror_debug(i32 noundef %10561, ptr noundef @.str.3)
  %10563 = call ptr @__errno_location() #12
  %10564 = load i32, ptr %10563, align 4, !tbaa !5
  %10565 = call ptr @strerror(i32 noundef %10564) #11
  %10566 = call ptr @__errno_location() #12
  %10567 = load i32, ptr %10566, align 4, !tbaa !5
  %10568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10555, ptr noundef @.str, i32 noundef %10556, ptr noundef @.str.95, ptr noundef @.str.2, i32 noundef 574, ptr noundef %10559, ptr noundef %10562, ptr noundef %10565, i32 noundef %10567) #11
  br label %10586

10569:                                            ; preds = %10547, %10540
  %10570 = load i32, ptr %301, align 4, !tbaa !5
  %10571 = call ptr @__errno_location() #12
  store i32 %10570, ptr %10571, align 4, !tbaa !5
  %10572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10573 = load i32, ptr @test_count, align 4, !tbaa !5
  %10574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10575 = load i32, ptr %10574, align 4, !tbaa !5
  %10576 = call ptr @s2n_strerror(i32 noundef %10575, ptr noundef @.str.3)
  %10577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10578 = load i32, ptr %10577, align 4, !tbaa !5
  %10579 = call ptr @s2n_strerror_debug(i32 noundef %10578, ptr noundef @.str.3)
  %10580 = call ptr @__errno_location() #12
  %10581 = load i32, ptr %10580, align 4, !tbaa !5
  %10582 = call ptr @strerror(i32 noundef %10581) #11
  %10583 = call ptr @__errno_location() #12
  %10584 = load i32, ptr %10583, align 4, !tbaa !5
  %10585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10572, ptr noundef @.str.4, i32 noundef %10573, ptr noundef @.str.95, ptr noundef @.str.2, i32 noundef 574, ptr noundef %10576, ptr noundef %10579, ptr noundef %10582, i32 noundef %10584) #11
  br label %10586

10586:                                            ; preds = %10569, %10552
  call void @llvm.lifetime.end.p0(i64 4, ptr %301) #11
  br label %10587

10587:                                            ; preds = %10586
  br label %10588

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

10589:                                            ; No predecessors!
  br label %10590

10590:                                            ; preds = %10589
  br label %10591

10591:                                            ; preds = %10590, %10533
  br label %10592

10592:                                            ; preds = %10591
  br label %10593

10593:                                            ; preds = %10592
  br label %10594

10594:                                            ; preds = %10593
  %10595 = load i32, ptr @test_count, align 4, !tbaa !5
  %10596 = add nsw i32 %10595, 1
  store i32 %10596, ptr @test_count, align 4, !tbaa !5
  %10597 = load ptr, ptr %297, align 8, !tbaa !9
  %10598 = call i32 @s2n_ktls_sendmsg(ptr noundef %10597, i8 noundef zeroext 23, ptr noundef %174, i64 noundef 1, ptr noundef %175, ptr noundef %298)
  %10599 = getelementptr inbounds %struct.s2n_result, ptr %302, i32 0, i32 0
  store i32 %10598, ptr %10599, align 4
  %10600 = getelementptr inbounds %struct.s2n_result, ptr %302, i32 0, i32 0
  %10601 = load i32, ptr %10600, align 4
  %10602 = call zeroext i1 @s2n_result_is_ok(i32 %10601)
  br i1 %10602, label %10656, label %10603

10603:                                            ; preds = %10594
  br label %10604

10604:                                            ; preds = %10603
  br label %10605

10605:                                            ; preds = %10604
  call void @llvm.lifetime.start.p0(i64 4, ptr %303) #11
  %10606 = call ptr @__errno_location() #12
  %10607 = load i32, ptr %10606, align 4, !tbaa !5
  store i32 %10607, ptr %303, align 4, !tbaa !5
  %10608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10609 = call i32 @s2n_print_stacktrace(ptr noundef %10608)
  %10610 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10611 = trunc i8 %10610 to i1
  br i1 %10611, label %10612, label %10634

10612:                                            ; preds = %10605
  %10613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10614 = call i32 @fileno(ptr noundef %10613) #11
  %10615 = call i32 @isatty(i32 noundef %10614) #11
  %10616 = icmp ne i32 %10615, 0
  br i1 %10616, label %10617, label %10634

10617:                                            ; preds = %10612
  %10618 = load i32, ptr %303, align 4, !tbaa !5
  %10619 = call ptr @__errno_location() #12
  store i32 %10618, ptr %10619, align 4, !tbaa !5
  %10620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10621 = load i32, ptr @test_count, align 4, !tbaa !5
  %10622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10623 = load i32, ptr %10622, align 4, !tbaa !5
  %10624 = call ptr @s2n_strerror(i32 noundef %10623, ptr noundef @.str.3)
  %10625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10626 = load i32, ptr %10625, align 4, !tbaa !5
  %10627 = call ptr @s2n_strerror_debug(i32 noundef %10626, ptr noundef @.str.3)
  %10628 = call ptr @__errno_location() #12
  %10629 = load i32, ptr %10628, align 4, !tbaa !5
  %10630 = call ptr @strerror(i32 noundef %10629) #11
  %10631 = call ptr @__errno_location() #12
  %10632 = load i32, ptr %10631, align 4, !tbaa !5
  %10633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10620, ptr noundef @.str, i32 noundef %10621, ptr noundef @.str.72, ptr noundef @.str.2, i32 noundef 578, ptr noundef %10624, ptr noundef %10627, ptr noundef %10630, i32 noundef %10632) #11
  br label %10651

10634:                                            ; preds = %10612, %10605
  %10635 = load i32, ptr %303, align 4, !tbaa !5
  %10636 = call ptr @__errno_location() #12
  store i32 %10635, ptr %10636, align 4, !tbaa !5
  %10637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10638 = load i32, ptr @test_count, align 4, !tbaa !5
  %10639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10640 = load i32, ptr %10639, align 4, !tbaa !5
  %10641 = call ptr @s2n_strerror(i32 noundef %10640, ptr noundef @.str.3)
  %10642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10643 = load i32, ptr %10642, align 4, !tbaa !5
  %10644 = call ptr @s2n_strerror_debug(i32 noundef %10643, ptr noundef @.str.3)
  %10645 = call ptr @__errno_location() #12
  %10646 = load i32, ptr %10645, align 4, !tbaa !5
  %10647 = call ptr @strerror(i32 noundef %10646) #11
  %10648 = call ptr @__errno_location() #12
  %10649 = load i32, ptr %10648, align 4, !tbaa !5
  %10650 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10637, ptr noundef @.str.4, i32 noundef %10638, ptr noundef @.str.72, ptr noundef @.str.2, i32 noundef 578, ptr noundef %10641, ptr noundef %10644, ptr noundef %10647, i32 noundef %10649) #11
  br label %10651

10651:                                            ; preds = %10634, %10617
  call void @llvm.lifetime.end.p0(i64 4, ptr %303) #11
  br label %10652

10652:                                            ; preds = %10651
  br label %10653

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

10654:                                            ; No predecessors!
  br label %10655

10655:                                            ; preds = %10654
  br label %10656

10656:                                            ; preds = %10655, %10594
  br label %10657

10657:                                            ; preds = %10656
  br label %10658

10658:                                            ; preds = %10657
  br label %10659

10659:                                            ; preds = %10658
  %10660 = load i32, ptr @test_count, align 4, !tbaa !5
  %10661 = add nsw i32 %10660, 1
  store i32 %10661, ptr @test_count, align 4, !tbaa !5
  %10662 = load i64, ptr %298, align 8, !tbaa !15
  %10663 = icmp eq i64 %10662, 100
  br i1 %10663, label %10717, label %10664

10664:                                            ; preds = %10659
  br label %10665

10665:                                            ; preds = %10664
  br label %10666

10666:                                            ; preds = %10665
  call void @llvm.lifetime.start.p0(i64 4, ptr %304) #11
  %10667 = call ptr @__errno_location() #12
  %10668 = load i32, ptr %10667, align 4, !tbaa !5
  store i32 %10668, ptr %304, align 4, !tbaa !5
  %10669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10670 = call i32 @s2n_print_stacktrace(ptr noundef %10669)
  %10671 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10672 = trunc i8 %10671 to i1
  br i1 %10672, label %10673, label %10695

10673:                                            ; preds = %10666
  %10674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10675 = call i32 @fileno(ptr noundef %10674) #11
  %10676 = call i32 @isatty(i32 noundef %10675) #11
  %10677 = icmp ne i32 %10676, 0
  br i1 %10677, label %10678, label %10695

10678:                                            ; preds = %10673
  %10679 = load i32, ptr %304, align 4, !tbaa !5
  %10680 = call ptr @__errno_location() #12
  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() #12
  %10690 = load i32, ptr %10689, align 4, !tbaa !5
  %10691 = call ptr @strerror(i32 noundef %10690) #11
  %10692 = call ptr @__errno_location() #12
  %10693 = load i32, ptr %10692, align 4, !tbaa !5
  %10694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10681, ptr noundef @.str, i32 noundef %10682, ptr noundef @.str.73, ptr noundef @.str.2, i32 noundef 579, ptr noundef %10685, ptr noundef %10688, ptr noundef %10691, i32 noundef %10693) #11
  br label %10712

10695:                                            ; preds = %10673, %10666
  %10696 = load i32, ptr %304, align 4, !tbaa !5
  %10697 = call ptr @__errno_location() #12
  store i32 %10696, ptr %10697, align 4, !tbaa !5
  %10698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10699 = load i32, ptr @test_count, align 4, !tbaa !5
  %10700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10701 = load i32, ptr %10700, align 4, !tbaa !5
  %10702 = call ptr @s2n_strerror(i32 noundef %10701, ptr noundef @.str.3)
  %10703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10704 = load i32, ptr %10703, align 4, !tbaa !5
  %10705 = call ptr @s2n_strerror_debug(i32 noundef %10704, ptr noundef @.str.3)
  %10706 = call ptr @__errno_location() #12
  %10707 = load i32, ptr %10706, align 4, !tbaa !5
  %10708 = call ptr @strerror(i32 noundef %10707) #11
  %10709 = call ptr @__errno_location() #12
  %10710 = load i32, ptr %10709, align 4, !tbaa !5
  %10711 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10698, ptr noundef @.str.4, i32 noundef %10699, ptr noundef @.str.73, ptr noundef @.str.2, i32 noundef 579, ptr noundef %10702, ptr noundef %10705, ptr noundef %10708, i32 noundef %10710) #11
  br label %10712

10712:                                            ; preds = %10695, %10678
  call void @llvm.lifetime.end.p0(i64 4, ptr %304) #11
  br label %10713

10713:                                            ; preds = %10712
  br label %10714

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

10715:                                            ; No predecessors!
  br label %10716

10716:                                            ; preds = %10715
  br label %10717

10717:                                            ; preds = %10716, %10659
  br label %10718

10718:                                            ; preds = %10717
  br label %10719

10719:                                            ; preds = %10718
  call void @llvm.lifetime.start.p0(i64 100, ptr %305) #11
  call void @llvm.memset.p0.i64(ptr align 16 %305, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %306) #11
  %10720 = load ptr, ptr %291, align 8, !tbaa !9
  %10721 = getelementptr inbounds [100 x i8], ptr %305, i64 0, i64 0
  %10722 = call i64 @s2n_recv(ptr noundef %10720, ptr noundef %10721, i64 noundef 100, ptr noundef %175)
  %10723 = trunc i64 %10722 to i32
  store i32 %10723, ptr %306, align 4, !tbaa !5
  br label %10724

10724:                                            ; preds = %10719
  %10725 = load i32, ptr @test_count, align 4, !tbaa !5
  %10726 = add nsw i32 %10725, 1
  store i32 %10726, ptr @test_count, align 4, !tbaa !5
  %10727 = load i32, ptr %306, align 4, !tbaa !5
  %10728 = sext i32 %10727 to i64
  %10729 = icmp eq i64 %10728, 100
  br i1 %10729, label %10783, label %10730

10730:                                            ; preds = %10724
  br label %10731

10731:                                            ; preds = %10730
  br label %10732

10732:                                            ; preds = %10731
  call void @llvm.lifetime.start.p0(i64 4, ptr %307) #11
  %10733 = call ptr @__errno_location() #12
  %10734 = load i32, ptr %10733, align 4, !tbaa !5
  store i32 %10734, ptr %307, align 4, !tbaa !5
  %10735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10736 = call i32 @s2n_print_stacktrace(ptr noundef %10735)
  %10737 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10738 = trunc i8 %10737 to i1
  br i1 %10738, label %10739, label %10761

10739:                                            ; preds = %10732
  %10740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10741 = call i32 @fileno(ptr noundef %10740) #11
  %10742 = call i32 @isatty(i32 noundef %10741) #11
  %10743 = icmp ne i32 %10742, 0
  br i1 %10743, label %10744, label %10761

10744:                                            ; preds = %10739
  %10745 = load i32, ptr %307, align 4, !tbaa !5
  %10746 = call ptr @__errno_location() #12
  store i32 %10745, ptr %10746, align 4, !tbaa !5
  %10747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10748 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %10750, ptr noundef @.str.3)
  %10752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10753 = load i32, ptr %10752, align 4, !tbaa !5
  %10754 = call ptr @s2n_strerror_debug(i32 noundef %10753, ptr noundef @.str.3)
  %10755 = call ptr @__errno_location() #12
  %10756 = load i32, ptr %10755, align 4, !tbaa !5
  %10757 = call ptr @strerror(i32 noundef %10756) #11
  %10758 = call ptr @__errno_location() #12
  %10759 = load i32, ptr %10758, align 4, !tbaa !5
  %10760 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10747, ptr noundef @.str, i32 noundef %10748, ptr noundef @.str.96, ptr noundef @.str.2, i32 noundef 584, ptr noundef %10751, ptr noundef %10754, ptr noundef %10757, i32 noundef %10759) #11
  br label %10778

10761:                                            ; preds = %10739, %10732
  %10762 = load i32, ptr %307, align 4, !tbaa !5
  %10763 = call ptr @__errno_location() #12
  store i32 %10762, ptr %10763, align 4, !tbaa !5
  %10764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10765 = load i32, ptr @test_count, align 4, !tbaa !5
  %10766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10767 = load i32, ptr %10766, align 4, !tbaa !5
  %10768 = call ptr @s2n_strerror(i32 noundef %10767, ptr noundef @.str.3)
  %10769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10770 = load i32, ptr %10769, align 4, !tbaa !5
  %10771 = call ptr @s2n_strerror_debug(i32 noundef %10770, ptr noundef @.str.3)
  %10772 = call ptr @__errno_location() #12
  %10773 = load i32, ptr %10772, align 4, !tbaa !5
  %10774 = call ptr @strerror(i32 noundef %10773) #11
  %10775 = call ptr @__errno_location() #12
  %10776 = load i32, ptr %10775, align 4, !tbaa !5
  %10777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10764, ptr noundef @.str.4, i32 noundef %10765, ptr noundef @.str.96, ptr noundef @.str.2, i32 noundef 584, ptr noundef %10768, ptr noundef %10771, ptr noundef %10774, i32 noundef %10776) #11
  br label %10778

10778:                                            ; preds = %10761, %10744
  call void @llvm.lifetime.end.p0(i64 4, ptr %307) #11
  br label %10779

10779:                                            ; preds = %10778
  br label %10780

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

10781:                                            ; No predecessors!
  br label %10782

10782:                                            ; preds = %10781
  br label %10783

10783:                                            ; preds = %10782, %10724
  br label %10784

10784:                                            ; preds = %10783
  br label %10785

10785:                                            ; preds = %10784
  br label %10786

10786:                                            ; preds = %10785
  %10787 = load i32, ptr @test_count, align 4, !tbaa !5
  %10788 = add nsw i32 %10787, 1
  store i32 %10788, ptr @test_count, align 4, !tbaa !5
  %10789 = load i32, ptr %175, align 4, !tbaa !5
  %10790 = icmp eq i32 %10789, 0
  br i1 %10790, label %10844, label %10791

10791:                                            ; preds = %10786
  br label %10792

10792:                                            ; preds = %10791
  br label %10793

10793:                                            ; preds = %10792
  call void @llvm.lifetime.start.p0(i64 4, ptr %308) #11
  %10794 = call ptr @__errno_location() #12
  %10795 = load i32, ptr %10794, align 4, !tbaa !5
  store i32 %10795, ptr %308, align 4, !tbaa !5
  %10796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10797 = call i32 @s2n_print_stacktrace(ptr noundef %10796)
  %10798 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10799 = trunc i8 %10798 to i1
  br i1 %10799, label %10800, label %10822

10800:                                            ; preds = %10793
  %10801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10802 = call i32 @fileno(ptr noundef %10801) #11
  %10803 = call i32 @isatty(i32 noundef %10802) #11
  %10804 = icmp ne i32 %10803, 0
  br i1 %10804, label %10805, label %10822

10805:                                            ; preds = %10800
  %10806 = load i32, ptr %308, align 4, !tbaa !5
  %10807 = call ptr @__errno_location() #12
  store i32 %10806, ptr %10807, align 4, !tbaa !5
  %10808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10809 = load i32, ptr @test_count, align 4, !tbaa !5
  %10810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10811 = load i32, ptr %10810, align 4, !tbaa !5
  %10812 = call ptr @s2n_strerror(i32 noundef %10811, ptr noundef @.str.3)
  %10813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10814 = load i32, ptr %10813, align 4, !tbaa !5
  %10815 = call ptr @s2n_strerror_debug(i32 noundef %10814, ptr noundef @.str.3)
  %10816 = call ptr @__errno_location() #12
  %10817 = load i32, ptr %10816, align 4, !tbaa !5
  %10818 = call ptr @strerror(i32 noundef %10817) #11
  %10819 = call ptr @__errno_location() #12
  %10820 = load i32, ptr %10819, align 4, !tbaa !5
  %10821 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10808, ptr noundef @.str, i32 noundef %10809, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 585, ptr noundef %10812, ptr noundef %10815, ptr noundef %10818, i32 noundef %10820) #11
  br label %10839

10822:                                            ; preds = %10800, %10793
  %10823 = load i32, ptr %308, align 4, !tbaa !5
  %10824 = call ptr @__errno_location() #12
  store i32 %10823, ptr %10824, align 4, !tbaa !5
  %10825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10826 = load i32, ptr @test_count, align 4, !tbaa !5
  %10827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10828 = load i32, ptr %10827, align 4, !tbaa !5
  %10829 = call ptr @s2n_strerror(i32 noundef %10828, ptr noundef @.str.3)
  %10830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10831 = load i32, ptr %10830, align 4, !tbaa !5
  %10832 = call ptr @s2n_strerror_debug(i32 noundef %10831, ptr noundef @.str.3)
  %10833 = call ptr @__errno_location() #12
  %10834 = load i32, ptr %10833, align 4, !tbaa !5
  %10835 = call ptr @strerror(i32 noundef %10834) #11
  %10836 = call ptr @__errno_location() #12
  %10837 = load i32, ptr %10836, align 4, !tbaa !5
  %10838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10825, ptr noundef @.str.4, i32 noundef %10826, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 585, ptr noundef %10829, ptr noundef %10832, ptr noundef %10835, i32 noundef %10837) #11
  br label %10839

10839:                                            ; preds = %10822, %10805
  call void @llvm.lifetime.end.p0(i64 4, ptr %308) #11
  br label %10840

10840:                                            ; preds = %10839
  br label %10841

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

10842:                                            ; No predecessors!
  br label %10843

10843:                                            ; preds = %10842
  br label %10844

10844:                                            ; preds = %10843, %10786
  br label %10845

10845:                                            ; preds = %10844
  br label %10846

10846:                                            ; preds = %10845
  br label %10847

10847:                                            ; preds = %10846
  %10848 = load i32, ptr %306, align 4, !tbaa !5
  %10849 = icmp ne i32 %10848, 0
  br i1 %10849, label %10850, label %10916

10850:                                            ; preds = %10847
  br label %10851

10851:                                            ; preds = %10850
  %10852 = load i32, ptr @test_count, align 4, !tbaa !5
  %10853 = add nsw i32 %10852, 1
  store i32 %10853, ptr @test_count, align 4, !tbaa !5
  %10854 = getelementptr inbounds [100 x i8], ptr %305, i64 0, i64 0
  %10855 = getelementptr inbounds [100 x i8], ptr %169, i64 0, i64 0
  %10856 = load i32, ptr %306, align 4, !tbaa !5
  %10857 = sext i32 %10856 to i64
  %10858 = call i32 @memcmp(ptr noundef %10854, ptr noundef %10855, i64 noundef %10857) #14
  %10859 = icmp eq i32 %10858, 0
  br i1 %10859, label %10913, label %10860

10860:                                            ; preds = %10851
  br label %10861

10861:                                            ; preds = %10860
  br label %10862

10862:                                            ; preds = %10861
  call void @llvm.lifetime.start.p0(i64 4, ptr %309) #11
  %10863 = call ptr @__errno_location() #12
  %10864 = load i32, ptr %10863, align 4, !tbaa !5
  store i32 %10864, ptr %309, align 4, !tbaa !5
  %10865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10866 = call i32 @s2n_print_stacktrace(ptr noundef %10865)
  %10867 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10868 = trunc i8 %10867 to i1
  br i1 %10868, label %10869, label %10891

10869:                                            ; preds = %10862
  %10870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10871 = call i32 @fileno(ptr noundef %10870) #11
  %10872 = call i32 @isatty(i32 noundef %10871) #11
  %10873 = icmp ne i32 %10872, 0
  br i1 %10873, label %10874, label %10891

10874:                                            ; preds = %10869
  %10875 = load i32, ptr %309, align 4, !tbaa !5
  %10876 = call ptr @__errno_location() #12
  store i32 %10875, ptr %10876, align 4, !tbaa !5
  %10877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10878 = load i32, ptr @test_count, align 4, !tbaa !5
  %10879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10880 = load i32, ptr %10879, align 4, !tbaa !5
  %10881 = call ptr @s2n_strerror(i32 noundef %10880, ptr noundef @.str.3)
  %10882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10883 = load i32, ptr %10882, align 4, !tbaa !5
  %10884 = call ptr @s2n_strerror_debug(i32 noundef %10883, ptr noundef @.str.3)
  %10885 = call ptr @__errno_location() #12
  %10886 = load i32, ptr %10885, align 4, !tbaa !5
  %10887 = call ptr @strerror(i32 noundef %10886) #11
  %10888 = call ptr @__errno_location() #12
  %10889 = load i32, ptr %10888, align 4, !tbaa !5
  %10890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10877, ptr noundef @.str, i32 noundef %10878, ptr noundef @.str.75, ptr noundef @.str.2, i32 noundef 586, ptr noundef %10881, ptr noundef %10884, ptr noundef %10887, i32 noundef %10889) #11
  br label %10908

10891:                                            ; preds = %10869, %10862
  %10892 = load i32, ptr %309, align 4, !tbaa !5
  %10893 = call ptr @__errno_location() #12
  store i32 %10892, ptr %10893, align 4, !tbaa !5
  %10894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10895 = load i32, ptr @test_count, align 4, !tbaa !5
  %10896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10897 = load i32, ptr %10896, align 4, !tbaa !5
  %10898 = call ptr @s2n_strerror(i32 noundef %10897, ptr noundef @.str.3)
  %10899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10900 = load i32, ptr %10899, align 4, !tbaa !5
  %10901 = call ptr @s2n_strerror_debug(i32 noundef %10900, ptr noundef @.str.3)
  %10902 = call ptr @__errno_location() #12
  %10903 = load i32, ptr %10902, align 4, !tbaa !5
  %10904 = call ptr @strerror(i32 noundef %10903) #11
  %10905 = call ptr @__errno_location() #12
  %10906 = load i32, ptr %10905, align 4, !tbaa !5
  %10907 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10894, ptr noundef @.str.4, i32 noundef %10895, ptr noundef @.str.75, ptr noundef @.str.2, i32 noundef 586, ptr noundef %10898, ptr noundef %10901, ptr noundef %10904, i32 noundef %10906) #11
  br label %10908

10908:                                            ; preds = %10891, %10874
  call void @llvm.lifetime.end.p0(i64 4, ptr %309) #11
  br label %10909

10909:                                            ; preds = %10908
  br label %10910

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

10911:                                            ; No predecessors!
  br label %10912

10912:                                            ; preds = %10911
  br label %10913

10913:                                            ; preds = %10912, %10851
  br label %10914

10914:                                            ; preds = %10913
  br label %10915

10915:                                            ; preds = %10914
  br label %10916

10916:                                            ; preds = %10915, %10847
  br label %10917

10917:                                            ; preds = %10916
  br label %10918

10918:                                            ; preds = %10917
  br label %10919

10919:                                            ; preds = %10918
  %10920 = load i32, ptr @test_count, align 4, !tbaa !5
  %10921 = add nsw i32 %10920, 1
  store i32 %10921, ptr @test_count, align 4, !tbaa !5
  %10922 = load i64, ptr %287, align 8, !tbaa !15
  %10923 = icmp eq i64 %10922, 1
  br i1 %10923, label %10977, label %10924

10924:                                            ; preds = %10919
  br label %10925

10925:                                            ; preds = %10924
  br label %10926

10926:                                            ; preds = %10925
  call void @llvm.lifetime.start.p0(i64 4, ptr %310) #11
  %10927 = call ptr @__errno_location() #12
  %10928 = load i32, ptr %10927, align 4, !tbaa !5
  store i32 %10928, ptr %310, align 4, !tbaa !5
  %10929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10930 = call i32 @s2n_print_stacktrace(ptr noundef %10929)
  %10931 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10932 = trunc i8 %10931 to i1
  br i1 %10932, label %10933, label %10955

10933:                                            ; preds = %10926
  %10934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10935 = call i32 @fileno(ptr noundef %10934) #11
  %10936 = call i32 @isatty(i32 noundef %10935) #11
  %10937 = icmp ne i32 %10936, 0
  br i1 %10937, label %10938, label %10955

10938:                                            ; preds = %10933
  %10939 = load i32, ptr %310, align 4, !tbaa !5
  %10940 = call ptr @__errno_location() #12
  store i32 %10939, ptr %10940, align 4, !tbaa !5
  %10941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10942 = load i32, ptr @test_count, align 4, !tbaa !5
  %10943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10944 = load i32, ptr %10943, align 4, !tbaa !5
  %10945 = call ptr @s2n_strerror(i32 noundef %10944, ptr noundef @.str.3)
  %10946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10947 = load i32, ptr %10946, align 4, !tbaa !5
  %10948 = call ptr @s2n_strerror_debug(i32 noundef %10947, ptr noundef @.str.3)
  %10949 = call ptr @__errno_location() #12
  %10950 = load i32, ptr %10949, align 4, !tbaa !5
  %10951 = call ptr @strerror(i32 noundef %10950) #11
  %10952 = call ptr @__errno_location() #12
  %10953 = load i32, ptr %10952, align 4, !tbaa !5
  %10954 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10941, ptr noundef @.str, i32 noundef %10942, ptr noundef @.str.97, ptr noundef @.str.2, i32 noundef 589, ptr noundef %10945, ptr noundef %10948, ptr noundef %10951, i32 noundef %10953) #11
  br label %10972

10955:                                            ; preds = %10933, %10926
  %10956 = load i32, ptr %310, align 4, !tbaa !5
  %10957 = call ptr @__errno_location() #12
  store i32 %10956, ptr %10957, align 4, !tbaa !5
  %10958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10959 = load i32, ptr @test_count, align 4, !tbaa !5
  %10960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10961 = load i32, ptr %10960, align 4, !tbaa !5
  %10962 = call ptr @s2n_strerror(i32 noundef %10961, ptr noundef @.str.3)
  %10963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10964 = load i32, ptr %10963, align 4, !tbaa !5
  %10965 = call ptr @s2n_strerror_debug(i32 noundef %10964, ptr noundef @.str.3)
  %10966 = call ptr @__errno_location() #12
  %10967 = load i32, ptr %10966, align 4, !tbaa !5
  %10968 = call ptr @strerror(i32 noundef %10967) #11
  %10969 = call ptr @__errno_location() #12
  %10970 = load i32, ptr %10969, align 4, !tbaa !5
  %10971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10958, ptr noundef @.str.4, i32 noundef %10959, ptr noundef @.str.97, ptr noundef @.str.2, i32 noundef 589, ptr noundef %10962, ptr noundef %10965, ptr noundef %10968, i32 noundef %10970) #11
  br label %10972

10972:                                            ; preds = %10955, %10938
  call void @llvm.lifetime.end.p0(i64 4, ptr %310) #11
  br label %10973

10973:                                            ; preds = %10972
  br label %10974

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

10975:                                            ; No predecessors!
  br label %10976

10976:                                            ; preds = %10975
  br label %10977

10977:                                            ; preds = %10976, %10919
  br label %10978

10978:                                            ; preds = %10977
  br label %10979

10979:                                            ; preds = %10978
  call void @llvm.lifetime.end.p0(i64 4, ptr %306) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %305) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %298) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %297) #11
  %10980 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef %294)
  %10981 = getelementptr inbounds %struct.s2n_result, ptr %311, i32 0, i32 0
  store i32 %10980, ptr %10981, align 4
  call void @llvm.lifetime.end.p0(i64 192, ptr %294) #11
  %10982 = call i32 @s2n_connection_ptr_free(ptr noundef %291)
  %10983 = getelementptr inbounds %struct.s2n_result, ptr %312, i32 0, i32 0
  store i32 %10982, ptr %10983, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %291) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %290) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %289) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %287) #11
  %10984 = call i32 @s2n_config_ptr_free(ptr noundef %285)
  %10985 = getelementptr inbounds %struct.s2n_result, ptr %313, i32 0, i32 0
  store i32 %10984, ptr %10985, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %285) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %314) #11
  %10986 = call ptr @s2n_config_new()
  store ptr %10986, ptr %314, align 8, !tbaa !9
  br label %10987

10987:                                            ; preds = %10979
  %10988 = load i32, ptr @test_count, align 4, !tbaa !5
  %10989 = add nsw i32 %10988, 1
  store i32 %10989, ptr @test_count, align 4, !tbaa !5
  %10990 = load ptr, ptr %314, align 8, !tbaa !9
  %10991 = icmp eq ptr %10990, null
  br i1 %10991, label %10992, label %11045

10992:                                            ; preds = %10987
  br label %10993

10993:                                            ; preds = %10992
  br label %10994

10994:                                            ; preds = %10993
  call void @llvm.lifetime.start.p0(i64 4, ptr %315) #11
  %10995 = call ptr @__errno_location() #12
  %10996 = load i32, ptr %10995, align 4, !tbaa !5
  store i32 %10996, ptr %315, align 4, !tbaa !5
  %10997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10998 = call i32 @s2n_print_stacktrace(ptr noundef %10997)
  %10999 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11000 = trunc i8 %10999 to i1
  br i1 %11000, label %11001, label %11023

11001:                                            ; preds = %10994
  %11002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11003 = call i32 @fileno(ptr noundef %11002) #11
  %11004 = call i32 @isatty(i32 noundef %11003) #11
  %11005 = icmp ne i32 %11004, 0
  br i1 %11005, label %11006, label %11023

11006:                                            ; preds = %11001
  %11007 = load i32, ptr %315, align 4, !tbaa !5
  %11008 = call ptr @__errno_location() #12
  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() #12
  %11018 = load i32, ptr %11017, align 4, !tbaa !5
  %11019 = call ptr @strerror(i32 noundef %11018) #11
  %11020 = call ptr @__errno_location() #12
  %11021 = load i32, ptr %11020, align 4, !tbaa !5
  %11022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11009, ptr noundef @.str, i32 noundef %11010, ptr noundef @.str.98, ptr noundef @.str.2, i32 noundef 596, ptr noundef %11013, ptr noundef %11016, ptr noundef %11019, i32 noundef %11021) #11
  br label %11040

11023:                                            ; preds = %11001, %10994
  %11024 = load i32, ptr %315, align 4, !tbaa !5
  %11025 = call ptr @__errno_location() #12
  store i32 %11024, ptr %11025, align 4, !tbaa !5
  %11026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11027 = load i32, ptr @test_count, align 4, !tbaa !5
  %11028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11029 = load i32, ptr %11028, align 4, !tbaa !5
  %11030 = call ptr @s2n_strerror(i32 noundef %11029, ptr noundef @.str.3)
  %11031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11032 = load i32, ptr %11031, align 4, !tbaa !5
  %11033 = call ptr @s2n_strerror_debug(i32 noundef %11032, ptr noundef @.str.3)
  %11034 = call ptr @__errno_location() #12
  %11035 = load i32, ptr %11034, align 4, !tbaa !5
  %11036 = call ptr @strerror(i32 noundef %11035) #11
  %11037 = call ptr @__errno_location() #12
  %11038 = load i32, ptr %11037, align 4, !tbaa !5
  %11039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11026, ptr noundef @.str.4, i32 noundef %11027, ptr noundef @.str.98, ptr noundef @.str.2, i32 noundef 596, ptr noundef %11030, ptr noundef %11033, ptr noundef %11036, i32 noundef %11038) #11
  br label %11040

11040:                                            ; preds = %11023, %11006
  call void @llvm.lifetime.end.p0(i64 4, ptr %315) #11
  br label %11041

11041:                                            ; preds = %11040
  br label %11042

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

11043:                                            ; No predecessors!
  br label %11044

11044:                                            ; preds = %11043
  br label %11045

11045:                                            ; preds = %11044, %10987
  br label %11046

11046:                                            ; preds = %11045
  br label %11047

11047:                                            ; preds = %11046
  br label %11048

11048:                                            ; preds = %11047
  %11049 = load i32, ptr @test_count, align 4, !tbaa !5
  %11050 = add nsw i32 %11049, 1
  store i32 %11050, ptr @test_count, align 4, !tbaa !5
  %11051 = load ptr, ptr %314, align 8, !tbaa !9
  %11052 = call i32 @s2n_config_set_recv_multi_record(ptr noundef %11051, i1 noundef zeroext true)
  %11053 = icmp eq i32 %11052, -1
  br i1 %11053, label %11054, label %11107

11054:                                            ; preds = %11048
  br label %11055

11055:                                            ; preds = %11054
  br label %11056

11056:                                            ; preds = %11055
  call void @llvm.lifetime.start.p0(i64 4, ptr %316) #11
  %11057 = call ptr @__errno_location() #12
  %11058 = load i32, ptr %11057, align 4, !tbaa !5
  store i32 %11058, ptr %316, align 4, !tbaa !5
  %11059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11060 = call i32 @s2n_print_stacktrace(ptr noundef %11059)
  %11061 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11062 = trunc i8 %11061 to i1
  br i1 %11062, label %11063, label %11085

11063:                                            ; preds = %11056
  %11064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11065 = call i32 @fileno(ptr noundef %11064) #11
  %11066 = call i32 @isatty(i32 noundef %11065) #11
  %11067 = icmp ne i32 %11066, 0
  br i1 %11067, label %11068, label %11085

11068:                                            ; preds = %11063
  %11069 = load i32, ptr %316, align 4, !tbaa !5
  %11070 = call ptr @__errno_location() #12
  store i32 %11069, ptr %11070, align 4, !tbaa !5
  %11071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11072 = load i32, ptr @test_count, align 4, !tbaa !5
  %11073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11074 = load i32, ptr %11073, align 4, !tbaa !5
  %11075 = call ptr @s2n_strerror(i32 noundef %11074, ptr noundef @.str.3)
  %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_debug(i32 noundef %11077, ptr noundef @.str.3)
  %11079 = call ptr @__errno_location() #12
  %11080 = load i32, ptr %11079, align 4, !tbaa !5
  %11081 = call ptr @strerror(i32 noundef %11080) #11
  %11082 = call ptr @__errno_location() #12
  %11083 = load i32, ptr %11082, align 4, !tbaa !5
  %11084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11071, ptr noundef @.str, i32 noundef %11072, ptr noundef @.str.99, ptr noundef @.str.2, i32 noundef 597, ptr noundef %11075, ptr noundef %11078, ptr noundef %11081, i32 noundef %11083) #11
  br label %11102

11085:                                            ; preds = %11063, %11056
  %11086 = load i32, ptr %316, align 4, !tbaa !5
  %11087 = call ptr @__errno_location() #12
  store i32 %11086, ptr %11087, align 4, !tbaa !5
  %11088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11089 = load i32, ptr @test_count, align 4, !tbaa !5
  %11090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11091 = load i32, ptr %11090, align 4, !tbaa !5
  %11092 = call ptr @s2n_strerror(i32 noundef %11091, ptr noundef @.str.3)
  %11093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11094 = load i32, ptr %11093, align 4, !tbaa !5
  %11095 = call ptr @s2n_strerror_debug(i32 noundef %11094, ptr noundef @.str.3)
  %11096 = call ptr @__errno_location() #12
  %11097 = load i32, ptr %11096, align 4, !tbaa !5
  %11098 = call ptr @strerror(i32 noundef %11097) #11
  %11099 = call ptr @__errno_location() #12
  %11100 = load i32, ptr %11099, align 4, !tbaa !5
  %11101 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11088, ptr noundef @.str.4, i32 noundef %11089, ptr noundef @.str.99, ptr noundef @.str.2, i32 noundef 597, ptr noundef %11092, ptr noundef %11095, ptr noundef %11098, i32 noundef %11100) #11
  br label %11102

11102:                                            ; preds = %11085, %11068
  call void @llvm.lifetime.end.p0(i64 4, ptr %316) #11
  br label %11103

11103:                                            ; preds = %11102
  br label %11104

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

11105:                                            ; No predecessors!
  br label %11106

11106:                                            ; preds = %11105
  br label %11107

11107:                                            ; preds = %11106, %11048
  br label %11108

11108:                                            ; preds = %11107
  br label %11109

11109:                                            ; preds = %11108
  call void @llvm.lifetime.start.p0(i64 8, ptr %317) #11
  %11110 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %11110, ptr %317, align 8, !tbaa !9
  br label %11111

11111:                                            ; preds = %11109
  %11112 = load i32, ptr @test_count, align 4, !tbaa !5
  %11113 = add nsw i32 %11112, 1
  store i32 %11113, ptr @test_count, align 4, !tbaa !5
  %11114 = load ptr, ptr %317, align 8, !tbaa !9
  %11115 = icmp eq ptr %11114, null
  br i1 %11115, label %11116, label %11169

11116:                                            ; preds = %11111
  br label %11117

11117:                                            ; preds = %11116
  br label %11118

11118:                                            ; preds = %11117
  call void @llvm.lifetime.start.p0(i64 4, ptr %318) #11
  %11119 = call ptr @__errno_location() #12
  %11120 = load i32, ptr %11119, align 4, !tbaa !5
  store i32 %11120, ptr %318, align 4, !tbaa !5
  %11121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11122 = call i32 @s2n_print_stacktrace(ptr noundef %11121)
  %11123 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11124 = trunc i8 %11123 to i1
  br i1 %11124, label %11125, label %11147

11125:                                            ; preds = %11118
  %11126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11127 = call i32 @fileno(ptr noundef %11126) #11
  %11128 = call i32 @isatty(i32 noundef %11127) #11
  %11129 = icmp ne i32 %11128, 0
  br i1 %11129, label %11130, label %11147

11130:                                            ; preds = %11125
  %11131 = load i32, ptr %318, align 4, !tbaa !5
  %11132 = call ptr @__errno_location() #12
  store i32 %11131, ptr %11132, align 4, !tbaa !5
  %11133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11134 = load i32, ptr @test_count, align 4, !tbaa !5
  %11135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11136 = load i32, ptr %11135, align 4, !tbaa !5
  %11137 = call ptr @s2n_strerror(i32 noundef %11136, ptr noundef @.str.3)
  %11138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11139 = load i32, ptr %11138, align 4, !tbaa !5
  %11140 = call ptr @s2n_strerror_debug(i32 noundef %11139, ptr noundef @.str.3)
  %11141 = call ptr @__errno_location() #12
  %11142 = load i32, ptr %11141, align 4, !tbaa !5
  %11143 = call ptr @strerror(i32 noundef %11142) #11
  %11144 = call ptr @__errno_location() #12
  %11145 = load i32, ptr %11144, align 4, !tbaa !5
  %11146 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11133, ptr noundef @.str, i32 noundef %11134, ptr noundef @.str.70, ptr noundef @.str.2, i32 noundef 603, ptr noundef %11137, ptr noundef %11140, ptr noundef %11143, i32 noundef %11145) #11
  br label %11164

11147:                                            ; preds = %11125, %11118
  %11148 = load i32, ptr %318, align 4, !tbaa !5
  %11149 = call ptr @__errno_location() #12
  store i32 %11148, ptr %11149, align 4, !tbaa !5
  %11150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11151 = load i32, ptr @test_count, align 4, !tbaa !5
  %11152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11153 = load i32, ptr %11152, align 4, !tbaa !5
  %11154 = call ptr @s2n_strerror(i32 noundef %11153, ptr noundef @.str.3)
  %11155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11156 = load i32, ptr %11155, align 4, !tbaa !5
  %11157 = call ptr @s2n_strerror_debug(i32 noundef %11156, ptr noundef @.str.3)
  %11158 = call ptr @__errno_location() #12
  %11159 = load i32, ptr %11158, align 4, !tbaa !5
  %11160 = call ptr @strerror(i32 noundef %11159) #11
  %11161 = call ptr @__errno_location() #12
  %11162 = load i32, ptr %11161, align 4, !tbaa !5
  %11163 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11150, ptr noundef @.str.4, i32 noundef %11151, ptr noundef @.str.70, ptr noundef @.str.2, i32 noundef 603, ptr noundef %11154, ptr noundef %11157, ptr noundef %11160, i32 noundef %11162) #11
  br label %11164

11164:                                            ; preds = %11147, %11130
  call void @llvm.lifetime.end.p0(i64 4, ptr %318) #11
  br label %11165

11165:                                            ; preds = %11164
  br label %11166

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

11167:                                            ; No predecessors!
  br label %11168

11168:                                            ; preds = %11167
  br label %11169

11169:                                            ; preds = %11168, %11111
  br label %11170

11170:                                            ; preds = %11169
  br label %11171

11171:                                            ; preds = %11170
  br label %11172

11172:                                            ; preds = %11171
  %11173 = load i32, ptr @test_count, align 4, !tbaa !5
  %11174 = add nsw i32 %11173, 1
  store i32 %11174, ptr @test_count, align 4, !tbaa !5
  %11175 = load ptr, ptr %317, align 8, !tbaa !9
  %11176 = load ptr, ptr %314, align 8, !tbaa !9
  %11177 = call i32 @s2n_connection_set_config(ptr noundef %11175, ptr noundef %11176)
  %11178 = icmp eq i32 %11177, -1
  br i1 %11178, label %11179, label %11232

11179:                                            ; preds = %11172
  br label %11180

11180:                                            ; preds = %11179
  br label %11181

11181:                                            ; preds = %11180
  call void @llvm.lifetime.start.p0(i64 4, ptr %319) #11
  %11182 = call ptr @__errno_location() #12
  %11183 = load i32, ptr %11182, align 4, !tbaa !5
  store i32 %11183, ptr %319, align 4, !tbaa !5
  %11184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11185 = call i32 @s2n_print_stacktrace(ptr noundef %11184)
  %11186 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11187 = trunc i8 %11186 to i1
  br i1 %11187, label %11188, label %11210

11188:                                            ; preds = %11181
  %11189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11190 = call i32 @fileno(ptr noundef %11189) #11
  %11191 = call i32 @isatty(i32 noundef %11190) #11
  %11192 = icmp ne i32 %11191, 0
  br i1 %11192, label %11193, label %11210

11193:                                            ; preds = %11188
  %11194 = load i32, ptr %319, align 4, !tbaa !5
  %11195 = call ptr @__errno_location() #12
  store i32 %11194, ptr %11195, align 4, !tbaa !5
  %11196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11197 = load i32, ptr @test_count, align 4, !tbaa !5
  %11198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11199 = load i32, ptr %11198, align 4, !tbaa !5
  %11200 = call ptr @s2n_strerror(i32 noundef %11199, ptr noundef @.str.3)
  %11201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11202 = load i32, ptr %11201, align 4, !tbaa !5
  %11203 = call ptr @s2n_strerror_debug(i32 noundef %11202, ptr noundef @.str.3)
  %11204 = call ptr @__errno_location() #12
  %11205 = load i32, ptr %11204, align 4, !tbaa !5
  %11206 = call ptr @strerror(i32 noundef %11205) #11
  %11207 = call ptr @__errno_location() #12
  %11208 = load i32, ptr %11207, align 4, !tbaa !5
  %11209 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11196, ptr noundef @.str, i32 noundef %11197, ptr noundef @.str.100, ptr noundef @.str.2, i32 noundef 604, ptr noundef %11200, ptr noundef %11203, ptr noundef %11206, i32 noundef %11208) #11
  br label %11227

11210:                                            ; preds = %11188, %11181
  %11211 = load i32, ptr %319, align 4, !tbaa !5
  %11212 = call ptr @__errno_location() #12
  store i32 %11211, ptr %11212, align 4, !tbaa !5
  %11213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11214 = load i32, ptr @test_count, align 4, !tbaa !5
  %11215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11216 = load i32, ptr %11215, align 4, !tbaa !5
  %11217 = call ptr @s2n_strerror(i32 noundef %11216, ptr noundef @.str.3)
  %11218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11219 = load i32, ptr %11218, align 4, !tbaa !5
  %11220 = call ptr @s2n_strerror_debug(i32 noundef %11219, ptr noundef @.str.3)
  %11221 = call ptr @__errno_location() #12
  %11222 = load i32, ptr %11221, align 4, !tbaa !5
  %11223 = call ptr @strerror(i32 noundef %11222) #11
  %11224 = call ptr @__errno_location() #12
  %11225 = load i32, ptr %11224, align 4, !tbaa !5
  %11226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11213, ptr noundef @.str.4, i32 noundef %11214, ptr noundef @.str.100, ptr noundef @.str.2, i32 noundef 604, ptr noundef %11217, ptr noundef %11220, ptr noundef %11223, i32 noundef %11225) #11
  br label %11227

11227:                                            ; preds = %11210, %11193
  call void @llvm.lifetime.end.p0(i64 4, ptr %319) #11
  br label %11228

11228:                                            ; preds = %11227
  br label %11229

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

11230:                                            ; No predecessors!
  br label %11231

11231:                                            ; preds = %11230
  br label %11232

11232:                                            ; preds = %11231, %11172
  br label %11233

11233:                                            ; preds = %11232
  br label %11234

11234:                                            ; preds = %11233
  %11235 = load ptr, ptr %317, align 8, !tbaa !9
  call void @s2n_ktls_configure_connection(ptr noundef %11235, i32 noundef 1)
  call void @llvm.lifetime.start.p0(i64 192, ptr %320) #11
  call void @llvm.memset.p0.i64(ptr align 8 %320, i8 0, i64 192, i1 false)
  br label %11236

11236:                                            ; preds = %11234
  %11237 = load i32, ptr @test_count, align 4, !tbaa !5
  %11238 = add nsw i32 %11237, 1
  store i32 %11238, ptr @test_count, align 4, !tbaa !5
  %11239 = load ptr, ptr %317, align 8, !tbaa !9
  %11240 = load ptr, ptr %317, align 8, !tbaa !9
  %11241 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef %11239, ptr noundef %11240, ptr noundef %320)
  %11242 = getelementptr inbounds %struct.s2n_result, ptr %321, i32 0, i32 0
  store i32 %11241, ptr %11242, align 4
  %11243 = getelementptr inbounds %struct.s2n_result, ptr %321, i32 0, i32 0
  %11244 = load i32, ptr %11243, align 4
  %11245 = call zeroext i1 @s2n_result_is_ok(i32 %11244)
  br i1 %11245, label %11299, label %11246

11246:                                            ; preds = %11236
  br label %11247

11247:                                            ; preds = %11246
  br label %11248

11248:                                            ; preds = %11247
  call void @llvm.lifetime.start.p0(i64 4, ptr %322) #11
  %11249 = call ptr @__errno_location() #12
  %11250 = load i32, ptr %11249, align 4, !tbaa !5
  store i32 %11250, ptr %322, align 4, !tbaa !5
  %11251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11252 = call i32 @s2n_print_stacktrace(ptr noundef %11251)
  %11253 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11254 = trunc i8 %11253 to i1
  br i1 %11254, label %11255, label %11277

11255:                                            ; preds = %11248
  %11256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11257 = call i32 @fileno(ptr noundef %11256) #11
  %11258 = call i32 @isatty(i32 noundef %11257) #11
  %11259 = icmp ne i32 %11258, 0
  br i1 %11259, label %11260, label %11277

11260:                                            ; preds = %11255
  %11261 = load i32, ptr %322, align 4, !tbaa !5
  %11262 = call ptr @__errno_location() #12
  store i32 %11261, ptr %11262, align 4, !tbaa !5
  %11263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11264 = load i32, ptr @test_count, align 4, !tbaa !5
  %11265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11266 = load i32, ptr %11265, align 4, !tbaa !5
  %11267 = call ptr @s2n_strerror(i32 noundef %11266, ptr noundef @.str.3)
  %11268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11269 = load i32, ptr %11268, align 4, !tbaa !5
  %11270 = call ptr @s2n_strerror_debug(i32 noundef %11269, ptr noundef @.str.3)
  %11271 = call ptr @__errno_location() #12
  %11272 = load i32, ptr %11271, align 4, !tbaa !5
  %11273 = call ptr @strerror(i32 noundef %11272) #11
  %11274 = call ptr @__errno_location() #12
  %11275 = load i32, ptr %11274, align 4, !tbaa !5
  %11276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11263, ptr noundef @.str, i32 noundef %11264, ptr noundef @.str.71, ptr noundef @.str.2, i32 noundef 609, ptr noundef %11267, ptr noundef %11270, ptr noundef %11273, i32 noundef %11275) #11
  br label %11294

11277:                                            ; preds = %11255, %11248
  %11278 = load i32, ptr %322, align 4, !tbaa !5
  %11279 = call ptr @__errno_location() #12
  store i32 %11278, ptr %11279, align 4, !tbaa !5
  %11280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11281 = load i32, ptr @test_count, align 4, !tbaa !5
  %11282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11283 = load i32, ptr %11282, align 4, !tbaa !5
  %11284 = call ptr @s2n_strerror(i32 noundef %11283, ptr noundef @.str.3)
  %11285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11286 = load i32, ptr %11285, align 4, !tbaa !5
  %11287 = call ptr @s2n_strerror_debug(i32 noundef %11286, ptr noundef @.str.3)
  %11288 = call ptr @__errno_location() #12
  %11289 = load i32, ptr %11288, align 4, !tbaa !5
  %11290 = call ptr @strerror(i32 noundef %11289) #11
  %11291 = call ptr @__errno_location() #12
  %11292 = load i32, ptr %11291, align 4, !tbaa !5
  %11293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11280, ptr noundef @.str.4, i32 noundef %11281, ptr noundef @.str.71, ptr noundef @.str.2, i32 noundef 609, ptr noundef %11284, ptr noundef %11287, ptr noundef %11290, i32 noundef %11292) #11
  br label %11294

11294:                                            ; preds = %11277, %11260
  call void @llvm.lifetime.end.p0(i64 4, ptr %322) #11
  br label %11295

11295:                                            ; preds = %11294
  br label %11296

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

11297:                                            ; No predecessors!
  br label %11298

11298:                                            ; preds = %11297
  br label %11299

11299:                                            ; preds = %11298, %11236
  br label %11300

11300:                                            ; preds = %11299
  br label %11301

11301:                                            ; preds = %11300
  call void @llvm.lifetime.start.p0(i64 8, ptr %323) #11
  %11302 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer_pair, ptr %320, i32 0, i32 0
  store ptr %11302, ptr %323, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %324) #11
  call void @llvm.memset.p0.i64(ptr align 8 %324, i8 0, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %325) #11
  store i64 0, ptr %325, align 8, !tbaa !15
  br label %11303

11303:                                            ; preds = %11439, %11301
  %11304 = load i64, ptr %325, align 8, !tbaa !15
  %11305 = icmp ult i64 %11304, 100
  br i1 %11305, label %11307, label %11306

11306:                                            ; preds = %11303
  store i32 1098, ptr %135, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %325) #11
  br label %11442

11307:                                            ; preds = %11303
  %11308 = getelementptr inbounds [100 x i8], ptr %169, i64 0, i64 0
  %11309 = load i64, ptr %325, align 8, !tbaa !15
  %11310 = getelementptr inbounds i8, ptr %11308, i64 %11309
  %11311 = getelementptr inbounds %struct.iovec, ptr %324, i32 0, i32 0
  store ptr %11310, ptr %11311, align 8, !tbaa !55
  %11312 = getelementptr inbounds %struct.iovec, ptr %324, i32 0, i32 1
  store i64 1, ptr %11312, align 8, !tbaa !57
  call void @llvm.lifetime.start.p0(i64 8, ptr %326) #11
  store i64 0, ptr %326, align 8, !tbaa !15
  br label %11313

11313:                                            ; preds = %11307
  %11314 = load i32, ptr @test_count, align 4, !tbaa !5
  %11315 = add nsw i32 %11314, 1
  store i32 %11315, ptr @test_count, align 4, !tbaa !5
  %11316 = load ptr, ptr %323, align 8, !tbaa !9
  %11317 = call i32 @s2n_ktls_sendmsg(ptr noundef %11316, i8 noundef zeroext 23, ptr noundef %324, i64 noundef 1, ptr noundef %175, ptr noundef %326)
  %11318 = getelementptr inbounds %struct.s2n_result, ptr %327, i32 0, i32 0
  store i32 %11317, ptr %11318, align 4
  %11319 = getelementptr inbounds %struct.s2n_result, ptr %327, i32 0, i32 0
  %11320 = load i32, ptr %11319, align 4
  %11321 = call zeroext i1 @s2n_result_is_ok(i32 %11320)
  br i1 %11321, label %11375, label %11322

11322:                                            ; preds = %11313
  br label %11323

11323:                                            ; preds = %11322
  br label %11324

11324:                                            ; preds = %11323
  call void @llvm.lifetime.start.p0(i64 4, ptr %328) #11
  %11325 = call ptr @__errno_location() #12
  %11326 = load i32, ptr %11325, align 4, !tbaa !5
  store i32 %11326, ptr %328, align 4, !tbaa !5
  %11327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11328 = call i32 @s2n_print_stacktrace(ptr noundef %11327)
  %11329 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11330 = trunc i8 %11329 to i1
  br i1 %11330, label %11331, label %11353

11331:                                            ; preds = %11324
  %11332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11333 = call i32 @fileno(ptr noundef %11332) #11
  %11334 = call i32 @isatty(i32 noundef %11333) #11
  %11335 = icmp ne i32 %11334, 0
  br i1 %11335, label %11336, label %11353

11336:                                            ; preds = %11331
  %11337 = load i32, ptr %328, align 4, !tbaa !5
  %11338 = call ptr @__errno_location() #12
  store i32 %11337, ptr %11338, align 4, !tbaa !5
  %11339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11340 = load i32, ptr @test_count, align 4, !tbaa !5
  %11341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11342 = load i32, ptr %11341, align 4, !tbaa !5
  %11343 = call ptr @s2n_strerror(i32 noundef %11342, ptr noundef @.str.3)
  %11344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11345 = load i32, ptr %11344, align 4, !tbaa !5
  %11346 = call ptr @s2n_strerror_debug(i32 noundef %11345, ptr noundef @.str.3)
  %11347 = call ptr @__errno_location() #12
  %11348 = load i32, ptr %11347, align 4, !tbaa !5
  %11349 = call ptr @strerror(i32 noundef %11348) #11
  %11350 = call ptr @__errno_location() #12
  %11351 = load i32, ptr %11350, align 4, !tbaa !5
  %11352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11339, ptr noundef @.str, i32 noundef %11340, ptr noundef @.str.101, ptr noundef @.str.2, i32 noundef 620, ptr noundef %11343, ptr noundef %11346, ptr noundef %11349, i32 noundef %11351) #11
  br label %11370

11353:                                            ; preds = %11331, %11324
  %11354 = load i32, ptr %328, align 4, !tbaa !5
  %11355 = call ptr @__errno_location() #12
  store i32 %11354, ptr %11355, align 4, !tbaa !5
  %11356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11357 = load i32, ptr @test_count, align 4, !tbaa !5
  %11358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11359 = load i32, ptr %11358, align 4, !tbaa !5
  %11360 = call ptr @s2n_strerror(i32 noundef %11359, ptr noundef @.str.3)
  %11361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11362 = load i32, ptr %11361, align 4, !tbaa !5
  %11363 = call ptr @s2n_strerror_debug(i32 noundef %11362, ptr noundef @.str.3)
  %11364 = call ptr @__errno_location() #12
  %11365 = load i32, ptr %11364, align 4, !tbaa !5
  %11366 = call ptr @strerror(i32 noundef %11365) #11
  %11367 = call ptr @__errno_location() #12
  %11368 = load i32, ptr %11367, align 4, !tbaa !5
  %11369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11356, ptr noundef @.str.4, i32 noundef %11357, ptr noundef @.str.101, ptr noundef @.str.2, i32 noundef 620, ptr noundef %11360, ptr noundef %11363, ptr noundef %11366, i32 noundef %11368) #11
  br label %11370

11370:                                            ; preds = %11353, %11336
  call void @llvm.lifetime.end.p0(i64 4, ptr %328) #11
  br label %11371

11371:                                            ; preds = %11370
  br label %11372

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

11373:                                            ; No predecessors!
  br label %11374

11374:                                            ; preds = %11373
  br label %11375

11375:                                            ; preds = %11374, %11313
  br label %11376

11376:                                            ; preds = %11375
  br label %11377

11377:                                            ; preds = %11376
  br label %11378

11378:                                            ; preds = %11377
  %11379 = load i32, ptr @test_count, align 4, !tbaa !5
  %11380 = add nsw i32 %11379, 1
  store i32 %11380, ptr @test_count, align 4, !tbaa !5
  %11381 = load i64, ptr %326, align 8, !tbaa !15
  %11382 = icmp eq i64 %11381, 1
  br i1 %11382, label %11436, label %11383

11383:                                            ; preds = %11378
  br label %11384

11384:                                            ; preds = %11383
  br label %11385

11385:                                            ; preds = %11384
  call void @llvm.lifetime.start.p0(i64 4, ptr %329) #11
  %11386 = call ptr @__errno_location() #12
  %11387 = load i32, ptr %11386, align 4, !tbaa !5
  store i32 %11387, ptr %329, 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) #11
  %11395 = call i32 @isatty(i32 noundef %11394) #11
  %11396 = icmp ne i32 %11395, 0
  br i1 %11396, label %11397, label %11414

11397:                                            ; preds = %11392
  %11398 = load i32, ptr %329, align 4, !tbaa !5
  %11399 = call ptr @__errno_location() #12
  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() #12
  %11409 = load i32, ptr %11408, align 4, !tbaa !5
  %11410 = call ptr @strerror(i32 noundef %11409) #11
  %11411 = call ptr @__errno_location() #12
  %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.102, ptr noundef @.str.2, i32 noundef 621, ptr noundef %11404, ptr noundef %11407, ptr noundef %11410, i32 noundef %11412) #11
  br label %11431

11414:                                            ; preds = %11392, %11385
  %11415 = load i32, ptr %329, align 4, !tbaa !5
  %11416 = call ptr @__errno_location() #12
  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() #12
  %11426 = load i32, ptr %11425, align 4, !tbaa !5
  %11427 = call ptr @strerror(i32 noundef %11426) #11
  %11428 = call ptr @__errno_location() #12
  %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.102, ptr noundef @.str.2, i32 noundef 621, ptr noundef %11421, ptr noundef %11424, ptr noundef %11427, i32 noundef %11429) #11
  br label %11431

11431:                                            ; preds = %11414, %11397
  call void @llvm.lifetime.end.p0(i64 4, ptr %329) #11
  br label %11432

11432:                                            ; preds = %11431
  br label %11433

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

11434:                                            ; No predecessors!
  br label %11435

11435:                                            ; preds = %11434
  br label %11436

11436:                                            ; preds = %11435, %11378
  br label %11437

11437:                                            ; preds = %11436
  br label %11438

11438:                                            ; preds = %11437
  call void @llvm.lifetime.end.p0(i64 8, ptr %326) #11
  br label %11439

11439:                                            ; preds = %11438
  %11440 = load i64, ptr %325, align 8, !tbaa !15
  %11441 = add i64 %11440, 1
  store i64 %11441, ptr %325, align 8, !tbaa !15
  br label %11303, !llvm.loop !61

11442:                                            ; preds = %11306
  call void @llvm.lifetime.start.p0(i64 100, ptr %330) #11
  call void @llvm.memset.p0.i64(ptr align 16 %330, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %331) #11
  %11443 = load ptr, ptr %317, align 8, !tbaa !9
  %11444 = getelementptr inbounds [100 x i8], ptr %330, i64 0, i64 0
  %11445 = call i64 @s2n_recv(ptr noundef %11443, ptr noundef %11444, i64 noundef 100, ptr noundef %175)
  %11446 = trunc i64 %11445 to i32
  store i32 %11446, ptr %331, align 4, !tbaa !5
  br label %11447

11447:                                            ; preds = %11442
  %11448 = load i32, ptr @test_count, align 4, !tbaa !5
  %11449 = add nsw i32 %11448, 1
  store i32 %11449, ptr @test_count, align 4, !tbaa !5
  %11450 = load i32, ptr %331, align 4, !tbaa !5
  %11451 = sext i32 %11450 to i64
  %11452 = icmp eq i64 %11451, 100
  br i1 %11452, label %11506, label %11453

11453:                                            ; preds = %11447
  br label %11454

11454:                                            ; preds = %11453
  br label %11455

11455:                                            ; preds = %11454
  call void @llvm.lifetime.start.p0(i64 4, ptr %332) #11
  %11456 = call ptr @__errno_location() #12
  %11457 = load i32, ptr %11456, align 4, !tbaa !5
  store i32 %11457, ptr %332, align 4, !tbaa !5
  %11458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11459 = call i32 @s2n_print_stacktrace(ptr noundef %11458)
  %11460 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11461 = trunc i8 %11460 to i1
  br i1 %11461, label %11462, label %11484

11462:                                            ; preds = %11455
  %11463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11464 = call i32 @fileno(ptr noundef %11463) #11
  %11465 = call i32 @isatty(i32 noundef %11464) #11
  %11466 = icmp ne i32 %11465, 0
  br i1 %11466, label %11467, label %11484

11467:                                            ; preds = %11462
  %11468 = load i32, ptr %332, align 4, !tbaa !5
  %11469 = call ptr @__errno_location() #12
  store i32 %11468, ptr %11469, align 4, !tbaa !5
  %11470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11471 = load i32, ptr @test_count, align 4, !tbaa !5
  %11472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11473 = load i32, ptr %11472, align 4, !tbaa !5
  %11474 = call ptr @s2n_strerror(i32 noundef %11473, ptr noundef @.str.3)
  %11475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11476 = load i32, ptr %11475, align 4, !tbaa !5
  %11477 = call ptr @s2n_strerror_debug(i32 noundef %11476, ptr noundef @.str.3)
  %11478 = call ptr @__errno_location() #12
  %11479 = load i32, ptr %11478, align 4, !tbaa !5
  %11480 = call ptr @strerror(i32 noundef %11479) #11
  %11481 = call ptr @__errno_location() #12
  %11482 = load i32, ptr %11481, align 4, !tbaa !5
  %11483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11470, ptr noundef @.str, i32 noundef %11471, ptr noundef @.str.96, ptr noundef @.str.2, i32 noundef 627, ptr noundef %11474, ptr noundef %11477, ptr noundef %11480, i32 noundef %11482) #11
  br label %11501

11484:                                            ; preds = %11462, %11455
  %11485 = load i32, ptr %332, align 4, !tbaa !5
  %11486 = call ptr @__errno_location() #12
  store i32 %11485, ptr %11486, align 4, !tbaa !5
  %11487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11488 = load i32, ptr @test_count, align 4, !tbaa !5
  %11489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11490 = load i32, ptr %11489, align 4, !tbaa !5
  %11491 = call ptr @s2n_strerror(i32 noundef %11490, ptr noundef @.str.3)
  %11492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11493 = load i32, ptr %11492, align 4, !tbaa !5
  %11494 = call ptr @s2n_strerror_debug(i32 noundef %11493, ptr noundef @.str.3)
  %11495 = call ptr @__errno_location() #12
  %11496 = load i32, ptr %11495, align 4, !tbaa !5
  %11497 = call ptr @strerror(i32 noundef %11496) #11
  %11498 = call ptr @__errno_location() #12
  %11499 = load i32, ptr %11498, align 4, !tbaa !5
  %11500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11487, ptr noundef @.str.4, i32 noundef %11488, ptr noundef @.str.96, ptr noundef @.str.2, i32 noundef 627, ptr noundef %11491, ptr noundef %11494, ptr noundef %11497, i32 noundef %11499) #11
  br label %11501

11501:                                            ; preds = %11484, %11467
  call void @llvm.lifetime.end.p0(i64 4, ptr %332) #11
  br label %11502

11502:                                            ; preds = %11501
  br label %11503

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

11504:                                            ; No predecessors!
  br label %11505

11505:                                            ; preds = %11504
  br label %11506

11506:                                            ; preds = %11505, %11447
  br label %11507

11507:                                            ; preds = %11506
  br label %11508

11508:                                            ; preds = %11507
  br label %11509

11509:                                            ; preds = %11508
  %11510 = load i32, ptr @test_count, align 4, !tbaa !5
  %11511 = add nsw i32 %11510, 1
  store i32 %11511, ptr @test_count, align 4, !tbaa !5
  %11512 = load i32, ptr %175, align 4, !tbaa !5
  %11513 = icmp eq i32 %11512, 0
  br i1 %11513, label %11567, label %11514

11514:                                            ; preds = %11509
  br label %11515

11515:                                            ; preds = %11514
  br label %11516

11516:                                            ; preds = %11515
  call void @llvm.lifetime.start.p0(i64 4, ptr %333) #11
  %11517 = call ptr @__errno_location() #12
  %11518 = load i32, ptr %11517, align 4, !tbaa !5
  store i32 %11518, ptr %333, align 4, !tbaa !5
  %11519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11520 = call i32 @s2n_print_stacktrace(ptr noundef %11519)
  %11521 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11522 = trunc i8 %11521 to i1
  br i1 %11522, label %11523, label %11545

11523:                                            ; preds = %11516
  %11524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11525 = call i32 @fileno(ptr noundef %11524) #11
  %11526 = call i32 @isatty(i32 noundef %11525) #11
  %11527 = icmp ne i32 %11526, 0
  br i1 %11527, label %11528, label %11545

11528:                                            ; preds = %11523
  %11529 = load i32, ptr %333, align 4, !tbaa !5
  %11530 = call ptr @__errno_location() #12
  store i32 %11529, ptr %11530, align 4, !tbaa !5
  %11531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11532 = load i32, ptr @test_count, align 4, !tbaa !5
  %11533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11534 = load i32, ptr %11533, align 4, !tbaa !5
  %11535 = call ptr @s2n_strerror(i32 noundef %11534, ptr noundef @.str.3)
  %11536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11537 = load i32, ptr %11536, align 4, !tbaa !5
  %11538 = call ptr @s2n_strerror_debug(i32 noundef %11537, ptr noundef @.str.3)
  %11539 = call ptr @__errno_location() #12
  %11540 = load i32, ptr %11539, align 4, !tbaa !5
  %11541 = call ptr @strerror(i32 noundef %11540) #11
  %11542 = call ptr @__errno_location() #12
  %11543 = load i32, ptr %11542, align 4, !tbaa !5
  %11544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11531, ptr noundef @.str, i32 noundef %11532, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 628, ptr noundef %11535, ptr noundef %11538, ptr noundef %11541, i32 noundef %11543) #11
  br label %11562

11545:                                            ; preds = %11523, %11516
  %11546 = load i32, ptr %333, align 4, !tbaa !5
  %11547 = call ptr @__errno_location() #12
  store i32 %11546, ptr %11547, align 4, !tbaa !5
  %11548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11549 = load i32, ptr @test_count, align 4, !tbaa !5
  %11550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11551 = load i32, ptr %11550, align 4, !tbaa !5
  %11552 = call ptr @s2n_strerror(i32 noundef %11551, ptr noundef @.str.3)
  %11553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11554 = load i32, ptr %11553, align 4, !tbaa !5
  %11555 = call ptr @s2n_strerror_debug(i32 noundef %11554, ptr noundef @.str.3)
  %11556 = call ptr @__errno_location() #12
  %11557 = load i32, ptr %11556, align 4, !tbaa !5
  %11558 = call ptr @strerror(i32 noundef %11557) #11
  %11559 = call ptr @__errno_location() #12
  %11560 = load i32, ptr %11559, align 4, !tbaa !5
  %11561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11548, ptr noundef @.str.4, i32 noundef %11549, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 628, ptr noundef %11552, ptr noundef %11555, ptr noundef %11558, i32 noundef %11560) #11
  br label %11562

11562:                                            ; preds = %11545, %11528
  call void @llvm.lifetime.end.p0(i64 4, ptr %333) #11
  br label %11563

11563:                                            ; preds = %11562
  br label %11564

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

11565:                                            ; No predecessors!
  br label %11566

11566:                                            ; preds = %11565
  br label %11567

11567:                                            ; preds = %11566, %11509
  br label %11568

11568:                                            ; preds = %11567
  br label %11569

11569:                                            ; preds = %11568
  br label %11570

11570:                                            ; preds = %11569
  br label %11571

11571:                                            ; preds = %11570
  %11572 = load i32, ptr @test_count, align 4, !tbaa !5
  %11573 = add nsw i32 %11572, 1
  store i32 %11573, ptr @test_count, align 4, !tbaa !5
  %11574 = getelementptr inbounds [100 x i8], ptr %330, i64 0, i64 0
  %11575 = getelementptr inbounds [100 x i8], ptr %169, i64 0, i64 0
  %11576 = call i32 @memcmp(ptr noundef %11574, ptr noundef %11575, i64 noundef 100) #14
  %11577 = icmp eq i32 %11576, 0
  br i1 %11577, label %11631, label %11578

11578:                                            ; preds = %11571
  br label %11579

11579:                                            ; preds = %11578
  br label %11580

11580:                                            ; preds = %11579
  call void @llvm.lifetime.start.p0(i64 4, ptr %334) #11
  %11581 = call ptr @__errno_location() #12
  %11582 = load i32, ptr %11581, align 4, !tbaa !5
  store i32 %11582, ptr %334, align 4, !tbaa !5
  %11583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11584 = call i32 @s2n_print_stacktrace(ptr noundef %11583)
  %11585 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11586 = trunc i8 %11585 to i1
  br i1 %11586, label %11587, label %11609

11587:                                            ; preds = %11580
  %11588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11589 = call i32 @fileno(ptr noundef %11588) #11
  %11590 = call i32 @isatty(i32 noundef %11589) #11
  %11591 = icmp ne i32 %11590, 0
  br i1 %11591, label %11592, label %11609

11592:                                            ; preds = %11587
  %11593 = load i32, ptr %334, align 4, !tbaa !5
  %11594 = call ptr @__errno_location() #12
  store i32 %11593, ptr %11594, align 4, !tbaa !5
  %11595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11596 = load i32, ptr @test_count, align 4, !tbaa !5
  %11597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11598 = load i32, ptr %11597, align 4, !tbaa !5
  %11599 = call ptr @s2n_strerror(i32 noundef %11598, ptr noundef @.str.3)
  %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_debug(i32 noundef %11601, ptr noundef @.str.3)
  %11603 = call ptr @__errno_location() #12
  %11604 = load i32, ptr %11603, align 4, !tbaa !5
  %11605 = call ptr @strerror(i32 noundef %11604) #11
  %11606 = call ptr @__errno_location() #12
  %11607 = load i32, ptr %11606, align 4, !tbaa !5
  %11608 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11595, ptr noundef @.str, i32 noundef %11596, ptr noundef @.str.82, ptr noundef @.str.2, i32 noundef 629, ptr noundef %11599, ptr noundef %11602, ptr noundef %11605, i32 noundef %11607) #11
  br label %11626

11609:                                            ; preds = %11587, %11580
  %11610 = load i32, ptr %334, align 4, !tbaa !5
  %11611 = call ptr @__errno_location() #12
  store i32 %11610, ptr %11611, align 4, !tbaa !5
  %11612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11613 = load i32, ptr @test_count, align 4, !tbaa !5
  %11614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11615 = load i32, ptr %11614, align 4, !tbaa !5
  %11616 = call ptr @s2n_strerror(i32 noundef %11615, ptr noundef @.str.3)
  %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_debug(i32 noundef %11618, ptr noundef @.str.3)
  %11620 = call ptr @__errno_location() #12
  %11621 = load i32, ptr %11620, align 4, !tbaa !5
  %11622 = call ptr @strerror(i32 noundef %11621) #11
  %11623 = call ptr @__errno_location() #12
  %11624 = load i32, ptr %11623, align 4, !tbaa !5
  %11625 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11612, ptr noundef @.str.4, i32 noundef %11613, ptr noundef @.str.82, ptr noundef @.str.2, i32 noundef 629, ptr noundef %11616, ptr noundef %11619, ptr noundef %11622, i32 noundef %11624) #11
  br label %11626

11626:                                            ; preds = %11609, %11592
  call void @llvm.lifetime.end.p0(i64 4, ptr %334) #11
  br label %11627

11627:                                            ; preds = %11626
  br label %11628

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

11629:                                            ; No predecessors!
  br label %11630

11630:                                            ; preds = %11629
  br label %11631

11631:                                            ; preds = %11630, %11571
  br label %11632

11632:                                            ; preds = %11631
  br label %11633

11633:                                            ; preds = %11632
  br label %11634

11634:                                            ; preds = %11633
  br label %11635

11635:                                            ; preds = %11634
  call void @llvm.lifetime.end.p0(i64 4, ptr %331) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %330) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %324) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %323) #11
  %11636 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef %320)
  %11637 = getelementptr inbounds %struct.s2n_result, ptr %335, i32 0, i32 0
  store i32 %11636, ptr %11637, align 4
  call void @llvm.lifetime.end.p0(i64 192, ptr %320) #11
  %11638 = call i32 @s2n_connection_ptr_free(ptr noundef %317)
  %11639 = getelementptr inbounds %struct.s2n_result, ptr %336, i32 0, i32 0
  store i32 %11638, ptr %11639, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %317) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %337) #11
  %11640 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %11640, ptr %337, align 8, !tbaa !9
  br label %11641

11641:                                            ; preds = %11635
  %11642 = load i32, ptr @test_count, align 4, !tbaa !5
  %11643 = add nsw i32 %11642, 1
  store i32 %11643, ptr @test_count, align 4, !tbaa !5
  %11644 = load ptr, ptr %337, align 8, !tbaa !9
  %11645 = icmp eq ptr %11644, null
  br i1 %11645, label %11646, label %11699

11646:                                            ; preds = %11641
  br label %11647

11647:                                            ; preds = %11646
  br label %11648

11648:                                            ; preds = %11647
  call void @llvm.lifetime.start.p0(i64 4, ptr %338) #11
  %11649 = call ptr @__errno_location() #12
  %11650 = load i32, ptr %11649, align 4, !tbaa !5
  store i32 %11650, ptr %338, align 4, !tbaa !5
  %11651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11652 = call i32 @s2n_print_stacktrace(ptr noundef %11651)
  %11653 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11654 = trunc i8 %11653 to i1
  br i1 %11654, label %11655, label %11677

11655:                                            ; preds = %11648
  %11656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11657 = call i32 @fileno(ptr noundef %11656) #11
  %11658 = call i32 @isatty(i32 noundef %11657) #11
  %11659 = icmp ne i32 %11658, 0
  br i1 %11659, label %11660, label %11677

11660:                                            ; preds = %11655
  %11661 = load i32, ptr %338, align 4, !tbaa !5
  %11662 = call ptr @__errno_location() #12
  store i32 %11661, ptr %11662, align 4, !tbaa !5
  %11663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11664 = load i32, ptr @test_count, align 4, !tbaa !5
  %11665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11666 = load i32, ptr %11665, align 4, !tbaa !5
  %11667 = call ptr @s2n_strerror(i32 noundef %11666, ptr noundef @.str.3)
  %11668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11669 = load i32, ptr %11668, align 4, !tbaa !5
  %11670 = call ptr @s2n_strerror_debug(i32 noundef %11669, ptr noundef @.str.3)
  %11671 = call ptr @__errno_location() #12
  %11672 = load i32, ptr %11671, align 4, !tbaa !5
  %11673 = call ptr @strerror(i32 noundef %11672) #11
  %11674 = call ptr @__errno_location() #12
  %11675 = load i32, ptr %11674, align 4, !tbaa !5
  %11676 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11663, ptr noundef @.str, i32 noundef %11664, ptr noundef @.str.70, ptr noundef @.str.2, i32 noundef 636, ptr noundef %11667, ptr noundef %11670, ptr noundef %11673, i32 noundef %11675) #11
  br label %11694

11677:                                            ; preds = %11655, %11648
  %11678 = load i32, ptr %338, align 4, !tbaa !5
  %11679 = call ptr @__errno_location() #12
  store i32 %11678, ptr %11679, align 4, !tbaa !5
  %11680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11681 = load i32, ptr @test_count, align 4, !tbaa !5
  %11682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11683 = load i32, ptr %11682, align 4, !tbaa !5
  %11684 = call ptr @s2n_strerror(i32 noundef %11683, ptr noundef @.str.3)
  %11685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11686 = load i32, ptr %11685, align 4, !tbaa !5
  %11687 = call ptr @s2n_strerror_debug(i32 noundef %11686, ptr noundef @.str.3)
  %11688 = call ptr @__errno_location() #12
  %11689 = load i32, ptr %11688, align 4, !tbaa !5
  %11690 = call ptr @strerror(i32 noundef %11689) #11
  %11691 = call ptr @__errno_location() #12
  %11692 = load i32, ptr %11691, align 4, !tbaa !5
  %11693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11680, ptr noundef @.str.4, i32 noundef %11681, ptr noundef @.str.70, ptr noundef @.str.2, i32 noundef 636, ptr noundef %11684, ptr noundef %11687, ptr noundef %11690, i32 noundef %11692) #11
  br label %11694

11694:                                            ; preds = %11677, %11660
  call void @llvm.lifetime.end.p0(i64 4, ptr %338) #11
  br label %11695

11695:                                            ; preds = %11694
  br label %11696

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

11697:                                            ; No predecessors!
  br label %11698

11698:                                            ; preds = %11697
  br label %11699

11699:                                            ; preds = %11698, %11641
  br label %11700

11700:                                            ; preds = %11699
  br label %11701

11701:                                            ; preds = %11700
  br label %11702

11702:                                            ; preds = %11701
  %11703 = load i32, ptr @test_count, align 4, !tbaa !5
  %11704 = add nsw i32 %11703, 1
  store i32 %11704, ptr @test_count, align 4, !tbaa !5
  %11705 = load ptr, ptr %337, align 8, !tbaa !9
  %11706 = load ptr, ptr %314, align 8, !tbaa !9
  %11707 = call i32 @s2n_connection_set_config(ptr noundef %11705, ptr noundef %11706)
  %11708 = icmp eq i32 %11707, -1
  br i1 %11708, label %11709, label %11762

11709:                                            ; preds = %11702
  br label %11710

11710:                                            ; preds = %11709
  br label %11711

11711:                                            ; preds = %11710
  call void @llvm.lifetime.start.p0(i64 4, ptr %339) #11
  %11712 = call ptr @__errno_location() #12
  %11713 = load i32, ptr %11712, align 4, !tbaa !5
  store i32 %11713, ptr %339, align 4, !tbaa !5
  %11714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11715 = call i32 @s2n_print_stacktrace(ptr noundef %11714)
  %11716 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11717 = trunc i8 %11716 to i1
  br i1 %11717, label %11718, label %11740

11718:                                            ; preds = %11711
  %11719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11720 = call i32 @fileno(ptr noundef %11719) #11
  %11721 = call i32 @isatty(i32 noundef %11720) #11
  %11722 = icmp ne i32 %11721, 0
  br i1 %11722, label %11723, label %11740

11723:                                            ; preds = %11718
  %11724 = load i32, ptr %339, align 4, !tbaa !5
  %11725 = call ptr @__errno_location() #12
  store i32 %11724, ptr %11725, align 4, !tbaa !5
  %11726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11727 = load i32, ptr @test_count, align 4, !tbaa !5
  %11728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11729 = load i32, ptr %11728, align 4, !tbaa !5
  %11730 = call ptr @s2n_strerror(i32 noundef %11729, ptr noundef @.str.3)
  %11731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11732 = load i32, ptr %11731, align 4, !tbaa !5
  %11733 = call ptr @s2n_strerror_debug(i32 noundef %11732, ptr noundef @.str.3)
  %11734 = call ptr @__errno_location() #12
  %11735 = load i32, ptr %11734, align 4, !tbaa !5
  %11736 = call ptr @strerror(i32 noundef %11735) #11
  %11737 = call ptr @__errno_location() #12
  %11738 = load i32, ptr %11737, align 4, !tbaa !5
  %11739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11726, ptr noundef @.str, i32 noundef %11727, ptr noundef @.str.100, ptr noundef @.str.2, i32 noundef 637, ptr noundef %11730, ptr noundef %11733, ptr noundef %11736, i32 noundef %11738) #11
  br label %11757

11740:                                            ; preds = %11718, %11711
  %11741 = load i32, ptr %339, align 4, !tbaa !5
  %11742 = call ptr @__errno_location() #12
  store i32 %11741, ptr %11742, align 4, !tbaa !5
  %11743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11744 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %11746, ptr noundef @.str.3)
  %11748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11749 = load i32, ptr %11748, align 4, !tbaa !5
  %11750 = call ptr @s2n_strerror_debug(i32 noundef %11749, ptr noundef @.str.3)
  %11751 = call ptr @__errno_location() #12
  %11752 = load i32, ptr %11751, align 4, !tbaa !5
  %11753 = call ptr @strerror(i32 noundef %11752) #11
  %11754 = call ptr @__errno_location() #12
  %11755 = load i32, ptr %11754, align 4, !tbaa !5
  %11756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11743, ptr noundef @.str.4, i32 noundef %11744, ptr noundef @.str.100, ptr noundef @.str.2, i32 noundef 637, ptr noundef %11747, ptr noundef %11750, ptr noundef %11753, i32 noundef %11755) #11
  br label %11757

11757:                                            ; preds = %11740, %11723
  call void @llvm.lifetime.end.p0(i64 4, ptr %339) #11
  br label %11758

11758:                                            ; preds = %11757
  br label %11759

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

11760:                                            ; No predecessors!
  br label %11761

11761:                                            ; preds = %11760
  br label %11762

11762:                                            ; preds = %11761, %11702
  br label %11763

11763:                                            ; preds = %11762
  br label %11764

11764:                                            ; preds = %11763
  %11765 = load ptr, ptr %337, align 8, !tbaa !9
  call void @s2n_ktls_configure_connection(ptr noundef %11765, i32 noundef 1)
  call void @llvm.lifetime.start.p0(i64 192, ptr %340) #11
  call void @llvm.memset.p0.i64(ptr align 8 %340, i8 0, i64 192, i1 false)
  br label %11766

11766:                                            ; preds = %11764
  %11767 = load i32, ptr @test_count, align 4, !tbaa !5
  %11768 = add nsw i32 %11767, 1
  store i32 %11768, ptr @test_count, align 4, !tbaa !5
  %11769 = load ptr, ptr %337, align 8, !tbaa !9
  %11770 = load ptr, ptr %337, align 8, !tbaa !9
  %11771 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef %11769, ptr noundef %11770, ptr noundef %340)
  %11772 = getelementptr inbounds %struct.s2n_result, ptr %341, i32 0, i32 0
  store i32 %11771, ptr %11772, align 4
  %11773 = getelementptr inbounds %struct.s2n_result, ptr %341, i32 0, i32 0
  %11774 = load i32, ptr %11773, align 4
  %11775 = call zeroext i1 @s2n_result_is_ok(i32 %11774)
  br i1 %11775, label %11829, label %11776

11776:                                            ; preds = %11766
  br label %11777

11777:                                            ; preds = %11776
  br label %11778

11778:                                            ; preds = %11777
  call void @llvm.lifetime.start.p0(i64 4, ptr %342) #11
  %11779 = call ptr @__errno_location() #12
  %11780 = load i32, ptr %11779, align 4, !tbaa !5
  store i32 %11780, ptr %342, align 4, !tbaa !5
  %11781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11782 = call i32 @s2n_print_stacktrace(ptr noundef %11781)
  %11783 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11784 = trunc i8 %11783 to i1
  br i1 %11784, label %11785, label %11807

11785:                                            ; preds = %11778
  %11786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11787 = call i32 @fileno(ptr noundef %11786) #11
  %11788 = call i32 @isatty(i32 noundef %11787) #11
  %11789 = icmp ne i32 %11788, 0
  br i1 %11789, label %11790, label %11807

11790:                                            ; preds = %11785
  %11791 = load i32, ptr %342, align 4, !tbaa !5
  %11792 = call ptr @__errno_location() #12
  store i32 %11791, ptr %11792, align 4, !tbaa !5
  %11793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11794 = load i32, ptr @test_count, align 4, !tbaa !5
  %11795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11796 = load i32, ptr %11795, align 4, !tbaa !5
  %11797 = call ptr @s2n_strerror(i32 noundef %11796, ptr noundef @.str.3)
  %11798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11799 = load i32, ptr %11798, align 4, !tbaa !5
  %11800 = call ptr @s2n_strerror_debug(i32 noundef %11799, ptr noundef @.str.3)
  %11801 = call ptr @__errno_location() #12
  %11802 = load i32, ptr %11801, align 4, !tbaa !5
  %11803 = call ptr @strerror(i32 noundef %11802) #11
  %11804 = call ptr @__errno_location() #12
  %11805 = load i32, ptr %11804, align 4, !tbaa !5
  %11806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11793, ptr noundef @.str, i32 noundef %11794, ptr noundef @.str.71, ptr noundef @.str.2, i32 noundef 642, ptr noundef %11797, ptr noundef %11800, ptr noundef %11803, i32 noundef %11805) #11
  br label %11824

11807:                                            ; preds = %11785, %11778
  %11808 = load i32, ptr %342, align 4, !tbaa !5
  %11809 = call ptr @__errno_location() #12
  store i32 %11808, ptr %11809, align 4, !tbaa !5
  %11810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11811 = load i32, ptr @test_count, align 4, !tbaa !5
  %11812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11813 = load i32, ptr %11812, align 4, !tbaa !5
  %11814 = call ptr @s2n_strerror(i32 noundef %11813, ptr noundef @.str.3)
  %11815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11816 = load i32, ptr %11815, align 4, !tbaa !5
  %11817 = call ptr @s2n_strerror_debug(i32 noundef %11816, ptr noundef @.str.3)
  %11818 = call ptr @__errno_location() #12
  %11819 = load i32, ptr %11818, align 4, !tbaa !5
  %11820 = call ptr @strerror(i32 noundef %11819) #11
  %11821 = call ptr @__errno_location() #12
  %11822 = load i32, ptr %11821, align 4, !tbaa !5
  %11823 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11810, ptr noundef @.str.4, i32 noundef %11811, ptr noundef @.str.71, ptr noundef @.str.2, i32 noundef 642, ptr noundef %11814, ptr noundef %11817, ptr noundef %11820, i32 noundef %11822) #11
  br label %11824

11824:                                            ; preds = %11807, %11790
  call void @llvm.lifetime.end.p0(i64 4, ptr %342) #11
  br label %11825

11825:                                            ; preds = %11824
  br label %11826

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

11827:                                            ; No predecessors!
  br label %11828

11828:                                            ; preds = %11827
  br label %11829

11829:                                            ; preds = %11828, %11766
  br label %11830

11830:                                            ; preds = %11829
  br label %11831

11831:                                            ; preds = %11830
  call void @llvm.lifetime.start.p0(i64 8, ptr %343) #11
  %11832 = getelementptr inbounds %struct.s2n_test_ktls_io_stuffer_pair, ptr %340, i32 0, i32 0
  store ptr %11832, ptr %343, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %344) #11
  store i64 50, ptr %344, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 16, ptr %345) #11
  call void @llvm.memset.p0.i64(ptr align 8 %345, i8 0, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %346) #11
  store i64 0, ptr %346, align 8, !tbaa !15
  br label %11833

11833:                                            ; preds = %11969, %11831
  %11834 = load i64, ptr %346, align 8, !tbaa !15
  %11835 = icmp ult i64 %11834, 50
  br i1 %11835, label %11837, label %11836

11836:                                            ; preds = %11833
  store i32 1151, ptr %135, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %346) #11
  br label %11972

11837:                                            ; preds = %11833
  %11838 = getelementptr inbounds [100 x i8], ptr %169, i64 0, i64 0
  %11839 = load i64, ptr %346, align 8, !tbaa !15
  %11840 = getelementptr inbounds i8, ptr %11838, i64 %11839
  %11841 = getelementptr inbounds %struct.iovec, ptr %345, i32 0, i32 0
  store ptr %11840, ptr %11841, align 8, !tbaa !55
  %11842 = getelementptr inbounds %struct.iovec, ptr %345, i32 0, i32 1
  store i64 1, ptr %11842, align 8, !tbaa !57
  call void @llvm.lifetime.start.p0(i64 8, ptr %347) #11
  store i64 0, ptr %347, align 8, !tbaa !15
  br label %11843

11843:                                            ; preds = %11837
  %11844 = load i32, ptr @test_count, align 4, !tbaa !5
  %11845 = add nsw i32 %11844, 1
  store i32 %11845, ptr @test_count, align 4, !tbaa !5
  %11846 = load ptr, ptr %343, align 8, !tbaa !9
  %11847 = call i32 @s2n_ktls_sendmsg(ptr noundef %11846, i8 noundef zeroext 23, ptr noundef %345, i64 noundef 1, ptr noundef %175, ptr noundef %347)
  %11848 = getelementptr inbounds %struct.s2n_result, ptr %348, i32 0, i32 0
  store i32 %11847, ptr %11848, align 4
  %11849 = getelementptr inbounds %struct.s2n_result, ptr %348, i32 0, i32 0
  %11850 = load i32, ptr %11849, align 4
  %11851 = call zeroext i1 @s2n_result_is_ok(i32 %11850)
  br i1 %11851, label %11905, label %11852

11852:                                            ; preds = %11843
  br label %11853

11853:                                            ; preds = %11852
  br label %11854

11854:                                            ; preds = %11853
  call void @llvm.lifetime.start.p0(i64 4, ptr %349) #11
  %11855 = call ptr @__errno_location() #12
  %11856 = load i32, ptr %11855, align 4, !tbaa !5
  store i32 %11856, ptr %349, align 4, !tbaa !5
  %11857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11858 = call i32 @s2n_print_stacktrace(ptr noundef %11857)
  %11859 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11860 = trunc i8 %11859 to i1
  br i1 %11860, label %11861, label %11883

11861:                                            ; preds = %11854
  %11862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11863 = call i32 @fileno(ptr noundef %11862) #11
  %11864 = call i32 @isatty(i32 noundef %11863) #11
  %11865 = icmp ne i32 %11864, 0
  br i1 %11865, label %11866, label %11883

11866:                                            ; preds = %11861
  %11867 = load i32, ptr %349, align 4, !tbaa !5
  %11868 = call ptr @__errno_location() #12
  store i32 %11867, ptr %11868, align 4, !tbaa !5
  %11869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11870 = load i32, ptr @test_count, align 4, !tbaa !5
  %11871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11872 = load i32, ptr %11871, align 4, !tbaa !5
  %11873 = call ptr @s2n_strerror(i32 noundef %11872, ptr noundef @.str.3)
  %11874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11875 = load i32, ptr %11874, align 4, !tbaa !5
  %11876 = call ptr @s2n_strerror_debug(i32 noundef %11875, ptr noundef @.str.3)
  %11877 = call ptr @__errno_location() #12
  %11878 = load i32, ptr %11877, align 4, !tbaa !5
  %11879 = call ptr @strerror(i32 noundef %11878) #11
  %11880 = call ptr @__errno_location() #12
  %11881 = load i32, ptr %11880, align 4, !tbaa !5
  %11882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11869, ptr noundef @.str, i32 noundef %11870, ptr noundef @.str.101, ptr noundef @.str.2, i32 noundef 655, ptr noundef %11873, ptr noundef %11876, ptr noundef %11879, i32 noundef %11881) #11
  br label %11900

11883:                                            ; preds = %11861, %11854
  %11884 = load i32, ptr %349, align 4, !tbaa !5
  %11885 = call ptr @__errno_location() #12
  store i32 %11884, ptr %11885, align 4, !tbaa !5
  %11886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11887 = load i32, ptr @test_count, align 4, !tbaa !5
  %11888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11889 = load i32, ptr %11888, align 4, !tbaa !5
  %11890 = call ptr @s2n_strerror(i32 noundef %11889, ptr noundef @.str.3)
  %11891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11892 = load i32, ptr %11891, align 4, !tbaa !5
  %11893 = call ptr @s2n_strerror_debug(i32 noundef %11892, ptr noundef @.str.3)
  %11894 = call ptr @__errno_location() #12
  %11895 = load i32, ptr %11894, align 4, !tbaa !5
  %11896 = call ptr @strerror(i32 noundef %11895) #11
  %11897 = call ptr @__errno_location() #12
  %11898 = load i32, ptr %11897, align 4, !tbaa !5
  %11899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11886, ptr noundef @.str.4, i32 noundef %11887, ptr noundef @.str.101, ptr noundef @.str.2, i32 noundef 655, ptr noundef %11890, ptr noundef %11893, ptr noundef %11896, i32 noundef %11898) #11
  br label %11900

11900:                                            ; preds = %11883, %11866
  call void @llvm.lifetime.end.p0(i64 4, ptr %349) #11
  br label %11901

11901:                                            ; preds = %11900
  br label %11902

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

11903:                                            ; No predecessors!
  br label %11904

11904:                                            ; preds = %11903
  br label %11905

11905:                                            ; preds = %11904, %11843
  br label %11906

11906:                                            ; preds = %11905
  br label %11907

11907:                                            ; preds = %11906
  br label %11908

11908:                                            ; preds = %11907
  %11909 = load i32, ptr @test_count, align 4, !tbaa !5
  %11910 = add nsw i32 %11909, 1
  store i32 %11910, ptr @test_count, align 4, !tbaa !5
  %11911 = load i64, ptr %347, align 8, !tbaa !15
  %11912 = icmp eq i64 %11911, 1
  br i1 %11912, label %11966, label %11913

11913:                                            ; preds = %11908
  br label %11914

11914:                                            ; preds = %11913
  br label %11915

11915:                                            ; preds = %11914
  call void @llvm.lifetime.start.p0(i64 4, ptr %350) #11
  %11916 = call ptr @__errno_location() #12
  %11917 = load i32, ptr %11916, align 4, !tbaa !5
  store i32 %11917, ptr %350, align 4, !tbaa !5
  %11918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11919 = call i32 @s2n_print_stacktrace(ptr noundef %11918)
  %11920 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11921 = trunc i8 %11920 to i1
  br i1 %11921, label %11922, label %11944

11922:                                            ; preds = %11915
  %11923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11924 = call i32 @fileno(ptr noundef %11923) #11
  %11925 = call i32 @isatty(i32 noundef %11924) #11
  %11926 = icmp ne i32 %11925, 0
  br i1 %11926, label %11927, label %11944

11927:                                            ; preds = %11922
  %11928 = load i32, ptr %350, align 4, !tbaa !5
  %11929 = call ptr @__errno_location() #12
  store i32 %11928, ptr %11929, align 4, !tbaa !5
  %11930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11931 = load i32, ptr @test_count, align 4, !tbaa !5
  %11932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11933 = load i32, ptr %11932, align 4, !tbaa !5
  %11934 = call ptr @s2n_strerror(i32 noundef %11933, ptr noundef @.str.3)
  %11935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11936 = load i32, ptr %11935, align 4, !tbaa !5
  %11937 = call ptr @s2n_strerror_debug(i32 noundef %11936, ptr noundef @.str.3)
  %11938 = call ptr @__errno_location() #12
  %11939 = load i32, ptr %11938, align 4, !tbaa !5
  %11940 = call ptr @strerror(i32 noundef %11939) #11
  %11941 = call ptr @__errno_location() #12
  %11942 = load i32, ptr %11941, align 4, !tbaa !5
  %11943 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11930, ptr noundef @.str, i32 noundef %11931, ptr noundef @.str.102, ptr noundef @.str.2, i32 noundef 656, ptr noundef %11934, ptr noundef %11937, ptr noundef %11940, i32 noundef %11942) #11
  br label %11961

11944:                                            ; preds = %11922, %11915
  %11945 = load i32, ptr %350, align 4, !tbaa !5
  %11946 = call ptr @__errno_location() #12
  store i32 %11945, ptr %11946, align 4, !tbaa !5
  %11947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11948 = load i32, ptr @test_count, align 4, !tbaa !5
  %11949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11950 = load i32, ptr %11949, align 4, !tbaa !5
  %11951 = call ptr @s2n_strerror(i32 noundef %11950, ptr noundef @.str.3)
  %11952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11953 = load i32, ptr %11952, align 4, !tbaa !5
  %11954 = call ptr @s2n_strerror_debug(i32 noundef %11953, ptr noundef @.str.3)
  %11955 = call ptr @__errno_location() #12
  %11956 = load i32, ptr %11955, align 4, !tbaa !5
  %11957 = call ptr @strerror(i32 noundef %11956) #11
  %11958 = call ptr @__errno_location() #12
  %11959 = load i32, ptr %11958, align 4, !tbaa !5
  %11960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11947, ptr noundef @.str.4, i32 noundef %11948, ptr noundef @.str.102, ptr noundef @.str.2, i32 noundef 656, ptr noundef %11951, ptr noundef %11954, ptr noundef %11957, i32 noundef %11959) #11
  br label %11961

11961:                                            ; preds = %11944, %11927
  call void @llvm.lifetime.end.p0(i64 4, ptr %350) #11
  br label %11962

11962:                                            ; preds = %11961
  br label %11963

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

11964:                                            ; No predecessors!
  br label %11965

11965:                                            ; preds = %11964
  br label %11966

11966:                                            ; preds = %11965, %11908
  br label %11967

11967:                                            ; preds = %11966
  br label %11968

11968:                                            ; preds = %11967
  call void @llvm.lifetime.end.p0(i64 8, ptr %347) #11
  br label %11969

11969:                                            ; preds = %11968
  %11970 = load i64, ptr %346, align 8, !tbaa !15
  %11971 = add i64 %11970, 1
  store i64 %11971, ptr %346, align 8, !tbaa !15
  br label %11833, !llvm.loop !62

11972:                                            ; preds = %11836
  call void @llvm.lifetime.start.p0(i64 100, ptr %351) #11
  call void @llvm.memset.p0.i64(ptr align 16 %351, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %352) #11
  %11973 = load ptr, ptr %337, align 8, !tbaa !9
  %11974 = getelementptr inbounds [100 x i8], ptr %351, i64 0, i64 0
  %11975 = call i64 @s2n_recv(ptr noundef %11973, ptr noundef %11974, i64 noundef 100, ptr noundef %175)
  %11976 = trunc i64 %11975 to i32
  store i32 %11976, ptr %352, align 4, !tbaa !5
  br label %11977

11977:                                            ; preds = %11972
  %11978 = load i32, ptr @test_count, align 4, !tbaa !5
  %11979 = add nsw i32 %11978, 1
  store i32 %11979, ptr @test_count, align 4, !tbaa !5
  %11980 = load i32, ptr %352, align 4, !tbaa !5
  %11981 = sext i32 %11980 to i64
  %11982 = icmp eq i64 %11981, 50
  br i1 %11982, label %12036, label %11983

11983:                                            ; preds = %11977
  br label %11984

11984:                                            ; preds = %11983
  br label %11985

11985:                                            ; preds = %11984
  call void @llvm.lifetime.start.p0(i64 4, ptr %353) #11
  %11986 = call ptr @__errno_location() #12
  %11987 = load i32, ptr %11986, align 4, !tbaa !5
  store i32 %11987, ptr %353, align 4, !tbaa !5
  %11988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11989 = call i32 @s2n_print_stacktrace(ptr noundef %11988)
  %11990 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11991 = trunc i8 %11990 to i1
  br i1 %11991, label %11992, label %12014

11992:                                            ; preds = %11985
  %11993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11994 = call i32 @fileno(ptr noundef %11993) #11
  %11995 = call i32 @isatty(i32 noundef %11994) #11
  %11996 = icmp ne i32 %11995, 0
  br i1 %11996, label %11997, label %12014

11997:                                            ; preds = %11992
  %11998 = load i32, ptr %353, align 4, !tbaa !5
  %11999 = call ptr @__errno_location() #12
  store i32 %11998, ptr %11999, align 4, !tbaa !5
  %12000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12001 = load i32, ptr @test_count, align 4, !tbaa !5
  %12002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12003 = load i32, ptr %12002, align 4, !tbaa !5
  %12004 = call ptr @s2n_strerror(i32 noundef %12003, ptr noundef @.str.3)
  %12005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12006 = load i32, ptr %12005, align 4, !tbaa !5
  %12007 = call ptr @s2n_strerror_debug(i32 noundef %12006, ptr noundef @.str.3)
  %12008 = call ptr @__errno_location() #12
  %12009 = load i32, ptr %12008, align 4, !tbaa !5
  %12010 = call ptr @strerror(i32 noundef %12009) #11
  %12011 = call ptr @__errno_location() #12
  %12012 = load i32, ptr %12011, align 4, !tbaa !5
  %12013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12000, ptr noundef @.str, i32 noundef %12001, ptr noundef @.str.78, ptr noundef @.str.2, i32 noundef 662, ptr noundef %12004, ptr noundef %12007, ptr noundef %12010, i32 noundef %12012) #11
  br label %12031

12014:                                            ; preds = %11992, %11985
  %12015 = load i32, ptr %353, align 4, !tbaa !5
  %12016 = call ptr @__errno_location() #12
  store i32 %12015, ptr %12016, align 4, !tbaa !5
  %12017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12018 = load i32, ptr @test_count, align 4, !tbaa !5
  %12019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12020 = load i32, ptr %12019, align 4, !tbaa !5
  %12021 = call ptr @s2n_strerror(i32 noundef %12020, ptr noundef @.str.3)
  %12022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12023 = load i32, ptr %12022, align 4, !tbaa !5
  %12024 = call ptr @s2n_strerror_debug(i32 noundef %12023, ptr noundef @.str.3)
  %12025 = call ptr @__errno_location() #12
  %12026 = load i32, ptr %12025, align 4, !tbaa !5
  %12027 = call ptr @strerror(i32 noundef %12026) #11
  %12028 = call ptr @__errno_location() #12
  %12029 = load i32, ptr %12028, align 4, !tbaa !5
  %12030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12017, ptr noundef @.str.4, i32 noundef %12018, ptr noundef @.str.78, ptr noundef @.str.2, i32 noundef 662, ptr noundef %12021, ptr noundef %12024, ptr noundef %12027, i32 noundef %12029) #11
  br label %12031

12031:                                            ; preds = %12014, %11997
  call void @llvm.lifetime.end.p0(i64 4, ptr %353) #11
  br label %12032

12032:                                            ; preds = %12031
  br label %12033

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

12034:                                            ; No predecessors!
  br label %12035

12035:                                            ; preds = %12034
  br label %12036

12036:                                            ; preds = %12035, %11977
  br label %12037

12037:                                            ; preds = %12036
  br label %12038

12038:                                            ; preds = %12037
  br label %12039

12039:                                            ; preds = %12038
  %12040 = load i32, ptr @test_count, align 4, !tbaa !5
  %12041 = add nsw i32 %12040, 1
  store i32 %12041, ptr @test_count, align 4, !tbaa !5
  %12042 = load i32, ptr %175, align 4, !tbaa !5
  %12043 = icmp eq i32 %12042, 0
  br i1 %12043, label %12097, label %12044

12044:                                            ; preds = %12039
  br label %12045

12045:                                            ; preds = %12044
  br label %12046

12046:                                            ; preds = %12045
  call void @llvm.lifetime.start.p0(i64 4, ptr %354) #11
  %12047 = call ptr @__errno_location() #12
  %12048 = load i32, ptr %12047, align 4, !tbaa !5
  store i32 %12048, ptr %354, align 4, !tbaa !5
  %12049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12050 = call i32 @s2n_print_stacktrace(ptr noundef %12049)
  %12051 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12052 = trunc i8 %12051 to i1
  br i1 %12052, label %12053, label %12075

12053:                                            ; preds = %12046
  %12054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12055 = call i32 @fileno(ptr noundef %12054) #11
  %12056 = call i32 @isatty(i32 noundef %12055) #11
  %12057 = icmp ne i32 %12056, 0
  br i1 %12057, label %12058, label %12075

12058:                                            ; preds = %12053
  %12059 = load i32, ptr %354, align 4, !tbaa !5
  %12060 = call ptr @__errno_location() #12
  store i32 %12059, ptr %12060, align 4, !tbaa !5
  %12061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12062 = load i32, ptr @test_count, align 4, !tbaa !5
  %12063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12064 = load i32, ptr %12063, align 4, !tbaa !5
  %12065 = call ptr @s2n_strerror(i32 noundef %12064, ptr noundef @.str.3)
  %12066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12067 = load i32, ptr %12066, align 4, !tbaa !5
  %12068 = call ptr @s2n_strerror_debug(i32 noundef %12067, ptr noundef @.str.3)
  %12069 = call ptr @__errno_location() #12
  %12070 = load i32, ptr %12069, align 4, !tbaa !5
  %12071 = call ptr @strerror(i32 noundef %12070) #11
  %12072 = call ptr @__errno_location() #12
  %12073 = load i32, ptr %12072, align 4, !tbaa !5
  %12074 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12061, ptr noundef @.str, i32 noundef %12062, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 663, ptr noundef %12065, ptr noundef %12068, ptr noundef %12071, i32 noundef %12073) #11
  br label %12092

12075:                                            ; preds = %12053, %12046
  %12076 = load i32, ptr %354, align 4, !tbaa !5
  %12077 = call ptr @__errno_location() #12
  store i32 %12076, ptr %12077, align 4, !tbaa !5
  %12078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12079 = load i32, ptr @test_count, align 4, !tbaa !5
  %12080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12081 = load i32, ptr %12080, align 4, !tbaa !5
  %12082 = call ptr @s2n_strerror(i32 noundef %12081, ptr noundef @.str.3)
  %12083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12084 = load i32, ptr %12083, align 4, !tbaa !5
  %12085 = call ptr @s2n_strerror_debug(i32 noundef %12084, ptr noundef @.str.3)
  %12086 = call ptr @__errno_location() #12
  %12087 = load i32, ptr %12086, align 4, !tbaa !5
  %12088 = call ptr @strerror(i32 noundef %12087) #11
  %12089 = call ptr @__errno_location() #12
  %12090 = load i32, ptr %12089, align 4, !tbaa !5
  %12091 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12078, ptr noundef @.str.4, i32 noundef %12079, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 663, ptr noundef %12082, ptr noundef %12085, ptr noundef %12088, i32 noundef %12090) #11
  br label %12092

12092:                                            ; preds = %12075, %12058
  call void @llvm.lifetime.end.p0(i64 4, ptr %354) #11
  br label %12093

12093:                                            ; preds = %12092
  br label %12094

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

12095:                                            ; No predecessors!
  br label %12096

12096:                                            ; preds = %12095
  br label %12097

12097:                                            ; preds = %12096, %12039
  br label %12098

12098:                                            ; preds = %12097
  br label %12099

12099:                                            ; preds = %12098
  br label %12100

12100:                                            ; preds = %12099
  br label %12101

12101:                                            ; preds = %12100
  %12102 = load i32, ptr @test_count, align 4, !tbaa !5
  %12103 = add nsw i32 %12102, 1
  store i32 %12103, ptr @test_count, align 4, !tbaa !5
  %12104 = getelementptr inbounds [100 x i8], ptr %351, i64 0, i64 0
  %12105 = getelementptr inbounds [100 x i8], ptr %169, i64 0, i64 0
  %12106 = call i32 @memcmp(ptr noundef %12104, ptr noundef %12105, i64 noundef 50) #14
  %12107 = icmp eq i32 %12106, 0
  br i1 %12107, label %12161, label %12108

12108:                                            ; preds = %12101
  br label %12109

12109:                                            ; preds = %12108
  br label %12110

12110:                                            ; preds = %12109
  call void @llvm.lifetime.start.p0(i64 4, ptr %355) #11
  %12111 = call ptr @__errno_location() #12
  %12112 = load i32, ptr %12111, align 4, !tbaa !5
  store i32 %12112, ptr %355, align 4, !tbaa !5
  %12113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12114 = call i32 @s2n_print_stacktrace(ptr noundef %12113)
  %12115 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12116 = trunc i8 %12115 to i1
  br i1 %12116, label %12117, label %12139

12117:                                            ; preds = %12110
  %12118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12119 = call i32 @fileno(ptr noundef %12118) #11
  %12120 = call i32 @isatty(i32 noundef %12119) #11
  %12121 = icmp ne i32 %12120, 0
  br i1 %12121, label %12122, label %12139

12122:                                            ; preds = %12117
  %12123 = load i32, ptr %355, align 4, !tbaa !5
  %12124 = call ptr @__errno_location() #12
  store i32 %12123, ptr %12124, align 4, !tbaa !5
  %12125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12126 = load i32, ptr @test_count, align 4, !tbaa !5
  %12127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12128 = load i32, ptr %12127, align 4, !tbaa !5
  %12129 = call ptr @s2n_strerror(i32 noundef %12128, ptr noundef @.str.3)
  %12130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12131 = load i32, ptr %12130, align 4, !tbaa !5
  %12132 = call ptr @s2n_strerror_debug(i32 noundef %12131, ptr noundef @.str.3)
  %12133 = call ptr @__errno_location() #12
  %12134 = load i32, ptr %12133, align 4, !tbaa !5
  %12135 = call ptr @strerror(i32 noundef %12134) #11
  %12136 = call ptr @__errno_location() #12
  %12137 = load i32, ptr %12136, align 4, !tbaa !5
  %12138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12125, ptr noundef @.str, i32 noundef %12126, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 664, ptr noundef %12129, ptr noundef %12132, ptr noundef %12135, i32 noundef %12137) #11
  br label %12156

12139:                                            ; preds = %12117, %12110
  %12140 = load i32, ptr %355, align 4, !tbaa !5
  %12141 = call ptr @__errno_location() #12
  store i32 %12140, ptr %12141, align 4, !tbaa !5
  %12142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12143 = load i32, ptr @test_count, align 4, !tbaa !5
  %12144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12145 = load i32, ptr %12144, align 4, !tbaa !5
  %12146 = call ptr @s2n_strerror(i32 noundef %12145, ptr noundef @.str.3)
  %12147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12148 = load i32, ptr %12147, align 4, !tbaa !5
  %12149 = call ptr @s2n_strerror_debug(i32 noundef %12148, ptr noundef @.str.3)
  %12150 = call ptr @__errno_location() #12
  %12151 = load i32, ptr %12150, align 4, !tbaa !5
  %12152 = call ptr @strerror(i32 noundef %12151) #11
  %12153 = call ptr @__errno_location() #12
  %12154 = load i32, ptr %12153, align 4, !tbaa !5
  %12155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12142, ptr noundef @.str.4, i32 noundef %12143, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 664, ptr noundef %12146, ptr noundef %12149, ptr noundef %12152, i32 noundef %12154) #11
  br label %12156

12156:                                            ; preds = %12139, %12122
  call void @llvm.lifetime.end.p0(i64 4, ptr %355) #11
  br label %12157

12157:                                            ; preds = %12156
  br label %12158

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

12159:                                            ; No predecessors!
  br label %12160

12160:                                            ; preds = %12159
  br label %12161

12161:                                            ; preds = %12160, %12101
  br label %12162

12162:                                            ; preds = %12161
  br label %12163

12163:                                            ; preds = %12162
  br label %12164

12164:                                            ; preds = %12163
  br label %12165

12165:                                            ; preds = %12164
  call void @llvm.lifetime.end.p0(i64 4, ptr %352) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %351) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %345) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %344) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %343) #11
  %12166 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef %340)
  %12167 = getelementptr inbounds %struct.s2n_result, ptr %356, i32 0, i32 0
  store i32 %12166, ptr %12167, align 4
  call void @llvm.lifetime.end.p0(i64 192, ptr %340) #11
  %12168 = call i32 @s2n_connection_ptr_free(ptr noundef %337)
  %12169 = getelementptr inbounds %struct.s2n_result, ptr %357, i32 0, i32 0
  store i32 %12168, ptr %12169, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %337) #11
  %12170 = call i32 @s2n_config_ptr_free(ptr noundef %314)
  %12171 = getelementptr inbounds %struct.s2n_result, ptr %358, i32 0, i32 0
  store i32 %12170, ptr %12171, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %314) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %175) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %174) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %170) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %169) #11
  br label %12172

12172:                                            ; preds = %12165
  br label %12173

12173:                                            ; preds = %12172
  %12174 = call i32 @s2n_cleanup()
  %12175 = icmp eq i32 %12174, -1
  br i1 %12175, label %12176, label %12229

12176:                                            ; preds = %12173
  br label %12177

12177:                                            ; preds = %12176
  br label %12178

12178:                                            ; preds = %12177
  call void @llvm.lifetime.start.p0(i64 4, ptr %359) #11
  %12179 = call ptr @__errno_location() #12
  %12180 = load i32, ptr %12179, align 4, !tbaa !5
  store i32 %12180, ptr %359, align 4, !tbaa !5
  %12181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12182 = call i32 @s2n_print_stacktrace(ptr noundef %12181)
  %12183 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12184 = trunc i8 %12183 to i1
  br i1 %12184, label %12185, label %12207

12185:                                            ; preds = %12178
  %12186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12187 = call i32 @fileno(ptr noundef %12186) #11
  %12188 = call i32 @isatty(i32 noundef %12187) #11
  %12189 = icmp ne i32 %12188, 0
  br i1 %12189, label %12190, label %12207

12190:                                            ; preds = %12185
  %12191 = load i32, ptr %359, align 4, !tbaa !5
  %12192 = call ptr @__errno_location() #12
  store i32 %12191, ptr %12192, align 4, !tbaa !5
  %12193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12194 = load i32, ptr @test_count, align 4, !tbaa !5
  %12195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12196 = load i32, ptr %12195, align 4, !tbaa !5
  %12197 = call ptr @s2n_strerror(i32 noundef %12196, ptr noundef @.str.3)
  %12198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12199 = load i32, ptr %12198, align 4, !tbaa !5
  %12200 = call ptr @s2n_strerror_debug(i32 noundef %12199, ptr noundef @.str.3)
  %12201 = call ptr @__errno_location() #12
  %12202 = load i32, ptr %12201, align 4, !tbaa !5
  %12203 = call ptr @strerror(i32 noundef %12202) #11
  %12204 = call ptr @__errno_location() #12
  %12205 = load i32, ptr %12204, align 4, !tbaa !5
  %12206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12193, ptr noundef @.str, i32 noundef %12194, ptr noundef @.str.103, ptr noundef @.str.2, i32 noundef 669, ptr noundef %12197, ptr noundef %12200, ptr noundef %12203, i32 noundef %12205) #11
  br label %12224

12207:                                            ; preds = %12185, %12178
  %12208 = load i32, ptr %359, align 4, !tbaa !5
  %12209 = call ptr @__errno_location() #12
  store i32 %12208, ptr %12209, align 4, !tbaa !5
  %12210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12211 = load i32, ptr @test_count, align 4, !tbaa !5
  %12212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12213 = load i32, ptr %12212, align 4, !tbaa !5
  %12214 = call ptr @s2n_strerror(i32 noundef %12213, ptr noundef @.str.3)
  %12215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12216 = load i32, ptr %12215, align 4, !tbaa !5
  %12217 = call ptr @s2n_strerror_debug(i32 noundef %12216, ptr noundef @.str.3)
  %12218 = call ptr @__errno_location() #12
  %12219 = load i32, ptr %12218, align 4, !tbaa !5
  %12220 = call ptr @strerror(i32 noundef %12219) #11
  %12221 = call ptr @__errno_location() #12
  %12222 = load i32, ptr %12221, align 4, !tbaa !5
  %12223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12210, ptr noundef @.str.4, i32 noundef %12211, ptr noundef @.str.103, ptr noundef @.str.2, i32 noundef 669, ptr noundef %12214, ptr noundef %12217, ptr noundef %12220, i32 noundef %12222) #11
  br label %12224

12224:                                            ; preds = %12207, %12190
  call void @llvm.lifetime.end.p0(i64 4, ptr %359) #11
  br label %12225

12225:                                            ; preds = %12224
  br label %12226

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

12227:                                            ; No predecessors!
  br label %12228

12228:                                            ; preds = %12227
  br label %12229

12229:                                            ; preds = %12228, %12173
  br label %12230

12230:                                            ; preds = %12229
  br label %12231

12231:                                            ; preds = %12230
  br label %12232

12232:                                            ; preds = %12231
  br label %12233

12233:                                            ; preds = %12232
  %12234 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %12235 = icmp eq i32 %12234, -1
  br i1 %12235, label %12236, label %12289

12236:                                            ; preds = %12233
  br label %12237

12237:                                            ; preds = %12236
  br label %12238

12238:                                            ; preds = %12237
  call void @llvm.lifetime.start.p0(i64 4, ptr %360) #11
  %12239 = call ptr @__errno_location() #12
  %12240 = load i32, ptr %12239, align 4, !tbaa !5
  store i32 %12240, ptr %360, align 4, !tbaa !5
  %12241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12242 = call i32 @s2n_print_stacktrace(ptr noundef %12241)
  %12243 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12244 = trunc i8 %12243 to i1
  br i1 %12244, label %12245, label %12267

12245:                                            ; preds = %12238
  %12246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12247 = call i32 @fileno(ptr noundef %12246) #11
  %12248 = call i32 @isatty(i32 noundef %12247) #11
  %12249 = icmp ne i32 %12248, 0
  br i1 %12249, label %12250, label %12267

12250:                                            ; preds = %12245
  %12251 = load i32, ptr %360, align 4, !tbaa !5
  %12252 = call ptr @__errno_location() #12
  store i32 %12251, ptr %12252, align 4, !tbaa !5
  %12253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12254 = load i32, ptr @test_count, align 4, !tbaa !5
  %12255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12256 = load i32, ptr %12255, align 4, !tbaa !5
  %12257 = call ptr @s2n_strerror(i32 noundef %12256, ptr noundef @.str.3)
  %12258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12259 = load i32, ptr %12258, align 4, !tbaa !5
  %12260 = call ptr @s2n_strerror_debug(i32 noundef %12259, ptr noundef @.str.3)
  %12261 = call ptr @__errno_location() #12
  %12262 = load i32, ptr %12261, align 4, !tbaa !5
  %12263 = call ptr @strerror(i32 noundef %12262) #11
  %12264 = call ptr @__errno_location() #12
  %12265 = load i32, ptr %12264, align 4, !tbaa !5
  %12266 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12253, ptr noundef @.str, i32 noundef %12254, ptr noundef @.str.104, ptr noundef @.str.2, i32 noundef 669, ptr noundef %12257, ptr noundef %12260, ptr noundef %12263, i32 noundef %12265) #11
  br label %12284

12267:                                            ; preds = %12245, %12238
  %12268 = load i32, ptr %360, align 4, !tbaa !5
  %12269 = call ptr @__errno_location() #12
  store i32 %12268, ptr %12269, align 4, !tbaa !5
  %12270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12271 = load i32, ptr @test_count, align 4, !tbaa !5
  %12272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12273 = load i32, ptr %12272, align 4, !tbaa !5
  %12274 = call ptr @s2n_strerror(i32 noundef %12273, ptr noundef @.str.3)
  %12275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12276 = load i32, ptr %12275, align 4, !tbaa !5
  %12277 = call ptr @s2n_strerror_debug(i32 noundef %12276, ptr noundef @.str.3)
  %12278 = call ptr @__errno_location() #12
  %12279 = load i32, ptr %12278, align 4, !tbaa !5
  %12280 = call ptr @strerror(i32 noundef %12279) #11
  %12281 = call ptr @__errno_location() #12
  %12282 = load i32, ptr %12281, align 4, !tbaa !5
  %12283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12270, ptr noundef @.str.4, i32 noundef %12271, ptr noundef @.str.104, ptr noundef @.str.2, i32 noundef 669, ptr noundef %12274, ptr noundef %12277, ptr noundef %12280, i32 noundef %12282) #11
  br label %12284

12284:                                            ; preds = %12267, %12250
  call void @llvm.lifetime.end.p0(i64 4, ptr %360) #11
  br label %12285

12285:                                            ; preds = %12284
  br label %12286

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

12287:                                            ; No predecessors!
  br label %12288

12288:                                            ; preds = %12287
  br label %12289

12289:                                            ; preds = %12288, %12233
  br label %12290

12290:                                            ; preds = %12289
  br label %12291

12291:                                            ; preds = %12290
  %12292 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12293 = trunc i8 %12292 to i1
  br i1 %12293, label %12294, label %12310

12294:                                            ; preds = %12291
  %12295 = load ptr, ptr @stdout, align 8, !tbaa !9
  %12296 = call i32 @fileno(ptr noundef %12295) #11
  %12297 = call i32 @isatty(i32 noundef %12296) #11
  %12298 = icmp ne i32 %12297, 0
  br i1 %12298, label %12299, label %12310

12299:                                            ; preds = %12294
  %12300 = load i32, ptr @test_count, align 4, !tbaa !5
  %12301 = icmp ne i32 %12300, 0
  br i1 %12301, label %12302, label %12306

12302:                                            ; preds = %12299
  %12303 = load ptr, ptr @stdout, align 8, !tbaa !9
  %12304 = load i32, ptr @test_count, align 4, !tbaa !5
  %12305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12303, ptr noundef @.str.105, i32 noundef %12304) #11
  br label %12309

12306:                                            ; preds = %12299
  %12307 = load ptr, ptr @stdout, align 8, !tbaa !9
  %12308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12307, ptr noundef @.str.106) #11
  br label %12309

12309:                                            ; preds = %12306, %12302
  br label %12321

12310:                                            ; preds = %12294, %12291
  %12311 = load i32, ptr @test_count, align 4, !tbaa !5
  %12312 = icmp ne i32 %12311, 0
  br i1 %12312, label %12313, label %12317

12313:                                            ; preds = %12310
  %12314 = load ptr, ptr @stdout, align 8, !tbaa !9
  %12315 = load i32, ptr @test_count, align 4, !tbaa !5
  %12316 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12314, ptr noundef @.str.107, i32 noundef %12315) #11
  br label %12320

12317:                                            ; preds = %12310
  %12318 = load ptr, ptr @stdout, align 8, !tbaa !9
  %12319 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12318, ptr noundef @.str.108) #11
  br label %12320

12320:                                            ; preds = %12317, %12313
  br label %12321

12321:                                            ; preds = %12320, %12309
  store i32 0, ptr %3, align 4
  store i32 1, ptr %135, align 4
  br label %12326

12322:                                            ; No predecessors!
  br label %12323

12323:                                            ; preds = %12322
  br label %12324

12324:                                            ; preds = %12323
  br label %12325

12325:                                            ; preds = %12324
  store i32 0, ptr %135, align 4
  br label %12326

12326:                                            ; preds = %12325, %12321
  %12327 = call i32 @s2n_config_ptr_free(ptr noundef %11)
  %12328 = getelementptr inbounds %struct.s2n_result, ptr %361, i32 0, i32 0
  store i32 %12327, ptr %12328, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #11
  %12329 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %9)
  %12330 = getelementptr inbounds %struct.s2n_result, ptr %362, i32 0, i32 0
  store i32 %12329, ptr %12330, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #11
  %12331 = load i32, ptr %135, align 4
  switch i32 %12331, label %12334 [
    i32 0, label %12332
    i32 1, label %12332
  ]

12332:                                            ; preds = %12326, %12326
  %12333 = load i32, ptr %3, align 4
  ret i32 %12333

12334:                                            ; preds = %12326
  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

declare i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef) #2

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

declare ptr @s2n_config_new() #2

declare i32 @s2n_config_ptr_free(ptr noundef) #2

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

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

declare i32 @s2n_config_disable_x509_verification(ptr noundef) #2

declare i32 @s2n_peek(ptr noundef) #2

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #7

declare ptr @s2n_connection_new(i32 noundef) #2

declare i32 @s2n_connection_ptr_free(ptr noundef) #2

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

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #8

declare i32 @s2n_io_pair_close(ptr noundef) #2

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) #2

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

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

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

declare i32 @s2n_stuffer_free(ptr noundef) #2

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

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

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

declare zeroext i1 @s2n_is_tls13_fully_supported(...) #2

declare void @s2n_atomic_flag_set(ptr noundef) #2

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

declare zeroext i1 @s2n_atomic_flag_test(ptr noundef) #2

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

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

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

declare i32 @s2n_connection_free(ptr noundef) #2

declare i32 @s2n_free(ptr noundef) #2

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

declare i32 @s2n_config_set_recv_multi_record(ptr noundef, i1 noundef zeroext) #2

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

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 void @s2n_ktls_configure_connection(ptr noundef, i32 noundef) #2

declare i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef) #2

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

declare i32 @s2n_ktls_sendmsg(ptr noundef, i8 noundef zeroext, ptr noundef, i64 noundef, ptr noundef, ptr noundef) #2

; Function Attrs: nounwind willreturn memory(read)
declare i32 @memcmp(ptr noundef, ptr noundef, i64 noundef) #10

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

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

declare zeroext i1 @s2n_connection_check_io_status(ptr noundef, i32 noundef) #2

declare i64 @s2n_connection_get_delay(ptr noundef) #2

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

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

declare i32 @s2n_cleanup() #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { 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 willreturn memory(read) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #11 = { nounwind }
attributes #12 = { nounwind willreturn memory(none) }
attributes #13 = { noreturn nounwind }
attributes #14 = { nounwind willreturn memory(read) }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !16, i64 0}
!16 = !{!"long", !7, i64 0}
!17 = !{!18, !6, i64 1884}
!18 = !{!"s2n_connection", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !7, i64 80, !7, i64 102, !7, i64 124, !6, i64 148, !6, i64 152, !19, i64 160, !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, !20, i64 240, !10, i64 632, !10, i64 640, !21, i64 648, !27, i64 1144, !30, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !33, i64 1776, !33, i64 1816, !33, i64 1856, !33, i64 1896, !6, i64 1936, !16, i64 1944, !7, i64 1952, !33, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !34, i64 2004, !34, i64 2008, !35, i64 2016, !32, i64 2208, !6, i64 2212, !32, i64 2216, !16, i64 2224, !7, i64 2232, !16, i64 2240, !16, i64 2248, !16, i64 2256, !34, i64 2264, !34, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !26, i64 2792, !6, i64 2816, !26, i64 2824, !26, i64 2848, !26, i64 2872, !37, i64 2896, !39, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !26, i64 3784, !6, i64 3808, !41, i64 3816, !7, i64 3848, !33, i64 3992, !26, i64 4032, !26, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !32, i64 4084, !32, i64 4086, !6, i64 4088, !6, i64 4092, !26, i64 4096, !6, i64 4120, !42, i64 4128, !34, i64 4176, !7, i64 4180, !7, i64 4181}
!19 = !{!"s2n_timer", !16, i64 0}
!20 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!21 = !{!"s2n_kex_parameters", !22, i64 0, !23, i64 8, !7, i64 24, !23, i64 56, !24, i64 72, !24, i64 184, !7, i64 296, !25, i64 360, !26, i64 448, !26, i64 472}
!22 = !{!"s2n_dh_params", !10, i64 0}
!23 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!24 = !{!"s2n_kem_group_params", !10, i64 0, !25, i64 8, !23, i64 96}
!25 = !{!"s2n_kem_params", !10, i64 0, !26, i64 8, !26, i64 32, !26, i64 56, !12, i64 80}
!26 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!27 = !{!"s2n_handshake_parameters", !28, i64 0, !28, i64 48, !26, i64 96, !6, i64 120, !29, i64 124, !10, i64 384, !10, i64 392, !10, i64 400, !7, i64 408, !7, i64 440, !7, i64 472, !7, i64 473, !7, i64 474, !7, i64 506}
!28 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!29 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!30 = !{!"s2n_psk_parameters", !6, i64 0, !31, i64 8, !32, i64 40, !32, i64 42, !10, i64 48, !6, i64 56}
!31 = !{!"s2n_array", !26, i64 0, !6, i64 24, !6, i64 28}
!32 = !{!"short", !7, i64 0}
!33 = !{!"s2n_stuffer", !26, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!34 = !{!"", !6, i64 0}
!35 = !{!"s2n_handshake", !33, i64 0, !10, i64 40, !7, i64 48, !7, i64 56, !7, i64 104, !7, i64 152, !6, i64 156, !6, i64 160, !6, i64 164, !6, i64 168, !36, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!36 = !{!"s2n_offered_early_data", !10, i64 0}
!37 = !{!"s2n_client_hello", !26, i64 0, !38, i64 24, !26, i64 728, !26, i64 752, !26, i64 776, !7, i64 800, !7, i64 801, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802}
!38 = !{!"", !7, i64 0, !26, i64 672, !32, i64 696}
!39 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !32, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !40, i64 48, !12, i64 52}
!40 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!41 = !{!"s2n_ticket_fields", !26, i64 0, !6, i64 24}
!42 = !{!"s2n_post_handshake", !33, i64 0, !7, i64 40}
!43 = !{!18, !6, i64 1880}
!44 = !{!7, !7, i64 0}
!45 = !{!26, !10, i64 0}
!46 = !{!26, !6, i64 8}
!47 = distinct !{!47, !48}
!48 = !{!"llvm.loop.mustprogress"}
!49 = distinct !{!49, !48}
!50 = distinct !{!50, !48}
!51 = distinct !{!51, !48}
!52 = distinct !{!52, !48}
!53 = distinct !{!53, !48}
!54 = distinct !{!54, !48}
!55 = !{!56, !10, i64 0}
!56 = !{!"iovec", !10, i64 0, !16, i64 8}
!57 = !{!56, !16, i64 8}
!58 = !{i64 0, i64 8, !9, i64 8, i64 8, !15}
!59 = !{!60, !16, i64 88}
!60 = !{!"s2n_test_ktls_io_stuffer", !33, i64 0, !33, i64 40, !16, i64 80, !16, i64 88}
!61 = distinct !{!61, !48}
!62 = distinct !{!62, !48}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%struct.s2n_test_io_pair = type { i32, i32 }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.iovec = type { ptr, i64 }
%struct.s2n_test_ktls_io_stuffer_pair = type { %struct.s2n_test_ktls_io_stuffer, %struct.s2n_test_ktls_io_stuffer }
%struct.s2n_test_ktls_io_stuffer = type { %struct.s2n_stuffer, %struct.s2n_stuffer, i64, i64 }

@s2n_use_color_in_output = external dso_local local_unnamed_addr global i8, align 1
@s2n_custom_recv_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
@.str.11 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [149 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [43 x i8], align 1
@__const.main.test_data = external hidden unnamed_addr constant [100 x i8], align 16
@.str.19 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [53 x i8], align 1
@__const.main.alert_data = external hidden unnamed_addr constant [2 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [125 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [25 x i8], align 1

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_expect_concurrent_error_recv_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_recv(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 ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca [100 x i8], align 16
  %6 = alloca i32, align 4
  %7 = alloca ptr, align 8
  %8 = alloca ptr, align 8
  %9 = alloca %struct.s2n_test_io_pair, align 8
  %10 = alloca [100 x i8], align 16
  %11 = alloca i32, align 4
  %12 = alloca ptr, align 8
  %13 = alloca ptr, align 8
  %14 = alloca %struct.s2n_stuffer, align 8
  %15 = alloca %struct.s2n_stuffer, align 8
  %16 = alloca [100 x i8], align 16
  %17 = alloca i32, align 4
  %18 = alloca ptr, align 8
  %19 = alloca ptr, align 8
  %20 = alloca %struct.s2n_stuffer, align 8
  %21 = alloca %struct.s2n_stuffer, align 8
  %22 = alloca [1 x i8], align 1
  %23 = alloca [100 x i8], align 16
  %24 = alloca i32, align 4
  %25 = alloca %struct.s2n_blob, align 8
  %26 = alloca %struct.s2n_blob, align 8
  %27 = alloca i32, align 4
  %28 = alloca ptr, align 8
  %29 = alloca ptr, align 8
  %30 = alloca %struct.s2n_test_io_pair, align 8
  %31 = alloca %struct.s2n_blob, align 8
  %32 = alloca %struct.s2n_blob, align 8
  %33 = alloca i32, align 4
  %34 = alloca ptr, align 8
  %35 = alloca ptr, align 8
  %36 = alloca %struct.s2n_test_io_pair, align 8
  %37 = alloca [100 x i8], align 16
  %38 = alloca %struct.s2n_blob, align 8
  %39 = alloca %struct.iovec, align 8
  %40 = alloca i32, align 4
  %41 = alloca ptr, align 8
  %42 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %43 = alloca i64, align 8
  %44 = alloca [100 x i8], align 16
  %45 = alloca %struct.iovec, align 8
  %46 = alloca ptr, align 8
  %47 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %48 = alloca i64, align 8
  %49 = alloca [100 x i8], align 16
  %50 = alloca ptr, align 8
  %51 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %52 = alloca i64, align 8
  %53 = alloca [100 x i8], align 16
  %54 = alloca ptr, align 8
  %55 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %56 = alloca [100 x i8], align 16
  %57 = alloca ptr, align 8
  %58 = alloca i64, align 8
  %59 = alloca [10 x i8], align 1
  %60 = alloca [2 x i8], align 2
  %61 = alloca %struct.iovec, align 8
  %62 = alloca ptr, align 8
  %63 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %64 = alloca i64, align 8
  %65 = alloca [10 x i8], align 1
  %66 = alloca ptr, align 8
  %67 = alloca i64, align 8
  %68 = alloca [4 x i8], align 4
  %69 = alloca %struct.iovec, align 8
  %70 = alloca ptr, align 8
  %71 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %72 = alloca i64, align 8
  %73 = alloca [100 x i8], align 16
  %74 = alloca ptr, align 8
  %75 = alloca ptr, align 8
  %76 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %77 = alloca %struct.iovec, align 8
  %78 = alloca i64, align 8
  %79 = alloca [100 x i8], align 16
  %80 = alloca ptr, align 8
  %81 = alloca %struct.s2n_test_ktls_io_stuffer_pair, align 8
  %82 = alloca %struct.iovec, align 8
  %83 = alloca i64, align 8
  %84 = alloca [100 x i8], align 16
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %85 = load ptr, ptr @stdout, align 8, !tbaa !9
  %86 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %85, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.2) #13
  %87 = load ptr, ptr @stdout, align 8, !tbaa !9
  %88 = tail call i32 @fflush(ptr noundef %87)
  %89 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #13
  %90 = icmp eq i32 %89, -1
  br i1 %90, label %91, label %115

91:                                               ; preds = %2
  %92 = tail call ptr @__errno_location() #14
  %93 = load i32, ptr %92, align 4, !tbaa !5
  %94 = load ptr, ptr @stderr, align 8, !tbaa !9
  %95 = tail call i32 @s2n_print_stacktrace(ptr noundef %94) #13
  %96 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %97 = trunc nuw i8 %96 to i1
  br i1 %97, label %98, label %102

98:                                               ; preds = %91
  %99 = load ptr, ptr @stderr, align 8, !tbaa !9
  %100 = tail call i32 @fileno(ptr noundef %99) #13
  %101 = tail call i32 @isatty(i32 noundef %100) #13
  %.not717 = icmp eq i32 %101, 0
  br i1 %.not717, label %102, label %103

102:                                              ; preds = %98, %91
  br label %103

103:                                              ; preds = %98, %102
  %.str.4.sink = phi ptr [ @.str.4, %102 ], [ @.str, %98 ]
  store i32 %93, ptr %92, align 4, !tbaa !5
  %104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %105 = load i32, ptr @test_count, align 4, !tbaa !5
  %106 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %107 = load i32, ptr %106, align 4, !tbaa !5
  %108 = tail call ptr @s2n_strerror(i32 noundef %107, ptr noundef nonnull @.str.3) #13
  %109 = load i32, ptr %106, align 4, !tbaa !5
  %110 = tail call ptr @s2n_strerror_debug(i32 noundef %109, ptr noundef nonnull @.str.3) #13
  %111 = load i32, ptr %92, align 4, !tbaa !5
  %112 = tail call ptr @strerror(i32 noundef %111) #13
  %113 = load i32, ptr %92, align 4, !tbaa !5
  %114 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %104, ptr noundef nonnull %.str.4.sink, i32 noundef %105, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.2, i32 noundef 54, ptr noundef %108, ptr noundef %110, ptr noundef %112, i32 noundef %113) #15
  tail call void @exit(i32 noundef 1) #16
  unreachable

115:                                              ; preds = %2
  %116 = load i32, ptr @test_count, align 4, !tbaa !5
  %117 = add nsw i32 %116, 1
  store i32 %117, ptr @test_count, align 4, !tbaa !5
  %118 = tail call i32 @s2n_enable_atexit() #13
  %119 = icmp eq i32 %118, -1
  br i1 %119, label %120, label %144

120:                                              ; preds = %115
  %121 = tail call ptr @__errno_location() #14
  %122 = load i32, ptr %121, align 4, !tbaa !5
  %123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %124 = tail call i32 @s2n_print_stacktrace(ptr noundef %123) #13
  %125 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %126 = trunc nuw i8 %125 to i1
  br i1 %126, label %127, label %131

127:                                              ; preds = %120
  %128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %129 = tail call i32 @fileno(ptr noundef %128) #13
  %130 = tail call i32 @isatty(i32 noundef %129) #13
  %.not716 = icmp eq i32 %130, 0
  br i1 %.not716, label %131, label %132

131:                                              ; preds = %127, %120
  br label %132

132:                                              ; preds = %127, %131
  %.str.4.sink752 = phi ptr [ @.str.4, %131 ], [ @.str, %127 ]
  store i32 %122, ptr %121, align 4, !tbaa !5
  %133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %134 = load i32, ptr @test_count, align 4, !tbaa !5
  %135 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %136 = load i32, ptr %135, align 4, !tbaa !5
  %137 = tail call ptr @s2n_strerror(i32 noundef %136, ptr noundef nonnull @.str.3) #13
  %138 = load i32, ptr %135, align 4, !tbaa !5
  %139 = tail call ptr @s2n_strerror_debug(i32 noundef %138, ptr noundef nonnull @.str.3) #13
  %140 = load i32, ptr %121, align 4, !tbaa !5
  %141 = tail call ptr @strerror(i32 noundef %140) #13
  %142 = load i32, ptr %121, align 4, !tbaa !5
  %143 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %133, ptr noundef nonnull %.str.4.sink752, i32 noundef %134, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.2, i32 noundef 54, ptr noundef %137, ptr noundef %139, ptr noundef %141, i32 noundef %142) #15
  tail call void @exit(i32 noundef 1) #16
  unreachable

144:                                              ; preds = %115
  %145 = tail call i32 @s2n_init() #13
  %146 = icmp eq i32 %145, -1
  br i1 %146, label %147, label %171

147:                                              ; preds = %144
  %148 = tail call ptr @__errno_location() #14
  %149 = load i32, ptr %148, align 4, !tbaa !5
  %150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %151 = tail call i32 @s2n_print_stacktrace(ptr noundef %150) #13
  %152 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %153 = trunc nuw i8 %152 to i1
  br i1 %153, label %154, label %158

154:                                              ; preds = %147
  %155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %156 = tail call i32 @fileno(ptr noundef %155) #13
  %157 = tail call i32 @isatty(i32 noundef %156) #13
  %.not715 = icmp eq i32 %157, 0
  br i1 %.not715, label %158, label %159

158:                                              ; preds = %154, %147
  br label %159

159:                                              ; preds = %154, %158
  %.str.4.sink763 = phi ptr [ @.str.4, %158 ], [ @.str, %154 ]
  store i32 %149, ptr %148, align 4, !tbaa !5
  %160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %161 = load i32, ptr @test_count, align 4, !tbaa !5
  %162 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %163 = load i32, ptr %162, align 4, !tbaa !5
  %164 = tail call ptr @s2n_strerror(i32 noundef %163, ptr noundef nonnull @.str.3) #13
  %165 = load i32, ptr %162, align 4, !tbaa !5
  %166 = tail call ptr @s2n_strerror_debug(i32 noundef %165, ptr noundef nonnull @.str.3) #13
  %167 = load i32, ptr %148, align 4, !tbaa !5
  %168 = tail call ptr @strerror(i32 noundef %167) #13
  %169 = load i32, ptr %148, align 4, !tbaa !5
  %170 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %160, ptr noundef nonnull %.str.4.sink763, i32 noundef %161, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.2, i32 noundef 54, ptr noundef %164, ptr noundef %166, ptr noundef %168, i32 noundef %169) #15
  tail call void @exit(i32 noundef 1) #16
  unreachable

171:                                              ; preds = %144
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #13
  %172 = load i32, ptr @test_count, align 4, !tbaa !5
  %173 = add nsw i32 %172, 1
  store i32 %173, ptr @test_count, align 4, !tbaa !5
  %174 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %3, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.12) #13
  %175 = icmp eq i32 %174, -1
  br i1 %175, label %176, label %200

176:                                              ; preds = %171
  %177 = tail call ptr @__errno_location() #14
  %178 = load i32, ptr %177, align 4, !tbaa !5
  %179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %180 = call i32 @s2n_print_stacktrace(ptr noundef %179) #13
  %181 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %182 = trunc nuw i8 %181 to i1
  br i1 %182, label %183, label %187

183:                                              ; preds = %176
  %184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %185 = call i32 @fileno(ptr noundef %184) #13
  %186 = call i32 @isatty(i32 noundef %185) #13
  %.not714 = icmp eq i32 %186, 0
  br i1 %.not714, label %187, label %188

187:                                              ; preds = %183, %176
  br label %188

188:                                              ; preds = %183, %187
  %.str.4.sink774 = phi ptr [ @.str.4, %187 ], [ @.str, %183 ]
  store i32 %178, ptr %177, align 4, !tbaa !5
  %189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %190 = load i32, ptr @test_count, align 4, !tbaa !5
  %191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %192 = load i32, ptr %191, align 4, !tbaa !5
  %193 = call ptr @s2n_strerror(i32 noundef %192, ptr noundef nonnull @.str.3) #13
  %194 = load i32, ptr %191, align 4, !tbaa !5
  %195 = call ptr @s2n_strerror_debug(i32 noundef %194, ptr noundef nonnull @.str.3) #13
  %196 = load i32, ptr %177, align 4, !tbaa !5
  %197 = call ptr @strerror(i32 noundef %196) #13
  %198 = load i32, ptr %177, align 4, !tbaa !5
  %199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %189, ptr noundef nonnull %.str.4.sink774, i32 noundef %190, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 59, ptr noundef %193, ptr noundef %195, ptr noundef %197, i32 noundef %198) #15
  call void @exit(i32 noundef 1) #16
  unreachable

200:                                              ; preds = %171
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #13
  %201 = call ptr @s2n_config_new() #13
  store ptr %201, ptr %4, align 8, !tbaa !9
  %202 = load i32, ptr @test_count, align 4, !tbaa !5
  %203 = add nsw i32 %202, 1
  store i32 %203, ptr @test_count, align 4, !tbaa !5
  %204 = load ptr, ptr %3, align 8, !tbaa !9
  %205 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %201, ptr noundef %204) #13
  %206 = icmp eq i32 %205, -1
  br i1 %206, label %207, label %231

207:                                              ; preds = %200
  %208 = tail call ptr @__errno_location() #14
  %209 = load i32, ptr %208, align 4, !tbaa !5
  %210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %211 = call i32 @s2n_print_stacktrace(ptr noundef %210) #13
  %212 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %213 = trunc nuw i8 %212 to i1
  br i1 %213, label %214, label %218

214:                                              ; preds = %207
  %215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %216 = call i32 @fileno(ptr noundef %215) #13
  %217 = call i32 @isatty(i32 noundef %216) #13
  %.not713 = icmp eq i32 %217, 0
  br i1 %.not713, label %218, label %219

218:                                              ; preds = %214, %207
  br label %219

219:                                              ; preds = %214, %218
  %.str.4.sink785 = phi ptr [ @.str.4, %218 ], [ @.str, %214 ]
  store i32 %209, ptr %208, align 4, !tbaa !5
  %220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %221 = load i32, ptr @test_count, align 4, !tbaa !5
  %222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %223 = load i32, ptr %222, align 4, !tbaa !5
  %224 = call ptr @s2n_strerror(i32 noundef %223, ptr noundef nonnull @.str.3) #13
  %225 = load i32, ptr %222, align 4, !tbaa !5
  %226 = call ptr @s2n_strerror_debug(i32 noundef %225, ptr noundef nonnull @.str.3) #13
  %227 = load i32, ptr %208, align 4, !tbaa !5
  %228 = call ptr @strerror(i32 noundef %227) #13
  %229 = load i32, ptr %208, align 4, !tbaa !5
  %230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %220, ptr noundef nonnull %.str.4.sink785, i32 noundef %221, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.2, i32 noundef 63, ptr noundef %224, ptr noundef %226, ptr noundef %228, i32 noundef %229) #15
  call void @exit(i32 noundef 1) #16
  unreachable

231:                                              ; preds = %200
  %232 = load i32, ptr @test_count, align 4, !tbaa !5
  %233 = add nsw i32 %232, 1
  store i32 %233, ptr @test_count, align 4, !tbaa !5
  %234 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %201, ptr noundef nonnull @.str.15) #13
  %235 = icmp eq i32 %234, -1
  br i1 %235, label %236, label %260

236:                                              ; preds = %231
  %237 = tail call ptr @__errno_location() #14
  %238 = load i32, ptr %237, align 4, !tbaa !5
  %239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %240 = call i32 @s2n_print_stacktrace(ptr noundef %239) #13
  %241 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %242 = trunc nuw i8 %241 to i1
  br i1 %242, label %243, label %247

243:                                              ; preds = %236
  %244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %245 = call i32 @fileno(ptr noundef %244) #13
  %246 = call i32 @isatty(i32 noundef %245) #13
  %.not712 = icmp eq i32 %246, 0
  br i1 %.not712, label %247, label %248

247:                                              ; preds = %243, %236
  br label %248

248:                                              ; preds = %243, %247
  %.str.4.sink796 = phi ptr [ @.str.4, %247 ], [ @.str, %243 ]
  store i32 %238, ptr %237, align 4, !tbaa !5
  %249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %250 = load i32, ptr @test_count, align 4, !tbaa !5
  %251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %252 = load i32, ptr %251, align 4, !tbaa !5
  %253 = call ptr @s2n_strerror(i32 noundef %252, ptr noundef nonnull @.str.3) #13
  %254 = load i32, ptr %251, align 4, !tbaa !5
  %255 = call ptr @s2n_strerror_debug(i32 noundef %254, ptr noundef nonnull @.str.3) #13
  %256 = load i32, ptr %237, align 4, !tbaa !5
  %257 = call ptr @strerror(i32 noundef %256) #13
  %258 = load i32, ptr %237, align 4, !tbaa !5
  %259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %249, ptr noundef nonnull %.str.4.sink796, i32 noundef %250, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 64, ptr noundef %253, ptr noundef %255, ptr noundef %257, i32 noundef %258) #15
  call void @exit(i32 noundef 1) #16
  unreachable

260:                                              ; preds = %231
  %261 = load i32, ptr @test_count, align 4, !tbaa !5
  %262 = add nsw i32 %261, 1
  store i32 %262, ptr @test_count, align 4, !tbaa !5
  %263 = call i32 @s2n_config_disable_x509_verification(ptr noundef %201) #13
  %264 = icmp eq i32 %263, -1
  br i1 %264, label %265, label %289

265:                                              ; preds = %260
  %266 = tail call ptr @__errno_location() #14
  %267 = load i32, ptr %266, align 4, !tbaa !5
  %268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %269 = call i32 @s2n_print_stacktrace(ptr noundef %268) #13
  %270 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %271 = trunc nuw i8 %270 to i1
  br i1 %271, label %272, label %276

272:                                              ; preds = %265
  %273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %274 = call i32 @fileno(ptr noundef %273) #13
  %275 = call i32 @isatty(i32 noundef %274) #13
  %.not711 = icmp eq i32 %275, 0
  br i1 %.not711, label %276, label %277

276:                                              ; preds = %272, %265
  br label %277

277:                                              ; preds = %272, %276
  %.str.4.sink807 = phi ptr [ @.str.4, %276 ], [ @.str, %272 ]
  store i32 %267, ptr %266, align 4, !tbaa !5
  %278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %279 = load i32, ptr @test_count, align 4, !tbaa !5
  %280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %281 = load i32, ptr %280, align 4, !tbaa !5
  %282 = call ptr @s2n_strerror(i32 noundef %281, ptr noundef nonnull @.str.3) #13
  %283 = load i32, ptr %280, align 4, !tbaa !5
  %284 = call ptr @s2n_strerror_debug(i32 noundef %283, ptr noundef nonnull @.str.3) #13
  %285 = load i32, ptr %266, align 4, !tbaa !5
  %286 = call ptr @strerror(i32 noundef %285) #13
  %287 = load i32, ptr %266, align 4, !tbaa !5
  %288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %278, ptr noundef nonnull %.str.4.sink807, i32 noundef %279, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.2, i32 noundef 65, ptr noundef %282, ptr noundef %284, ptr noundef %286, i32 noundef %287) #15
  call void @exit(i32 noundef 1) #16
  unreachable

289:                                              ; preds = %260
  %290 = load i32, ptr @test_count, align 4, !tbaa !5
  %291 = add nsw i32 %290, 1
  store i32 %291, ptr @test_count, align 4, !tbaa !5
  %292 = call i32 @s2n_peek(ptr noundef null) #13
  %293 = icmp eq i32 %292, 0
  br i1 %293, label %318, label %294

294:                                              ; preds = %289
  %295 = tail call ptr @__errno_location() #14
  %296 = load i32, ptr %295, align 4, !tbaa !5
  %297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %298 = call i32 @s2n_print_stacktrace(ptr noundef %297) #13
  %299 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %300 = trunc nuw i8 %299 to i1
  br i1 %300, label %301, label %305

301:                                              ; preds = %294
  %302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %303 = call i32 @fileno(ptr noundef %302) #13
  %304 = call i32 @isatty(i32 noundef %303) #13
  %.not = icmp eq i32 %304, 0
  br i1 %.not, label %305, label %306

305:                                              ; preds = %301, %294
  br label %306

306:                                              ; preds = %301, %305
  %.str.4.sink818 = phi ptr [ @.str.4, %305 ], [ @.str, %301 ]
  store i32 %296, ptr %295, align 4, !tbaa !5
  %307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %308 = load i32, ptr @test_count, align 4, !tbaa !5
  %309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %310 = load i32, ptr %309, align 4, !tbaa !5
  %311 = call ptr @s2n_strerror(i32 noundef %310, ptr noundef nonnull @.str.3) #13
  %312 = load i32, ptr %309, align 4, !tbaa !5
  %313 = call ptr @s2n_strerror_debug(i32 noundef %312, ptr noundef nonnull @.str.3) #13
  %314 = load i32, ptr %295, align 4, !tbaa !5
  %315 = call ptr @strerror(i32 noundef %314) #13
  %316 = load i32, ptr %295, align 4, !tbaa !5
  %317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %307, ptr noundef nonnull %.str.4.sink818, i32 noundef %308, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.2, i32 noundef 75, ptr noundef %311, ptr noundef %313, ptr noundef %315, i32 noundef %316) #15
  call void @exit(i32 noundef 1) #16
  unreachable

318:                                              ; preds = %289
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %5) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %5, ptr noundef nonnull align 16 dereferenceable(100) @__const.main.test_data, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %6) #13
  store i32 0, ptr %6, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #13
  %319 = call ptr @s2n_connection_new(i32 noundef 1) #13
  store ptr %319, ptr %7, align 8, !tbaa !9
  %320 = load i32, ptr @test_count, align 4, !tbaa !5
  %321 = add nsw i32 %320, 1
  store i32 %321, ptr @test_count, align 4, !tbaa !5
  %322 = call i32 @s2n_connection_set_config(ptr noundef %319, ptr noundef %201) #13
  %323 = icmp eq i32 %322, -1
  br i1 %323, label %324, label %348

324:                                              ; preds = %318
  %325 = tail call ptr @__errno_location() #14
  %326 = load i32, ptr %325, align 4, !tbaa !5
  %327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %328 = call i32 @s2n_print_stacktrace(ptr noundef %327) #13
  %329 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %330 = trunc nuw i8 %329 to i1
  br i1 %330, label %331, label %335

331:                                              ; preds = %324
  %332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %333 = call i32 @fileno(ptr noundef %332) #13
  %334 = call i32 @isatty(i32 noundef %333) #13
  %.not710 = icmp eq i32 %334, 0
  br i1 %.not710, label %335, label %336

335:                                              ; preds = %331, %324
  br label %336

336:                                              ; preds = %331, %335
  %.str.4.sink829 = phi ptr [ @.str.4, %335 ], [ @.str, %331 ]
  store i32 %326, ptr %325, align 4, !tbaa !5
  %337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %338 = load i32, ptr @test_count, align 4, !tbaa !5
  %339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %340 = load i32, ptr %339, align 4, !tbaa !5
  %341 = call ptr @s2n_strerror(i32 noundef %340, ptr noundef nonnull @.str.3) #13
  %342 = load i32, ptr %339, align 4, !tbaa !5
  %343 = call ptr @s2n_strerror_debug(i32 noundef %342, ptr noundef nonnull @.str.3) #13
  %344 = load i32, ptr %325, align 4, !tbaa !5
  %345 = call ptr @strerror(i32 noundef %344) #13
  %346 = load i32, ptr %325, align 4, !tbaa !5
  %347 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %337, ptr noundef nonnull %.str.4.sink829, i32 noundef %338, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.2, i32 noundef 86, ptr noundef %341, ptr noundef %343, ptr noundef %345, i32 noundef %346) #15
  call void @exit(i32 noundef 1) #16
  unreachable

348:                                              ; preds = %318
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #13
  %349 = call ptr @s2n_connection_new(i32 noundef 0) #13
  store ptr %349, ptr %8, align 8, !tbaa !9
  %350 = load i32, ptr @test_count, align 4, !tbaa !5
  %351 = add nsw i32 %350, 1
  store i32 %351, ptr @test_count, align 4, !tbaa !5
  %352 = call i32 @s2n_connection_set_config(ptr noundef %349, ptr noundef %201) #13
  %353 = icmp eq i32 %352, -1
  br i1 %353, label %354, label %378

354:                                              ; preds = %348
  %355 = tail call ptr @__errno_location() #14
  %356 = load i32, ptr %355, align 4, !tbaa !5
  %357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %358 = call i32 @s2n_print_stacktrace(ptr noundef %357) #13
  %359 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %360 = trunc nuw i8 %359 to i1
  br i1 %360, label %361, label %365

361:                                              ; preds = %354
  %362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %363 = call i32 @fileno(ptr noundef %362) #13
  %364 = call i32 @isatty(i32 noundef %363) #13
  %.not709 = icmp eq i32 %364, 0
  br i1 %.not709, label %365, label %366

365:                                              ; preds = %361, %354
  br label %366

366:                                              ; preds = %361, %365
  %.str.4.sink840 = phi ptr [ @.str.4, %365 ], [ @.str, %361 ]
  store i32 %356, ptr %355, align 4, !tbaa !5
  %367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %368 = load i32, ptr @test_count, align 4, !tbaa !5
  %369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %370 = load i32, ptr %369, align 4, !tbaa !5
  %371 = call ptr @s2n_strerror(i32 noundef %370, ptr noundef nonnull @.str.3) #13
  %372 = load i32, ptr %369, align 4, !tbaa !5
  %373 = call ptr @s2n_strerror_debug(i32 noundef %372, ptr noundef nonnull @.str.3) #13
  %374 = load i32, ptr %355, align 4, !tbaa !5
  %375 = call ptr @strerror(i32 noundef %374) #13
  %376 = load i32, ptr %355, align 4, !tbaa !5
  %377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %367, ptr noundef nonnull %.str.4.sink840, i32 noundef %368, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.2, i32 noundef 89, ptr noundef %371, ptr noundef %373, ptr noundef %375, i32 noundef %376) #15
  call void @exit(i32 noundef 1) #16
  unreachable

378:                                              ; preds = %348
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #13
  store i64 0, ptr %9, align 8
  %379 = load i32, ptr @test_count, align 4, !tbaa !5
  %380 = add nsw i32 %379, 1
  store i32 %380, ptr @test_count, align 4, !tbaa !5
  %381 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %9) #13
  %382 = icmp eq i32 %381, -1
  br i1 %382, label %383, label %407

383:                                              ; preds = %378
  %384 = tail call ptr @__errno_location() #14
  %385 = load i32, ptr %384, align 4, !tbaa !5
  %386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %387 = call i32 @s2n_print_stacktrace(ptr noundef %386) #13
  %388 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %389 = trunc nuw i8 %388 to i1
  br i1 %389, label %390, label %394

390:                                              ; preds = %383
  %391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %392 = call i32 @fileno(ptr noundef %391) #13
  %393 = call i32 @isatty(i32 noundef %392) #13
  %.not708 = icmp eq i32 %393, 0
  br i1 %.not708, label %394, label %395

394:                                              ; preds = %390, %383
  br label %395

395:                                              ; preds = %390, %394
  %.str.4.sink851 = phi ptr [ @.str.4, %394 ], [ @.str, %390 ]
  store i32 %385, ptr %384, align 4, !tbaa !5
  %396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %397 = load i32, ptr @test_count, align 4, !tbaa !5
  %398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %399 = load i32, ptr %398, align 4, !tbaa !5
  %400 = call ptr @s2n_strerror(i32 noundef %399, ptr noundef nonnull @.str.3) #13
  %401 = load i32, ptr %398, align 4, !tbaa !5
  %402 = call ptr @s2n_strerror_debug(i32 noundef %401, ptr noundef nonnull @.str.3) #13
  %403 = load i32, ptr %384, align 4, !tbaa !5
  %404 = call ptr @strerror(i32 noundef %403) #13
  %405 = load i32, ptr %384, align 4, !tbaa !5
  %406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %396, ptr noundef nonnull %.str.4.sink851, i32 noundef %397, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.2, i32 noundef 92, ptr noundef %400, ptr noundef %402, ptr noundef %404, i32 noundef %405) #15
  call void @exit(i32 noundef 1) #16
  unreachable

407:                                              ; preds = %378
  %408 = load i32, ptr @test_count, align 4, !tbaa !5
  %409 = add nsw i32 %408, 1
  store i32 %409, ptr @test_count, align 4, !tbaa !5
  %410 = load ptr, ptr %7, align 8, !tbaa !9
  %411 = load ptr, ptr %8, align 8, !tbaa !9
  %412 = call i32 @s2n_connections_set_io_pair(ptr noundef %410, ptr noundef %411, ptr noundef nonnull %9) #13
  %413 = icmp eq i32 %412, -1
  br i1 %413, label %414, label %438

414:                                              ; preds = %407
  %415 = tail call ptr @__errno_location() #14
  %416 = load i32, ptr %415, align 4, !tbaa !5
  %417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %418 = call i32 @s2n_print_stacktrace(ptr noundef %417) #13
  %419 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %420 = trunc nuw i8 %419 to i1
  br i1 %420, label %421, label %425

421:                                              ; preds = %414
  %422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %423 = call i32 @fileno(ptr noundef %422) #13
  %424 = call i32 @isatty(i32 noundef %423) #13
  %.not707 = icmp eq i32 %424, 0
  br i1 %.not707, label %425, label %426

425:                                              ; preds = %421, %414
  br label %426

426:                                              ; preds = %421, %425
  %.str.4.sink862 = phi ptr [ @.str.4, %425 ], [ @.str, %421 ]
  store i32 %416, ptr %415, align 4, !tbaa !5
  %427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %428 = load i32, ptr @test_count, align 4, !tbaa !5
  %429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %430 = load i32, ptr %429, align 4, !tbaa !5
  %431 = call ptr @s2n_strerror(i32 noundef %430, ptr noundef nonnull @.str.3) #13
  %432 = load i32, ptr %429, align 4, !tbaa !5
  %433 = call ptr @s2n_strerror_debug(i32 noundef %432, ptr noundef nonnull @.str.3) #13
  %434 = load i32, ptr %415, align 4, !tbaa !5
  %435 = call ptr @strerror(i32 noundef %434) #13
  %436 = load i32, ptr %415, align 4, !tbaa !5
  %437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %427, ptr noundef nonnull %.str.4.sink862, i32 noundef %428, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.2, i32 noundef 93, ptr noundef %431, ptr noundef %433, ptr noundef %435, i32 noundef %436) #15
  call void @exit(i32 noundef 1) #16
  unreachable

438:                                              ; preds = %407
  %439 = load i32, ptr @test_count, align 4, !tbaa !5
  %440 = add nsw i32 %439, 1
  store i32 %440, ptr @test_count, align 4, !tbaa !5
  %441 = load ptr, ptr %8, align 8, !tbaa !9
  %442 = load ptr, ptr %7, align 8, !tbaa !9
  %443 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %441, ptr noundef %442) #13
  %444 = icmp eq i32 %443, -1
  br i1 %444, label %445, label %469

445:                                              ; preds = %438
  %446 = tail call ptr @__errno_location() #14
  %447 = load i32, ptr %446, align 4, !tbaa !5
  %448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %449 = call i32 @s2n_print_stacktrace(ptr noundef %448) #13
  %450 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %451 = trunc nuw i8 %450 to i1
  br i1 %451, label %452, label %456

452:                                              ; preds = %445
  %453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %454 = call i32 @fileno(ptr noundef %453) #13
  %455 = call i32 @isatty(i32 noundef %454) #13
  %.not706 = icmp eq i32 %455, 0
  br i1 %.not706, label %456, label %457

456:                                              ; preds = %452, %445
  br label %457

457:                                              ; preds = %452, %456
  %.str.4.sink873 = phi ptr [ @.str.4, %456 ], [ @.str, %452 ]
  store i32 %447, ptr %446, align 4, !tbaa !5
  %458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %459 = load i32, ptr @test_count, align 4, !tbaa !5
  %460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %461 = load i32, ptr %460, align 4, !tbaa !5
  %462 = call ptr @s2n_strerror(i32 noundef %461, ptr noundef nonnull @.str.3) #13
  %463 = load i32, ptr %460, align 4, !tbaa !5
  %464 = call ptr @s2n_strerror_debug(i32 noundef %463, ptr noundef nonnull @.str.3) #13
  %465 = load i32, ptr %446, align 4, !tbaa !5
  %466 = call ptr @strerror(i32 noundef %465) #13
  %467 = load i32, ptr %446, align 4, !tbaa !5
  %468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %458, ptr noundef nonnull %.str.4.sink873, i32 noundef %459, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.2, i32 noundef 94, ptr noundef %462, ptr noundef %464, ptr noundef %466, i32 noundef %467) #15
  call void @exit(i32 noundef 1) #16
  unreachable

469:                                              ; preds = %438
  %470 = load i32, ptr @test_count, align 4, !tbaa !5
  %471 = add nsw i32 %470, 1
  store i32 %471, ptr @test_count, align 4, !tbaa !5
  %472 = load ptr, ptr %7, align 8, !tbaa !9
  %473 = call i64 @s2n_send(ptr noundef %472, ptr noundef nonnull %5, i64 noundef 100, ptr noundef nonnull %6) #13
  %474 = icmp eq i64 %473, 100
  br i1 %474, label %499, label %475

475:                                              ; preds = %469
  %476 = tail call ptr @__errno_location() #14
  %477 = load i32, ptr %476, align 4, !tbaa !5
  %478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %479 = call i32 @s2n_print_stacktrace(ptr noundef %478) #13
  %480 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %481 = trunc nuw i8 %480 to i1
  br i1 %481, label %482, label %486

482:                                              ; preds = %475
  %483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %484 = call i32 @fileno(ptr noundef %483) #13
  %485 = call i32 @isatty(i32 noundef %484) #13
  %.not515 = icmp eq i32 %485, 0
  br i1 %.not515, label %486, label %487

486:                                              ; preds = %482, %475
  br label %487

487:                                              ; preds = %482, %486
  %.str.4.sink884 = phi ptr [ @.str.4, %486 ], [ @.str, %482 ]
  store i32 %477, ptr %476, align 4, !tbaa !5
  %488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %489 = load i32, ptr @test_count, align 4, !tbaa !5
  %490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %491 = load i32, ptr %490, align 4, !tbaa !5
  %492 = call ptr @s2n_strerror(i32 noundef %491, ptr noundef nonnull @.str.3) #13
  %493 = load i32, ptr %490, align 4, !tbaa !5
  %494 = call ptr @s2n_strerror_debug(i32 noundef %493, ptr noundef nonnull @.str.3) #13
  %495 = load i32, ptr %476, align 4, !tbaa !5
  %496 = call ptr @strerror(i32 noundef %495) #13
  %497 = load i32, ptr %476, align 4, !tbaa !5
  %498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %488, ptr noundef nonnull %.str.4.sink884, i32 noundef %489, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.2, i32 noundef 97, ptr noundef %492, ptr noundef %494, ptr noundef %496, i32 noundef %497) #15
  call void @exit(i32 noundef 1) #16
  unreachable

499:                                              ; preds = %469
  %500 = load i32, ptr @test_count, align 4, !tbaa !5
  %501 = add nsw i32 %500, 1
  store i32 %501, ptr @test_count, align 4, !tbaa !5
  %502 = load ptr, ptr %8, align 8, !tbaa !9
  %503 = call i32 @s2n_peek(ptr noundef %502) #13
  %504 = icmp eq i32 %503, 0
  br i1 %504, label %529, label %505

505:                                              ; preds = %499
  %506 = tail call ptr @__errno_location() #14
  %507 = load i32, ptr %506, align 4, !tbaa !5
  %508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %509 = call i32 @s2n_print_stacktrace(ptr noundef %508) #13
  %510 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %511 = trunc nuw i8 %510 to i1
  br i1 %511, label %512, label %516

512:                                              ; preds = %505
  %513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %514 = call i32 @fileno(ptr noundef %513) #13
  %515 = call i32 @isatty(i32 noundef %514) #13
  %.not516 = icmp eq i32 %515, 0
  br i1 %.not516, label %516, label %517

516:                                              ; preds = %512, %505
  br label %517

517:                                              ; preds = %512, %516
  %.str.4.sink895 = phi ptr [ @.str.4, %516 ], [ @.str, %512 ]
  store i32 %507, ptr %506, align 4, !tbaa !5
  %518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %519 = load i32, ptr @test_count, align 4, !tbaa !5
  %520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %521 = load i32, ptr %520, align 4, !tbaa !5
  %522 = call ptr @s2n_strerror(i32 noundef %521, ptr noundef nonnull @.str.3) #13
  %523 = load i32, ptr %520, align 4, !tbaa !5
  %524 = call ptr @s2n_strerror_debug(i32 noundef %523, ptr noundef nonnull @.str.3) #13
  %525 = load i32, ptr %506, align 4, !tbaa !5
  %526 = call ptr @strerror(i32 noundef %525) #13
  %527 = load i32, ptr %506, align 4, !tbaa !5
  %528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %518, ptr noundef nonnull %.str.4.sink895, i32 noundef %519, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.2, i32 noundef 100, ptr noundef %522, ptr noundef %524, ptr noundef %526, i32 noundef %527) #15
  call void @exit(i32 noundef 1) #16
  unreachable

529:                                              ; preds = %499
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %10) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %10, i8 0, i64 100, i1 false)
  %530 = load i32, ptr @test_count, align 4, !tbaa !5
  %531 = add nsw i32 %530, 1
  store i32 %531, ptr @test_count, align 4, !tbaa !5
  %532 = load ptr, ptr %8, align 8, !tbaa !9
  %533 = call i64 @s2n_recv(ptr noundef %532, ptr noundef nonnull %10, i64 noundef 90, ptr noundef nonnull %6) #13
  %534 = icmp eq i64 %533, 90
  br i1 %534, label %559, label %535

535:                                              ; preds = %529
  %536 = tail call ptr @__errno_location() #14
  %537 = load i32, ptr %536, align 4, !tbaa !5
  %538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %539 = call i32 @s2n_print_stacktrace(ptr noundef %538) #13
  %540 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %541 = trunc nuw i8 %540 to i1
  br i1 %541, label %542, label %546

542:                                              ; preds = %535
  %543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %544 = call i32 @fileno(ptr noundef %543) #13
  %545 = call i32 @isatty(i32 noundef %544) #13
  %.not517 = icmp eq i32 %545, 0
  br i1 %.not517, label %546, label %547

546:                                              ; preds = %542, %535
  br label %547

547:                                              ; preds = %542, %546
  %.str.4.sink906 = phi ptr [ @.str.4, %546 ], [ @.str, %542 ]
  store i32 %537, ptr %536, align 4, !tbaa !5
  %548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %549 = load i32, ptr @test_count, align 4, !tbaa !5
  %550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %551 = load i32, ptr %550, align 4, !tbaa !5
  %552 = call ptr @s2n_strerror(i32 noundef %551, ptr noundef nonnull @.str.3) #13
  %553 = load i32, ptr %550, align 4, !tbaa !5
  %554 = call ptr @s2n_strerror_debug(i32 noundef %553, ptr noundef nonnull @.str.3) #13
  %555 = load i32, ptr %536, align 4, !tbaa !5
  %556 = call ptr @strerror(i32 noundef %555) #13
  %557 = load i32, ptr %536, align 4, !tbaa !5
  %558 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %548, ptr noundef nonnull %.str.4.sink906, i32 noundef %549, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.2, i32 noundef 106, ptr noundef %552, ptr noundef %554, ptr noundef %556, i32 noundef %557) #15
  call void @exit(i32 noundef 1) #16
  unreachable

559:                                              ; preds = %529
  %560 = load i32, ptr @test_count, align 4, !tbaa !5
  %561 = add nsw i32 %560, 1
  store i32 %561, ptr @test_count, align 4, !tbaa !5
  %562 = load ptr, ptr %8, align 8, !tbaa !9
  %563 = call i32 @s2n_peek(ptr noundef %562) #13
  %564 = icmp eq i32 %563, 10
  br i1 %564, label %589, label %565

565:                                              ; preds = %559
  %566 = tail call ptr @__errno_location() #14
  %567 = load i32, ptr %566, align 4, !tbaa !5
  %568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %569 = call i32 @s2n_print_stacktrace(ptr noundef %568) #13
  %570 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %571 = trunc nuw i8 %570 to i1
  br i1 %571, label %572, label %576

572:                                              ; preds = %565
  %573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %574 = call i32 @fileno(ptr noundef %573) #13
  %575 = call i32 @isatty(i32 noundef %574) #13
  %.not518 = icmp eq i32 %575, 0
  br i1 %.not518, label %576, label %577

576:                                              ; preds = %572, %565
  br label %577

577:                                              ; preds = %572, %576
  %.str.4.sink917 = phi ptr [ @.str.4, %576 ], [ @.str, %572 ]
  store i32 %567, ptr %566, align 4, !tbaa !5
  %578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %579 = load i32, ptr @test_count, align 4, !tbaa !5
  %580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %581 = load i32, ptr %580, align 4, !tbaa !5
  %582 = call ptr @s2n_strerror(i32 noundef %581, ptr noundef nonnull @.str.3) #13
  %583 = load i32, ptr %580, align 4, !tbaa !5
  %584 = call ptr @s2n_strerror_debug(i32 noundef %583, ptr noundef nonnull @.str.3) #13
  %585 = load i32, ptr %566, align 4, !tbaa !5
  %586 = call ptr @strerror(i32 noundef %585) #13
  %587 = load i32, ptr %566, align 4, !tbaa !5
  %588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %578, ptr noundef nonnull %.str.4.sink917, i32 noundef %579, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.2, i32 noundef 109, ptr noundef %582, ptr noundef %584, ptr noundef %586, i32 noundef %587) #15
  call void @exit(i32 noundef 1) #16
  unreachable

589:                                              ; preds = %559
  %590 = load i32, ptr @test_count, align 4, !tbaa !5
  %591 = add nsw i32 %590, 1
  store i32 %591, ptr @test_count, align 4, !tbaa !5
  %592 = load ptr, ptr %8, align 8, !tbaa !9
  %593 = call i64 @s2n_recv(ptr noundef %592, ptr noundef nonnull %10, i64 noundef 10, ptr noundef nonnull %6) #13
  %594 = icmp eq i64 %593, 10
  br i1 %594, label %619, label %595

595:                                              ; preds = %589
  %596 = tail call ptr @__errno_location() #14
  %597 = load i32, ptr %596, align 4, !tbaa !5
  %598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %599 = call i32 @s2n_print_stacktrace(ptr noundef %598) #13
  %600 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %601 = trunc nuw i8 %600 to i1
  br i1 %601, label %602, label %606

602:                                              ; preds = %595
  %603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %604 = call i32 @fileno(ptr noundef %603) #13
  %605 = call i32 @isatty(i32 noundef %604) #13
  %.not519 = icmp eq i32 %605, 0
  br i1 %.not519, label %606, label %607

606:                                              ; preds = %602, %595
  br label %607

607:                                              ; preds = %602, %606
  %.str.4.sink928 = phi ptr [ @.str.4, %606 ], [ @.str, %602 ]
  store i32 %597, ptr %596, align 4, !tbaa !5
  %608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %609 = load i32, ptr @test_count, align 4, !tbaa !5
  %610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %611 = load i32, ptr %610, align 4, !tbaa !5
  %612 = call ptr @s2n_strerror(i32 noundef %611, ptr noundef nonnull @.str.3) #13
  %613 = load i32, ptr %610, align 4, !tbaa !5
  %614 = call ptr @s2n_strerror_debug(i32 noundef %613, ptr noundef nonnull @.str.3) #13
  %615 = load i32, ptr %596, align 4, !tbaa !5
  %616 = call ptr @strerror(i32 noundef %615) #13
  %617 = load i32, ptr %596, align 4, !tbaa !5
  %618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %608, ptr noundef nonnull %.str.4.sink928, i32 noundef %609, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.2, i32 noundef 112, ptr noundef %612, ptr noundef %614, ptr noundef %616, i32 noundef %617) #15
  call void @exit(i32 noundef 1) #16
  unreachable

619:                                              ; preds = %589
  %620 = load i32, ptr @test_count, align 4, !tbaa !5
  %621 = add nsw i32 %620, 1
  store i32 %621, ptr @test_count, align 4, !tbaa !5
  %622 = load ptr, ptr %8, align 8, !tbaa !9
  %623 = call i32 @s2n_peek(ptr noundef %622) #13
  %624 = icmp eq i32 %623, 0
  br i1 %624, label %649, label %625

625:                                              ; preds = %619
  %626 = tail call ptr @__errno_location() #14
  %627 = load i32, ptr %626, align 4, !tbaa !5
  %628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %629 = call i32 @s2n_print_stacktrace(ptr noundef %628) #13
  %630 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %631 = trunc nuw i8 %630 to i1
  br i1 %631, label %632, label %636

632:                                              ; preds = %625
  %633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %634 = call i32 @fileno(ptr noundef %633) #13
  %635 = call i32 @isatty(i32 noundef %634) #13
  %.not520 = icmp eq i32 %635, 0
  br i1 %.not520, label %636, label %637

636:                                              ; preds = %632, %625
  br label %637

637:                                              ; preds = %632, %636
  %.str.4.sink939 = phi ptr [ @.str.4, %636 ], [ @.str, %632 ]
  store i32 %627, ptr %626, align 4, !tbaa !5
  %638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %639 = load i32, ptr @test_count, align 4, !tbaa !5
  %640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %641 = load i32, ptr %640, align 4, !tbaa !5
  %642 = call ptr @s2n_strerror(i32 noundef %641, ptr noundef nonnull @.str.3) #13
  %643 = load i32, ptr %640, align 4, !tbaa !5
  %644 = call ptr @s2n_strerror_debug(i32 noundef %643, ptr noundef nonnull @.str.3) #13
  %645 = load i32, ptr %626, align 4, !tbaa !5
  %646 = call ptr @strerror(i32 noundef %645) #13
  %647 = load i32, ptr %626, align 4, !tbaa !5
  %648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %638, ptr noundef nonnull %.str.4.sink939, i32 noundef %639, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.2, i32 noundef 115, ptr noundef %642, ptr noundef %644, ptr noundef %646, i32 noundef %647) #15
  call void @exit(i32 noundef 1) #16
  unreachable

649:                                              ; preds = %619
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %10) #13
  %650 = call i32 @s2n_io_pair_close(ptr noundef nonnull %9) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #13
  %651 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %8) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #13
  %652 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %7) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #13
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %11) #13
  store i32 0, ptr %11, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #13
  %653 = call ptr @s2n_connection_new(i32 noundef 1) #13
  store ptr %653, ptr %12, align 8, !tbaa !9
  %654 = load i32, ptr @test_count, align 4, !tbaa !5
  %655 = add nsw i32 %654, 1
  store i32 %655, ptr @test_count, align 4, !tbaa !5
  %656 = call i32 @s2n_connection_set_config(ptr noundef %653, ptr noundef %201) #13
  %657 = icmp eq i32 %656, -1
  br i1 %657, label %658, label %682

658:                                              ; preds = %649
  %659 = tail call ptr @__errno_location() #14
  %660 = load i32, ptr %659, align 4, !tbaa !5
  %661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %662 = call i32 @s2n_print_stacktrace(ptr noundef %661) #13
  %663 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %664 = trunc nuw i8 %663 to i1
  br i1 %664, label %665, label %669

665:                                              ; preds = %658
  %666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %667 = call i32 @fileno(ptr noundef %666) #13
  %668 = call i32 @isatty(i32 noundef %667) #13
  %.not705 = icmp eq i32 %668, 0
  br i1 %.not705, label %669, label %670

669:                                              ; preds = %665, %658
  br label %670

670:                                              ; preds = %665, %669
  %.str.4.sink950 = phi ptr [ @.str.4, %669 ], [ @.str, %665 ]
  store i32 %660, ptr %659, align 4, !tbaa !5
  %671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %672 = load i32, ptr @test_count, align 4, !tbaa !5
  %673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %674 = load i32, ptr %673, align 4, !tbaa !5
  %675 = call ptr @s2n_strerror(i32 noundef %674, ptr noundef nonnull @.str.3) #13
  %676 = load i32, ptr %673, align 4, !tbaa !5
  %677 = call ptr @s2n_strerror_debug(i32 noundef %676, ptr noundef nonnull @.str.3) #13
  %678 = load i32, ptr %659, align 4, !tbaa !5
  %679 = call ptr @strerror(i32 noundef %678) #13
  %680 = load i32, ptr %659, align 4, !tbaa !5
  %681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %671, ptr noundef nonnull %.str.4.sink950, i32 noundef %672, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.2, i32 noundef 124, ptr noundef %675, ptr noundef %677, ptr noundef %679, i32 noundef %680) #15
  call void @exit(i32 noundef 1) #16
  unreachable

682:                                              ; preds = %649
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #13
  %683 = call ptr @s2n_connection_new(i32 noundef 0) #13
  store ptr %683, ptr %13, align 8, !tbaa !9
  %684 = load i32, ptr @test_count, align 4, !tbaa !5
  %685 = add nsw i32 %684, 1
  store i32 %685, ptr @test_count, align 4, !tbaa !5
  %686 = call i32 @s2n_connection_set_config(ptr noundef %683, ptr noundef %201) #13
  %687 = icmp eq i32 %686, -1
  br i1 %687, label %688, label %712

688:                                              ; preds = %682
  %689 = tail call ptr @__errno_location() #14
  %690 = load i32, ptr %689, align 4, !tbaa !5
  %691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %692 = call i32 @s2n_print_stacktrace(ptr noundef %691) #13
  %693 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %694 = trunc nuw i8 %693 to i1
  br i1 %694, label %695, label %699

695:                                              ; preds = %688
  %696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %697 = call i32 @fileno(ptr noundef %696) #13
  %698 = call i32 @isatty(i32 noundef %697) #13
  %.not704 = icmp eq i32 %698, 0
  br i1 %.not704, label %699, label %700

699:                                              ; preds = %695, %688
  br label %700

700:                                              ; preds = %695, %699
  %.str.4.sink961 = phi ptr [ @.str.4, %699 ], [ @.str, %695 ]
  store i32 %690, ptr %689, align 4, !tbaa !5
  %701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %702 = load i32, ptr @test_count, align 4, !tbaa !5
  %703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %704 = load i32, ptr %703, align 4, !tbaa !5
  %705 = call ptr @s2n_strerror(i32 noundef %704, ptr noundef nonnull @.str.3) #13
  %706 = load i32, ptr %703, align 4, !tbaa !5
  %707 = call ptr @s2n_strerror_debug(i32 noundef %706, ptr noundef nonnull @.str.3) #13
  %708 = load i32, ptr %689, align 4, !tbaa !5
  %709 = call ptr @strerror(i32 noundef %708) #13
  %710 = load i32, ptr %689, align 4, !tbaa !5
  %711 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %701, ptr noundef nonnull %.str.4.sink961, i32 noundef %702, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.2, i32 noundef 127, ptr noundef %705, ptr noundef %707, ptr noundef %709, i32 noundef %710) #15
  call void @exit(i32 noundef 1) #16
  unreachable

712:                                              ; preds = %682
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %14) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %14, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %15) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %15, i8 0, i64 40, i1 false)
  %713 = load i32, ptr @test_count, align 4, !tbaa !5
  %714 = add nsw i32 %713, 1
  store i32 %714, ptr @test_count, align 4, !tbaa !5
  %715 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %14, i32 noundef 0) #13
  %716 = icmp eq i32 %715, -1
  br i1 %716, label %717, label %741

717:                                              ; preds = %712
  %718 = tail call ptr @__errno_location() #14
  %719 = load i32, ptr %718, align 4, !tbaa !5
  %720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %721 = call i32 @s2n_print_stacktrace(ptr noundef %720) #13
  %722 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %723 = trunc nuw i8 %722 to i1
  br i1 %723, label %724, label %728

724:                                              ; preds = %717
  %725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %726 = call i32 @fileno(ptr noundef %725) #13
  %727 = call i32 @isatty(i32 noundef %726) #13
  %.not703 = icmp eq i32 %727, 0
  br i1 %.not703, label %728, label %729

728:                                              ; preds = %724, %717
  br label %729

729:                                              ; preds = %724, %728
  %.str.4.sink972 = phi ptr [ @.str.4, %728 ], [ @.str, %724 ]
  store i32 %719, ptr %718, align 4, !tbaa !5
  %730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %731 = load i32, ptr @test_count, align 4, !tbaa !5
  %732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %733 = load i32, ptr %732, align 4, !tbaa !5
  %734 = call ptr @s2n_strerror(i32 noundef %733, ptr noundef nonnull @.str.3) #13
  %735 = load i32, ptr %732, align 4, !tbaa !5
  %736 = call ptr @s2n_strerror_debug(i32 noundef %735, ptr noundef nonnull @.str.3) #13
  %737 = load i32, ptr %718, align 4, !tbaa !5
  %738 = call ptr @strerror(i32 noundef %737) #13
  %739 = load i32, ptr %718, align 4, !tbaa !5
  %740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %730, ptr noundef nonnull %.str.4.sink972, i32 noundef %731, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.2, i32 noundef 132, ptr noundef %734, ptr noundef %736, ptr noundef %738, i32 noundef %739) #15
  call void @exit(i32 noundef 1) #16
  unreachable

741:                                              ; preds = %712
  %742 = load i32, ptr @test_count, align 4, !tbaa !5
  %743 = add nsw i32 %742, 1
  store i32 %743, ptr @test_count, align 4, !tbaa !5
  %744 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %15, i32 noundef 0) #13
  %745 = icmp eq i32 %744, -1
  br i1 %745, label %746, label %770

746:                                              ; preds = %741
  %747 = tail call ptr @__errno_location() #14
  %748 = load i32, ptr %747, align 4, !tbaa !5
  %749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %750 = call i32 @s2n_print_stacktrace(ptr noundef %749) #13
  %751 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %752 = trunc nuw i8 %751 to i1
  br i1 %752, label %753, label %757

753:                                              ; preds = %746
  %754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %755 = call i32 @fileno(ptr noundef %754) #13
  %756 = call i32 @isatty(i32 noundef %755) #13
  %.not702 = icmp eq i32 %756, 0
  br i1 %.not702, label %757, label %758

757:                                              ; preds = %753, %746
  br label %758

758:                                              ; preds = %753, %757
  %.str.4.sink983 = phi ptr [ @.str.4, %757 ], [ @.str, %753 ]
  store i32 %748, ptr %747, align 4, !tbaa !5
  %759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %760 = load i32, ptr @test_count, align 4, !tbaa !5
  %761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %762 = load i32, ptr %761, align 4, !tbaa !5
  %763 = call ptr @s2n_strerror(i32 noundef %762, ptr noundef nonnull @.str.3) #13
  %764 = load i32, ptr %761, align 4, !tbaa !5
  %765 = call ptr @s2n_strerror_debug(i32 noundef %764, ptr noundef nonnull @.str.3) #13
  %766 = load i32, ptr %747, align 4, !tbaa !5
  %767 = call ptr @strerror(i32 noundef %766) #13
  %768 = load i32, ptr %747, align 4, !tbaa !5
  %769 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %759, ptr noundef nonnull %.str.4.sink983, i32 noundef %760, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i32 noundef 133, ptr noundef %763, ptr noundef %765, ptr noundef %767, i32 noundef %768) #15
  call void @exit(i32 noundef 1) #16
  unreachable

770:                                              ; preds = %741
  %771 = load i32, ptr @test_count, align 4, !tbaa !5
  %772 = add nsw i32 %771, 1
  store i32 %772, ptr @test_count, align 4, !tbaa !5
  %773 = load ptr, ptr %12, align 8, !tbaa !9
  %774 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %15, ptr noundef nonnull %14, ptr noundef %773) #13
  %775 = icmp eq i32 %774, -1
  br i1 %775, label %776, label %800

776:                                              ; preds = %770
  %777 = tail call ptr @__errno_location() #14
  %778 = load i32, ptr %777, align 4, !tbaa !5
  %779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %780 = call i32 @s2n_print_stacktrace(ptr noundef %779) #13
  %781 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %782 = trunc nuw i8 %781 to i1
  br i1 %782, label %783, label %787

783:                                              ; preds = %776
  %784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %785 = call i32 @fileno(ptr noundef %784) #13
  %786 = call i32 @isatty(i32 noundef %785) #13
  %.not701 = icmp eq i32 %786, 0
  br i1 %.not701, label %787, label %788

787:                                              ; preds = %783, %776
  br label %788

788:                                              ; preds = %783, %787
  %.str.4.sink994 = phi ptr [ @.str.4, %787 ], [ @.str, %783 ]
  store i32 %778, ptr %777, align 4, !tbaa !5
  %789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %790 = load i32, ptr @test_count, align 4, !tbaa !5
  %791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %792 = load i32, ptr %791, align 4, !tbaa !5
  %793 = call ptr @s2n_strerror(i32 noundef %792, ptr noundef nonnull @.str.3) #13
  %794 = load i32, ptr %791, align 4, !tbaa !5
  %795 = call ptr @s2n_strerror_debug(i32 noundef %794, ptr noundef nonnull @.str.3) #13
  %796 = load i32, ptr %777, align 4, !tbaa !5
  %797 = call ptr @strerror(i32 noundef %796) #13
  %798 = load i32, ptr %777, align 4, !tbaa !5
  %799 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %789, ptr noundef nonnull %.str.4.sink994, i32 noundef %790, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 134, ptr noundef %793, ptr noundef %795, ptr noundef %797, i32 noundef %798) #15
  call void @exit(i32 noundef 1) #16
  unreachable

800:                                              ; preds = %770
  %801 = load i32, ptr @test_count, align 4, !tbaa !5
  %802 = add nsw i32 %801, 1
  store i32 %802, ptr @test_count, align 4, !tbaa !5
  %803 = load ptr, ptr %13, align 8, !tbaa !9
  %804 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %14, ptr noundef nonnull %15, ptr noundef %803) #13
  %805 = icmp eq i32 %804, -1
  br i1 %805, label %806, label %830

806:                                              ; preds = %800
  %807 = tail call ptr @__errno_location() #14
  %808 = load i32, ptr %807, align 4, !tbaa !5
  %809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %810 = call i32 @s2n_print_stacktrace(ptr noundef %809) #13
  %811 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %812 = trunc nuw i8 %811 to i1
  br i1 %812, label %813, label %817

813:                                              ; preds = %806
  %814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %815 = call i32 @fileno(ptr noundef %814) #13
  %816 = call i32 @isatty(i32 noundef %815) #13
  %.not700 = icmp eq i32 %816, 0
  br i1 %.not700, label %817, label %818

817:                                              ; preds = %813, %806
  br label %818

818:                                              ; preds = %813, %817
  %.str.4.sink1005 = phi ptr [ @.str.4, %817 ], [ @.str, %813 ]
  store i32 %808, ptr %807, align 4, !tbaa !5
  %819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %820 = load i32, ptr @test_count, align 4, !tbaa !5
  %821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %822 = load i32, ptr %821, align 4, !tbaa !5
  %823 = call ptr @s2n_strerror(i32 noundef %822, ptr noundef nonnull @.str.3) #13
  %824 = load i32, ptr %821, align 4, !tbaa !5
  %825 = call ptr @s2n_strerror_debug(i32 noundef %824, ptr noundef nonnull @.str.3) #13
  %826 = load i32, ptr %807, align 4, !tbaa !5
  %827 = call ptr @strerror(i32 noundef %826) #13
  %828 = load i32, ptr %807, align 4, !tbaa !5
  %829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %819, ptr noundef nonnull %.str.4.sink1005, i32 noundef %820, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.2, i32 noundef 135, ptr noundef %823, ptr noundef %825, ptr noundef %827, i32 noundef %828) #15
  call void @exit(i32 noundef 1) #16
  unreachable

830:                                              ; preds = %800
  %831 = load i32, ptr @test_count, align 4, !tbaa !5
  %832 = add nsw i32 %831, 1
  store i32 %832, ptr @test_count, align 4, !tbaa !5
  %833 = load ptr, ptr %13, align 8, !tbaa !9
  %834 = load ptr, ptr %12, align 8, !tbaa !9
  %835 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %833, ptr noundef %834) #13
  %836 = icmp eq i32 %835, -1
  br i1 %836, label %837, label %861

837:                                              ; preds = %830
  %838 = tail call ptr @__errno_location() #14
  %839 = load i32, ptr %838, align 4, !tbaa !5
  %840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %841 = call i32 @s2n_print_stacktrace(ptr noundef %840) #13
  %842 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %843 = trunc nuw i8 %842 to i1
  br i1 %843, label %844, label %848

844:                                              ; preds = %837
  %845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %846 = call i32 @fileno(ptr noundef %845) #13
  %847 = call i32 @isatty(i32 noundef %846) #13
  %.not699 = icmp eq i32 %847, 0
  br i1 %.not699, label %848, label %849

848:                                              ; preds = %844, %837
  br label %849

849:                                              ; preds = %844, %848
  %.str.4.sink1016 = phi ptr [ @.str.4, %848 ], [ @.str, %844 ]
  store i32 %839, ptr %838, align 4, !tbaa !5
  %850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %851 = load i32, ptr @test_count, align 4, !tbaa !5
  %852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %853 = load i32, ptr %852, align 4, !tbaa !5
  %854 = call ptr @s2n_strerror(i32 noundef %853, ptr noundef nonnull @.str.3) #13
  %855 = load i32, ptr %852, align 4, !tbaa !5
  %856 = call ptr @s2n_strerror_debug(i32 noundef %855, ptr noundef nonnull @.str.3) #13
  %857 = load i32, ptr %838, align 4, !tbaa !5
  %858 = call ptr @strerror(i32 noundef %857) #13
  %859 = load i32, ptr %838, align 4, !tbaa !5
  %860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %850, ptr noundef nonnull %.str.4.sink1016, i32 noundef %851, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.2, i32 noundef 137, ptr noundef %854, ptr noundef %856, ptr noundef %858, i32 noundef %859) #15
  call void @exit(i32 noundef 1) #16
  unreachable

861:                                              ; preds = %830
  %862 = load i32, ptr @test_count, align 4, !tbaa !5
  %863 = add nsw i32 %862, 1
  store i32 %863, ptr @test_count, align 4, !tbaa !5
  %864 = load ptr, ptr %12, align 8, !tbaa !9
  %865 = call i64 @s2n_send(ptr noundef %864, ptr noundef nonnull %5, i64 noundef 100, ptr noundef nonnull %11) #13
  %866 = icmp eq i64 %865, 100
  br i1 %866, label %891, label %867

867:                                              ; preds = %861
  %868 = tail call ptr @__errno_location() #14
  %869 = load i32, ptr %868, align 4, !tbaa !5
  %870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %871 = call i32 @s2n_print_stacktrace(ptr noundef %870) #13
  %872 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %873 = trunc nuw i8 %872 to i1
  br i1 %873, label %874, label %878

874:                                              ; preds = %867
  %875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %876 = call i32 @fileno(ptr noundef %875) #13
  %877 = call i32 @isatty(i32 noundef %876) #13
  %.not521 = icmp eq i32 %877, 0
  br i1 %.not521, label %878, label %879

878:                                              ; preds = %874, %867
  br label %879

879:                                              ; preds = %874, %878
  %.str.4.sink1027 = phi ptr [ @.str.4, %878 ], [ @.str, %874 ]
  store i32 %869, ptr %868, align 4, !tbaa !5
  %880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %881 = load i32, ptr @test_count, align 4, !tbaa !5
  %882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %883 = load i32, ptr %882, align 4, !tbaa !5
  %884 = call ptr @s2n_strerror(i32 noundef %883, ptr noundef nonnull @.str.3) #13
  %885 = load i32, ptr %882, align 4, !tbaa !5
  %886 = call ptr @s2n_strerror_debug(i32 noundef %885, ptr noundef nonnull @.str.3) #13
  %887 = load i32, ptr %868, align 4, !tbaa !5
  %888 = call ptr @strerror(i32 noundef %887) #13
  %889 = load i32, ptr %868, align 4, !tbaa !5
  %890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %880, ptr noundef nonnull %.str.4.sink1027, i32 noundef %881, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.2, i32 noundef 140, ptr noundef %884, ptr noundef %886, ptr noundef %888, i32 noundef %889) #15
  call void @exit(i32 noundef 1) #16
  unreachable

891:                                              ; preds = %861
  %892 = load i32, ptr @test_count, align 4, !tbaa !5
  %893 = add nsw i32 %892, 1
  store i32 %893, ptr @test_count, align 4, !tbaa !5
  %894 = call i32 @s2n_stuffer_wipe_n(ptr noundef nonnull %14, i32 noundef 10) #13
  %895 = icmp eq i32 %894, -1
  br i1 %895, label %896, label %920

896:                                              ; preds = %891
  %897 = tail call ptr @__errno_location() #14
  %898 = load i32, ptr %897, align 4, !tbaa !5
  %899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %900 = call i32 @s2n_print_stacktrace(ptr noundef %899) #13
  %901 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %902 = trunc nuw i8 %901 to i1
  br i1 %902, label %903, label %907

903:                                              ; preds = %896
  %904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %905 = call i32 @fileno(ptr noundef %904) #13
  %906 = call i32 @isatty(i32 noundef %905) #13
  %.not698 = icmp eq i32 %906, 0
  br i1 %.not698, label %907, label %908

907:                                              ; preds = %903, %896
  br label %908

908:                                              ; preds = %903, %907
  %.str.4.sink1038 = phi ptr [ @.str.4, %907 ], [ @.str, %903 ]
  store i32 %898, ptr %897, align 4, !tbaa !5
  %909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %910 = load i32, ptr @test_count, align 4, !tbaa !5
  %911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %912 = load i32, ptr %911, align 4, !tbaa !5
  %913 = call ptr @s2n_strerror(i32 noundef %912, ptr noundef nonnull @.str.3) #13
  %914 = load i32, ptr %911, align 4, !tbaa !5
  %915 = call ptr @s2n_strerror_debug(i32 noundef %914, ptr noundef nonnull @.str.3) #13
  %916 = load i32, ptr %897, align 4, !tbaa !5
  %917 = call ptr @strerror(i32 noundef %916) #13
  %918 = load i32, ptr %897, align 4, !tbaa !5
  %919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %909, ptr noundef nonnull %.str.4.sink1038, i32 noundef %910, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.2, i32 noundef 143, ptr noundef %913, ptr noundef %915, ptr noundef %917, i32 noundef %918) #15
  call void @exit(i32 noundef 1) #16
  unreachable

920:                                              ; preds = %891
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %16) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %16, i8 0, i64 100, i1 false)
  %921 = load i32, ptr @test_count, align 4, !tbaa !5
  %922 = add nsw i32 %921, 1
  store i32 %922, ptr @test_count, align 4, !tbaa !5
  %923 = load ptr, ptr %13, align 8, !tbaa !9
  %924 = call i64 @s2n_recv(ptr noundef %923, ptr noundef nonnull %16, i64 noundef 100, ptr noundef nonnull %11) #13
  %925 = icmp eq i64 %924, -1
  br i1 %925, label %950, label %926

926:                                              ; preds = %920
  %927 = tail call ptr @__errno_location() #14
  %928 = load i32, ptr %927, align 4, !tbaa !5
  %929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %930 = call i32 @s2n_print_stacktrace(ptr noundef %929) #13
  %931 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %932 = trunc nuw i8 %931 to i1
  br i1 %932, label %933, label %937

933:                                              ; preds = %926
  %934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %935 = call i32 @fileno(ptr noundef %934) #13
  %936 = call i32 @isatty(i32 noundef %935) #13
  %.not522 = icmp eq i32 %936, 0
  br i1 %.not522, label %937, label %938

937:                                              ; preds = %933, %926
  br label %938

938:                                              ; preds = %933, %937
  %.str.4.sink1049 = phi ptr [ @.str.4, %937 ], [ @.str, %933 ]
  store i32 %928, ptr %927, align 4, !tbaa !5
  %939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %940 = load i32, ptr @test_count, align 4, !tbaa !5
  %941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %942 = load i32, ptr %941, align 4, !tbaa !5
  %943 = call ptr @s2n_strerror(i32 noundef %942, ptr noundef nonnull @.str.3) #13
  %944 = load i32, ptr %941, align 4, !tbaa !5
  %945 = call ptr @s2n_strerror_debug(i32 noundef %944, ptr noundef nonnull @.str.3) #13
  %946 = load i32, ptr %927, align 4, !tbaa !5
  %947 = call ptr @strerror(i32 noundef %946) #13
  %948 = load i32, ptr %927, align 4, !tbaa !5
  %949 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %939, ptr noundef nonnull %.str.4.sink1049, i32 noundef %940, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.2, i32 noundef 148, ptr noundef %943, ptr noundef %945, ptr noundef %947, i32 noundef %948) #15
  call void @exit(i32 noundef 1) #16
  unreachable

950:                                              ; preds = %920
  %951 = load i32, ptr @test_count, align 4, !tbaa !5
  %952 = add nsw i32 %951, 1
  store i32 %952, ptr @test_count, align 4, !tbaa !5
  %953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %954 = load i32, ptr %953, align 4, !tbaa !5
  %955 = icmp eq i32 %954, 201326592
  br i1 %955, label %979, label %956

956:                                              ; preds = %950
  %957 = tail call ptr @__errno_location() #14
  %958 = load i32, ptr %957, align 4, !tbaa !5
  %959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %960 = call i32 @s2n_print_stacktrace(ptr noundef %959) #13
  %961 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %962 = trunc nuw i8 %961 to i1
  br i1 %962, label %963, label %967

963:                                              ; preds = %956
  %964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %965 = call i32 @fileno(ptr noundef %964) #13
  %966 = call i32 @isatty(i32 noundef %965) #13
  %.not523 = icmp eq i32 %966, 0
  br i1 %.not523, label %967, label %968

967:                                              ; preds = %963, %956
  br label %968

968:                                              ; preds = %963, %967
  %.str.4.sink1060 = phi ptr [ @.str.4, %967 ], [ @.str, %963 ]
  store i32 %958, ptr %957, align 4, !tbaa !5
  %969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %970 = load i32, ptr @test_count, align 4, !tbaa !5
  %971 = load i32, ptr %953, align 4, !tbaa !5
  %972 = call ptr @s2n_strerror(i32 noundef %971, ptr noundef nonnull @.str.3) #13
  %973 = load i32, ptr %953, align 4, !tbaa !5
  %974 = call ptr @s2n_strerror_debug(i32 noundef %973, ptr noundef nonnull @.str.3) #13
  %975 = load i32, ptr %957, align 4, !tbaa !5
  %976 = call ptr @strerror(i32 noundef %975) #13
  %977 = load i32, ptr %957, align 4, !tbaa !5
  %978 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %969, ptr noundef nonnull %.str.4.sink1060, i32 noundef %970, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.2, i32 noundef 148, ptr noundef %972, ptr noundef %974, ptr noundef %976, i32 noundef %977) #15
  call void @exit(i32 noundef 1) #16
  unreachable

979:                                              ; preds = %950
  %980 = add nsw i32 %951, 2
  store i32 %980, ptr @test_count, align 4, !tbaa !5
  %981 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.3) #13
  %982 = icmp eq ptr %981, null
  br i1 %982, label %983, label %1006

983:                                              ; preds = %979
  %984 = tail call ptr @__errno_location() #14
  %985 = load i32, ptr %984, align 4, !tbaa !5
  %986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %987 = call i32 @s2n_print_stacktrace(ptr noundef %986) #13
  %988 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %989 = trunc nuw i8 %988 to i1
  br i1 %989, label %990, label %994

990:                                              ; preds = %983
  %991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %992 = call i32 @fileno(ptr noundef %991) #13
  %993 = call i32 @isatty(i32 noundef %992) #13
  %.not697 = icmp eq i32 %993, 0
  br i1 %.not697, label %994, label %995

994:                                              ; preds = %990, %983
  br label %995

995:                                              ; preds = %990, %994
  %.str.4.sink1069 = phi ptr [ @.str.4, %994 ], [ @.str, %990 ]
  store i32 %985, ptr %984, align 4, !tbaa !5
  %996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %997 = load i32, ptr @test_count, align 4, !tbaa !5
  %998 = load i32, ptr %953, align 4, !tbaa !5
  %999 = call ptr @s2n_strerror(i32 noundef %998, ptr noundef nonnull @.str.3) #13
  %1000 = load i32, ptr %953, align 4, !tbaa !5
  %1001 = call ptr @s2n_strerror_debug(i32 noundef %1000, ptr noundef nonnull @.str.3) #13
  %1002 = load i32, ptr %984, align 4, !tbaa !5
  %1003 = call ptr @strerror(i32 noundef %1002) #13
  %1004 = load i32, ptr %984, align 4, !tbaa !5
  %1005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %996, ptr noundef nonnull %.str.4.sink1069, i32 noundef %997, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.2, i32 noundef 148, ptr noundef %999, ptr noundef %1001, ptr noundef %1003, i32 noundef %1004) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1006:                                             ; preds = %979
  store i32 0, ptr %953, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  %1007 = tail call ptr @__errno_location() #14
  store i32 0, ptr %1007, align 4, !tbaa !5
  %1008 = load i32, ptr @test_count, align 4, !tbaa !5
  %1009 = add nsw i32 %1008, 1
  store i32 %1009, ptr @test_count, align 4, !tbaa !5
  %1010 = load ptr, ptr %13, align 8, !tbaa !9
  %1011 = getelementptr inbounds i8, ptr %1010, i64 1884
  %1012 = load i32, ptr %1011, align 4, !tbaa !15
  %1013 = getelementptr inbounds i8, ptr %1010, i64 1880
  %1014 = load i32, ptr %1013, align 8, !tbaa !42
  %.not524 = icmp eq i32 %1012, %1014
  br i1 %.not524, label %1015, label %1037

1015:                                             ; preds = %1006
  %1016 = load i32, ptr %1007, align 4, !tbaa !5
  %1017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1018 = call i32 @s2n_print_stacktrace(ptr noundef %1017) #13
  %1019 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1020 = trunc nuw i8 %1019 to i1
  br i1 %1020, label %1021, label %1025

1021:                                             ; preds = %1015
  %1022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1023 = call i32 @fileno(ptr noundef %1022) #13
  %1024 = call i32 @isatty(i32 noundef %1023) #13
  %.not525 = icmp eq i32 %1024, 0
  br i1 %.not525, label %1025, label %1026

1025:                                             ; preds = %1021, %1015
  br label %1026

1026:                                             ; preds = %1021, %1025
  %.str.4.sink1078 = phi ptr [ @.str.4, %1025 ], [ @.str, %1021 ]
  store i32 %1016, ptr %1007, align 4, !tbaa !5
  %1027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1028 = load i32, ptr @test_count, align 4, !tbaa !5
  %1029 = load i32, ptr %953, align 4, !tbaa !5
  %1030 = call ptr @s2n_strerror(i32 noundef %1029, ptr noundef nonnull @.str.3) #13
  %1031 = load i32, ptr %953, align 4, !tbaa !5
  %1032 = call ptr @s2n_strerror_debug(i32 noundef %1031, ptr noundef nonnull @.str.3) #13
  %1033 = load i32, ptr %1007, align 4, !tbaa !5
  %1034 = call ptr @strerror(i32 noundef %1033) #13
  %1035 = load i32, ptr %1007, align 4, !tbaa !5
  %1036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1027, ptr noundef nonnull %.str.4.sink1078, i32 noundef %1028, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.2, i32 noundef 151, ptr noundef %1030, ptr noundef %1032, ptr noundef %1034, i32 noundef %1035) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1037:                                             ; preds = %1006
  %1038 = add nsw i32 %1008, 2
  store i32 %1038, ptr @test_count, align 4, !tbaa !5
  %1039 = call i32 @s2n_peek(ptr noundef nonnull %1010) #13
  %1040 = icmp eq i32 %1039, 0
  br i1 %1040, label %1063, label %1041

1041:                                             ; preds = %1037
  %1042 = load i32, ptr %1007, align 4, !tbaa !5
  %1043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1044 = call i32 @s2n_print_stacktrace(ptr noundef %1043) #13
  %1045 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1046 = trunc nuw i8 %1045 to i1
  br i1 %1046, label %1047, label %1051

1047:                                             ; preds = %1041
  %1048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1049 = call i32 @fileno(ptr noundef %1048) #13
  %1050 = call i32 @isatty(i32 noundef %1049) #13
  %.not526 = icmp eq i32 %1050, 0
  br i1 %.not526, label %1051, label %1052

1051:                                             ; preds = %1047, %1041
  br label %1052

1052:                                             ; preds = %1047, %1051
  %.str.4.sink1087 = phi ptr [ @.str.4, %1051 ], [ @.str, %1047 ]
  store i32 %1042, ptr %1007, align 4, !tbaa !5
  %1053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1054 = load i32, ptr @test_count, align 4, !tbaa !5
  %1055 = load i32, ptr %953, align 4, !tbaa !5
  %1056 = call ptr @s2n_strerror(i32 noundef %1055, ptr noundef nonnull @.str.3) #13
  %1057 = load i32, ptr %953, align 4, !tbaa !5
  %1058 = call ptr @s2n_strerror_debug(i32 noundef %1057, ptr noundef nonnull @.str.3) #13
  %1059 = load i32, ptr %1007, align 4, !tbaa !5
  %1060 = call ptr @strerror(i32 noundef %1059) #13
  %1061 = load i32, ptr %1007, align 4, !tbaa !5
  %1062 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1053, ptr noundef nonnull %.str.4.sink1087, i32 noundef %1054, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.2, i32 noundef 152, ptr noundef %1056, ptr noundef %1058, ptr noundef %1060, i32 noundef %1061) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1063:                                             ; preds = %1037
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %16) #13
  %1064 = call i32 @s2n_stuffer_free(ptr noundef nonnull %15) #13
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %15) #13
  %1065 = call i32 @s2n_stuffer_free(ptr noundef nonnull %14) #13
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %14) #13
  %1066 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %13) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #13
  %1067 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %12) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #13
  %1068 = call zeroext i1 (...) @s2n_is_tls13_fully_supported() #13
  br i1 %1068, label %1069, label %1491

1069:                                             ; preds = %1063
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %17) #13
  store i32 0, ptr %17, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #13
  %1070 = call ptr @s2n_connection_new(i32 noundef 1) #13
  store ptr %1070, ptr %18, align 8, !tbaa !9
  %1071 = load i32, ptr @test_count, align 4, !tbaa !5
  %1072 = add nsw i32 %1071, 1
  store i32 %1072, ptr @test_count, align 4, !tbaa !5
  %1073 = call i32 @s2n_connection_set_config(ptr noundef %1070, ptr noundef %201) #13
  %1074 = icmp eq i32 %1073, -1
  br i1 %1074, label %1075, label %1097

1075:                                             ; preds = %1069
  %1076 = load i32, ptr %1007, align 4, !tbaa !5
  %1077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1078 = call i32 @s2n_print_stacktrace(ptr noundef %1077) #13
  %1079 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1080 = trunc nuw i8 %1079 to i1
  br i1 %1080, label %1081, label %1085

1081:                                             ; preds = %1075
  %1082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1083 = call i32 @fileno(ptr noundef %1082) #13
  %1084 = call i32 @isatty(i32 noundef %1083) #13
  %.not696 = icmp eq i32 %1084, 0
  br i1 %.not696, label %1085, label %1086

1085:                                             ; preds = %1081, %1075
  br label %1086

1086:                                             ; preds = %1081, %1085
  %.str.4.sink1096 = phi ptr [ @.str.4, %1085 ], [ @.str, %1081 ]
  store i32 %1076, ptr %1007, align 4, !tbaa !5
  %1087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1088 = load i32, ptr @test_count, align 4, !tbaa !5
  %1089 = load i32, ptr %953, align 4, !tbaa !5
  %1090 = call ptr @s2n_strerror(i32 noundef %1089, ptr noundef nonnull @.str.3) #13
  %1091 = load i32, ptr %953, align 4, !tbaa !5
  %1092 = call ptr @s2n_strerror_debug(i32 noundef %1091, ptr noundef nonnull @.str.3) #13
  %1093 = load i32, ptr %1007, align 4, !tbaa !5
  %1094 = call ptr @strerror(i32 noundef %1093) #13
  %1095 = load i32, ptr %1007, align 4, !tbaa !5
  %1096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1087, ptr noundef nonnull %.str.4.sink1096, i32 noundef %1088, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.2, i32 noundef 161, ptr noundef %1090, ptr noundef %1092, ptr noundef %1094, i32 noundef %1095) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1097:                                             ; preds = %1069
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #13
  %1098 = call ptr @s2n_connection_new(i32 noundef 0) #13
  store ptr %1098, ptr %19, align 8, !tbaa !9
  %1099 = load i32, ptr @test_count, align 4, !tbaa !5
  %1100 = add nsw i32 %1099, 1
  store i32 %1100, ptr @test_count, align 4, !tbaa !5
  %1101 = call i32 @s2n_connection_set_config(ptr noundef %1098, ptr noundef %201) #13
  %1102 = icmp eq i32 %1101, -1
  br i1 %1102, label %1103, label %1125

1103:                                             ; preds = %1097
  %1104 = load i32, ptr %1007, align 4, !tbaa !5
  %1105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1106 = call i32 @s2n_print_stacktrace(ptr noundef %1105) #13
  %1107 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1108 = trunc nuw i8 %1107 to i1
  br i1 %1108, label %1109, label %1113

1109:                                             ; preds = %1103
  %1110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1111 = call i32 @fileno(ptr noundef %1110) #13
  %1112 = call i32 @isatty(i32 noundef %1111) #13
  %.not695 = icmp eq i32 %1112, 0
  br i1 %.not695, label %1113, label %1114

1113:                                             ; preds = %1109, %1103
  br label %1114

1114:                                             ; preds = %1109, %1113
  %.str.4.sink1105 = phi ptr [ @.str.4, %1113 ], [ @.str, %1109 ]
  store i32 %1104, ptr %1007, align 4, !tbaa !5
  %1115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1116 = load i32, ptr @test_count, align 4, !tbaa !5
  %1117 = load i32, ptr %953, align 4, !tbaa !5
  %1118 = call ptr @s2n_strerror(i32 noundef %1117, ptr noundef nonnull @.str.3) #13
  %1119 = load i32, ptr %953, align 4, !tbaa !5
  %1120 = call ptr @s2n_strerror_debug(i32 noundef %1119, ptr noundef nonnull @.str.3) #13
  %1121 = load i32, ptr %1007, align 4, !tbaa !5
  %1122 = call ptr @strerror(i32 noundef %1121) #13
  %1123 = load i32, ptr %1007, align 4, !tbaa !5
  %1124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1115, ptr noundef nonnull %.str.4.sink1105, i32 noundef %1116, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.2, i32 noundef 164, ptr noundef %1118, ptr noundef %1120, ptr noundef %1122, i32 noundef %1123) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1125:                                             ; preds = %1097
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %20) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %20, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %21) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %21, i8 0, i64 40, i1 false)
  %1126 = load i32, ptr @test_count, align 4, !tbaa !5
  %1127 = add nsw i32 %1126, 1
  store i32 %1127, ptr @test_count, align 4, !tbaa !5
  %1128 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %20, i32 noundef 0) #13
  %1129 = icmp eq i32 %1128, -1
  br i1 %1129, label %1130, label %1152

1130:                                             ; preds = %1125
  %1131 = load i32, ptr %1007, align 4, !tbaa !5
  %1132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1133 = call i32 @s2n_print_stacktrace(ptr noundef %1132) #13
  %1134 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1135 = trunc nuw i8 %1134 to i1
  br i1 %1135, label %1136, label %1140

1136:                                             ; preds = %1130
  %1137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1138 = call i32 @fileno(ptr noundef %1137) #13
  %1139 = call i32 @isatty(i32 noundef %1138) #13
  %.not694 = icmp eq i32 %1139, 0
  br i1 %.not694, label %1140, label %1141

1140:                                             ; preds = %1136, %1130
  br label %1141

1141:                                             ; preds = %1136, %1140
  %.str.4.sink1114 = phi ptr [ @.str.4, %1140 ], [ @.str, %1136 ]
  store i32 %1131, ptr %1007, align 4, !tbaa !5
  %1142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1143 = load i32, ptr @test_count, align 4, !tbaa !5
  %1144 = load i32, ptr %953, align 4, !tbaa !5
  %1145 = call ptr @s2n_strerror(i32 noundef %1144, ptr noundef nonnull @.str.3) #13
  %1146 = load i32, ptr %953, align 4, !tbaa !5
  %1147 = call ptr @s2n_strerror_debug(i32 noundef %1146, ptr noundef nonnull @.str.3) #13
  %1148 = load i32, ptr %1007, align 4, !tbaa !5
  %1149 = call ptr @strerror(i32 noundef %1148) #13
  %1150 = load i32, ptr %1007, align 4, !tbaa !5
  %1151 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1142, ptr noundef nonnull %.str.4.sink1114, i32 noundef %1143, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.2, i32 noundef 169, ptr noundef %1145, ptr noundef %1147, ptr noundef %1149, i32 noundef %1150) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1152:                                             ; preds = %1125
  %1153 = load i32, ptr @test_count, align 4, !tbaa !5
  %1154 = add nsw i32 %1153, 1
  store i32 %1154, ptr @test_count, align 4, !tbaa !5
  %1155 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %21, i32 noundef 0) #13
  %1156 = icmp eq i32 %1155, -1
  br i1 %1156, label %1157, label %1179

1157:                                             ; preds = %1152
  %1158 = load i32, ptr %1007, align 4, !tbaa !5
  %1159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1160 = call i32 @s2n_print_stacktrace(ptr noundef %1159) #13
  %1161 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1162 = trunc nuw i8 %1161 to i1
  br i1 %1162, label %1163, label %1167

1163:                                             ; preds = %1157
  %1164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1165 = call i32 @fileno(ptr noundef %1164) #13
  %1166 = call i32 @isatty(i32 noundef %1165) #13
  %.not693 = icmp eq i32 %1166, 0
  br i1 %.not693, label %1167, label %1168

1167:                                             ; preds = %1163, %1157
  br label %1168

1168:                                             ; preds = %1163, %1167
  %.str.4.sink1123 = phi ptr [ @.str.4, %1167 ], [ @.str, %1163 ]
  store i32 %1158, ptr %1007, align 4, !tbaa !5
  %1169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1170 = load i32, ptr @test_count, align 4, !tbaa !5
  %1171 = load i32, ptr %953, align 4, !tbaa !5
  %1172 = call ptr @s2n_strerror(i32 noundef %1171, ptr noundef nonnull @.str.3) #13
  %1173 = load i32, ptr %953, align 4, !tbaa !5
  %1174 = call ptr @s2n_strerror_debug(i32 noundef %1173, ptr noundef nonnull @.str.3) #13
  %1175 = load i32, ptr %1007, align 4, !tbaa !5
  %1176 = call ptr @strerror(i32 noundef %1175) #13
  %1177 = load i32, ptr %1007, align 4, !tbaa !5
  %1178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1169, ptr noundef nonnull %.str.4.sink1123, i32 noundef %1170, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i32 noundef 170, ptr noundef %1172, ptr noundef %1174, ptr noundef %1176, i32 noundef %1177) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1179:                                             ; preds = %1152
  %1180 = load i32, ptr @test_count, align 4, !tbaa !5
  %1181 = add nsw i32 %1180, 1
  store i32 %1181, ptr @test_count, align 4, !tbaa !5
  %1182 = load ptr, ptr %18, align 8, !tbaa !9
  %1183 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %21, ptr noundef nonnull %20, ptr noundef %1182) #13
  %1184 = icmp eq i32 %1183, -1
  br i1 %1184, label %1185, label %1207

1185:                                             ; preds = %1179
  %1186 = load i32, ptr %1007, align 4, !tbaa !5
  %1187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1188 = call i32 @s2n_print_stacktrace(ptr noundef %1187) #13
  %1189 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1190 = trunc nuw i8 %1189 to i1
  br i1 %1190, label %1191, label %1195

1191:                                             ; preds = %1185
  %1192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1193 = call i32 @fileno(ptr noundef %1192) #13
  %1194 = call i32 @isatty(i32 noundef %1193) #13
  %.not692 = icmp eq i32 %1194, 0
  br i1 %.not692, label %1195, label %1196

1195:                                             ; preds = %1191, %1185
  br label %1196

1196:                                             ; preds = %1191, %1195
  %.str.4.sink1132 = phi ptr [ @.str.4, %1195 ], [ @.str, %1191 ]
  store i32 %1186, ptr %1007, align 4, !tbaa !5
  %1197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1198 = load i32, ptr @test_count, align 4, !tbaa !5
  %1199 = load i32, ptr %953, align 4, !tbaa !5
  %1200 = call ptr @s2n_strerror(i32 noundef %1199, ptr noundef nonnull @.str.3) #13
  %1201 = load i32, ptr %953, align 4, !tbaa !5
  %1202 = call ptr @s2n_strerror_debug(i32 noundef %1201, ptr noundef nonnull @.str.3) #13
  %1203 = load i32, ptr %1007, align 4, !tbaa !5
  %1204 = call ptr @strerror(i32 noundef %1203) #13
  %1205 = load i32, ptr %1007, align 4, !tbaa !5
  %1206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1197, ptr noundef nonnull %.str.4.sink1132, i32 noundef %1198, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 171, ptr noundef %1200, ptr noundef %1202, ptr noundef %1204, i32 noundef %1205) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1207:                                             ; preds = %1179
  %1208 = load i32, ptr @test_count, align 4, !tbaa !5
  %1209 = add nsw i32 %1208, 1
  store i32 %1209, ptr @test_count, align 4, !tbaa !5
  %1210 = load ptr, ptr %19, align 8, !tbaa !9
  %1211 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %20, ptr noundef nonnull %21, ptr noundef %1210) #13
  %1212 = icmp eq i32 %1211, -1
  br i1 %1212, label %1213, label %1235

1213:                                             ; preds = %1207
  %1214 = load i32, ptr %1007, align 4, !tbaa !5
  %1215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1216 = call i32 @s2n_print_stacktrace(ptr noundef %1215) #13
  %1217 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1218 = trunc nuw i8 %1217 to i1
  br i1 %1218, label %1219, label %1223

1219:                                             ; preds = %1213
  %1220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1221 = call i32 @fileno(ptr noundef %1220) #13
  %1222 = call i32 @isatty(i32 noundef %1221) #13
  %.not691 = icmp eq i32 %1222, 0
  br i1 %.not691, label %1223, label %1224

1223:                                             ; preds = %1219, %1213
  br label %1224

1224:                                             ; preds = %1219, %1223
  %.str.4.sink1141 = phi ptr [ @.str.4, %1223 ], [ @.str, %1219 ]
  store i32 %1214, ptr %1007, align 4, !tbaa !5
  %1225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1226 = load i32, ptr @test_count, align 4, !tbaa !5
  %1227 = load i32, ptr %953, align 4, !tbaa !5
  %1228 = call ptr @s2n_strerror(i32 noundef %1227, ptr noundef nonnull @.str.3) #13
  %1229 = load i32, ptr %953, align 4, !tbaa !5
  %1230 = call ptr @s2n_strerror_debug(i32 noundef %1229, ptr noundef nonnull @.str.3) #13
  %1231 = load i32, ptr %1007, align 4, !tbaa !5
  %1232 = call ptr @strerror(i32 noundef %1231) #13
  %1233 = load i32, ptr %1007, align 4, !tbaa !5
  %1234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1225, ptr noundef nonnull %.str.4.sink1141, i32 noundef %1226, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.2, i32 noundef 172, ptr noundef %1228, ptr noundef %1230, ptr noundef %1232, i32 noundef %1233) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1235:                                             ; preds = %1207
  %1236 = load i32, ptr @test_count, align 4, !tbaa !5
  %1237 = add nsw i32 %1236, 1
  store i32 %1237, ptr @test_count, align 4, !tbaa !5
  %1238 = load ptr, ptr %19, align 8, !tbaa !9
  %1239 = load ptr, ptr %18, align 8, !tbaa !9
  %1240 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %1238, ptr noundef %1239) #13
  %1241 = icmp eq i32 %1240, -1
  br i1 %1241, label %1242, label %1264

1242:                                             ; preds = %1235
  %1243 = load i32, ptr %1007, align 4, !tbaa !5
  %1244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1245 = call i32 @s2n_print_stacktrace(ptr noundef %1244) #13
  %1246 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1247 = trunc nuw i8 %1246 to i1
  br i1 %1247, label %1248, label %1252

1248:                                             ; preds = %1242
  %1249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1250 = call i32 @fileno(ptr noundef %1249) #13
  %1251 = call i32 @isatty(i32 noundef %1250) #13
  %.not690 = icmp eq i32 %1251, 0
  br i1 %.not690, label %1252, label %1253

1252:                                             ; preds = %1248, %1242
  br label %1253

1253:                                             ; preds = %1248, %1252
  %.str.4.sink1150 = phi ptr [ @.str.4, %1252 ], [ @.str, %1248 ]
  store i32 %1243, ptr %1007, align 4, !tbaa !5
  %1254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1255 = load i32, ptr @test_count, align 4, !tbaa !5
  %1256 = load i32, ptr %953, align 4, !tbaa !5
  %1257 = call ptr @s2n_strerror(i32 noundef %1256, ptr noundef nonnull @.str.3) #13
  %1258 = load i32, ptr %953, align 4, !tbaa !5
  %1259 = call ptr @s2n_strerror_debug(i32 noundef %1258, ptr noundef nonnull @.str.3) #13
  %1260 = load i32, ptr %1007, align 4, !tbaa !5
  %1261 = call ptr @strerror(i32 noundef %1260) #13
  %1262 = load i32, ptr %1007, align 4, !tbaa !5
  %1263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1254, ptr noundef nonnull %.str.4.sink1150, i32 noundef %1255, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.2, i32 noundef 174, ptr noundef %1257, ptr noundef %1259, ptr noundef %1261, i32 noundef %1262) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1264:                                             ; preds = %1235
  %1265 = load ptr, ptr %18, align 8, !tbaa !9
  %1266 = getelementptr inbounds i8, ptr %1265, i64 4176
  call void @s2n_atomic_flag_set(ptr noundef nonnull %1266) #13
  %1267 = load i32, ptr @test_count, align 4, !tbaa !5
  %1268 = add nsw i32 %1267, 1
  store i32 %1268, ptr @test_count, align 4, !tbaa !5
  %1269 = load ptr, ptr %18, align 8, !tbaa !9
  %1270 = call i32 @s2n_key_update_send(ptr noundef %1269, ptr noundef nonnull %17) #13
  %1271 = icmp eq i32 %1270, -1
  br i1 %1271, label %1272, label %1294

1272:                                             ; preds = %1264
  %1273 = load i32, ptr %1007, align 4, !tbaa !5
  %1274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1275 = call i32 @s2n_print_stacktrace(ptr noundef %1274) #13
  %1276 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1277 = trunc nuw i8 %1276 to i1
  br i1 %1277, label %1278, label %1282

1278:                                             ; preds = %1272
  %1279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1280 = call i32 @fileno(ptr noundef %1279) #13
  %1281 = call i32 @isatty(i32 noundef %1280) #13
  %.not689 = icmp eq i32 %1281, 0
  br i1 %.not689, label %1282, label %1283

1282:                                             ; preds = %1278, %1272
  br label %1283

1283:                                             ; preds = %1278, %1282
  %.str.4.sink1159 = phi ptr [ @.str.4, %1282 ], [ @.str, %1278 ]
  store i32 %1273, ptr %1007, align 4, !tbaa !5
  %1284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1285 = load i32, ptr @test_count, align 4, !tbaa !5
  %1286 = load i32, ptr %953, align 4, !tbaa !5
  %1287 = call ptr @s2n_strerror(i32 noundef %1286, ptr noundef nonnull @.str.3) #13
  %1288 = load i32, ptr %953, align 4, !tbaa !5
  %1289 = call ptr @s2n_strerror_debug(i32 noundef %1288, ptr noundef nonnull @.str.3) #13
  %1290 = load i32, ptr %1007, align 4, !tbaa !5
  %1291 = call ptr @strerror(i32 noundef %1290) #13
  %1292 = load i32, ptr %1007, align 4, !tbaa !5
  %1293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1284, ptr noundef nonnull %.str.4.sink1159, i32 noundef %1285, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.2, i32 noundef 178, ptr noundef %1287, ptr noundef %1289, ptr noundef %1291, i32 noundef %1292) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1294:                                             ; preds = %1264
  %1295 = load i32, ptr @test_count, align 4, !tbaa !5
  %1296 = add nsw i32 %1295, 1
  store i32 %1296, ptr @test_count, align 4, !tbaa !5
  %1297 = load ptr, ptr %18, align 8, !tbaa !9
  %1298 = getelementptr inbounds i8, ptr %1297, i64 4176
  %1299 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %1298) #13
  br i1 %1299, label %1300, label %1322

1300:                                             ; preds = %1294
  %1301 = load i32, ptr %1007, align 4, !tbaa !5
  %1302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1303 = call i32 @s2n_print_stacktrace(ptr noundef %1302) #13
  %1304 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1305 = trunc nuw i8 %1304 to i1
  br i1 %1305, label %1306, label %1310

1306:                                             ; preds = %1300
  %1307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1308 = call i32 @fileno(ptr noundef %1307) #13
  %1309 = call i32 @isatty(i32 noundef %1308) #13
  %.not688 = icmp eq i32 %1309, 0
  br i1 %.not688, label %1310, label %1311

1310:                                             ; preds = %1306, %1300
  br label %1311

1311:                                             ; preds = %1306, %1310
  %.str.4.sink1168 = phi ptr [ @.str.4, %1310 ], [ @.str, %1306 ]
  store i32 %1301, ptr %1007, align 4, !tbaa !5
  %1312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1313 = load i32, ptr @test_count, align 4, !tbaa !5
  %1314 = load i32, ptr %953, align 4, !tbaa !5
  %1315 = call ptr @s2n_strerror(i32 noundef %1314, ptr noundef nonnull @.str.3) #13
  %1316 = load i32, ptr %953, align 4, !tbaa !5
  %1317 = call ptr @s2n_strerror_debug(i32 noundef %1316, ptr noundef nonnull @.str.3) #13
  %1318 = load i32, ptr %1007, align 4, !tbaa !5
  %1319 = call ptr @strerror(i32 noundef %1318) #13
  %1320 = load i32, ptr %1007, align 4, !tbaa !5
  %1321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1312, ptr noundef nonnull %.str.4.sink1168, i32 noundef %1313, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.2, i32 noundef 179, ptr noundef %1315, ptr noundef %1317, ptr noundef %1319, i32 noundef %1320) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1322:                                             ; preds = %1294
  %1323 = load i32, ptr @test_count, align 4, !tbaa !5
  %1324 = add nsw i32 %1323, 1
  store i32 %1324, ptr @test_count, align 4, !tbaa !5
  %1325 = call i32 @s2n_stuffer_wipe_n(ptr noundef nonnull %20, i32 noundef 10) #13
  %1326 = icmp eq i32 %1325, -1
  br i1 %1326, label %1327, label %1349

1327:                                             ; preds = %1322
  %1328 = load i32, ptr %1007, align 4, !tbaa !5
  %1329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1330 = call i32 @s2n_print_stacktrace(ptr noundef %1329) #13
  %1331 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1332 = trunc nuw i8 %1331 to i1
  br i1 %1332, label %1333, label %1337

1333:                                             ; preds = %1327
  %1334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1335 = call i32 @fileno(ptr noundef %1334) #13
  %1336 = call i32 @isatty(i32 noundef %1335) #13
  %.not687 = icmp eq i32 %1336, 0
  br i1 %.not687, label %1337, label %1338

1337:                                             ; preds = %1333, %1327
  br label %1338

1338:                                             ; preds = %1333, %1337
  %.str.4.sink1177 = phi ptr [ @.str.4, %1337 ], [ @.str, %1333 ]
  store i32 %1328, ptr %1007, align 4, !tbaa !5
  %1339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1340 = load i32, ptr @test_count, align 4, !tbaa !5
  %1341 = load i32, ptr %953, align 4, !tbaa !5
  %1342 = call ptr @s2n_strerror(i32 noundef %1341, ptr noundef nonnull @.str.3) #13
  %1343 = load i32, ptr %953, align 4, !tbaa !5
  %1344 = call ptr @s2n_strerror_debug(i32 noundef %1343, ptr noundef nonnull @.str.3) #13
  %1345 = load i32, ptr %1007, align 4, !tbaa !5
  %1346 = call ptr @strerror(i32 noundef %1345) #13
  %1347 = load i32, ptr %1007, align 4, !tbaa !5
  %1348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1339, ptr noundef nonnull %.str.4.sink1177, i32 noundef %1340, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.2, i32 noundef 182, ptr noundef %1342, ptr noundef %1344, ptr noundef %1346, i32 noundef %1347) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1349:                                             ; preds = %1322
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %22) #13
  store i8 0, ptr %22, align 1
  %1350 = load i32, ptr @test_count, align 4, !tbaa !5
  %1351 = add nsw i32 %1350, 1
  store i32 %1351, ptr @test_count, align 4, !tbaa !5
  %1352 = load ptr, ptr %19, align 8, !tbaa !9
  %1353 = call i64 @s2n_recv(ptr noundef %1352, ptr noundef nonnull %22, i64 noundef 1, ptr noundef nonnull %17) #13
  %1354 = icmp eq i64 %1353, -1
  br i1 %1354, label %1377, label %1355

1355:                                             ; preds = %1349
  %1356 = load i32, ptr %1007, align 4, !tbaa !5
  %1357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1358 = call i32 @s2n_print_stacktrace(ptr noundef %1357) #13
  %1359 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1360 = trunc nuw i8 %1359 to i1
  br i1 %1360, label %1361, label %1365

1361:                                             ; preds = %1355
  %1362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1363 = call i32 @fileno(ptr noundef %1362) #13
  %1364 = call i32 @isatty(i32 noundef %1363) #13
  %.not527 = icmp eq i32 %1364, 0
  br i1 %.not527, label %1365, label %1366

1365:                                             ; preds = %1361, %1355
  br label %1366

1366:                                             ; preds = %1361, %1365
  %.str.4.sink1186 = phi ptr [ @.str.4, %1365 ], [ @.str, %1361 ]
  store i32 %1356, ptr %1007, align 4, !tbaa !5
  %1367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1368 = load i32, ptr @test_count, align 4, !tbaa !5
  %1369 = load i32, ptr %953, align 4, !tbaa !5
  %1370 = call ptr @s2n_strerror(i32 noundef %1369, ptr noundef nonnull @.str.3) #13
  %1371 = load i32, ptr %953, align 4, !tbaa !5
  %1372 = call ptr @s2n_strerror_debug(i32 noundef %1371, ptr noundef nonnull @.str.3) #13
  %1373 = load i32, ptr %1007, align 4, !tbaa !5
  %1374 = call ptr @strerror(i32 noundef %1373) #13
  %1375 = load i32, ptr %1007, align 4, !tbaa !5
  %1376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1367, ptr noundef nonnull %.str.4.sink1186, i32 noundef %1368, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.2, i32 noundef 187, ptr noundef %1370, ptr noundef %1372, ptr noundef %1374, i32 noundef %1375) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1377:                                             ; preds = %1349
  %1378 = load i32, ptr @test_count, align 4, !tbaa !5
  %1379 = add nsw i32 %1378, 1
  store i32 %1379, ptr @test_count, align 4, !tbaa !5
  %1380 = load i32, ptr %953, align 4, !tbaa !5
  %1381 = icmp eq i32 %1380, 201326592
  br i1 %1381, label %1404, label %1382

1382:                                             ; preds = %1377
  %1383 = load i32, ptr %1007, align 4, !tbaa !5
  %1384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1385 = call i32 @s2n_print_stacktrace(ptr noundef %1384) #13
  %1386 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1387 = trunc nuw i8 %1386 to i1
  br i1 %1387, label %1388, label %1392

1388:                                             ; preds = %1382
  %1389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1390 = call i32 @fileno(ptr noundef %1389) #13
  %1391 = call i32 @isatty(i32 noundef %1390) #13
  %.not528 = icmp eq i32 %1391, 0
  br i1 %.not528, label %1392, label %1393

1392:                                             ; preds = %1388, %1382
  br label %1393

1393:                                             ; preds = %1388, %1392
  %.str.4.sink1195 = phi ptr [ @.str.4, %1392 ], [ @.str, %1388 ]
  store i32 %1383, ptr %1007, align 4, !tbaa !5
  %1394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1395 = load i32, ptr @test_count, align 4, !tbaa !5
  %1396 = load i32, ptr %953, align 4, !tbaa !5
  %1397 = call ptr @s2n_strerror(i32 noundef %1396, ptr noundef nonnull @.str.3) #13
  %1398 = load i32, ptr %953, align 4, !tbaa !5
  %1399 = call ptr @s2n_strerror_debug(i32 noundef %1398, ptr noundef nonnull @.str.3) #13
  %1400 = load i32, ptr %1007, align 4, !tbaa !5
  %1401 = call ptr @strerror(i32 noundef %1400) #13
  %1402 = load i32, ptr %1007, align 4, !tbaa !5
  %1403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1394, ptr noundef nonnull %.str.4.sink1195, i32 noundef %1395, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.2, i32 noundef 187, ptr noundef %1397, ptr noundef %1399, ptr noundef %1401, i32 noundef %1402) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1404:                                             ; preds = %1377
  %1405 = add nsw i32 %1378, 2
  store i32 %1405, ptr @test_count, align 4, !tbaa !5
  %1406 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.3) #13
  %1407 = icmp eq ptr %1406, null
  br i1 %1407, label %1408, label %1430

1408:                                             ; preds = %1404
  %1409 = load i32, ptr %1007, align 4, !tbaa !5
  %1410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1411 = call i32 @s2n_print_stacktrace(ptr noundef %1410) #13
  %1412 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1413 = trunc nuw i8 %1412 to i1
  br i1 %1413, label %1414, label %1418

1414:                                             ; preds = %1408
  %1415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1416 = call i32 @fileno(ptr noundef %1415) #13
  %1417 = call i32 @isatty(i32 noundef %1416) #13
  %.not686 = icmp eq i32 %1417, 0
  br i1 %.not686, label %1418, label %1419

1418:                                             ; preds = %1414, %1408
  br label %1419

1419:                                             ; preds = %1414, %1418
  %.str.4.sink1204 = phi ptr [ @.str.4, %1418 ], [ @.str, %1414 ]
  store i32 %1409, ptr %1007, align 4, !tbaa !5
  %1420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1421 = load i32, ptr @test_count, align 4, !tbaa !5
  %1422 = load i32, ptr %953, align 4, !tbaa !5
  %1423 = call ptr @s2n_strerror(i32 noundef %1422, ptr noundef nonnull @.str.3) #13
  %1424 = load i32, ptr %953, align 4, !tbaa !5
  %1425 = call ptr @s2n_strerror_debug(i32 noundef %1424, ptr noundef nonnull @.str.3) #13
  %1426 = load i32, ptr %1007, align 4, !tbaa !5
  %1427 = call ptr @strerror(i32 noundef %1426) #13
  %1428 = load i32, ptr %1007, align 4, !tbaa !5
  %1429 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1420, ptr noundef nonnull %.str.4.sink1204, i32 noundef %1421, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.2, i32 noundef 187, ptr noundef %1423, ptr noundef %1425, ptr noundef %1427, i32 noundef %1428) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1430:                                             ; preds = %1404
  store i32 0, ptr %953, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %1007, align 4, !tbaa !5
  %1431 = load i32, ptr @test_count, align 4, !tbaa !5
  %1432 = add nsw i32 %1431, 1
  store i32 %1432, ptr @test_count, align 4, !tbaa !5
  %1433 = load ptr, ptr %19, align 8, !tbaa !9
  %1434 = getelementptr inbounds i8, ptr %1433, i64 1884
  %1435 = load i32, ptr %1434, align 4, !tbaa !15
  %1436 = getelementptr inbounds i8, ptr %1433, i64 1880
  %1437 = load i32, ptr %1436, align 8, !tbaa !42
  %.not529 = icmp eq i32 %1435, %1437
  br i1 %.not529, label %1438, label %1460

1438:                                             ; preds = %1430
  %1439 = load i32, ptr %1007, align 4, !tbaa !5
  %1440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1441 = call i32 @s2n_print_stacktrace(ptr noundef %1440) #13
  %1442 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1443 = trunc nuw i8 %1442 to i1
  br i1 %1443, label %1444, label %1448

1444:                                             ; preds = %1438
  %1445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1446 = call i32 @fileno(ptr noundef %1445) #13
  %1447 = call i32 @isatty(i32 noundef %1446) #13
  %.not530 = icmp eq i32 %1447, 0
  br i1 %.not530, label %1448, label %1449

1448:                                             ; preds = %1444, %1438
  br label %1449

1449:                                             ; preds = %1444, %1448
  %.str.4.sink1213 = phi ptr [ @.str.4, %1448 ], [ @.str, %1444 ]
  store i32 %1439, ptr %1007, align 4, !tbaa !5
  %1450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1451 = load i32, ptr @test_count, align 4, !tbaa !5
  %1452 = load i32, ptr %953, align 4, !tbaa !5
  %1453 = call ptr @s2n_strerror(i32 noundef %1452, ptr noundef nonnull @.str.3) #13
  %1454 = load i32, ptr %953, align 4, !tbaa !5
  %1455 = call ptr @s2n_strerror_debug(i32 noundef %1454, ptr noundef nonnull @.str.3) #13
  %1456 = load i32, ptr %1007, align 4, !tbaa !5
  %1457 = call ptr @strerror(i32 noundef %1456) #13
  %1458 = load i32, ptr %1007, align 4, !tbaa !5
  %1459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1450, ptr noundef nonnull %.str.4.sink1213, i32 noundef %1451, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.2, i32 noundef 190, ptr noundef %1453, ptr noundef %1455, ptr noundef %1457, i32 noundef %1458) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1460:                                             ; preds = %1430
  %1461 = add nsw i32 %1431, 2
  store i32 %1461, ptr @test_count, align 4, !tbaa !5
  %1462 = call i32 @s2n_peek(ptr noundef nonnull %1433) #13
  %1463 = icmp eq i32 %1462, 0
  br i1 %1463, label %1486, label %1464

1464:                                             ; preds = %1460
  %1465 = load i32, ptr %1007, align 4, !tbaa !5
  %1466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1467 = call i32 @s2n_print_stacktrace(ptr noundef %1466) #13
  %1468 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1469 = trunc nuw i8 %1468 to i1
  br i1 %1469, label %1470, label %1474

1470:                                             ; preds = %1464
  %1471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1472 = call i32 @fileno(ptr noundef %1471) #13
  %1473 = call i32 @isatty(i32 noundef %1472) #13
  %.not531 = icmp eq i32 %1473, 0
  br i1 %.not531, label %1474, label %1475

1474:                                             ; preds = %1470, %1464
  br label %1475

1475:                                             ; preds = %1470, %1474
  %.str.4.sink1222 = phi ptr [ @.str.4, %1474 ], [ @.str, %1470 ]
  store i32 %1465, ptr %1007, align 4, !tbaa !5
  %1476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1477 = load i32, ptr @test_count, align 4, !tbaa !5
  %1478 = load i32, ptr %953, align 4, !tbaa !5
  %1479 = call ptr @s2n_strerror(i32 noundef %1478, ptr noundef nonnull @.str.3) #13
  %1480 = load i32, ptr %953, align 4, !tbaa !5
  %1481 = call ptr @s2n_strerror_debug(i32 noundef %1480, ptr noundef nonnull @.str.3) #13
  %1482 = load i32, ptr %1007, align 4, !tbaa !5
  %1483 = call ptr @strerror(i32 noundef %1482) #13
  %1484 = load i32, ptr %1007, align 4, !tbaa !5
  %1485 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1476, ptr noundef nonnull %.str.4.sink1222, i32 noundef %1477, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.2, i32 noundef 191, ptr noundef %1479, ptr noundef %1481, ptr noundef %1483, i32 noundef %1484) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1486:                                             ; preds = %1460
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #13
  %1487 = call i32 @s2n_stuffer_free(ptr noundef nonnull %21) #13
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %21) #13
  %1488 = call i32 @s2n_stuffer_free(ptr noundef nonnull %20) #13
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %20) #13
  %1489 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %19) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #13
  %1490 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %18) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %17) #13
  br label %1491

1491:                                             ; preds = %1486, %1063
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %5) #13
  %1492 = load i32, ptr @test_count, align 4, !tbaa !5
  %1493 = add nsw i32 %1492, 1
  store i32 %1493, ptr @test_count, align 4, !tbaa !5
  %1494 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %1495 = icmp eq ptr %1494, null
  br i1 %1495, label %1496, label %1518

1496:                                             ; preds = %1491
  %1497 = load i32, ptr %1007, align 4, !tbaa !5
  %1498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1499 = call i32 @s2n_print_stacktrace(ptr noundef %1498) #13
  %1500 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1501 = trunc nuw i8 %1500 to i1
  br i1 %1501, label %1502, label %1506

1502:                                             ; preds = %1496
  %1503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1504 = call i32 @fileno(ptr noundef %1503) #13
  %1505 = call i32 @isatty(i32 noundef %1504) #13
  %.not685 = icmp eq i32 %1505, 0
  br i1 %.not685, label %1506, label %1507

1506:                                             ; preds = %1502, %1496
  br label %1507

1507:                                             ; preds = %1502, %1506
  %.str.4.sink1231 = phi ptr [ @.str.4, %1506 ], [ @.str, %1502 ]
  store i32 %1497, ptr %1007, align 4, !tbaa !5
  %1508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1509 = load i32, ptr @test_count, align 4, !tbaa !5
  %1510 = load i32, ptr %953, align 4, !tbaa !5
  %1511 = call ptr @s2n_strerror(i32 noundef %1510, ptr noundef nonnull @.str.3) #13
  %1512 = load i32, ptr %953, align 4, !tbaa !5
  %1513 = call ptr @s2n_strerror_debug(i32 noundef %1512, ptr noundef nonnull @.str.3) #13
  %1514 = load i32, ptr %1007, align 4, !tbaa !5
  %1515 = call ptr @strerror(i32 noundef %1514) #13
  %1516 = load i32, ptr %1007, align 4, !tbaa !5
  %1517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1508, ptr noundef nonnull %.str.4.sink1231, i32 noundef %1509, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.2, i32 noundef 199, ptr noundef %1511, ptr noundef %1513, ptr noundef %1515, i32 noundef %1516) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1518:                                             ; preds = %1491
  %1519 = load i32, ptr @test_count, align 4, !tbaa !5
  %1520 = add nsw i32 %1519, 1
  store i32 %1520, ptr @test_count, align 4, !tbaa !5
  %1521 = call i32 @s2n_connection_set_recv_cb(ptr noundef nonnull %1494, ptr noundef nonnull @s2n_expect_concurrent_error_recv_fn) #13
  %1522 = icmp eq i32 %1521, -1
  br i1 %1522, label %1523, label %1545

1523:                                             ; preds = %1518
  %1524 = load i32, ptr %1007, align 4, !tbaa !5
  %1525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1526 = call i32 @s2n_print_stacktrace(ptr noundef %1525) #13
  %1527 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1528 = trunc nuw i8 %1527 to i1
  br i1 %1528, label %1529, label %1533

1529:                                             ; preds = %1523
  %1530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1531 = call i32 @fileno(ptr noundef %1530) #13
  %1532 = call i32 @isatty(i32 noundef %1531) #13
  %.not684 = icmp eq i32 %1532, 0
  br i1 %.not684, label %1533, label %1534

1533:                                             ; preds = %1529, %1523
  br label %1534

1534:                                             ; preds = %1529, %1533
  %.str.4.sink1240 = phi ptr [ @.str.4, %1533 ], [ @.str, %1529 ]
  store i32 %1524, ptr %1007, align 4, !tbaa !5
  %1535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1536 = load i32, ptr @test_count, align 4, !tbaa !5
  %1537 = load i32, ptr %953, align 4, !tbaa !5
  %1538 = call ptr @s2n_strerror(i32 noundef %1537, ptr noundef nonnull @.str.3) #13
  %1539 = load i32, ptr %953, align 4, !tbaa !5
  %1540 = call ptr @s2n_strerror_debug(i32 noundef %1539, ptr noundef nonnull @.str.3) #13
  %1541 = load i32, ptr %1007, align 4, !tbaa !5
  %1542 = call ptr @strerror(i32 noundef %1541) #13
  %1543 = load i32, ptr %1007, align 4, !tbaa !5
  %1544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1535, ptr noundef nonnull %.str.4.sink1240, i32 noundef %1536, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.2, i32 noundef 202, ptr noundef %1538, ptr noundef %1540, ptr noundef %1542, i32 noundef %1543) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1545:                                             ; preds = %1518
  %1546 = load i32, ptr @test_count, align 4, !tbaa !5
  %1547 = add nsw i32 %1546, 1
  store i32 %1547, ptr @test_count, align 4, !tbaa !5
  %1548 = call i32 @s2n_connection_set_recv_ctx(ptr noundef nonnull %1494, ptr noundef nonnull %1494) #13
  %1549 = icmp eq i32 %1548, -1
  br i1 %1549, label %1550, label %1572

1550:                                             ; preds = %1545
  %1551 = load i32, ptr %1007, align 4, !tbaa !5
  %1552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1553 = call i32 @s2n_print_stacktrace(ptr noundef %1552) #13
  %1554 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1555 = trunc nuw i8 %1554 to i1
  br i1 %1555, label %1556, label %1560

1556:                                             ; preds = %1550
  %1557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1558 = call i32 @fileno(ptr noundef %1557) #13
  %1559 = call i32 @isatty(i32 noundef %1558) #13
  %.not683 = icmp eq i32 %1559, 0
  br i1 %.not683, label %1560, label %1561

1560:                                             ; preds = %1556, %1550
  br label %1561

1561:                                             ; preds = %1556, %1560
  %.str.4.sink1249 = phi ptr [ @.str.4, %1560 ], [ @.str, %1556 ]
  store i32 %1551, ptr %1007, align 4, !tbaa !5
  %1562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1563 = load i32, ptr @test_count, align 4, !tbaa !5
  %1564 = load i32, ptr %953, align 4, !tbaa !5
  %1565 = call ptr @s2n_strerror(i32 noundef %1564, ptr noundef nonnull @.str.3) #13
  %1566 = load i32, ptr %953, align 4, !tbaa !5
  %1567 = call ptr @s2n_strerror_debug(i32 noundef %1566, ptr noundef nonnull @.str.3) #13
  %1568 = load i32, ptr %1007, align 4, !tbaa !5
  %1569 = call ptr @strerror(i32 noundef %1568) #13
  %1570 = load i32, ptr %1007, align 4, !tbaa !5
  %1571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1562, ptr noundef nonnull %.str.4.sink1249, i32 noundef %1563, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.2, i32 noundef 203, ptr noundef %1565, ptr noundef %1567, ptr noundef %1569, i32 noundef %1570) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1572:                                             ; preds = %1545
  %1573 = load i32, ptr @test_count, align 4, !tbaa !5
  %1574 = add nsw i32 %1573, 1
  store i32 %1574, ptr @test_count, align 4, !tbaa !5
  %1575 = call i32 @s2n_connection_set_blinding(ptr noundef nonnull %1494, i32 noundef 1) #13
  %1576 = icmp eq i32 %1575, -1
  br i1 %1576, label %1577, label %1599

1577:                                             ; preds = %1572
  %1578 = load i32, ptr %1007, align 4, !tbaa !5
  %1579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1580 = call i32 @s2n_print_stacktrace(ptr noundef %1579) #13
  %1581 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1582 = trunc nuw i8 %1581 to i1
  br i1 %1582, label %1583, label %1587

1583:                                             ; preds = %1577
  %1584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1585 = call i32 @fileno(ptr noundef %1584) #13
  %1586 = call i32 @isatty(i32 noundef %1585) #13
  %.not682 = icmp eq i32 %1586, 0
  br i1 %.not682, label %1587, label %1588

1587:                                             ; preds = %1583, %1577
  br label %1588

1588:                                             ; preds = %1583, %1587
  %.str.4.sink1258 = phi ptr [ @.str.4, %1587 ], [ @.str, %1583 ]
  store i32 %1578, ptr %1007, align 4, !tbaa !5
  %1589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1590 = load i32, ptr @test_count, align 4, !tbaa !5
  %1591 = load i32, ptr %953, align 4, !tbaa !5
  %1592 = call ptr @s2n_strerror(i32 noundef %1591, ptr noundef nonnull @.str.3) #13
  %1593 = load i32, ptr %953, align 4, !tbaa !5
  %1594 = call ptr @s2n_strerror_debug(i32 noundef %1593, ptr noundef nonnull @.str.3) #13
  %1595 = load i32, ptr %1007, align 4, !tbaa !5
  %1596 = call ptr @strerror(i32 noundef %1595) #13
  %1597 = load i32, ptr %1007, align 4, !tbaa !5
  %1598 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1589, ptr noundef nonnull %.str.4.sink1258, i32 noundef %1590, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.2, i32 noundef 204, ptr noundef %1592, ptr noundef %1594, ptr noundef %1596, i32 noundef %1597) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1599:                                             ; preds = %1572
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %23) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %23, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %24) #13
  store i32 0, ptr %24, align 4, !tbaa !5
  store i8 0, ptr @s2n_custom_recv_fn_called, align 1, !tbaa !11
  %1600 = load i32, ptr @test_count, align 4, !tbaa !5
  %1601 = add nsw i32 %1600, 1
  store i32 %1601, ptr @test_count, align 4, !tbaa !5
  %1602 = call i64 @s2n_recv(ptr noundef nonnull %1494, ptr noundef nonnull %23, i64 noundef 100, ptr noundef nonnull %24) #13
  %1603 = icmp eq i64 %1602, -1
  br i1 %1603, label %1626, label %1604

1604:                                             ; preds = %1599
  %1605 = load i32, ptr %1007, align 4, !tbaa !5
  %1606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1607 = call i32 @s2n_print_stacktrace(ptr noundef %1606) #13
  %1608 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1609 = trunc nuw i8 %1608 to i1
  br i1 %1609, label %1610, label %1614

1610:                                             ; preds = %1604
  %1611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1612 = call i32 @fileno(ptr noundef %1611) #13
  %1613 = call i32 @isatty(i32 noundef %1612) #13
  %.not532 = icmp eq i32 %1613, 0
  br i1 %.not532, label %1614, label %1615

1614:                                             ; preds = %1610, %1604
  br label %1615

1615:                                             ; preds = %1610, %1614
  %.str.4.sink1267 = phi ptr [ @.str.4, %1614 ], [ @.str, %1610 ]
  store i32 %1605, ptr %1007, align 4, !tbaa !5
  %1616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1617 = load i32, ptr @test_count, align 4, !tbaa !5
  %1618 = load i32, ptr %953, align 4, !tbaa !5
  %1619 = call ptr @s2n_strerror(i32 noundef %1618, ptr noundef nonnull @.str.3) #13
  %1620 = load i32, ptr %953, align 4, !tbaa !5
  %1621 = call ptr @s2n_strerror_debug(i32 noundef %1620, ptr noundef nonnull @.str.3) #13
  %1622 = load i32, ptr %1007, align 4, !tbaa !5
  %1623 = call ptr @strerror(i32 noundef %1622) #13
  %1624 = load i32, ptr %1007, align 4, !tbaa !5
  %1625 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1616, ptr noundef nonnull %.str.4.sink1267, i32 noundef %1617, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.2, i32 noundef 210, ptr noundef %1619, ptr noundef %1621, ptr noundef %1623, i32 noundef %1624) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1626:                                             ; preds = %1599
  %1627 = load i32, ptr @test_count, align 4, !tbaa !5
  %1628 = add nsw i32 %1627, 1
  store i32 %1628, ptr @test_count, align 4, !tbaa !5
  %1629 = load i32, ptr %953, align 4, !tbaa !5
  %1630 = icmp eq i32 %1629, 67108864
  br i1 %1630, label %1653, label %1631

1631:                                             ; preds = %1626
  %1632 = load i32, ptr %1007, align 4, !tbaa !5
  %1633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1634 = call i32 @s2n_print_stacktrace(ptr noundef %1633) #13
  %1635 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1636 = trunc nuw i8 %1635 to i1
  br i1 %1636, label %1637, label %1641

1637:                                             ; preds = %1631
  %1638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1639 = call i32 @fileno(ptr noundef %1638) #13
  %1640 = call i32 @isatty(i32 noundef %1639) #13
  %.not533 = icmp eq i32 %1640, 0
  br i1 %.not533, label %1641, label %1642

1641:                                             ; preds = %1637, %1631
  br label %1642

1642:                                             ; preds = %1637, %1641
  %.str.4.sink1276 = phi ptr [ @.str.4, %1641 ], [ @.str, %1637 ]
  store i32 %1632, ptr %1007, align 4, !tbaa !5
  %1643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1644 = load i32, ptr @test_count, align 4, !tbaa !5
  %1645 = load i32, ptr %953, align 4, !tbaa !5
  %1646 = call ptr @s2n_strerror(i32 noundef %1645, ptr noundef nonnull @.str.3) #13
  %1647 = load i32, ptr %953, align 4, !tbaa !5
  %1648 = call ptr @s2n_strerror_debug(i32 noundef %1647, ptr noundef nonnull @.str.3) #13
  %1649 = load i32, ptr %1007, align 4, !tbaa !5
  %1650 = call ptr @strerror(i32 noundef %1649) #13
  %1651 = load i32, ptr %1007, align 4, !tbaa !5
  %1652 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1643, ptr noundef nonnull %.str.4.sink1276, i32 noundef %1644, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.2, i32 noundef 210, ptr noundef %1646, ptr noundef %1648, ptr noundef %1650, i32 noundef %1651) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1653:                                             ; preds = %1626
  %1654 = add nsw i32 %1627, 2
  store i32 %1654, ptr @test_count, align 4, !tbaa !5
  %1655 = call ptr @s2n_strerror_debug(i32 noundef 67108864, ptr noundef nonnull @.str.3) #13
  %1656 = icmp eq ptr %1655, null
  br i1 %1656, label %1657, label %1679

1657:                                             ; preds = %1653
  %1658 = load i32, ptr %1007, align 4, !tbaa !5
  %1659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1660 = call i32 @s2n_print_stacktrace(ptr noundef %1659) #13
  %1661 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1662 = trunc nuw i8 %1661 to i1
  br i1 %1662, label %1663, label %1667

1663:                                             ; preds = %1657
  %1664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1665 = call i32 @fileno(ptr noundef %1664) #13
  %1666 = call i32 @isatty(i32 noundef %1665) #13
  %.not681 = icmp eq i32 %1666, 0
  br i1 %.not681, label %1667, label %1668

1667:                                             ; preds = %1663, %1657
  br label %1668

1668:                                             ; preds = %1663, %1667
  %.str.4.sink1285 = phi ptr [ @.str.4, %1667 ], [ @.str, %1663 ]
  store i32 %1658, ptr %1007, align 4, !tbaa !5
  %1669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1670 = load i32, ptr @test_count, align 4, !tbaa !5
  %1671 = load i32, ptr %953, align 4, !tbaa !5
  %1672 = call ptr @s2n_strerror(i32 noundef %1671, ptr noundef nonnull @.str.3) #13
  %1673 = load i32, ptr %953, align 4, !tbaa !5
  %1674 = call ptr @s2n_strerror_debug(i32 noundef %1673, ptr noundef nonnull @.str.3) #13
  %1675 = load i32, ptr %1007, align 4, !tbaa !5
  %1676 = call ptr @strerror(i32 noundef %1675) #13
  %1677 = load i32, ptr %1007, align 4, !tbaa !5
  %1678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1669, ptr noundef nonnull %.str.4.sink1285, i32 noundef %1670, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.2, i32 noundef 210, ptr noundef %1672, ptr noundef %1674, ptr noundef %1676, i32 noundef %1677) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1679:                                             ; preds = %1653
  store i32 0, ptr %953, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %1007, align 4, !tbaa !5
  %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 = load i8, ptr @s2n_custom_recv_fn_called, align 1, !tbaa !11, !range !13, !noundef !14
  %1683 = trunc nuw i8 %1682 to i1
  br i1 %1683, label %1706, label %1684

1684:                                             ; preds = %1679
  %1685 = load i32, ptr %1007, align 4, !tbaa !5
  %1686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1687 = call i32 @s2n_print_stacktrace(ptr noundef %1686) #13
  %1688 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1689 = trunc nuw i8 %1688 to i1
  br i1 %1689, label %1690, label %1694

1690:                                             ; preds = %1684
  %1691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1692 = call i32 @fileno(ptr noundef %1691) #13
  %1693 = call i32 @isatty(i32 noundef %1692) #13
  %.not534 = icmp eq i32 %1693, 0
  br i1 %.not534, label %1694, label %1695

1694:                                             ; preds = %1690, %1684
  br label %1695

1695:                                             ; preds = %1690, %1694
  %.str.4.sink1294 = phi ptr [ @.str.4, %1694 ], [ @.str, %1690 ]
  store i32 %1685, ptr %1007, align 4, !tbaa !5
  %1696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1697 = load i32, ptr @test_count, align 4, !tbaa !5
  %1698 = load i32, ptr %953, align 4, !tbaa !5
  %1699 = call ptr @s2n_strerror(i32 noundef %1698, ptr noundef nonnull @.str.3) #13
  %1700 = load i32, ptr %953, align 4, !tbaa !5
  %1701 = call ptr @s2n_strerror_debug(i32 noundef %1700, ptr noundef nonnull @.str.3) #13
  %1702 = load i32, ptr %1007, align 4, !tbaa !5
  %1703 = call ptr @strerror(i32 noundef %1702) #13
  %1704 = load i32, ptr %1007, align 4, !tbaa !5
  %1705 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1696, ptr noundef nonnull %.str.4.sink1294, i32 noundef %1697, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.2, i32 noundef 211, ptr noundef %1699, ptr noundef %1701, ptr noundef %1703, i32 noundef %1704) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1706:                                             ; preds = %1679
  %1707 = add nsw i32 %1680, 2
  store i32 %1707, ptr @test_count, align 4, !tbaa !5
  %1708 = call i32 @s2n_connection_free(ptr noundef nonnull %1494) #13
  %1709 = icmp eq i32 %1708, -1
  br i1 %1709, label %1710, label %1732

1710:                                             ; preds = %1706
  %1711 = load i32, ptr %1007, align 4, !tbaa !5
  %1712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1713 = call i32 @s2n_print_stacktrace(ptr noundef %1712) #13
  %1714 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1715 = trunc nuw i8 %1714 to i1
  br i1 %1715, label %1716, label %1720

1716:                                             ; preds = %1710
  %1717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1718 = call i32 @fileno(ptr noundef %1717) #13
  %1719 = call i32 @isatty(i32 noundef %1718) #13
  %.not680 = icmp eq i32 %1719, 0
  br i1 %.not680, label %1720, label %1721

1720:                                             ; preds = %1716, %1710
  br label %1721

1721:                                             ; preds = %1716, %1720
  %.str.4.sink1303 = phi ptr [ @.str.4, %1720 ], [ @.str, %1716 ]
  store i32 %1711, ptr %1007, align 4, !tbaa !5
  %1722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1723 = load i32, ptr @test_count, align 4, !tbaa !5
  %1724 = load i32, ptr %953, align 4, !tbaa !5
  %1725 = call ptr @s2n_strerror(i32 noundef %1724, ptr noundef nonnull @.str.3) #13
  %1726 = load i32, ptr %953, align 4, !tbaa !5
  %1727 = call ptr @s2n_strerror_debug(i32 noundef %1726, ptr noundef nonnull @.str.3) #13
  %1728 = load i32, ptr %1007, align 4, !tbaa !5
  %1729 = call ptr @strerror(i32 noundef %1728) #13
  %1730 = load i32, ptr %1007, align 4, !tbaa !5
  %1731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1722, ptr noundef nonnull %.str.4.sink1303, i32 noundef %1723, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.2, i32 noundef 214, ptr noundef %1725, ptr noundef %1727, ptr noundef %1729, i32 noundef %1730) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1732:                                             ; preds = %1706
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #13
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %23) #13
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %25) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %25, i8 0, i64 24, i1 false)
  %1733 = load i32, ptr @test_count, align 4, !tbaa !5
  %1734 = add nsw i32 %1733, 1
  store i32 %1734, ptr @test_count, align 4, !tbaa !5
  %1735 = call i32 @s2n_alloc(ptr noundef nonnull %25, i32 noundef 100) #13
  %1736 = icmp eq i32 %1735, -1
  br i1 %1736, label %1737, label %1759

1737:                                             ; preds = %1732
  %1738 = load i32, ptr %1007, align 4, !tbaa !5
  %1739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1740 = call i32 @s2n_print_stacktrace(ptr noundef %1739) #13
  %1741 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1742 = trunc nuw i8 %1741 to i1
  br i1 %1742, label %1743, label %1747

1743:                                             ; preds = %1737
  %1744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1745 = call i32 @fileno(ptr noundef %1744) #13
  %1746 = call i32 @isatty(i32 noundef %1745) #13
  %.not679 = icmp eq i32 %1746, 0
  br i1 %.not679, label %1747, label %1748

1747:                                             ; preds = %1743, %1737
  br label %1748

1748:                                             ; preds = %1743, %1747
  %.str.4.sink1312 = phi ptr [ @.str.4, %1747 ], [ @.str, %1743 ]
  store i32 %1738, ptr %1007, align 4, !tbaa !5
  %1749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1750 = load i32, ptr @test_count, align 4, !tbaa !5
  %1751 = load i32, ptr %953, align 4, !tbaa !5
  %1752 = call ptr @s2n_strerror(i32 noundef %1751, ptr noundef nonnull @.str.3) #13
  %1753 = load i32, ptr %953, align 4, !tbaa !5
  %1754 = call ptr @s2n_strerror_debug(i32 noundef %1753, ptr noundef nonnull @.str.3) #13
  %1755 = load i32, ptr %1007, align 4, !tbaa !5
  %1756 = call ptr @strerror(i32 noundef %1755) #13
  %1757 = load i32, ptr %1007, align 4, !tbaa !5
  %1758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1749, ptr noundef nonnull %.str.4.sink1312, i32 noundef %1750, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.2, i32 noundef 221, ptr noundef %1752, ptr noundef %1754, ptr noundef %1756, i32 noundef %1757) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1759:                                             ; preds = %1732
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %26) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %26, i8 0, i64 24, i1 false)
  %1760 = load i32, ptr @test_count, align 4, !tbaa !5
  %1761 = add nsw i32 %1760, 1
  store i32 %1761, ptr @test_count, align 4, !tbaa !5
  %1762 = call i32 @s2n_alloc(ptr noundef nonnull %26, i32 noundef 200) #13
  %1763 = icmp eq i32 %1762, -1
  br i1 %1763, label %1764, label %1786

1764:                                             ; preds = %1759
  %1765 = load i32, ptr %1007, align 4, !tbaa !5
  %1766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1767 = call i32 @s2n_print_stacktrace(ptr noundef %1766) #13
  %1768 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1769 = trunc nuw i8 %1768 to i1
  br i1 %1769, label %1770, label %1774

1770:                                             ; preds = %1764
  %1771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1772 = call i32 @fileno(ptr noundef %1771) #13
  %1773 = call i32 @isatty(i32 noundef %1772) #13
  %.not678 = icmp eq i32 %1773, 0
  br i1 %.not678, label %1774, label %1775

1774:                                             ; preds = %1770, %1764
  br label %1775

1775:                                             ; preds = %1770, %1774
  %.str.4.sink1321 = phi ptr [ @.str.4, %1774 ], [ @.str, %1770 ]
  store i32 %1765, ptr %1007, align 4, !tbaa !5
  %1776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1777 = load i32, ptr @test_count, align 4, !tbaa !5
  %1778 = load i32, ptr %953, align 4, !tbaa !5
  %1779 = call ptr @s2n_strerror(i32 noundef %1778, ptr noundef nonnull @.str.3) #13
  %1780 = load i32, ptr %953, align 4, !tbaa !5
  %1781 = call ptr @s2n_strerror_debug(i32 noundef %1780, ptr noundef nonnull @.str.3) #13
  %1782 = load i32, ptr %1007, align 4, !tbaa !5
  %1783 = call ptr @strerror(i32 noundef %1782) #13
  %1784 = load i32, ptr %1007, align 4, !tbaa !5
  %1785 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1776, ptr noundef nonnull %.str.4.sink1321, i32 noundef %1777, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.2, i32 noundef 225, ptr noundef %1779, ptr noundef %1781, ptr noundef %1783, i32 noundef %1784) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1786:                                             ; preds = %1759
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %27) #13
  store i32 0, ptr %27, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #13
  %1787 = call ptr @s2n_connection_new(i32 noundef 1) #13
  store ptr %1787, ptr %28, align 8, !tbaa !9
  %1788 = load i32, ptr @test_count, align 4, !tbaa !5
  %1789 = add nsw i32 %1788, 1
  store i32 %1789, ptr @test_count, align 4, !tbaa !5
  %1790 = call i32 @s2n_connection_set_config(ptr noundef %1787, ptr noundef %201) #13
  %1791 = icmp eq i32 %1790, -1
  br i1 %1791, label %1792, label %1814

1792:                                             ; preds = %1786
  %1793 = load i32, ptr %1007, align 4, !tbaa !5
  %1794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1795 = call i32 @s2n_print_stacktrace(ptr noundef %1794) #13
  %1796 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1797 = trunc nuw i8 %1796 to i1
  br i1 %1797, label %1798, label %1802

1798:                                             ; preds = %1792
  %1799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1800 = call i32 @fileno(ptr noundef %1799) #13
  %1801 = call i32 @isatty(i32 noundef %1800) #13
  %.not677 = icmp eq i32 %1801, 0
  br i1 %.not677, label %1802, label %1803

1802:                                             ; preds = %1798, %1792
  br label %1803

1803:                                             ; preds = %1798, %1802
  %.str.4.sink1330 = phi ptr [ @.str.4, %1802 ], [ @.str, %1798 ]
  store i32 %1793, ptr %1007, align 4, !tbaa !5
  %1804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1805 = load i32, ptr @test_count, align 4, !tbaa !5
  %1806 = load i32, ptr %953, align 4, !tbaa !5
  %1807 = call ptr @s2n_strerror(i32 noundef %1806, ptr noundef nonnull @.str.3) #13
  %1808 = load i32, ptr %953, align 4, !tbaa !5
  %1809 = call ptr @s2n_strerror_debug(i32 noundef %1808, ptr noundef nonnull @.str.3) #13
  %1810 = load i32, ptr %1007, align 4, !tbaa !5
  %1811 = call ptr @strerror(i32 noundef %1810) #13
  %1812 = load i32, ptr %1007, align 4, !tbaa !5
  %1813 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1804, ptr noundef nonnull %.str.4.sink1330, i32 noundef %1805, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.2, i32 noundef 232, ptr noundef %1807, ptr noundef %1809, ptr noundef %1811, i32 noundef %1812) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1814:                                             ; preds = %1786
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #13
  %1815 = call ptr @s2n_connection_new(i32 noundef 0) #13
  store ptr %1815, ptr %29, align 8, !tbaa !9
  %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 = call i32 @s2n_connection_set_config(ptr noundef %1815, ptr noundef %201) #13
  %1819 = icmp eq i32 %1818, -1
  br i1 %1819, label %1820, label %1842

1820:                                             ; preds = %1814
  %1821 = load i32, ptr %1007, align 4, !tbaa !5
  %1822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1823 = call i32 @s2n_print_stacktrace(ptr noundef %1822) #13
  %1824 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1825 = trunc nuw i8 %1824 to i1
  br i1 %1825, label %1826, label %1830

1826:                                             ; preds = %1820
  %1827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1828 = call i32 @fileno(ptr noundef %1827) #13
  %1829 = call i32 @isatty(i32 noundef %1828) #13
  %.not676 = icmp eq i32 %1829, 0
  br i1 %.not676, label %1830, label %1831

1830:                                             ; preds = %1826, %1820
  br label %1831

1831:                                             ; preds = %1826, %1830
  %.str.4.sink1339 = phi ptr [ @.str.4, %1830 ], [ @.str, %1826 ]
  store i32 %1821, ptr %1007, align 4, !tbaa !5
  %1832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1833 = load i32, ptr @test_count, align 4, !tbaa !5
  %1834 = load i32, ptr %953, align 4, !tbaa !5
  %1835 = call ptr @s2n_strerror(i32 noundef %1834, ptr noundef nonnull @.str.3) #13
  %1836 = load i32, ptr %953, align 4, !tbaa !5
  %1837 = call ptr @s2n_strerror_debug(i32 noundef %1836, ptr noundef nonnull @.str.3) #13
  %1838 = load i32, ptr %1007, align 4, !tbaa !5
  %1839 = call ptr @strerror(i32 noundef %1838) #13
  %1840 = load i32, ptr %1007, align 4, !tbaa !5
  %1841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1832, ptr noundef nonnull %.str.4.sink1339, i32 noundef %1833, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.2, i32 noundef 235, ptr noundef %1835, ptr noundef %1837, ptr noundef %1839, i32 noundef %1840) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1842:                                             ; preds = %1814
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #13
  store i64 0, ptr %30, align 8
  %1843 = load i32, ptr @test_count, align 4, !tbaa !5
  %1844 = add nsw i32 %1843, 1
  store i32 %1844, ptr @test_count, align 4, !tbaa !5
  %1845 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %30) #13
  %1846 = icmp eq i32 %1845, -1
  br i1 %1846, label %1847, label %1869

1847:                                             ; preds = %1842
  %1848 = load i32, ptr %1007, align 4, !tbaa !5
  %1849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1850 = call i32 @s2n_print_stacktrace(ptr noundef %1849) #13
  %1851 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1852 = trunc nuw i8 %1851 to i1
  br i1 %1852, label %1853, label %1857

1853:                                             ; preds = %1847
  %1854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1855 = call i32 @fileno(ptr noundef %1854) #13
  %1856 = call i32 @isatty(i32 noundef %1855) #13
  %.not675 = icmp eq i32 %1856, 0
  br i1 %.not675, label %1857, label %1858

1857:                                             ; preds = %1853, %1847
  br label %1858

1858:                                             ; preds = %1853, %1857
  %.str.4.sink1348 = phi ptr [ @.str.4, %1857 ], [ @.str, %1853 ]
  store i32 %1848, ptr %1007, align 4, !tbaa !5
  %1859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1860 = load i32, ptr @test_count, align 4, !tbaa !5
  %1861 = load i32, ptr %953, align 4, !tbaa !5
  %1862 = call ptr @s2n_strerror(i32 noundef %1861, ptr noundef nonnull @.str.3) #13
  %1863 = load i32, ptr %953, align 4, !tbaa !5
  %1864 = call ptr @s2n_strerror_debug(i32 noundef %1863, ptr noundef nonnull @.str.3) #13
  %1865 = load i32, ptr %1007, align 4, !tbaa !5
  %1866 = call ptr @strerror(i32 noundef %1865) #13
  %1867 = load i32, ptr %1007, align 4, !tbaa !5
  %1868 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1859, ptr noundef nonnull %.str.4.sink1348, i32 noundef %1860, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.2, i32 noundef 238, ptr noundef %1862, ptr noundef %1864, ptr noundef %1866, i32 noundef %1867) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1869:                                             ; preds = %1842
  %1870 = load i32, ptr @test_count, align 4, !tbaa !5
  %1871 = add nsw i32 %1870, 1
  store i32 %1871, ptr @test_count, align 4, !tbaa !5
  %1872 = load ptr, ptr %28, align 8, !tbaa !9
  %1873 = load ptr, ptr %29, align 8, !tbaa !9
  %1874 = call i32 @s2n_connections_set_io_pair(ptr noundef %1872, ptr noundef %1873, ptr noundef nonnull %30) #13
  %1875 = icmp eq i32 %1874, -1
  br i1 %1875, label %1876, label %1898

1876:                                             ; preds = %1869
  %1877 = load i32, ptr %1007, align 4, !tbaa !5
  %1878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1879 = call i32 @s2n_print_stacktrace(ptr noundef %1878) #13
  %1880 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1881 = trunc nuw i8 %1880 to i1
  br i1 %1881, label %1882, label %1886

1882:                                             ; preds = %1876
  %1883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1884 = call i32 @fileno(ptr noundef %1883) #13
  %1885 = call i32 @isatty(i32 noundef %1884) #13
  %.not674 = icmp eq i32 %1885, 0
  br i1 %.not674, label %1886, label %1887

1886:                                             ; preds = %1882, %1876
  br label %1887

1887:                                             ; preds = %1882, %1886
  %.str.4.sink1357 = phi ptr [ @.str.4, %1886 ], [ @.str, %1882 ]
  store i32 %1877, ptr %1007, align 4, !tbaa !5
  %1888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1889 = load i32, ptr @test_count, align 4, !tbaa !5
  %1890 = load i32, ptr %953, align 4, !tbaa !5
  %1891 = call ptr @s2n_strerror(i32 noundef %1890, ptr noundef nonnull @.str.3) #13
  %1892 = load i32, ptr %953, align 4, !tbaa !5
  %1893 = call ptr @s2n_strerror_debug(i32 noundef %1892, ptr noundef nonnull @.str.3) #13
  %1894 = load i32, ptr %1007, align 4, !tbaa !5
  %1895 = call ptr @strerror(i32 noundef %1894) #13
  %1896 = load i32, ptr %1007, align 4, !tbaa !5
  %1897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1888, ptr noundef nonnull %.str.4.sink1357, i32 noundef %1889, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.2, i32 noundef 239, ptr noundef %1891, ptr noundef %1893, ptr noundef %1895, i32 noundef %1896) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1898:                                             ; preds = %1869
  %1899 = load i32, ptr @test_count, align 4, !tbaa !5
  %1900 = add nsw i32 %1899, 1
  store i32 %1900, ptr @test_count, align 4, !tbaa !5
  %1901 = load ptr, ptr %29, align 8, !tbaa !9
  %1902 = load ptr, ptr %28, align 8, !tbaa !9
  %1903 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %1901, ptr noundef %1902) #13
  %1904 = icmp eq i32 %1903, -1
  br i1 %1904, label %1916, label %.preheader722

.preheader722:                                    ; preds = %1898
  %1905 = getelementptr inbounds i8, ptr %25, i64 8
  %1906 = load i32, ptr @test_count, align 4, !tbaa !5
  %1907 = add nsw i32 %1906, 1
  store i32 %1907, ptr @test_count, align 4, !tbaa !5
  %1908 = load ptr, ptr %28, align 8, !tbaa !9
  %1909 = load ptr, ptr %25, align 8, !tbaa !43
  %1910 = load i32, ptr %1905, align 8, !tbaa !44
  %1911 = zext i32 %1910 to i64
  %1912 = call i64 @s2n_send(ptr noundef %1908, ptr noundef %1909, i64 noundef %1911, ptr noundef nonnull %27) #13
  %1913 = load i32, ptr %1905, align 8, !tbaa !44
  %1914 = zext i32 %1913 to i64
  %1915 = icmp eq i64 %1912, %1914
  br i1 %1915, label %1938, label %1961

1916:                                             ; preds = %1898
  %1917 = load i32, ptr %1007, align 4, !tbaa !5
  %1918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1919 = call i32 @s2n_print_stacktrace(ptr noundef %1918) #13
  %1920 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1921 = trunc nuw i8 %1920 to i1
  br i1 %1921, label %1922, label %1926

1922:                                             ; preds = %1916
  %1923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1924 = call i32 @fileno(ptr noundef %1923) #13
  %1925 = call i32 @isatty(i32 noundef %1924) #13
  %.not673 = icmp eq i32 %1925, 0
  br i1 %.not673, label %1926, label %1927

1926:                                             ; preds = %1922, %1916
  br label %1927

1927:                                             ; preds = %1922, %1926
  %.str.4.sink1366 = phi ptr [ @.str.4, %1926 ], [ @.str, %1922 ]
  store i32 %1917, ptr %1007, align 4, !tbaa !5
  %1928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1929 = load i32, ptr @test_count, align 4, !tbaa !5
  %1930 = load i32, ptr %953, align 4, !tbaa !5
  %1931 = call ptr @s2n_strerror(i32 noundef %1930, ptr noundef nonnull @.str.3) #13
  %1932 = load i32, ptr %953, align 4, !tbaa !5
  %1933 = call ptr @s2n_strerror_debug(i32 noundef %1932, ptr noundef nonnull @.str.3) #13
  %1934 = load i32, ptr %1007, align 4, !tbaa !5
  %1935 = call ptr @strerror(i32 noundef %1934) #13
  %1936 = load i32, ptr %1007, align 4, !tbaa !5
  %1937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1928, ptr noundef nonnull %.str.4.sink1366, i32 noundef %1929, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.2, i32 noundef 240, ptr noundef %1931, ptr noundef %1933, ptr noundef %1935, i32 noundef %1936) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1938:                                             ; preds = %.preheader722
  %1939 = load i32, ptr @test_count, align 4, !tbaa !5
  %1940 = add nsw i32 %1939, 1
  store i32 %1940, ptr @test_count, align 4, !tbaa !5
  %1941 = load ptr, ptr %28, align 8, !tbaa !9
  %1942 = load ptr, ptr %25, align 8, !tbaa !43
  %1943 = call i64 @s2n_send(ptr noundef %1941, ptr noundef %1942, i64 noundef %1912, ptr noundef nonnull %27) #13
  %1944 = load i32, ptr %1905, align 8, !tbaa !44
  %1945 = zext i32 %1944 to i64
  %1946 = icmp eq i64 %1943, %1945
  br i1 %1946, label %1947, label %1961

1947:                                             ; preds = %1938
  %1948 = load i32, ptr @test_count, align 4, !tbaa !5
  %1949 = add nsw i32 %1948, 1
  store i32 %1949, ptr @test_count, align 4, !tbaa !5
  %1950 = load ptr, ptr %28, align 8, !tbaa !9
  %1951 = load ptr, ptr %25, align 8, !tbaa !43
  %1952 = call i64 @s2n_send(ptr noundef %1950, ptr noundef %1951, i64 noundef %1943, ptr noundef nonnull %27) #13
  %1953 = load i32, ptr %1905, align 8, !tbaa !44
  %1954 = zext i32 %1953 to i64
  %1955 = icmp eq i64 %1952, %1954
  br i1 %1955, label %1956, label %1961

1956:                                             ; preds = %1947
  %1957 = load i32, ptr @test_count, align 4, !tbaa !5
  %1958 = add nsw i32 %1957, 1
  store i32 %1958, ptr @test_count, align 4, !tbaa !5
  %1959 = call i32 @s2n_config_set_recv_multi_record(ptr noundef %201, i1 noundef zeroext false) #13
  %1960 = icmp eq i32 %1959, -1
  br i1 %1960, label %1983, label %2005

1961:                                             ; preds = %1947, %1938, %.preheader722
  %1962 = load i32, ptr %1007, align 4, !tbaa !5
  %1963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1964 = call i32 @s2n_print_stacktrace(ptr noundef %1963) #13
  %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) #13
  %1970 = call i32 @isatty(i32 noundef %1969) #13
  %.not672 = icmp eq i32 %1970, 0
  br i1 %.not672, label %1971, label %1972

1971:                                             ; preds = %1967, %1961
  br label %1972

1972:                                             ; preds = %1967, %1971
  %.str.4.sink1375 = phi ptr [ @.str.4, %1971 ], [ @.str, %1967 ]
  store i32 %1962, ptr %1007, 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 %953, align 4, !tbaa !5
  %1976 = call ptr @s2n_strerror(i32 noundef %1975, ptr noundef nonnull @.str.3) #13
  %1977 = load i32, ptr %953, align 4, !tbaa !5
  %1978 = call ptr @s2n_strerror_debug(i32 noundef %1977, ptr noundef nonnull @.str.3) #13
  %1979 = load i32, ptr %1007, align 4, !tbaa !5
  %1980 = call ptr @strerror(i32 noundef %1979) #13
  %1981 = load i32, ptr %1007, align 4, !tbaa !5
  %1982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1973, ptr noundef nonnull %.str.4.sink1375, i32 noundef %1974, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.2, i32 noundef 244, ptr noundef %1976, ptr noundef %1978, ptr noundef %1980, i32 noundef %1981) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1983:                                             ; preds = %1956
  %1984 = load i32, ptr %1007, align 4, !tbaa !5
  %1985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1986 = call i32 @s2n_print_stacktrace(ptr noundef %1985) #13
  %1987 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1988 = trunc nuw i8 %1987 to i1
  br i1 %1988, label %1989, label %1993

1989:                                             ; preds = %1983
  %1990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1991 = call i32 @fileno(ptr noundef %1990) #13
  %1992 = call i32 @isatty(i32 noundef %1991) #13
  %.not671 = icmp eq i32 %1992, 0
  br i1 %.not671, label %1993, label %1994

1993:                                             ; preds = %1989, %1983
  br label %1994

1994:                                             ; preds = %1989, %1993
  %.str.4.sink1384 = phi ptr [ @.str.4, %1993 ], [ @.str, %1989 ]
  store i32 %1984, ptr %1007, align 4, !tbaa !5
  %1995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1996 = load i32, ptr @test_count, align 4, !tbaa !5
  %1997 = load i32, ptr %953, align 4, !tbaa !5
  %1998 = call ptr @s2n_strerror(i32 noundef %1997, ptr noundef nonnull @.str.3) #13
  %1999 = load i32, ptr %953, align 4, !tbaa !5
  %2000 = call ptr @s2n_strerror_debug(i32 noundef %1999, ptr noundef nonnull @.str.3) #13
  %2001 = load i32, ptr %1007, align 4, !tbaa !5
  %2002 = call ptr @strerror(i32 noundef %2001) #13
  %2003 = load i32, ptr %1007, align 4, !tbaa !5
  %2004 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1995, ptr noundef nonnull %.str.4.sink1384, i32 noundef %1996, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.2, i32 noundef 248, ptr noundef %1998, ptr noundef %2000, ptr noundef %2002, i32 noundef %2003) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2005:                                             ; preds = %1956
  %2006 = load i32, ptr @test_count, align 4, !tbaa !5
  %2007 = add nsw i32 %2006, 1
  store i32 %2007, ptr @test_count, align 4, !tbaa !5
  %2008 = load ptr, ptr %29, align 8, !tbaa !9
  %2009 = load ptr, ptr %26, align 8, !tbaa !43
  %2010 = call i64 @s2n_recv(ptr noundef %2008, ptr noundef %2009, i64 noundef 200, ptr noundef nonnull %27) #13
  %2011 = icmp eq i64 %2010, 100
  br i1 %2011, label %2034, label %2012

2012:                                             ; preds = %2005
  %2013 = load i32, ptr %1007, align 4, !tbaa !5
  %2014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2015 = call i32 @s2n_print_stacktrace(ptr noundef %2014) #13
  %2016 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2017 = trunc nuw i8 %2016 to i1
  br i1 %2017, label %2018, label %2022

2018:                                             ; preds = %2012
  %2019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2020 = call i32 @fileno(ptr noundef %2019) #13
  %2021 = call i32 @isatty(i32 noundef %2020) #13
  %.not535 = icmp eq i32 %2021, 0
  br i1 %.not535, label %2022, label %2023

2022:                                             ; preds = %2018, %2012
  br label %2023

2023:                                             ; preds = %2018, %2022
  %.str.4.sink1393 = phi ptr [ @.str.4, %2022 ], [ @.str, %2018 ]
  store i32 %2013, ptr %1007, align 4, !tbaa !5
  %2024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2025 = load i32, ptr @test_count, align 4, !tbaa !5
  %2026 = load i32, ptr %953, align 4, !tbaa !5
  %2027 = call ptr @s2n_strerror(i32 noundef %2026, ptr noundef nonnull @.str.3) #13
  %2028 = load i32, ptr %953, align 4, !tbaa !5
  %2029 = call ptr @s2n_strerror_debug(i32 noundef %2028, ptr noundef nonnull @.str.3) #13
  %2030 = load i32, ptr %1007, align 4, !tbaa !5
  %2031 = call ptr @strerror(i32 noundef %2030) #13
  %2032 = load i32, ptr %1007, align 4, !tbaa !5
  %2033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2024, ptr noundef nonnull %.str.4.sink1393, i32 noundef %2025, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.2, i32 noundef 250, ptr noundef %2027, ptr noundef %2029, ptr noundef %2031, i32 noundef %2032) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2034:                                             ; preds = %2005
  %2035 = load i32, ptr @test_count, align 4, !tbaa !5
  %2036 = add nsw i32 %2035, 1
  store i32 %2036, ptr @test_count, align 4, !tbaa !5
  %2037 = call i32 @s2n_config_set_recv_multi_record(ptr noundef %201, i1 noundef zeroext true) #13
  %2038 = icmp eq i32 %2037, -1
  br i1 %2038, label %2039, label %2061

2039:                                             ; preds = %2034
  %2040 = load i32, ptr %1007, align 4, !tbaa !5
  %2041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2042 = call i32 @s2n_print_stacktrace(ptr noundef %2041) #13
  %2043 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2044 = trunc nuw i8 %2043 to i1
  br i1 %2044, label %2045, label %2049

2045:                                             ; preds = %2039
  %2046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2047 = call i32 @fileno(ptr noundef %2046) #13
  %2048 = call i32 @isatty(i32 noundef %2047) #13
  %.not670 = icmp eq i32 %2048, 0
  br i1 %.not670, label %2049, label %2050

2049:                                             ; preds = %2045, %2039
  br label %2050

2050:                                             ; preds = %2045, %2049
  %.str.4.sink1402 = phi ptr [ @.str.4, %2049 ], [ @.str, %2045 ]
  store i32 %2040, ptr %1007, align 4, !tbaa !5
  %2051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2052 = load i32, ptr @test_count, align 4, !tbaa !5
  %2053 = load i32, ptr %953, align 4, !tbaa !5
  %2054 = call ptr @s2n_strerror(i32 noundef %2053, ptr noundef nonnull @.str.3) #13
  %2055 = load i32, ptr %953, align 4, !tbaa !5
  %2056 = call ptr @s2n_strerror_debug(i32 noundef %2055, ptr noundef nonnull @.str.3) #13
  %2057 = load i32, ptr %1007, align 4, !tbaa !5
  %2058 = call ptr @strerror(i32 noundef %2057) #13
  %2059 = load i32, ptr %1007, align 4, !tbaa !5
  %2060 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2051, ptr noundef nonnull %.str.4.sink1402, i32 noundef %2052, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.2, i32 noundef 253, ptr noundef %2054, ptr noundef %2056, ptr noundef %2058, i32 noundef %2059) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2061:                                             ; preds = %2034
  %2062 = load i32, ptr @test_count, align 4, !tbaa !5
  %2063 = add nsw i32 %2062, 1
  store i32 %2063, ptr @test_count, align 4, !tbaa !5
  %2064 = load ptr, ptr %29, align 8, !tbaa !9
  %2065 = load ptr, ptr %26, align 8, !tbaa !43
  %2066 = call i64 @s2n_recv(ptr noundef %2064, ptr noundef %2065, i64 noundef 200, ptr noundef nonnull %27) #13
  %2067 = icmp eq i64 %2066, 200
  br i1 %2067, label %2090, label %2068

2068:                                             ; preds = %2061
  %2069 = load i32, ptr %1007, align 4, !tbaa !5
  %2070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2071 = call i32 @s2n_print_stacktrace(ptr noundef %2070) #13
  %2072 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2073 = trunc nuw i8 %2072 to i1
  br i1 %2073, label %2074, label %2078

2074:                                             ; preds = %2068
  %2075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2076 = call i32 @fileno(ptr noundef %2075) #13
  %2077 = call i32 @isatty(i32 noundef %2076) #13
  %.not536 = icmp eq i32 %2077, 0
  br i1 %.not536, label %2078, label %2079

2078:                                             ; preds = %2074, %2068
  br label %2079

2079:                                             ; preds = %2074, %2078
  %.str.4.sink1411 = phi ptr [ @.str.4, %2078 ], [ @.str, %2074 ]
  store i32 %2069, ptr %1007, align 4, !tbaa !5
  %2080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2081 = load i32, ptr @test_count, align 4, !tbaa !5
  %2082 = load i32, ptr %953, align 4, !tbaa !5
  %2083 = call ptr @s2n_strerror(i32 noundef %2082, ptr noundef nonnull @.str.3) #13
  %2084 = load i32, ptr %953, align 4, !tbaa !5
  %2085 = call ptr @s2n_strerror_debug(i32 noundef %2084, ptr noundef nonnull @.str.3) #13
  %2086 = load i32, ptr %1007, align 4, !tbaa !5
  %2087 = call ptr @strerror(i32 noundef %2086) #13
  %2088 = load i32, ptr %1007, align 4, !tbaa !5
  %2089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2080, ptr noundef nonnull %.str.4.sink1411, i32 noundef %2081, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.2, i32 noundef 256, ptr noundef %2083, ptr noundef %2085, ptr noundef %2087, i32 noundef %2088) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2090:                                             ; preds = %2061
  %2091 = call i32 @s2n_io_pair_close(ptr noundef nonnull %30) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #13
  %2092 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %29) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #13
  %2093 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %28) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %27) #13
  %2094 = call i32 @s2n_free(ptr noundef nonnull %26) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %26) #13
  %2095 = call i32 @s2n_free(ptr noundef nonnull %25) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %25) #13
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %31) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %31, i8 0, i64 24, i1 false)
  %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 = call i32 @s2n_alloc(ptr noundef nonnull %31, i32 noundef 100) #13
  %2099 = icmp eq i32 %2098, -1
  br i1 %2099, label %2100, label %2122

2100:                                             ; preds = %2090
  %2101 = load i32, ptr %1007, align 4, !tbaa !5
  %2102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2103 = call i32 @s2n_print_stacktrace(ptr noundef %2102) #13
  %2104 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2105 = trunc nuw i8 %2104 to i1
  br i1 %2105, label %2106, label %2110

2106:                                             ; preds = %2100
  %2107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2108 = call i32 @fileno(ptr noundef %2107) #13
  %2109 = call i32 @isatty(i32 noundef %2108) #13
  %.not669 = icmp eq i32 %2109, 0
  br i1 %.not669, label %2110, label %2111

2110:                                             ; preds = %2106, %2100
  br label %2111

2111:                                             ; preds = %2106, %2110
  %.str.4.sink1420 = phi ptr [ @.str.4, %2110 ], [ @.str, %2106 ]
  store i32 %2101, ptr %1007, align 4, !tbaa !5
  %2112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2113 = load i32, ptr @test_count, align 4, !tbaa !5
  %2114 = load i32, ptr %953, align 4, !tbaa !5
  %2115 = call ptr @s2n_strerror(i32 noundef %2114, ptr noundef nonnull @.str.3) #13
  %2116 = load i32, ptr %953, align 4, !tbaa !5
  %2117 = call ptr @s2n_strerror_debug(i32 noundef %2116, ptr noundef nonnull @.str.3) #13
  %2118 = load i32, ptr %1007, align 4, !tbaa !5
  %2119 = call ptr @strerror(i32 noundef %2118) #13
  %2120 = load i32, ptr %1007, align 4, !tbaa !5
  %2121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2112, ptr noundef nonnull %.str.4.sink1420, i32 noundef %2113, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.2, i32 noundef 268, ptr noundef %2115, ptr noundef %2117, ptr noundef %2119, i32 noundef %2120) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2122:                                             ; preds = %2090
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %32) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %32, i8 0, i64 24, i1 false)
  %2123 = load i32, ptr @test_count, align 4, !tbaa !5
  %2124 = add nsw i32 %2123, 1
  store i32 %2124, ptr @test_count, align 4, !tbaa !5
  %2125 = call i32 @s2n_alloc(ptr noundef nonnull %32, i32 noundef 300) #13
  %2126 = icmp eq i32 %2125, -1
  br i1 %2126, label %2127, label %2149

2127:                                             ; preds = %2122
  %2128 = load i32, ptr %1007, align 4, !tbaa !5
  %2129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2130 = call i32 @s2n_print_stacktrace(ptr noundef %2129) #13
  %2131 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2132 = trunc nuw i8 %2131 to i1
  br i1 %2132, label %2133, label %2137

2133:                                             ; preds = %2127
  %2134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2135 = call i32 @fileno(ptr noundef %2134) #13
  %2136 = call i32 @isatty(i32 noundef %2135) #13
  %.not668 = icmp eq i32 %2136, 0
  br i1 %.not668, label %2137, label %2138

2137:                                             ; preds = %2133, %2127
  br label %2138

2138:                                             ; preds = %2133, %2137
  %.str.4.sink1429 = phi ptr [ @.str.4, %2137 ], [ @.str, %2133 ]
  store i32 %2128, ptr %1007, align 4, !tbaa !5
  %2139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2140 = load i32, ptr @test_count, align 4, !tbaa !5
  %2141 = load i32, ptr %953, align 4, !tbaa !5
  %2142 = call ptr @s2n_strerror(i32 noundef %2141, ptr noundef nonnull @.str.3) #13
  %2143 = load i32, ptr %953, align 4, !tbaa !5
  %2144 = call ptr @s2n_strerror_debug(i32 noundef %2143, ptr noundef nonnull @.str.3) #13
  %2145 = load i32, ptr %1007, align 4, !tbaa !5
  %2146 = call ptr @strerror(i32 noundef %2145) #13
  %2147 = load i32, ptr %1007, align 4, !tbaa !5
  %2148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2139, ptr noundef nonnull %.str.4.sink1429, i32 noundef %2140, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.2, i32 noundef 272, ptr noundef %2142, ptr noundef %2144, ptr noundef %2146, i32 noundef %2147) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2149:                                             ; preds = %2122
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %33) #13
  store i32 0, ptr %33, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34) #13
  %2150 = call ptr @s2n_connection_new(i32 noundef 1) #13
  store ptr %2150, ptr %34, align 8, !tbaa !9
  %2151 = load i32, ptr @test_count, align 4, !tbaa !5
  %2152 = add nsw i32 %2151, 1
  store i32 %2152, ptr @test_count, align 4, !tbaa !5
  %2153 = call i32 @s2n_connection_set_config(ptr noundef %2150, ptr noundef %201) #13
  %2154 = icmp eq i32 %2153, -1
  br i1 %2154, label %2155, label %2177

2155:                                             ; preds = %2149
  %2156 = load i32, ptr %1007, align 4, !tbaa !5
  %2157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2158 = call i32 @s2n_print_stacktrace(ptr noundef %2157) #13
  %2159 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2160 = trunc nuw i8 %2159 to i1
  br i1 %2160, label %2161, label %2165

2161:                                             ; preds = %2155
  %2162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2163 = call i32 @fileno(ptr noundef %2162) #13
  %2164 = call i32 @isatty(i32 noundef %2163) #13
  %.not667 = icmp eq i32 %2164, 0
  br i1 %.not667, label %2165, label %2166

2165:                                             ; preds = %2161, %2155
  br label %2166

2166:                                             ; preds = %2161, %2165
  %.str.4.sink1438 = phi ptr [ @.str.4, %2165 ], [ @.str, %2161 ]
  store i32 %2156, ptr %1007, align 4, !tbaa !5
  %2167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2168 = load i32, ptr @test_count, align 4, !tbaa !5
  %2169 = load i32, ptr %953, align 4, !tbaa !5
  %2170 = call ptr @s2n_strerror(i32 noundef %2169, ptr noundef nonnull @.str.3) #13
  %2171 = load i32, ptr %953, align 4, !tbaa !5
  %2172 = call ptr @s2n_strerror_debug(i32 noundef %2171, ptr noundef nonnull @.str.3) #13
  %2173 = load i32, ptr %1007, align 4, !tbaa !5
  %2174 = call ptr @strerror(i32 noundef %2173) #13
  %2175 = load i32, ptr %1007, align 4, !tbaa !5
  %2176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2167, ptr noundef nonnull %.str.4.sink1438, i32 noundef %2168, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.2, i32 noundef 278, ptr noundef %2170, ptr noundef %2172, ptr noundef %2174, i32 noundef %2175) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2177:                                             ; preds = %2149
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #13
  %2178 = call ptr @s2n_connection_new(i32 noundef 0) #13
  store ptr %2178, ptr %35, align 8, !tbaa !9
  %2179 = load i32, ptr @test_count, align 4, !tbaa !5
  %2180 = add nsw i32 %2179, 1
  store i32 %2180, ptr @test_count, align 4, !tbaa !5
  %2181 = call i32 @s2n_connection_set_config(ptr noundef %2178, ptr noundef %201) #13
  %2182 = icmp eq i32 %2181, -1
  br i1 %2182, label %2183, label %2205

2183:                                             ; preds = %2177
  %2184 = load i32, ptr %1007, align 4, !tbaa !5
  %2185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2186 = call i32 @s2n_print_stacktrace(ptr noundef %2185) #13
  %2187 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2188 = trunc nuw i8 %2187 to i1
  br i1 %2188, label %2189, label %2193

2189:                                             ; preds = %2183
  %2190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2191 = call i32 @fileno(ptr noundef %2190) #13
  %2192 = call i32 @isatty(i32 noundef %2191) #13
  %.not666 = icmp eq i32 %2192, 0
  br i1 %.not666, label %2193, label %2194

2193:                                             ; preds = %2189, %2183
  br label %2194

2194:                                             ; preds = %2189, %2193
  %.str.4.sink1447 = phi ptr [ @.str.4, %2193 ], [ @.str, %2189 ]
  store i32 %2184, ptr %1007, align 4, !tbaa !5
  %2195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2196 = load i32, ptr @test_count, align 4, !tbaa !5
  %2197 = load i32, ptr %953, align 4, !tbaa !5
  %2198 = call ptr @s2n_strerror(i32 noundef %2197, ptr noundef nonnull @.str.3) #13
  %2199 = load i32, ptr %953, align 4, !tbaa !5
  %2200 = call ptr @s2n_strerror_debug(i32 noundef %2199, ptr noundef nonnull @.str.3) #13
  %2201 = load i32, ptr %1007, align 4, !tbaa !5
  %2202 = call ptr @strerror(i32 noundef %2201) #13
  %2203 = load i32, ptr %1007, align 4, !tbaa !5
  %2204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2195, ptr noundef nonnull %.str.4.sink1447, i32 noundef %2196, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.2, i32 noundef 281, ptr noundef %2198, ptr noundef %2200, ptr noundef %2202, i32 noundef %2203) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2205:                                             ; preds = %2177
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #13
  store i64 0, ptr %36, align 8
  %2206 = load i32, ptr @test_count, align 4, !tbaa !5
  %2207 = add nsw i32 %2206, 1
  store i32 %2207, ptr @test_count, align 4, !tbaa !5
  %2208 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %36) #13
  %2209 = icmp eq i32 %2208, -1
  br i1 %2209, label %2210, label %2232

2210:                                             ; preds = %2205
  %2211 = load i32, ptr %1007, align 4, !tbaa !5
  %2212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2213 = call i32 @s2n_print_stacktrace(ptr noundef %2212) #13
  %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) #13
  %2219 = call i32 @isatty(i32 noundef %2218) #13
  %.not665 = icmp eq i32 %2219, 0
  br i1 %.not665, label %2220, label %2221

2220:                                             ; preds = %2216, %2210
  br label %2221

2221:                                             ; preds = %2216, %2220
  %.str.4.sink1456 = phi ptr [ @.str.4, %2220 ], [ @.str, %2216 ]
  store i32 %2211, ptr %1007, 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 %953, align 4, !tbaa !5
  %2225 = call ptr @s2n_strerror(i32 noundef %2224, ptr noundef nonnull @.str.3) #13
  %2226 = load i32, ptr %953, align 4, !tbaa !5
  %2227 = call ptr @s2n_strerror_debug(i32 noundef %2226, ptr noundef nonnull @.str.3) #13
  %2228 = load i32, ptr %1007, align 4, !tbaa !5
  %2229 = call ptr @strerror(i32 noundef %2228) #13
  %2230 = load i32, ptr %1007, align 4, !tbaa !5
  %2231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2222, ptr noundef nonnull %.str.4.sink1456, i32 noundef %2223, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.2, i32 noundef 284, ptr noundef %2225, ptr noundef %2227, ptr noundef %2229, i32 noundef %2230) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2232:                                             ; preds = %2205
  %2233 = load i32, ptr @test_count, align 4, !tbaa !5
  %2234 = add nsw i32 %2233, 1
  store i32 %2234, ptr @test_count, align 4, !tbaa !5
  %2235 = load ptr, ptr %34, align 8, !tbaa !9
  %2236 = load ptr, ptr %35, align 8, !tbaa !9
  %2237 = call i32 @s2n_connections_set_io_pair(ptr noundef %2235, ptr noundef %2236, ptr noundef nonnull %36) #13
  %2238 = icmp eq i32 %2237, -1
  br i1 %2238, label %2239, label %2261

2239:                                             ; preds = %2232
  %2240 = load i32, ptr %1007, align 4, !tbaa !5
  %2241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2242 = call i32 @s2n_print_stacktrace(ptr noundef %2241) #13
  %2243 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2244 = trunc nuw i8 %2243 to i1
  br i1 %2244, label %2245, label %2249

2245:                                             ; preds = %2239
  %2246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2247 = call i32 @fileno(ptr noundef %2246) #13
  %2248 = call i32 @isatty(i32 noundef %2247) #13
  %.not664 = icmp eq i32 %2248, 0
  br i1 %.not664, label %2249, label %2250

2249:                                             ; preds = %2245, %2239
  br label %2250

2250:                                             ; preds = %2245, %2249
  %.str.4.sink1465 = phi ptr [ @.str.4, %2249 ], [ @.str, %2245 ]
  store i32 %2240, ptr %1007, align 4, !tbaa !5
  %2251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2252 = load i32, ptr @test_count, align 4, !tbaa !5
  %2253 = load i32, ptr %953, align 4, !tbaa !5
  %2254 = call ptr @s2n_strerror(i32 noundef %2253, ptr noundef nonnull @.str.3) #13
  %2255 = load i32, ptr %953, align 4, !tbaa !5
  %2256 = call ptr @s2n_strerror_debug(i32 noundef %2255, ptr noundef nonnull @.str.3) #13
  %2257 = load i32, ptr %1007, align 4, !tbaa !5
  %2258 = call ptr @strerror(i32 noundef %2257) #13
  %2259 = load i32, ptr %1007, align 4, !tbaa !5
  %2260 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2251, ptr noundef nonnull %.str.4.sink1465, i32 noundef %2252, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.2, i32 noundef 285, ptr noundef %2254, ptr noundef %2256, ptr noundef %2258, i32 noundef %2259) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2261:                                             ; preds = %2232
  %2262 = load i32, ptr @test_count, align 4, !tbaa !5
  %2263 = add nsw i32 %2262, 1
  store i32 %2263, ptr @test_count, align 4, !tbaa !5
  %2264 = load ptr, ptr %35, align 8, !tbaa !9
  %2265 = load ptr, ptr %34, align 8, !tbaa !9
  %2266 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %2264, ptr noundef %2265) #13
  %2267 = icmp eq i32 %2266, -1
  br i1 %2267, label %2269, label %.preheader721

.preheader721:                                    ; preds = %2261
  %2268 = getelementptr inbounds i8, ptr %31, i64 8
  %.pre = load i32, ptr @test_count, align 4, !tbaa !5
  br label %2296

2269:                                             ; preds = %2261
  %2270 = load i32, ptr %1007, align 4, !tbaa !5
  %2271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2272 = call i32 @s2n_print_stacktrace(ptr noundef %2271) #13
  %2273 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2274 = trunc nuw i8 %2273 to i1
  br i1 %2274, label %2275, label %2279

2275:                                             ; preds = %2269
  %2276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2277 = call i32 @fileno(ptr noundef %2276) #13
  %2278 = call i32 @isatty(i32 noundef %2277) #13
  %.not663 = icmp eq i32 %2278, 0
  br i1 %.not663, label %2279, label %2280

2279:                                             ; preds = %2275, %2269
  br label %2280

2280:                                             ; preds = %2275, %2279
  %.str.4.sink1474 = phi ptr [ @.str.4, %2279 ], [ @.str, %2275 ]
  store i32 %2270, ptr %1007, align 4, !tbaa !5
  %2281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2282 = load i32, ptr @test_count, align 4, !tbaa !5
  %2283 = load i32, ptr %953, align 4, !tbaa !5
  %2284 = call ptr @s2n_strerror(i32 noundef %2283, ptr noundef nonnull @.str.3) #13
  %2285 = load i32, ptr %953, align 4, !tbaa !5
  %2286 = call ptr @s2n_strerror_debug(i32 noundef %2285, ptr noundef nonnull @.str.3) #13
  %2287 = load i32, ptr %1007, align 4, !tbaa !5
  %2288 = call ptr @strerror(i32 noundef %2287) #13
  %2289 = load i32, ptr %1007, align 4, !tbaa !5
  %2290 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2281, ptr noundef nonnull %.str.4.sink1474, i32 noundef %2282, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.2, i32 noundef 286, ptr noundef %2284, ptr noundef %2286, ptr noundef %2288, i32 noundef %2289) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2291:                                             ; preds = %2338
  %2292 = add nsw i32 %2743, 2
  store i32 %2292, ptr @test_count, align 4, !tbaa !5
  %2293 = load ptr, ptr %34, align 8, !tbaa !9
  %2294 = call i32 @s2n_shutdown(ptr noundef %2293, ptr noundef nonnull %33) #13
  %2295 = icmp eq i32 %2294, -1
  br i1 %2295, label %2791, label %2769

2296:                                             ; preds = %.preheader721, %2338
  %2297 = phi i32 [ %.pre, %.preheader721 ], [ %2744, %2338 ]
  %2298 = phi i1 [ false, %.preheader721 ], [ true, %2338 ]
  %2299 = phi i1 [ true, %.preheader721 ], [ false, %2338 ]
  %2300 = add nsw i32 %2297, 1
  store i32 %2300, ptr @test_count, align 4, !tbaa !5
  %2301 = call i32 @s2n_config_set_recv_multi_record(ptr noundef %201, i1 noundef zeroext %2298) #13
  %2302 = icmp eq i32 %2301, -1
  br i1 %2302, label %2303, label %2325

2303:                                             ; preds = %2296
  %2304 = load i32, ptr %1007, align 4, !tbaa !5
  %2305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2306 = call i32 @s2n_print_stacktrace(ptr noundef %2305) #13
  %2307 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2308 = trunc nuw i8 %2307 to i1
  br i1 %2308, label %2309, label %2313

2309:                                             ; preds = %2303
  %2310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2311 = call i32 @fileno(ptr noundef %2310) #13
  %2312 = call i32 @isatty(i32 noundef %2311) #13
  %.not662 = icmp eq i32 %2312, 0
  br i1 %.not662, label %2313, label %2314

2313:                                             ; preds = %2309, %2303
  br label %2314

2314:                                             ; preds = %2309, %2313
  %.str.4.sink1483 = phi ptr [ @.str.4, %2313 ], [ @.str, %2309 ]
  store i32 %2304, ptr %1007, align 4, !tbaa !5
  %2315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2316 = load i32, ptr @test_count, align 4, !tbaa !5
  %2317 = load i32, ptr %953, align 4, !tbaa !5
  %2318 = call ptr @s2n_strerror(i32 noundef %2317, ptr noundef nonnull @.str.3) #13
  %2319 = load i32, ptr %953, align 4, !tbaa !5
  %2320 = call ptr @s2n_strerror_debug(i32 noundef %2319, ptr noundef nonnull @.str.3) #13
  %2321 = load i32, ptr %1007, align 4, !tbaa !5
  %2322 = call ptr @strerror(i32 noundef %2321) #13
  %2323 = load i32, ptr %1007, align 4, !tbaa !5
  %2324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2315, ptr noundef nonnull %.str.4.sink1483, i32 noundef %2316, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.2, i32 noundef 289, ptr noundef %2318, ptr noundef %2320, ptr noundef %2322, i32 noundef %2323) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2325:                                             ; preds = %2296
  %spec.select = select i1 %2298, i64 300, i64 100
  %.pre735 = load i32, ptr @test_count, align 4, !tbaa !5
  br label %.preheader720

2326:                                             ; preds = %2742
  %2327 = add nuw nsw i64 %.0493727, 1
  %exitcond.not = icmp eq i64 %2327, 301
  br i1 %exitcond.not, label %2338, label %.preheader720, !llvm.loop !45

.preheader720:                                    ; preds = %2325, %2326
  %2328 = phi i32 [ %.pre735, %2325 ], [ %2744, %2326 ]
  %.0493727 = phi i64 [ 1, %2325 ], [ %2327, %2326 ]
  %2329 = add nsw i32 %2328, 1
  store i32 %2329, ptr @test_count, align 4, !tbaa !5
  %2330 = load ptr, ptr %34, align 8, !tbaa !9
  %2331 = load ptr, ptr %31, align 8, !tbaa !43
  %2332 = load i32, ptr %2268, align 8, !tbaa !44
  %2333 = zext i32 %2332 to i64
  %2334 = call i64 @s2n_send(ptr noundef %2330, ptr noundef %2331, i64 noundef %2333, ptr noundef nonnull %33) #13
  %2335 = load i32, ptr %2268, align 8, !tbaa !44
  %2336 = zext i32 %2335 to i64
  %2337 = icmp eq i64 %2334, %2336
  br i1 %2337, label %2339, label %2363

2338:                                             ; preds = %2326
  br i1 %2299, label %2296, label %2291, !llvm.loop !47

2339:                                             ; preds = %.preheader720
  %2340 = load i32, ptr @test_count, align 4, !tbaa !5
  %2341 = add nsw i32 %2340, 1
  store i32 %2341, ptr @test_count, align 4, !tbaa !5
  %2342 = load ptr, ptr %34, align 8, !tbaa !9
  %2343 = load ptr, ptr %31, align 8, !tbaa !43
  %2344 = call i64 @s2n_send(ptr noundef %2342, ptr noundef %2343, i64 noundef %2334, ptr noundef nonnull %33) #13
  %2345 = load i32, ptr %2268, align 8, !tbaa !44
  %2346 = zext i32 %2345 to i64
  %2347 = icmp eq i64 %2344, %2346
  br i1 %2347, label %2348, label %2363

2348:                                             ; preds = %2339
  %2349 = load i32, ptr @test_count, align 4, !tbaa !5
  %2350 = add nsw i32 %2349, 1
  store i32 %2350, ptr @test_count, align 4, !tbaa !5
  %2351 = load ptr, ptr %34, align 8, !tbaa !9
  %2352 = load ptr, ptr %31, align 8, !tbaa !43
  %2353 = call i64 @s2n_send(ptr noundef %2351, ptr noundef %2352, i64 noundef %2344, ptr noundef nonnull %33) #13
  %2354 = load i32, ptr %2268, align 8, !tbaa !44
  %2355 = zext i32 %2354 to i64
  %2356 = icmp eq i64 %2353, %2355
  br i1 %2356, label %.preheader719.preheader, label %2363

.preheader719.preheader:                          ; preds = %2348
  %2357 = load i32, ptr @test_count, align 4, !tbaa !5
  %2358 = add nsw i32 %2357, 1
  store i32 %2358, ptr @test_count, align 4, !tbaa !5
  %2359 = load ptr, ptr %35, align 8, !tbaa !9
  %2360 = load ptr, ptr %32, align 8, !tbaa !43
  %2361 = call i64 @s2n_recv(ptr noundef %2359, ptr noundef %2360, i64 noundef 0, ptr noundef nonnull %33) #13
  %2362 = icmp eq i64 %2361, 0
  br i1 %2362, label %2497, label %2475

2363:                                             ; preds = %2348, %2339, %.preheader720
  %2364 = load i32, ptr %1007, align 4, !tbaa !5
  %2365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2366 = call i32 @s2n_print_stacktrace(ptr noundef %2365) #13
  %2367 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2368 = trunc nuw i8 %2367 to i1
  br i1 %2368, label %2369, label %2373

2369:                                             ; preds = %2363
  %2370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2371 = call i32 @fileno(ptr noundef %2370) #13
  %2372 = call i32 @isatty(i32 noundef %2371) #13
  %.not661 = icmp eq i32 %2372, 0
  br i1 %.not661, label %2373, label %2374

2373:                                             ; preds = %2369, %2363
  br label %2374

2374:                                             ; preds = %2369, %2373
  %.str.4.sink1492 = phi ptr [ @.str.4, %2373 ], [ @.str, %2369 ]
  store i32 %2364, ptr %1007, align 4, !tbaa !5
  %2375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2376 = load i32, ptr @test_count, align 4, !tbaa !5
  %2377 = load i32, ptr %953, align 4, !tbaa !5
  %2378 = call ptr @s2n_strerror(i32 noundef %2377, ptr noundef nonnull @.str.3) #13
  %2379 = load i32, ptr %953, align 4, !tbaa !5
  %2380 = call ptr @s2n_strerror_debug(i32 noundef %2379, ptr noundef nonnull @.str.3) #13
  %2381 = load i32, ptr %1007, align 4, !tbaa !5
  %2382 = call ptr @strerror(i32 noundef %2381) #13
  %2383 = load i32, ptr %1007, align 4, !tbaa !5
  %2384 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2375, ptr noundef nonnull %.str.4.sink1492, i32 noundef %2376, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.2, i32 noundef 300, ptr noundef %2378, ptr noundef %2380, ptr noundef %2382, i32 noundef %2383) #15
  call void @exit(i32 noundef 1) #16
  unreachable

.preheader719.1:                                  ; preds = %2497
  %2385 = add nsw i32 %2498, 2
  store i32 %2385, ptr @test_count, align 4, !tbaa !5
  %2386 = load ptr, ptr %35, align 8, !tbaa !9
  %2387 = load ptr, ptr %32, align 8, !tbaa !43
  %2388 = call i64 @s2n_recv(ptr noundef %2386, ptr noundef %2387, i64 noundef 0, ptr noundef nonnull %33) #13
  %2389 = icmp eq i64 %2388, 0
  br i1 %2389, label %2390, label %2475

2390:                                             ; preds = %.preheader719.1
  %2391 = load i32, ptr @test_count, align 4, !tbaa !5
  %2392 = add nsw i32 %2391, 1
  store i32 %2392, ptr @test_count, align 4, !tbaa !5
  %2393 = load i32, ptr %33, align 4, !tbaa !5
  %2394 = icmp eq i32 %2393, 0
  br i1 %2394, label %.preheader719.2, label %2502

.preheader719.2:                                  ; preds = %2390
  %2395 = add nsw i32 %2391, 2
  store i32 %2395, ptr @test_count, align 4, !tbaa !5
  %2396 = load ptr, ptr %35, align 8, !tbaa !9
  %2397 = load ptr, ptr %32, align 8, !tbaa !43
  %2398 = call i64 @s2n_recv(ptr noundef %2396, ptr noundef %2397, i64 noundef 0, ptr noundef nonnull %33) #13
  %2399 = icmp eq i64 %2398, 0
  br i1 %2399, label %2400, label %2475

2400:                                             ; preds = %.preheader719.2
  %2401 = load i32, ptr @test_count, align 4, !tbaa !5
  %2402 = add nsw i32 %2401, 1
  store i32 %2402, ptr @test_count, align 4, !tbaa !5
  %2403 = load i32, ptr %33, align 4, !tbaa !5
  %2404 = icmp eq i32 %2403, 0
  br i1 %2404, label %.preheader719.3, label %2502

.preheader719.3:                                  ; preds = %2400
  %2405 = add nsw i32 %2401, 2
  store i32 %2405, ptr @test_count, align 4, !tbaa !5
  %2406 = load ptr, ptr %35, align 8, !tbaa !9
  %2407 = load ptr, ptr %32, align 8, !tbaa !43
  %2408 = call i64 @s2n_recv(ptr noundef %2406, ptr noundef %2407, i64 noundef 0, ptr noundef nonnull %33) #13
  %2409 = icmp eq i64 %2408, 0
  br i1 %2409, label %2410, label %2475

2410:                                             ; preds = %.preheader719.3
  %2411 = load i32, ptr @test_count, align 4, !tbaa !5
  %2412 = add nsw i32 %2411, 1
  store i32 %2412, ptr @test_count, align 4, !tbaa !5
  %2413 = load i32, ptr %33, align 4, !tbaa !5
  %2414 = icmp eq i32 %2413, 0
  br i1 %2414, label %.preheader719.4, label %2502

.preheader719.4:                                  ; preds = %2410
  %2415 = add nsw i32 %2411, 2
  store i32 %2415, ptr @test_count, align 4, !tbaa !5
  %2416 = load ptr, ptr %35, align 8, !tbaa !9
  %2417 = load ptr, ptr %32, align 8, !tbaa !43
  %2418 = call i64 @s2n_recv(ptr noundef %2416, ptr noundef %2417, i64 noundef 0, ptr noundef nonnull %33) #13
  %2419 = icmp eq i64 %2418, 0
  br i1 %2419, label %2420, label %2475

2420:                                             ; preds = %.preheader719.4
  %2421 = load i32, ptr @test_count, align 4, !tbaa !5
  %2422 = add nsw i32 %2421, 1
  store i32 %2422, ptr @test_count, align 4, !tbaa !5
  %2423 = load i32, ptr %33, align 4, !tbaa !5
  %2424 = icmp eq i32 %2423, 0
  br i1 %2424, label %.preheader719.5, label %2502

.preheader719.5:                                  ; preds = %2420
  %2425 = add nsw i32 %2421, 2
  store i32 %2425, ptr @test_count, align 4, !tbaa !5
  %2426 = load ptr, ptr %35, align 8, !tbaa !9
  %2427 = load ptr, ptr %32, align 8, !tbaa !43
  %2428 = call i64 @s2n_recv(ptr noundef %2426, ptr noundef %2427, i64 noundef 0, ptr noundef nonnull %33) #13
  %2429 = icmp eq i64 %2428, 0
  br i1 %2429, label %2430, label %2475

2430:                                             ; preds = %.preheader719.5
  %2431 = load i32, ptr @test_count, align 4, !tbaa !5
  %2432 = add nsw i32 %2431, 1
  store i32 %2432, ptr @test_count, align 4, !tbaa !5
  %2433 = load i32, ptr %33, align 4, !tbaa !5
  %2434 = icmp eq i32 %2433, 0
  br i1 %2434, label %.preheader719.6, label %2502

.preheader719.6:                                  ; preds = %2430
  %2435 = add nsw i32 %2431, 2
  store i32 %2435, ptr @test_count, align 4, !tbaa !5
  %2436 = load ptr, ptr %35, align 8, !tbaa !9
  %2437 = load ptr, ptr %32, align 8, !tbaa !43
  %2438 = call i64 @s2n_recv(ptr noundef %2436, ptr noundef %2437, i64 noundef 0, ptr noundef nonnull %33) #13
  %2439 = icmp eq i64 %2438, 0
  br i1 %2439, label %2440, label %2475

2440:                                             ; preds = %.preheader719.6
  %2441 = load i32, ptr @test_count, align 4, !tbaa !5
  %2442 = add nsw i32 %2441, 1
  store i32 %2442, ptr @test_count, align 4, !tbaa !5
  %2443 = load i32, ptr %33, align 4, !tbaa !5
  %2444 = icmp eq i32 %2443, 0
  br i1 %2444, label %.preheader719.7, label %2502

.preheader719.7:                                  ; preds = %2440
  %2445 = add nsw i32 %2441, 2
  store i32 %2445, ptr @test_count, align 4, !tbaa !5
  %2446 = load ptr, ptr %35, align 8, !tbaa !9
  %2447 = load ptr, ptr %32, align 8, !tbaa !43
  %2448 = call i64 @s2n_recv(ptr noundef %2446, ptr noundef %2447, i64 noundef 0, ptr noundef nonnull %33) #13
  %2449 = icmp eq i64 %2448, 0
  br i1 %2449, label %2450, label %2475

2450:                                             ; preds = %.preheader719.7
  %2451 = load i32, ptr @test_count, align 4, !tbaa !5
  %2452 = add nsw i32 %2451, 1
  store i32 %2452, ptr @test_count, align 4, !tbaa !5
  %2453 = load i32, ptr %33, align 4, !tbaa !5
  %2454 = icmp eq i32 %2453, 0
  br i1 %2454, label %.preheader719.8, label %2502

.preheader719.8:                                  ; preds = %2450
  %2455 = add nsw i32 %2451, 2
  store i32 %2455, ptr @test_count, align 4, !tbaa !5
  %2456 = load ptr, ptr %35, align 8, !tbaa !9
  %2457 = load ptr, ptr %32, align 8, !tbaa !43
  %2458 = call i64 @s2n_recv(ptr noundef %2456, ptr noundef %2457, i64 noundef 0, ptr noundef nonnull %33) #13
  %2459 = icmp eq i64 %2458, 0
  br i1 %2459, label %2460, label %2475

2460:                                             ; preds = %.preheader719.8
  %2461 = load i32, ptr @test_count, align 4, !tbaa !5
  %2462 = add nsw i32 %2461, 1
  store i32 %2462, ptr @test_count, align 4, !tbaa !5
  %2463 = load i32, ptr %33, align 4, !tbaa !5
  %2464 = icmp eq i32 %2463, 0
  br i1 %2464, label %.preheader719.9, label %2502

.preheader719.9:                                  ; preds = %2460
  %2465 = add nsw i32 %2461, 2
  store i32 %2465, ptr @test_count, align 4, !tbaa !5
  %2466 = load ptr, ptr %35, align 8, !tbaa !9
  %2467 = load ptr, ptr %32, align 8, !tbaa !43
  %2468 = call i64 @s2n_recv(ptr noundef %2466, ptr noundef %2467, i64 noundef 0, ptr noundef nonnull %33) #13
  %2469 = icmp eq i64 %2468, 0
  br i1 %2469, label %2470, label %2475

2470:                                             ; preds = %.preheader719.9
  %2471 = load i32, ptr @test_count, align 4, !tbaa !5
  %2472 = add nsw i32 %2471, 1
  store i32 %2472, ptr @test_count, align 4, !tbaa !5
  %2473 = load i32, ptr %33, align 4, !tbaa !5
  %2474 = icmp eq i32 %2473, 0
  br i1 %2474, label %.preheader718, label %2502

2475:                                             ; preds = %.preheader719.9, %.preheader719.8, %.preheader719.7, %.preheader719.6, %.preheader719.5, %.preheader719.4, %.preheader719.3, %.preheader719.2, %.preheader719.1, %.preheader719.preheader
  %2476 = load i32, ptr %1007, align 4, !tbaa !5
  %2477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2478 = call i32 @s2n_print_stacktrace(ptr noundef %2477) #13
  %2479 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2480 = trunc nuw i8 %2479 to i1
  br i1 %2480, label %2481, label %2485

2481:                                             ; preds = %2475
  %2482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2483 = call i32 @fileno(ptr noundef %2482) #13
  %2484 = call i32 @isatty(i32 noundef %2483) #13
  %.not659 = icmp eq i32 %2484, 0
  br i1 %.not659, label %2485, label %2486

2485:                                             ; preds = %2481, %2475
  br label %2486

2486:                                             ; preds = %2481, %2485
  %.str.4.sink1501 = phi ptr [ @.str.4, %2485 ], [ @.str, %2481 ]
  store i32 %2476, ptr %1007, align 4, !tbaa !5
  %2487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2488 = load i32, ptr @test_count, align 4, !tbaa !5
  %2489 = load i32, ptr %953, align 4, !tbaa !5
  %2490 = call ptr @s2n_strerror(i32 noundef %2489, ptr noundef nonnull @.str.3) #13
  %2491 = load i32, ptr %953, align 4, !tbaa !5
  %2492 = call ptr @s2n_strerror_debug(i32 noundef %2491, ptr noundef nonnull @.str.3) #13
  %2493 = load i32, ptr %1007, align 4, !tbaa !5
  %2494 = call ptr @strerror(i32 noundef %2493) #13
  %2495 = load i32, ptr %1007, align 4, !tbaa !5
  %2496 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2487, ptr noundef nonnull %.str.4.sink1501, i32 noundef %2488, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.2, i32 noundef 305, ptr noundef %2490, ptr noundef %2492, ptr noundef %2494, i32 noundef %2495) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2497:                                             ; preds = %.preheader719.preheader
  %2498 = load i32, ptr @test_count, align 4, !tbaa !5
  %2499 = add nsw i32 %2498, 1
  store i32 %2499, ptr @test_count, align 4, !tbaa !5
  %2500 = load i32, ptr %33, align 4, !tbaa !5
  %2501 = icmp eq i32 %2500, 0
  br i1 %2501, label %.preheader719.1, label %2502

2502:                                             ; preds = %2470, %2460, %2450, %2440, %2430, %2420, %2410, %2400, %2390, %2497
  %2503 = load i32, ptr %1007, align 4, !tbaa !5
  %2504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2505 = call i32 @s2n_print_stacktrace(ptr noundef %2504) #13
  %2506 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2507 = trunc nuw i8 %2506 to i1
  br i1 %2507, label %2508, label %2512

2508:                                             ; preds = %2502
  %2509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2510 = call i32 @fileno(ptr noundef %2509) #13
  %2511 = call i32 @isatty(i32 noundef %2510) #13
  %.not660 = icmp eq i32 %2511, 0
  br i1 %.not660, label %2512, label %2513

2512:                                             ; preds = %2508, %2502
  br label %2513

2513:                                             ; preds = %2508, %2512
  %.str.4.sink1510 = phi ptr [ @.str.4, %2512 ], [ @.str, %2508 ]
  store i32 %2503, ptr %1007, align 4, !tbaa !5
  %2514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2515 = load i32, ptr @test_count, align 4, !tbaa !5
  %2516 = load i32, ptr %953, align 4, !tbaa !5
  %2517 = call ptr @s2n_strerror(i32 noundef %2516, ptr noundef nonnull @.str.3) #13
  %2518 = load i32, ptr %953, align 4, !tbaa !5
  %2519 = call ptr @s2n_strerror_debug(i32 noundef %2518, ptr noundef nonnull @.str.3) #13
  %2520 = load i32, ptr %1007, align 4, !tbaa !5
  %2521 = call ptr @strerror(i32 noundef %2520) #13
  %2522 = load i32, ptr %1007, align 4, !tbaa !5
  %2523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2514, ptr noundef nonnull %.str.4.sink1510, i32 noundef %2515, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.2, i32 noundef 306, ptr noundef %2517, ptr noundef %2519, ptr noundef %2521, i32 noundef %2522) #15
  call void @exit(i32 noundef 1) #16
  unreachable

.preheader718:                                    ; preds = %2470, %2659
  %.0496726 = phi i64 [ %2604, %2659 ], [ 0, %2470 ]
  %2524 = sub nuw nsw i64 300, %.0496726
  %2525 = call i64 @llvm.umin.i64(i64 %.0493727, i64 %2524)
  %.spec.select = call i64 @llvm.umin.i64(i64 %2525, i64 %spec.select)
  %2526 = load ptr, ptr %35, align 8, !tbaa !9
  %2527 = load ptr, ptr %32, align 8, !tbaa !43
  %2528 = call i64 @s2n_recv(ptr noundef %2526, ptr noundef %2527, i64 noundef %.0493727, ptr noundef nonnull %33) #13
  %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
  br i1 %2298, label %2531, label %2555

2531:                                             ; preds = %.preheader718
  %2532 = icmp eq i64 %2528, %.spec.select
  br i1 %2532, label %2603, label %2533

2533:                                             ; preds = %2531
  %2534 = load i32, ptr %1007, align 4, !tbaa !5
  %2535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2536 = call i32 @s2n_print_stacktrace(ptr noundef %2535) #13
  %2537 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2538 = trunc nuw i8 %2537 to i1
  br i1 %2538, label %2539, label %2543

2539:                                             ; preds = %2533
  %2540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2541 = call i32 @fileno(ptr noundef %2540) #13
  %2542 = call i32 @isatty(i32 noundef %2541) #13
  %.not656 = icmp eq i32 %2542, 0
  br i1 %.not656, label %2543, label %2544

2543:                                             ; preds = %2539, %2533
  br label %2544

2544:                                             ; preds = %2539, %2543
  %.str.4.sink1519 = phi ptr [ @.str.4, %2543 ], [ @.str, %2539 ]
  store i32 %2534, ptr %1007, align 4, !tbaa !5
  %2545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2546 = load i32, ptr @test_count, align 4, !tbaa !5
  %2547 = load i32, ptr %953, align 4, !tbaa !5
  %2548 = call ptr @s2n_strerror(i32 noundef %2547, ptr noundef nonnull @.str.3) #13
  %2549 = load i32, ptr %953, align 4, !tbaa !5
  %2550 = call ptr @s2n_strerror_debug(i32 noundef %2549, ptr noundef nonnull @.str.3) #13
  %2551 = load i32, ptr %1007, align 4, !tbaa !5
  %2552 = call ptr @strerror(i32 noundef %2551) #13
  %2553 = load i32, ptr %1007, align 4, !tbaa !5
  %2554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2545, ptr noundef nonnull %.str.4.sink1519, i32 noundef %2546, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.2, i32 noundef 318, ptr noundef %2548, ptr noundef %2550, ptr noundef %2552, i32 noundef %2553) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2555:                                             ; preds = %.preheader718
  %2556 = icmp eq i64 %2528, 0
  br i1 %2556, label %2557, label %2579

2557:                                             ; preds = %2555
  %2558 = load i32, ptr %1007, align 4, !tbaa !5
  %2559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2560 = call i32 @s2n_print_stacktrace(ptr noundef %2559) #13
  %2561 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2562 = trunc nuw i8 %2561 to i1
  br i1 %2562, label %2563, label %2567

2563:                                             ; preds = %2557
  %2564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2565 = call i32 @fileno(ptr noundef %2564) #13
  %2566 = call i32 @isatty(i32 noundef %2565) #13
  %.not655 = icmp eq i32 %2566, 0
  br i1 %.not655, label %2567, label %2568

2567:                                             ; preds = %2563, %2557
  br label %2568

2568:                                             ; preds = %2563, %2567
  %.str.4.sink1528 = phi ptr [ @.str.4, %2567 ], [ @.str, %2563 ]
  store i32 %2558, ptr %1007, align 4, !tbaa !5
  %2569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2570 = load i32, ptr @test_count, align 4, !tbaa !5
  %2571 = load i32, ptr %953, align 4, !tbaa !5
  %2572 = call ptr @s2n_strerror(i32 noundef %2571, ptr noundef nonnull @.str.3) #13
  %2573 = load i32, ptr %953, align 4, !tbaa !5
  %2574 = call ptr @s2n_strerror_debug(i32 noundef %2573, ptr noundef nonnull @.str.3) #13
  %2575 = load i32, ptr %1007, align 4, !tbaa !5
  %2576 = call ptr @strerror(i32 noundef %2575) #13
  %2577 = load i32, ptr %1007, align 4, !tbaa !5
  %2578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2569, ptr noundef nonnull %.str.4.sink1528, i32 noundef %2570, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.2, i32 noundef 322, ptr noundef %2572, ptr noundef %2574, ptr noundef %2576, i32 noundef %2577) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2579:                                             ; preds = %2555
  %2580 = add nsw i32 %2529, 2
  store i32 %2580, ptr @test_count, align 4, !tbaa !5
  %.not653 = icmp ugt i64 %2528, %.spec.select
  br i1 %.not653, label %2581, label %2603

2581:                                             ; preds = %2579
  %2582 = load i32, ptr %1007, align 4, !tbaa !5
  %2583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2584 = call i32 @s2n_print_stacktrace(ptr noundef %2583) #13
  %2585 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2586 = trunc nuw i8 %2585 to i1
  br i1 %2586, label %2587, label %2591

2587:                                             ; preds = %2581
  %2588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2589 = call i32 @fileno(ptr noundef %2588) #13
  %2590 = call i32 @isatty(i32 noundef %2589) #13
  %.not654 = icmp eq i32 %2590, 0
  br i1 %.not654, label %2591, label %2592

2591:                                             ; preds = %2587, %2581
  br label %2592

2592:                                             ; preds = %2587, %2591
  %.str.4.sink1537 = phi ptr [ @.str.4, %2591 ], [ @.str, %2587 ]
  store i32 %2582, ptr %1007, align 4, !tbaa !5
  %2593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2594 = load i32, ptr @test_count, align 4, !tbaa !5
  %2595 = load i32, ptr %953, align 4, !tbaa !5
  %2596 = call ptr @s2n_strerror(i32 noundef %2595, ptr noundef nonnull @.str.3) #13
  %2597 = load i32, ptr %953, align 4, !tbaa !5
  %2598 = call ptr @s2n_strerror_debug(i32 noundef %2597, ptr noundef nonnull @.str.3) #13
  %2599 = load i32, ptr %1007, align 4, !tbaa !5
  %2600 = call ptr @strerror(i32 noundef %2599) #13
  %2601 = load i32, ptr %1007, align 4, !tbaa !5
  %2602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2593, ptr noundef nonnull %.str.4.sink1537, i32 noundef %2594, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.2, i32 noundef 323, ptr noundef %2596, ptr noundef %2598, ptr noundef %2600, i32 noundef %2601) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2603:                                             ; preds = %2579, %2531
  %2604 = add nuw nsw i64 %2528, %.0496726
  %2605 = load ptr, ptr %35, align 8, !tbaa !9
  %2606 = call i32 @s2n_peek(ptr noundef %2605) #13
  %2607 = icmp eq i32 %2606, 0
  %2608 = load i32, ptr @test_count, align 4, !tbaa !5
  %2609 = add nsw i32 %2608, 1
  store i32 %2609, ptr @test_count, align 4, !tbaa !5
  %2610 = load i32, ptr %33, align 4, !tbaa !5
  br i1 %2607, label %2611, label %2635

2611:                                             ; preds = %2603
  %2612 = icmp eq i32 %2610, 0
  br i1 %2612, label %2659, label %2613

2613:                                             ; preds = %2611
  %2614 = load i32, ptr %1007, align 4, !tbaa !5
  %2615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2616 = call i32 @s2n_print_stacktrace(ptr noundef %2615) #13
  %2617 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2618 = trunc nuw i8 %2617 to i1
  br i1 %2618, label %2619, label %2623

2619:                                             ; preds = %2613
  %2620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2621 = call i32 @fileno(ptr noundef %2620) #13
  %2622 = call i32 @isatty(i32 noundef %2621) #13
  %.not658 = icmp eq i32 %2622, 0
  br i1 %.not658, label %2623, label %2624

2623:                                             ; preds = %2619, %2613
  br label %2624

2624:                                             ; preds = %2619, %2623
  %.str.4.sink1546 = phi ptr [ @.str.4, %2623 ], [ @.str, %2619 ]
  store i32 %2614, ptr %1007, align 4, !tbaa !5
  %2625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2626 = load i32, ptr @test_count, align 4, !tbaa !5
  %2627 = load i32, ptr %953, align 4, !tbaa !5
  %2628 = call ptr @s2n_strerror(i32 noundef %2627, ptr noundef nonnull @.str.3) #13
  %2629 = load i32, ptr %953, align 4, !tbaa !5
  %2630 = call ptr @s2n_strerror_debug(i32 noundef %2629, ptr noundef nonnull @.str.3) #13
  %2631 = load i32, ptr %1007, align 4, !tbaa !5
  %2632 = call ptr @strerror(i32 noundef %2631) #13
  %2633 = load i32, ptr %1007, align 4, !tbaa !5
  %2634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2625, ptr noundef nonnull %.str.4.sink1546, i32 noundef %2626, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.2, i32 noundef 337, ptr noundef %2628, ptr noundef %2630, ptr noundef %2632, i32 noundef %2633) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2635:                                             ; preds = %2603
  %2636 = icmp eq i32 %2610, 1
  br i1 %2636, label %2659, label %2637

2637:                                             ; preds = %2635
  %2638 = load i32, ptr %1007, align 4, !tbaa !5
  %2639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2640 = call i32 @s2n_print_stacktrace(ptr noundef %2639) #13
  %2641 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2642 = trunc nuw i8 %2641 to i1
  br i1 %2642, label %2643, label %2647

2643:                                             ; preds = %2637
  %2644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2645 = call i32 @fileno(ptr noundef %2644) #13
  %2646 = call i32 @isatty(i32 noundef %2645) #13
  %.not657 = icmp eq i32 %2646, 0
  br i1 %.not657, label %2647, label %2648

2647:                                             ; preds = %2643, %2637
  br label %2648

2648:                                             ; preds = %2643, %2647
  %.str.4.sink1555 = phi ptr [ @.str.4, %2647 ], [ @.str, %2643 ]
  store i32 %2638, ptr %1007, align 4, !tbaa !5
  %2649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2650 = load i32, ptr @test_count, align 4, !tbaa !5
  %2651 = load i32, ptr %953, align 4, !tbaa !5
  %2652 = call ptr @s2n_strerror(i32 noundef %2651, ptr noundef nonnull @.str.3) #13
  %2653 = load i32, ptr %953, align 4, !tbaa !5
  %2654 = call ptr @s2n_strerror_debug(i32 noundef %2653, ptr noundef nonnull @.str.3) #13
  %2655 = load i32, ptr %1007, align 4, !tbaa !5
  %2656 = call ptr @strerror(i32 noundef %2655) #13
  %2657 = load i32, ptr %1007, align 4, !tbaa !5
  %2658 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2649, ptr noundef nonnull %.str.4.sink1555, i32 noundef %2650, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.2, i32 noundef 339, ptr noundef %2652, ptr noundef %2654, ptr noundef %2656, i32 noundef %2657) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2659:                                             ; preds = %2635, %2611
  %2660 = icmp ult i64 %2604, 300
  br i1 %2660, label %.preheader718, label %2661, !llvm.loop !48

2661:                                             ; preds = %2659
  %2662 = add nsw i32 %2608, 2
  store i32 %2662, ptr @test_count, align 4, !tbaa !5
  %2663 = load ptr, ptr %35, align 8, !tbaa !9
  %2664 = load ptr, ptr %32, align 8, !tbaa !43
  %2665 = call i64 @s2n_recv(ptr noundef %2663, ptr noundef %2664, i64 noundef %.0493727, ptr noundef nonnull %33) #13
  %2666 = icmp eq i64 %2665, -1
  br i1 %2666, label %2689, label %2667

2667:                                             ; preds = %2661
  %2668 = load i32, ptr %1007, align 4, !tbaa !5
  %2669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2670 = call i32 @s2n_print_stacktrace(ptr noundef %2669) #13
  %2671 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2672 = trunc nuw i8 %2671 to i1
  br i1 %2672, label %2673, label %2677

2673:                                             ; preds = %2667
  %2674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2675 = call i32 @fileno(ptr noundef %2674) #13
  %2676 = call i32 @isatty(i32 noundef %2675) #13
  %.not649 = icmp eq i32 %2676, 0
  br i1 %.not649, label %2677, label %2678

2677:                                             ; preds = %2673, %2667
  br label %2678

2678:                                             ; preds = %2673, %2677
  %.str.4.sink1564 = phi ptr [ @.str.4, %2677 ], [ @.str, %2673 ]
  store i32 %2668, ptr %1007, align 4, !tbaa !5
  %2679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2680 = load i32, ptr @test_count, align 4, !tbaa !5
  %2681 = load i32, ptr %953, align 4, !tbaa !5
  %2682 = call ptr @s2n_strerror(i32 noundef %2681, ptr noundef nonnull @.str.3) #13
  %2683 = load i32, ptr %953, align 4, !tbaa !5
  %2684 = call ptr @s2n_strerror_debug(i32 noundef %2683, ptr noundef nonnull @.str.3) #13
  %2685 = load i32, ptr %1007, align 4, !tbaa !5
  %2686 = call ptr @strerror(i32 noundef %2685) #13
  %2687 = load i32, ptr %1007, align 4, !tbaa !5
  %2688 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2679, ptr noundef nonnull %.str.4.sink1564, i32 noundef %2680, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.2, i32 noundef 344, ptr noundef %2682, ptr noundef %2684, ptr noundef %2686, i32 noundef %2687) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2689:                                             ; preds = %2661
  %2690 = load i32, ptr @test_count, align 4, !tbaa !5
  %2691 = add nsw i32 %2690, 1
  store i32 %2691, ptr @test_count, align 4, !tbaa !5
  %2692 = load i32, ptr %953, align 4, !tbaa !5
  %2693 = icmp eq i32 %2692, 201326592
  br i1 %2693, label %2716, label %2694

2694:                                             ; preds = %2689
  %2695 = load i32, ptr %1007, align 4, !tbaa !5
  %2696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2697 = call i32 @s2n_print_stacktrace(ptr noundef %2696) #13
  %2698 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2699 = trunc nuw i8 %2698 to i1
  br i1 %2699, label %2700, label %2704

2700:                                             ; preds = %2694
  %2701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2702 = call i32 @fileno(ptr noundef %2701) #13
  %2703 = call i32 @isatty(i32 noundef %2702) #13
  %.not650 = icmp eq i32 %2703, 0
  br i1 %.not650, label %2704, label %2705

2704:                                             ; preds = %2700, %2694
  br label %2705

2705:                                             ; preds = %2700, %2704
  %.str.4.sink1573 = phi ptr [ @.str.4, %2704 ], [ @.str, %2700 ]
  store i32 %2695, ptr %1007, align 4, !tbaa !5
  %2706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2707 = load i32, ptr @test_count, align 4, !tbaa !5
  %2708 = load i32, ptr %953, align 4, !tbaa !5
  %2709 = call ptr @s2n_strerror(i32 noundef %2708, ptr noundef nonnull @.str.3) #13
  %2710 = load i32, ptr %953, align 4, !tbaa !5
  %2711 = call ptr @s2n_strerror_debug(i32 noundef %2710, ptr noundef nonnull @.str.3) #13
  %2712 = load i32, ptr %1007, align 4, !tbaa !5
  %2713 = call ptr @strerror(i32 noundef %2712) #13
  %2714 = load i32, ptr %1007, align 4, !tbaa !5
  %2715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2706, ptr noundef nonnull %.str.4.sink1573, i32 noundef %2707, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.2, i32 noundef 344, ptr noundef %2709, ptr noundef %2711, ptr noundef %2713, i32 noundef %2714) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2716:                                             ; preds = %2689
  %2717 = add nsw i32 %2690, 2
  store i32 %2717, ptr @test_count, align 4, !tbaa !5
  %2718 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.3) #13
  %2719 = icmp eq ptr %2718, null
  br i1 %2719, label %2720, label %2742

2720:                                             ; preds = %2716
  %2721 = load i32, ptr %1007, align 4, !tbaa !5
  %2722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2723 = call i32 @s2n_print_stacktrace(ptr noundef %2722) #13
  %2724 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2725 = trunc nuw i8 %2724 to i1
  br i1 %2725, label %2726, label %2730

2726:                                             ; preds = %2720
  %2727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2728 = call i32 @fileno(ptr noundef %2727) #13
  %2729 = call i32 @isatty(i32 noundef %2728) #13
  %.not652 = icmp eq i32 %2729, 0
  br i1 %.not652, label %2730, label %2731

2730:                                             ; preds = %2726, %2720
  br label %2731

2731:                                             ; preds = %2726, %2730
  %.str.4.sink1582 = phi ptr [ @.str.4, %2730 ], [ @.str, %2726 ]
  store i32 %2721, ptr %1007, align 4, !tbaa !5
  %2732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2733 = load i32, ptr @test_count, align 4, !tbaa !5
  %2734 = load i32, ptr %953, align 4, !tbaa !5
  %2735 = call ptr @s2n_strerror(i32 noundef %2734, ptr noundef nonnull @.str.3) #13
  %2736 = load i32, ptr %953, align 4, !tbaa !5
  %2737 = call ptr @s2n_strerror_debug(i32 noundef %2736, ptr noundef nonnull @.str.3) #13
  %2738 = load i32, ptr %1007, align 4, !tbaa !5
  %2739 = call ptr @strerror(i32 noundef %2738) #13
  %2740 = load i32, ptr %1007, align 4, !tbaa !5
  %2741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2732, ptr noundef nonnull %.str.4.sink1582, i32 noundef %2733, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.2, i32 noundef 344, ptr noundef %2735, ptr noundef %2737, ptr noundef %2739, i32 noundef %2740) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2742:                                             ; preds = %2716
  store i32 0, ptr %953, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %1007, align 4, !tbaa !5
  %2743 = load i32, ptr @test_count, align 4, !tbaa !5
  %2744 = add nsw i32 %2743, 1
  store i32 %2744, ptr @test_count, align 4, !tbaa !5
  %2745 = load i32, ptr %33, align 4, !tbaa !5
  %2746 = icmp eq i32 %2745, 1
  br i1 %2746, label %2326, label %2747

2747:                                             ; preds = %2742
  %2748 = load i32, ptr %1007, align 4, !tbaa !5
  %2749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2750 = call i32 @s2n_print_stacktrace(ptr noundef %2749) #13
  %2751 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2752 = trunc nuw i8 %2751 to i1
  br i1 %2752, label %2753, label %2757

2753:                                             ; preds = %2747
  %2754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2755 = call i32 @fileno(ptr noundef %2754) #13
  %2756 = call i32 @isatty(i32 noundef %2755) #13
  %.not651 = icmp eq i32 %2756, 0
  br i1 %.not651, label %2757, label %2758

2757:                                             ; preds = %2753, %2747
  br label %2758

2758:                                             ; preds = %2753, %2757
  %.str.4.sink1591 = phi ptr [ @.str.4, %2757 ], [ @.str, %2753 ]
  store i32 %2748, ptr %1007, align 4, !tbaa !5
  %2759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2760 = load i32, ptr @test_count, align 4, !tbaa !5
  %2761 = load i32, ptr %953, align 4, !tbaa !5
  %2762 = call ptr @s2n_strerror(i32 noundef %2761, ptr noundef nonnull @.str.3) #13
  %2763 = load i32, ptr %953, align 4, !tbaa !5
  %2764 = call ptr @s2n_strerror_debug(i32 noundef %2763, ptr noundef nonnull @.str.3) #13
  %2765 = load i32, ptr %1007, align 4, !tbaa !5
  %2766 = call ptr @strerror(i32 noundef %2765) #13
  %2767 = load i32, ptr %1007, align 4, !tbaa !5
  %2768 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2759, ptr noundef nonnull %.str.4.sink1591, i32 noundef %2760, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.2, i32 noundef 345, ptr noundef %2762, ptr noundef %2764, ptr noundef %2766, i32 noundef %2767) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2769:                                             ; preds = %2291
  %2770 = load i32, ptr %1007, align 4, !tbaa !5
  %2771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2772 = call i32 @s2n_print_stacktrace(ptr noundef %2771) #13
  %2773 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2774 = trunc nuw i8 %2773 to i1
  br i1 %2774, label %2775, label %2779

2775:                                             ; preds = %2769
  %2776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2777 = call i32 @fileno(ptr noundef %2776) #13
  %2778 = call i32 @isatty(i32 noundef %2777) #13
  %.not537 = icmp eq i32 %2778, 0
  br i1 %.not537, label %2779, label %2780

2779:                                             ; preds = %2775, %2769
  br label %2780

2780:                                             ; preds = %2775, %2779
  %.str.4.sink1600 = phi ptr [ @.str.4, %2779 ], [ @.str, %2775 ]
  store i32 %2770, ptr %1007, align 4, !tbaa !5
  %2781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2782 = load i32, ptr @test_count, align 4, !tbaa !5
  %2783 = load i32, ptr %953, align 4, !tbaa !5
  %2784 = call ptr @s2n_strerror(i32 noundef %2783, ptr noundef nonnull @.str.3) #13
  %2785 = load i32, ptr %953, align 4, !tbaa !5
  %2786 = call ptr @s2n_strerror_debug(i32 noundef %2785, ptr noundef nonnull @.str.3) #13
  %2787 = load i32, ptr %1007, align 4, !tbaa !5
  %2788 = call ptr @strerror(i32 noundef %2787) #13
  %2789 = load i32, ptr %1007, align 4, !tbaa !5
  %2790 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2781, ptr noundef nonnull %.str.4.sink1600, i32 noundef %2782, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.2, i32 noundef 349, ptr noundef %2784, ptr noundef %2786, ptr noundef %2788, i32 noundef %2789) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2791:                                             ; preds = %2291
  %2792 = load i32, ptr @test_count, align 4, !tbaa !5
  %2793 = add nsw i32 %2792, 1
  store i32 %2793, ptr @test_count, align 4, !tbaa !5
  %2794 = load i32, ptr %953, align 4, !tbaa !5
  %2795 = icmp eq i32 %2794, 201326592
  br i1 %2795, label %2818, label %2796

2796:                                             ; preds = %2791
  %2797 = load i32, ptr %1007, align 4, !tbaa !5
  %2798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2799 = call i32 @s2n_print_stacktrace(ptr noundef %2798) #13
  %2800 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2801 = trunc nuw i8 %2800 to i1
  br i1 %2801, label %2802, label %2806

2802:                                             ; preds = %2796
  %2803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2804 = call i32 @fileno(ptr noundef %2803) #13
  %2805 = call i32 @isatty(i32 noundef %2804) #13
  %.not538 = icmp eq i32 %2805, 0
  br i1 %.not538, label %2806, label %2807

2806:                                             ; preds = %2802, %2796
  br label %2807

2807:                                             ; preds = %2802, %2806
  %.str.4.sink1609 = phi ptr [ @.str.4, %2806 ], [ @.str, %2802 ]
  store i32 %2797, ptr %1007, align 4, !tbaa !5
  %2808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2809 = load i32, ptr @test_count, align 4, !tbaa !5
  %2810 = load i32, ptr %953, align 4, !tbaa !5
  %2811 = call ptr @s2n_strerror(i32 noundef %2810, ptr noundef nonnull @.str.3) #13
  %2812 = load i32, ptr %953, align 4, !tbaa !5
  %2813 = call ptr @s2n_strerror_debug(i32 noundef %2812, ptr noundef nonnull @.str.3) #13
  %2814 = load i32, ptr %1007, align 4, !tbaa !5
  %2815 = call ptr @strerror(i32 noundef %2814) #13
  %2816 = load i32, ptr %1007, align 4, !tbaa !5
  %2817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2808, ptr noundef nonnull %.str.4.sink1609, i32 noundef %2809, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.2, i32 noundef 349, ptr noundef %2811, ptr noundef %2813, ptr noundef %2815, i32 noundef %2816) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2818:                                             ; preds = %2791
  %2819 = add nsw i32 %2792, 2
  store i32 %2819, ptr @test_count, align 4, !tbaa !5
  %2820 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.3) #13
  %2821 = icmp eq ptr %2820, null
  br i1 %2821, label %2822, label %2844

2822:                                             ; preds = %2818
  %2823 = load i32, ptr %1007, align 4, !tbaa !5
  %2824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2825 = call i32 @s2n_print_stacktrace(ptr noundef %2824) #13
  %2826 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2827 = trunc nuw i8 %2826 to i1
  br i1 %2827, label %2828, label %2832

2828:                                             ; preds = %2822
  %2829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2830 = call i32 @fileno(ptr noundef %2829) #13
  %2831 = call i32 @isatty(i32 noundef %2830) #13
  %.not648 = icmp eq i32 %2831, 0
  br i1 %.not648, label %2832, label %2833

2832:                                             ; preds = %2828, %2822
  br label %2833

2833:                                             ; preds = %2828, %2832
  %.str.4.sink1618 = phi ptr [ @.str.4, %2832 ], [ @.str, %2828 ]
  store i32 %2823, ptr %1007, align 4, !tbaa !5
  %2834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2835 = load i32, ptr @test_count, align 4, !tbaa !5
  %2836 = load i32, ptr %953, align 4, !tbaa !5
  %2837 = call ptr @s2n_strerror(i32 noundef %2836, ptr noundef nonnull @.str.3) #13
  %2838 = load i32, ptr %953, align 4, !tbaa !5
  %2839 = call ptr @s2n_strerror_debug(i32 noundef %2838, ptr noundef nonnull @.str.3) #13
  %2840 = load i32, ptr %1007, align 4, !tbaa !5
  %2841 = call ptr @strerror(i32 noundef %2840) #13
  %2842 = load i32, ptr %1007, align 4, !tbaa !5
  %2843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2834, ptr noundef nonnull %.str.4.sink1618, i32 noundef %2835, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.2, i32 noundef 349, ptr noundef %2837, ptr noundef %2839, ptr noundef %2841, i32 noundef %2842) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2844:                                             ; preds = %2818
  store i32 0, ptr %953, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %1007, align 4, !tbaa !5
  %2845 = load i32, ptr @test_count, align 4, !tbaa !5
  %2846 = add nsw i32 %2845, 1
  store i32 %2846, ptr @test_count, align 4, !tbaa !5
  %2847 = load i32, ptr %33, align 4, !tbaa !5
  %2848 = icmp eq i32 %2847, 1
  br i1 %2848, label %.preheader, label %2857

.preheader:                                       ; preds = %2844
  %2849 = getelementptr inbounds i8, ptr %32, i64 8
  %2850 = add nsw i32 %2845, 2
  store i32 %2850, ptr @test_count, align 4, !tbaa !5
  %2851 = load ptr, ptr %35, align 8, !tbaa !9
  %2852 = load ptr, ptr %32, align 8, !tbaa !43
  %2853 = load i32, ptr %2849, align 8, !tbaa !44
  %2854 = zext i32 %2853 to i64
  %2855 = call i64 @s2n_recv(ptr noundef %2851, ptr noundef %2852, i64 noundef %2854, ptr noundef nonnull %33) #13
  %2856 = icmp eq i64 %2855, 0
  br i1 %2856, label %3023, label %3001

2857:                                             ; preds = %2844
  %2858 = load i32, ptr %1007, align 4, !tbaa !5
  %2859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2860 = call i32 @s2n_print_stacktrace(ptr noundef %2859) #13
  %2861 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2862 = trunc nuw i8 %2861 to i1
  br i1 %2862, label %2863, label %2867

2863:                                             ; preds = %2857
  %2864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2865 = call i32 @fileno(ptr noundef %2864) #13
  %2866 = call i32 @isatty(i32 noundef %2865) #13
  %.not539 = icmp eq i32 %2866, 0
  br i1 %.not539, label %2867, label %2868

2867:                                             ; preds = %2863, %2857
  br label %2868

2868:                                             ; preds = %2863, %2867
  %.str.4.sink1627 = phi ptr [ @.str.4, %2867 ], [ @.str, %2863 ]
  store i32 %2858, ptr %1007, align 4, !tbaa !5
  %2869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2870 = load i32, ptr @test_count, align 4, !tbaa !5
  %2871 = load i32, ptr %953, align 4, !tbaa !5
  %2872 = call ptr @s2n_strerror(i32 noundef %2871, ptr noundef nonnull @.str.3) #13
  %2873 = load i32, ptr %953, align 4, !tbaa !5
  %2874 = call ptr @s2n_strerror_debug(i32 noundef %2873, ptr noundef nonnull @.str.3) #13
  %2875 = load i32, ptr %1007, align 4, !tbaa !5
  %2876 = call ptr @strerror(i32 noundef %2875) #13
  %2877 = load i32, ptr %1007, align 4, !tbaa !5
  %2878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2869, ptr noundef nonnull %.str.4.sink1627, i32 noundef %2870, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.2, i32 noundef 350, ptr noundef %2872, ptr noundef %2874, ptr noundef %2876, i32 noundef %2877) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2879:                                             ; preds = %3023
  %2880 = add nsw i32 %3024, 2
  store i32 %2880, ptr @test_count, align 4, !tbaa !5
  %2881 = load ptr, ptr %35, align 8, !tbaa !9
  %2882 = load ptr, ptr %32, align 8, !tbaa !43
  %2883 = load i32, ptr %2849, align 8, !tbaa !44
  %2884 = zext i32 %2883 to i64
  %2885 = call i64 @s2n_recv(ptr noundef %2881, ptr noundef %2882, i64 noundef %2884, ptr noundef nonnull %33) #13
  %2886 = icmp eq i64 %2885, 0
  br i1 %2886, label %2887, label %3001

2887:                                             ; preds = %2879
  %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 i32, ptr %33, align 4, !tbaa !5
  %2891 = icmp eq i32 %2890, 0
  br i1 %2891, label %2892, label %3028

2892:                                             ; preds = %2887
  %2893 = add nsw i32 %2888, 2
  store i32 %2893, ptr @test_count, align 4, !tbaa !5
  %2894 = load ptr, ptr %35, align 8, !tbaa !9
  %2895 = load ptr, ptr %32, align 8, !tbaa !43
  %2896 = load i32, ptr %2849, align 8, !tbaa !44
  %2897 = zext i32 %2896 to i64
  %2898 = call i64 @s2n_recv(ptr noundef %2894, ptr noundef %2895, i64 noundef %2897, ptr noundef nonnull %33) #13
  %2899 = icmp eq i64 %2898, 0
  br i1 %2899, label %2900, label %3001

2900:                                             ; preds = %2892
  %2901 = load i32, ptr @test_count, align 4, !tbaa !5
  %2902 = add nsw i32 %2901, 1
  store i32 %2902, ptr @test_count, align 4, !tbaa !5
  %2903 = load i32, ptr %33, align 4, !tbaa !5
  %2904 = icmp eq i32 %2903, 0
  br i1 %2904, label %2905, label %3028

2905:                                             ; preds = %2900
  %2906 = add nsw i32 %2901, 2
  store i32 %2906, ptr @test_count, align 4, !tbaa !5
  %2907 = load ptr, ptr %35, align 8, !tbaa !9
  %2908 = load ptr, ptr %32, align 8, !tbaa !43
  %2909 = load i32, ptr %2849, align 8, !tbaa !44
  %2910 = zext i32 %2909 to i64
  %2911 = call i64 @s2n_recv(ptr noundef %2907, ptr noundef %2908, i64 noundef %2910, ptr noundef nonnull %33) #13
  %2912 = icmp eq i64 %2911, 0
  br i1 %2912, label %2913, label %3001

2913:                                             ; preds = %2905
  %2914 = load i32, ptr @test_count, align 4, !tbaa !5
  %2915 = add nsw i32 %2914, 1
  store i32 %2915, ptr @test_count, align 4, !tbaa !5
  %2916 = load i32, ptr %33, align 4, !tbaa !5
  %2917 = icmp eq i32 %2916, 0
  br i1 %2917, label %2918, label %3028

2918:                                             ; preds = %2913
  %2919 = add nsw i32 %2914, 2
  store i32 %2919, ptr @test_count, align 4, !tbaa !5
  %2920 = load ptr, ptr %35, align 8, !tbaa !9
  %2921 = load ptr, ptr %32, align 8, !tbaa !43
  %2922 = load i32, ptr %2849, align 8, !tbaa !44
  %2923 = zext i32 %2922 to i64
  %2924 = call i64 @s2n_recv(ptr noundef %2920, ptr noundef %2921, i64 noundef %2923, ptr noundef nonnull %33) #13
  %2925 = icmp eq i64 %2924, 0
  br i1 %2925, label %2926, label %3001

2926:                                             ; preds = %2918
  %2927 = load i32, ptr @test_count, align 4, !tbaa !5
  %2928 = add nsw i32 %2927, 1
  store i32 %2928, ptr @test_count, align 4, !tbaa !5
  %2929 = load i32, ptr %33, align 4, !tbaa !5
  %2930 = icmp eq i32 %2929, 0
  br i1 %2930, label %2931, label %3028

2931:                                             ; preds = %2926
  %2932 = add nsw i32 %2927, 2
  store i32 %2932, ptr @test_count, align 4, !tbaa !5
  %2933 = load ptr, ptr %35, align 8, !tbaa !9
  %2934 = load ptr, ptr %32, align 8, !tbaa !43
  %2935 = load i32, ptr %2849, align 8, !tbaa !44
  %2936 = zext i32 %2935 to i64
  %2937 = call i64 @s2n_recv(ptr noundef %2933, ptr noundef %2934, i64 noundef %2936, ptr noundef nonnull %33) #13
  %2938 = icmp eq i64 %2937, 0
  br i1 %2938, label %2939, label %3001

2939:                                             ; preds = %2931
  %2940 = load i32, ptr @test_count, align 4, !tbaa !5
  %2941 = add nsw i32 %2940, 1
  store i32 %2941, ptr @test_count, align 4, !tbaa !5
  %2942 = load i32, ptr %33, align 4, !tbaa !5
  %2943 = icmp eq i32 %2942, 0
  br i1 %2943, label %2944, label %3028

2944:                                             ; preds = %2939
  %2945 = add nsw i32 %2940, 2
  store i32 %2945, ptr @test_count, align 4, !tbaa !5
  %2946 = load ptr, ptr %35, align 8, !tbaa !9
  %2947 = load ptr, ptr %32, align 8, !tbaa !43
  %2948 = load i32, ptr %2849, align 8, !tbaa !44
  %2949 = zext i32 %2948 to i64
  %2950 = call i64 @s2n_recv(ptr noundef %2946, ptr noundef %2947, i64 noundef %2949, ptr noundef nonnull %33) #13
  %2951 = icmp eq i64 %2950, 0
  br i1 %2951, label %2952, label %3001

2952:                                             ; preds = %2944
  %2953 = load i32, ptr @test_count, align 4, !tbaa !5
  %2954 = add nsw i32 %2953, 1
  store i32 %2954, ptr @test_count, align 4, !tbaa !5
  %2955 = load i32, ptr %33, align 4, !tbaa !5
  %2956 = icmp eq i32 %2955, 0
  br i1 %2956, label %2957, label %3028

2957:                                             ; preds = %2952
  %2958 = add nsw i32 %2953, 2
  store i32 %2958, ptr @test_count, align 4, !tbaa !5
  %2959 = load ptr, ptr %35, align 8, !tbaa !9
  %2960 = load ptr, ptr %32, align 8, !tbaa !43
  %2961 = load i32, ptr %2849, align 8, !tbaa !44
  %2962 = zext i32 %2961 to i64
  %2963 = call i64 @s2n_recv(ptr noundef %2959, ptr noundef %2960, i64 noundef %2962, ptr noundef nonnull %33) #13
  %2964 = icmp eq i64 %2963, 0
  br i1 %2964, label %2965, label %3001

2965:                                             ; preds = %2957
  %2966 = load i32, ptr @test_count, align 4, !tbaa !5
  %2967 = add nsw i32 %2966, 1
  store i32 %2967, ptr @test_count, align 4, !tbaa !5
  %2968 = load i32, ptr %33, align 4, !tbaa !5
  %2969 = icmp eq i32 %2968, 0
  br i1 %2969, label %2970, label %3028

2970:                                             ; preds = %2965
  %2971 = add nsw i32 %2966, 2
  store i32 %2971, ptr @test_count, align 4, !tbaa !5
  %2972 = load ptr, ptr %35, align 8, !tbaa !9
  %2973 = load ptr, ptr %32, align 8, !tbaa !43
  %2974 = load i32, ptr %2849, align 8, !tbaa !44
  %2975 = zext i32 %2974 to i64
  %2976 = call i64 @s2n_recv(ptr noundef %2972, ptr noundef %2973, i64 noundef %2975, ptr noundef nonnull %33) #13
  %2977 = icmp eq i64 %2976, 0
  br i1 %2977, label %2978, label %3001

2978:                                             ; preds = %2970
  %2979 = load i32, ptr @test_count, align 4, !tbaa !5
  %2980 = add nsw i32 %2979, 1
  store i32 %2980, ptr @test_count, align 4, !tbaa !5
  %2981 = load i32, ptr %33, align 4, !tbaa !5
  %2982 = icmp eq i32 %2981, 0
  br i1 %2982, label %2983, label %3028

2983:                                             ; preds = %2978
  %2984 = add nsw i32 %2979, 2
  store i32 %2984, ptr @test_count, align 4, !tbaa !5
  %2985 = load ptr, ptr %35, align 8, !tbaa !9
  %2986 = load ptr, ptr %32, align 8, !tbaa !43
  %2987 = load i32, ptr %2849, align 8, !tbaa !44
  %2988 = zext i32 %2987 to i64
  %2989 = call i64 @s2n_recv(ptr noundef %2985, ptr noundef %2986, i64 noundef %2988, ptr noundef nonnull %33) #13
  %2990 = icmp eq i64 %2989, 0
  br i1 %2990, label %2991, label %3001

2991:                                             ; preds = %2983
  %2992 = load i32, ptr @test_count, align 4, !tbaa !5
  %2993 = add nsw i32 %2992, 1
  store i32 %2993, ptr @test_count, align 4, !tbaa !5
  %2994 = load i32, ptr %33, align 4, !tbaa !5
  %2995 = icmp eq i32 %2994, 0
  br i1 %2995, label %2996, label %3028

2996:                                             ; preds = %2991
  %2997 = add nsw i32 %2992, 2
  store i32 %2997, ptr @test_count, align 4, !tbaa !5
  %2998 = load ptr, ptr %35, align 8, !tbaa !9
  %2999 = call i32 @s2n_shutdown(ptr noundef %2998, ptr noundef nonnull %33) #13
  %3000 = icmp eq i32 %2999, -1
  br i1 %3000, label %3050, label %3072

3001:                                             ; preds = %2983, %2970, %2957, %2944, %2931, %2918, %2905, %2892, %2879, %.preheader
  %3002 = load i32, ptr %1007, align 4, !tbaa !5
  %3003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3004 = call i32 @s2n_print_stacktrace(ptr noundef %3003) #13
  %3005 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3006 = trunc nuw i8 %3005 to i1
  br i1 %3006, label %3007, label %3011

3007:                                             ; preds = %3001
  %3008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3009 = call i32 @fileno(ptr noundef %3008) #13
  %3010 = call i32 @isatty(i32 noundef %3009) #13
  %.not646 = icmp eq i32 %3010, 0
  br i1 %.not646, label %3011, label %3012

3011:                                             ; preds = %3007, %3001
  br label %3012

3012:                                             ; preds = %3007, %3011
  %.str.4.sink1636 = phi ptr [ @.str.4, %3011 ], [ @.str, %3007 ]
  store i32 %3002, ptr %1007, align 4, !tbaa !5
  %3013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3014 = load i32, ptr @test_count, align 4, !tbaa !5
  %3015 = load i32, ptr %953, align 4, !tbaa !5
  %3016 = call ptr @s2n_strerror(i32 noundef %3015, ptr noundef nonnull @.str.3) #13
  %3017 = load i32, ptr %953, align 4, !tbaa !5
  %3018 = call ptr @s2n_strerror_debug(i32 noundef %3017, ptr noundef nonnull @.str.3) #13
  %3019 = load i32, ptr %1007, align 4, !tbaa !5
  %3020 = call ptr @strerror(i32 noundef %3019) #13
  %3021 = load i32, ptr %1007, align 4, !tbaa !5
  %3022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3013, ptr noundef nonnull %.str.4.sink1636, i32 noundef %3014, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.2, i32 noundef 354, ptr noundef %3016, ptr noundef %3018, ptr noundef %3020, i32 noundef %3021) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3023:                                             ; preds = %.preheader
  %3024 = load i32, ptr @test_count, align 4, !tbaa !5
  %3025 = add nsw i32 %3024, 1
  store i32 %3025, ptr @test_count, align 4, !tbaa !5
  %3026 = load i32, ptr %33, align 4, !tbaa !5
  %3027 = icmp eq i32 %3026, 0
  br i1 %3027, label %2879, label %3028

3028:                                             ; preds = %2991, %2978, %2965, %2952, %2939, %2926, %2913, %2900, %2887, %3023
  %3029 = load i32, ptr %1007, align 4, !tbaa !5
  %3030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3031 = call i32 @s2n_print_stacktrace(ptr noundef %3030) #13
  %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) #13
  %3037 = call i32 @isatty(i32 noundef %3036) #13
  %.not647 = icmp eq i32 %3037, 0
  br i1 %.not647, label %3038, label %3039

3038:                                             ; preds = %3034, %3028
  br label %3039

3039:                                             ; preds = %3034, %3038
  %.str.4.sink1645 = phi ptr [ @.str.4, %3038 ], [ @.str, %3034 ]
  store i32 %3029, ptr %1007, 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 %953, align 4, !tbaa !5
  %3043 = call ptr @s2n_strerror(i32 noundef %3042, ptr noundef nonnull @.str.3) #13
  %3044 = load i32, ptr %953, align 4, !tbaa !5
  %3045 = call ptr @s2n_strerror_debug(i32 noundef %3044, ptr noundef nonnull @.str.3) #13
  %3046 = load i32, ptr %1007, align 4, !tbaa !5
  %3047 = call ptr @strerror(i32 noundef %3046) #13
  %3048 = load i32, ptr %1007, align 4, !tbaa !5
  %3049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3040, ptr noundef nonnull %.str.4.sink1645, i32 noundef %3041, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.2, i32 noundef 355, ptr noundef %3043, ptr noundef %3045, ptr noundef %3047, i32 noundef %3048) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3050:                                             ; preds = %2996
  %3051 = load i32, ptr %1007, align 4, !tbaa !5
  %3052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3053 = call i32 @s2n_print_stacktrace(ptr noundef %3052) #13
  %3054 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3055 = trunc nuw i8 %3054 to i1
  br i1 %3055, label %3056, label %3060

3056:                                             ; preds = %3050
  %3057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3058 = call i32 @fileno(ptr noundef %3057) #13
  %3059 = call i32 @isatty(i32 noundef %3058) #13
  %.not645 = icmp eq i32 %3059, 0
  br i1 %.not645, label %3060, label %3061

3060:                                             ; preds = %3056, %3050
  br label %3061

3061:                                             ; preds = %3056, %3060
  %.str.4.sink1654 = phi ptr [ @.str.4, %3060 ], [ @.str, %3056 ]
  store i32 %3051, ptr %1007, align 4, !tbaa !5
  %3062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3063 = load i32, ptr @test_count, align 4, !tbaa !5
  %3064 = load i32, ptr %953, align 4, !tbaa !5
  %3065 = call ptr @s2n_strerror(i32 noundef %3064, ptr noundef nonnull @.str.3) #13
  %3066 = load i32, ptr %953, align 4, !tbaa !5
  %3067 = call ptr @s2n_strerror_debug(i32 noundef %3066, ptr noundef nonnull @.str.3) #13
  %3068 = load i32, ptr %1007, align 4, !tbaa !5
  %3069 = call ptr @strerror(i32 noundef %3068) #13
  %3070 = load i32, ptr %1007, align 4, !tbaa !5
  %3071 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3062, ptr noundef nonnull %.str.4.sink1654, i32 noundef %3063, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.2, i32 noundef 358, ptr noundef %3065, ptr noundef %3067, ptr noundef %3069, i32 noundef %3070) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3072:                                             ; preds = %2996
  %3073 = load i32, ptr @test_count, align 4, !tbaa !5
  %3074 = add nsw i32 %3073, 1
  store i32 %3074, ptr @test_count, align 4, !tbaa !5
  %3075 = load i32, ptr %33, align 4, !tbaa !5
  %3076 = icmp eq i32 %3075, 0
  br i1 %3076, label %3099, label %3077

3077:                                             ; preds = %3072
  %3078 = load i32, ptr %1007, align 4, !tbaa !5
  %3079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3080 = call i32 @s2n_print_stacktrace(ptr noundef %3079) #13
  %3081 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3082 = trunc nuw i8 %3081 to i1
  br i1 %3082, label %3083, label %3087

3083:                                             ; preds = %3077
  %3084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3085 = call i32 @fileno(ptr noundef %3084) #13
  %3086 = call i32 @isatty(i32 noundef %3085) #13
  %.not540 = icmp eq i32 %3086, 0
  br i1 %.not540, label %3087, label %3088

3087:                                             ; preds = %3083, %3077
  br label %3088

3088:                                             ; preds = %3083, %3087
  %.str.4.sink1663 = phi ptr [ @.str.4, %3087 ], [ @.str, %3083 ]
  store i32 %3078, ptr %1007, align 4, !tbaa !5
  %3089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3090 = load i32, ptr @test_count, align 4, !tbaa !5
  %3091 = load i32, ptr %953, align 4, !tbaa !5
  %3092 = call ptr @s2n_strerror(i32 noundef %3091, ptr noundef nonnull @.str.3) #13
  %3093 = load i32, ptr %953, align 4, !tbaa !5
  %3094 = call ptr @s2n_strerror_debug(i32 noundef %3093, ptr noundef nonnull @.str.3) #13
  %3095 = load i32, ptr %1007, align 4, !tbaa !5
  %3096 = call ptr @strerror(i32 noundef %3095) #13
  %3097 = load i32, ptr %1007, align 4, !tbaa !5
  %3098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3089, ptr noundef nonnull %.str.4.sink1663, i32 noundef %3090, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.2, i32 noundef 359, ptr noundef %3092, ptr noundef %3094, ptr noundef %3096, i32 noundef %3097) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3099:                                             ; preds = %3072
  %3100 = add nsw i32 %3073, 2
  store i32 %3100, ptr @test_count, align 4, !tbaa !5
  %3101 = load ptr, ptr %34, align 8, !tbaa !9
  %3102 = call i32 @s2n_shutdown(ptr noundef %3101, ptr noundef nonnull %33) #13
  %3103 = icmp eq i32 %3102, -1
  br i1 %3103, label %3104, label %3126

3104:                                             ; preds = %3099
  %3105 = load i32, ptr %1007, align 4, !tbaa !5
  %3106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3107 = call i32 @s2n_print_stacktrace(ptr noundef %3106) #13
  %3108 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3109 = trunc nuw i8 %3108 to i1
  br i1 %3109, label %3110, label %3114

3110:                                             ; preds = %3104
  %3111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3112 = call i32 @fileno(ptr noundef %3111) #13
  %3113 = call i32 @isatty(i32 noundef %3112) #13
  %.not644 = icmp eq i32 %3113, 0
  br i1 %.not644, label %3114, label %3115

3114:                                             ; preds = %3110, %3104
  br label %3115

3115:                                             ; preds = %3110, %3114
  %.str.4.sink1672 = phi ptr [ @.str.4, %3114 ], [ @.str, %3110 ]
  store i32 %3105, ptr %1007, align 4, !tbaa !5
  %3116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3117 = load i32, ptr @test_count, align 4, !tbaa !5
  %3118 = load i32, ptr %953, align 4, !tbaa !5
  %3119 = call ptr @s2n_strerror(i32 noundef %3118, ptr noundef nonnull @.str.3) #13
  %3120 = load i32, ptr %953, align 4, !tbaa !5
  %3121 = call ptr @s2n_strerror_debug(i32 noundef %3120, ptr noundef nonnull @.str.3) #13
  %3122 = load i32, ptr %1007, align 4, !tbaa !5
  %3123 = call ptr @strerror(i32 noundef %3122) #13
  %3124 = load i32, ptr %1007, align 4, !tbaa !5
  %3125 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3116, ptr noundef nonnull %.str.4.sink1672, i32 noundef %3117, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.2, i32 noundef 360, ptr noundef %3119, ptr noundef %3121, ptr noundef %3123, i32 noundef %3124) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3126:                                             ; preds = %3099
  %3127 = load i32, ptr @test_count, align 4, !tbaa !5
  %3128 = add nsw i32 %3127, 1
  store i32 %3128, ptr @test_count, align 4, !tbaa !5
  %3129 = load i32, ptr %33, align 4, !tbaa !5
  %3130 = icmp eq i32 %3129, 0
  br i1 %3130, label %3153, label %3131

3131:                                             ; preds = %3126
  %3132 = load i32, ptr %1007, align 4, !tbaa !5
  %3133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3134 = call i32 @s2n_print_stacktrace(ptr noundef %3133) #13
  %3135 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3136 = trunc nuw i8 %3135 to i1
  br i1 %3136, label %3137, label %3141

3137:                                             ; preds = %3131
  %3138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3139 = call i32 @fileno(ptr noundef %3138) #13
  %3140 = call i32 @isatty(i32 noundef %3139) #13
  %.not541 = icmp eq i32 %3140, 0
  br i1 %.not541, label %3141, label %3142

3141:                                             ; preds = %3137, %3131
  br label %3142

3142:                                             ; preds = %3137, %3141
  %.str.4.sink1681 = phi ptr [ @.str.4, %3141 ], [ @.str, %3137 ]
  store i32 %3132, ptr %1007, align 4, !tbaa !5
  %3143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3144 = load i32, ptr @test_count, align 4, !tbaa !5
  %3145 = load i32, ptr %953, align 4, !tbaa !5
  %3146 = call ptr @s2n_strerror(i32 noundef %3145, ptr noundef nonnull @.str.3) #13
  %3147 = load i32, ptr %953, align 4, !tbaa !5
  %3148 = call ptr @s2n_strerror_debug(i32 noundef %3147, ptr noundef nonnull @.str.3) #13
  %3149 = load i32, ptr %1007, align 4, !tbaa !5
  %3150 = call ptr @strerror(i32 noundef %3149) #13
  %3151 = load i32, ptr %1007, align 4, !tbaa !5
  %3152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3143, ptr noundef nonnull %.str.4.sink1681, i32 noundef %3144, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.2, i32 noundef 361, ptr noundef %3146, ptr noundef %3148, ptr noundef %3150, i32 noundef %3151) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3153:                                             ; preds = %3126
  %3154 = call i32 @s2n_io_pair_close(ptr noundef nonnull %36) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #13
  %3155 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %35) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #13
  %3156 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %34) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %33) #13
  %3157 = call i32 @s2n_free(ptr noundef nonnull %32) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %32) #13
  %3158 = call i32 @s2n_free(ptr noundef nonnull %31) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %31) #13
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %37) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %37, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %38) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %38, i8 0, i64 24, i1 false)
  %3159 = load i32, ptr @test_count, align 4, !tbaa !5
  %3160 = add nsw i32 %3159, 1
  store i32 %3160, ptr @test_count, align 4, !tbaa !5
  %3161 = call i32 @s2n_blob_init(ptr noundef nonnull %38, ptr noundef nonnull %37, i32 noundef 100) #13
  %3162 = icmp eq i32 %3161, -1
  br i1 %3162, label %3163, label %3185

3163:                                             ; preds = %3153
  %3164 = load i32, ptr %1007, align 4, !tbaa !5
  %3165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3166 = call i32 @s2n_print_stacktrace(ptr noundef %3165) #13
  %3167 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3168 = trunc nuw i8 %3167 to i1
  br i1 %3168, label %3169, label %3173

3169:                                             ; preds = %3163
  %3170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3171 = call i32 @fileno(ptr noundef %3170) #13
  %3172 = call i32 @isatty(i32 noundef %3171) #13
  %.not643 = icmp eq i32 %3172, 0
  br i1 %.not643, label %3173, label %3174

3173:                                             ; preds = %3169, %3163
  br label %3174

3174:                                             ; preds = %3169, %3173
  %.str.4.sink1690 = phi ptr [ @.str.4, %3173 ], [ @.str, %3169 ]
  store i32 %3164, ptr %1007, align 4, !tbaa !5
  %3175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3176 = load i32, ptr @test_count, align 4, !tbaa !5
  %3177 = load i32, ptr %953, align 4, !tbaa !5
  %3178 = call ptr @s2n_strerror(i32 noundef %3177, ptr noundef nonnull @.str.3) #13
  %3179 = load i32, ptr %953, align 4, !tbaa !5
  %3180 = call ptr @s2n_strerror_debug(i32 noundef %3179, ptr noundef nonnull @.str.3) #13
  %3181 = load i32, ptr %1007, align 4, !tbaa !5
  %3182 = call ptr @strerror(i32 noundef %3181) #13
  %3183 = load i32, ptr %1007, align 4, !tbaa !5
  %3184 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3175, ptr noundef nonnull %.str.4.sink1690, i32 noundef %3176, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.2, i32 noundef 368, ptr noundef %3178, ptr noundef %3180, ptr noundef %3182, i32 noundef %3183) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3185:                                             ; preds = %3153
  %3186 = load i32, ptr @test_count, align 4, !tbaa !5
  %3187 = add nsw i32 %3186, 1
  store i32 %3187, ptr @test_count, align 4, !tbaa !5
  %3188 = call i32 @s2n_get_public_random_data(ptr noundef nonnull %38) #13
  %3189 = call zeroext i1 @s2n_result_is_ok(i32 %3188)
  br i1 %3189, label %3212, label %3190

3190:                                             ; preds = %3185
  %3191 = load i32, ptr %1007, align 4, !tbaa !5
  %3192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3193 = call i32 @s2n_print_stacktrace(ptr noundef %3192) #13
  %3194 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3195 = trunc nuw i8 %3194 to i1
  br i1 %3195, label %3196, label %3200

3196:                                             ; preds = %3190
  %3197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3198 = call i32 @fileno(ptr noundef %3197) #13
  %3199 = call i32 @isatty(i32 noundef %3198) #13
  %.not542 = icmp eq i32 %3199, 0
  br i1 %.not542, label %3200, label %3201

3200:                                             ; preds = %3196, %3190
  br label %3201

3201:                                             ; preds = %3196, %3200
  %.str.4.sink1699 = phi ptr [ @.str.4, %3200 ], [ @.str, %3196 ]
  store i32 %3191, ptr %1007, align 4, !tbaa !5
  %3202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3203 = load i32, ptr @test_count, align 4, !tbaa !5
  %3204 = load i32, ptr %953, align 4, !tbaa !5
  %3205 = call ptr @s2n_strerror(i32 noundef %3204, ptr noundef nonnull @.str.3) #13
  %3206 = load i32, ptr %953, align 4, !tbaa !5
  %3207 = call ptr @s2n_strerror_debug(i32 noundef %3206, ptr noundef nonnull @.str.3) #13
  %3208 = load i32, ptr %1007, align 4, !tbaa !5
  %3209 = call ptr @strerror(i32 noundef %3208) #13
  %3210 = load i32, ptr %1007, align 4, !tbaa !5
  %3211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3202, ptr noundef nonnull %.str.4.sink1699, i32 noundef %3203, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.2, i32 noundef 369, ptr noundef %3205, ptr noundef %3207, ptr noundef %3209, i32 noundef %3210) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3212:                                             ; preds = %3185
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %39) #13
  store ptr %37, ptr %39, align 8, !tbaa !49
  %3213 = getelementptr inbounds i8, ptr %39, i64 8
  store i64 100, ptr %3213, align 8, !tbaa !51
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %40) #13
  store i32 0, ptr %40, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %41) #13
  %3214 = call ptr @s2n_connection_new(i32 noundef 1) #13
  store ptr %3214, ptr %41, align 8, !tbaa !9
  %3215 = load i32, ptr @test_count, align 4, !tbaa !5
  %3216 = add nsw i32 %3215, 1
  store i32 %3216, ptr @test_count, align 4, !tbaa !5
  %3217 = icmp eq ptr %3214, null
  br i1 %3217, label %3218, label %3240

3218:                                             ; preds = %3212
  %3219 = load i32, ptr %1007, align 4, !tbaa !5
  %3220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3221 = call i32 @s2n_print_stacktrace(ptr noundef %3220) #13
  %3222 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3223 = trunc nuw i8 %3222 to i1
  br i1 %3223, label %3224, label %3228

3224:                                             ; preds = %3218
  %3225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3226 = call i32 @fileno(ptr noundef %3225) #13
  %3227 = call i32 @isatty(i32 noundef %3226) #13
  %.not642 = icmp eq i32 %3227, 0
  br i1 %.not642, label %3228, label %3229

3228:                                             ; preds = %3224, %3218
  br label %3229

3229:                                             ; preds = %3224, %3228
  %.str.4.sink1708 = phi ptr [ @.str.4, %3228 ], [ @.str, %3224 ]
  store i32 %3219, ptr %1007, align 4, !tbaa !5
  %3230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3231 = load i32, ptr @test_count, align 4, !tbaa !5
  %3232 = load i32, ptr %953, align 4, !tbaa !5
  %3233 = call ptr @s2n_strerror(i32 noundef %3232, ptr noundef nonnull @.str.3) #13
  %3234 = load i32, ptr %953, align 4, !tbaa !5
  %3235 = call ptr @s2n_strerror_debug(i32 noundef %3234, ptr noundef nonnull @.str.3) #13
  %3236 = load i32, ptr %1007, align 4, !tbaa !5
  %3237 = call ptr @strerror(i32 noundef %3236) #13
  %3238 = load i32, ptr %1007, align 4, !tbaa !5
  %3239 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3230, ptr noundef nonnull %.str.4.sink1708, i32 noundef %3231, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.2, i32 noundef 382, ptr noundef %3233, ptr noundef %3235, ptr noundef %3237, i32 noundef %3238) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3240:                                             ; preds = %3212
  call void @s2n_ktls_configure_connection(ptr noundef nonnull %3214, i32 noundef 1) #13
  call void @llvm.lifetime.start.p0(i64 192, ptr nonnull %42) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(192) %42, i8 0, i64 192, i1 false)
  %3241 = load i32, ptr @test_count, align 4, !tbaa !5
  %3242 = add nsw i32 %3241, 1
  store i32 %3242, ptr @test_count, align 4, !tbaa !5
  %3243 = load ptr, ptr %41, align 8, !tbaa !9
  %3244 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef %3243, ptr noundef %3243, ptr noundef nonnull %42) #13
  %3245 = call zeroext i1 @s2n_result_is_ok(i32 %3244)
  br i1 %3245, label %3268, label %3246

3246:                                             ; preds = %3240
  %3247 = load i32, ptr %1007, align 4, !tbaa !5
  %3248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3249 = call i32 @s2n_print_stacktrace(ptr noundef %3248) #13
  %3250 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3251 = trunc nuw i8 %3250 to i1
  br i1 %3251, label %3252, label %3256

3252:                                             ; preds = %3246
  %3253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3254 = call i32 @fileno(ptr noundef %3253) #13
  %3255 = call i32 @isatty(i32 noundef %3254) #13
  %.not543 = icmp eq i32 %3255, 0
  br i1 %.not543, label %3256, label %3257

3256:                                             ; preds = %3252, %3246
  br label %3257

3257:                                             ; preds = %3252, %3256
  %.str.4.sink1717 = phi ptr [ @.str.4, %3256 ], [ @.str, %3252 ]
  store i32 %3247, ptr %1007, align 4, !tbaa !5
  %3258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3259 = load i32, ptr @test_count, align 4, !tbaa !5
  %3260 = load i32, ptr %953, align 4, !tbaa !5
  %3261 = call ptr @s2n_strerror(i32 noundef %3260, ptr noundef nonnull @.str.3) #13
  %3262 = load i32, ptr %953, align 4, !tbaa !5
  %3263 = call ptr @s2n_strerror_debug(i32 noundef %3262, ptr noundef nonnull @.str.3) #13
  %3264 = load i32, ptr %1007, align 4, !tbaa !5
  %3265 = call ptr @strerror(i32 noundef %3264) #13
  %3266 = load i32, ptr %1007, align 4, !tbaa !5
  %3267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3258, ptr noundef nonnull %.str.4.sink1717, i32 noundef %3259, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.2, i32 noundef 387, ptr noundef %3261, ptr noundef %3263, ptr noundef %3265, i32 noundef %3266) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3268:                                             ; preds = %3240
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #13
  store i64 0, ptr %43, align 8, !tbaa !52
  %3269 = load i32, ptr @test_count, align 4, !tbaa !5
  %3270 = add nsw i32 %3269, 1
  store i32 %3270, ptr @test_count, align 4, !tbaa !5
  %3271 = call i32 @s2n_ktls_sendmsg(ptr noundef nonnull %42, i8 noundef zeroext 23, ptr noundef nonnull %39, i64 noundef 1, ptr noundef nonnull %40, ptr noundef nonnull %43) #13
  %3272 = call zeroext i1 @s2n_result_is_ok(i32 %3271)
  br i1 %3272, label %3295, label %3273

3273:                                             ; preds = %3268
  %3274 = load i32, ptr %1007, align 4, !tbaa !5
  %3275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3276 = call i32 @s2n_print_stacktrace(ptr noundef %3275) #13
  %3277 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3278 = trunc nuw i8 %3277 to i1
  br i1 %3278, label %3279, label %3283

3279:                                             ; preds = %3273
  %3280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3281 = call i32 @fileno(ptr noundef %3280) #13
  %3282 = call i32 @isatty(i32 noundef %3281) #13
  %.not544 = icmp eq i32 %3282, 0
  br i1 %.not544, label %3283, label %3284

3283:                                             ; preds = %3279, %3273
  br label %3284

3284:                                             ; preds = %3279, %3283
  %.str.4.sink1726 = phi ptr [ @.str.4, %3283 ], [ @.str, %3279 ]
  store i32 %3274, ptr %1007, align 4, !tbaa !5
  %3285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3286 = load i32, ptr @test_count, align 4, !tbaa !5
  %3287 = load i32, ptr %953, align 4, !tbaa !5
  %3288 = call ptr @s2n_strerror(i32 noundef %3287, ptr noundef nonnull @.str.3) #13
  %3289 = load i32, ptr %953, align 4, !tbaa !5
  %3290 = call ptr @s2n_strerror_debug(i32 noundef %3289, ptr noundef nonnull @.str.3) #13
  %3291 = load i32, ptr %1007, align 4, !tbaa !5
  %3292 = call ptr @strerror(i32 noundef %3291) #13
  %3293 = load i32, ptr %1007, align 4, !tbaa !5
  %3294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3285, ptr noundef nonnull %.str.4.sink1726, i32 noundef %3286, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.2, i32 noundef 392, ptr noundef %3288, ptr noundef %3290, ptr noundef %3292, i32 noundef %3293) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3295:                                             ; preds = %3268
  %3296 = load i32, ptr @test_count, align 4, !tbaa !5
  %3297 = add nsw i32 %3296, 1
  store i32 %3297, ptr @test_count, align 4, !tbaa !5
  %3298 = load i64, ptr %43, align 8, !tbaa !52
  %3299 = icmp eq i64 %3298, 100
  br i1 %3299, label %3322, label %3300

3300:                                             ; preds = %3295
  %3301 = load i32, ptr %1007, align 4, !tbaa !5
  %3302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3303 = call i32 @s2n_print_stacktrace(ptr noundef %3302) #13
  %3304 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3305 = trunc nuw i8 %3304 to i1
  br i1 %3305, label %3306, label %3310

3306:                                             ; preds = %3300
  %3307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3308 = call i32 @fileno(ptr noundef %3307) #13
  %3309 = call i32 @isatty(i32 noundef %3308) #13
  %.not545 = icmp eq i32 %3309, 0
  br i1 %.not545, label %3310, label %3311

3310:                                             ; preds = %3306, %3300
  br label %3311

3311:                                             ; preds = %3306, %3310
  %.str.4.sink1735 = phi ptr [ @.str.4, %3310 ], [ @.str, %3306 ]
  store i32 %3301, ptr %1007, align 4, !tbaa !5
  %3312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3313 = load i32, ptr @test_count, align 4, !tbaa !5
  %3314 = load i32, ptr %953, align 4, !tbaa !5
  %3315 = call ptr @s2n_strerror(i32 noundef %3314, ptr noundef nonnull @.str.3) #13
  %3316 = load i32, ptr %953, align 4, !tbaa !5
  %3317 = call ptr @s2n_strerror_debug(i32 noundef %3316, ptr noundef nonnull @.str.3) #13
  %3318 = load i32, ptr %1007, align 4, !tbaa !5
  %3319 = call ptr @strerror(i32 noundef %3318) #13
  %3320 = load i32, ptr %1007, align 4, !tbaa !5
  %3321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3312, ptr noundef nonnull %.str.4.sink1735, i32 noundef %3313, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.2, i32 noundef 393, ptr noundef %3315, ptr noundef %3317, ptr noundef %3319, i32 noundef %3320) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3322:                                             ; preds = %3295
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %44) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %44, i8 0, i64 100, i1 false)
  %3323 = load ptr, ptr %41, align 8, !tbaa !9
  %3324 = call i64 @s2n_recv(ptr noundef %3323, ptr noundef nonnull %44, i64 noundef 100, ptr noundef nonnull %40) #13
  %3325 = load i32, ptr @test_count, align 4, !tbaa !5
  %3326 = add nsw i32 %3325, 1
  store i32 %3326, ptr @test_count, align 4, !tbaa !5
  %sext = shl i64 %3324, 32
  %3327 = ashr exact i64 %sext, 32
  %3328 = load i64, ptr %43, align 8, !tbaa !52
  %3329 = icmp eq i64 %3327, %3328
  br i1 %3329, label %3352, label %3330

3330:                                             ; preds = %3322
  %3331 = load i32, ptr %1007, align 4, !tbaa !5
  %3332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3333 = call i32 @s2n_print_stacktrace(ptr noundef %3332) #13
  %3334 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3335 = trunc nuw i8 %3334 to i1
  br i1 %3335, label %3336, label %3340

3336:                                             ; preds = %3330
  %3337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3338 = call i32 @fileno(ptr noundef %3337) #13
  %3339 = call i32 @isatty(i32 noundef %3338) #13
  %.not546 = icmp eq i32 %3339, 0
  br i1 %.not546, label %3340, label %3341

3340:                                             ; preds = %3336, %3330
  br label %3341

3341:                                             ; preds = %3336, %3340
  %.str.4.sink1744 = phi ptr [ @.str.4, %3340 ], [ @.str, %3336 ]
  store i32 %3331, ptr %1007, align 4, !tbaa !5
  %3342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3343 = load i32, ptr @test_count, align 4, !tbaa !5
  %3344 = load i32, ptr %953, align 4, !tbaa !5
  %3345 = call ptr @s2n_strerror(i32 noundef %3344, ptr noundef nonnull @.str.3) #13
  %3346 = load i32, ptr %953, align 4, !tbaa !5
  %3347 = call ptr @s2n_strerror_debug(i32 noundef %3346, ptr noundef nonnull @.str.3) #13
  %3348 = load i32, ptr %1007, align 4, !tbaa !5
  %3349 = call ptr @strerror(i32 noundef %3348) #13
  %3350 = load i32, ptr %1007, align 4, !tbaa !5
  %3351 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3342, ptr noundef nonnull %.str.4.sink1744, i32 noundef %3343, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.2, i32 noundef 397, ptr noundef %3345, ptr noundef %3347, ptr noundef %3349, i32 noundef %3350) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3352:                                             ; preds = %3322
  %3353 = add nsw i32 %3325, 2
  store i32 %3353, ptr @test_count, align 4, !tbaa !5
  %3354 = load i32, ptr %40, align 4, !tbaa !5
  %3355 = icmp eq i32 %3354, 0
  br i1 %3355, label %3378, label %3356

3356:                                             ; preds = %3352
  %3357 = load i32, ptr %1007, align 4, !tbaa !5
  %3358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3359 = call i32 @s2n_print_stacktrace(ptr noundef %3358) #13
  %3360 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3361 = trunc nuw i8 %3360 to i1
  br i1 %3361, label %3362, label %3366

3362:                                             ; preds = %3356
  %3363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3364 = call i32 @fileno(ptr noundef %3363) #13
  %3365 = call i32 @isatty(i32 noundef %3364) #13
  %.not547 = icmp eq i32 %3365, 0
  br i1 %.not547, label %3366, label %3367

3366:                                             ; preds = %3362, %3356
  br label %3367

3367:                                             ; preds = %3362, %3366
  %.str.4.sink1753 = phi ptr [ @.str.4, %3366 ], [ @.str, %3362 ]
  store i32 %3357, ptr %1007, align 4, !tbaa !5
  %3368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3369 = load i32, ptr @test_count, align 4, !tbaa !5
  %3370 = load i32, ptr %953, align 4, !tbaa !5
  %3371 = call ptr @s2n_strerror(i32 noundef %3370, ptr noundef nonnull @.str.3) #13
  %3372 = load i32, ptr %953, align 4, !tbaa !5
  %3373 = call ptr @s2n_strerror_debug(i32 noundef %3372, ptr noundef nonnull @.str.3) #13
  %3374 = load i32, ptr %1007, align 4, !tbaa !5
  %3375 = call ptr @strerror(i32 noundef %3374) #13
  %3376 = load i32, ptr %1007, align 4, !tbaa !5
  %3377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3368, ptr noundef nonnull %.str.4.sink1753, i32 noundef %3369, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.2, i32 noundef 398, ptr noundef %3371, ptr noundef %3373, ptr noundef %3375, i32 noundef %3376) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3378:                                             ; preds = %3352
  %3379 = and i64 %3324, 4294967295
  %.not548 = icmp eq i64 %3379, 0
  br i1 %.not548, label %3405, label %3380

3380:                                             ; preds = %3378
  %3381 = add nsw i32 %3325, 3
  store i32 %3381, ptr @test_count, align 4, !tbaa !5
  %bcmp = call i32 @bcmp(ptr nonnull %44, ptr nonnull %37, i64 %3327)
  %3382 = icmp eq i32 %bcmp, 0
  br i1 %3382, label %3405, label %3383

3383:                                             ; preds = %3380
  %3384 = load i32, ptr %1007, align 4, !tbaa !5
  %3385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3386 = call i32 @s2n_print_stacktrace(ptr noundef %3385) #13
  %3387 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3388 = trunc nuw i8 %3387 to i1
  br i1 %3388, label %3389, label %3393

3389:                                             ; preds = %3383
  %3390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3391 = call i32 @fileno(ptr noundef %3390) #13
  %3392 = call i32 @isatty(i32 noundef %3391) #13
  %.not549 = icmp eq i32 %3392, 0
  br i1 %.not549, label %3393, label %3394

3393:                                             ; preds = %3389, %3383
  br label %3394

3394:                                             ; preds = %3389, %3393
  %.str.4.sink1762 = phi ptr [ @.str.4, %3393 ], [ @.str, %3389 ]
  store i32 %3384, ptr %1007, align 4, !tbaa !5
  %3395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3396 = load i32, ptr @test_count, align 4, !tbaa !5
  %3397 = load i32, ptr %953, align 4, !tbaa !5
  %3398 = call ptr @s2n_strerror(i32 noundef %3397, ptr noundef nonnull @.str.3) #13
  %3399 = load i32, ptr %953, align 4, !tbaa !5
  %3400 = call ptr @s2n_strerror_debug(i32 noundef %3399, ptr noundef nonnull @.str.3) #13
  %3401 = load i32, ptr %1007, align 4, !tbaa !5
  %3402 = call ptr @strerror(i32 noundef %3401) #13
  %3403 = load i32, ptr %1007, align 4, !tbaa !5
  %3404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3395, ptr noundef nonnull %.str.4.sink1762, i32 noundef %3396, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.2, i32 noundef 399, ptr noundef %3398, ptr noundef %3400, ptr noundef %3402, i32 noundef %3403) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3405:                                             ; preds = %3380, %3378
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %44) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #13
  %3406 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef nonnull %42) #13
  call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %42) #13
  %3407 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %41) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #13
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %45) #13
  %3408 = load i64, ptr %39, align 8, !tbaa !9
  store i64 %3408, ptr %45, align 8, !tbaa !9
  %3409 = getelementptr inbounds i8, ptr %45, i64 8
  store i64 50, ptr %3409, align 8, !tbaa !51
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %46) #13
  %3410 = call ptr @s2n_connection_new(i32 noundef 1) #13
  store ptr %3410, ptr %46, align 8, !tbaa !9
  %3411 = load i32, ptr @test_count, align 4, !tbaa !5
  %3412 = add nsw i32 %3411, 1
  store i32 %3412, ptr @test_count, align 4, !tbaa !5
  %3413 = icmp eq ptr %3410, null
  br i1 %3413, label %3414, label %3436

3414:                                             ; preds = %3405
  %3415 = load i32, ptr %1007, align 4, !tbaa !5
  %3416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3417 = call i32 @s2n_print_stacktrace(ptr noundef %3416) #13
  %3418 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3419 = trunc nuw i8 %3418 to i1
  br i1 %3419, label %3420, label %3424

3420:                                             ; preds = %3414
  %3421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3422 = call i32 @fileno(ptr noundef %3421) #13
  %3423 = call i32 @isatty(i32 noundef %3422) #13
  %.not641 = icmp eq i32 %3423, 0
  br i1 %.not641, label %3424, label %3425

3424:                                             ; preds = %3420, %3414
  br label %3425

3425:                                             ; preds = %3420, %3424
  %.str.4.sink1771 = phi ptr [ @.str.4, %3424 ], [ @.str, %3420 ]
  store i32 %3415, ptr %1007, align 4, !tbaa !5
  %3426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3427 = load i32, ptr @test_count, align 4, !tbaa !5
  %3428 = load i32, ptr %953, align 4, !tbaa !5
  %3429 = call ptr @s2n_strerror(i32 noundef %3428, ptr noundef nonnull @.str.3) #13
  %3430 = load i32, ptr %953, align 4, !tbaa !5
  %3431 = call ptr @s2n_strerror_debug(i32 noundef %3430, ptr noundef nonnull @.str.3) #13
  %3432 = load i32, ptr %1007, align 4, !tbaa !5
  %3433 = call ptr @strerror(i32 noundef %3432) #13
  %3434 = load i32, ptr %1007, align 4, !tbaa !5
  %3435 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3426, ptr noundef nonnull %.str.4.sink1771, i32 noundef %3427, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.2, i32 noundef 410, ptr noundef %3429, ptr noundef %3431, ptr noundef %3433, i32 noundef %3434) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3436:                                             ; preds = %3405
  call void @s2n_ktls_configure_connection(ptr noundef nonnull %3410, i32 noundef 1) #13
  call void @llvm.lifetime.start.p0(i64 192, ptr nonnull %47) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(192) %47, i8 0, i64 192, i1 false)
  %3437 = load i32, ptr @test_count, align 4, !tbaa !5
  %3438 = add nsw i32 %3437, 1
  store i32 %3438, ptr @test_count, align 4, !tbaa !5
  %3439 = load ptr, ptr %46, align 8, !tbaa !9
  %3440 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef %3439, ptr noundef %3439, ptr noundef nonnull %47) #13
  %3441 = call zeroext i1 @s2n_result_is_ok(i32 %3440)
  br i1 %3441, label %3464, label %3442

3442:                                             ; preds = %3436
  %3443 = load i32, ptr %1007, align 4, !tbaa !5
  %3444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3445 = call i32 @s2n_print_stacktrace(ptr noundef %3444) #13
  %3446 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3447 = trunc nuw i8 %3446 to i1
  br i1 %3447, label %3448, label %3452

3448:                                             ; preds = %3442
  %3449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3450 = call i32 @fileno(ptr noundef %3449) #13
  %3451 = call i32 @isatty(i32 noundef %3450) #13
  %.not550 = icmp eq i32 %3451, 0
  br i1 %.not550, label %3452, label %3453

3452:                                             ; preds = %3448, %3442
  br label %3453

3453:                                             ; preds = %3448, %3452
  %.str.4.sink1780 = phi ptr [ @.str.4, %3452 ], [ @.str, %3448 ]
  store i32 %3443, ptr %1007, align 4, !tbaa !5
  %3454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3455 = load i32, ptr @test_count, align 4, !tbaa !5
  %3456 = load i32, ptr %953, align 4, !tbaa !5
  %3457 = call ptr @s2n_strerror(i32 noundef %3456, ptr noundef nonnull @.str.3) #13
  %3458 = load i32, ptr %953, align 4, !tbaa !5
  %3459 = call ptr @s2n_strerror_debug(i32 noundef %3458, ptr noundef nonnull @.str.3) #13
  %3460 = load i32, ptr %1007, align 4, !tbaa !5
  %3461 = call ptr @strerror(i32 noundef %3460) #13
  %3462 = load i32, ptr %1007, align 4, !tbaa !5
  %3463 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3454, ptr noundef nonnull %.str.4.sink1780, i32 noundef %3455, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.2, i32 noundef 415, ptr noundef %3457, ptr noundef %3459, ptr noundef %3461, i32 noundef %3462) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3464:                                             ; preds = %3436
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %48) #13
  store i64 0, ptr %48, align 8, !tbaa !52
  %3465 = load i32, ptr @test_count, align 4, !tbaa !5
  %3466 = add nsw i32 %3465, 1
  store i32 %3466, ptr @test_count, align 4, !tbaa !5
  %3467 = call i32 @s2n_ktls_sendmsg(ptr noundef nonnull %47, i8 noundef zeroext 23, ptr noundef nonnull %45, i64 noundef 1, ptr noundef nonnull %40, ptr noundef nonnull %48) #13
  %3468 = call zeroext i1 @s2n_result_is_ok(i32 %3467)
  br i1 %3468, label %3491, label %3469

3469:                                             ; preds = %3464
  %3470 = load i32, ptr %1007, align 4, !tbaa !5
  %3471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3472 = call i32 @s2n_print_stacktrace(ptr noundef %3471) #13
  %3473 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3474 = trunc nuw i8 %3473 to i1
  br i1 %3474, label %3475, label %3479

3475:                                             ; preds = %3469
  %3476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3477 = call i32 @fileno(ptr noundef %3476) #13
  %3478 = call i32 @isatty(i32 noundef %3477) #13
  %.not551 = icmp eq i32 %3478, 0
  br i1 %.not551, label %3479, label %3480

3479:                                             ; preds = %3475, %3469
  br label %3480

3480:                                             ; preds = %3475, %3479
  %.str.4.sink1789 = phi ptr [ @.str.4, %3479 ], [ @.str, %3475 ]
  store i32 %3470, ptr %1007, align 4, !tbaa !5
  %3481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3482 = load i32, ptr @test_count, align 4, !tbaa !5
  %3483 = load i32, ptr %953, align 4, !tbaa !5
  %3484 = call ptr @s2n_strerror(i32 noundef %3483, ptr noundef nonnull @.str.3) #13
  %3485 = load i32, ptr %953, align 4, !tbaa !5
  %3486 = call ptr @s2n_strerror_debug(i32 noundef %3485, ptr noundef nonnull @.str.3) #13
  %3487 = load i32, ptr %1007, align 4, !tbaa !5
  %3488 = call ptr @strerror(i32 noundef %3487) #13
  %3489 = load i32, ptr %1007, align 4, !tbaa !5
  %3490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3481, ptr noundef nonnull %.str.4.sink1789, i32 noundef %3482, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.2, i32 noundef 420, ptr noundef %3484, ptr noundef %3486, ptr noundef %3488, i32 noundef %3489) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3491:                                             ; preds = %3464
  %3492 = load i32, ptr @test_count, align 4, !tbaa !5
  %3493 = add nsw i32 %3492, 1
  store i32 %3493, ptr @test_count, align 4, !tbaa !5
  %3494 = load i64, ptr %48, align 8, !tbaa !52
  %3495 = icmp eq i64 %3494, 50
  br i1 %3495, label %3518, label %3496

3496:                                             ; preds = %3491
  %3497 = load i32, ptr %1007, align 4, !tbaa !5
  %3498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3499 = call i32 @s2n_print_stacktrace(ptr noundef %3498) #13
  %3500 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3501 = trunc nuw i8 %3500 to i1
  br i1 %3501, label %3502, label %3506

3502:                                             ; preds = %3496
  %3503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3504 = call i32 @fileno(ptr noundef %3503) #13
  %3505 = call i32 @isatty(i32 noundef %3504) #13
  %.not552 = icmp eq i32 %3505, 0
  br i1 %.not552, label %3506, label %3507

3506:                                             ; preds = %3502, %3496
  br label %3507

3507:                                             ; preds = %3502, %3506
  %.str.4.sink1798 = phi ptr [ @.str.4, %3506 ], [ @.str, %3502 ]
  store i32 %3497, ptr %1007, align 4, !tbaa !5
  %3508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3509 = load i32, ptr @test_count, align 4, !tbaa !5
  %3510 = load i32, ptr %953, align 4, !tbaa !5
  %3511 = call ptr @s2n_strerror(i32 noundef %3510, ptr noundef nonnull @.str.3) #13
  %3512 = load i32, ptr %953, align 4, !tbaa !5
  %3513 = call ptr @s2n_strerror_debug(i32 noundef %3512, ptr noundef nonnull @.str.3) #13
  %3514 = load i32, ptr %1007, align 4, !tbaa !5
  %3515 = call ptr @strerror(i32 noundef %3514) #13
  %3516 = load i32, ptr %1007, align 4, !tbaa !5
  %3517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3508, ptr noundef nonnull %.str.4.sink1798, i32 noundef %3509, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.2, i32 noundef 421, ptr noundef %3511, ptr noundef %3513, ptr noundef %3515, i32 noundef %3516) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3518:                                             ; preds = %3491
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %49) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %49, i8 0, i64 100, i1 false)
  %3519 = load ptr, ptr %46, align 8, !tbaa !9
  %3520 = call i64 @s2n_recv(ptr noundef %3519, ptr noundef nonnull %49, i64 noundef 100, ptr noundef nonnull %40) #13
  %3521 = load i32, ptr @test_count, align 4, !tbaa !5
  %3522 = add nsw i32 %3521, 1
  store i32 %3522, ptr @test_count, align 4, !tbaa !5
  %sext553 = shl i64 %3520, 32
  %3523 = ashr exact i64 %sext553, 32
  %3524 = load i64, ptr %48, align 8, !tbaa !52
  %3525 = icmp eq i64 %3523, %3524
  br i1 %3525, label %3548, label %3526

3526:                                             ; preds = %3518
  %3527 = load i32, ptr %1007, align 4, !tbaa !5
  %3528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3529 = call i32 @s2n_print_stacktrace(ptr noundef %3528) #13
  %3530 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3531 = trunc nuw i8 %3530 to i1
  br i1 %3531, label %3532, label %3536

3532:                                             ; preds = %3526
  %3533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3534 = call i32 @fileno(ptr noundef %3533) #13
  %3535 = call i32 @isatty(i32 noundef %3534) #13
  %.not554 = icmp eq i32 %3535, 0
  br i1 %.not554, label %3536, label %3537

3536:                                             ; preds = %3532, %3526
  br label %3537

3537:                                             ; preds = %3532, %3536
  %.str.4.sink1807 = phi ptr [ @.str.4, %3536 ], [ @.str, %3532 ]
  store i32 %3527, ptr %1007, align 4, !tbaa !5
  %3538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3539 = load i32, ptr @test_count, align 4, !tbaa !5
  %3540 = load i32, ptr %953, align 4, !tbaa !5
  %3541 = call ptr @s2n_strerror(i32 noundef %3540, ptr noundef nonnull @.str.3) #13
  %3542 = load i32, ptr %953, align 4, !tbaa !5
  %3543 = call ptr @s2n_strerror_debug(i32 noundef %3542, ptr noundef nonnull @.str.3) #13
  %3544 = load i32, ptr %1007, align 4, !tbaa !5
  %3545 = call ptr @strerror(i32 noundef %3544) #13
  %3546 = load i32, ptr %1007, align 4, !tbaa !5
  %3547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3538, ptr noundef nonnull %.str.4.sink1807, i32 noundef %3539, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.2, i32 noundef 425, ptr noundef %3541, ptr noundef %3543, ptr noundef %3545, i32 noundef %3546) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3548:                                             ; preds = %3518
  %3549 = add nsw i32 %3521, 2
  store i32 %3549, ptr @test_count, align 4, !tbaa !5
  %3550 = load i32, ptr %40, align 4, !tbaa !5
  %3551 = icmp eq i32 %3550, 0
  br i1 %3551, label %3574, label %3552

3552:                                             ; preds = %3548
  %3553 = load i32, ptr %1007, align 4, !tbaa !5
  %3554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3555 = call i32 @s2n_print_stacktrace(ptr noundef %3554) #13
  %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) #13
  %3561 = call i32 @isatty(i32 noundef %3560) #13
  %.not555 = icmp eq i32 %3561, 0
  br i1 %.not555, label %3562, label %3563

3562:                                             ; preds = %3558, %3552
  br label %3563

3563:                                             ; preds = %3558, %3562
  %.str.4.sink1816 = phi ptr [ @.str.4, %3562 ], [ @.str, %3558 ]
  store i32 %3553, ptr %1007, 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 %953, align 4, !tbaa !5
  %3567 = call ptr @s2n_strerror(i32 noundef %3566, ptr noundef nonnull @.str.3) #13
  %3568 = load i32, ptr %953, align 4, !tbaa !5
  %3569 = call ptr @s2n_strerror_debug(i32 noundef %3568, ptr noundef nonnull @.str.3) #13
  %3570 = load i32, ptr %1007, align 4, !tbaa !5
  %3571 = call ptr @strerror(i32 noundef %3570) #13
  %3572 = load i32, ptr %1007, align 4, !tbaa !5
  %3573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3564, ptr noundef nonnull %.str.4.sink1816, i32 noundef %3565, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.2, i32 noundef 426, ptr noundef %3567, ptr noundef %3569, ptr noundef %3571, i32 noundef %3572) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3574:                                             ; preds = %3548
  %3575 = and i64 %3520, 4294967295
  %.not556 = icmp eq i64 %3575, 0
  br i1 %.not556, label %3601, label %3576

3576:                                             ; preds = %3574
  %3577 = add nsw i32 %3521, 3
  store i32 %3577, ptr @test_count, align 4, !tbaa !5
  %bcmp557 = call i32 @bcmp(ptr nonnull %49, ptr nonnull %37, i64 %3523)
  %3578 = icmp eq i32 %bcmp557, 0
  br i1 %3578, label %3601, label %3579

3579:                                             ; preds = %3576
  %3580 = load i32, ptr %1007, align 4, !tbaa !5
  %3581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3582 = call i32 @s2n_print_stacktrace(ptr noundef %3581) #13
  %3583 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3584 = trunc nuw i8 %3583 to i1
  br i1 %3584, label %3585, label %3589

3585:                                             ; preds = %3579
  %3586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3587 = call i32 @fileno(ptr noundef %3586) #13
  %3588 = call i32 @isatty(i32 noundef %3587) #13
  %.not558 = icmp eq i32 %3588, 0
  br i1 %.not558, label %3589, label %3590

3589:                                             ; preds = %3585, %3579
  br label %3590

3590:                                             ; preds = %3585, %3589
  %.str.4.sink1825 = phi ptr [ @.str.4, %3589 ], [ @.str, %3585 ]
  store i32 %3580, ptr %1007, align 4, !tbaa !5
  %3591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3592 = load i32, ptr @test_count, align 4, !tbaa !5
  %3593 = load i32, ptr %953, align 4, !tbaa !5
  %3594 = call ptr @s2n_strerror(i32 noundef %3593, ptr noundef nonnull @.str.3) #13
  %3595 = load i32, ptr %953, align 4, !tbaa !5
  %3596 = call ptr @s2n_strerror_debug(i32 noundef %3595, ptr noundef nonnull @.str.3) #13
  %3597 = load i32, ptr %1007, align 4, !tbaa !5
  %3598 = call ptr @strerror(i32 noundef %3597) #13
  %3599 = load i32, ptr %1007, align 4, !tbaa !5
  %3600 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3591, ptr noundef nonnull %.str.4.sink1825, i32 noundef %3592, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.2, i32 noundef 427, ptr noundef %3594, ptr noundef %3596, ptr noundef %3598, i32 noundef %3599) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3601:                                             ; preds = %3576, %3574
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %49) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #13
  %3602 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef nonnull %47) #13
  call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %47) #13
  %3603 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %46) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %45) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %50) #13
  %3604 = call ptr @s2n_connection_new(i32 noundef 1) #13
  store ptr %3604, ptr %50, align 8, !tbaa !9
  %3605 = load i32, ptr @test_count, align 4, !tbaa !5
  %3606 = add nsw i32 %3605, 1
  store i32 %3606, ptr @test_count, align 4, !tbaa !5
  %3607 = icmp eq ptr %3604, null
  br i1 %3607, label %3608, label %3630

3608:                                             ; preds = %3601
  %3609 = load i32, ptr %1007, align 4, !tbaa !5
  %3610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3611 = call i32 @s2n_print_stacktrace(ptr noundef %3610) #13
  %3612 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3613 = trunc nuw i8 %3612 to i1
  br i1 %3613, label %3614, label %3618

3614:                                             ; preds = %3608
  %3615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3616 = call i32 @fileno(ptr noundef %3615) #13
  %3617 = call i32 @isatty(i32 noundef %3616) #13
  %.not640 = icmp eq i32 %3617, 0
  br i1 %.not640, label %3618, label %3619

3618:                                             ; preds = %3614, %3608
  br label %3619

3619:                                             ; preds = %3614, %3618
  %.str.4.sink1834 = phi ptr [ @.str.4, %3618 ], [ @.str, %3614 ]
  store i32 %3609, ptr %1007, align 4, !tbaa !5
  %3620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3621 = load i32, ptr @test_count, align 4, !tbaa !5
  %3622 = load i32, ptr %953, align 4, !tbaa !5
  %3623 = call ptr @s2n_strerror(i32 noundef %3622, ptr noundef nonnull @.str.3) #13
  %3624 = load i32, ptr %953, align 4, !tbaa !5
  %3625 = call ptr @s2n_strerror_debug(i32 noundef %3624, ptr noundef nonnull @.str.3) #13
  %3626 = load i32, ptr %1007, align 4, !tbaa !5
  %3627 = call ptr @strerror(i32 noundef %3626) #13
  %3628 = load i32, ptr %1007, align 4, !tbaa !5
  %3629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3620, ptr noundef nonnull %.str.4.sink1834, i32 noundef %3621, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.2, i32 noundef 436, ptr noundef %3623, ptr noundef %3625, ptr noundef %3627, i32 noundef %3628) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3630:                                             ; preds = %3601
  call void @s2n_ktls_configure_connection(ptr noundef nonnull %3604, i32 noundef 1) #13
  call void @llvm.lifetime.start.p0(i64 192, ptr nonnull %51) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(192) %51, i8 0, i64 192, i1 false)
  %3631 = load i32, ptr @test_count, align 4, !tbaa !5
  %3632 = add nsw i32 %3631, 1
  store i32 %3632, ptr @test_count, align 4, !tbaa !5
  %3633 = load ptr, ptr %50, align 8, !tbaa !9
  %3634 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef %3633, ptr noundef %3633, ptr noundef nonnull %51) #13
  %3635 = call zeroext i1 @s2n_result_is_ok(i32 %3634)
  br i1 %3635, label %3658, label %3636

3636:                                             ; preds = %3630
  %3637 = load i32, ptr %1007, align 4, !tbaa !5
  %3638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3639 = call i32 @s2n_print_stacktrace(ptr noundef %3638) #13
  %3640 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3641 = trunc nuw i8 %3640 to i1
  br i1 %3641, label %3642, label %3646

3642:                                             ; preds = %3636
  %3643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3644 = call i32 @fileno(ptr noundef %3643) #13
  %3645 = call i32 @isatty(i32 noundef %3644) #13
  %.not559 = icmp eq i32 %3645, 0
  br i1 %.not559, label %3646, label %3647

3646:                                             ; preds = %3642, %3636
  br label %3647

3647:                                             ; preds = %3642, %3646
  %.str.4.sink1843 = phi ptr [ @.str.4, %3646 ], [ @.str, %3642 ]
  store i32 %3637, ptr %1007, align 4, !tbaa !5
  %3648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3649 = load i32, ptr @test_count, align 4, !tbaa !5
  %3650 = load i32, ptr %953, align 4, !tbaa !5
  %3651 = call ptr @s2n_strerror(i32 noundef %3650, ptr noundef nonnull @.str.3) #13
  %3652 = load i32, ptr %953, align 4, !tbaa !5
  %3653 = call ptr @s2n_strerror_debug(i32 noundef %3652, ptr noundef nonnull @.str.3) #13
  %3654 = load i32, ptr %1007, align 4, !tbaa !5
  %3655 = call ptr @strerror(i32 noundef %3654) #13
  %3656 = load i32, ptr %1007, align 4, !tbaa !5
  %3657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3648, ptr noundef nonnull %.str.4.sink1843, i32 noundef %3649, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.2, i32 noundef 441, ptr noundef %3651, ptr noundef %3653, ptr noundef %3655, i32 noundef %3656) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3658:                                             ; preds = %3630
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %52) #13
  store i64 0, ptr %52, align 8, !tbaa !52
  %3659 = load i32, ptr @test_count, align 4, !tbaa !5
  %3660 = add nsw i32 %3659, 1
  store i32 %3660, ptr @test_count, align 4, !tbaa !5
  %3661 = call i32 @s2n_ktls_sendmsg(ptr noundef nonnull %51, i8 noundef zeroext 23, ptr noundef nonnull %39, i64 noundef 1, ptr noundef nonnull %40, ptr noundef nonnull %52) #13
  %3662 = call zeroext i1 @s2n_result_is_ok(i32 %3661)
  br i1 %3662, label %3685, label %3663

3663:                                             ; preds = %3658
  %3664 = load i32, ptr %1007, align 4, !tbaa !5
  %3665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3666 = call i32 @s2n_print_stacktrace(ptr noundef %3665) #13
  %3667 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3668 = trunc nuw i8 %3667 to i1
  br i1 %3668, label %3669, label %3673

3669:                                             ; preds = %3663
  %3670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3671 = call i32 @fileno(ptr noundef %3670) #13
  %3672 = call i32 @isatty(i32 noundef %3671) #13
  %.not560 = icmp eq i32 %3672, 0
  br i1 %.not560, label %3673, label %3674

3673:                                             ; preds = %3669, %3663
  br label %3674

3674:                                             ; preds = %3669, %3673
  %.str.4.sink1852 = phi ptr [ @.str.4, %3673 ], [ @.str, %3669 ]
  store i32 %3664, ptr %1007, align 4, !tbaa !5
  %3675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3676 = load i32, ptr @test_count, align 4, !tbaa !5
  %3677 = load i32, ptr %953, align 4, !tbaa !5
  %3678 = call ptr @s2n_strerror(i32 noundef %3677, ptr noundef nonnull @.str.3) #13
  %3679 = load i32, ptr %953, align 4, !tbaa !5
  %3680 = call ptr @s2n_strerror_debug(i32 noundef %3679, ptr noundef nonnull @.str.3) #13
  %3681 = load i32, ptr %1007, align 4, !tbaa !5
  %3682 = call ptr @strerror(i32 noundef %3681) #13
  %3683 = load i32, ptr %1007, align 4, !tbaa !5
  %3684 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3675, ptr noundef nonnull %.str.4.sink1852, i32 noundef %3676, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.2, i32 noundef 446, ptr noundef %3678, ptr noundef %3680, ptr noundef %3682, i32 noundef %3683) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3685:                                             ; preds = %3658
  %3686 = load i32, ptr @test_count, align 4, !tbaa !5
  %3687 = add nsw i32 %3686, 1
  store i32 %3687, ptr @test_count, align 4, !tbaa !5
  %3688 = load i64, ptr %52, align 8, !tbaa !52
  %3689 = icmp eq i64 %3688, 100
  br i1 %3689, label %3712, label %3690

3690:                                             ; preds = %3685
  %3691 = load i32, ptr %1007, align 4, !tbaa !5
  %3692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3693 = call i32 @s2n_print_stacktrace(ptr noundef %3692) #13
  %3694 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3695 = trunc nuw i8 %3694 to i1
  br i1 %3695, label %3696, label %3700

3696:                                             ; preds = %3690
  %3697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3698 = call i32 @fileno(ptr noundef %3697) #13
  %3699 = call i32 @isatty(i32 noundef %3698) #13
  %.not561 = icmp eq i32 %3699, 0
  br i1 %.not561, label %3700, label %3701

3700:                                             ; preds = %3696, %3690
  br label %3701

3701:                                             ; preds = %3696, %3700
  %.str.4.sink1861 = phi ptr [ @.str.4, %3700 ], [ @.str, %3696 ]
  store i32 %3691, ptr %1007, align 4, !tbaa !5
  %3702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3703 = load i32, ptr @test_count, align 4, !tbaa !5
  %3704 = load i32, ptr %953, align 4, !tbaa !5
  %3705 = call ptr @s2n_strerror(i32 noundef %3704, ptr noundef nonnull @.str.3) #13
  %3706 = load i32, ptr %953, align 4, !tbaa !5
  %3707 = call ptr @s2n_strerror_debug(i32 noundef %3706, ptr noundef nonnull @.str.3) #13
  %3708 = load i32, ptr %1007, align 4, !tbaa !5
  %3709 = call ptr @strerror(i32 noundef %3708) #13
  %3710 = load i32, ptr %1007, align 4, !tbaa !5
  %3711 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3702, ptr noundef nonnull %.str.4.sink1861, i32 noundef %3703, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.2, i32 noundef 447, ptr noundef %3705, ptr noundef %3707, ptr noundef %3709, i32 noundef %3710) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3712:                                             ; preds = %3685
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %53) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %53, i8 0, i64 100, i1 false)
  %3713 = load ptr, ptr %50, align 8, !tbaa !9
  %3714 = call i64 @s2n_recv(ptr noundef %3713, ptr noundef nonnull %53, i64 noundef 50, ptr noundef nonnull %40) #13
  %3715 = load i32, ptr @test_count, align 4, !tbaa !5
  %3716 = add nsw i32 %3715, 1
  store i32 %3716, ptr @test_count, align 4, !tbaa !5
  %sext562.mask = and i64 %3714, 4294967295
  %3717 = icmp eq i64 %sext562.mask, 50
  br i1 %3717, label %3740, label %3718

3718:                                             ; preds = %3712
  %3719 = load i32, ptr %1007, align 4, !tbaa !5
  %3720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3721 = call i32 @s2n_print_stacktrace(ptr noundef %3720) #13
  %3722 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3723 = trunc nuw i8 %3722 to i1
  br i1 %3723, label %3724, label %3728

3724:                                             ; preds = %3718
  %3725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3726 = call i32 @fileno(ptr noundef %3725) #13
  %3727 = call i32 @isatty(i32 noundef %3726) #13
  %.not563 = icmp eq i32 %3727, 0
  br i1 %.not563, label %3728, label %3729

3728:                                             ; preds = %3724, %3718
  br label %3729

3729:                                             ; preds = %3724, %3728
  %.str.4.sink1870 = phi ptr [ @.str.4, %3728 ], [ @.str, %3724 ]
  store i32 %3719, ptr %1007, align 4, !tbaa !5
  %3730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3731 = load i32, ptr @test_count, align 4, !tbaa !5
  %3732 = load i32, ptr %953, align 4, !tbaa !5
  %3733 = call ptr @s2n_strerror(i32 noundef %3732, ptr noundef nonnull @.str.3) #13
  %3734 = load i32, ptr %953, align 4, !tbaa !5
  %3735 = call ptr @s2n_strerror_debug(i32 noundef %3734, ptr noundef nonnull @.str.3) #13
  %3736 = load i32, ptr %1007, align 4, !tbaa !5
  %3737 = call ptr @strerror(i32 noundef %3736) #13
  %3738 = load i32, ptr %1007, align 4, !tbaa !5
  %3739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3730, ptr noundef nonnull %.str.4.sink1870, i32 noundef %3731, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.2, i32 noundef 452, ptr noundef %3733, ptr noundef %3735, ptr noundef %3737, i32 noundef %3738) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3740:                                             ; preds = %3712
  %3741 = add nsw i32 %3715, 2
  store i32 %3741, ptr @test_count, align 4, !tbaa !5
  %3742 = load i32, ptr %40, align 4, !tbaa !5
  %3743 = icmp eq i32 %3742, 1
  br i1 %3743, label %3766, label %3744

3744:                                             ; preds = %3740
  %3745 = load i32, ptr %1007, align 4, !tbaa !5
  %3746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3747 = call i32 @s2n_print_stacktrace(ptr noundef %3746) #13
  %3748 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3749 = trunc nuw i8 %3748 to i1
  br i1 %3749, label %3750, label %3754

3750:                                             ; preds = %3744
  %3751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3752 = call i32 @fileno(ptr noundef %3751) #13
  %3753 = call i32 @isatty(i32 noundef %3752) #13
  %.not564 = icmp eq i32 %3753, 0
  br i1 %.not564, label %3754, label %3755

3754:                                             ; preds = %3750, %3744
  br label %3755

3755:                                             ; preds = %3750, %3754
  %.str.4.sink1879 = phi ptr [ @.str.4, %3754 ], [ @.str, %3750 ]
  store i32 %3745, ptr %1007, align 4, !tbaa !5
  %3756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3757 = load i32, ptr @test_count, align 4, !tbaa !5
  %3758 = load i32, ptr %953, align 4, !tbaa !5
  %3759 = call ptr @s2n_strerror(i32 noundef %3758, ptr noundef nonnull @.str.3) #13
  %3760 = load i32, ptr %953, align 4, !tbaa !5
  %3761 = call ptr @s2n_strerror_debug(i32 noundef %3760, ptr noundef nonnull @.str.3) #13
  %3762 = load i32, ptr %1007, align 4, !tbaa !5
  %3763 = call ptr @strerror(i32 noundef %3762) #13
  %3764 = load i32, ptr %1007, align 4, !tbaa !5
  %3765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3756, ptr noundef nonnull %.str.4.sink1879, i32 noundef %3757, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.2, i32 noundef 453, ptr noundef %3759, ptr noundef %3761, ptr noundef %3763, i32 noundef %3764) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3766:                                             ; preds = %3740
  %3767 = add nsw i32 %3715, 3
  store i32 %3767, ptr @test_count, align 4, !tbaa !5
  %bcmp565 = call i32 @bcmp(ptr noundef nonnull dereferenceable(50) %53, ptr noundef nonnull dereferenceable(50) %37, i64 50)
  %3768 = icmp eq i32 %bcmp565, 0
  br i1 %3768, label %3791, label %3769

3769:                                             ; preds = %3766
  %3770 = load i32, ptr %1007, align 4, !tbaa !5
  %3771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3772 = call i32 @s2n_print_stacktrace(ptr noundef %3771) #13
  %3773 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3774 = trunc nuw i8 %3773 to i1
  br i1 %3774, label %3775, label %3779

3775:                                             ; preds = %3769
  %3776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3777 = call i32 @fileno(ptr noundef %3776) #13
  %3778 = call i32 @isatty(i32 noundef %3777) #13
  %.not566 = icmp eq i32 %3778, 0
  br i1 %.not566, label %3779, label %3780

3779:                                             ; preds = %3775, %3769
  br label %3780

3780:                                             ; preds = %3775, %3779
  %.str.4.sink1888 = phi ptr [ @.str.4, %3779 ], [ @.str, %3775 ]
  store i32 %3770, ptr %1007, align 4, !tbaa !5
  %3781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3782 = load i32, ptr @test_count, align 4, !tbaa !5
  %3783 = load i32, ptr %953, align 4, !tbaa !5
  %3784 = call ptr @s2n_strerror(i32 noundef %3783, ptr noundef nonnull @.str.3) #13
  %3785 = load i32, ptr %953, align 4, !tbaa !5
  %3786 = call ptr @s2n_strerror_debug(i32 noundef %3785, ptr noundef nonnull @.str.3) #13
  %3787 = load i32, ptr %1007, align 4, !tbaa !5
  %3788 = call ptr @strerror(i32 noundef %3787) #13
  %3789 = load i32, ptr %1007, align 4, !tbaa !5
  %3790 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3781, ptr noundef nonnull %.str.4.sink1888, i32 noundef %3782, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.2, i32 noundef 454, ptr noundef %3784, ptr noundef %3786, ptr noundef %3788, i32 noundef %3789) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3791:                                             ; preds = %3766
  %3792 = add nsw i32 %3715, 4
  store i32 %3792, ptr @test_count, align 4, !tbaa !5
  %3793 = getelementptr inbounds i8, ptr %51, i64 88
  %3794 = load i64, ptr %3793, align 8, !tbaa !53
  %3795 = icmp eq i64 %3794, 1
  br i1 %3795, label %3818, label %3796

3796:                                             ; preds = %3791
  %3797 = load i32, ptr %1007, align 4, !tbaa !5
  %3798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3799 = call i32 @s2n_print_stacktrace(ptr noundef %3798) #13
  %3800 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3801 = trunc nuw i8 %3800 to i1
  br i1 %3801, label %3802, label %3806

3802:                                             ; preds = %3796
  %3803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3804 = call i32 @fileno(ptr noundef %3803) #13
  %3805 = call i32 @isatty(i32 noundef %3804) #13
  %.not567 = icmp eq i32 %3805, 0
  br i1 %.not567, label %3806, label %3807

3806:                                             ; preds = %3802, %3796
  br label %3807

3807:                                             ; preds = %3802, %3806
  %.str.4.sink1897 = phi ptr [ @.str.4, %3806 ], [ @.str, %3802 ]
  store i32 %3797, ptr %1007, align 4, !tbaa !5
  %3808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3809 = load i32, ptr @test_count, align 4, !tbaa !5
  %3810 = load i32, ptr %953, align 4, !tbaa !5
  %3811 = call ptr @s2n_strerror(i32 noundef %3810, ptr noundef nonnull @.str.3) #13
  %3812 = load i32, ptr %953, align 4, !tbaa !5
  %3813 = call ptr @s2n_strerror_debug(i32 noundef %3812, ptr noundef nonnull @.str.3) #13
  %3814 = load i32, ptr %1007, align 4, !tbaa !5
  %3815 = call ptr @strerror(i32 noundef %3814) #13
  %3816 = load i32, ptr %1007, align 4, !tbaa !5
  %3817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3808, ptr noundef nonnull %.str.4.sink1897, i32 noundef %3809, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.2, i32 noundef 455, ptr noundef %3811, ptr noundef %3813, ptr noundef %3815, i32 noundef %3816) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3818:                                             ; preds = %3791
  %3819 = load ptr, ptr %50, align 8, !tbaa !9
  %3820 = getelementptr inbounds i8, ptr %53, i64 50
  %3821 = call i64 @s2n_recv(ptr noundef %3819, ptr noundef nonnull %3820, i64 noundef 50, ptr noundef nonnull %40) #13
  %3822 = load i32, ptr @test_count, align 4, !tbaa !5
  %3823 = add nsw i32 %3822, 1
  store i32 %3823, ptr @test_count, align 4, !tbaa !5
  %sext568.mask = and i64 %3821, 4294967295
  %3824 = icmp eq i64 %sext568.mask, 50
  br i1 %3824, label %3847, label %3825

3825:                                             ; preds = %3818
  %3826 = load i32, ptr %1007, align 4, !tbaa !5
  %3827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3828 = call i32 @s2n_print_stacktrace(ptr noundef %3827) #13
  %3829 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3830 = trunc nuw i8 %3829 to i1
  br i1 %3830, label %3831, label %3835

3831:                                             ; preds = %3825
  %3832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3833 = call i32 @fileno(ptr noundef %3832) #13
  %3834 = call i32 @isatty(i32 noundef %3833) #13
  %.not569 = icmp eq i32 %3834, 0
  br i1 %.not569, label %3835, label %3836

3835:                                             ; preds = %3831, %3825
  br label %3836

3836:                                             ; preds = %3831, %3835
  %.str.4.sink1906 = phi ptr [ @.str.4, %3835 ], [ @.str, %3831 ]
  store i32 %3826, ptr %1007, align 4, !tbaa !5
  %3837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3838 = load i32, ptr @test_count, align 4, !tbaa !5
  %3839 = load i32, ptr %953, align 4, !tbaa !5
  %3840 = call ptr @s2n_strerror(i32 noundef %3839, ptr noundef nonnull @.str.3) #13
  %3841 = load i32, ptr %953, align 4, !tbaa !5
  %3842 = call ptr @s2n_strerror_debug(i32 noundef %3841, ptr noundef nonnull @.str.3) #13
  %3843 = load i32, ptr %1007, align 4, !tbaa !5
  %3844 = call ptr @strerror(i32 noundef %3843) #13
  %3845 = load i32, ptr %1007, align 4, !tbaa !5
  %3846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3837, ptr noundef nonnull %.str.4.sink1906, i32 noundef %3838, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.2, i32 noundef 460, ptr noundef %3840, ptr noundef %3842, ptr noundef %3844, i32 noundef %3845) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3847:                                             ; preds = %3818
  %3848 = add nsw i32 %3822, 2
  store i32 %3848, ptr @test_count, align 4, !tbaa !5
  %3849 = load i32, ptr %40, align 4, !tbaa !5
  %3850 = icmp eq i32 %3849, 0
  br i1 %3850, label %3873, label %3851

3851:                                             ; preds = %3847
  %3852 = load i32, ptr %1007, align 4, !tbaa !5
  %3853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3854 = call i32 @s2n_print_stacktrace(ptr noundef %3853) #13
  %3855 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3856 = trunc nuw i8 %3855 to i1
  br i1 %3856, label %3857, label %3861

3857:                                             ; preds = %3851
  %3858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3859 = call i32 @fileno(ptr noundef %3858) #13
  %3860 = call i32 @isatty(i32 noundef %3859) #13
  %.not570 = icmp eq i32 %3860, 0
  br i1 %.not570, label %3861, label %3862

3861:                                             ; preds = %3857, %3851
  br label %3862

3862:                                             ; preds = %3857, %3861
  %.str.4.sink1915 = phi ptr [ @.str.4, %3861 ], [ @.str, %3857 ]
  store i32 %3852, ptr %1007, align 4, !tbaa !5
  %3863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3864 = load i32, ptr @test_count, align 4, !tbaa !5
  %3865 = load i32, ptr %953, align 4, !tbaa !5
  %3866 = call ptr @s2n_strerror(i32 noundef %3865, ptr noundef nonnull @.str.3) #13
  %3867 = load i32, ptr %953, align 4, !tbaa !5
  %3868 = call ptr @s2n_strerror_debug(i32 noundef %3867, ptr noundef nonnull @.str.3) #13
  %3869 = load i32, ptr %1007, align 4, !tbaa !5
  %3870 = call ptr @strerror(i32 noundef %3869) #13
  %3871 = load i32, ptr %1007, align 4, !tbaa !5
  %3872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3863, ptr noundef nonnull %.str.4.sink1915, i32 noundef %3864, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.2, i32 noundef 461, ptr noundef %3866, ptr noundef %3868, ptr noundef %3870, i32 noundef %3871) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3873:                                             ; preds = %3847
  %3874 = add nsw i32 %3822, 3
  store i32 %3874, ptr @test_count, align 4, !tbaa !5
  %bcmp571 = call i32 @bcmp(ptr noundef nonnull dereferenceable(100) %53, ptr noundef nonnull dereferenceable(100) %37, i64 100)
  %3875 = icmp eq i32 %bcmp571, 0
  br i1 %3875, label %3898, label %3876

3876:                                             ; preds = %3873
  %3877 = load i32, ptr %1007, align 4, !tbaa !5
  %3878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3879 = call i32 @s2n_print_stacktrace(ptr noundef %3878) #13
  %3880 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3881 = trunc nuw i8 %3880 to i1
  br i1 %3881, label %3882, label %3886

3882:                                             ; preds = %3876
  %3883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3884 = call i32 @fileno(ptr noundef %3883) #13
  %3885 = call i32 @isatty(i32 noundef %3884) #13
  %.not572 = icmp eq i32 %3885, 0
  br i1 %.not572, label %3886, label %3887

3886:                                             ; preds = %3882, %3876
  br label %3887

3887:                                             ; preds = %3882, %3886
  %.str.4.sink1924 = phi ptr [ @.str.4, %3886 ], [ @.str, %3882 ]
  store i32 %3877, ptr %1007, align 4, !tbaa !5
  %3888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3889 = load i32, ptr @test_count, align 4, !tbaa !5
  %3890 = load i32, ptr %953, align 4, !tbaa !5
  %3891 = call ptr @s2n_strerror(i32 noundef %3890, ptr noundef nonnull @.str.3) #13
  %3892 = load i32, ptr %953, align 4, !tbaa !5
  %3893 = call ptr @s2n_strerror_debug(i32 noundef %3892, ptr noundef nonnull @.str.3) #13
  %3894 = load i32, ptr %1007, align 4, !tbaa !5
  %3895 = call ptr @strerror(i32 noundef %3894) #13
  %3896 = load i32, ptr %1007, align 4, !tbaa !5
  %3897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3888, ptr noundef nonnull %.str.4.sink1924, i32 noundef %3889, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.2, i32 noundef 462, ptr noundef %3891, ptr noundef %3893, ptr noundef %3895, i32 noundef %3896) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3898:                                             ; preds = %3873
  %3899 = add nsw i32 %3822, 4
  store i32 %3899, ptr @test_count, align 4, !tbaa !5
  %3900 = load i64, ptr %3793, align 8, !tbaa !53
  %3901 = icmp eq i64 %3900, 1
  br i1 %3901, label %3924, label %3902

3902:                                             ; preds = %3898
  %3903 = load i32, ptr %1007, align 4, !tbaa !5
  %3904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3905 = call i32 @s2n_print_stacktrace(ptr noundef %3904) #13
  %3906 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3907 = trunc nuw i8 %3906 to i1
  br i1 %3907, label %3908, label %3912

3908:                                             ; preds = %3902
  %3909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3910 = call i32 @fileno(ptr noundef %3909) #13
  %3911 = call i32 @isatty(i32 noundef %3910) #13
  %.not573 = icmp eq i32 %3911, 0
  br i1 %.not573, label %3912, label %3913

3912:                                             ; preds = %3908, %3902
  br label %3913

3913:                                             ; preds = %3908, %3912
  %.str.4.sink1933 = phi ptr [ @.str.4, %3912 ], [ @.str, %3908 ]
  store i32 %3903, ptr %1007, align 4, !tbaa !5
  %3914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3915 = load i32, ptr @test_count, align 4, !tbaa !5
  %3916 = load i32, ptr %953, align 4, !tbaa !5
  %3917 = call ptr @s2n_strerror(i32 noundef %3916, ptr noundef nonnull @.str.3) #13
  %3918 = load i32, ptr %953, align 4, !tbaa !5
  %3919 = call ptr @s2n_strerror_debug(i32 noundef %3918, ptr noundef nonnull @.str.3) #13
  %3920 = load i32, ptr %1007, align 4, !tbaa !5
  %3921 = call ptr @strerror(i32 noundef %3920) #13
  %3922 = load i32, ptr %1007, align 4, !tbaa !5
  %3923 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3914, ptr noundef nonnull %.str.4.sink1933, i32 noundef %3915, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.2, i32 noundef 463, ptr noundef %3917, ptr noundef %3919, ptr noundef %3921, i32 noundef %3922) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3924:                                             ; preds = %3898
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %53) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %52) #13
  %3925 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef nonnull %51) #13
  call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %51) #13
  %3926 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %50) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %50) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %54) #13
  %3927 = call ptr @s2n_connection_new(i32 noundef 1) #13
  store ptr %3927, ptr %54, align 8, !tbaa !9
  %3928 = load i32, ptr @test_count, align 4, !tbaa !5
  %3929 = add nsw i32 %3928, 1
  store i32 %3929, ptr @test_count, align 4, !tbaa !5
  %3930 = icmp eq ptr %3927, null
  br i1 %3930, label %3931, label %3953

3931:                                             ; preds = %3924
  %3932 = load i32, ptr %1007, align 4, !tbaa !5
  %3933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3934 = call i32 @s2n_print_stacktrace(ptr noundef %3933) #13
  %3935 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3936 = trunc nuw i8 %3935 to i1
  br i1 %3936, label %3937, label %3941

3937:                                             ; preds = %3931
  %3938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3939 = call i32 @fileno(ptr noundef %3938) #13
  %3940 = call i32 @isatty(i32 noundef %3939) #13
  %.not639 = icmp eq i32 %3940, 0
  br i1 %.not639, label %3941, label %3942

3941:                                             ; preds = %3937, %3931
  br label %3942

3942:                                             ; preds = %3937, %3941
  %.str.4.sink1942 = phi ptr [ @.str.4, %3941 ], [ @.str, %3937 ]
  store i32 %3932, ptr %1007, align 4, !tbaa !5
  %3943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3944 = load i32, ptr @test_count, align 4, !tbaa !5
  %3945 = load i32, ptr %953, align 4, !tbaa !5
  %3946 = call ptr @s2n_strerror(i32 noundef %3945, ptr noundef nonnull @.str.3) #13
  %3947 = load i32, ptr %953, align 4, !tbaa !5
  %3948 = call ptr @s2n_strerror_debug(i32 noundef %3947, ptr noundef nonnull @.str.3) #13
  %3949 = load i32, ptr %1007, align 4, !tbaa !5
  %3950 = call ptr @strerror(i32 noundef %3949) #13
  %3951 = load i32, ptr %1007, align 4, !tbaa !5
  %3952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3943, ptr noundef nonnull %.str.4.sink1942, i32 noundef %3944, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.2, i32 noundef 470, ptr noundef %3946, ptr noundef %3948, ptr noundef %3950, i32 noundef %3951) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3953:                                             ; preds = %3924
  call void @s2n_ktls_configure_connection(ptr noundef nonnull %3927, i32 noundef 1) #13
  call void @llvm.lifetime.start.p0(i64 192, ptr nonnull %55) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(192) %55, i8 0, i64 192, i1 false)
  %3954 = load i32, ptr @test_count, align 4, !tbaa !5
  %3955 = add nsw i32 %3954, 1
  store i32 %3955, ptr @test_count, align 4, !tbaa !5
  %3956 = load ptr, ptr %54, align 8, !tbaa !9
  %3957 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef %3956, ptr noundef %3956, ptr noundef nonnull %55) #13
  %3958 = call zeroext i1 @s2n_result_is_ok(i32 %3957)
  br i1 %3958, label %3981, label %3959

3959:                                             ; preds = %3953
  %3960 = load i32, ptr %1007, align 4, !tbaa !5
  %3961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3962 = call i32 @s2n_print_stacktrace(ptr noundef %3961) #13
  %3963 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3964 = trunc nuw i8 %3963 to i1
  br i1 %3964, label %3965, label %3969

3965:                                             ; preds = %3959
  %3966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3967 = call i32 @fileno(ptr noundef %3966) #13
  %3968 = call i32 @isatty(i32 noundef %3967) #13
  %.not574 = icmp eq i32 %3968, 0
  br i1 %.not574, label %3969, label %3970

3969:                                             ; preds = %3965, %3959
  br label %3970

3970:                                             ; preds = %3965, %3969
  %.str.4.sink1951 = phi ptr [ @.str.4, %3969 ], [ @.str, %3965 ]
  store i32 %3960, ptr %1007, align 4, !tbaa !5
  %3971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3972 = load i32, ptr @test_count, align 4, !tbaa !5
  %3973 = load i32, ptr %953, align 4, !tbaa !5
  %3974 = call ptr @s2n_strerror(i32 noundef %3973, ptr noundef nonnull @.str.3) #13
  %3975 = load i32, ptr %953, align 4, !tbaa !5
  %3976 = call ptr @s2n_strerror_debug(i32 noundef %3975, ptr noundef nonnull @.str.3) #13
  %3977 = load i32, ptr %1007, align 4, !tbaa !5
  %3978 = call ptr @strerror(i32 noundef %3977) #13
  %3979 = load i32, ptr %1007, align 4, !tbaa !5
  %3980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3971, ptr noundef nonnull %.str.4.sink1951, i32 noundef %3972, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.2, i32 noundef 475, ptr noundef %3974, ptr noundef %3976, ptr noundef %3978, i32 noundef %3979) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3981:                                             ; preds = %3953
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %56) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %56, i8 0, i64 100, i1 false)
  %3982 = load ptr, ptr %54, align 8, !tbaa !9
  %3983 = call i64 @s2n_recv(ptr noundef %3982, ptr noundef nonnull %56, i64 noundef 100, ptr noundef nonnull %40) #13
  %3984 = load i32, ptr @test_count, align 4, !tbaa !5
  %3985 = add nsw i32 %3984, 1
  store i32 %3985, ptr @test_count, align 4, !tbaa !5
  %3986 = and i64 %3983, 4294967295
  %3987 = icmp eq i64 %3986, 4294967295
  br i1 %3987, label %4010, label %3988

3988:                                             ; preds = %3981
  %3989 = load i32, ptr %1007, align 4, !tbaa !5
  %3990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3991 = call i32 @s2n_print_stacktrace(ptr noundef %3990) #13
  %3992 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3993 = trunc nuw i8 %3992 to i1
  br i1 %3993, label %3994, label %3998

3994:                                             ; preds = %3988
  %3995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3996 = call i32 @fileno(ptr noundef %3995) #13
  %3997 = call i32 @isatty(i32 noundef %3996) #13
  %.not575 = icmp eq i32 %3997, 0
  br i1 %.not575, label %3998, label %3999

3998:                                             ; preds = %3994, %3988
  br label %3999

3999:                                             ; preds = %3994, %3998
  %.str.4.sink1960 = phi ptr [ @.str.4, %3998 ], [ @.str, %3994 ]
  store i32 %3989, ptr %1007, align 4, !tbaa !5
  %4000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4001 = load i32, ptr @test_count, align 4, !tbaa !5
  %4002 = load i32, ptr %953, align 4, !tbaa !5
  %4003 = call ptr @s2n_strerror(i32 noundef %4002, ptr noundef nonnull @.str.3) #13
  %4004 = load i32, ptr %953, align 4, !tbaa !5
  %4005 = call ptr @s2n_strerror_debug(i32 noundef %4004, ptr noundef nonnull @.str.3) #13
  %4006 = load i32, ptr %1007, align 4, !tbaa !5
  %4007 = call ptr @strerror(i32 noundef %4006) #13
  %4008 = load i32, ptr %1007, align 4, !tbaa !5
  %4009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4000, ptr noundef nonnull %.str.4.sink1960, i32 noundef %4001, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.2, i32 noundef 479, ptr noundef %4003, ptr noundef %4005, ptr noundef %4007, i32 noundef %4008) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4010:                                             ; preds = %3981
  %4011 = add nsw i32 %3984, 2
  store i32 %4011, ptr @test_count, align 4, !tbaa !5
  %4012 = load i32, ptr %953, align 4, !tbaa !5
  %4013 = icmp eq i32 %4012, 201326592
  br i1 %4013, label %4036, label %4014

4014:                                             ; preds = %4010
  %4015 = load i32, ptr %1007, align 4, !tbaa !5
  %4016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4017 = call i32 @s2n_print_stacktrace(ptr noundef %4016) #13
  %4018 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4019 = trunc nuw i8 %4018 to i1
  br i1 %4019, label %4020, label %4024

4020:                                             ; preds = %4014
  %4021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4022 = call i32 @fileno(ptr noundef %4021) #13
  %4023 = call i32 @isatty(i32 noundef %4022) #13
  %.not576 = icmp eq i32 %4023, 0
  br i1 %.not576, label %4024, label %4025

4024:                                             ; preds = %4020, %4014
  br label %4025

4025:                                             ; preds = %4020, %4024
  %.str.4.sink1969 = phi ptr [ @.str.4, %4024 ], [ @.str, %4020 ]
  store i32 %4015, ptr %1007, align 4, !tbaa !5
  %4026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4027 = load i32, ptr @test_count, align 4, !tbaa !5
  %4028 = load i32, ptr %953, align 4, !tbaa !5
  %4029 = call ptr @s2n_strerror(i32 noundef %4028, ptr noundef nonnull @.str.3) #13
  %4030 = load i32, ptr %953, align 4, !tbaa !5
  %4031 = call ptr @s2n_strerror_debug(i32 noundef %4030, ptr noundef nonnull @.str.3) #13
  %4032 = load i32, ptr %1007, align 4, !tbaa !5
  %4033 = call ptr @strerror(i32 noundef %4032) #13
  %4034 = load i32, ptr %1007, align 4, !tbaa !5
  %4035 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4026, ptr noundef nonnull %.str.4.sink1969, i32 noundef %4027, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.2, i32 noundef 479, ptr noundef %4029, ptr noundef %4031, ptr noundef %4033, i32 noundef %4034) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4036:                                             ; preds = %4010
  %4037 = add nsw i32 %3984, 3
  store i32 %4037, ptr @test_count, align 4, !tbaa !5
  %4038 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.3) #13
  %4039 = icmp eq ptr %4038, null
  br i1 %4039, label %4040, label %4062

4040:                                             ; preds = %4036
  %4041 = load i32, ptr %1007, align 4, !tbaa !5
  %4042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4043 = call i32 @s2n_print_stacktrace(ptr noundef %4042) #13
  %4044 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4045 = trunc nuw i8 %4044 to i1
  br i1 %4045, label %4046, label %4050

4046:                                             ; preds = %4040
  %4047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4048 = call i32 @fileno(ptr noundef %4047) #13
  %4049 = call i32 @isatty(i32 noundef %4048) #13
  %.not638 = icmp eq i32 %4049, 0
  br i1 %.not638, label %4050, label %4051

4050:                                             ; preds = %4046, %4040
  br label %4051

4051:                                             ; preds = %4046, %4050
  %.str.4.sink1978 = phi ptr [ @.str.4, %4050 ], [ @.str, %4046 ]
  store i32 %4041, ptr %1007, align 4, !tbaa !5
  %4052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4053 = load i32, ptr @test_count, align 4, !tbaa !5
  %4054 = load i32, ptr %953, align 4, !tbaa !5
  %4055 = call ptr @s2n_strerror(i32 noundef %4054, ptr noundef nonnull @.str.3) #13
  %4056 = load i32, ptr %953, align 4, !tbaa !5
  %4057 = call ptr @s2n_strerror_debug(i32 noundef %4056, ptr noundef nonnull @.str.3) #13
  %4058 = load i32, ptr %1007, align 4, !tbaa !5
  %4059 = call ptr @strerror(i32 noundef %4058) #13
  %4060 = load i32, ptr %1007, align 4, !tbaa !5
  %4061 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4052, ptr noundef nonnull %.str.4.sink1978, i32 noundef %4053, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.2, i32 noundef 479, ptr noundef %4055, ptr noundef %4057, ptr noundef %4059, i32 noundef %4060) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4062:                                             ; preds = %4036
  store i32 0, ptr %953, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %1007, align 4, !tbaa !5
  %4063 = load i32, ptr @test_count, align 4, !tbaa !5
  %4064 = add nsw i32 %4063, 1
  store i32 %4064, ptr @test_count, align 4, !tbaa !5
  %4065 = load i32, ptr %40, align 4, !tbaa !5
  %4066 = icmp eq i32 %4065, 1
  br i1 %4066, label %4089, label %4067

4067:                                             ; preds = %4062
  %4068 = load i32, ptr %1007, align 4, !tbaa !5
  %4069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4070 = call i32 @s2n_print_stacktrace(ptr noundef %4069) #13
  %4071 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4072 = trunc nuw i8 %4071 to i1
  br i1 %4072, label %4073, label %4077

4073:                                             ; preds = %4067
  %4074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4075 = call i32 @fileno(ptr noundef %4074) #13
  %4076 = call i32 @isatty(i32 noundef %4075) #13
  %.not577 = icmp eq i32 %4076, 0
  br i1 %.not577, label %4077, label %4078

4077:                                             ; preds = %4073, %4067
  br label %4078

4078:                                             ; preds = %4073, %4077
  %.str.4.sink1987 = phi ptr [ @.str.4, %4077 ], [ @.str, %4073 ]
  store i32 %4068, ptr %1007, align 4, !tbaa !5
  %4079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4080 = load i32, ptr @test_count, align 4, !tbaa !5
  %4081 = load i32, ptr %953, align 4, !tbaa !5
  %4082 = call ptr @s2n_strerror(i32 noundef %4081, ptr noundef nonnull @.str.3) #13
  %4083 = load i32, ptr %953, align 4, !tbaa !5
  %4084 = call ptr @s2n_strerror_debug(i32 noundef %4083, ptr noundef nonnull @.str.3) #13
  %4085 = load i32, ptr %1007, align 4, !tbaa !5
  %4086 = call ptr @strerror(i32 noundef %4085) #13
  %4087 = load i32, ptr %1007, align 4, !tbaa !5
  %4088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4079, ptr noundef nonnull %.str.4.sink1987, i32 noundef %4080, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.2, i32 noundef 480, ptr noundef %4082, ptr noundef %4084, ptr noundef %4086, i32 noundef %4087) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4089:                                             ; preds = %4062
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %56) #13
  %4090 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef nonnull %55) #13
  call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %55) #13
  %4091 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %54) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %57) #13
  %4092 = call ptr @s2n_connection_new(i32 noundef 1) #13
  store ptr %4092, ptr %57, align 8, !tbaa !9
  %4093 = load i32, ptr @test_count, align 4, !tbaa !5
  %4094 = add nsw i32 %4093, 1
  store i32 %4094, ptr @test_count, align 4, !tbaa !5
  %4095 = icmp eq ptr %4092, null
  br i1 %4095, label %4096, label %4118

4096:                                             ; preds = %4089
  %4097 = load i32, ptr %1007, align 4, !tbaa !5
  %4098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4099 = call i32 @s2n_print_stacktrace(ptr noundef %4098) #13
  %4100 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4101 = trunc nuw i8 %4100 to i1
  br i1 %4101, label %4102, label %4106

4102:                                             ; preds = %4096
  %4103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4104 = call i32 @fileno(ptr noundef %4103) #13
  %4105 = call i32 @isatty(i32 noundef %4104) #13
  %.not637 = icmp eq i32 %4105, 0
  br i1 %.not637, label %4106, label %4107

4106:                                             ; preds = %4102, %4096
  br label %4107

4107:                                             ; preds = %4102, %4106
  %.str.4.sink1996 = phi ptr [ @.str.4, %4106 ], [ @.str, %4102 ]
  store i32 %4097, ptr %1007, align 4, !tbaa !5
  %4108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4109 = load i32, ptr @test_count, align 4, !tbaa !5
  %4110 = load i32, ptr %953, align 4, !tbaa !5
  %4111 = call ptr @s2n_strerror(i32 noundef %4110, ptr noundef nonnull @.str.3) #13
  %4112 = load i32, ptr %953, align 4, !tbaa !5
  %4113 = call ptr @s2n_strerror_debug(i32 noundef %4112, ptr noundef nonnull @.str.3) #13
  %4114 = load i32, ptr %1007, align 4, !tbaa !5
  %4115 = call ptr @strerror(i32 noundef %4114) #13
  %4116 = load i32, ptr %1007, align 4, !tbaa !5
  %4117 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4108, ptr noundef nonnull %.str.4.sink1996, i32 noundef %4109, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.2, i32 noundef 487, ptr noundef %4111, ptr noundef %4113, ptr noundef %4115, i32 noundef %4116) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4118:                                             ; preds = %4089
  call void @s2n_ktls_configure_connection(ptr noundef nonnull %4092, i32 noundef 1) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #13
  store i64 0, ptr %58, align 8, !tbaa !52
  %4119 = load i32, ptr @test_count, align 4, !tbaa !5
  %4120 = add nsw i32 %4119, 1
  store i32 %4120, ptr @test_count, align 4, !tbaa !5
  %4121 = load ptr, ptr %57, align 8, !tbaa !9
  %4122 = call i32 @s2n_ktls_set_recvmsg_cb(ptr noundef %4121, ptr noundef nonnull @s2n_test_ktls_recvmsg_cb, ptr noundef nonnull %58) #13
  %4123 = call zeroext i1 @s2n_result_is_ok(i32 %4122)
  br i1 %4123, label %4146, label %4124

4124:                                             ; preds = %4118
  %4125 = load i32, ptr %1007, align 4, !tbaa !5
  %4126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4127 = call i32 @s2n_print_stacktrace(ptr noundef %4126) #13
  %4128 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4129 = trunc nuw i8 %4128 to i1
  br i1 %4129, label %4130, label %4134

4130:                                             ; preds = %4124
  %4131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4132 = call i32 @fileno(ptr noundef %4131) #13
  %4133 = call i32 @isatty(i32 noundef %4132) #13
  %.not578 = icmp eq i32 %4133, 0
  br i1 %.not578, label %4134, label %4135

4134:                                             ; preds = %4130, %4124
  br label %4135

4135:                                             ; preds = %4130, %4134
  %.str.4.sink2005 = phi ptr [ @.str.4, %4134 ], [ @.str, %4130 ]
  store i32 %4125, ptr %1007, align 4, !tbaa !5
  %4136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4137 = load i32, ptr @test_count, align 4, !tbaa !5
  %4138 = load i32, ptr %953, align 4, !tbaa !5
  %4139 = call ptr @s2n_strerror(i32 noundef %4138, ptr noundef nonnull @.str.3) #13
  %4140 = load i32, ptr %953, align 4, !tbaa !5
  %4141 = call ptr @s2n_strerror_debug(i32 noundef %4140, ptr noundef nonnull @.str.3) #13
  %4142 = load i32, ptr %1007, align 4, !tbaa !5
  %4143 = call ptr @strerror(i32 noundef %4142) #13
  %4144 = load i32, ptr %1007, align 4, !tbaa !5
  %4145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4136, ptr noundef nonnull %.str.4.sink2005, i32 noundef %4137, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.2, i32 noundef 491, ptr noundef %4139, ptr noundef %4141, ptr noundef %4143, i32 noundef %4144) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4146:                                             ; preds = %4118
  call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %59) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(10) %59, i8 0, i64 10, i1 false)
  %4147 = load ptr, ptr %57, align 8, !tbaa !9
  %4148 = call i64 @s2n_recv(ptr noundef %4147, ptr noundef nonnull %59, i64 noundef 10, ptr noundef nonnull %40) #13
  %4149 = load i32, ptr @test_count, align 4, !tbaa !5
  %4150 = add nsw i32 %4149, 1
  store i32 %4150, ptr @test_count, align 4, !tbaa !5
  %4151 = and i64 %4148, 4294967295
  %4152 = icmp eq i64 %4151, 4294967295
  br i1 %4152, label %4175, label %4153

4153:                                             ; preds = %4146
  %4154 = load i32, ptr %1007, align 4, !tbaa !5
  %4155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4156 = call i32 @s2n_print_stacktrace(ptr noundef %4155) #13
  %4157 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4158 = trunc nuw i8 %4157 to i1
  br i1 %4158, label %4159, label %4163

4159:                                             ; preds = %4153
  %4160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4161 = call i32 @fileno(ptr noundef %4160) #13
  %4162 = call i32 @isatty(i32 noundef %4161) #13
  %.not579 = icmp eq i32 %4162, 0
  br i1 %.not579, label %4163, label %4164

4163:                                             ; preds = %4159, %4153
  br label %4164

4164:                                             ; preds = %4159, %4163
  %.str.4.sink2014 = phi ptr [ @.str.4, %4163 ], [ @.str, %4159 ]
  store i32 %4154, ptr %1007, align 4, !tbaa !5
  %4165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4166 = load i32, ptr @test_count, align 4, !tbaa !5
  %4167 = load i32, ptr %953, align 4, !tbaa !5
  %4168 = call ptr @s2n_strerror(i32 noundef %4167, ptr noundef nonnull @.str.3) #13
  %4169 = load i32, ptr %953, align 4, !tbaa !5
  %4170 = call ptr @s2n_strerror_debug(i32 noundef %4169, ptr noundef nonnull @.str.3) #13
  %4171 = load i32, ptr %1007, align 4, !tbaa !5
  %4172 = call ptr @strerror(i32 noundef %4171) #13
  %4173 = load i32, ptr %1007, align 4, !tbaa !5
  %4174 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4165, ptr noundef nonnull %.str.4.sink2014, i32 noundef %4166, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.2, i32 noundef 495, ptr noundef %4168, ptr noundef %4170, ptr noundef %4172, i32 noundef %4173) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4175:                                             ; preds = %4146
  %4176 = add nsw i32 %4149, 2
  store i32 %4176, ptr @test_count, align 4, !tbaa !5
  %4177 = load i32, ptr %953, align 4, !tbaa !5
  %4178 = icmp eq i32 %4177, 134217728
  br i1 %4178, label %4201, label %4179

4179:                                             ; preds = %4175
  %4180 = load i32, ptr %1007, align 4, !tbaa !5
  %4181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4182 = call i32 @s2n_print_stacktrace(ptr noundef %4181) #13
  %4183 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4184 = trunc nuw i8 %4183 to i1
  br i1 %4184, label %4185, label %4189

4185:                                             ; preds = %4179
  %4186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4187 = call i32 @fileno(ptr noundef %4186) #13
  %4188 = call i32 @isatty(i32 noundef %4187) #13
  %.not580 = icmp eq i32 %4188, 0
  br i1 %.not580, label %4189, label %4190

4189:                                             ; preds = %4185, %4179
  br label %4190

4190:                                             ; preds = %4185, %4189
  %.str.4.sink2023 = phi ptr [ @.str.4, %4189 ], [ @.str, %4185 ]
  store i32 %4180, ptr %1007, align 4, !tbaa !5
  %4191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4192 = load i32, ptr @test_count, align 4, !tbaa !5
  %4193 = load i32, ptr %953, align 4, !tbaa !5
  %4194 = call ptr @s2n_strerror(i32 noundef %4193, ptr noundef nonnull @.str.3) #13
  %4195 = load i32, ptr %953, align 4, !tbaa !5
  %4196 = call ptr @s2n_strerror_debug(i32 noundef %4195, ptr noundef nonnull @.str.3) #13
  %4197 = load i32, ptr %1007, align 4, !tbaa !5
  %4198 = call ptr @strerror(i32 noundef %4197) #13
  %4199 = load i32, ptr %1007, align 4, !tbaa !5
  %4200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4191, ptr noundef nonnull %.str.4.sink2023, i32 noundef %4192, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.2, i32 noundef 495, ptr noundef %4194, ptr noundef %4196, ptr noundef %4198, i32 noundef %4199) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4201:                                             ; preds = %4175
  %4202 = add nsw i32 %4149, 3
  store i32 %4202, ptr @test_count, align 4, !tbaa !5
  %4203 = call ptr @s2n_strerror_debug(i32 noundef 134217728, ptr noundef nonnull @.str.3) #13
  %4204 = icmp eq ptr %4203, null
  br i1 %4204, label %4205, label %4227

4205:                                             ; preds = %4201
  %4206 = load i32, ptr %1007, align 4, !tbaa !5
  %4207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4208 = call i32 @s2n_print_stacktrace(ptr noundef %4207) #13
  %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) #13
  %4214 = call i32 @isatty(i32 noundef %4213) #13
  %.not636 = icmp eq i32 %4214, 0
  br i1 %.not636, label %4215, label %4216

4215:                                             ; preds = %4211, %4205
  br label %4216

4216:                                             ; preds = %4211, %4215
  %.str.4.sink2032 = phi ptr [ @.str.4, %4215 ], [ @.str, %4211 ]
  store i32 %4206, ptr %1007, 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 %953, align 4, !tbaa !5
  %4220 = call ptr @s2n_strerror(i32 noundef %4219, ptr noundef nonnull @.str.3) #13
  %4221 = load i32, ptr %953, align 4, !tbaa !5
  %4222 = call ptr @s2n_strerror_debug(i32 noundef %4221, ptr noundef nonnull @.str.3) #13
  %4223 = load i32, ptr %1007, align 4, !tbaa !5
  %4224 = call ptr @strerror(i32 noundef %4223) #13
  %4225 = load i32, ptr %1007, align 4, !tbaa !5
  %4226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4217, ptr noundef nonnull %.str.4.sink2032, i32 noundef %4218, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.2, i32 noundef 495, ptr noundef %4220, ptr noundef %4222, ptr noundef %4224, i32 noundef %4225) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4227:                                             ; preds = %4201
  store i32 0, ptr %953, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %1007, align 4, !tbaa !5
  %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 %40, align 4, !tbaa !5
  %4231 = icmp eq i32 %4230, 1
  br i1 %4231, label %4254, label %4232

4232:                                             ; preds = %4227
  %4233 = load i32, ptr %1007, align 4, !tbaa !5
  %4234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4235 = call i32 @s2n_print_stacktrace(ptr noundef %4234) #13
  %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) #13
  %4241 = call i32 @isatty(i32 noundef %4240) #13
  %.not581 = icmp eq i32 %4241, 0
  br i1 %.not581, label %4242, label %4243

4242:                                             ; preds = %4238, %4232
  br label %4243

4243:                                             ; preds = %4238, %4242
  %.str.4.sink2041 = phi ptr [ @.str.4, %4242 ], [ @.str, %4238 ]
  store i32 %4233, ptr %1007, 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 %953, align 4, !tbaa !5
  %4247 = call ptr @s2n_strerror(i32 noundef %4246, ptr noundef nonnull @.str.3) #13
  %4248 = load i32, ptr %953, align 4, !tbaa !5
  %4249 = call ptr @s2n_strerror_debug(i32 noundef %4248, ptr noundef nonnull @.str.3) #13
  %4250 = load i32, ptr %1007, align 4, !tbaa !5
  %4251 = call ptr @strerror(i32 noundef %4250) #13
  %4252 = load i32, ptr %1007, align 4, !tbaa !5
  %4253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4244, ptr noundef nonnull %.str.4.sink2041, i32 noundef %4245, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.2, i32 noundef 496, ptr noundef %4247, ptr noundef %4249, ptr noundef %4251, i32 noundef %4252) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4254:                                             ; preds = %4227
  %4255 = add nsw i32 %4228, 2
  store i32 %4255, ptr @test_count, align 4, !tbaa !5
  %4256 = load ptr, ptr %57, align 8, !tbaa !9
  %4257 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %4256, i32 noundef 3) #13
  br i1 %4257, label %4280, label %4258

4258:                                             ; preds = %4254
  %4259 = load i32, ptr %1007, align 4, !tbaa !5
  %4260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4261 = call i32 @s2n_print_stacktrace(ptr noundef %4260) #13
  %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) #13
  %4267 = call i32 @isatty(i32 noundef %4266) #13
  %.not582 = icmp eq i32 %4267, 0
  br i1 %.not582, label %4268, label %4269

4268:                                             ; preds = %4264, %4258
  br label %4269

4269:                                             ; preds = %4264, %4268
  %.str.4.sink2050 = phi ptr [ @.str.4, %4268 ], [ @.str, %4264 ]
  store i32 %4259, ptr %1007, 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 %953, align 4, !tbaa !5
  %4273 = call ptr @s2n_strerror(i32 noundef %4272, ptr noundef nonnull @.str.3) #13
  %4274 = load i32, ptr %953, align 4, !tbaa !5
  %4275 = call ptr @s2n_strerror_debug(i32 noundef %4274, ptr noundef nonnull @.str.3) #13
  %4276 = load i32, ptr %1007, align 4, !tbaa !5
  %4277 = call ptr @strerror(i32 noundef %4276) #13
  %4278 = load i32, ptr %1007, align 4, !tbaa !5
  %4279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4270, ptr noundef nonnull %.str.4.sink2050, i32 noundef %4271, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.2, i32 noundef 499, ptr noundef %4273, ptr noundef %4275, ptr noundef %4277, i32 noundef %4278) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4280:                                             ; preds = %4254
  %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 ptr, ptr %57, align 8, !tbaa !9
  %4284 = call i64 @s2n_connection_get_delay(ptr noundef %4283) #13
  %4285 = icmp eq i64 %4284, 0
  br i1 %4285, label %4308, label %4286

4286:                                             ; preds = %4280
  %4287 = load i32, ptr %1007, align 4, !tbaa !5
  %4288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4289 = call i32 @s2n_print_stacktrace(ptr noundef %4288) #13
  %4290 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4291 = trunc nuw i8 %4290 to i1
  br i1 %4291, label %4292, label %4296

4292:                                             ; preds = %4286
  %4293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4294 = call i32 @fileno(ptr noundef %4293) #13
  %4295 = call i32 @isatty(i32 noundef %4294) #13
  %.not583 = icmp eq i32 %4295, 0
  br i1 %.not583, label %4296, label %4297

4296:                                             ; preds = %4292, %4286
  br label %4297

4297:                                             ; preds = %4292, %4296
  %.str.4.sink2059 = phi ptr [ @.str.4, %4296 ], [ @.str, %4292 ]
  store i32 %4287, ptr %1007, align 4, !tbaa !5
  %4298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4299 = load i32, ptr @test_count, align 4, !tbaa !5
  %4300 = load i32, ptr %953, align 4, !tbaa !5
  %4301 = call ptr @s2n_strerror(i32 noundef %4300, ptr noundef nonnull @.str.3) #13
  %4302 = load i32, ptr %953, align 4, !tbaa !5
  %4303 = call ptr @s2n_strerror_debug(i32 noundef %4302, ptr noundef nonnull @.str.3) #13
  %4304 = load i32, ptr %1007, align 4, !tbaa !5
  %4305 = call ptr @strerror(i32 noundef %4304) #13
  %4306 = load i32, ptr %1007, align 4, !tbaa !5
  %4307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4298, ptr noundef nonnull %.str.4.sink2059, i32 noundef %4299, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.2, i32 noundef 500, ptr noundef %4301, ptr noundef %4303, ptr noundef %4305, i32 noundef %4306) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4308:                                             ; preds = %4280
  call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %59) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #13
  %4309 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %57) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %57) #13
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %60) #13
  %4310 = load i16, ptr @__const.main.alert_data, align 1
  store i16 %4310, ptr %60, align 2
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %61) #13
  store ptr %60, ptr %61, align 8, !tbaa !49
  %4311 = getelementptr inbounds i8, ptr %61, i64 8
  store i64 2, ptr %4311, align 8, !tbaa !51
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %62) #13
  %4312 = call ptr @s2n_connection_new(i32 noundef 1) #13
  store ptr %4312, ptr %62, align 8, !tbaa !9
  %4313 = load i32, ptr @test_count, align 4, !tbaa !5
  %4314 = add nsw i32 %4313, 1
  store i32 %4314, ptr @test_count, align 4, !tbaa !5
  %4315 = icmp eq ptr %4312, null
  br i1 %4315, label %4316, label %4338

4316:                                             ; preds = %4308
  %4317 = load i32, ptr %1007, align 4, !tbaa !5
  %4318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4319 = call i32 @s2n_print_stacktrace(ptr noundef %4318) #13
  %4320 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4321 = trunc nuw i8 %4320 to i1
  br i1 %4321, label %4322, label %4326

4322:                                             ; preds = %4316
  %4323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4324 = call i32 @fileno(ptr noundef %4323) #13
  %4325 = call i32 @isatty(i32 noundef %4324) #13
  %.not635 = icmp eq i32 %4325, 0
  br i1 %.not635, label %4326, label %4327

4326:                                             ; preds = %4322, %4316
  br label %4327

4327:                                             ; preds = %4322, %4326
  %.str.4.sink2068 = phi ptr [ @.str.4, %4326 ], [ @.str, %4322 ]
  store i32 %4317, ptr %1007, align 4, !tbaa !5
  %4328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4329 = load i32, ptr @test_count, align 4, !tbaa !5
  %4330 = load i32, ptr %953, align 4, !tbaa !5
  %4331 = call ptr @s2n_strerror(i32 noundef %4330, ptr noundef nonnull @.str.3) #13
  %4332 = load i32, ptr %953, align 4, !tbaa !5
  %4333 = call ptr @s2n_strerror_debug(i32 noundef %4332, ptr noundef nonnull @.str.3) #13
  %4334 = load i32, ptr %1007, align 4, !tbaa !5
  %4335 = call ptr @strerror(i32 noundef %4334) #13
  %4336 = load i32, ptr %1007, align 4, !tbaa !5
  %4337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4328, ptr noundef nonnull %.str.4.sink2068, i32 noundef %4329, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.2, i32 noundef 519, ptr noundef %4331, ptr noundef %4333, ptr noundef %4335, i32 noundef %4336) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4338:                                             ; preds = %4308
  call void @s2n_ktls_configure_connection(ptr noundef nonnull %4312, i32 noundef 1) #13
  call void @llvm.lifetime.start.p0(i64 192, ptr nonnull %63) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(192) %63, i8 0, i64 192, i1 false)
  %4339 = load i32, ptr @test_count, align 4, !tbaa !5
  %4340 = add nsw i32 %4339, 1
  store i32 %4340, ptr @test_count, align 4, !tbaa !5
  %4341 = load ptr, ptr %62, align 8, !tbaa !9
  %4342 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef %4341, ptr noundef %4341, ptr noundef nonnull %63) #13
  %4343 = call zeroext i1 @s2n_result_is_ok(i32 %4342)
  br i1 %4343, label %4366, label %4344

4344:                                             ; preds = %4338
  %4345 = load i32, ptr %1007, align 4, !tbaa !5
  %4346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4347 = call i32 @s2n_print_stacktrace(ptr noundef %4346) #13
  %4348 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4349 = trunc nuw i8 %4348 to i1
  br i1 %4349, label %4350, label %4354

4350:                                             ; preds = %4344
  %4351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4352 = call i32 @fileno(ptr noundef %4351) #13
  %4353 = call i32 @isatty(i32 noundef %4352) #13
  %.not584 = icmp eq i32 %4353, 0
  br i1 %.not584, label %4354, label %4355

4354:                                             ; preds = %4350, %4344
  br label %4355

4355:                                             ; preds = %4350, %4354
  %.str.4.sink2077 = phi ptr [ @.str.4, %4354 ], [ @.str, %4350 ]
  store i32 %4345, ptr %1007, align 4, !tbaa !5
  %4356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4357 = load i32, ptr @test_count, align 4, !tbaa !5
  %4358 = load i32, ptr %953, align 4, !tbaa !5
  %4359 = call ptr @s2n_strerror(i32 noundef %4358, ptr noundef nonnull @.str.3) #13
  %4360 = load i32, ptr %953, align 4, !tbaa !5
  %4361 = call ptr @s2n_strerror_debug(i32 noundef %4360, ptr noundef nonnull @.str.3) #13
  %4362 = load i32, ptr %1007, align 4, !tbaa !5
  %4363 = call ptr @strerror(i32 noundef %4362) #13
  %4364 = load i32, ptr %1007, align 4, !tbaa !5
  %4365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4356, ptr noundef nonnull %.str.4.sink2077, i32 noundef %4357, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.2, i32 noundef 524, ptr noundef %4359, ptr noundef %4361, ptr noundef %4363, i32 noundef %4364) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4366:                                             ; preds = %4338
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %64) #13
  store i64 0, ptr %64, align 8, !tbaa !52
  %4367 = load i32, ptr @test_count, align 4, !tbaa !5
  %4368 = add nsw i32 %4367, 1
  store i32 %4368, ptr @test_count, align 4, !tbaa !5
  %4369 = call i32 @s2n_ktls_sendmsg(ptr noundef nonnull %63, i8 noundef zeroext 21, ptr noundef nonnull %61, i64 noundef 1, ptr noundef nonnull %40, ptr noundef nonnull %64) #13
  %4370 = call zeroext i1 @s2n_result_is_ok(i32 %4369)
  br i1 %4370, label %4393, label %4371

4371:                                             ; preds = %4366
  %4372 = load i32, ptr %1007, align 4, !tbaa !5
  %4373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4374 = call i32 @s2n_print_stacktrace(ptr noundef %4373) #13
  %4375 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4376 = trunc nuw i8 %4375 to i1
  br i1 %4376, label %4377, label %4381

4377:                                             ; preds = %4371
  %4378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4379 = call i32 @fileno(ptr noundef %4378) #13
  %4380 = call i32 @isatty(i32 noundef %4379) #13
  %.not585 = icmp eq i32 %4380, 0
  br i1 %.not585, label %4381, label %4382

4381:                                             ; preds = %4377, %4371
  br label %4382

4382:                                             ; preds = %4377, %4381
  %.str.4.sink2086 = phi ptr [ @.str.4, %4381 ], [ @.str, %4377 ]
  store i32 %4372, ptr %1007, align 4, !tbaa !5
  %4383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4384 = load i32, ptr @test_count, align 4, !tbaa !5
  %4385 = load i32, ptr %953, align 4, !tbaa !5
  %4386 = call ptr @s2n_strerror(i32 noundef %4385, ptr noundef nonnull @.str.3) #13
  %4387 = load i32, ptr %953, align 4, !tbaa !5
  %4388 = call ptr @s2n_strerror_debug(i32 noundef %4387, ptr noundef nonnull @.str.3) #13
  %4389 = load i32, ptr %1007, align 4, !tbaa !5
  %4390 = call ptr @strerror(i32 noundef %4389) #13
  %4391 = load i32, ptr %1007, align 4, !tbaa !5
  %4392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4383, ptr noundef nonnull %.str.4.sink2086, i32 noundef %4384, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.2, i32 noundef 528, ptr noundef %4386, ptr noundef %4388, ptr noundef %4390, i32 noundef %4391) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4393:                                             ; preds = %4366
  %4394 = load i32, ptr @test_count, align 4, !tbaa !5
  %4395 = add nsw i32 %4394, 1
  store i32 %4395, ptr @test_count, align 4, !tbaa !5
  %4396 = load i64, ptr %64, align 8, !tbaa !52
  %4397 = icmp eq i64 %4396, 2
  br i1 %4397, label %4420, label %4398

4398:                                             ; preds = %4393
  %4399 = load i32, ptr %1007, align 4, !tbaa !5
  %4400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4401 = call i32 @s2n_print_stacktrace(ptr noundef %4400) #13
  %4402 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4403 = trunc nuw i8 %4402 to i1
  br i1 %4403, label %4404, label %4408

4404:                                             ; preds = %4398
  %4405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4406 = call i32 @fileno(ptr noundef %4405) #13
  %4407 = call i32 @isatty(i32 noundef %4406) #13
  %.not586 = icmp eq i32 %4407, 0
  br i1 %.not586, label %4408, label %4409

4408:                                             ; preds = %4404, %4398
  br label %4409

4409:                                             ; preds = %4404, %4408
  %.str.4.sink2095 = phi ptr [ @.str.4, %4408 ], [ @.str, %4404 ]
  store i32 %4399, ptr %1007, align 4, !tbaa !5
  %4410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4411 = load i32, ptr @test_count, align 4, !tbaa !5
  %4412 = load i32, ptr %953, align 4, !tbaa !5
  %4413 = call ptr @s2n_strerror(i32 noundef %4412, ptr noundef nonnull @.str.3) #13
  %4414 = load i32, ptr %953, align 4, !tbaa !5
  %4415 = call ptr @s2n_strerror_debug(i32 noundef %4414, ptr noundef nonnull @.str.3) #13
  %4416 = load i32, ptr %1007, align 4, !tbaa !5
  %4417 = call ptr @strerror(i32 noundef %4416) #13
  %4418 = load i32, ptr %1007, align 4, !tbaa !5
  %4419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4410, ptr noundef nonnull %.str.4.sink2095, i32 noundef %4411, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.2, i32 noundef 529, ptr noundef %4413, ptr noundef %4415, ptr noundef %4417, i32 noundef %4418) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4420:                                             ; preds = %4393
  call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %65) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(10) %65, i8 0, i64 10, i1 false)
  %4421 = load ptr, ptr %62, align 8, !tbaa !9
  %4422 = call i64 @s2n_recv(ptr noundef %4421, ptr noundef nonnull %65, i64 noundef 10, ptr noundef nonnull %40) #13
  %4423 = load i32, ptr @test_count, align 4, !tbaa !5
  %4424 = add nsw i32 %4423, 1
  store i32 %4424, ptr @test_count, align 4, !tbaa !5
  %4425 = and i64 %4422, 4294967295
  %4426 = icmp eq i64 %4425, 4294967295
  br i1 %4426, label %4449, label %4427

4427:                                             ; preds = %4420
  %4428 = load i32, ptr %1007, align 4, !tbaa !5
  %4429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4430 = call i32 @s2n_print_stacktrace(ptr noundef %4429) #13
  %4431 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4432 = trunc nuw i8 %4431 to i1
  br i1 %4432, label %4433, label %4437

4433:                                             ; preds = %4427
  %4434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4435 = call i32 @fileno(ptr noundef %4434) #13
  %4436 = call i32 @isatty(i32 noundef %4435) #13
  %.not587 = icmp eq i32 %4436, 0
  br i1 %.not587, label %4437, label %4438

4437:                                             ; preds = %4433, %4427
  br label %4438

4438:                                             ; preds = %4433, %4437
  %.str.4.sink2104 = phi ptr [ @.str.4, %4437 ], [ @.str, %4433 ]
  store i32 %4428, ptr %1007, align 4, !tbaa !5
  %4439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4440 = load i32, ptr @test_count, align 4, !tbaa !5
  %4441 = load i32, ptr %953, align 4, !tbaa !5
  %4442 = call ptr @s2n_strerror(i32 noundef %4441, ptr noundef nonnull @.str.3) #13
  %4443 = load i32, ptr %953, align 4, !tbaa !5
  %4444 = call ptr @s2n_strerror_debug(i32 noundef %4443, ptr noundef nonnull @.str.3) #13
  %4445 = load i32, ptr %1007, align 4, !tbaa !5
  %4446 = call ptr @strerror(i32 noundef %4445) #13
  %4447 = load i32, ptr %1007, align 4, !tbaa !5
  %4448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4439, ptr noundef nonnull %.str.4.sink2104, i32 noundef %4440, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.2, i32 noundef 533, ptr noundef %4442, ptr noundef %4444, ptr noundef %4446, i32 noundef %4447) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4449:                                             ; preds = %4420
  %4450 = add nsw i32 %4423, 2
  store i32 %4450, ptr @test_count, align 4, !tbaa !5
  %4451 = load i32, ptr %953, align 4, !tbaa !5
  %4452 = icmp eq i32 %4451, 268435456
  br i1 %4452, label %4475, label %4453

4453:                                             ; preds = %4449
  %4454 = load i32, ptr %1007, align 4, !tbaa !5
  %4455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4456 = call i32 @s2n_print_stacktrace(ptr noundef %4455) #13
  %4457 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4458 = trunc nuw i8 %4457 to i1
  br i1 %4458, label %4459, label %4463

4459:                                             ; preds = %4453
  %4460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4461 = call i32 @fileno(ptr noundef %4460) #13
  %4462 = call i32 @isatty(i32 noundef %4461) #13
  %.not588 = icmp eq i32 %4462, 0
  br i1 %.not588, label %4463, label %4464

4463:                                             ; preds = %4459, %4453
  br label %4464

4464:                                             ; preds = %4459, %4463
  %.str.4.sink2113 = phi ptr [ @.str.4, %4463 ], [ @.str, %4459 ]
  store i32 %4454, ptr %1007, align 4, !tbaa !5
  %4465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4466 = load i32, ptr @test_count, align 4, !tbaa !5
  %4467 = load i32, ptr %953, align 4, !tbaa !5
  %4468 = call ptr @s2n_strerror(i32 noundef %4467, ptr noundef nonnull @.str.3) #13
  %4469 = load i32, ptr %953, align 4, !tbaa !5
  %4470 = call ptr @s2n_strerror_debug(i32 noundef %4469, ptr noundef nonnull @.str.3) #13
  %4471 = load i32, ptr %1007, align 4, !tbaa !5
  %4472 = call ptr @strerror(i32 noundef %4471) #13
  %4473 = load i32, ptr %1007, align 4, !tbaa !5
  %4474 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4465, ptr noundef nonnull %.str.4.sink2113, i32 noundef %4466, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.2, i32 noundef 533, ptr noundef %4468, ptr noundef %4470, ptr noundef %4472, i32 noundef %4473) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4475:                                             ; preds = %4449
  %4476 = add nsw i32 %4423, 3
  store i32 %4476, ptr @test_count, align 4, !tbaa !5
  %4477 = call ptr @s2n_strerror_debug(i32 noundef 268435456, ptr noundef nonnull @.str.3) #13
  %4478 = icmp eq ptr %4477, null
  br i1 %4478, label %4479, label %4501

4479:                                             ; preds = %4475
  %4480 = load i32, ptr %1007, align 4, !tbaa !5
  %4481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4482 = call i32 @s2n_print_stacktrace(ptr noundef %4481) #13
  %4483 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4484 = trunc nuw i8 %4483 to i1
  br i1 %4484, label %4485, label %4489

4485:                                             ; preds = %4479
  %4486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4487 = call i32 @fileno(ptr noundef %4486) #13
  %4488 = call i32 @isatty(i32 noundef %4487) #13
  %.not634 = icmp eq i32 %4488, 0
  br i1 %.not634, label %4489, label %4490

4489:                                             ; preds = %4485, %4479
  br label %4490

4490:                                             ; preds = %4485, %4489
  %.str.4.sink2122 = phi ptr [ @.str.4, %4489 ], [ @.str, %4485 ]
  store i32 %4480, ptr %1007, align 4, !tbaa !5
  %4491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4492 = load i32, ptr @test_count, align 4, !tbaa !5
  %4493 = load i32, ptr %953, align 4, !tbaa !5
  %4494 = call ptr @s2n_strerror(i32 noundef %4493, ptr noundef nonnull @.str.3) #13
  %4495 = load i32, ptr %953, align 4, !tbaa !5
  %4496 = call ptr @s2n_strerror_debug(i32 noundef %4495, ptr noundef nonnull @.str.3) #13
  %4497 = load i32, ptr %1007, align 4, !tbaa !5
  %4498 = call ptr @strerror(i32 noundef %4497) #13
  %4499 = load i32, ptr %1007, align 4, !tbaa !5
  %4500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4491, ptr noundef nonnull %.str.4.sink2122, i32 noundef %4492, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.2, i32 noundef 533, ptr noundef %4494, ptr noundef %4496, ptr noundef %4498, i32 noundef %4499) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4501:                                             ; preds = %4475
  store i32 0, ptr %953, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %1007, align 4, !tbaa !5
  %4502 = load i32, ptr @test_count, align 4, !tbaa !5
  %4503 = add nsw i32 %4502, 1
  store i32 %4503, ptr @test_count, align 4, !tbaa !5
  %4504 = load i32, ptr %40, align 4, !tbaa !5
  %4505 = icmp eq i32 %4504, 1
  br i1 %4505, label %4528, label %4506

4506:                                             ; preds = %4501
  %4507 = load i32, ptr %1007, align 4, !tbaa !5
  %4508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4509 = call i32 @s2n_print_stacktrace(ptr noundef %4508) #13
  %4510 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4511 = trunc nuw i8 %4510 to i1
  br i1 %4511, label %4512, label %4516

4512:                                             ; preds = %4506
  %4513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4514 = call i32 @fileno(ptr noundef %4513) #13
  %4515 = call i32 @isatty(i32 noundef %4514) #13
  %.not589 = icmp eq i32 %4515, 0
  br i1 %.not589, label %4516, label %4517

4516:                                             ; preds = %4512, %4506
  br label %4517

4517:                                             ; preds = %4512, %4516
  %.str.4.sink2131 = phi ptr [ @.str.4, %4516 ], [ @.str, %4512 ]
  store i32 %4507, ptr %1007, align 4, !tbaa !5
  %4518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4519 = load i32, ptr @test_count, align 4, !tbaa !5
  %4520 = load i32, ptr %953, align 4, !tbaa !5
  %4521 = call ptr @s2n_strerror(i32 noundef %4520, ptr noundef nonnull @.str.3) #13
  %4522 = load i32, ptr %953, align 4, !tbaa !5
  %4523 = call ptr @s2n_strerror_debug(i32 noundef %4522, ptr noundef nonnull @.str.3) #13
  %4524 = load i32, ptr %1007, align 4, !tbaa !5
  %4525 = call ptr @strerror(i32 noundef %4524) #13
  %4526 = load i32, ptr %1007, align 4, !tbaa !5
  %4527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4518, ptr noundef nonnull %.str.4.sink2131, i32 noundef %4519, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.2, i32 noundef 534, ptr noundef %4521, ptr noundef %4523, ptr noundef %4525, i32 noundef %4526) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4528:                                             ; preds = %4501
  %4529 = add nsw i32 %4502, 2
  store i32 %4529, ptr @test_count, align 4, !tbaa !5
  %4530 = load ptr, ptr %62, align 8, !tbaa !9
  %4531 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %4530, i32 noundef 3) #13
  br i1 %4531, label %4554, label %4532

4532:                                             ; preds = %4528
  %4533 = load i32, ptr %1007, align 4, !tbaa !5
  %4534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4535 = call i32 @s2n_print_stacktrace(ptr noundef %4534) #13
  %4536 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4537 = trunc nuw i8 %4536 to i1
  br i1 %4537, label %4538, label %4542

4538:                                             ; preds = %4532
  %4539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4540 = call i32 @fileno(ptr noundef %4539) #13
  %4541 = call i32 @isatty(i32 noundef %4540) #13
  %.not590 = icmp eq i32 %4541, 0
  br i1 %.not590, label %4542, label %4543

4542:                                             ; preds = %4538, %4532
  br label %4543

4543:                                             ; preds = %4538, %4542
  %.str.4.sink2140 = phi ptr [ @.str.4, %4542 ], [ @.str, %4538 ]
  store i32 %4533, ptr %1007, align 4, !tbaa !5
  %4544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4545 = load i32, ptr @test_count, align 4, !tbaa !5
  %4546 = load i32, ptr %953, align 4, !tbaa !5
  %4547 = call ptr @s2n_strerror(i32 noundef %4546, ptr noundef nonnull @.str.3) #13
  %4548 = load i32, ptr %953, align 4, !tbaa !5
  %4549 = call ptr @s2n_strerror_debug(i32 noundef %4548, ptr noundef nonnull @.str.3) #13
  %4550 = load i32, ptr %1007, align 4, !tbaa !5
  %4551 = call ptr @strerror(i32 noundef %4550) #13
  %4552 = load i32, ptr %1007, align 4, !tbaa !5
  %4553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4544, ptr noundef nonnull %.str.4.sink2140, i32 noundef %4545, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.2, i32 noundef 537, ptr noundef %4547, ptr noundef %4549, ptr noundef %4551, i32 noundef %4552) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4554:                                             ; preds = %4528
  %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 ptr, ptr %62, align 8, !tbaa !9
  %4558 = call i64 @s2n_connection_get_delay(ptr noundef %4557) #13
  %4559 = icmp eq i64 %4558, 0
  br i1 %4559, label %4582, label %4560

4560:                                             ; preds = %4554
  %4561 = load i32, ptr %1007, align 4, !tbaa !5
  %4562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4563 = call i32 @s2n_print_stacktrace(ptr noundef %4562) #13
  %4564 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4565 = trunc nuw i8 %4564 to i1
  br i1 %4565, label %4566, label %4570

4566:                                             ; preds = %4560
  %4567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4568 = call i32 @fileno(ptr noundef %4567) #13
  %4569 = call i32 @isatty(i32 noundef %4568) #13
  %.not591 = icmp eq i32 %4569, 0
  br i1 %.not591, label %4570, label %4571

4570:                                             ; preds = %4566, %4560
  br label %4571

4571:                                             ; preds = %4566, %4570
  %.str.4.sink2149 = phi ptr [ @.str.4, %4570 ], [ @.str, %4566 ]
  store i32 %4561, ptr %1007, align 4, !tbaa !5
  %4572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4573 = load i32, ptr @test_count, align 4, !tbaa !5
  %4574 = load i32, ptr %953, align 4, !tbaa !5
  %4575 = call ptr @s2n_strerror(i32 noundef %4574, ptr noundef nonnull @.str.3) #13
  %4576 = load i32, ptr %953, align 4, !tbaa !5
  %4577 = call ptr @s2n_strerror_debug(i32 noundef %4576, ptr noundef nonnull @.str.3) #13
  %4578 = load i32, ptr %1007, align 4, !tbaa !5
  %4579 = call ptr @strerror(i32 noundef %4578) #13
  %4580 = load i32, ptr %1007, align 4, !tbaa !5
  %4581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4572, ptr noundef nonnull %.str.4.sink2149, i32 noundef %4573, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.2, i32 noundef 538, ptr noundef %4575, ptr noundef %4577, ptr noundef %4579, i32 noundef %4580) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4582:                                             ; preds = %4554
  call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %65) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %64) #13
  %4583 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef nonnull %63) #13
  call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %63) #13
  %4584 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %62) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %61) #13
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %60) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %66) #13
  %4585 = call ptr @s2n_config_new() #13
  store ptr %4585, ptr %66, align 8, !tbaa !9
  %4586 = load i32, ptr @test_count, align 4, !tbaa !5
  %4587 = add nsw i32 %4586, 1
  store i32 %4587, ptr @test_count, align 4, !tbaa !5
  %4588 = icmp eq ptr %4585, null
  br i1 %4588, label %4589, label %4611

4589:                                             ; preds = %4582
  %4590 = load i32, ptr %1007, align 4, !tbaa !5
  %4591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4592 = call i32 @s2n_print_stacktrace(ptr noundef %4591) #13
  %4593 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4594 = trunc nuw i8 %4593 to i1
  br i1 %4594, label %4595, label %4599

4595:                                             ; preds = %4589
  %4596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4597 = call i32 @fileno(ptr noundef %4596) #13
  %4598 = call i32 @isatty(i32 noundef %4597) #13
  %.not633 = icmp eq i32 %4598, 0
  br i1 %.not633, label %4599, label %4600

4599:                                             ; preds = %4595, %4589
  br label %4600

4600:                                             ; preds = %4595, %4599
  %.str.4.sink2158 = phi ptr [ @.str.4, %4599 ], [ @.str, %4595 ]
  store i32 %4590, ptr %1007, align 4, !tbaa !5
  %4601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4602 = load i32, ptr @test_count, align 4, !tbaa !5
  %4603 = load i32, ptr %953, align 4, !tbaa !5
  %4604 = call ptr @s2n_strerror(i32 noundef %4603, ptr noundef nonnull @.str.3) #13
  %4605 = load i32, ptr %953, align 4, !tbaa !5
  %4606 = call ptr @s2n_strerror_debug(i32 noundef %4605, ptr noundef nonnull @.str.3) #13
  %4607 = load i32, ptr %1007, align 4, !tbaa !5
  %4608 = call ptr @strerror(i32 noundef %4607) #13
  %4609 = load i32, ptr %1007, align 4, !tbaa !5
  %4610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4601, ptr noundef nonnull %.str.4.sink2158, i32 noundef %4602, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.2, i32 noundef 545, ptr noundef %4604, ptr noundef %4606, ptr noundef %4608, i32 noundef %4609) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4611:                                             ; preds = %4582
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %67) #13
  store i64 0, ptr %67, align 8, !tbaa !52
  %4612 = add nsw i32 %4586, 2
  store i32 %4612, ptr @test_count, align 4, !tbaa !5
  %4613 = call i32 @s2n_config_set_renegotiate_request_cb(ptr noundef nonnull %4585, ptr noundef nonnull @s2n_test_reneg_req_cb, ptr noundef nonnull %67) #13
  %4614 = icmp eq i32 %4613, -1
  br i1 %4614, label %4615, label %4637

4615:                                             ; preds = %4611
  %4616 = load i32, ptr %1007, align 4, !tbaa !5
  %4617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4618 = call i32 @s2n_print_stacktrace(ptr noundef %4617) #13
  %4619 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4620 = trunc nuw i8 %4619 to i1
  br i1 %4620, label %4621, label %4625

4621:                                             ; preds = %4615
  %4622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4623 = call i32 @fileno(ptr noundef %4622) #13
  %4624 = call i32 @isatty(i32 noundef %4623) #13
  %.not632 = icmp eq i32 %4624, 0
  br i1 %.not632, label %4625, label %4626

4625:                                             ; preds = %4621, %4615
  br label %4626

4626:                                             ; preds = %4621, %4625
  %.str.4.sink2167 = phi ptr [ @.str.4, %4625 ], [ @.str, %4621 ]
  store i32 %4616, ptr %1007, align 4, !tbaa !5
  %4627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4628 = load i32, ptr @test_count, align 4, !tbaa !5
  %4629 = load i32, ptr %953, align 4, !tbaa !5
  %4630 = call ptr @s2n_strerror(i32 noundef %4629, ptr noundef nonnull @.str.3) #13
  %4631 = load i32, ptr %953, align 4, !tbaa !5
  %4632 = call ptr @s2n_strerror_debug(i32 noundef %4631, ptr noundef nonnull @.str.3) #13
  %4633 = load i32, ptr %1007, align 4, !tbaa !5
  %4634 = call ptr @strerror(i32 noundef %4633) #13
  %4635 = load i32, ptr %1007, align 4, !tbaa !5
  %4636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4627, ptr noundef nonnull %.str.4.sink2167, i32 noundef %4628, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.2, i32 noundef 549, ptr noundef %4630, ptr noundef %4632, ptr noundef %4634, i32 noundef %4635) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4637:                                             ; preds = %4611
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %68) #13
  store i32 0, ptr %68, align 4
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %69) #13
  store ptr %68, ptr %69, align 8, !tbaa !49
  %4638 = getelementptr inbounds i8, ptr %69, i64 8
  store i64 4, ptr %4638, align 8, !tbaa !51
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %70) #13
  %4639 = call ptr @s2n_connection_new(i32 noundef 1) #13
  store ptr %4639, ptr %70, align 8, !tbaa !9
  %4640 = load i32, ptr @test_count, align 4, !tbaa !5
  %4641 = add nsw i32 %4640, 1
  store i32 %4641, ptr @test_count, align 4, !tbaa !5
  %4642 = icmp eq ptr %4639, null
  br i1 %4642, label %4643, label %4665

4643:                                             ; preds = %4637
  %4644 = load i32, ptr %1007, align 4, !tbaa !5
  %4645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4646 = call i32 @s2n_print_stacktrace(ptr noundef %4645) #13
  %4647 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4648 = trunc nuw i8 %4647 to i1
  br i1 %4648, label %4649, label %4653

4649:                                             ; preds = %4643
  %4650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4651 = call i32 @fileno(ptr noundef %4650) #13
  %4652 = call i32 @isatty(i32 noundef %4651) #13
  %.not631 = icmp eq i32 %4652, 0
  br i1 %.not631, label %4653, label %4654

4653:                                             ; preds = %4649, %4643
  br label %4654

4654:                                             ; preds = %4649, %4653
  %.str.4.sink2176 = phi ptr [ @.str.4, %4653 ], [ @.str, %4649 ]
  store i32 %4644, ptr %1007, align 4, !tbaa !5
  %4655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4656 = load i32, ptr @test_count, align 4, !tbaa !5
  %4657 = load i32, ptr %953, align 4, !tbaa !5
  %4658 = call ptr @s2n_strerror(i32 noundef %4657, ptr noundef nonnull @.str.3) #13
  %4659 = load i32, ptr %953, align 4, !tbaa !5
  %4660 = call ptr @s2n_strerror_debug(i32 noundef %4659, ptr noundef nonnull @.str.3) #13
  %4661 = load i32, ptr %1007, align 4, !tbaa !5
  %4662 = call ptr @strerror(i32 noundef %4661) #13
  %4663 = load i32, ptr %1007, align 4, !tbaa !5
  %4664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4655, ptr noundef nonnull %.str.4.sink2176, i32 noundef %4656, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.2, i32 noundef 559, ptr noundef %4658, ptr noundef %4660, ptr noundef %4662, i32 noundef %4663) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4665:                                             ; preds = %4637
  %4666 = add nsw i32 %4640, 2
  store i32 %4666, ptr @test_count, align 4, !tbaa !5
  %4667 = load ptr, ptr %66, align 8, !tbaa !9
  %4668 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4639, ptr noundef %4667) #13
  %4669 = icmp eq i32 %4668, -1
  br i1 %4669, label %4670, label %4692

4670:                                             ; preds = %4665
  %4671 = load i32, ptr %1007, align 4, !tbaa !5
  %4672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4673 = call i32 @s2n_print_stacktrace(ptr noundef %4672) #13
  %4674 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4675 = trunc nuw i8 %4674 to i1
  br i1 %4675, label %4676, label %4680

4676:                                             ; preds = %4670
  %4677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4678 = call i32 @fileno(ptr noundef %4677) #13
  %4679 = call i32 @isatty(i32 noundef %4678) #13
  %.not630 = icmp eq i32 %4679, 0
  br i1 %.not630, label %4680, label %4681

4680:                                             ; preds = %4676, %4670
  br label %4681

4681:                                             ; preds = %4676, %4680
  %.str.4.sink2185 = phi ptr [ @.str.4, %4680 ], [ @.str, %4676 ]
  store i32 %4671, ptr %1007, align 4, !tbaa !5
  %4682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4683 = load i32, ptr @test_count, align 4, !tbaa !5
  %4684 = load i32, ptr %953, align 4, !tbaa !5
  %4685 = call ptr @s2n_strerror(i32 noundef %4684, ptr noundef nonnull @.str.3) #13
  %4686 = load i32, ptr %953, align 4, !tbaa !5
  %4687 = call ptr @s2n_strerror_debug(i32 noundef %4686, ptr noundef nonnull @.str.3) #13
  %4688 = load i32, ptr %1007, align 4, !tbaa !5
  %4689 = call ptr @strerror(i32 noundef %4688) #13
  %4690 = load i32, ptr %1007, align 4, !tbaa !5
  %4691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4682, ptr noundef nonnull %.str.4.sink2185, i32 noundef %4683, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.2, i32 noundef 560, ptr noundef %4685, ptr noundef %4687, ptr noundef %4689, i32 noundef %4690) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4692:                                             ; preds = %4665
  %4693 = load ptr, ptr %70, align 8, !tbaa !9
  call void @s2n_ktls_configure_connection(ptr noundef %4693, i32 noundef 1) #13
  %4694 = load ptr, ptr %70, align 8, !tbaa !9
  %4695 = load i32, ptr %4694, align 8
  %4696 = or i32 %4695, 8
  store i32 %4696, ptr %4694, align 8
  call void @llvm.lifetime.start.p0(i64 192, ptr nonnull %71) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(192) %71, i8 0, i64 192, i1 false)
  %4697 = load i32, ptr @test_count, align 4, !tbaa !5
  %4698 = add nsw i32 %4697, 1
  store i32 %4698, ptr @test_count, align 4, !tbaa !5
  %4699 = load ptr, ptr %70, align 8, !tbaa !9
  %4700 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef %4699, ptr noundef %4699, ptr noundef nonnull %71) #13
  %4701 = call zeroext i1 @s2n_result_is_ok(i32 %4700)
  br i1 %4701, label %4724, label %4702

4702:                                             ; preds = %4692
  %4703 = load i32, ptr %1007, align 4, !tbaa !5
  %4704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4705 = call i32 @s2n_print_stacktrace(ptr noundef %4704) #13
  %4706 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4707 = trunc nuw i8 %4706 to i1
  br i1 %4707, label %4708, label %4712

4708:                                             ; preds = %4702
  %4709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4710 = call i32 @fileno(ptr noundef %4709) #13
  %4711 = call i32 @isatty(i32 noundef %4710) #13
  %.not592 = icmp eq i32 %4711, 0
  br i1 %.not592, label %4712, label %4713

4712:                                             ; preds = %4708, %4702
  br label %4713

4713:                                             ; preds = %4708, %4712
  %.str.4.sink2194 = phi ptr [ @.str.4, %4712 ], [ @.str, %4708 ]
  store i32 %4703, ptr %1007, align 4, !tbaa !5
  %4714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4715 = load i32, ptr @test_count, align 4, !tbaa !5
  %4716 = load i32, ptr %953, align 4, !tbaa !5
  %4717 = call ptr @s2n_strerror(i32 noundef %4716, ptr noundef nonnull @.str.3) #13
  %4718 = load i32, ptr %953, align 4, !tbaa !5
  %4719 = call ptr @s2n_strerror_debug(i32 noundef %4718, ptr noundef nonnull @.str.3) #13
  %4720 = load i32, ptr %1007, align 4, !tbaa !5
  %4721 = call ptr @strerror(i32 noundef %4720) #13
  %4722 = load i32, ptr %1007, align 4, !tbaa !5
  %4723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4714, ptr noundef nonnull %.str.4.sink2194, i32 noundef %4715, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.2, i32 noundef 566, ptr noundef %4717, ptr noundef %4719, ptr noundef %4721, i32 noundef %4722) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4724:                                             ; preds = %4692
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %72) #13
  store i64 0, ptr %72, align 8, !tbaa !52
  %4725 = load i32, ptr @test_count, align 4, !tbaa !5
  %4726 = add nsw i32 %4725, 1
  store i32 %4726, ptr @test_count, align 4, !tbaa !5
  %4727 = call i32 @s2n_ktls_sendmsg(ptr noundef nonnull %71, i8 noundef zeroext 22, ptr noundef nonnull %69, i64 noundef 1, ptr noundef nonnull %40, ptr noundef nonnull %72) #13
  %4728 = call zeroext i1 @s2n_result_is_ok(i32 %4727)
  br i1 %4728, label %4751, label %4729

4729:                                             ; preds = %4724
  %4730 = load i32, ptr %1007, align 4, !tbaa !5
  %4731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4732 = call i32 @s2n_print_stacktrace(ptr noundef %4731) #13
  %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) #13
  %4738 = call i32 @isatty(i32 noundef %4737) #13
  %.not593 = icmp eq i32 %4738, 0
  br i1 %.not593, label %4739, label %4740

4739:                                             ; preds = %4735, %4729
  br label %4740

4740:                                             ; preds = %4735, %4739
  %.str.4.sink2203 = phi ptr [ @.str.4, %4739 ], [ @.str, %4735 ]
  store i32 %4730, ptr %1007, 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 %953, align 4, !tbaa !5
  %4744 = call ptr @s2n_strerror(i32 noundef %4743, ptr noundef nonnull @.str.3) #13
  %4745 = load i32, ptr %953, align 4, !tbaa !5
  %4746 = call ptr @s2n_strerror_debug(i32 noundef %4745, ptr noundef nonnull @.str.3) #13
  %4747 = load i32, ptr %1007, align 4, !tbaa !5
  %4748 = call ptr @strerror(i32 noundef %4747) #13
  %4749 = load i32, ptr %1007, align 4, !tbaa !5
  %4750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4741, ptr noundef nonnull %.str.4.sink2203, i32 noundef %4742, ptr noundef nonnull @.str.94, ptr noundef nonnull @.str.2, i32 noundef 573, ptr noundef %4744, ptr noundef %4746, ptr noundef %4748, i32 noundef %4749) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4751:                                             ; preds = %4724
  %4752 = load i32, ptr @test_count, align 4, !tbaa !5
  %4753 = add nsw i32 %4752, 1
  store i32 %4753, ptr @test_count, align 4, !tbaa !5
  %4754 = load i64, ptr %72, align 8, !tbaa !52
  %4755 = icmp eq i64 %4754, 4
  br i1 %4755, label %4778, label %4756

4756:                                             ; preds = %4751
  %4757 = load i32, ptr %1007, align 4, !tbaa !5
  %4758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4759 = call i32 @s2n_print_stacktrace(ptr noundef %4758) #13
  %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) #13
  %4765 = call i32 @isatty(i32 noundef %4764) #13
  %.not594 = icmp eq i32 %4765, 0
  br i1 %.not594, label %4766, label %4767

4766:                                             ; preds = %4762, %4756
  br label %4767

4767:                                             ; preds = %4762, %4766
  %.str.4.sink2212 = phi ptr [ @.str.4, %4766 ], [ @.str, %4762 ]
  store i32 %4757, ptr %1007, 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 %953, align 4, !tbaa !5
  %4771 = call ptr @s2n_strerror(i32 noundef %4770, ptr noundef nonnull @.str.3) #13
  %4772 = load i32, ptr %953, align 4, !tbaa !5
  %4773 = call ptr @s2n_strerror_debug(i32 noundef %4772, ptr noundef nonnull @.str.3) #13
  %4774 = load i32, ptr %1007, align 4, !tbaa !5
  %4775 = call ptr @strerror(i32 noundef %4774) #13
  %4776 = load i32, ptr %1007, align 4, !tbaa !5
  %4777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4768, ptr noundef nonnull %.str.4.sink2212, i32 noundef %4769, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.2, i32 noundef 574, ptr noundef %4771, ptr noundef %4773, ptr noundef %4775, i32 noundef %4776) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4778:                                             ; preds = %4751
  %4779 = add nsw i32 %4752, 2
  store i32 %4779, ptr @test_count, align 4, !tbaa !5
  %4780 = call i32 @s2n_ktls_sendmsg(ptr noundef nonnull %71, i8 noundef zeroext 23, ptr noundef nonnull %39, i64 noundef 1, ptr noundef nonnull %40, ptr noundef nonnull %72) #13
  %4781 = call zeroext i1 @s2n_result_is_ok(i32 %4780)
  br i1 %4781, label %4804, label %4782

4782:                                             ; preds = %4778
  %4783 = load i32, ptr %1007, align 4, !tbaa !5
  %4784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4785 = call i32 @s2n_print_stacktrace(ptr noundef %4784) #13
  %4786 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4787 = trunc nuw i8 %4786 to i1
  br i1 %4787, label %4788, label %4792

4788:                                             ; preds = %4782
  %4789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4790 = call i32 @fileno(ptr noundef %4789) #13
  %4791 = call i32 @isatty(i32 noundef %4790) #13
  %.not595 = icmp eq i32 %4791, 0
  br i1 %.not595, label %4792, label %4793

4792:                                             ; preds = %4788, %4782
  br label %4793

4793:                                             ; preds = %4788, %4792
  %.str.4.sink2221 = phi ptr [ @.str.4, %4792 ], [ @.str, %4788 ]
  store i32 %4783, ptr %1007, align 4, !tbaa !5
  %4794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4795 = load i32, ptr @test_count, align 4, !tbaa !5
  %4796 = load i32, ptr %953, align 4, !tbaa !5
  %4797 = call ptr @s2n_strerror(i32 noundef %4796, ptr noundef nonnull @.str.3) #13
  %4798 = load i32, ptr %953, align 4, !tbaa !5
  %4799 = call ptr @s2n_strerror_debug(i32 noundef %4798, ptr noundef nonnull @.str.3) #13
  %4800 = load i32, ptr %1007, align 4, !tbaa !5
  %4801 = call ptr @strerror(i32 noundef %4800) #13
  %4802 = load i32, ptr %1007, align 4, !tbaa !5
  %4803 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4794, ptr noundef nonnull %.str.4.sink2221, i32 noundef %4795, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.2, i32 noundef 578, ptr noundef %4797, ptr noundef %4799, ptr noundef %4801, i32 noundef %4802) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4804:                                             ; preds = %4778
  %4805 = load i32, ptr @test_count, align 4, !tbaa !5
  %4806 = add nsw i32 %4805, 1
  store i32 %4806, ptr @test_count, align 4, !tbaa !5
  %4807 = load i64, ptr %72, align 8, !tbaa !52
  %4808 = icmp eq i64 %4807, 100
  br i1 %4808, label %4831, label %4809

4809:                                             ; preds = %4804
  %4810 = load i32, ptr %1007, align 4, !tbaa !5
  %4811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4812 = call i32 @s2n_print_stacktrace(ptr noundef %4811) #13
  %4813 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4814 = trunc nuw i8 %4813 to i1
  br i1 %4814, label %4815, label %4819

4815:                                             ; preds = %4809
  %4816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4817 = call i32 @fileno(ptr noundef %4816) #13
  %4818 = call i32 @isatty(i32 noundef %4817) #13
  %.not596 = icmp eq i32 %4818, 0
  br i1 %.not596, label %4819, label %4820

4819:                                             ; preds = %4815, %4809
  br label %4820

4820:                                             ; preds = %4815, %4819
  %.str.4.sink2230 = phi ptr [ @.str.4, %4819 ], [ @.str, %4815 ]
  store i32 %4810, ptr %1007, align 4, !tbaa !5
  %4821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4822 = load i32, ptr @test_count, align 4, !tbaa !5
  %4823 = load i32, ptr %953, align 4, !tbaa !5
  %4824 = call ptr @s2n_strerror(i32 noundef %4823, ptr noundef nonnull @.str.3) #13
  %4825 = load i32, ptr %953, align 4, !tbaa !5
  %4826 = call ptr @s2n_strerror_debug(i32 noundef %4825, ptr noundef nonnull @.str.3) #13
  %4827 = load i32, ptr %1007, align 4, !tbaa !5
  %4828 = call ptr @strerror(i32 noundef %4827) #13
  %4829 = load i32, ptr %1007, align 4, !tbaa !5
  %4830 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4821, ptr noundef nonnull %.str.4.sink2230, i32 noundef %4822, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.2, i32 noundef 579, ptr noundef %4824, ptr noundef %4826, ptr noundef %4828, i32 noundef %4829) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4831:                                             ; preds = %4804
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %73) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %73, i8 0, i64 100, i1 false)
  %4832 = load ptr, ptr %70, align 8, !tbaa !9
  %4833 = call i64 @s2n_recv(ptr noundef %4832, ptr noundef nonnull %73, i64 noundef 100, ptr noundef nonnull %40) #13
  %4834 = load i32, ptr @test_count, align 4, !tbaa !5
  %4835 = add nsw i32 %4834, 1
  store i32 %4835, ptr @test_count, align 4, !tbaa !5
  %sext597.mask = and i64 %4833, 4294967295
  %4836 = icmp eq i64 %sext597.mask, 100
  br i1 %4836, label %4859, label %4837

4837:                                             ; preds = %4831
  %4838 = load i32, ptr %1007, align 4, !tbaa !5
  %4839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4840 = call i32 @s2n_print_stacktrace(ptr noundef %4839) #13
  %4841 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4842 = trunc nuw i8 %4841 to i1
  br i1 %4842, label %4843, label %4847

4843:                                             ; preds = %4837
  %4844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4845 = call i32 @fileno(ptr noundef %4844) #13
  %4846 = call i32 @isatty(i32 noundef %4845) #13
  %.not598 = icmp eq i32 %4846, 0
  br i1 %.not598, label %4847, label %4848

4847:                                             ; preds = %4843, %4837
  br label %4848

4848:                                             ; preds = %4843, %4847
  %.str.4.sink2239 = phi ptr [ @.str.4, %4847 ], [ @.str, %4843 ]
  store i32 %4838, ptr %1007, align 4, !tbaa !5
  %4849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4850 = load i32, ptr @test_count, align 4, !tbaa !5
  %4851 = load i32, ptr %953, align 4, !tbaa !5
  %4852 = call ptr @s2n_strerror(i32 noundef %4851, ptr noundef nonnull @.str.3) #13
  %4853 = load i32, ptr %953, align 4, !tbaa !5
  %4854 = call ptr @s2n_strerror_debug(i32 noundef %4853, ptr noundef nonnull @.str.3) #13
  %4855 = load i32, ptr %1007, align 4, !tbaa !5
  %4856 = call ptr @strerror(i32 noundef %4855) #13
  %4857 = load i32, ptr %1007, align 4, !tbaa !5
  %4858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4849, ptr noundef nonnull %.str.4.sink2239, i32 noundef %4850, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.2, i32 noundef 584, ptr noundef %4852, ptr noundef %4854, ptr noundef %4856, i32 noundef %4857) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4859:                                             ; preds = %4831
  %4860 = add nsw i32 %4834, 2
  store i32 %4860, ptr @test_count, align 4, !tbaa !5
  %4861 = load i32, ptr %40, align 4, !tbaa !5
  %4862 = icmp eq i32 %4861, 0
  br i1 %4862, label %4885, label %4863

4863:                                             ; preds = %4859
  %4864 = load i32, ptr %1007, align 4, !tbaa !5
  %4865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4866 = call i32 @s2n_print_stacktrace(ptr noundef %4865) #13
  %4867 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4868 = trunc nuw i8 %4867 to i1
  br i1 %4868, label %4869, label %4873

4869:                                             ; preds = %4863
  %4870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4871 = call i32 @fileno(ptr noundef %4870) #13
  %4872 = call i32 @isatty(i32 noundef %4871) #13
  %.not599 = icmp eq i32 %4872, 0
  br i1 %.not599, label %4873, label %4874

4873:                                             ; preds = %4869, %4863
  br label %4874

4874:                                             ; preds = %4869, %4873
  %.str.4.sink2248 = phi ptr [ @.str.4, %4873 ], [ @.str, %4869 ]
  store i32 %4864, ptr %1007, align 4, !tbaa !5
  %4875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4876 = load i32, ptr @test_count, align 4, !tbaa !5
  %4877 = load i32, ptr %953, align 4, !tbaa !5
  %4878 = call ptr @s2n_strerror(i32 noundef %4877, ptr noundef nonnull @.str.3) #13
  %4879 = load i32, ptr %953, align 4, !tbaa !5
  %4880 = call ptr @s2n_strerror_debug(i32 noundef %4879, ptr noundef nonnull @.str.3) #13
  %4881 = load i32, ptr %1007, align 4, !tbaa !5
  %4882 = call ptr @strerror(i32 noundef %4881) #13
  %4883 = load i32, ptr %1007, align 4, !tbaa !5
  %4884 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4875, ptr noundef nonnull %.str.4.sink2248, i32 noundef %4876, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.2, i32 noundef 585, ptr noundef %4878, ptr noundef %4880, ptr noundef %4882, i32 noundef %4883) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4885:                                             ; preds = %4859
  %4886 = add nsw i32 %4834, 3
  store i32 %4886, ptr @test_count, align 4, !tbaa !5
  %bcmp600 = call i32 @bcmp(ptr noundef nonnull dereferenceable(100) %73, ptr noundef nonnull dereferenceable(100) %37, i64 100)
  %4887 = icmp eq i32 %bcmp600, 0
  br i1 %4887, label %4910, label %4888

4888:                                             ; preds = %4885
  %4889 = load i32, ptr %1007, align 4, !tbaa !5
  %4890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4891 = call i32 @s2n_print_stacktrace(ptr noundef %4890) #13
  %4892 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4893 = trunc nuw i8 %4892 to i1
  br i1 %4893, label %4894, label %4898

4894:                                             ; preds = %4888
  %4895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4896 = call i32 @fileno(ptr noundef %4895) #13
  %4897 = call i32 @isatty(i32 noundef %4896) #13
  %.not601 = icmp eq i32 %4897, 0
  br i1 %.not601, label %4898, label %4899

4898:                                             ; preds = %4894, %4888
  br label %4899

4899:                                             ; preds = %4894, %4898
  %.str.4.sink2257 = phi ptr [ @.str.4, %4898 ], [ @.str, %4894 ]
  store i32 %4889, ptr %1007, align 4, !tbaa !5
  %4900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4901 = load i32, ptr @test_count, align 4, !tbaa !5
  %4902 = load i32, ptr %953, align 4, !tbaa !5
  %4903 = call ptr @s2n_strerror(i32 noundef %4902, ptr noundef nonnull @.str.3) #13
  %4904 = load i32, ptr %953, align 4, !tbaa !5
  %4905 = call ptr @s2n_strerror_debug(i32 noundef %4904, ptr noundef nonnull @.str.3) #13
  %4906 = load i32, ptr %1007, align 4, !tbaa !5
  %4907 = call ptr @strerror(i32 noundef %4906) #13
  %4908 = load i32, ptr %1007, align 4, !tbaa !5
  %4909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4900, ptr noundef nonnull %.str.4.sink2257, i32 noundef %4901, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.2, i32 noundef 586, ptr noundef %4903, ptr noundef %4905, ptr noundef %4907, i32 noundef %4908) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4910:                                             ; preds = %4885
  %4911 = add nsw i32 %4834, 4
  store i32 %4911, ptr @test_count, align 4, !tbaa !5
  %4912 = load i64, ptr %67, align 8, !tbaa !52
  %4913 = icmp eq i64 %4912, 1
  br i1 %4913, label %4936, label %4914

4914:                                             ; preds = %4910
  %4915 = load i32, ptr %1007, align 4, !tbaa !5
  %4916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4917 = call i32 @s2n_print_stacktrace(ptr noundef %4916) #13
  %4918 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4919 = trunc nuw i8 %4918 to i1
  br i1 %4919, label %4920, label %4924

4920:                                             ; preds = %4914
  %4921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4922 = call i32 @fileno(ptr noundef %4921) #13
  %4923 = call i32 @isatty(i32 noundef %4922) #13
  %.not602 = icmp eq i32 %4923, 0
  br i1 %.not602, label %4924, label %4925

4924:                                             ; preds = %4920, %4914
  br label %4925

4925:                                             ; preds = %4920, %4924
  %.str.4.sink2266 = phi ptr [ @.str.4, %4924 ], [ @.str, %4920 ]
  store i32 %4915, ptr %1007, align 4, !tbaa !5
  %4926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4927 = load i32, ptr @test_count, align 4, !tbaa !5
  %4928 = load i32, ptr %953, align 4, !tbaa !5
  %4929 = call ptr @s2n_strerror(i32 noundef %4928, ptr noundef nonnull @.str.3) #13
  %4930 = load i32, ptr %953, align 4, !tbaa !5
  %4931 = call ptr @s2n_strerror_debug(i32 noundef %4930, ptr noundef nonnull @.str.3) #13
  %4932 = load i32, ptr %1007, align 4, !tbaa !5
  %4933 = call ptr @strerror(i32 noundef %4932) #13
  %4934 = load i32, ptr %1007, align 4, !tbaa !5
  %4935 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4926, ptr noundef nonnull %.str.4.sink2266, i32 noundef %4927, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.2, i32 noundef 589, ptr noundef %4929, ptr noundef %4931, ptr noundef %4933, i32 noundef %4934) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4936:                                             ; preds = %4910
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %73) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %72) #13
  %4937 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef nonnull %71) #13
  call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %71) #13
  %4938 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %70) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %70) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %69) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %68) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %67) #13
  %4939 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %66) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %66) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %74) #13
  %4940 = call ptr @s2n_config_new() #13
  store ptr %4940, ptr %74, align 8, !tbaa !9
  %4941 = load i32, ptr @test_count, align 4, !tbaa !5
  %4942 = add nsw i32 %4941, 1
  store i32 %4942, ptr @test_count, align 4, !tbaa !5
  %4943 = icmp eq ptr %4940, null
  br i1 %4943, label %4944, label %4966

4944:                                             ; preds = %4936
  %4945 = load i32, ptr %1007, align 4, !tbaa !5
  %4946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4947 = call i32 @s2n_print_stacktrace(ptr noundef %4946) #13
  %4948 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4949 = trunc nuw i8 %4948 to i1
  br i1 %4949, label %4950, label %4954

4950:                                             ; preds = %4944
  %4951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4952 = call i32 @fileno(ptr noundef %4951) #13
  %4953 = call i32 @isatty(i32 noundef %4952) #13
  %.not629 = icmp eq i32 %4953, 0
  br i1 %.not629, label %4954, label %4955

4954:                                             ; preds = %4950, %4944
  br label %4955

4955:                                             ; preds = %4950, %4954
  %.str.4.sink2275 = phi ptr [ @.str.4, %4954 ], [ @.str, %4950 ]
  store i32 %4945, ptr %1007, align 4, !tbaa !5
  %4956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4957 = load i32, ptr @test_count, align 4, !tbaa !5
  %4958 = load i32, ptr %953, align 4, !tbaa !5
  %4959 = call ptr @s2n_strerror(i32 noundef %4958, ptr noundef nonnull @.str.3) #13
  %4960 = load i32, ptr %953, align 4, !tbaa !5
  %4961 = call ptr @s2n_strerror_debug(i32 noundef %4960, ptr noundef nonnull @.str.3) #13
  %4962 = load i32, ptr %1007, align 4, !tbaa !5
  %4963 = call ptr @strerror(i32 noundef %4962) #13
  %4964 = load i32, ptr %1007, align 4, !tbaa !5
  %4965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4956, ptr noundef nonnull %.str.4.sink2275, i32 noundef %4957, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.2, i32 noundef 596, ptr noundef %4959, ptr noundef %4961, ptr noundef %4963, i32 noundef %4964) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4966:                                             ; preds = %4936
  %4967 = add nsw i32 %4941, 2
  store i32 %4967, ptr @test_count, align 4, !tbaa !5
  %4968 = call i32 @s2n_config_set_recv_multi_record(ptr noundef nonnull %4940, i1 noundef zeroext true) #13
  %4969 = icmp eq i32 %4968, -1
  br i1 %4969, label %4970, label %4992

4970:                                             ; preds = %4966
  %4971 = load i32, ptr %1007, align 4, !tbaa !5
  %4972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4973 = call i32 @s2n_print_stacktrace(ptr noundef %4972) #13
  %4974 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4975 = trunc nuw i8 %4974 to i1
  br i1 %4975, label %4976, label %4980

4976:                                             ; preds = %4970
  %4977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4978 = call i32 @fileno(ptr noundef %4977) #13
  %4979 = call i32 @isatty(i32 noundef %4978) #13
  %.not628 = icmp eq i32 %4979, 0
  br i1 %.not628, label %4980, label %4981

4980:                                             ; preds = %4976, %4970
  br label %4981

4981:                                             ; preds = %4976, %4980
  %.str.4.sink2284 = phi ptr [ @.str.4, %4980 ], [ @.str, %4976 ]
  store i32 %4971, ptr %1007, align 4, !tbaa !5
  %4982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4983 = load i32, ptr @test_count, align 4, !tbaa !5
  %4984 = load i32, ptr %953, align 4, !tbaa !5
  %4985 = call ptr @s2n_strerror(i32 noundef %4984, ptr noundef nonnull @.str.3) #13
  %4986 = load i32, ptr %953, align 4, !tbaa !5
  %4987 = call ptr @s2n_strerror_debug(i32 noundef %4986, ptr noundef nonnull @.str.3) #13
  %4988 = load i32, ptr %1007, align 4, !tbaa !5
  %4989 = call ptr @strerror(i32 noundef %4988) #13
  %4990 = load i32, ptr %1007, align 4, !tbaa !5
  %4991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4982, ptr noundef nonnull %.str.4.sink2284, i32 noundef %4983, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.2, i32 noundef 597, ptr noundef %4985, ptr noundef %4987, ptr noundef %4989, i32 noundef %4990) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4992:                                             ; preds = %4966
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %75) #13
  %4993 = call ptr @s2n_connection_new(i32 noundef 1) #13
  store ptr %4993, ptr %75, align 8, !tbaa !9
  %4994 = load i32, ptr @test_count, align 4, !tbaa !5
  %4995 = add nsw i32 %4994, 1
  store i32 %4995, ptr @test_count, align 4, !tbaa !5
  %4996 = icmp eq ptr %4993, null
  br i1 %4996, label %4997, label %5019

4997:                                             ; preds = %4992
  %4998 = load i32, ptr %1007, align 4, !tbaa !5
  %4999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5000 = call i32 @s2n_print_stacktrace(ptr noundef %4999) #13
  %5001 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5002 = trunc nuw i8 %5001 to i1
  br i1 %5002, label %5003, label %5007

5003:                                             ; preds = %4997
  %5004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5005 = call i32 @fileno(ptr noundef %5004) #13
  %5006 = call i32 @isatty(i32 noundef %5005) #13
  %.not627 = icmp eq i32 %5006, 0
  br i1 %.not627, label %5007, label %5008

5007:                                             ; preds = %5003, %4997
  br label %5008

5008:                                             ; preds = %5003, %5007
  %.str.4.sink2293 = phi ptr [ @.str.4, %5007 ], [ @.str, %5003 ]
  store i32 %4998, ptr %1007, align 4, !tbaa !5
  %5009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5010 = load i32, ptr @test_count, align 4, !tbaa !5
  %5011 = load i32, ptr %953, align 4, !tbaa !5
  %5012 = call ptr @s2n_strerror(i32 noundef %5011, ptr noundef nonnull @.str.3) #13
  %5013 = load i32, ptr %953, align 4, !tbaa !5
  %5014 = call ptr @s2n_strerror_debug(i32 noundef %5013, ptr noundef nonnull @.str.3) #13
  %5015 = load i32, ptr %1007, align 4, !tbaa !5
  %5016 = call ptr @strerror(i32 noundef %5015) #13
  %5017 = load i32, ptr %1007, align 4, !tbaa !5
  %5018 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5009, ptr noundef nonnull %.str.4.sink2293, i32 noundef %5010, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.2, i32 noundef 603, ptr noundef %5012, ptr noundef %5014, ptr noundef %5016, i32 noundef %5017) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5019:                                             ; preds = %4992
  %5020 = add nsw i32 %4994, 2
  store i32 %5020, ptr @test_count, align 4, !tbaa !5
  %5021 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4993, ptr noundef nonnull %4940) #13
  %5022 = icmp eq i32 %5021, -1
  br i1 %5022, label %5023, label %5045

5023:                                             ; preds = %5019
  %5024 = load i32, ptr %1007, align 4, !tbaa !5
  %5025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5026 = call i32 @s2n_print_stacktrace(ptr noundef %5025) #13
  %5027 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5028 = trunc nuw i8 %5027 to i1
  br i1 %5028, label %5029, label %5033

5029:                                             ; preds = %5023
  %5030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5031 = call i32 @fileno(ptr noundef %5030) #13
  %5032 = call i32 @isatty(i32 noundef %5031) #13
  %.not626 = icmp eq i32 %5032, 0
  br i1 %.not626, label %5033, label %5034

5033:                                             ; preds = %5029, %5023
  br label %5034

5034:                                             ; preds = %5029, %5033
  %.str.4.sink2302 = phi ptr [ @.str.4, %5033 ], [ @.str, %5029 ]
  store i32 %5024, ptr %1007, align 4, !tbaa !5
  %5035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5036 = load i32, ptr @test_count, align 4, !tbaa !5
  %5037 = load i32, ptr %953, align 4, !tbaa !5
  %5038 = call ptr @s2n_strerror(i32 noundef %5037, ptr noundef nonnull @.str.3) #13
  %5039 = load i32, ptr %953, align 4, !tbaa !5
  %5040 = call ptr @s2n_strerror_debug(i32 noundef %5039, ptr noundef nonnull @.str.3) #13
  %5041 = load i32, ptr %1007, align 4, !tbaa !5
  %5042 = call ptr @strerror(i32 noundef %5041) #13
  %5043 = load i32, ptr %1007, align 4, !tbaa !5
  %5044 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5035, ptr noundef nonnull %.str.4.sink2302, i32 noundef %5036, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.2, i32 noundef 604, ptr noundef %5038, ptr noundef %5040, ptr noundef %5042, i32 noundef %5043) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5045:                                             ; preds = %5019
  %5046 = load ptr, ptr %75, align 8, !tbaa !9
  call void @s2n_ktls_configure_connection(ptr noundef %5046, i32 noundef 1) #13
  call void @llvm.lifetime.start.p0(i64 192, ptr nonnull %76) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(192) %76, i8 0, i64 192, i1 false)
  %5047 = load i32, ptr @test_count, align 4, !tbaa !5
  %5048 = add nsw i32 %5047, 1
  store i32 %5048, ptr @test_count, align 4, !tbaa !5
  %5049 = load ptr, ptr %75, align 8, !tbaa !9
  %5050 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef %5049, ptr noundef %5049, ptr noundef nonnull %76) #13
  %5051 = call zeroext i1 @s2n_result_is_ok(i32 %5050)
  br i1 %5051, label %5074, label %5052

5052:                                             ; preds = %5045
  %5053 = load i32, ptr %1007, align 4, !tbaa !5
  %5054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5055 = call i32 @s2n_print_stacktrace(ptr noundef %5054) #13
  %5056 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5057 = trunc nuw i8 %5056 to i1
  br i1 %5057, label %5058, label %5062

5058:                                             ; preds = %5052
  %5059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5060 = call i32 @fileno(ptr noundef %5059) #13
  %5061 = call i32 @isatty(i32 noundef %5060) #13
  %.not603 = icmp eq i32 %5061, 0
  br i1 %.not603, label %5062, label %5063

5062:                                             ; preds = %5058, %5052
  br label %5063

5063:                                             ; preds = %5058, %5062
  %.str.4.sink2311 = phi ptr [ @.str.4, %5062 ], [ @.str, %5058 ]
  store i32 %5053, ptr %1007, align 4, !tbaa !5
  %5064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5065 = load i32, ptr @test_count, align 4, !tbaa !5
  %5066 = load i32, ptr %953, align 4, !tbaa !5
  %5067 = call ptr @s2n_strerror(i32 noundef %5066, ptr noundef nonnull @.str.3) #13
  %5068 = load i32, ptr %953, align 4, !tbaa !5
  %5069 = call ptr @s2n_strerror_debug(i32 noundef %5068, ptr noundef nonnull @.str.3) #13
  %5070 = load i32, ptr %1007, align 4, !tbaa !5
  %5071 = call ptr @strerror(i32 noundef %5070) #13
  %5072 = load i32, ptr %1007, align 4, !tbaa !5
  %5073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5064, ptr noundef nonnull %.str.4.sink2311, i32 noundef %5065, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.2, i32 noundef 609, ptr noundef %5067, ptr noundef %5069, ptr noundef %5071, i32 noundef %5072) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5074:                                             ; preds = %5045
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %77) #13
  %5075 = getelementptr inbounds i8, ptr %77, i64 8
  %.pre736 = load i32, ptr @test_count, align 4, !tbaa !5
  br label %5082

5076:                                             ; preds = %5137
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %79) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %79, i8 0, i64 100, i1 false)
  %5077 = load ptr, ptr %75, align 8, !tbaa !9
  %5078 = call i64 @s2n_recv(ptr noundef %5077, ptr noundef nonnull %79, i64 noundef 100, ptr noundef nonnull %40) #13
  %5079 = load i32, ptr @test_count, align 4, !tbaa !5
  %5080 = add nsw i32 %5079, 1
  store i32 %5080, ptr @test_count, align 4, !tbaa !5
  %sext604.mask = and i64 %5078, 4294967295
  %5081 = icmp eq i64 %sext604.mask, 100
  br i1 %5081, label %5161, label %5139

5082:                                             ; preds = %5074, %5137
  %5083 = phi i32 [ %.pre736, %5074 ], [ %5112, %5137 ]
  %.0498730 = phi i64 [ 0, %5074 ], [ %5138, %5137 ]
  %5084 = getelementptr inbounds i8, ptr %37, i64 %.0498730
  store ptr %5084, ptr %77, align 8, !tbaa !49
  store i64 1, ptr %5075, align 8, !tbaa !51
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %78) #13
  store i64 0, ptr %78, align 8, !tbaa !52
  %5085 = add nsw i32 %5083, 1
  store i32 %5085, ptr @test_count, align 4, !tbaa !5
  %5086 = call i32 @s2n_ktls_sendmsg(ptr noundef nonnull %76, i8 noundef zeroext 23, ptr noundef nonnull %77, i64 noundef 1, ptr noundef nonnull %40, ptr noundef nonnull %78) #13
  %5087 = call zeroext i1 @s2n_result_is_ok(i32 %5086)
  br i1 %5087, label %5110, label %5088

5088:                                             ; preds = %5082
  %5089 = load i32, ptr %1007, align 4, !tbaa !5
  %5090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5091 = call i32 @s2n_print_stacktrace(ptr noundef %5090) #13
  %5092 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5093 = trunc nuw i8 %5092 to i1
  br i1 %5093, label %5094, label %5098

5094:                                             ; preds = %5088
  %5095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5096 = call i32 @fileno(ptr noundef %5095) #13
  %5097 = call i32 @isatty(i32 noundef %5096) #13
  %.not624 = icmp eq i32 %5097, 0
  br i1 %.not624, label %5098, label %5099

5098:                                             ; preds = %5094, %5088
  br label %5099

5099:                                             ; preds = %5094, %5098
  %.str.4.sink2320 = phi ptr [ @.str.4, %5098 ], [ @.str, %5094 ]
  store i32 %5089, ptr %1007, align 4, !tbaa !5
  %5100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5101 = load i32, ptr @test_count, align 4, !tbaa !5
  %5102 = load i32, ptr %953, align 4, !tbaa !5
  %5103 = call ptr @s2n_strerror(i32 noundef %5102, ptr noundef nonnull @.str.3) #13
  %5104 = load i32, ptr %953, align 4, !tbaa !5
  %5105 = call ptr @s2n_strerror_debug(i32 noundef %5104, ptr noundef nonnull @.str.3) #13
  %5106 = load i32, ptr %1007, align 4, !tbaa !5
  %5107 = call ptr @strerror(i32 noundef %5106) #13
  %5108 = load i32, ptr %1007, align 4, !tbaa !5
  %5109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5100, ptr noundef nonnull %.str.4.sink2320, i32 noundef %5101, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.2, i32 noundef 620, ptr noundef %5103, ptr noundef %5105, ptr noundef %5107, i32 noundef %5108) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5110:                                             ; preds = %5082
  %5111 = load i32, ptr @test_count, align 4, !tbaa !5
  %5112 = add nsw i32 %5111, 1
  store i32 %5112, ptr @test_count, align 4, !tbaa !5
  %5113 = load i64, ptr %78, align 8, !tbaa !52
  %5114 = icmp eq i64 %5113, 1
  br i1 %5114, label %5137, label %5115

5115:                                             ; preds = %5110
  %5116 = load i32, ptr %1007, align 4, !tbaa !5
  %5117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5118 = call i32 @s2n_print_stacktrace(ptr noundef %5117) #13
  %5119 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5120 = trunc nuw i8 %5119 to i1
  br i1 %5120, label %5121, label %5125

5121:                                             ; preds = %5115
  %5122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5123 = call i32 @fileno(ptr noundef %5122) #13
  %5124 = call i32 @isatty(i32 noundef %5123) #13
  %.not625 = icmp eq i32 %5124, 0
  br i1 %.not625, label %5125, label %5126

5125:                                             ; preds = %5121, %5115
  br label %5126

5126:                                             ; preds = %5121, %5125
  %.str.4.sink2329 = phi ptr [ @.str.4, %5125 ], [ @.str, %5121 ]
  store i32 %5116, ptr %1007, align 4, !tbaa !5
  %5127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5128 = load i32, ptr @test_count, align 4, !tbaa !5
  %5129 = load i32, ptr %953, align 4, !tbaa !5
  %5130 = call ptr @s2n_strerror(i32 noundef %5129, ptr noundef nonnull @.str.3) #13
  %5131 = load i32, ptr %953, align 4, !tbaa !5
  %5132 = call ptr @s2n_strerror_debug(i32 noundef %5131, ptr noundef nonnull @.str.3) #13
  %5133 = load i32, ptr %1007, align 4, !tbaa !5
  %5134 = call ptr @strerror(i32 noundef %5133) #13
  %5135 = load i32, ptr %1007, align 4, !tbaa !5
  %5136 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5127, ptr noundef nonnull %.str.4.sink2329, i32 noundef %5128, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.2, i32 noundef 621, ptr noundef %5130, ptr noundef %5132, ptr noundef %5134, i32 noundef %5135) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5137:                                             ; preds = %5110
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %78) #13
  %5138 = add nuw nsw i64 %.0498730, 1
  %exitcond733.not = icmp eq i64 %5138, 100
  br i1 %exitcond733.not, label %5076, label %5082, !llvm.loop !55

5139:                                             ; preds = %5076
  %5140 = load i32, ptr %1007, align 4, !tbaa !5
  %5141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5142 = call i32 @s2n_print_stacktrace(ptr noundef %5141) #13
  %5143 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5144 = trunc nuw i8 %5143 to i1
  br i1 %5144, label %5145, label %5149

5145:                                             ; preds = %5139
  %5146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5147 = call i32 @fileno(ptr noundef %5146) #13
  %5148 = call i32 @isatty(i32 noundef %5147) #13
  %.not605 = icmp eq i32 %5148, 0
  br i1 %.not605, label %5149, label %5150

5149:                                             ; preds = %5145, %5139
  br label %5150

5150:                                             ; preds = %5145, %5149
  %.str.4.sink2338 = phi ptr [ @.str.4, %5149 ], [ @.str, %5145 ]
  store i32 %5140, ptr %1007, align 4, !tbaa !5
  %5151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5152 = load i32, ptr @test_count, align 4, !tbaa !5
  %5153 = load i32, ptr %953, align 4, !tbaa !5
  %5154 = call ptr @s2n_strerror(i32 noundef %5153, ptr noundef nonnull @.str.3) #13
  %5155 = load i32, ptr %953, align 4, !tbaa !5
  %5156 = call ptr @s2n_strerror_debug(i32 noundef %5155, ptr noundef nonnull @.str.3) #13
  %5157 = load i32, ptr %1007, align 4, !tbaa !5
  %5158 = call ptr @strerror(i32 noundef %5157) #13
  %5159 = load i32, ptr %1007, align 4, !tbaa !5
  %5160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5151, ptr noundef nonnull %.str.4.sink2338, i32 noundef %5152, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.2, i32 noundef 627, ptr noundef %5154, ptr noundef %5156, ptr noundef %5158, i32 noundef %5159) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5161:                                             ; preds = %5076
  %5162 = add nsw i32 %5079, 2
  store i32 %5162, ptr @test_count, align 4, !tbaa !5
  %5163 = load i32, ptr %40, align 4, !tbaa !5
  %5164 = icmp eq i32 %5163, 0
  br i1 %5164, label %5187, label %5165

5165:                                             ; preds = %5161
  %5166 = load i32, ptr %1007, align 4, !tbaa !5
  %5167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5168 = call i32 @s2n_print_stacktrace(ptr noundef %5167) #13
  %5169 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5170 = trunc nuw i8 %5169 to i1
  br i1 %5170, label %5171, label %5175

5171:                                             ; preds = %5165
  %5172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5173 = call i32 @fileno(ptr noundef %5172) #13
  %5174 = call i32 @isatty(i32 noundef %5173) #13
  %.not606 = icmp eq i32 %5174, 0
  br i1 %.not606, label %5175, label %5176

5175:                                             ; preds = %5171, %5165
  br label %5176

5176:                                             ; preds = %5171, %5175
  %.str.4.sink2347 = phi ptr [ @.str.4, %5175 ], [ @.str, %5171 ]
  store i32 %5166, ptr %1007, align 4, !tbaa !5
  %5177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5178 = load i32, ptr @test_count, align 4, !tbaa !5
  %5179 = load i32, ptr %953, align 4, !tbaa !5
  %5180 = call ptr @s2n_strerror(i32 noundef %5179, ptr noundef nonnull @.str.3) #13
  %5181 = load i32, ptr %953, align 4, !tbaa !5
  %5182 = call ptr @s2n_strerror_debug(i32 noundef %5181, ptr noundef nonnull @.str.3) #13
  %5183 = load i32, ptr %1007, align 4, !tbaa !5
  %5184 = call ptr @strerror(i32 noundef %5183) #13
  %5185 = load i32, ptr %1007, align 4, !tbaa !5
  %5186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5177, ptr noundef nonnull %.str.4.sink2347, i32 noundef %5178, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.2, i32 noundef 628, ptr noundef %5180, ptr noundef %5182, ptr noundef %5184, i32 noundef %5185) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5187:                                             ; preds = %5161
  %5188 = add nsw i32 %5079, 3
  store i32 %5188, ptr @test_count, align 4, !tbaa !5
  %bcmp607 = call i32 @bcmp(ptr noundef nonnull dereferenceable(100) %79, ptr noundef nonnull dereferenceable(100) %37, i64 100)
  %5189 = icmp eq i32 %bcmp607, 0
  br i1 %5189, label %5212, label %5190

5190:                                             ; preds = %5187
  %5191 = load i32, ptr %1007, align 4, !tbaa !5
  %5192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5193 = call i32 @s2n_print_stacktrace(ptr noundef %5192) #13
  %5194 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5195 = trunc nuw i8 %5194 to i1
  br i1 %5195, label %5196, label %5200

5196:                                             ; preds = %5190
  %5197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5198 = call i32 @fileno(ptr noundef %5197) #13
  %5199 = call i32 @isatty(i32 noundef %5198) #13
  %.not608 = icmp eq i32 %5199, 0
  br i1 %.not608, label %5200, label %5201

5200:                                             ; preds = %5196, %5190
  br label %5201

5201:                                             ; preds = %5196, %5200
  %.str.4.sink2356 = phi ptr [ @.str.4, %5200 ], [ @.str, %5196 ]
  store i32 %5191, ptr %1007, align 4, !tbaa !5
  %5202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5203 = load i32, ptr @test_count, align 4, !tbaa !5
  %5204 = load i32, ptr %953, align 4, !tbaa !5
  %5205 = call ptr @s2n_strerror(i32 noundef %5204, ptr noundef nonnull @.str.3) #13
  %5206 = load i32, ptr %953, align 4, !tbaa !5
  %5207 = call ptr @s2n_strerror_debug(i32 noundef %5206, ptr noundef nonnull @.str.3) #13
  %5208 = load i32, ptr %1007, align 4, !tbaa !5
  %5209 = call ptr @strerror(i32 noundef %5208) #13
  %5210 = load i32, ptr %1007, align 4, !tbaa !5
  %5211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5202, ptr noundef nonnull %.str.4.sink2356, i32 noundef %5203, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.2, i32 noundef 629, ptr noundef %5205, ptr noundef %5207, ptr noundef %5209, i32 noundef %5210) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5212:                                             ; preds = %5187
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %79) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %77) #13
  %5213 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef nonnull %76) #13
  call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %76) #13
  %5214 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %75) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %75) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %80) #13
  %5215 = call ptr @s2n_connection_new(i32 noundef 1) #13
  store ptr %5215, ptr %80, align 8, !tbaa !9
  %5216 = load i32, ptr @test_count, align 4, !tbaa !5
  %5217 = add nsw i32 %5216, 1
  store i32 %5217, ptr @test_count, align 4, !tbaa !5
  %5218 = icmp eq ptr %5215, null
  br i1 %5218, label %5219, label %5241

5219:                                             ; preds = %5212
  %5220 = load i32, ptr %1007, align 4, !tbaa !5
  %5221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5222 = call i32 @s2n_print_stacktrace(ptr noundef %5221) #13
  %5223 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5224 = trunc nuw i8 %5223 to i1
  br i1 %5224, label %5225, label %5229

5225:                                             ; preds = %5219
  %5226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5227 = call i32 @fileno(ptr noundef %5226) #13
  %5228 = call i32 @isatty(i32 noundef %5227) #13
  %.not623 = icmp eq i32 %5228, 0
  br i1 %.not623, label %5229, label %5230

5229:                                             ; preds = %5225, %5219
  br label %5230

5230:                                             ; preds = %5225, %5229
  %.str.4.sink2365 = phi ptr [ @.str.4, %5229 ], [ @.str, %5225 ]
  store i32 %5220, ptr %1007, align 4, !tbaa !5
  %5231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5232 = load i32, ptr @test_count, align 4, !tbaa !5
  %5233 = load i32, ptr %953, align 4, !tbaa !5
  %5234 = call ptr @s2n_strerror(i32 noundef %5233, ptr noundef nonnull @.str.3) #13
  %5235 = load i32, ptr %953, align 4, !tbaa !5
  %5236 = call ptr @s2n_strerror_debug(i32 noundef %5235, ptr noundef nonnull @.str.3) #13
  %5237 = load i32, ptr %1007, align 4, !tbaa !5
  %5238 = call ptr @strerror(i32 noundef %5237) #13
  %5239 = load i32, ptr %1007, align 4, !tbaa !5
  %5240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5231, ptr noundef nonnull %.str.4.sink2365, i32 noundef %5232, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.2, i32 noundef 636, ptr noundef %5234, ptr noundef %5236, ptr noundef %5238, i32 noundef %5239) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5241:                                             ; preds = %5212
  %5242 = add nsw i32 %5216, 2
  store i32 %5242, ptr @test_count, align 4, !tbaa !5
  %5243 = call i32 @s2n_connection_set_config(ptr noundef nonnull %5215, ptr noundef nonnull %4940) #13
  %5244 = icmp eq i32 %5243, -1
  br i1 %5244, label %5245, label %5267

5245:                                             ; preds = %5241
  %5246 = load i32, ptr %1007, align 4, !tbaa !5
  %5247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5248 = call i32 @s2n_print_stacktrace(ptr noundef %5247) #13
  %5249 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5250 = trunc nuw i8 %5249 to i1
  br i1 %5250, label %5251, label %5255

5251:                                             ; preds = %5245
  %5252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5253 = call i32 @fileno(ptr noundef %5252) #13
  %5254 = call i32 @isatty(i32 noundef %5253) #13
  %.not622 = icmp eq i32 %5254, 0
  br i1 %.not622, label %5255, label %5256

5255:                                             ; preds = %5251, %5245
  br label %5256

5256:                                             ; preds = %5251, %5255
  %.str.4.sink2374 = phi ptr [ @.str.4, %5255 ], [ @.str, %5251 ]
  store i32 %5246, ptr %1007, align 4, !tbaa !5
  %5257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5258 = load i32, ptr @test_count, align 4, !tbaa !5
  %5259 = load i32, ptr %953, align 4, !tbaa !5
  %5260 = call ptr @s2n_strerror(i32 noundef %5259, ptr noundef nonnull @.str.3) #13
  %5261 = load i32, ptr %953, align 4, !tbaa !5
  %5262 = call ptr @s2n_strerror_debug(i32 noundef %5261, ptr noundef nonnull @.str.3) #13
  %5263 = load i32, ptr %1007, align 4, !tbaa !5
  %5264 = call ptr @strerror(i32 noundef %5263) #13
  %5265 = load i32, ptr %1007, align 4, !tbaa !5
  %5266 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5257, ptr noundef nonnull %.str.4.sink2374, i32 noundef %5258, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.2, i32 noundef 637, ptr noundef %5260, ptr noundef %5262, ptr noundef %5264, i32 noundef %5265) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5267:                                             ; preds = %5241
  call void @s2n_ktls_configure_connection(ptr noundef nonnull %5215, i32 noundef 1) #13
  call void @llvm.lifetime.start.p0(i64 192, ptr nonnull %81) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(192) %81, i8 0, i64 192, i1 false)
  %5268 = load i32, ptr @test_count, align 4, !tbaa !5
  %5269 = add nsw i32 %5268, 1
  store i32 %5269, ptr @test_count, align 4, !tbaa !5
  %5270 = call i32 @s2n_test_init_ktls_io_stuffer(ptr noundef nonnull %5215, ptr noundef nonnull %5215, ptr noundef nonnull %81) #13
  %5271 = call zeroext i1 @s2n_result_is_ok(i32 %5270)
  br i1 %5271, label %5294, label %5272

5272:                                             ; preds = %5267
  %5273 = load i32, ptr %1007, align 4, !tbaa !5
  %5274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5275 = call i32 @s2n_print_stacktrace(ptr noundef %5274) #13
  %5276 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5277 = trunc nuw i8 %5276 to i1
  br i1 %5277, label %5278, label %5282

5278:                                             ; preds = %5272
  %5279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5280 = call i32 @fileno(ptr noundef %5279) #13
  %5281 = call i32 @isatty(i32 noundef %5280) #13
  %.not609 = icmp eq i32 %5281, 0
  br i1 %.not609, label %5282, label %5283

5282:                                             ; preds = %5278, %5272
  br label %5283

5283:                                             ; preds = %5278, %5282
  %.str.4.sink2383 = phi ptr [ @.str.4, %5282 ], [ @.str, %5278 ]
  store i32 %5273, ptr %1007, align 4, !tbaa !5
  %5284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5285 = load i32, ptr @test_count, align 4, !tbaa !5
  %5286 = load i32, ptr %953, align 4, !tbaa !5
  %5287 = call ptr @s2n_strerror(i32 noundef %5286, ptr noundef nonnull @.str.3) #13
  %5288 = load i32, ptr %953, align 4, !tbaa !5
  %5289 = call ptr @s2n_strerror_debug(i32 noundef %5288, ptr noundef nonnull @.str.3) #13
  %5290 = load i32, ptr %1007, align 4, !tbaa !5
  %5291 = call ptr @strerror(i32 noundef %5290) #13
  %5292 = load i32, ptr %1007, align 4, !tbaa !5
  %5293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5284, ptr noundef nonnull %.str.4.sink2383, i32 noundef %5285, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.2, i32 noundef 642, ptr noundef %5287, ptr noundef %5289, ptr noundef %5291, i32 noundef %5292) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5294:                                             ; preds = %5267
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %82) #13
  %5295 = getelementptr inbounds i8, ptr %82, i64 8
  %.pre737 = load i32, ptr @test_count, align 4, !tbaa !5
  br label %5301

5296:                                             ; preds = %5356
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %84) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %84, i8 0, i64 100, i1 false)
  %5297 = call i64 @s2n_recv(ptr noundef nonnull %5215, ptr noundef nonnull %84, i64 noundef 100, ptr noundef nonnull %40) #13
  %5298 = load i32, ptr @test_count, align 4, !tbaa !5
  %5299 = add nsw i32 %5298, 1
  store i32 %5299, ptr @test_count, align 4, !tbaa !5
  %sext610.mask = and i64 %5297, 4294967295
  %5300 = icmp eq i64 %sext610.mask, 50
  br i1 %5300, label %5380, label %5358

5301:                                             ; preds = %5294, %5356
  %5302 = phi i32 [ %.pre737, %5294 ], [ %5331, %5356 ]
  %.0499731 = phi i64 [ 0, %5294 ], [ %5357, %5356 ]
  %5303 = getelementptr inbounds i8, ptr %37, i64 %.0499731
  store ptr %5303, ptr %82, align 8, !tbaa !49
  store i64 1, ptr %5295, align 8, !tbaa !51
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %83) #13
  store i64 0, ptr %83, align 8, !tbaa !52
  %5304 = add nsw i32 %5302, 1
  store i32 %5304, ptr @test_count, align 4, !tbaa !5
  %5305 = call i32 @s2n_ktls_sendmsg(ptr noundef nonnull %81, i8 noundef zeroext 23, ptr noundef nonnull %82, i64 noundef 1, ptr noundef nonnull %40, ptr noundef nonnull %83) #13
  %5306 = call zeroext i1 @s2n_result_is_ok(i32 %5305)
  br i1 %5306, label %5329, label %5307

5307:                                             ; preds = %5301
  %5308 = load i32, ptr %1007, align 4, !tbaa !5
  %5309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5310 = call i32 @s2n_print_stacktrace(ptr noundef %5309) #13
  %5311 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5312 = trunc nuw i8 %5311 to i1
  br i1 %5312, label %5313, label %5317

5313:                                             ; preds = %5307
  %5314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5315 = call i32 @fileno(ptr noundef %5314) #13
  %5316 = call i32 @isatty(i32 noundef %5315) #13
  %.not620 = icmp eq i32 %5316, 0
  br i1 %.not620, label %5317, label %5318

5317:                                             ; preds = %5313, %5307
  br label %5318

5318:                                             ; preds = %5313, %5317
  %.str.4.sink2392 = phi ptr [ @.str.4, %5317 ], [ @.str, %5313 ]
  store i32 %5308, ptr %1007, align 4, !tbaa !5
  %5319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5320 = load i32, ptr @test_count, align 4, !tbaa !5
  %5321 = load i32, ptr %953, align 4, !tbaa !5
  %5322 = call ptr @s2n_strerror(i32 noundef %5321, ptr noundef nonnull @.str.3) #13
  %5323 = load i32, ptr %953, align 4, !tbaa !5
  %5324 = call ptr @s2n_strerror_debug(i32 noundef %5323, ptr noundef nonnull @.str.3) #13
  %5325 = load i32, ptr %1007, align 4, !tbaa !5
  %5326 = call ptr @strerror(i32 noundef %5325) #13
  %5327 = load i32, ptr %1007, align 4, !tbaa !5
  %5328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5319, ptr noundef nonnull %.str.4.sink2392, i32 noundef %5320, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.2, i32 noundef 655, ptr noundef %5322, ptr noundef %5324, ptr noundef %5326, i32 noundef %5327) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5329:                                             ; preds = %5301
  %5330 = load i32, ptr @test_count, align 4, !tbaa !5
  %5331 = add nsw i32 %5330, 1
  store i32 %5331, ptr @test_count, align 4, !tbaa !5
  %5332 = load i64, ptr %83, align 8, !tbaa !52
  %5333 = icmp eq i64 %5332, 1
  br i1 %5333, label %5356, label %5334

5334:                                             ; preds = %5329
  %5335 = load i32, ptr %1007, align 4, !tbaa !5
  %5336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5337 = call i32 @s2n_print_stacktrace(ptr noundef %5336) #13
  %5338 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5339 = trunc nuw i8 %5338 to i1
  br i1 %5339, label %5340, label %5344

5340:                                             ; preds = %5334
  %5341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5342 = call i32 @fileno(ptr noundef %5341) #13
  %5343 = call i32 @isatty(i32 noundef %5342) #13
  %.not621 = icmp eq i32 %5343, 0
  br i1 %.not621, label %5344, label %5345

5344:                                             ; preds = %5340, %5334
  br label %5345

5345:                                             ; preds = %5340, %5344
  %.str.4.sink2401 = phi ptr [ @.str.4, %5344 ], [ @.str, %5340 ]
  store i32 %5335, ptr %1007, align 4, !tbaa !5
  %5346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5347 = load i32, ptr @test_count, align 4, !tbaa !5
  %5348 = load i32, ptr %953, align 4, !tbaa !5
  %5349 = call ptr @s2n_strerror(i32 noundef %5348, ptr noundef nonnull @.str.3) #13
  %5350 = load i32, ptr %953, align 4, !tbaa !5
  %5351 = call ptr @s2n_strerror_debug(i32 noundef %5350, ptr noundef nonnull @.str.3) #13
  %5352 = load i32, ptr %1007, align 4, !tbaa !5
  %5353 = call ptr @strerror(i32 noundef %5352) #13
  %5354 = load i32, ptr %1007, align 4, !tbaa !5
  %5355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5346, ptr noundef nonnull %.str.4.sink2401, i32 noundef %5347, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.2, i32 noundef 656, ptr noundef %5349, ptr noundef %5351, ptr noundef %5353, i32 noundef %5354) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5356:                                             ; preds = %5329
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %83) #13
  %5357 = add nuw nsw i64 %.0499731, 1
  %exitcond734.not = icmp eq i64 %5357, 50
  br i1 %exitcond734.not, label %5296, label %5301, !llvm.loop !56

5358:                                             ; preds = %5296
  %5359 = load i32, ptr %1007, align 4, !tbaa !5
  %5360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5361 = call i32 @s2n_print_stacktrace(ptr noundef %5360) #13
  %5362 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5363 = trunc nuw i8 %5362 to i1
  br i1 %5363, label %5364, label %5368

5364:                                             ; preds = %5358
  %5365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5366 = call i32 @fileno(ptr noundef %5365) #13
  %5367 = call i32 @isatty(i32 noundef %5366) #13
  %.not611 = icmp eq i32 %5367, 0
  br i1 %.not611, label %5368, label %5369

5368:                                             ; preds = %5364, %5358
  br label %5369

5369:                                             ; preds = %5364, %5368
  %.str.4.sink2410 = phi ptr [ @.str.4, %5368 ], [ @.str, %5364 ]
  store i32 %5359, ptr %1007, align 4, !tbaa !5
  %5370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5371 = load i32, ptr @test_count, align 4, !tbaa !5
  %5372 = load i32, ptr %953, align 4, !tbaa !5
  %5373 = call ptr @s2n_strerror(i32 noundef %5372, ptr noundef nonnull @.str.3) #13
  %5374 = load i32, ptr %953, align 4, !tbaa !5
  %5375 = call ptr @s2n_strerror_debug(i32 noundef %5374, ptr noundef nonnull @.str.3) #13
  %5376 = load i32, ptr %1007, align 4, !tbaa !5
  %5377 = call ptr @strerror(i32 noundef %5376) #13
  %5378 = load i32, ptr %1007, align 4, !tbaa !5
  %5379 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5370, ptr noundef nonnull %.str.4.sink2410, i32 noundef %5371, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.2, i32 noundef 662, ptr noundef %5373, ptr noundef %5375, ptr noundef %5377, i32 noundef %5378) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5380:                                             ; preds = %5296
  %5381 = add nsw i32 %5298, 2
  store i32 %5381, ptr @test_count, align 4, !tbaa !5
  %5382 = load i32, ptr %40, align 4, !tbaa !5
  %5383 = icmp eq i32 %5382, 0
  br i1 %5383, label %5406, label %5384

5384:                                             ; preds = %5380
  %5385 = load i32, ptr %1007, align 4, !tbaa !5
  %5386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5387 = call i32 @s2n_print_stacktrace(ptr noundef %5386) #13
  %5388 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5389 = trunc nuw i8 %5388 to i1
  br i1 %5389, label %5390, label %5394

5390:                                             ; preds = %5384
  %5391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5392 = call i32 @fileno(ptr noundef %5391) #13
  %5393 = call i32 @isatty(i32 noundef %5392) #13
  %.not612 = icmp eq i32 %5393, 0
  br i1 %.not612, label %5394, label %5395

5394:                                             ; preds = %5390, %5384
  br label %5395

5395:                                             ; preds = %5390, %5394
  %.str.4.sink2419 = phi ptr [ @.str.4, %5394 ], [ @.str, %5390 ]
  store i32 %5385, ptr %1007, align 4, !tbaa !5
  %5396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5397 = load i32, ptr @test_count, align 4, !tbaa !5
  %5398 = load i32, ptr %953, align 4, !tbaa !5
  %5399 = call ptr @s2n_strerror(i32 noundef %5398, ptr noundef nonnull @.str.3) #13
  %5400 = load i32, ptr %953, align 4, !tbaa !5
  %5401 = call ptr @s2n_strerror_debug(i32 noundef %5400, ptr noundef nonnull @.str.3) #13
  %5402 = load i32, ptr %1007, align 4, !tbaa !5
  %5403 = call ptr @strerror(i32 noundef %5402) #13
  %5404 = load i32, ptr %1007, align 4, !tbaa !5
  %5405 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5396, ptr noundef nonnull %.str.4.sink2419, i32 noundef %5397, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.2, i32 noundef 663, ptr noundef %5399, ptr noundef %5401, ptr noundef %5403, i32 noundef %5404) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5406:                                             ; preds = %5380
  %5407 = add nsw i32 %5298, 3
  store i32 %5407, ptr @test_count, align 4, !tbaa !5
  %bcmp613 = call i32 @bcmp(ptr noundef nonnull dereferenceable(50) %84, ptr noundef nonnull dereferenceable(50) %37, i64 50)
  %5408 = icmp eq i32 %bcmp613, 0
  br i1 %5408, label %5431, label %5409

5409:                                             ; preds = %5406
  %5410 = load i32, ptr %1007, align 4, !tbaa !5
  %5411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5412 = call i32 @s2n_print_stacktrace(ptr noundef %5411) #13
  %5413 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5414 = trunc nuw i8 %5413 to i1
  br i1 %5414, label %5415, label %5419

5415:                                             ; preds = %5409
  %5416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5417 = call i32 @fileno(ptr noundef %5416) #13
  %5418 = call i32 @isatty(i32 noundef %5417) #13
  %.not614 = icmp eq i32 %5418, 0
  br i1 %.not614, label %5419, label %5420

5419:                                             ; preds = %5415, %5409
  br label %5420

5420:                                             ; preds = %5415, %5419
  %.str.4.sink2428 = phi ptr [ @.str.4, %5419 ], [ @.str, %5415 ]
  store i32 %5410, ptr %1007, align 4, !tbaa !5
  %5421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5422 = load i32, ptr @test_count, align 4, !tbaa !5
  %5423 = load i32, ptr %953, align 4, !tbaa !5
  %5424 = call ptr @s2n_strerror(i32 noundef %5423, ptr noundef nonnull @.str.3) #13
  %5425 = load i32, ptr %953, align 4, !tbaa !5
  %5426 = call ptr @s2n_strerror_debug(i32 noundef %5425, ptr noundef nonnull @.str.3) #13
  %5427 = load i32, ptr %1007, align 4, !tbaa !5
  %5428 = call ptr @strerror(i32 noundef %5427) #13
  %5429 = load i32, ptr %1007, align 4, !tbaa !5
  %5430 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5421, ptr noundef nonnull %.str.4.sink2428, i32 noundef %5422, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.2, i32 noundef 664, ptr noundef %5424, ptr noundef %5426, ptr noundef %5428, i32 noundef %5429) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5431:                                             ; preds = %5406
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %84) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %82) #13
  %5432 = call i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef nonnull %81) #13
  call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %81) #13
  %5433 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %80) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %80) #13
  %5434 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %74) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %74) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %40) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %39) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %38) #13
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %37) #13
  %5435 = call i32 @s2n_cleanup() #13
  %5436 = icmp eq i32 %5435, -1
  br i1 %5436, label %5437, label %5459

5437:                                             ; preds = %5431
  %5438 = load i32, ptr %1007, align 4, !tbaa !5
  %5439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5440 = call i32 @s2n_print_stacktrace(ptr noundef %5439) #13
  %5441 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5442 = trunc nuw i8 %5441 to i1
  br i1 %5442, label %5443, label %5447

5443:                                             ; preds = %5437
  %5444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5445 = call i32 @fileno(ptr noundef %5444) #13
  %5446 = call i32 @isatty(i32 noundef %5445) #13
  %.not619 = icmp eq i32 %5446, 0
  br i1 %.not619, label %5447, label %5448

5447:                                             ; preds = %5443, %5437
  br label %5448

5448:                                             ; preds = %5443, %5447
  %.str.4.sink2437 = phi ptr [ @.str.4, %5447 ], [ @.str, %5443 ]
  store i32 %5438, ptr %1007, align 4, !tbaa !5
  %5449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5450 = load i32, ptr @test_count, align 4, !tbaa !5
  %5451 = load i32, ptr %953, align 4, !tbaa !5
  %5452 = call ptr @s2n_strerror(i32 noundef %5451, ptr noundef nonnull @.str.3) #13
  %5453 = load i32, ptr %953, align 4, !tbaa !5
  %5454 = call ptr @s2n_strerror_debug(i32 noundef %5453, ptr noundef nonnull @.str.3) #13
  %5455 = load i32, ptr %1007, align 4, !tbaa !5
  %5456 = call ptr @strerror(i32 noundef %5455) #13
  %5457 = load i32, ptr %1007, align 4, !tbaa !5
  %5458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5449, ptr noundef nonnull %.str.4.sink2437, i32 noundef %5450, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.2, i32 noundef 669, ptr noundef %5452, ptr noundef %5454, ptr noundef %5456, i32 noundef %5457) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5459:                                             ; preds = %5431
  %5460 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #13
  %5461 = icmp eq i32 %5460, -1
  br i1 %5461, label %5462, label %5484

5462:                                             ; preds = %5459
  %5463 = load i32, ptr %1007, align 4, !tbaa !5
  %5464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5465 = call i32 @s2n_print_stacktrace(ptr noundef %5464) #13
  %5466 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5467 = trunc nuw i8 %5466 to i1
  br i1 %5467, label %5468, label %5472

5468:                                             ; preds = %5462
  %5469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5470 = call i32 @fileno(ptr noundef %5469) #13
  %5471 = call i32 @isatty(i32 noundef %5470) #13
  %.not618 = icmp eq i32 %5471, 0
  br i1 %.not618, label %5472, label %5473

5472:                                             ; preds = %5468, %5462
  br label %5473

5473:                                             ; preds = %5468, %5472
  %.str.4.sink2446 = phi ptr [ @.str.4, %5472 ], [ @.str, %5468 ]
  store i32 %5463, ptr %1007, align 4, !tbaa !5
  %5474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5475 = load i32, ptr @test_count, align 4, !tbaa !5
  %5476 = load i32, ptr %953, align 4, !tbaa !5
  %5477 = call ptr @s2n_strerror(i32 noundef %5476, ptr noundef nonnull @.str.3) #13
  %5478 = load i32, ptr %953, align 4, !tbaa !5
  %5479 = call ptr @s2n_strerror_debug(i32 noundef %5478, ptr noundef nonnull @.str.3) #13
  %5480 = load i32, ptr %1007, align 4, !tbaa !5
  %5481 = call ptr @strerror(i32 noundef %5480) #13
  %5482 = load i32, ptr %1007, align 4, !tbaa !5
  %5483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5474, ptr noundef nonnull %.str.4.sink2446, i32 noundef %5475, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.2, i32 noundef 669, ptr noundef %5477, ptr noundef %5479, ptr noundef %5481, i32 noundef %5482) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5484:                                             ; preds = %5459
  %5485 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5486 = trunc nuw i8 %5485 to i1
  br i1 %5486, label %5487, label %5498

5487:                                             ; preds = %5484
  %5488 = load ptr, ptr @stdout, align 8, !tbaa !9
  %5489 = call i32 @fileno(ptr noundef %5488) #13
  %5490 = call i32 @isatty(i32 noundef %5489) #13
  %.not615 = icmp eq i32 %5490, 0
  br i1 %.not615, label %5498, label %5491

5491:                                             ; preds = %5487
  %5492 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not617 = icmp eq i32 %5492, 0
  %5493 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not617, label %5496, label %5494

5494:                                             ; preds = %5491
  %5495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5493, ptr noundef nonnull @.str.105, i32 noundef %5492) #13
  br label %5505

5496:                                             ; preds = %5491
  %5497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5493, ptr noundef nonnull @.str.106) #13
  br label %5505

5498:                                             ; preds = %5487, %5484
  %5499 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not616 = icmp eq i32 %5499, 0
  %5500 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not616, label %5503, label %5501

5501:                                             ; preds = %5498
  %5502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5500, ptr noundef nonnull @.str.107, i32 noundef %5499) #13
  br label %5505

5503:                                             ; preds = %5498
  %5504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5500, ptr noundef nonnull @.str.108) #13
  br label %5505

5505:                                             ; preds = %5501, %5503, %5494, %5496
  %5506 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %4) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #13
  %5507 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %3) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #13
  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

declare i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_test_cert_chain_and_key_new(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare ptr @s2n_config_new() local_unnamed_addr #2

declare i32 @s2n_config_ptr_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_cipher_preferences(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_disable_x509_verification(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_peek(ptr noundef) local_unnamed_addr #2

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #8

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_config(ptr noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #9

declare i32 @s2n_io_pair_close(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connections_set_io_pair(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_negotiate_test_server_and_client(ptr noundef, ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_stuffer_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_growable_alloc(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_io_stuffers(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_wipe_n(ptr noundef, i32 noundef) local_unnamed_addr #2

declare zeroext i1 @s2n_is_tls13_fully_supported(...) local_unnamed_addr #2

declare void @s2n_atomic_flag_set(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_key_update_send(ptr noundef, ptr noundef) local_unnamed_addr #2

declare zeroext i1 @s2n_atomic_flag_test(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_recv_cb(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_recv_ctx(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_blinding(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_alloc(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_recv_multi_record(ptr noundef, i1 noundef zeroext) local_unnamed_addr #2

declare i32 @s2n_shutdown(ptr noundef, ptr noundef) local_unnamed_addr #2

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 void @s2n_ktls_configure_connection(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_ktls_io_stuffer_pair_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_test_init_ktls_io_stuffer(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_ktls_sendmsg(ptr noundef, i8 noundef zeroext, ptr noundef, i64 noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_ktls_set_recvmsg_cb(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

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

declare zeroext i1 @s2n_connection_check_io_status(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i64 @s2n_connection_get_delay(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_renegotiate_request_cb(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_cleanup() local_unnamed_addr #2

; Function Attrs: nofree nounwind willreturn memory(argmem: read)
declare i32 @bcmp(ptr nocapture, ptr nocapture, i64) local_unnamed_addr #11

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i64 @llvm.umin.i64(i64, i64) #12

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 = { nofree nounwind willreturn memory(argmem: read) }
attributes #12 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #13 = { nounwind }
attributes #14 = { nounwind willreturn memory(none) }
attributes #15 = { cold nounwind }
attributes #16 = { 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, !6, i64 1884}
!16 = !{!"s2n_connection", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !7, i64 80, !7, i64 102, !7, i64 124, !6, i64 148, !6, i64 152, !17, i64 160, !18, i64 168, !18, i64 176, !7, i64 184, !7, i64 216, !7, i64 217, !7, i64 218, !7, i64 219, !7, i64 220, !7, i64 221, !7, i64 222, !10, i64 224, !10, i64 232, !19, i64 240, !10, i64 632, !10, i64 640, !20, i64 648, !26, i64 1144, !29, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !32, i64 1776, !32, i64 1816, !32, i64 1856, !32, i64 1896, !6, i64 1936, !18, i64 1944, !7, i64 1952, !32, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !33, i64 2004, !33, i64 2008, !34, i64 2016, !31, i64 2208, !6, i64 2212, !31, i64 2216, !18, i64 2224, !7, i64 2232, !18, i64 2240, !18, i64 2248, !18, i64 2256, !33, i64 2264, !33, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !25, i64 2792, !6, i64 2816, !25, i64 2824, !25, i64 2848, !25, i64 2872, !36, i64 2896, !38, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !25, i64 3784, !6, i64 3808, !40, i64 3816, !7, i64 3848, !32, i64 3992, !25, i64 4032, !25, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !31, i64 4084, !31, i64 4086, !6, i64 4088, !6, i64 4092, !25, i64 4096, !6, i64 4120, !41, i64 4128, !33, i64 4176, !7, i64 4180, !7, i64 4181}
!17 = !{!"s2n_timer", !18, i64 0}
!18 = !{!"long", !7, i64 0}
!19 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!20 = !{!"s2n_kex_parameters", !21, i64 0, !22, i64 8, !7, i64 24, !22, i64 56, !23, i64 72, !23, i64 184, !7, i64 296, !24, i64 360, !25, i64 448, !25, i64 472}
!21 = !{!"s2n_dh_params", !10, i64 0}
!22 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!23 = !{!"s2n_kem_group_params", !10, i64 0, !24, i64 8, !22, i64 96}
!24 = !{!"s2n_kem_params", !10, i64 0, !25, i64 8, !25, i64 32, !25, i64 56, !12, i64 80}
!25 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!26 = !{!"s2n_handshake_parameters", !27, i64 0, !27, i64 48, !25, i64 96, !6, i64 120, !28, i64 124, !10, i64 384, !10, i64 392, !10, i64 400, !7, i64 408, !7, i64 440, !7, i64 472, !7, i64 473, !7, i64 474, !7, i64 506}
!27 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!28 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!29 = !{!"s2n_psk_parameters", !6, i64 0, !30, i64 8, !31, i64 40, !31, i64 42, !10, i64 48, !6, i64 56}
!30 = !{!"s2n_array", !25, i64 0, !6, i64 24, !6, i64 28}
!31 = !{!"short", !7, i64 0}
!32 = !{!"s2n_stuffer", !25, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!33 = !{!"", !6, i64 0}
!34 = !{!"s2n_handshake", !32, i64 0, !10, i64 40, !7, i64 48, !7, i64 56, !7, i64 104, !7, i64 152, !6, i64 156, !6, i64 160, !6, i64 164, !6, i64 168, !35, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!35 = !{!"s2n_offered_early_data", !10, i64 0}
!36 = !{!"s2n_client_hello", !25, i64 0, !37, i64 24, !25, i64 728, !25, i64 752, !25, i64 776, !7, i64 800, !7, i64 801, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802}
!37 = !{!"", !7, i64 0, !25, i64 672, !31, i64 696}
!38 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !31, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !39, i64 48, !12, i64 52}
!39 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!40 = !{!"s2n_ticket_fields", !25, i64 0, !6, i64 24}
!41 = !{!"s2n_post_handshake", !32, i64 0, !7, i64 40}
!42 = !{!16, !6, i64 1880}
!43 = !{!25, !10, i64 0}
!44 = !{!25, !6, i64 8}
!45 = distinct !{!45, !46}
!46 = !{!"llvm.loop.mustprogress"}
!47 = distinct !{!47, !46}
!48 = distinct !{!48, !46}
!49 = !{!50, !10, i64 0}
!50 = !{!"iovec", !10, i64 0, !18, i64 8}
!51 = !{!50, !18, i64 8}
!52 = !{!18, !18, i64 0}
!53 = !{!54, !18, i64 88}
!54 = !{!"s2n_test_ktls_io_stuffer", !32, i64 0, !32, i64 40, !18, i64 80, !18, i64 88}
!55 = distinct !{!55, !46}
!56 = distinct !{!56, !46}


; Effective O3 passes: ADCEPass,CorrelatedValuePropagationPass,DSEPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,LCSSAPass,LICMPass,LoopInstSimplifyPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass