; LLVM IR from aws/s2n-tls :: tests/unit (s2n_self_talk_io_mem_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.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
@test_count = external dso_local global i32, align 4
@stdout = external global ptr, align 8
@.str = external hidden unnamed_addr constant [19 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [84 x i8], align 1
@stderr = external global ptr, align 8
@.str.2 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [52 x i8], align 1
@s2n_errno = external thread_local global i32, align 4
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [149 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [121 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [110 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [129 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [71 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local i32 @main(i32 noundef %0, ptr noundef %1) #0 {
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca ptr, align 8
  %12 = alloca i32, align 4
  %13 = alloca ptr, align 8
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca ptr, align 8
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca ptr, align 8
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca %struct.s2n_test_io_pair, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca %struct.s2n_result, align 4
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca ptr, align 8
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca ptr, align 8
  %42 = alloca i32, align 4
  %43 = alloca i32, align 4
  %44 = alloca %struct.s2n_test_io_pair, align 4
  %45 = alloca i32, align 4
  %46 = alloca i32, align 4
  %47 = alloca i32, align 4
  %48 = alloca i32, align 4
  %49 = alloca i32, align 4
  %50 = alloca %struct.s2n_result, align 4
  %51 = alloca i32, align 4
  %52 = alloca i32, align 4
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca i32, align 4
  %56 = alloca i32, align 4
  %57 = alloca i32, align 4
  %58 = alloca i32, align 4
  %59 = alloca i32, align 4
  %60 = alloca i32, align 4
  %61 = alloca i32, align 4
  %62 = alloca i32, align 4
  %63 = alloca i32, align 4
  %64 = alloca i32, align 4
  %65 = alloca i32, align 4
  %66 = alloca i32, align 4
  %67 = alloca i16, align 2
  %68 = alloca ptr, align 8
  %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 ptr, align 8
  %76 = alloca i32, align 4
  %77 = alloca i32, align 4
  %78 = alloca ptr, align 8
  %79 = alloca i32, align 4
  %80 = alloca i32, align 4
  %81 = alloca %struct.s2n_test_io_pair, align 4
  %82 = alloca i32, align 4
  %83 = alloca i32, align 4
  %84 = alloca i32, align 4
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca %struct.s2n_result, align 4
  %88 = alloca i32, align 4
  %89 = alloca i32, align 4
  %90 = alloca i32, align 4
  %91 = alloca i32, align 4
  %92 = alloca i32, align 4
  %93 = alloca i32, align 4
  %94 = alloca i32, align 4
  %95 = alloca i32, align 4
  %96 = alloca i32, align 4
  %97 = alloca i32, align 4
  %98 = alloca ptr, align 8
  %99 = alloca i32, align 4
  %100 = alloca i32, align 4
  %101 = alloca ptr, align 8
  %102 = alloca i32, align 4
  %103 = alloca i32, align 4
  %104 = alloca i32, align 4
  %105 = alloca i32, align 4
  %106 = alloca i32, align 4
  %107 = alloca i32, align 4
  %108 = alloca %struct.s2n_test_io_pair, align 4
  %109 = alloca i32, align 4
  %110 = alloca i32, align 4
  %111 = alloca i32, align 4
  %112 = alloca %struct.s2n_result, align 4
  %113 = alloca i32, align 4
  %114 = alloca i32, align 4
  %115 = alloca i32, align 4
  %116 = alloca i32, align 4
  %117 = alloca i32, align 4
  %118 = alloca i32, align 4
  %119 = alloca i32, align 4
  %120 = alloca i32, align 4
  %121 = alloca i32, align 4
  %122 = alloca i32, align 4
  %123 = alloca i32, align 4
  %124 = alloca i32, align 4
  %125 = alloca i32, align 4
  %126 = alloca ptr, align 8
  %127 = alloca i32, align 4
  %128 = alloca i32, align 4
  %129 = alloca ptr, align 8
  %130 = alloca i32, align 4
  %131 = alloca i32, align 4
  %132 = alloca i32, align 4
  %133 = alloca i32, align 4
  %134 = alloca %struct.s2n_stuffer, align 8
  %135 = alloca %struct.s2n_stuffer, align 8
  %136 = alloca i32, align 4
  %137 = alloca i32, align 4
  %138 = alloca i32, align 4
  %139 = alloca i32, align 4
  %140 = alloca i32, align 4
  %141 = alloca i32, align 4
  %142 = alloca i32, align 4
  %143 = alloca i32, align 4
  %144 = alloca i32, align 4
  %145 = alloca i32, align 4
  %146 = alloca i32, align 4
  %147 = alloca i32, align 4
  %148 = alloca [4096 x i8], align 16
  %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 i32, align 4
  %161 = alloca i32, align 4
  %162 = alloca %struct.s2n_result, align 4
  %163 = alloca %struct.s2n_result, align 4
  %164 = alloca i32, align 4
  %165 = alloca i32, align 4
  %166 = alloca i32, align 4
  %167 = alloca i32, align 4
  %168 = alloca i32, align 4
  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 %169

169:                                              ; preds = %2
  br label %170

170:                                              ; preds = %169
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %171 = load ptr, ptr @stdout, align 8, !tbaa !9
  %172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %171, ptr noundef @.str, ptr noundef @.str.1) #9
  %173 = load ptr, ptr @stdout, align 8, !tbaa !9
  %174 = call i32 @fflush(ptr noundef %173)
  br label %175

175:                                              ; preds = %170
  %176 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %177 = icmp eq i32 %176, -1
  br i1 %177, label %178, label %229

178:                                              ; preds = %175
  br label %179

179:                                              ; preds = %178
  br label %180

180:                                              ; preds = %179
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #9
  %181 = call ptr @__errno_location() #10
  %182 = load i32, ptr %181, align 4, !tbaa !5
  store i32 %182, ptr %6, align 4, !tbaa !5
  %183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %184 = call i32 @s2n_print_stacktrace(ptr noundef %183)
  %185 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %186 = trunc i8 %185 to i1
  br i1 %186, label %187, label %209

187:                                              ; preds = %180
  %188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %189 = call i32 @fileno(ptr noundef %188) #9
  %190 = call i32 @isatty(i32 noundef %189) #9
  %191 = icmp ne i32 %190, 0
  br i1 %191, label %192, label %209

192:                                              ; preds = %187
  %193 = load i32, ptr %6, align 4, !tbaa !5
  %194 = call ptr @__errno_location() #10
  store i32 %193, ptr %194, align 4, !tbaa !5
  %195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %196 = load i32, ptr @test_count, align 4, !tbaa !5
  %197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %198 = load i32, ptr %197, align 4, !tbaa !5
  %199 = call ptr @s2n_strerror(i32 noundef %198, ptr noundef @.str.4)
  %200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %201 = load i32, ptr %200, align 4, !tbaa !5
  %202 = call ptr @s2n_strerror_debug(i32 noundef %201, ptr noundef @.str.4)
  %203 = call ptr @__errno_location() #10
  %204 = load i32, ptr %203, align 4, !tbaa !5
  %205 = call ptr @strerror(i32 noundef %204) #9
  %206 = call ptr @__errno_location() #10
  %207 = load i32, ptr %206, align 4, !tbaa !5
  %208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %195, ptr noundef @.str.2, i32 noundef %196, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 30, ptr noundef %199, ptr noundef %202, ptr noundef %205, i32 noundef %207) #9
  br label %226

209:                                              ; preds = %187, %180
  %210 = load i32, ptr %6, align 4, !tbaa !5
  %211 = call ptr @__errno_location() #10
  store i32 %210, ptr %211, align 4, !tbaa !5
  %212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %213 = load i32, ptr @test_count, align 4, !tbaa !5
  %214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %215 = load i32, ptr %214, align 4, !tbaa !5
  %216 = call ptr @s2n_strerror(i32 noundef %215, ptr noundef @.str.4)
  %217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %218 = load i32, ptr %217, align 4, !tbaa !5
  %219 = call ptr @s2n_strerror_debug(i32 noundef %218, ptr noundef @.str.4)
  %220 = call ptr @__errno_location() #10
  %221 = load i32, ptr %220, align 4, !tbaa !5
  %222 = call ptr @strerror(i32 noundef %221) #9
  %223 = call ptr @__errno_location() #10
  %224 = load i32, ptr %223, align 4, !tbaa !5
  %225 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %212, ptr noundef @.str.5, i32 noundef %213, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 30, ptr noundef %216, ptr noundef %219, ptr noundef %222, i32 noundef %224) #9
  br label %226

226:                                              ; preds = %209, %192
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #9
  br label %227

227:                                              ; preds = %226
  call void @exit(i32 noundef 1) #11
  unreachable

228:                                              ; No predecessors!
  br label %229

229:                                              ; preds = %228, %175
  br label %230

230:                                              ; preds = %229
  br label %231

231:                                              ; preds = %230
  %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_enable_atexit()
  %235 = icmp eq i32 %234, -1
  br i1 %235, label %236, label %287

236:                                              ; preds = %231
  br label %237

237:                                              ; preds = %236
  br label %238

238:                                              ; preds = %237
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #9
  %239 = call ptr @__errno_location() #10
  %240 = load i32, ptr %239, align 4, !tbaa !5
  store i32 %240, ptr %7, align 4, !tbaa !5
  %241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %242 = call i32 @s2n_print_stacktrace(ptr noundef %241)
  %243 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %244 = trunc i8 %243 to i1
  br i1 %244, label %245, label %267

245:                                              ; preds = %238
  %246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %247 = call i32 @fileno(ptr noundef %246) #9
  %248 = call i32 @isatty(i32 noundef %247) #9
  %249 = icmp ne i32 %248, 0
  br i1 %249, label %250, label %267

250:                                              ; preds = %245
  %251 = load i32, ptr %7, align 4, !tbaa !5
  %252 = call ptr @__errno_location() #10
  store i32 %251, ptr %252, align 4, !tbaa !5
  %253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %254 = load i32, ptr @test_count, align 4, !tbaa !5
  %255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %256 = load i32, ptr %255, align 4, !tbaa !5
  %257 = call ptr @s2n_strerror(i32 noundef %256, ptr noundef @.str.4)
  %258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %259 = load i32, ptr %258, align 4, !tbaa !5
  %260 = call ptr @s2n_strerror_debug(i32 noundef %259, ptr noundef @.str.4)
  %261 = call ptr @__errno_location() #10
  %262 = load i32, ptr %261, align 4, !tbaa !5
  %263 = call ptr @strerror(i32 noundef %262) #9
  %264 = call ptr @__errno_location() #10
  %265 = load i32, ptr %264, align 4, !tbaa !5
  %266 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %253, ptr noundef @.str.2, i32 noundef %254, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 30, ptr noundef %257, ptr noundef %260, ptr noundef %263, i32 noundef %265) #9
  br label %284

267:                                              ; preds = %245, %238
  %268 = load i32, ptr %7, align 4, !tbaa !5
  %269 = call ptr @__errno_location() #10
  store i32 %268, ptr %269, align 4, !tbaa !5
  %270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %271 = load i32, ptr @test_count, align 4, !tbaa !5
  %272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %273 = load i32, ptr %272, align 4, !tbaa !5
  %274 = call ptr @s2n_strerror(i32 noundef %273, ptr noundef @.str.4)
  %275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %276 = load i32, ptr %275, align 4, !tbaa !5
  %277 = call ptr @s2n_strerror_debug(i32 noundef %276, ptr noundef @.str.4)
  %278 = call ptr @__errno_location() #10
  %279 = load i32, ptr %278, align 4, !tbaa !5
  %280 = call ptr @strerror(i32 noundef %279) #9
  %281 = call ptr @__errno_location() #10
  %282 = load i32, ptr %281, align 4, !tbaa !5
  %283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %270, ptr noundef @.str.5, i32 noundef %271, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 30, ptr noundef %274, ptr noundef %277, ptr noundef %280, i32 noundef %282) #9
  br label %284

284:                                              ; preds = %267, %250
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #9
  br label %285

285:                                              ; preds = %284
  call void @exit(i32 noundef 1) #11
  unreachable

286:                                              ; No predecessors!
  br label %287

287:                                              ; preds = %286, %231
  br label %288

288:                                              ; preds = %287
  br label %289

289:                                              ; preds = %288
  br label %290

290:                                              ; preds = %289
  %291 = call i32 @s2n_init()
  %292 = icmp eq i32 %291, -1
  br i1 %292, label %293, label %344

293:                                              ; preds = %290
  br label %294

294:                                              ; preds = %293
  br label %295

295:                                              ; preds = %294
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #9
  %296 = call ptr @__errno_location() #10
  %297 = load i32, ptr %296, align 4, !tbaa !5
  store i32 %297, ptr %8, align 4, !tbaa !5
  %298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %299 = call i32 @s2n_print_stacktrace(ptr noundef %298)
  %300 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %301 = trunc i8 %300 to i1
  br i1 %301, label %302, label %324

302:                                              ; preds = %295
  %303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %304 = call i32 @fileno(ptr noundef %303) #9
  %305 = call i32 @isatty(i32 noundef %304) #9
  %306 = icmp ne i32 %305, 0
  br i1 %306, label %307, label %324

307:                                              ; preds = %302
  %308 = load i32, ptr %8, align 4, !tbaa !5
  %309 = call ptr @__errno_location() #10
  store i32 %308, ptr %309, align 4, !tbaa !5
  %310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %311 = load i32, ptr @test_count, align 4, !tbaa !5
  %312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %313 = load i32, ptr %312, align 4, !tbaa !5
  %314 = call ptr @s2n_strerror(i32 noundef %313, ptr noundef @.str.4)
  %315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %316 = load i32, ptr %315, align 4, !tbaa !5
  %317 = call ptr @s2n_strerror_debug(i32 noundef %316, ptr noundef @.str.4)
  %318 = call ptr @__errno_location() #10
  %319 = load i32, ptr %318, align 4, !tbaa !5
  %320 = call ptr @strerror(i32 noundef %319) #9
  %321 = call ptr @__errno_location() #10
  %322 = load i32, ptr %321, align 4, !tbaa !5
  %323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %310, ptr noundef @.str.2, i32 noundef %311, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 30, ptr noundef %314, ptr noundef %317, ptr noundef %320, i32 noundef %322) #9
  br label %341

324:                                              ; preds = %302, %295
  %325 = load i32, ptr %8, align 4, !tbaa !5
  %326 = call ptr @__errno_location() #10
  store i32 %325, ptr %326, align 4, !tbaa !5
  %327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %328 = load i32, ptr @test_count, align 4, !tbaa !5
  %329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %330 = load i32, ptr %329, align 4, !tbaa !5
  %331 = call ptr @s2n_strerror(i32 noundef %330, ptr noundef @.str.4)
  %332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %333 = load i32, ptr %332, align 4, !tbaa !5
  %334 = call ptr @s2n_strerror_debug(i32 noundef %333, ptr noundef @.str.4)
  %335 = call ptr @__errno_location() #10
  %336 = load i32, ptr %335, align 4, !tbaa !5
  %337 = call ptr @strerror(i32 noundef %336) #9
  %338 = call ptr @__errno_location() #10
  %339 = load i32, ptr %338, align 4, !tbaa !5
  %340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %327, ptr noundef @.str.5, i32 noundef %328, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 30, ptr noundef %331, ptr noundef %334, ptr noundef %337, i32 noundef %339) #9
  br label %341

341:                                              ; preds = %324, %307
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #9
  br label %342

342:                                              ; preds = %341
  call void @exit(i32 noundef 1) #11
  unreachable

343:                                              ; No predecessors!
  br label %344

344:                                              ; preds = %343, %290
  br label %345

345:                                              ; preds = %344
  br label %346

346:                                              ; preds = %345
  %347 = call zeroext i1 (...) @s2n_is_tls13_fully_supported()
  br i1 %347, label %495, label %348

348:                                              ; preds = %346
  br label %349

349:                                              ; preds = %348
  br label %350

350:                                              ; preds = %349
  %351 = call i32 @s2n_cleanup()
  %352 = icmp eq i32 %351, -1
  br i1 %352, label %353, label %404

353:                                              ; preds = %350
  br label %354

354:                                              ; preds = %353
  br label %355

355:                                              ; preds = %354
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #9
  %356 = call ptr @__errno_location() #10
  %357 = load i32, ptr %356, align 4, !tbaa !5
  store i32 %357, ptr %9, align 4, !tbaa !5
  %358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %359 = call i32 @s2n_print_stacktrace(ptr noundef %358)
  %360 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %361 = trunc i8 %360 to i1
  br i1 %361, label %362, label %384

362:                                              ; preds = %355
  %363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %364 = call i32 @fileno(ptr noundef %363) #9
  %365 = call i32 @isatty(i32 noundef %364) #9
  %366 = icmp ne i32 %365, 0
  br i1 %366, label %367, label %384

367:                                              ; preds = %362
  %368 = load i32, ptr %9, align 4, !tbaa !5
  %369 = call ptr @__errno_location() #10
  store i32 %368, ptr %369, align 4, !tbaa !5
  %370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %371 = load i32, ptr @test_count, align 4, !tbaa !5
  %372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %373 = load i32, ptr %372, align 4, !tbaa !5
  %374 = call ptr @s2n_strerror(i32 noundef %373, ptr noundef @.str.4)
  %375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %376 = load i32, ptr %375, align 4, !tbaa !5
  %377 = call ptr @s2n_strerror_debug(i32 noundef %376, ptr noundef @.str.4)
  %378 = call ptr @__errno_location() #10
  %379 = load i32, ptr %378, align 4, !tbaa !5
  %380 = call ptr @strerror(i32 noundef %379) #9
  %381 = call ptr @__errno_location() #10
  %382 = load i32, ptr %381, align 4, !tbaa !5
  %383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %370, ptr noundef @.str.2, i32 noundef %371, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 33, ptr noundef %374, ptr noundef %377, ptr noundef %380, i32 noundef %382) #9
  br label %401

384:                                              ; preds = %362, %355
  %385 = load i32, ptr %9, align 4, !tbaa !5
  %386 = call ptr @__errno_location() #10
  store i32 %385, ptr %386, align 4, !tbaa !5
  %387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %388 = load i32, ptr @test_count, align 4, !tbaa !5
  %389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %390 = load i32, ptr %389, align 4, !tbaa !5
  %391 = call ptr @s2n_strerror(i32 noundef %390, ptr noundef @.str.4)
  %392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %393 = load i32, ptr %392, align 4, !tbaa !5
  %394 = call ptr @s2n_strerror_debug(i32 noundef %393, ptr noundef @.str.4)
  %395 = call ptr @__errno_location() #10
  %396 = load i32, ptr %395, align 4, !tbaa !5
  %397 = call ptr @strerror(i32 noundef %396) #9
  %398 = call ptr @__errno_location() #10
  %399 = load i32, ptr %398, align 4, !tbaa !5
  %400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %387, ptr noundef @.str.5, i32 noundef %388, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 33, ptr noundef %391, ptr noundef %394, ptr noundef %397, i32 noundef %399) #9
  br label %401

401:                                              ; preds = %384, %367
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #9
  br label %402

402:                                              ; preds = %401
  call void @exit(i32 noundef 1) #11
  unreachable

403:                                              ; No predecessors!
  br label %404

404:                                              ; preds = %403, %350
  br label %405

405:                                              ; preds = %404
  br label %406

406:                                              ; preds = %405
  br label %407

407:                                              ; preds = %406
  %408 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %409 = icmp eq i32 %408, -1
  br i1 %409, label %410, label %461

410:                                              ; preds = %407
  br label %411

411:                                              ; preds = %410
  br label %412

412:                                              ; preds = %411
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #9
  %413 = call ptr @__errno_location() #10
  %414 = load i32, ptr %413, align 4, !tbaa !5
  store i32 %414, ptr %10, align 4, !tbaa !5
  %415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %416 = call i32 @s2n_print_stacktrace(ptr noundef %415)
  %417 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %418 = trunc i8 %417 to i1
  br i1 %418, label %419, label %441

419:                                              ; preds = %412
  %420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %421 = call i32 @fileno(ptr noundef %420) #9
  %422 = call i32 @isatty(i32 noundef %421) #9
  %423 = icmp ne i32 %422, 0
  br i1 %423, label %424, label %441

424:                                              ; preds = %419
  %425 = load i32, ptr %10, align 4, !tbaa !5
  %426 = call ptr @__errno_location() #10
  store i32 %425, ptr %426, 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 @.str.4)
  %432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %433 = load i32, ptr %432, align 4, !tbaa !5
  %434 = call ptr @s2n_strerror_debug(i32 noundef %433, ptr noundef @.str.4)
  %435 = call ptr @__errno_location() #10
  %436 = load i32, ptr %435, align 4, !tbaa !5
  %437 = call ptr @strerror(i32 noundef %436) #9
  %438 = call ptr @__errno_location() #10
  %439 = load i32, ptr %438, align 4, !tbaa !5
  %440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %427, ptr noundef @.str.2, i32 noundef %428, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 33, ptr noundef %431, ptr noundef %434, ptr noundef %437, i32 noundef %439) #9
  br label %458

441:                                              ; preds = %419, %412
  %442 = load i32, ptr %10, align 4, !tbaa !5
  %443 = call ptr @__errno_location() #10
  store i32 %442, ptr %443, align 4, !tbaa !5
  %444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %445 = load i32, ptr @test_count, align 4, !tbaa !5
  %446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %447 = load i32, ptr %446, align 4, !tbaa !5
  %448 = call ptr @s2n_strerror(i32 noundef %447, ptr noundef @.str.4)
  %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_debug(i32 noundef %450, ptr noundef @.str.4)
  %452 = call ptr @__errno_location() #10
  %453 = load i32, ptr %452, align 4, !tbaa !5
  %454 = call ptr @strerror(i32 noundef %453) #9
  %455 = call ptr @__errno_location() #10
  %456 = load i32, ptr %455, align 4, !tbaa !5
  %457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %444, ptr noundef @.str.5, i32 noundef %445, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 33, ptr noundef %448, ptr noundef %451, ptr noundef %454, i32 noundef %456) #9
  br label %458

458:                                              ; preds = %441, %424
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #9
  br label %459

459:                                              ; preds = %458
  call void @exit(i32 noundef 1) #11
  unreachable

460:                                              ; No predecessors!
  br label %461

461:                                              ; preds = %460, %407
  br label %462

462:                                              ; preds = %461
  %463 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %464 = trunc i8 %463 to i1
  br i1 %464, label %465, label %481

465:                                              ; preds = %462
  %466 = load ptr, ptr @stdout, align 8, !tbaa !9
  %467 = call i32 @fileno(ptr noundef %466) #9
  %468 = call i32 @isatty(i32 noundef %467) #9
  %469 = icmp ne i32 %468, 0
  br i1 %469, label %470, label %481

470:                                              ; preds = %465
  %471 = load i32, ptr @test_count, align 4, !tbaa !5
  %472 = icmp ne i32 %471, 0
  br i1 %472, label %473, label %477

473:                                              ; preds = %470
  %474 = load ptr, ptr @stdout, align 8, !tbaa !9
  %475 = load i32, ptr @test_count, align 4, !tbaa !5
  %476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %474, ptr noundef @.str.10, i32 noundef %475) #9
  br label %480

477:                                              ; preds = %470
  %478 = load ptr, ptr @stdout, align 8, !tbaa !9
  %479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %478, ptr noundef @.str.11) #9
  br label %480

480:                                              ; preds = %477, %473
  br label %492

481:                                              ; preds = %465, %462
  %482 = load i32, ptr @test_count, align 4, !tbaa !5
  %483 = icmp ne i32 %482, 0
  br i1 %483, label %484, label %488

484:                                              ; preds = %481
  %485 = load ptr, ptr @stdout, align 8, !tbaa !9
  %486 = load i32, ptr @test_count, align 4, !tbaa !5
  %487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %485, ptr noundef @.str.12, i32 noundef %486) #9
  br label %491

488:                                              ; preds = %481
  %489 = load ptr, ptr @stdout, align 8, !tbaa !9
  %490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %489, ptr noundef @.str.13) #9
  br label %491

491:                                              ; preds = %488, %484
  br label %492

492:                                              ; preds = %491, %480
  store i32 0, ptr %3, align 4
  br label %8557

493:                                              ; No predecessors!
  br label %494

494:                                              ; preds = %493
  br label %495

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

496:                                              ; preds = %495
  %497 = load i32, ptr @test_count, align 4, !tbaa !5
  %498 = add nsw i32 %497, 1
  store i32 %498, ptr @test_count, align 4, !tbaa !5
  %499 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %11, ptr noundef @.str.14, ptr noundef @.str.15)
  %500 = icmp eq i32 %499, -1
  br i1 %500, label %501, label %554

501:                                              ; preds = %496
  br label %502

502:                                              ; preds = %501
  br label %503

503:                                              ; preds = %502
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #9
  %504 = call ptr @__errno_location() #10
  %505 = load i32, ptr %504, align 4, !tbaa !5
  store i32 %505, ptr %12, align 4, !tbaa !5
  %506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %507 = call i32 @s2n_print_stacktrace(ptr noundef %506)
  %508 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %509 = trunc i8 %508 to i1
  br i1 %509, label %510, label %532

510:                                              ; preds = %503
  %511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %512 = call i32 @fileno(ptr noundef %511) #9
  %513 = call i32 @isatty(i32 noundef %512) #9
  %514 = icmp ne i32 %513, 0
  br i1 %514, label %515, label %532

515:                                              ; preds = %510
  %516 = load i32, ptr %12, align 4, !tbaa !5
  %517 = call ptr @__errno_location() #10
  store i32 %516, ptr %517, 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 @.str.4)
  %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_debug(i32 noundef %524, ptr noundef @.str.4)
  %526 = call ptr @__errno_location() #10
  %527 = load i32, ptr %526, align 4, !tbaa !5
  %528 = call ptr @strerror(i32 noundef %527) #9
  %529 = call ptr @__errno_location() #10
  %530 = load i32, ptr %529, align 4, !tbaa !5
  %531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %518, ptr noundef @.str.2, i32 noundef %519, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 38, ptr noundef %522, ptr noundef %525, ptr noundef %528, i32 noundef %530) #9
  br label %549

532:                                              ; preds = %510, %503
  %533 = load i32, ptr %12, align 4, !tbaa !5
  %534 = call ptr @__errno_location() #10
  store i32 %533, ptr %534, align 4, !tbaa !5
  %535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %536 = load i32, ptr @test_count, align 4, !tbaa !5
  %537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %538 = load i32, ptr %537, align 4, !tbaa !5
  %539 = call ptr @s2n_strerror(i32 noundef %538, ptr noundef @.str.4)
  %540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %541 = load i32, ptr %540, align 4, !tbaa !5
  %542 = call ptr @s2n_strerror_debug(i32 noundef %541, ptr noundef @.str.4)
  %543 = call ptr @__errno_location() #10
  %544 = load i32, ptr %543, align 4, !tbaa !5
  %545 = call ptr @strerror(i32 noundef %544) #9
  %546 = call ptr @__errno_location() #10
  %547 = load i32, ptr %546, align 4, !tbaa !5
  %548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %535, ptr noundef @.str.5, i32 noundef %536, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 38, ptr noundef %539, ptr noundef %542, ptr noundef %545, i32 noundef %547) #9
  br label %549

549:                                              ; preds = %532, %515
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #9
  br label %550

550:                                              ; preds = %549
  br label %551

551:                                              ; preds = %550
  call void @exit(i32 noundef 1) #11
  unreachable

552:                                              ; No predecessors!
  br label %553

553:                                              ; preds = %552
  br label %554

554:                                              ; preds = %553, %496
  br label %555

555:                                              ; preds = %554
  br label %556

556:                                              ; preds = %555
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #9
  %557 = call ptr @s2n_config_new()
  store ptr %557, ptr %13, align 8, !tbaa !9
  br label %558

558:                                              ; preds = %556
  %559 = load i32, ptr @test_count, align 4, !tbaa !5
  %560 = add nsw i32 %559, 1
  store i32 %560, ptr @test_count, align 4, !tbaa !5
  %561 = load ptr, ptr %13, align 8, !tbaa !9
  %562 = icmp eq ptr %561, null
  br i1 %562, label %563, label %616

563:                                              ; preds = %558
  br label %564

564:                                              ; preds = %563
  br label %565

565:                                              ; preds = %564
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #9
  %566 = call ptr @__errno_location() #10
  %567 = load i32, ptr %566, align 4, !tbaa !5
  store i32 %567, ptr %14, align 4, !tbaa !5
  %568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %569 = call i32 @s2n_print_stacktrace(ptr noundef %568)
  %570 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %571 = trunc i8 %570 to i1
  br i1 %571, label %572, label %594

572:                                              ; preds = %565
  %573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %574 = call i32 @fileno(ptr noundef %573) #9
  %575 = call i32 @isatty(i32 noundef %574) #9
  %576 = icmp ne i32 %575, 0
  br i1 %576, label %577, label %594

577:                                              ; preds = %572
  %578 = load i32, ptr %14, align 4, !tbaa !5
  %579 = call ptr @__errno_location() #10
  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.4)
  %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.4)
  %588 = call ptr @__errno_location() #10
  %589 = load i32, ptr %588, align 4, !tbaa !5
  %590 = call ptr @strerror(i32 noundef %589) #9
  %591 = call ptr @__errno_location() #10
  %592 = load i32, ptr %591, align 4, !tbaa !5
  %593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %580, ptr noundef @.str.2, i32 noundef %581, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 41, ptr noundef %584, ptr noundef %587, ptr noundef %590, i32 noundef %592) #9
  br label %611

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

611:                                              ; preds = %594, %577
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #9
  br label %612

612:                                              ; preds = %611
  br label %613

613:                                              ; preds = %612
  call void @exit(i32 noundef 1) #11
  unreachable

614:                                              ; No predecessors!
  br label %615

615:                                              ; preds = %614
  br label %616

616:                                              ; preds = %615, %558
  br label %617

617:                                              ; preds = %616
  br label %618

618:                                              ; preds = %617
  br label %619

619:                                              ; preds = %618
  %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 %13, align 8, !tbaa !9
  %623 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %622, ptr noundef @.str.18)
  %624 = icmp eq i32 %623, -1
  br i1 %624, label %625, label %678

625:                                              ; preds = %619
  br label %626

626:                                              ; preds = %625
  br label %627

627:                                              ; preds = %626
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #9
  %628 = call ptr @__errno_location() #10
  %629 = load i32, ptr %628, align 4, !tbaa !5
  store i32 %629, ptr %15, align 4, !tbaa !5
  %630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %631 = call i32 @s2n_print_stacktrace(ptr noundef %630)
  %632 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %633 = trunc i8 %632 to i1
  br i1 %633, label %634, label %656

634:                                              ; preds = %627
  %635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %636 = call i32 @fileno(ptr noundef %635) #9
  %637 = call i32 @isatty(i32 noundef %636) #9
  %638 = icmp ne i32 %637, 0
  br i1 %638, label %639, label %656

639:                                              ; preds = %634
  %640 = load i32, ptr %15, align 4, !tbaa !5
  %641 = call ptr @__errno_location() #10
  store i32 %640, ptr %641, align 4, !tbaa !5
  %642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %643 = load i32, ptr @test_count, align 4, !tbaa !5
  %644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %645 = load i32, ptr %644, align 4, !tbaa !5
  %646 = call ptr @s2n_strerror(i32 noundef %645, ptr noundef @.str.4)
  %647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %648 = load i32, ptr %647, align 4, !tbaa !5
  %649 = call ptr @s2n_strerror_debug(i32 noundef %648, ptr noundef @.str.4)
  %650 = call ptr @__errno_location() #10
  %651 = load i32, ptr %650, align 4, !tbaa !5
  %652 = call ptr @strerror(i32 noundef %651) #9
  %653 = call ptr @__errno_location() #10
  %654 = load i32, ptr %653, align 4, !tbaa !5
  %655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %642, ptr noundef @.str.2, i32 noundef %643, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 42, ptr noundef %646, ptr noundef %649, ptr noundef %652, i32 noundef %654) #9
  br label %673

656:                                              ; preds = %634, %627
  %657 = load i32, ptr %15, align 4, !tbaa !5
  %658 = call ptr @__errno_location() #10
  store i32 %657, ptr %658, align 4, !tbaa !5
  %659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %660 = load i32, ptr @test_count, align 4, !tbaa !5
  %661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %662 = load i32, ptr %661, align 4, !tbaa !5
  %663 = call ptr @s2n_strerror(i32 noundef %662, ptr noundef @.str.4)
  %664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %665 = load i32, ptr %664, align 4, !tbaa !5
  %666 = call ptr @s2n_strerror_debug(i32 noundef %665, ptr noundef @.str.4)
  %667 = call ptr @__errno_location() #10
  %668 = load i32, ptr %667, align 4, !tbaa !5
  %669 = call ptr @strerror(i32 noundef %668) #9
  %670 = call ptr @__errno_location() #10
  %671 = load i32, ptr %670, align 4, !tbaa !5
  %672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %659, ptr noundef @.str.5, i32 noundef %660, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 42, ptr noundef %663, ptr noundef %666, ptr noundef %669, i32 noundef %671) #9
  br label %673

673:                                              ; preds = %656, %639
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #9
  br label %674

674:                                              ; preds = %673
  br label %675

675:                                              ; preds = %674
  call void @exit(i32 noundef 1) #11
  unreachable

676:                                              ; No predecessors!
  br label %677

677:                                              ; preds = %676
  br label %678

678:                                              ; preds = %677, %619
  br label %679

679:                                              ; preds = %678
  br label %680

680:                                              ; preds = %679
  br label %681

681:                                              ; preds = %680
  %682 = load i32, ptr @test_count, align 4, !tbaa !5
  %683 = add nsw i32 %682, 1
  store i32 %683, ptr @test_count, align 4, !tbaa !5
  %684 = load ptr, ptr %13, align 8, !tbaa !9
  %685 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %684)
  %686 = icmp eq i32 %685, -1
  br i1 %686, label %687, label %740

687:                                              ; preds = %681
  br label %688

688:                                              ; preds = %687
  br label %689

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

696:                                              ; preds = %689
  %697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %698 = call i32 @fileno(ptr noundef %697) #9
  %699 = call i32 @isatty(i32 noundef %698) #9
  %700 = icmp ne i32 %699, 0
  br i1 %700, label %701, label %718

701:                                              ; preds = %696
  %702 = load i32, ptr %16, align 4, !tbaa !5
  %703 = call ptr @__errno_location() #10
  store i32 %702, ptr %703, align 4, !tbaa !5
  %704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %705 = load i32, ptr @test_count, align 4, !tbaa !5
  %706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %707 = load i32, ptr %706, align 4, !tbaa !5
  %708 = call ptr @s2n_strerror(i32 noundef %707, ptr noundef @.str.4)
  %709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %710 = load i32, ptr %709, align 4, !tbaa !5
  %711 = call ptr @s2n_strerror_debug(i32 noundef %710, ptr noundef @.str.4)
  %712 = call ptr @__errno_location() #10
  %713 = load i32, ptr %712, align 4, !tbaa !5
  %714 = call ptr @strerror(i32 noundef %713) #9
  %715 = call ptr @__errno_location() #10
  %716 = load i32, ptr %715, align 4, !tbaa !5
  %717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %704, ptr noundef @.str.2, i32 noundef %705, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 43, ptr noundef %708, ptr noundef %711, ptr noundef %714, i32 noundef %716) #9
  br label %735

718:                                              ; preds = %696, %689
  %719 = load i32, ptr %16, align 4, !tbaa !5
  %720 = call ptr @__errno_location() #10
  store i32 %719, ptr %720, align 4, !tbaa !5
  %721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %722 = load i32, ptr @test_count, align 4, !tbaa !5
  %723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %724 = load i32, ptr %723, align 4, !tbaa !5
  %725 = call ptr @s2n_strerror(i32 noundef %724, ptr noundef @.str.4)
  %726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %727 = load i32, ptr %726, align 4, !tbaa !5
  %728 = call ptr @s2n_strerror_debug(i32 noundef %727, ptr noundef @.str.4)
  %729 = call ptr @__errno_location() #10
  %730 = load i32, ptr %729, align 4, !tbaa !5
  %731 = call ptr @strerror(i32 noundef %730) #9
  %732 = call ptr @__errno_location() #10
  %733 = load i32, ptr %732, align 4, !tbaa !5
  %734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %721, ptr noundef @.str.5, i32 noundef %722, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 43, ptr noundef %725, ptr noundef %728, ptr noundef %731, i32 noundef %733) #9
  br label %735

735:                                              ; preds = %718, %701
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #9
  br label %736

736:                                              ; preds = %735
  br label %737

737:                                              ; preds = %736
  call void @exit(i32 noundef 1) #11
  unreachable

738:                                              ; No predecessors!
  br label %739

739:                                              ; preds = %738
  br label %740

740:                                              ; preds = %739, %681
  br label %741

741:                                              ; preds = %740
  br label %742

742:                                              ; preds = %741
  br label %743

743:                                              ; preds = %742
  %744 = load i32, ptr @test_count, align 4, !tbaa !5
  %745 = add nsw i32 %744, 1
  store i32 %745, ptr @test_count, align 4, !tbaa !5
  %746 = load ptr, ptr %13, align 8, !tbaa !9
  %747 = load ptr, ptr %11, align 8, !tbaa !9
  %748 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %746, ptr noundef %747)
  %749 = icmp eq i32 %748, -1
  br i1 %749, label %750, label %803

750:                                              ; preds = %743
  br label %751

751:                                              ; preds = %750
  br label %752

752:                                              ; preds = %751
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #9
  %753 = call ptr @__errno_location() #10
  %754 = load i32, ptr %753, align 4, !tbaa !5
  store i32 %754, ptr %17, align 4, !tbaa !5
  %755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %756 = call i32 @s2n_print_stacktrace(ptr noundef %755)
  %757 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %758 = trunc i8 %757 to i1
  br i1 %758, label %759, label %781

759:                                              ; preds = %752
  %760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %761 = call i32 @fileno(ptr noundef %760) #9
  %762 = call i32 @isatty(i32 noundef %761) #9
  %763 = icmp ne i32 %762, 0
  br i1 %763, label %764, label %781

764:                                              ; preds = %759
  %765 = load i32, ptr %17, align 4, !tbaa !5
  %766 = call ptr @__errno_location() #10
  store i32 %765, ptr %766, align 4, !tbaa !5
  %767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %768 = load i32, ptr @test_count, align 4, !tbaa !5
  %769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %770 = load i32, ptr %769, align 4, !tbaa !5
  %771 = call ptr @s2n_strerror(i32 noundef %770, ptr noundef @.str.4)
  %772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %773 = load i32, ptr %772, align 4, !tbaa !5
  %774 = call ptr @s2n_strerror_debug(i32 noundef %773, ptr noundef @.str.4)
  %775 = call ptr @__errno_location() #10
  %776 = load i32, ptr %775, align 4, !tbaa !5
  %777 = call ptr @strerror(i32 noundef %776) #9
  %778 = call ptr @__errno_location() #10
  %779 = load i32, ptr %778, align 4, !tbaa !5
  %780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %767, ptr noundef @.str.2, i32 noundef %768, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 44, ptr noundef %771, ptr noundef %774, ptr noundef %777, i32 noundef %779) #9
  br label %798

781:                                              ; preds = %759, %752
  %782 = load i32, ptr %17, align 4, !tbaa !5
  %783 = call ptr @__errno_location() #10
  store i32 %782, ptr %783, align 4, !tbaa !5
  %784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %785 = load i32, ptr @test_count, align 4, !tbaa !5
  %786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %787 = load i32, ptr %786, align 4, !tbaa !5
  %788 = call ptr @s2n_strerror(i32 noundef %787, ptr noundef @.str.4)
  %789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %790 = load i32, ptr %789, align 4, !tbaa !5
  %791 = call ptr @s2n_strerror_debug(i32 noundef %790, ptr noundef @.str.4)
  %792 = call ptr @__errno_location() #10
  %793 = load i32, ptr %792, align 4, !tbaa !5
  %794 = call ptr @strerror(i32 noundef %793) #9
  %795 = call ptr @__errno_location() #10
  %796 = load i32, ptr %795, align 4, !tbaa !5
  %797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %784, ptr noundef @.str.5, i32 noundef %785, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 44, ptr noundef %788, ptr noundef %791, ptr noundef %794, i32 noundef %796) #9
  br label %798

798:                                              ; preds = %781, %764
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #9
  br label %799

799:                                              ; preds = %798
  br label %800

800:                                              ; preds = %799
  call void @exit(i32 noundef 1) #11
  unreachable

801:                                              ; No predecessors!
  br label %802

802:                                              ; preds = %801
  br label %803

803:                                              ; preds = %802, %743
  br label %804

804:                                              ; preds = %803
  br label %805

805:                                              ; preds = %804
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #9
  %806 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %806, ptr %18, align 8, !tbaa !9
  br label %807

807:                                              ; preds = %805
  %808 = load i32, ptr @test_count, align 4, !tbaa !5
  %809 = add nsw i32 %808, 1
  store i32 %809, ptr @test_count, align 4, !tbaa !5
  %810 = load ptr, ptr %18, align 8, !tbaa !9
  %811 = icmp eq ptr %810, null
  br i1 %811, label %812, label %865

812:                                              ; preds = %807
  br label %813

813:                                              ; preds = %812
  br label %814

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

821:                                              ; preds = %814
  %822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %823 = call i32 @fileno(ptr noundef %822) #9
  %824 = call i32 @isatty(i32 noundef %823) #9
  %825 = icmp ne i32 %824, 0
  br i1 %825, label %826, label %843

826:                                              ; preds = %821
  %827 = load i32, ptr %19, align 4, !tbaa !5
  %828 = call ptr @__errno_location() #10
  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.4)
  %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.4)
  %837 = call ptr @__errno_location() #10
  %838 = load i32, ptr %837, align 4, !tbaa !5
  %839 = call ptr @strerror(i32 noundef %838) #9
  %840 = call ptr @__errno_location() #10
  %841 = load i32, ptr %840, align 4, !tbaa !5
  %842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %829, ptr noundef @.str.2, i32 noundef %830, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 49, ptr noundef %833, ptr noundef %836, ptr noundef %839, i32 noundef %841) #9
  br label %860

843:                                              ; preds = %821, %814
  %844 = load i32, ptr %19, align 4, !tbaa !5
  %845 = call ptr @__errno_location() #10
  store i32 %844, ptr %845, align 4, !tbaa !5
  %846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %847 = load i32, ptr @test_count, align 4, !tbaa !5
  %848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %849 = load i32, ptr %848, align 4, !tbaa !5
  %850 = call ptr @s2n_strerror(i32 noundef %849, ptr noundef @.str.4)
  %851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %852 = load i32, ptr %851, align 4, !tbaa !5
  %853 = call ptr @s2n_strerror_debug(i32 noundef %852, ptr noundef @.str.4)
  %854 = call ptr @__errno_location() #10
  %855 = load i32, ptr %854, align 4, !tbaa !5
  %856 = call ptr @strerror(i32 noundef %855) #9
  %857 = call ptr @__errno_location() #10
  %858 = load i32, ptr %857, align 4, !tbaa !5
  %859 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %846, ptr noundef @.str.5, i32 noundef %847, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 49, ptr noundef %850, ptr noundef %853, ptr noundef %856, i32 noundef %858) #9
  br label %860

860:                                              ; preds = %843, %826
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #9
  br label %861

861:                                              ; preds = %860
  br label %862

862:                                              ; preds = %861
  call void @exit(i32 noundef 1) #11
  unreachable

863:                                              ; No predecessors!
  br label %864

864:                                              ; preds = %863
  br label %865

865:                                              ; preds = %864, %807
  br label %866

866:                                              ; preds = %865
  br label %867

867:                                              ; preds = %866
  br label %868

868:                                              ; preds = %867
  %869 = load i32, ptr @test_count, align 4, !tbaa !5
  %870 = add nsw i32 %869, 1
  store i32 %870, ptr @test_count, align 4, !tbaa !5
  %871 = load ptr, ptr %18, align 8, !tbaa !9
  %872 = load ptr, ptr %13, align 8, !tbaa !9
  %873 = call i32 @s2n_connection_set_config(ptr noundef %871, ptr noundef %872)
  %874 = icmp eq i32 %873, -1
  br i1 %874, label %875, label %928

875:                                              ; preds = %868
  br label %876

876:                                              ; preds = %875
  br label %877

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

884:                                              ; preds = %877
  %885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %886 = call i32 @fileno(ptr noundef %885) #9
  %887 = call i32 @isatty(i32 noundef %886) #9
  %888 = icmp ne i32 %887, 0
  br i1 %888, label %889, label %906

889:                                              ; preds = %884
  %890 = load i32, ptr %20, align 4, !tbaa !5
  %891 = call ptr @__errno_location() #10
  store i32 %890, ptr %891, align 4, !tbaa !5
  %892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %893 = load i32, ptr @test_count, align 4, !tbaa !5
  %894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %895 = load i32, ptr %894, align 4, !tbaa !5
  %896 = call ptr @s2n_strerror(i32 noundef %895, ptr noundef @.str.4)
  %897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %898 = load i32, ptr %897, align 4, !tbaa !5
  %899 = call ptr @s2n_strerror_debug(i32 noundef %898, ptr noundef @.str.4)
  %900 = call ptr @__errno_location() #10
  %901 = load i32, ptr %900, align 4, !tbaa !5
  %902 = call ptr @strerror(i32 noundef %901) #9
  %903 = call ptr @__errno_location() #10
  %904 = load i32, ptr %903, align 4, !tbaa !5
  %905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %892, ptr noundef @.str.2, i32 noundef %893, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 50, ptr noundef %896, ptr noundef %899, ptr noundef %902, i32 noundef %904) #9
  br label %923

906:                                              ; preds = %884, %877
  %907 = load i32, ptr %20, align 4, !tbaa !5
  %908 = call ptr @__errno_location() #10
  store i32 %907, ptr %908, 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 @.str.4)
  %914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %915 = load i32, ptr %914, align 4, !tbaa !5
  %916 = call ptr @s2n_strerror_debug(i32 noundef %915, ptr noundef @.str.4)
  %917 = call ptr @__errno_location() #10
  %918 = load i32, ptr %917, align 4, !tbaa !5
  %919 = call ptr @strerror(i32 noundef %918) #9
  %920 = call ptr @__errno_location() #10
  %921 = load i32, ptr %920, align 4, !tbaa !5
  %922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %909, ptr noundef @.str.5, i32 noundef %910, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 50, ptr noundef %913, ptr noundef %916, ptr noundef %919, i32 noundef %921) #9
  br label %923

923:                                              ; preds = %906, %889
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #9
  br label %924

924:                                              ; preds = %923
  br label %925

925:                                              ; preds = %924
  call void @exit(i32 noundef 1) #11
  unreachable

926:                                              ; No predecessors!
  br label %927

927:                                              ; preds = %926
  br label %928

928:                                              ; preds = %927, %868
  br label %929

929:                                              ; preds = %928
  br label %930

930:                                              ; preds = %929
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #9
  %931 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %931, ptr %21, align 8, !tbaa !9
  br label %932

932:                                              ; preds = %930
  %933 = load i32, ptr @test_count, align 4, !tbaa !5
  %934 = add nsw i32 %933, 1
  store i32 %934, ptr @test_count, align 4, !tbaa !5
  %935 = load ptr, ptr %21, align 8, !tbaa !9
  %936 = icmp eq ptr %935, null
  br i1 %936, label %937, label %990

937:                                              ; preds = %932
  br label %938

938:                                              ; preds = %937
  br label %939

939:                                              ; preds = %938
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #9
  %940 = call ptr @__errno_location() #10
  %941 = load i32, ptr %940, align 4, !tbaa !5
  store i32 %941, ptr %22, align 4, !tbaa !5
  %942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %943 = call i32 @s2n_print_stacktrace(ptr noundef %942)
  %944 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %945 = trunc i8 %944 to i1
  br i1 %945, label %946, label %968

946:                                              ; preds = %939
  %947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %948 = call i32 @fileno(ptr noundef %947) #9
  %949 = call i32 @isatty(i32 noundef %948) #9
  %950 = icmp ne i32 %949, 0
  br i1 %950, label %951, label %968

951:                                              ; preds = %946
  %952 = load i32, ptr %22, align 4, !tbaa !5
  %953 = call ptr @__errno_location() #10
  store i32 %952, ptr %953, align 4, !tbaa !5
  %954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %955 = load i32, ptr @test_count, align 4, !tbaa !5
  %956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %957 = load i32, ptr %956, align 4, !tbaa !5
  %958 = call ptr @s2n_strerror(i32 noundef %957, ptr noundef @.str.4)
  %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_debug(i32 noundef %960, ptr noundef @.str.4)
  %962 = call ptr @__errno_location() #10
  %963 = load i32, ptr %962, align 4, !tbaa !5
  %964 = call ptr @strerror(i32 noundef %963) #9
  %965 = call ptr @__errno_location() #10
  %966 = load i32, ptr %965, align 4, !tbaa !5
  %967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %954, ptr noundef @.str.2, i32 noundef %955, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 53, ptr noundef %958, ptr noundef %961, ptr noundef %964, i32 noundef %966) #9
  br label %985

968:                                              ; preds = %946, %939
  %969 = load i32, ptr %22, align 4, !tbaa !5
  %970 = call ptr @__errno_location() #10
  store i32 %969, ptr %970, align 4, !tbaa !5
  %971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %972 = load i32, ptr @test_count, align 4, !tbaa !5
  %973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %974 = load i32, ptr %973, align 4, !tbaa !5
  %975 = call ptr @s2n_strerror(i32 noundef %974, ptr noundef @.str.4)
  %976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %977 = load i32, ptr %976, align 4, !tbaa !5
  %978 = call ptr @s2n_strerror_debug(i32 noundef %977, ptr noundef @.str.4)
  %979 = call ptr @__errno_location() #10
  %980 = load i32, ptr %979, align 4, !tbaa !5
  %981 = call ptr @strerror(i32 noundef %980) #9
  %982 = call ptr @__errno_location() #10
  %983 = load i32, ptr %982, align 4, !tbaa !5
  %984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %971, ptr noundef @.str.5, i32 noundef %972, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 53, ptr noundef %975, ptr noundef %978, ptr noundef %981, i32 noundef %983) #9
  br label %985

985:                                              ; preds = %968, %951
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #9
  br label %986

986:                                              ; preds = %985
  br label %987

987:                                              ; preds = %986
  call void @exit(i32 noundef 1) #11
  unreachable

988:                                              ; No predecessors!
  br label %989

989:                                              ; preds = %988
  br label %990

990:                                              ; preds = %989, %932
  br label %991

991:                                              ; preds = %990
  br label %992

992:                                              ; preds = %991
  br label %993

993:                                              ; preds = %992
  %994 = load i32, ptr @test_count, align 4, !tbaa !5
  %995 = add nsw i32 %994, 1
  store i32 %995, ptr @test_count, align 4, !tbaa !5
  %996 = load ptr, ptr %21, align 8, !tbaa !9
  %997 = load ptr, ptr %13, align 8, !tbaa !9
  %998 = call i32 @s2n_connection_set_config(ptr noundef %996, ptr noundef %997)
  %999 = icmp eq i32 %998, -1
  br i1 %999, label %1000, label %1053

1000:                                             ; preds = %993
  br label %1001

1001:                                             ; preds = %1000
  br label %1002

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

1009:                                             ; preds = %1002
  %1010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1011 = call i32 @fileno(ptr noundef %1010) #9
  %1012 = call i32 @isatty(i32 noundef %1011) #9
  %1013 = icmp ne i32 %1012, 0
  br i1 %1013, label %1014, label %1031

1014:                                             ; preds = %1009
  %1015 = load i32, ptr %23, align 4, !tbaa !5
  %1016 = call ptr @__errno_location() #10
  store i32 %1015, ptr %1016, align 4, !tbaa !5
  %1017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1018 = load i32, ptr @test_count, align 4, !tbaa !5
  %1019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1020 = load i32, ptr %1019, align 4, !tbaa !5
  %1021 = call ptr @s2n_strerror(i32 noundef %1020, ptr noundef @.str.4)
  %1022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1023 = load i32, ptr %1022, align 4, !tbaa !5
  %1024 = call ptr @s2n_strerror_debug(i32 noundef %1023, ptr noundef @.str.4)
  %1025 = call ptr @__errno_location() #10
  %1026 = load i32, ptr %1025, align 4, !tbaa !5
  %1027 = call ptr @strerror(i32 noundef %1026) #9
  %1028 = call ptr @__errno_location() #10
  %1029 = load i32, ptr %1028, align 4, !tbaa !5
  %1030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1017, ptr noundef @.str.2, i32 noundef %1018, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 54, ptr noundef %1021, ptr noundef %1024, ptr noundef %1027, i32 noundef %1029) #9
  br label %1048

1031:                                             ; preds = %1009, %1002
  %1032 = load i32, ptr %23, align 4, !tbaa !5
  %1033 = call ptr @__errno_location() #10
  store i32 %1032, ptr %1033, align 4, !tbaa !5
  %1034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1035 = load i32, ptr @test_count, align 4, !tbaa !5
  %1036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1037 = load i32, ptr %1036, align 4, !tbaa !5
  %1038 = call ptr @s2n_strerror(i32 noundef %1037, ptr noundef @.str.4)
  %1039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1040 = load i32, ptr %1039, align 4, !tbaa !5
  %1041 = call ptr @s2n_strerror_debug(i32 noundef %1040, ptr noundef @.str.4)
  %1042 = call ptr @__errno_location() #10
  %1043 = load i32, ptr %1042, align 4, !tbaa !5
  %1044 = call ptr @strerror(i32 noundef %1043) #9
  %1045 = call ptr @__errno_location() #10
  %1046 = load i32, ptr %1045, align 4, !tbaa !5
  %1047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1034, ptr noundef @.str.5, i32 noundef %1035, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 54, ptr noundef %1038, ptr noundef %1041, ptr noundef %1044, i32 noundef %1046) #9
  br label %1048

1048:                                             ; preds = %1031, %1014
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #9
  br label %1049

1049:                                             ; preds = %1048
  br label %1050

1050:                                             ; preds = %1049
  call void @exit(i32 noundef 1) #11
  unreachable

1051:                                             ; No predecessors!
  br label %1052

1052:                                             ; preds = %1051
  br label %1053

1053:                                             ; preds = %1052, %993
  br label %1054

1054:                                             ; preds = %1053
  br label %1055

1055:                                             ; preds = %1054
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #9
  call void @llvm.memset.p0.i64(ptr align 4 %24, i8 0, i64 8, i1 false)
  br label %1056

1056:                                             ; preds = %1055
  %1057 = load i32, ptr @test_count, align 4, !tbaa !5
  %1058 = add nsw i32 %1057, 1
  store i32 %1058, ptr @test_count, align 4, !tbaa !5
  %1059 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %24)
  %1060 = icmp eq i32 %1059, -1
  br i1 %1060, label %1061, label %1114

1061:                                             ; preds = %1056
  br label %1062

1062:                                             ; preds = %1061
  br label %1063

1063:                                             ; preds = %1062
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #9
  %1064 = call ptr @__errno_location() #10
  %1065 = load i32, ptr %1064, align 4, !tbaa !5
  store i32 %1065, ptr %25, align 4, !tbaa !5
  %1066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1067 = call i32 @s2n_print_stacktrace(ptr noundef %1066)
  %1068 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1069 = trunc i8 %1068 to i1
  br i1 %1069, label %1070, label %1092

1070:                                             ; preds = %1063
  %1071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1072 = call i32 @fileno(ptr noundef %1071) #9
  %1073 = call i32 @isatty(i32 noundef %1072) #9
  %1074 = icmp ne i32 %1073, 0
  br i1 %1074, label %1075, label %1092

1075:                                             ; preds = %1070
  %1076 = load i32, ptr %25, align 4, !tbaa !5
  %1077 = call ptr @__errno_location() #10
  store i32 %1076, ptr %1077, align 4, !tbaa !5
  %1078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1079 = load i32, ptr @test_count, align 4, !tbaa !5
  %1080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1081 = load i32, ptr %1080, align 4, !tbaa !5
  %1082 = call ptr @s2n_strerror(i32 noundef %1081, ptr noundef @.str.4)
  %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_debug(i32 noundef %1084, ptr noundef @.str.4)
  %1086 = call ptr @__errno_location() #10
  %1087 = load i32, ptr %1086, align 4, !tbaa !5
  %1088 = call ptr @strerror(i32 noundef %1087) #9
  %1089 = call ptr @__errno_location() #10
  %1090 = load i32, ptr %1089, align 4, !tbaa !5
  %1091 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1078, ptr noundef @.str.2, i32 noundef %1079, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 58, ptr noundef %1082, ptr noundef %1085, ptr noundef %1088, i32 noundef %1090) #9
  br label %1109

1092:                                             ; preds = %1070, %1063
  %1093 = load i32, ptr %25, align 4, !tbaa !5
  %1094 = call ptr @__errno_location() #10
  store i32 %1093, ptr %1094, align 4, !tbaa !5
  %1095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1096 = load i32, ptr @test_count, align 4, !tbaa !5
  %1097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1098 = load i32, ptr %1097, align 4, !tbaa !5
  %1099 = call ptr @s2n_strerror(i32 noundef %1098, ptr noundef @.str.4)
  %1100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1101 = load i32, ptr %1100, align 4, !tbaa !5
  %1102 = call ptr @s2n_strerror_debug(i32 noundef %1101, ptr noundef @.str.4)
  %1103 = call ptr @__errno_location() #10
  %1104 = load i32, ptr %1103, align 4, !tbaa !5
  %1105 = call ptr @strerror(i32 noundef %1104) #9
  %1106 = call ptr @__errno_location() #10
  %1107 = load i32, ptr %1106, align 4, !tbaa !5
  %1108 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1095, ptr noundef @.str.5, i32 noundef %1096, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 58, ptr noundef %1099, ptr noundef %1102, ptr noundef %1105, i32 noundef %1107) #9
  br label %1109

1109:                                             ; preds = %1092, %1075
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #9
  br label %1110

1110:                                             ; preds = %1109
  br label %1111

1111:                                             ; preds = %1110
  call void @exit(i32 noundef 1) #11
  unreachable

1112:                                             ; No predecessors!
  br label %1113

1113:                                             ; preds = %1112
  br label %1114

1114:                                             ; preds = %1113, %1056
  br label %1115

1115:                                             ; preds = %1114
  br label %1116

1116:                                             ; preds = %1115
  br label %1117

1117:                                             ; preds = %1116
  %1118 = load i32, ptr @test_count, align 4, !tbaa !5
  %1119 = add nsw i32 %1118, 1
  store i32 %1119, ptr @test_count, align 4, !tbaa !5
  %1120 = load ptr, ptr %18, align 8, !tbaa !9
  %1121 = call i32 @s2n_connection_set_io_pair(ptr noundef %1120, ptr noundef %24)
  %1122 = icmp eq i32 %1121, -1
  br i1 %1122, label %1123, label %1176

1123:                                             ; preds = %1117
  br label %1124

1124:                                             ; preds = %1123
  br label %1125

1125:                                             ; preds = %1124
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #9
  %1126 = call ptr @__errno_location() #10
  %1127 = load i32, ptr %1126, align 4, !tbaa !5
  store i32 %1127, ptr %26, align 4, !tbaa !5
  %1128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1129 = call i32 @s2n_print_stacktrace(ptr noundef %1128)
  %1130 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1131 = trunc i8 %1130 to i1
  br i1 %1131, label %1132, label %1154

1132:                                             ; preds = %1125
  %1133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1134 = call i32 @fileno(ptr noundef %1133) #9
  %1135 = call i32 @isatty(i32 noundef %1134) #9
  %1136 = icmp ne i32 %1135, 0
  br i1 %1136, label %1137, label %1154

1137:                                             ; preds = %1132
  %1138 = load i32, ptr %26, align 4, !tbaa !5
  %1139 = call ptr @__errno_location() #10
  store i32 %1138, ptr %1139, align 4, !tbaa !5
  %1140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1141 = load i32, ptr @test_count, align 4, !tbaa !5
  %1142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1143 = load i32, ptr %1142, align 4, !tbaa !5
  %1144 = call ptr @s2n_strerror(i32 noundef %1143, ptr noundef @.str.4)
  %1145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1146 = load i32, ptr %1145, align 4, !tbaa !5
  %1147 = call ptr @s2n_strerror_debug(i32 noundef %1146, ptr noundef @.str.4)
  %1148 = call ptr @__errno_location() #10
  %1149 = load i32, ptr %1148, align 4, !tbaa !5
  %1150 = call ptr @strerror(i32 noundef %1149) #9
  %1151 = call ptr @__errno_location() #10
  %1152 = load i32, ptr %1151, align 4, !tbaa !5
  %1153 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1140, ptr noundef @.str.2, i32 noundef %1141, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 59, ptr noundef %1144, ptr noundef %1147, ptr noundef %1150, i32 noundef %1152) #9
  br label %1171

1154:                                             ; preds = %1132, %1125
  %1155 = load i32, ptr %26, align 4, !tbaa !5
  %1156 = call ptr @__errno_location() #10
  store i32 %1155, ptr %1156, align 4, !tbaa !5
  %1157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1158 = load i32, ptr @test_count, align 4, !tbaa !5
  %1159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1160 = load i32, ptr %1159, align 4, !tbaa !5
  %1161 = call ptr @s2n_strerror(i32 noundef %1160, ptr noundef @.str.4)
  %1162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1163 = load i32, ptr %1162, align 4, !tbaa !5
  %1164 = call ptr @s2n_strerror_debug(i32 noundef %1163, ptr noundef @.str.4)
  %1165 = call ptr @__errno_location() #10
  %1166 = load i32, ptr %1165, align 4, !tbaa !5
  %1167 = call ptr @strerror(i32 noundef %1166) #9
  %1168 = call ptr @__errno_location() #10
  %1169 = load i32, ptr %1168, align 4, !tbaa !5
  %1170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1157, ptr noundef @.str.5, i32 noundef %1158, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 59, ptr noundef %1161, ptr noundef %1164, ptr noundef %1167, i32 noundef %1169) #9
  br label %1171

1171:                                             ; preds = %1154, %1137
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #9
  br label %1172

1172:                                             ; preds = %1171
  br label %1173

1173:                                             ; preds = %1172
  call void @exit(i32 noundef 1) #11
  unreachable

1174:                                             ; No predecessors!
  br label %1175

1175:                                             ; preds = %1174
  br label %1176

1176:                                             ; preds = %1175, %1117
  br label %1177

1177:                                             ; preds = %1176
  br label %1178

1178:                                             ; preds = %1177
  br label %1179

1179:                                             ; preds = %1178
  %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 %21, align 8, !tbaa !9
  %1183 = call i32 @s2n_connection_set_io_pair(ptr noundef %1182, ptr noundef %24)
  %1184 = icmp eq i32 %1183, -1
  br i1 %1184, label %1185, label %1238

1185:                                             ; preds = %1179
  br label %1186

1186:                                             ; preds = %1185
  br label %1187

1187:                                             ; preds = %1186
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #9
  %1188 = call ptr @__errno_location() #10
  %1189 = load i32, ptr %1188, align 4, !tbaa !5
  store i32 %1189, ptr %27, align 4, !tbaa !5
  %1190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1191 = call i32 @s2n_print_stacktrace(ptr noundef %1190)
  %1192 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1193 = trunc i8 %1192 to i1
  br i1 %1193, label %1194, label %1216

1194:                                             ; preds = %1187
  %1195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1196 = call i32 @fileno(ptr noundef %1195) #9
  %1197 = call i32 @isatty(i32 noundef %1196) #9
  %1198 = icmp ne i32 %1197, 0
  br i1 %1198, label %1199, label %1216

1199:                                             ; preds = %1194
  %1200 = load i32, ptr %27, align 4, !tbaa !5
  %1201 = call ptr @__errno_location() #10
  store i32 %1200, ptr %1201, align 4, !tbaa !5
  %1202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1203 = load i32, ptr @test_count, align 4, !tbaa !5
  %1204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1205 = load i32, ptr %1204, align 4, !tbaa !5
  %1206 = call ptr @s2n_strerror(i32 noundef %1205, ptr noundef @.str.4)
  %1207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1208 = load i32, ptr %1207, align 4, !tbaa !5
  %1209 = call ptr @s2n_strerror_debug(i32 noundef %1208, ptr noundef @.str.4)
  %1210 = call ptr @__errno_location() #10
  %1211 = load i32, ptr %1210, align 4, !tbaa !5
  %1212 = call ptr @strerror(i32 noundef %1211) #9
  %1213 = call ptr @__errno_location() #10
  %1214 = load i32, ptr %1213, align 4, !tbaa !5
  %1215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1202, ptr noundef @.str.2, i32 noundef %1203, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 60, ptr noundef %1206, ptr noundef %1209, ptr noundef %1212, i32 noundef %1214) #9
  br label %1233

1216:                                             ; preds = %1194, %1187
  %1217 = load i32, ptr %27, align 4, !tbaa !5
  %1218 = call ptr @__errno_location() #10
  store i32 %1217, ptr %1218, align 4, !tbaa !5
  %1219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1220 = load i32, ptr @test_count, align 4, !tbaa !5
  %1221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1222 = load i32, ptr %1221, align 4, !tbaa !5
  %1223 = call ptr @s2n_strerror(i32 noundef %1222, ptr noundef @.str.4)
  %1224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1225 = load i32, ptr %1224, align 4, !tbaa !5
  %1226 = call ptr @s2n_strerror_debug(i32 noundef %1225, ptr noundef @.str.4)
  %1227 = call ptr @__errno_location() #10
  %1228 = load i32, ptr %1227, align 4, !tbaa !5
  %1229 = call ptr @strerror(i32 noundef %1228) #9
  %1230 = call ptr @__errno_location() #10
  %1231 = load i32, ptr %1230, align 4, !tbaa !5
  %1232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1219, ptr noundef @.str.5, i32 noundef %1220, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 60, ptr noundef %1223, ptr noundef %1226, ptr noundef %1229, i32 noundef %1231) #9
  br label %1233

1233:                                             ; preds = %1216, %1199
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #9
  br label %1234

1234:                                             ; preds = %1233
  br label %1235

1235:                                             ; preds = %1234
  call void @exit(i32 noundef 1) #11
  unreachable

1236:                                             ; No predecessors!
  br label %1237

1237:                                             ; preds = %1236
  br label %1238

1238:                                             ; preds = %1237, %1179
  br label %1239

1239:                                             ; preds = %1238
  br label %1240

1240:                                             ; preds = %1239
  br label %1241

1241:                                             ; preds = %1240
  %1242 = load i32, ptr @test_count, align 4, !tbaa !5
  %1243 = add nsw i32 %1242, 1
  store i32 %1243, ptr @test_count, align 4, !tbaa !5
  %1244 = load ptr, ptr %21, align 8, !tbaa !9
  %1245 = load ptr, ptr %18, align 8, !tbaa !9
  %1246 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %1244, ptr noundef %1245, i32 noundef 2)
  %1247 = getelementptr inbounds %struct.s2n_result, ptr %28, i32 0, i32 0
  store i32 %1246, ptr %1247, align 4
  %1248 = getelementptr inbounds %struct.s2n_result, ptr %28, i32 0, i32 0
  %1249 = load i32, ptr %1248, align 4
  %1250 = call zeroext i1 @s2n_result_is_ok(i32 %1249)
  br i1 %1250, label %1304, label %1251

1251:                                             ; preds = %1241
  br label %1252

1252:                                             ; preds = %1251
  br label %1253

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

1260:                                             ; preds = %1253
  %1261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1262 = call i32 @fileno(ptr noundef %1261) #9
  %1263 = call i32 @isatty(i32 noundef %1262) #9
  %1264 = icmp ne i32 %1263, 0
  br i1 %1264, label %1265, label %1282

1265:                                             ; preds = %1260
  %1266 = load i32, ptr %29, align 4, !tbaa !5
  %1267 = call ptr @__errno_location() #10
  store i32 %1266, ptr %1267, align 4, !tbaa !5
  %1268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1269 = load i32, ptr @test_count, align 4, !tbaa !5
  %1270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1271 = load i32, ptr %1270, align 4, !tbaa !5
  %1272 = call ptr @s2n_strerror(i32 noundef %1271, ptr noundef @.str.4)
  %1273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1274 = load i32, ptr %1273, align 4, !tbaa !5
  %1275 = call ptr @s2n_strerror_debug(i32 noundef %1274, ptr noundef @.str.4)
  %1276 = call ptr @__errno_location() #10
  %1277 = load i32, ptr %1276, align 4, !tbaa !5
  %1278 = call ptr @strerror(i32 noundef %1277) #9
  %1279 = call ptr @__errno_location() #10
  %1280 = load i32, ptr %1279, align 4, !tbaa !5
  %1281 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1268, ptr noundef @.str.2, i32 noundef %1269, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 63, ptr noundef %1272, ptr noundef %1275, ptr noundef %1278, i32 noundef %1280) #9
  br label %1299

1282:                                             ; preds = %1260, %1253
  %1283 = load i32, ptr %29, align 4, !tbaa !5
  %1284 = call ptr @__errno_location() #10
  store i32 %1283, ptr %1284, align 4, !tbaa !5
  %1285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1286 = load i32, ptr @test_count, align 4, !tbaa !5
  %1287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1288 = load i32, ptr %1287, align 4, !tbaa !5
  %1289 = call ptr @s2n_strerror(i32 noundef %1288, ptr noundef @.str.4)
  %1290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1291 = load i32, ptr %1290, align 4, !tbaa !5
  %1292 = call ptr @s2n_strerror_debug(i32 noundef %1291, ptr noundef @.str.4)
  %1293 = call ptr @__errno_location() #10
  %1294 = load i32, ptr %1293, align 4, !tbaa !5
  %1295 = call ptr @strerror(i32 noundef %1294) #9
  %1296 = call ptr @__errno_location() #10
  %1297 = load i32, ptr %1296, align 4, !tbaa !5
  %1298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1285, ptr noundef @.str.5, i32 noundef %1286, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 63, ptr noundef %1289, ptr noundef %1292, ptr noundef %1295, i32 noundef %1297) #9
  br label %1299

1299:                                             ; preds = %1282, %1265
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #9
  br label %1300

1300:                                             ; preds = %1299
  br label %1301

1301:                                             ; preds = %1300
  call void @exit(i32 noundef 1) #11
  unreachable

1302:                                             ; No predecessors!
  br label %1303

1303:                                             ; preds = %1302
  br label %1304

1304:                                             ; preds = %1303, %1241
  br label %1305

1305:                                             ; preds = %1304
  br label %1306

1306:                                             ; preds = %1305
  br label %1307

1307:                                             ; preds = %1306
  %1308 = load i32, ptr @test_count, align 4, !tbaa !5
  %1309 = add nsw i32 %1308, 1
  store i32 %1309, ptr @test_count, align 4, !tbaa !5
  %1310 = load ptr, ptr %18, align 8, !tbaa !9
  %1311 = getelementptr inbounds %struct.s2n_connection, ptr %1310, i32 0, i32 23
  %1312 = load i8, ptr %1311, align 4, !tbaa !15
  %1313 = zext i8 %1312 to i32
  %1314 = icmp eq i32 %1313, 34
  br i1 %1314, label %1368, label %1315

1315:                                             ; preds = %1307
  br label %1316

1316:                                             ; preds = %1315
  br label %1317

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

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

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

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

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

1364:                                             ; preds = %1363
  br label %1365

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

1366:                                             ; No predecessors!
  br label %1367

1367:                                             ; preds = %1366
  br label %1368

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

1369:                                             ; preds = %1368
  br label %1370

1370:                                             ; preds = %1369
  br label %1371

1371:                                             ; preds = %1370
  %1372 = load i32, ptr @test_count, align 4, !tbaa !5
  %1373 = add nsw i32 %1372, 1
  store i32 %1373, ptr @test_count, align 4, !tbaa !5
  %1374 = load ptr, ptr %21, align 8, !tbaa !9
  %1375 = getelementptr inbounds %struct.s2n_connection, ptr %1374, i32 0, i32 23
  %1376 = load i8, ptr %1375, align 4, !tbaa !15
  %1377 = zext i8 %1376 to i32
  %1378 = icmp eq i32 %1377, 34
  br i1 %1378, label %1432, label %1379

1379:                                             ; preds = %1371
  br label %1380

1380:                                             ; preds = %1379
  br label %1381

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

1388:                                             ; preds = %1381
  %1389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1390 = call i32 @fileno(ptr noundef %1389) #9
  %1391 = call i32 @isatty(i32 noundef %1390) #9
  %1392 = icmp ne i32 %1391, 0
  br i1 %1392, label %1393, label %1410

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

1410:                                             ; preds = %1388, %1381
  %1411 = load i32, ptr %31, align 4, !tbaa !5
  %1412 = call ptr @__errno_location() #10
  store i32 %1411, ptr %1412, align 4, !tbaa !5
  %1413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1414 = load i32, ptr @test_count, align 4, !tbaa !5
  %1415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1416 = load i32, ptr %1415, align 4, !tbaa !5
  %1417 = call ptr @s2n_strerror(i32 noundef %1416, ptr noundef @.str.4)
  %1418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1419 = load i32, ptr %1418, align 4, !tbaa !5
  %1420 = call ptr @s2n_strerror_debug(i32 noundef %1419, ptr noundef @.str.4)
  %1421 = call ptr @__errno_location() #10
  %1422 = load i32, ptr %1421, align 4, !tbaa !5
  %1423 = call ptr @strerror(i32 noundef %1422) #9
  %1424 = call ptr @__errno_location() #10
  %1425 = load i32, ptr %1424, align 4, !tbaa !5
  %1426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1413, ptr noundef @.str.5, i32 noundef %1414, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 65, ptr noundef %1417, ptr noundef %1420, ptr noundef %1423, i32 noundef %1425) #9
  br label %1427

1427:                                             ; preds = %1410, %1393
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #9
  br label %1428

1428:                                             ; preds = %1427
  br label %1429

1429:                                             ; preds = %1428
  call void @exit(i32 noundef 1) #11
  unreachable

1430:                                             ; No predecessors!
  br label %1431

1431:                                             ; preds = %1430
  br label %1432

1432:                                             ; preds = %1431, %1371
  br label %1433

1433:                                             ; preds = %1432
  br label %1434

1434:                                             ; preds = %1433
  br label %1435

1435:                                             ; preds = %1434
  %1436 = load i32, ptr @test_count, align 4, !tbaa !5
  %1437 = add nsw i32 %1436, 1
  store i32 %1437, ptr @test_count, align 4, !tbaa !5
  %1438 = load ptr, ptr %18, align 8, !tbaa !9
  %1439 = getelementptr inbounds %struct.s2n_connection, ptr %1438, i32 0, i32 53
  %1440 = load i16, ptr %1439, align 8, !tbaa !42
  %1441 = zext i16 %1440 to i32
  %1442 = icmp eq i32 %1441, 8087
  br i1 %1442, label %1496, label %1443

1443:                                             ; preds = %1435
  br label %1444

1444:                                             ; preds = %1443
  br label %1445

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

1452:                                             ; preds = %1445
  %1453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1454 = call i32 @fileno(ptr noundef %1453) #9
  %1455 = call i32 @isatty(i32 noundef %1454) #9
  %1456 = icmp ne i32 %1455, 0
  br i1 %1456, label %1457, label %1474

1457:                                             ; preds = %1452
  %1458 = load i32, ptr %32, align 4, !tbaa !5
  %1459 = call ptr @__errno_location() #10
  store i32 %1458, ptr %1459, align 4, !tbaa !5
  %1460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1461 = load i32, ptr @test_count, align 4, !tbaa !5
  %1462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1463 = load i32, ptr %1462, align 4, !tbaa !5
  %1464 = call ptr @s2n_strerror(i32 noundef %1463, ptr noundef @.str.4)
  %1465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1466 = load i32, ptr %1465, align 4, !tbaa !5
  %1467 = call ptr @s2n_strerror_debug(i32 noundef %1466, ptr noundef @.str.4)
  %1468 = call ptr @__errno_location() #10
  %1469 = load i32, ptr %1468, align 4, !tbaa !5
  %1470 = call ptr @strerror(i32 noundef %1469) #9
  %1471 = call ptr @__errno_location() #10
  %1472 = load i32, ptr %1471, align 4, !tbaa !5
  %1473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1460, ptr noundef @.str.2, i32 noundef %1461, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 68, ptr noundef %1464, ptr noundef %1467, ptr noundef %1470, i32 noundef %1472) #9
  br label %1491

1474:                                             ; preds = %1452, %1445
  %1475 = load i32, ptr %32, align 4, !tbaa !5
  %1476 = call ptr @__errno_location() #10
  store i32 %1475, ptr %1476, align 4, !tbaa !5
  %1477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1478 = load i32, ptr @test_count, align 4, !tbaa !5
  %1479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1480 = load i32, ptr %1479, align 4, !tbaa !5
  %1481 = call ptr @s2n_strerror(i32 noundef %1480, ptr noundef @.str.4)
  %1482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1483 = load i32, ptr %1482, align 4, !tbaa !5
  %1484 = call ptr @s2n_strerror_debug(i32 noundef %1483, ptr noundef @.str.4)
  %1485 = call ptr @__errno_location() #10
  %1486 = load i32, ptr %1485, align 4, !tbaa !5
  %1487 = call ptr @strerror(i32 noundef %1486) #9
  %1488 = call ptr @__errno_location() #10
  %1489 = load i32, ptr %1488, align 4, !tbaa !5
  %1490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1477, ptr noundef @.str.5, i32 noundef %1478, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 68, ptr noundef %1481, ptr noundef %1484, ptr noundef %1487, i32 noundef %1489) #9
  br label %1491

1491:                                             ; preds = %1474, %1457
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #9
  br label %1492

1492:                                             ; preds = %1491
  br label %1493

1493:                                             ; preds = %1492
  call void @exit(i32 noundef 1) #11
  unreachable

1494:                                             ; No predecessors!
  br label %1495

1495:                                             ; preds = %1494
  br label %1496

1496:                                             ; preds = %1495, %1435
  br label %1497

1497:                                             ; preds = %1496
  br label %1498

1498:                                             ; preds = %1497
  br label %1499

1499:                                             ; preds = %1498
  %1500 = load i32, ptr @test_count, align 4, !tbaa !5
  %1501 = add nsw i32 %1500, 1
  store i32 %1501, ptr @test_count, align 4, !tbaa !5
  %1502 = load ptr, ptr %21, align 8, !tbaa !9
  %1503 = getelementptr inbounds %struct.s2n_connection, ptr %1502, i32 0, i32 53
  %1504 = load i16, ptr %1503, align 8, !tbaa !42
  %1505 = zext i16 %1504 to i32
  %1506 = icmp eq i32 %1505, 8087
  br i1 %1506, label %1560, label %1507

1507:                                             ; preds = %1499
  br label %1508

1508:                                             ; preds = %1507
  br label %1509

1509:                                             ; preds = %1508
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #9
  %1510 = call ptr @__errno_location() #10
  %1511 = load i32, ptr %1510, align 4, !tbaa !5
  store i32 %1511, ptr %33, align 4, !tbaa !5
  %1512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1513 = call i32 @s2n_print_stacktrace(ptr noundef %1512)
  %1514 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1515 = trunc i8 %1514 to i1
  br i1 %1515, label %1516, label %1538

1516:                                             ; preds = %1509
  %1517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1518 = call i32 @fileno(ptr noundef %1517) #9
  %1519 = call i32 @isatty(i32 noundef %1518) #9
  %1520 = icmp ne i32 %1519, 0
  br i1 %1520, label %1521, label %1538

1521:                                             ; preds = %1516
  %1522 = load i32, ptr %33, align 4, !tbaa !5
  %1523 = call ptr @__errno_location() #10
  store i32 %1522, ptr %1523, align 4, !tbaa !5
  %1524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1525 = load i32, ptr @test_count, align 4, !tbaa !5
  %1526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1527 = load i32, ptr %1526, align 4, !tbaa !5
  %1528 = call ptr @s2n_strerror(i32 noundef %1527, ptr noundef @.str.4)
  %1529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1530 = load i32, ptr %1529, align 4, !tbaa !5
  %1531 = call ptr @s2n_strerror_debug(i32 noundef %1530, ptr noundef @.str.4)
  %1532 = call ptr @__errno_location() #10
  %1533 = load i32, ptr %1532, align 4, !tbaa !5
  %1534 = call ptr @strerror(i32 noundef %1533) #9
  %1535 = call ptr @__errno_location() #10
  %1536 = load i32, ptr %1535, align 4, !tbaa !5
  %1537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1524, ptr noundef @.str.2, i32 noundef %1525, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 69, ptr noundef %1528, ptr noundef %1531, ptr noundef %1534, i32 noundef %1536) #9
  br label %1555

1538:                                             ; preds = %1516, %1509
  %1539 = load i32, ptr %33, align 4, !tbaa !5
  %1540 = call ptr @__errno_location() #10
  store i32 %1539, ptr %1540, align 4, !tbaa !5
  %1541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1542 = load i32, ptr @test_count, align 4, !tbaa !5
  %1543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1544 = load i32, ptr %1543, align 4, !tbaa !5
  %1545 = call ptr @s2n_strerror(i32 noundef %1544, ptr noundef @.str.4)
  %1546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1547 = load i32, ptr %1546, align 4, !tbaa !5
  %1548 = call ptr @s2n_strerror_debug(i32 noundef %1547, ptr noundef @.str.4)
  %1549 = call ptr @__errno_location() #10
  %1550 = load i32, ptr %1549, align 4, !tbaa !5
  %1551 = call ptr @strerror(i32 noundef %1550) #9
  %1552 = call ptr @__errno_location() #10
  %1553 = load i32, ptr %1552, align 4, !tbaa !5
  %1554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1541, ptr noundef @.str.5, i32 noundef %1542, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 69, ptr noundef %1545, ptr noundef %1548, ptr noundef %1551, i32 noundef %1553) #9
  br label %1555

1555:                                             ; preds = %1538, %1521
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #9
  br label %1556

1556:                                             ; preds = %1555
  br label %1557

1557:                                             ; preds = %1556
  call void @exit(i32 noundef 1) #11
  unreachable

1558:                                             ; No predecessors!
  br label %1559

1559:                                             ; preds = %1558
  br label %1560

1560:                                             ; preds = %1559, %1499
  br label %1561

1561:                                             ; preds = %1560
  br label %1562

1562:                                             ; preds = %1561
  br label %1563

1563:                                             ; preds = %1562
  %1564 = load i32, ptr @test_count, align 4, !tbaa !5
  %1565 = add nsw i32 %1564, 1
  store i32 %1565, ptr @test_count, align 4, !tbaa !5
  %1566 = load ptr, ptr %18, align 8, !tbaa !9
  %1567 = getelementptr inbounds %struct.s2n_connection, ptr %1566, i32 0, i32 41
  %1568 = getelementptr inbounds %struct.s2n_stuffer, ptr %1567, i32 0, i32 0
  %1569 = getelementptr inbounds %struct.s2n_blob, ptr %1568, i32 0, i32 1
  %1570 = load i32, ptr %1569, align 8, !tbaa !43
  %1571 = icmp eq i32 %1570, 9116
  br i1 %1571, label %1625, label %1572

1572:                                             ; preds = %1563
  br label %1573

1573:                                             ; preds = %1572
  br label %1574

1574:                                             ; preds = %1573
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #9
  %1575 = call ptr @__errno_location() #10
  %1576 = load i32, ptr %1575, align 4, !tbaa !5
  store i32 %1576, ptr %34, align 4, !tbaa !5
  %1577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1578 = call i32 @s2n_print_stacktrace(ptr noundef %1577)
  %1579 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1580 = trunc i8 %1579 to i1
  br i1 %1580, label %1581, label %1603

1581:                                             ; preds = %1574
  %1582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1583 = call i32 @fileno(ptr noundef %1582) #9
  %1584 = call i32 @isatty(i32 noundef %1583) #9
  %1585 = icmp ne i32 %1584, 0
  br i1 %1585, label %1586, label %1603

1586:                                             ; preds = %1581
  %1587 = load i32, ptr %34, align 4, !tbaa !5
  %1588 = call ptr @__errno_location() #10
  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.4)
  %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.4)
  %1597 = call ptr @__errno_location() #10
  %1598 = load i32, ptr %1597, align 4, !tbaa !5
  %1599 = call ptr @strerror(i32 noundef %1598) #9
  %1600 = call ptr @__errno_location() #10
  %1601 = load i32, ptr %1600, align 4, !tbaa !5
  %1602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1589, ptr noundef @.str.2, i32 noundef %1590, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 72, ptr noundef %1593, ptr noundef %1596, ptr noundef %1599, i32 noundef %1601) #9
  br label %1620

1603:                                             ; preds = %1581, %1574
  %1604 = load i32, ptr %34, align 4, !tbaa !5
  %1605 = call ptr @__errno_location() #10
  store i32 %1604, ptr %1605, align 4, !tbaa !5
  %1606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1607 = load i32, ptr @test_count, align 4, !tbaa !5
  %1608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1609 = load i32, ptr %1608, align 4, !tbaa !5
  %1610 = call ptr @s2n_strerror(i32 noundef %1609, ptr noundef @.str.4)
  %1611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1612 = load i32, ptr %1611, align 4, !tbaa !5
  %1613 = call ptr @s2n_strerror_debug(i32 noundef %1612, ptr noundef @.str.4)
  %1614 = call ptr @__errno_location() #10
  %1615 = load i32, ptr %1614, align 4, !tbaa !5
  %1616 = call ptr @strerror(i32 noundef %1615) #9
  %1617 = call ptr @__errno_location() #10
  %1618 = load i32, ptr %1617, align 4, !tbaa !5
  %1619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1606, ptr noundef @.str.5, i32 noundef %1607, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 72, ptr noundef %1610, ptr noundef %1613, ptr noundef %1616, i32 noundef %1618) #9
  br label %1620

1620:                                             ; preds = %1603, %1586
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #9
  br label %1621

1621:                                             ; preds = %1620
  br label %1622

1622:                                             ; preds = %1621
  call void @exit(i32 noundef 1) #11
  unreachable

1623:                                             ; No predecessors!
  br label %1624

1624:                                             ; preds = %1623
  br label %1625

1625:                                             ; preds = %1624, %1563
  br label %1626

1626:                                             ; preds = %1625
  br label %1627

1627:                                             ; preds = %1626
  br label %1628

1628:                                             ; preds = %1627
  %1629 = load i32, ptr @test_count, align 4, !tbaa !5
  %1630 = add nsw i32 %1629, 1
  store i32 %1630, ptr @test_count, align 4, !tbaa !5
  %1631 = load ptr, ptr %21, align 8, !tbaa !9
  %1632 = getelementptr inbounds %struct.s2n_connection, ptr %1631, i32 0, i32 41
  %1633 = getelementptr inbounds %struct.s2n_stuffer, ptr %1632, i32 0, i32 0
  %1634 = getelementptr inbounds %struct.s2n_blob, ptr %1633, i32 0, i32 1
  %1635 = load i32, ptr %1634, align 8, !tbaa !43
  %1636 = icmp eq i32 %1635, 8348
  br i1 %1636, label %1690, label %1637

1637:                                             ; preds = %1628
  br label %1638

1638:                                             ; preds = %1637
  br label %1639

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

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

1651:                                             ; preds = %1646
  %1652 = load i32, ptr %35, align 4, !tbaa !5
  %1653 = call ptr @__errno_location() #10
  store i32 %1652, ptr %1653, align 4, !tbaa !5
  %1654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1655 = load i32, ptr @test_count, align 4, !tbaa !5
  %1656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1657 = load i32, ptr %1656, align 4, !tbaa !5
  %1658 = call ptr @s2n_strerror(i32 noundef %1657, ptr noundef @.str.4)
  %1659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1660 = load i32, ptr %1659, align 4, !tbaa !5
  %1661 = call ptr @s2n_strerror_debug(i32 noundef %1660, ptr noundef @.str.4)
  %1662 = call ptr @__errno_location() #10
  %1663 = load i32, ptr %1662, align 4, !tbaa !5
  %1664 = call ptr @strerror(i32 noundef %1663) #9
  %1665 = call ptr @__errno_location() #10
  %1666 = load i32, ptr %1665, align 4, !tbaa !5
  %1667 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1654, ptr noundef @.str.2, i32 noundef %1655, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 75, ptr noundef %1658, ptr noundef %1661, ptr noundef %1664, i32 noundef %1666) #9
  br label %1685

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

1685:                                             ; preds = %1668, %1651
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #9
  br label %1686

1686:                                             ; preds = %1685
  br label %1687

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

1688:                                             ; No predecessors!
  br label %1689

1689:                                             ; preds = %1688
  br label %1690

1690:                                             ; preds = %1689, %1628
  br label %1691

1691:                                             ; preds = %1690
  br label %1692

1692:                                             ; preds = %1691
  br label %1693

1693:                                             ; preds = %1692
  %1694 = load i32, ptr @test_count, align 4, !tbaa !5
  %1695 = add nsw i32 %1694, 1
  store i32 %1695, ptr @test_count, align 4, !tbaa !5
  %1696 = load ptr, ptr %18, align 8, !tbaa !9
  %1697 = call i32 @s2n_connection_free(ptr noundef %1696)
  %1698 = icmp eq i32 %1697, -1
  br i1 %1698, label %1699, label %1752

1699:                                             ; preds = %1693
  br label %1700

1700:                                             ; preds = %1699
  br label %1701

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

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

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

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

1747:                                             ; preds = %1730, %1713
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #9
  br label %1748

1748:                                             ; preds = %1747
  br label %1749

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

1750:                                             ; No predecessors!
  br label %1751

1751:                                             ; preds = %1750
  br label %1752

1752:                                             ; preds = %1751, %1693
  br label %1753

1753:                                             ; preds = %1752
  br label %1754

1754:                                             ; preds = %1753
  br label %1755

1755:                                             ; preds = %1754
  %1756 = load i32, ptr @test_count, align 4, !tbaa !5
  %1757 = add nsw i32 %1756, 1
  store i32 %1757, ptr @test_count, align 4, !tbaa !5
  %1758 = load ptr, ptr %21, align 8, !tbaa !9
  %1759 = call i32 @s2n_connection_free(ptr noundef %1758)
  %1760 = icmp eq i32 %1759, -1
  br i1 %1760, label %1761, label %1814

1761:                                             ; preds = %1755
  br label %1762

1762:                                             ; preds = %1761
  br label %1763

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

1770:                                             ; preds = %1763
  %1771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1772 = call i32 @fileno(ptr noundef %1771) #9
  %1773 = call i32 @isatty(i32 noundef %1772) #9
  %1774 = icmp ne i32 %1773, 0
  br i1 %1774, label %1775, label %1792

1775:                                             ; preds = %1770
  %1776 = load i32, ptr %37, align 4, !tbaa !5
  %1777 = call ptr @__errno_location() #10
  store i32 %1776, ptr %1777, align 4, !tbaa !5
  %1778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1779 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1781, ptr noundef @.str.4)
  %1783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1784 = load i32, ptr %1783, align 4, !tbaa !5
  %1785 = call ptr @s2n_strerror_debug(i32 noundef %1784, ptr noundef @.str.4)
  %1786 = call ptr @__errno_location() #10
  %1787 = load i32, ptr %1786, align 4, !tbaa !5
  %1788 = call ptr @strerror(i32 noundef %1787) #9
  %1789 = call ptr @__errno_location() #10
  %1790 = load i32, ptr %1789, align 4, !tbaa !5
  %1791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1778, ptr noundef @.str.2, i32 noundef %1779, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 78, ptr noundef %1782, ptr noundef %1785, ptr noundef %1788, i32 noundef %1790) #9
  br label %1809

1792:                                             ; preds = %1770, %1763
  %1793 = load i32, ptr %37, align 4, !tbaa !5
  %1794 = call ptr @__errno_location() #10
  store i32 %1793, ptr %1794, align 4, !tbaa !5
  %1795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1796 = load i32, ptr @test_count, align 4, !tbaa !5
  %1797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1798 = load i32, ptr %1797, align 4, !tbaa !5
  %1799 = call ptr @s2n_strerror(i32 noundef %1798, ptr noundef @.str.4)
  %1800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1801 = load i32, ptr %1800, align 4, !tbaa !5
  %1802 = call ptr @s2n_strerror_debug(i32 noundef %1801, ptr noundef @.str.4)
  %1803 = call ptr @__errno_location() #10
  %1804 = load i32, ptr %1803, align 4, !tbaa !5
  %1805 = call ptr @strerror(i32 noundef %1804) #9
  %1806 = call ptr @__errno_location() #10
  %1807 = load i32, ptr %1806, align 4, !tbaa !5
  %1808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1795, ptr noundef @.str.5, i32 noundef %1796, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 78, ptr noundef %1799, ptr noundef %1802, ptr noundef %1805, i32 noundef %1807) #9
  br label %1809

1809:                                             ; preds = %1792, %1775
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #9
  br label %1810

1810:                                             ; preds = %1809
  br label %1811

1811:                                             ; preds = %1810
  call void @exit(i32 noundef 1) #11
  unreachable

1812:                                             ; No predecessors!
  br label %1813

1813:                                             ; preds = %1812
  br label %1814

1814:                                             ; preds = %1813, %1755
  br label %1815

1815:                                             ; preds = %1814
  br label %1816

1816:                                             ; preds = %1815
  %1817 = call i32 @s2n_io_pair_close(ptr noundef %24)
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #9
  %1818 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %1818, ptr %38, align 8, !tbaa !9
  br label %1819

1819:                                             ; preds = %1816
  %1820 = load i32, ptr @test_count, align 4, !tbaa !5
  %1821 = add nsw i32 %1820, 1
  store i32 %1821, ptr @test_count, align 4, !tbaa !5
  %1822 = load ptr, ptr %38, align 8, !tbaa !9
  %1823 = icmp eq ptr %1822, null
  br i1 %1823, label %1824, label %1877

1824:                                             ; preds = %1819
  br label %1825

1825:                                             ; preds = %1824
  br label %1826

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

1833:                                             ; preds = %1826
  %1834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1835 = call i32 @fileno(ptr noundef %1834) #9
  %1836 = call i32 @isatty(i32 noundef %1835) #9
  %1837 = icmp ne i32 %1836, 0
  br i1 %1837, label %1838, label %1855

1838:                                             ; preds = %1833
  %1839 = load i32, ptr %39, align 4, !tbaa !5
  %1840 = call ptr @__errno_location() #10
  store i32 %1839, ptr %1840, align 4, !tbaa !5
  %1841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1842 = load i32, ptr @test_count, align 4, !tbaa !5
  %1843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1844 = load i32, ptr %1843, align 4, !tbaa !5
  %1845 = call ptr @s2n_strerror(i32 noundef %1844, ptr noundef @.str.4)
  %1846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1847 = load i32, ptr %1846, align 4, !tbaa !5
  %1848 = call ptr @s2n_strerror_debug(i32 noundef %1847, ptr noundef @.str.4)
  %1849 = call ptr @__errno_location() #10
  %1850 = load i32, ptr %1849, align 4, !tbaa !5
  %1851 = call ptr @strerror(i32 noundef %1850) #9
  %1852 = call ptr @__errno_location() #10
  %1853 = load i32, ptr %1852, align 4, !tbaa !5
  %1854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1841, ptr noundef @.str.2, i32 noundef %1842, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 84, ptr noundef %1845, ptr noundef %1848, ptr noundef %1851, i32 noundef %1853) #9
  br label %1872

1855:                                             ; preds = %1833, %1826
  %1856 = load i32, ptr %39, align 4, !tbaa !5
  %1857 = call ptr @__errno_location() #10
  store i32 %1856, ptr %1857, align 4, !tbaa !5
  %1858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1859 = load i32, ptr @test_count, align 4, !tbaa !5
  %1860 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1861 = load i32, ptr %1860, align 4, !tbaa !5
  %1862 = call ptr @s2n_strerror(i32 noundef %1861, ptr noundef @.str.4)
  %1863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1864 = load i32, ptr %1863, align 4, !tbaa !5
  %1865 = call ptr @s2n_strerror_debug(i32 noundef %1864, ptr noundef @.str.4)
  %1866 = call ptr @__errno_location() #10
  %1867 = load i32, ptr %1866, align 4, !tbaa !5
  %1868 = call ptr @strerror(i32 noundef %1867) #9
  %1869 = call ptr @__errno_location() #10
  %1870 = load i32, ptr %1869, align 4, !tbaa !5
  %1871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1858, ptr noundef @.str.5, i32 noundef %1859, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 84, ptr noundef %1862, ptr noundef %1865, ptr noundef %1868, i32 noundef %1870) #9
  br label %1872

1872:                                             ; preds = %1855, %1838
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #9
  br label %1873

1873:                                             ; preds = %1872
  br label %1874

1874:                                             ; preds = %1873
  call void @exit(i32 noundef 1) #11
  unreachable

1875:                                             ; No predecessors!
  br label %1876

1876:                                             ; preds = %1875
  br label %1877

1877:                                             ; preds = %1876, %1819
  br label %1878

1878:                                             ; preds = %1877
  br label %1879

1879:                                             ; preds = %1878
  br label %1880

1880:                                             ; preds = %1879
  %1881 = load i32, ptr @test_count, align 4, !tbaa !5
  %1882 = add nsw i32 %1881, 1
  store i32 %1882, ptr @test_count, align 4, !tbaa !5
  %1883 = load ptr, ptr %38, align 8, !tbaa !9
  %1884 = load ptr, ptr %13, align 8, !tbaa !9
  %1885 = call i32 @s2n_connection_set_config(ptr noundef %1883, ptr noundef %1884)
  %1886 = icmp eq i32 %1885, -1
  br i1 %1886, label %1887, label %1940

1887:                                             ; preds = %1880
  br label %1888

1888:                                             ; preds = %1887
  br label %1889

1889:                                             ; preds = %1888
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #9
  %1890 = call ptr @__errno_location() #10
  %1891 = load i32, ptr %1890, align 4, !tbaa !5
  store i32 %1891, ptr %40, align 4, !tbaa !5
  %1892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1893 = call i32 @s2n_print_stacktrace(ptr noundef %1892)
  %1894 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1895 = trunc i8 %1894 to i1
  br i1 %1895, label %1896, label %1918

1896:                                             ; preds = %1889
  %1897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1898 = call i32 @fileno(ptr noundef %1897) #9
  %1899 = call i32 @isatty(i32 noundef %1898) #9
  %1900 = icmp ne i32 %1899, 0
  br i1 %1900, label %1901, label %1918

1901:                                             ; preds = %1896
  %1902 = load i32, ptr %40, align 4, !tbaa !5
  %1903 = call ptr @__errno_location() #10
  store i32 %1902, ptr %1903, align 4, !tbaa !5
  %1904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1905 = load i32, ptr @test_count, align 4, !tbaa !5
  %1906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1907 = load i32, ptr %1906, align 4, !tbaa !5
  %1908 = call ptr @s2n_strerror(i32 noundef %1907, ptr noundef @.str.4)
  %1909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1910 = load i32, ptr %1909, align 4, !tbaa !5
  %1911 = call ptr @s2n_strerror_debug(i32 noundef %1910, ptr noundef @.str.4)
  %1912 = call ptr @__errno_location() #10
  %1913 = load i32, ptr %1912, align 4, !tbaa !5
  %1914 = call ptr @strerror(i32 noundef %1913) #9
  %1915 = call ptr @__errno_location() #10
  %1916 = load i32, ptr %1915, align 4, !tbaa !5
  %1917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1904, ptr noundef @.str.2, i32 noundef %1905, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 85, ptr noundef %1908, ptr noundef %1911, ptr noundef %1914, i32 noundef %1916) #9
  br label %1935

1918:                                             ; preds = %1896, %1889
  %1919 = load i32, ptr %40, align 4, !tbaa !5
  %1920 = call ptr @__errno_location() #10
  store i32 %1919, ptr %1920, align 4, !tbaa !5
  %1921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1922 = load i32, ptr @test_count, align 4, !tbaa !5
  %1923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1924 = load i32, ptr %1923, align 4, !tbaa !5
  %1925 = call ptr @s2n_strerror(i32 noundef %1924, ptr noundef @.str.4)
  %1926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1927 = load i32, ptr %1926, align 4, !tbaa !5
  %1928 = call ptr @s2n_strerror_debug(i32 noundef %1927, ptr noundef @.str.4)
  %1929 = call ptr @__errno_location() #10
  %1930 = load i32, ptr %1929, align 4, !tbaa !5
  %1931 = call ptr @strerror(i32 noundef %1930) #9
  %1932 = call ptr @__errno_location() #10
  %1933 = load i32, ptr %1932, align 4, !tbaa !5
  %1934 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1921, ptr noundef @.str.5, i32 noundef %1922, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 85, ptr noundef %1925, ptr noundef %1928, ptr noundef %1931, i32 noundef %1933) #9
  br label %1935

1935:                                             ; preds = %1918, %1901
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #9
  br label %1936

1936:                                             ; preds = %1935
  br label %1937

1937:                                             ; preds = %1936
  call void @exit(i32 noundef 1) #11
  unreachable

1938:                                             ; No predecessors!
  br label %1939

1939:                                             ; preds = %1938
  br label %1940

1940:                                             ; preds = %1939, %1880
  br label %1941

1941:                                             ; preds = %1940
  br label %1942

1942:                                             ; preds = %1941
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #9
  %1943 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %1943, ptr %41, align 8, !tbaa !9
  br label %1944

1944:                                             ; preds = %1942
  %1945 = load i32, ptr @test_count, align 4, !tbaa !5
  %1946 = add nsw i32 %1945, 1
  store i32 %1946, ptr @test_count, align 4, !tbaa !5
  %1947 = load ptr, ptr %41, align 8, !tbaa !9
  %1948 = icmp eq ptr %1947, null
  br i1 %1948, label %1949, label %2002

1949:                                             ; preds = %1944
  br label %1950

1950:                                             ; preds = %1949
  br label %1951

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

1958:                                             ; preds = %1951
  %1959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1960 = call i32 @fileno(ptr noundef %1959) #9
  %1961 = call i32 @isatty(i32 noundef %1960) #9
  %1962 = icmp ne i32 %1961, 0
  br i1 %1962, label %1963, label %1980

1963:                                             ; preds = %1958
  %1964 = load i32, ptr %42, align 4, !tbaa !5
  %1965 = call ptr @__errno_location() #10
  store i32 %1964, ptr %1965, align 4, !tbaa !5
  %1966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1967 = load i32, ptr @test_count, align 4, !tbaa !5
  %1968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1969 = load i32, ptr %1968, align 4, !tbaa !5
  %1970 = call ptr @s2n_strerror(i32 noundef %1969, ptr noundef @.str.4)
  %1971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1972 = load i32, ptr %1971, align 4, !tbaa !5
  %1973 = call ptr @s2n_strerror_debug(i32 noundef %1972, ptr noundef @.str.4)
  %1974 = call ptr @__errno_location() #10
  %1975 = load i32, ptr %1974, align 4, !tbaa !5
  %1976 = call ptr @strerror(i32 noundef %1975) #9
  %1977 = call ptr @__errno_location() #10
  %1978 = load i32, ptr %1977, align 4, !tbaa !5
  %1979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1966, ptr noundef @.str.2, i32 noundef %1967, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 88, ptr noundef %1970, ptr noundef %1973, ptr noundef %1976, i32 noundef %1978) #9
  br label %1997

1980:                                             ; preds = %1958, %1951
  %1981 = load i32, ptr %42, align 4, !tbaa !5
  %1982 = call ptr @__errno_location() #10
  store i32 %1981, ptr %1982, align 4, !tbaa !5
  %1983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1984 = load i32, ptr @test_count, align 4, !tbaa !5
  %1985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1986 = load i32, ptr %1985, align 4, !tbaa !5
  %1987 = call ptr @s2n_strerror(i32 noundef %1986, ptr noundef @.str.4)
  %1988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1989 = load i32, ptr %1988, align 4, !tbaa !5
  %1990 = call ptr @s2n_strerror_debug(i32 noundef %1989, ptr noundef @.str.4)
  %1991 = call ptr @__errno_location() #10
  %1992 = load i32, ptr %1991, align 4, !tbaa !5
  %1993 = call ptr @strerror(i32 noundef %1992) #9
  %1994 = call ptr @__errno_location() #10
  %1995 = load i32, ptr %1994, align 4, !tbaa !5
  %1996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1983, ptr noundef @.str.5, i32 noundef %1984, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 88, ptr noundef %1987, ptr noundef %1990, ptr noundef %1993, i32 noundef %1995) #9
  br label %1997

1997:                                             ; preds = %1980, %1963
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #9
  br label %1998

1998:                                             ; preds = %1997
  br label %1999

1999:                                             ; preds = %1998
  call void @exit(i32 noundef 1) #11
  unreachable

2000:                                             ; No predecessors!
  br label %2001

2001:                                             ; preds = %2000
  br label %2002

2002:                                             ; preds = %2001, %1944
  br label %2003

2003:                                             ; preds = %2002
  br label %2004

2004:                                             ; preds = %2003
  br label %2005

2005:                                             ; preds = %2004
  %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 %41, align 8, !tbaa !9
  %2009 = load ptr, ptr %13, align 8, !tbaa !9
  %2010 = call i32 @s2n_connection_set_config(ptr noundef %2008, ptr noundef %2009)
  %2011 = icmp eq i32 %2010, -1
  br i1 %2011, label %2012, label %2065

2012:                                             ; preds = %2005
  br label %2013

2013:                                             ; preds = %2012
  br label %2014

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

2021:                                             ; preds = %2014
  %2022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2023 = call i32 @fileno(ptr noundef %2022) #9
  %2024 = call i32 @isatty(i32 noundef %2023) #9
  %2025 = icmp ne i32 %2024, 0
  br i1 %2025, label %2026, label %2043

2026:                                             ; preds = %2021
  %2027 = load i32, ptr %43, align 4, !tbaa !5
  %2028 = call ptr @__errno_location() #10
  store i32 %2027, ptr %2028, align 4, !tbaa !5
  %2029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2030 = load i32, ptr @test_count, align 4, !tbaa !5
  %2031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2032 = load i32, ptr %2031, align 4, !tbaa !5
  %2033 = call ptr @s2n_strerror(i32 noundef %2032, ptr noundef @.str.4)
  %2034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2035 = load i32, ptr %2034, align 4, !tbaa !5
  %2036 = call ptr @s2n_strerror_debug(i32 noundef %2035, ptr noundef @.str.4)
  %2037 = call ptr @__errno_location() #10
  %2038 = load i32, ptr %2037, align 4, !tbaa !5
  %2039 = call ptr @strerror(i32 noundef %2038) #9
  %2040 = call ptr @__errno_location() #10
  %2041 = load i32, ptr %2040, align 4, !tbaa !5
  %2042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2029, ptr noundef @.str.2, i32 noundef %2030, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 89, ptr noundef %2033, ptr noundef %2036, ptr noundef %2039, i32 noundef %2041) #9
  br label %2060

2043:                                             ; preds = %2021, %2014
  %2044 = load i32, ptr %43, align 4, !tbaa !5
  %2045 = call ptr @__errno_location() #10
  store i32 %2044, ptr %2045, align 4, !tbaa !5
  %2046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2047 = load i32, ptr @test_count, align 4, !tbaa !5
  %2048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2049 = load i32, ptr %2048, align 4, !tbaa !5
  %2050 = call ptr @s2n_strerror(i32 noundef %2049, ptr noundef @.str.4)
  %2051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2052 = load i32, ptr %2051, align 4, !tbaa !5
  %2053 = call ptr @s2n_strerror_debug(i32 noundef %2052, ptr noundef @.str.4)
  %2054 = call ptr @__errno_location() #10
  %2055 = load i32, ptr %2054, align 4, !tbaa !5
  %2056 = call ptr @strerror(i32 noundef %2055) #9
  %2057 = call ptr @__errno_location() #10
  %2058 = load i32, ptr %2057, align 4, !tbaa !5
  %2059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2046, ptr noundef @.str.5, i32 noundef %2047, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 89, ptr noundef %2050, ptr noundef %2053, ptr noundef %2056, i32 noundef %2058) #9
  br label %2060

2060:                                             ; preds = %2043, %2026
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #9
  br label %2061

2061:                                             ; preds = %2060
  br label %2062

2062:                                             ; preds = %2061
  call void @exit(i32 noundef 1) #11
  unreachable

2063:                                             ; No predecessors!
  br label %2064

2064:                                             ; preds = %2063
  br label %2065

2065:                                             ; preds = %2064, %2005
  br label %2066

2066:                                             ; preds = %2065
  br label %2067

2067:                                             ; preds = %2066
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #9
  call void @llvm.memset.p0.i64(ptr align 4 %44, i8 0, i64 8, i1 false)
  br label %2068

2068:                                             ; preds = %2067
  %2069 = load i32, ptr @test_count, align 4, !tbaa !5
  %2070 = add nsw i32 %2069, 1
  store i32 %2070, ptr @test_count, align 4, !tbaa !5
  %2071 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %44)
  %2072 = icmp eq i32 %2071, -1
  br i1 %2072, label %2073, label %2126

2073:                                             ; preds = %2068
  br label %2074

2074:                                             ; preds = %2073
  br label %2075

2075:                                             ; preds = %2074
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #9
  %2076 = call ptr @__errno_location() #10
  %2077 = load i32, ptr %2076, align 4, !tbaa !5
  store i32 %2077, ptr %45, align 4, !tbaa !5
  %2078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2079 = call i32 @s2n_print_stacktrace(ptr noundef %2078)
  %2080 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2081 = trunc i8 %2080 to i1
  br i1 %2081, label %2082, label %2104

2082:                                             ; preds = %2075
  %2083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2084 = call i32 @fileno(ptr noundef %2083) #9
  %2085 = call i32 @isatty(i32 noundef %2084) #9
  %2086 = icmp ne i32 %2085, 0
  br i1 %2086, label %2087, label %2104

2087:                                             ; preds = %2082
  %2088 = load i32, ptr %45, align 4, !tbaa !5
  %2089 = call ptr @__errno_location() #10
  store i32 %2088, ptr %2089, align 4, !tbaa !5
  %2090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2091 = load i32, ptr @test_count, align 4, !tbaa !5
  %2092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2093 = load i32, ptr %2092, align 4, !tbaa !5
  %2094 = call ptr @s2n_strerror(i32 noundef %2093, ptr noundef @.str.4)
  %2095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2096 = load i32, ptr %2095, align 4, !tbaa !5
  %2097 = call ptr @s2n_strerror_debug(i32 noundef %2096, ptr noundef @.str.4)
  %2098 = call ptr @__errno_location() #10
  %2099 = load i32, ptr %2098, align 4, !tbaa !5
  %2100 = call ptr @strerror(i32 noundef %2099) #9
  %2101 = call ptr @__errno_location() #10
  %2102 = load i32, ptr %2101, align 4, !tbaa !5
  %2103 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2090, ptr noundef @.str.2, i32 noundef %2091, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 93, ptr noundef %2094, ptr noundef %2097, ptr noundef %2100, i32 noundef %2102) #9
  br label %2121

2104:                                             ; preds = %2082, %2075
  %2105 = load i32, ptr %45, align 4, !tbaa !5
  %2106 = call ptr @__errno_location() #10
  store i32 %2105, ptr %2106, align 4, !tbaa !5
  %2107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2108 = load i32, ptr @test_count, align 4, !tbaa !5
  %2109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2110 = load i32, ptr %2109, align 4, !tbaa !5
  %2111 = call ptr @s2n_strerror(i32 noundef %2110, ptr noundef @.str.4)
  %2112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2113 = load i32, ptr %2112, align 4, !tbaa !5
  %2114 = call ptr @s2n_strerror_debug(i32 noundef %2113, ptr noundef @.str.4)
  %2115 = call ptr @__errno_location() #10
  %2116 = load i32, ptr %2115, align 4, !tbaa !5
  %2117 = call ptr @strerror(i32 noundef %2116) #9
  %2118 = call ptr @__errno_location() #10
  %2119 = load i32, ptr %2118, align 4, !tbaa !5
  %2120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2107, ptr noundef @.str.5, i32 noundef %2108, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 93, ptr noundef %2111, ptr noundef %2114, ptr noundef %2117, i32 noundef %2119) #9
  br label %2121

2121:                                             ; preds = %2104, %2087
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #9
  br label %2122

2122:                                             ; preds = %2121
  br label %2123

2123:                                             ; preds = %2122
  call void @exit(i32 noundef 1) #11
  unreachable

2124:                                             ; No predecessors!
  br label %2125

2125:                                             ; preds = %2124
  br label %2126

2126:                                             ; preds = %2125, %2068
  br label %2127

2127:                                             ; preds = %2126
  br label %2128

2128:                                             ; preds = %2127
  br label %2129

2129:                                             ; preds = %2128
  %2130 = load i32, ptr @test_count, align 4, !tbaa !5
  %2131 = add nsw i32 %2130, 1
  store i32 %2131, ptr @test_count, align 4, !tbaa !5
  %2132 = load ptr, ptr %38, align 8, !tbaa !9
  %2133 = call i32 @s2n_connection_set_io_pair(ptr noundef %2132, ptr noundef %44)
  %2134 = icmp eq i32 %2133, -1
  br i1 %2134, label %2135, label %2188

2135:                                             ; preds = %2129
  br label %2136

2136:                                             ; preds = %2135
  br label %2137

2137:                                             ; preds = %2136
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #9
  %2138 = call ptr @__errno_location() #10
  %2139 = load i32, ptr %2138, align 4, !tbaa !5
  store i32 %2139, ptr %46, align 4, !tbaa !5
  %2140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2141 = call i32 @s2n_print_stacktrace(ptr noundef %2140)
  %2142 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2143 = trunc i8 %2142 to i1
  br i1 %2143, label %2144, label %2166

2144:                                             ; preds = %2137
  %2145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2146 = call i32 @fileno(ptr noundef %2145) #9
  %2147 = call i32 @isatty(i32 noundef %2146) #9
  %2148 = icmp ne i32 %2147, 0
  br i1 %2148, label %2149, label %2166

2149:                                             ; preds = %2144
  %2150 = load i32, ptr %46, align 4, !tbaa !5
  %2151 = call ptr @__errno_location() #10
  store i32 %2150, ptr %2151, align 4, !tbaa !5
  %2152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2153 = load i32, ptr @test_count, align 4, !tbaa !5
  %2154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2155 = load i32, ptr %2154, align 4, !tbaa !5
  %2156 = call ptr @s2n_strerror(i32 noundef %2155, ptr noundef @.str.4)
  %2157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2158 = load i32, ptr %2157, align 4, !tbaa !5
  %2159 = call ptr @s2n_strerror_debug(i32 noundef %2158, ptr noundef @.str.4)
  %2160 = call ptr @__errno_location() #10
  %2161 = load i32, ptr %2160, align 4, !tbaa !5
  %2162 = call ptr @strerror(i32 noundef %2161) #9
  %2163 = call ptr @__errno_location() #10
  %2164 = load i32, ptr %2163, align 4, !tbaa !5
  %2165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2152, ptr noundef @.str.2, i32 noundef %2153, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 94, ptr noundef %2156, ptr noundef %2159, ptr noundef %2162, i32 noundef %2164) #9
  br label %2183

2166:                                             ; preds = %2144, %2137
  %2167 = load i32, ptr %46, align 4, !tbaa !5
  %2168 = call ptr @__errno_location() #10
  store i32 %2167, ptr %2168, align 4, !tbaa !5
  %2169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2170 = load i32, ptr @test_count, align 4, !tbaa !5
  %2171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2172 = load i32, ptr %2171, align 4, !tbaa !5
  %2173 = call ptr @s2n_strerror(i32 noundef %2172, ptr noundef @.str.4)
  %2174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2175 = load i32, ptr %2174, align 4, !tbaa !5
  %2176 = call ptr @s2n_strerror_debug(i32 noundef %2175, ptr noundef @.str.4)
  %2177 = call ptr @__errno_location() #10
  %2178 = load i32, ptr %2177, align 4, !tbaa !5
  %2179 = call ptr @strerror(i32 noundef %2178) #9
  %2180 = call ptr @__errno_location() #10
  %2181 = load i32, ptr %2180, align 4, !tbaa !5
  %2182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2169, ptr noundef @.str.5, i32 noundef %2170, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 94, ptr noundef %2173, ptr noundef %2176, ptr noundef %2179, i32 noundef %2181) #9
  br label %2183

2183:                                             ; preds = %2166, %2149
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #9
  br label %2184

2184:                                             ; preds = %2183
  br label %2185

2185:                                             ; preds = %2184
  call void @exit(i32 noundef 1) #11
  unreachable

2186:                                             ; No predecessors!
  br label %2187

2187:                                             ; preds = %2186
  br label %2188

2188:                                             ; preds = %2187, %2129
  br label %2189

2189:                                             ; preds = %2188
  br label %2190

2190:                                             ; preds = %2189
  br label %2191

2191:                                             ; preds = %2190
  %2192 = load i32, ptr @test_count, align 4, !tbaa !5
  %2193 = add nsw i32 %2192, 1
  store i32 %2193, ptr @test_count, align 4, !tbaa !5
  %2194 = load ptr, ptr %41, align 8, !tbaa !9
  %2195 = call i32 @s2n_connection_set_io_pair(ptr noundef %2194, ptr noundef %44)
  %2196 = icmp eq i32 %2195, -1
  br i1 %2196, label %2197, label %2250

2197:                                             ; preds = %2191
  br label %2198

2198:                                             ; preds = %2197
  br label %2199

2199:                                             ; preds = %2198
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #9
  %2200 = call ptr @__errno_location() #10
  %2201 = load i32, ptr %2200, align 4, !tbaa !5
  store i32 %2201, ptr %47, align 4, !tbaa !5
  %2202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2203 = call i32 @s2n_print_stacktrace(ptr noundef %2202)
  %2204 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2205 = trunc i8 %2204 to i1
  br i1 %2205, label %2206, label %2228

2206:                                             ; preds = %2199
  %2207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2208 = call i32 @fileno(ptr noundef %2207) #9
  %2209 = call i32 @isatty(i32 noundef %2208) #9
  %2210 = icmp ne i32 %2209, 0
  br i1 %2210, label %2211, label %2228

2211:                                             ; preds = %2206
  %2212 = load i32, ptr %47, align 4, !tbaa !5
  %2213 = call ptr @__errno_location() #10
  store i32 %2212, ptr %2213, align 4, !tbaa !5
  %2214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2215 = load i32, ptr @test_count, align 4, !tbaa !5
  %2216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2217 = load i32, ptr %2216, align 4, !tbaa !5
  %2218 = call ptr @s2n_strerror(i32 noundef %2217, ptr noundef @.str.4)
  %2219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2220 = load i32, ptr %2219, align 4, !tbaa !5
  %2221 = call ptr @s2n_strerror_debug(i32 noundef %2220, ptr noundef @.str.4)
  %2222 = call ptr @__errno_location() #10
  %2223 = load i32, ptr %2222, align 4, !tbaa !5
  %2224 = call ptr @strerror(i32 noundef %2223) #9
  %2225 = call ptr @__errno_location() #10
  %2226 = load i32, ptr %2225, align 4, !tbaa !5
  %2227 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2214, ptr noundef @.str.2, i32 noundef %2215, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 95, ptr noundef %2218, ptr noundef %2221, ptr noundef %2224, i32 noundef %2226) #9
  br label %2245

2228:                                             ; preds = %2206, %2199
  %2229 = load i32, ptr %47, align 4, !tbaa !5
  %2230 = call ptr @__errno_location() #10
  store i32 %2229, ptr %2230, align 4, !tbaa !5
  %2231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2232 = load i32, ptr @test_count, align 4, !tbaa !5
  %2233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2234 = load i32, ptr %2233, align 4, !tbaa !5
  %2235 = call ptr @s2n_strerror(i32 noundef %2234, ptr noundef @.str.4)
  %2236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2237 = load i32, ptr %2236, align 4, !tbaa !5
  %2238 = call ptr @s2n_strerror_debug(i32 noundef %2237, ptr noundef @.str.4)
  %2239 = call ptr @__errno_location() #10
  %2240 = load i32, ptr %2239, align 4, !tbaa !5
  %2241 = call ptr @strerror(i32 noundef %2240) #9
  %2242 = call ptr @__errno_location() #10
  %2243 = load i32, ptr %2242, align 4, !tbaa !5
  %2244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2231, ptr noundef @.str.5, i32 noundef %2232, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 95, ptr noundef %2235, ptr noundef %2238, ptr noundef %2241, i32 noundef %2243) #9
  br label %2245

2245:                                             ; preds = %2228, %2211
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #9
  br label %2246

2246:                                             ; preds = %2245
  br label %2247

2247:                                             ; preds = %2246
  call void @exit(i32 noundef 1) #11
  unreachable

2248:                                             ; No predecessors!
  br label %2249

2249:                                             ; preds = %2248
  br label %2250

2250:                                             ; preds = %2249, %2191
  br label %2251

2251:                                             ; preds = %2250
  br label %2252

2252:                                             ; preds = %2251
  br label %2253

2253:                                             ; preds = %2252
  %2254 = load i32, ptr @test_count, align 4, !tbaa !5
  %2255 = add nsw i32 %2254, 1
  store i32 %2255, ptr @test_count, align 4, !tbaa !5
  %2256 = load ptr, ptr %38, align 8, !tbaa !9
  %2257 = call i32 @s2n_connection_prefer_low_latency(ptr noundef %2256)
  %2258 = icmp eq i32 %2257, -1
  br i1 %2258, label %2259, label %2312

2259:                                             ; preds = %2253
  br label %2260

2260:                                             ; preds = %2259
  br label %2261

2261:                                             ; preds = %2260
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #9
  %2262 = call ptr @__errno_location() #10
  %2263 = load i32, ptr %2262, align 4, !tbaa !5
  store i32 %2263, ptr %48, align 4, !tbaa !5
  %2264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2265 = call i32 @s2n_print_stacktrace(ptr noundef %2264)
  %2266 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2267 = trunc i8 %2266 to i1
  br i1 %2267, label %2268, label %2290

2268:                                             ; preds = %2261
  %2269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2270 = call i32 @fileno(ptr noundef %2269) #9
  %2271 = call i32 @isatty(i32 noundef %2270) #9
  %2272 = icmp ne i32 %2271, 0
  br i1 %2272, label %2273, label %2290

2273:                                             ; preds = %2268
  %2274 = load i32, ptr %48, align 4, !tbaa !5
  %2275 = call ptr @__errno_location() #10
  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.4)
  %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.4)
  %2284 = call ptr @__errno_location() #10
  %2285 = load i32, ptr %2284, align 4, !tbaa !5
  %2286 = call ptr @strerror(i32 noundef %2285) #9
  %2287 = call ptr @__errno_location() #10
  %2288 = load i32, ptr %2287, align 4, !tbaa !5
  %2289 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2276, ptr noundef @.str.2, i32 noundef %2277, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 98, ptr noundef %2280, ptr noundef %2283, ptr noundef %2286, i32 noundef %2288) #9
  br label %2307

2290:                                             ; preds = %2268, %2261
  %2291 = load i32, ptr %48, align 4, !tbaa !5
  %2292 = call ptr @__errno_location() #10
  store i32 %2291, ptr %2292, align 4, !tbaa !5
  %2293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2294 = load i32, ptr @test_count, align 4, !tbaa !5
  %2295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2296 = load i32, ptr %2295, align 4, !tbaa !5
  %2297 = call ptr @s2n_strerror(i32 noundef %2296, ptr noundef @.str.4)
  %2298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2299 = load i32, ptr %2298, align 4, !tbaa !5
  %2300 = call ptr @s2n_strerror_debug(i32 noundef %2299, ptr noundef @.str.4)
  %2301 = call ptr @__errno_location() #10
  %2302 = load i32, ptr %2301, align 4, !tbaa !5
  %2303 = call ptr @strerror(i32 noundef %2302) #9
  %2304 = call ptr @__errno_location() #10
  %2305 = load i32, ptr %2304, align 4, !tbaa !5
  %2306 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2293, ptr noundef @.str.5, i32 noundef %2294, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 98, ptr noundef %2297, ptr noundef %2300, ptr noundef %2303, i32 noundef %2305) #9
  br label %2307

2307:                                             ; preds = %2290, %2273
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #9
  br label %2308

2308:                                             ; preds = %2307
  br label %2309

2309:                                             ; preds = %2308
  call void @exit(i32 noundef 1) #11
  unreachable

2310:                                             ; No predecessors!
  br label %2311

2311:                                             ; preds = %2310
  br label %2312

2312:                                             ; preds = %2311, %2253
  br label %2313

2313:                                             ; preds = %2312
  br label %2314

2314:                                             ; preds = %2313
  br label %2315

2315:                                             ; preds = %2314
  %2316 = load i32, ptr @test_count, align 4, !tbaa !5
  %2317 = add nsw i32 %2316, 1
  store i32 %2317, ptr @test_count, align 4, !tbaa !5
  %2318 = load ptr, ptr %41, align 8, !tbaa !9
  %2319 = call i32 @s2n_connection_prefer_throughput(ptr noundef %2318)
  %2320 = icmp eq i32 %2319, -1
  br i1 %2320, label %2321, label %2374

2321:                                             ; preds = %2315
  br label %2322

2322:                                             ; preds = %2321
  br label %2323

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

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

2335:                                             ; preds = %2330
  %2336 = load i32, ptr %49, align 4, !tbaa !5
  %2337 = call ptr @__errno_location() #10
  store i32 %2336, ptr %2337, align 4, !tbaa !5
  %2338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2339 = load i32, ptr @test_count, align 4, !tbaa !5
  %2340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2341 = load i32, ptr %2340, align 4, !tbaa !5
  %2342 = call ptr @s2n_strerror(i32 noundef %2341, ptr noundef @.str.4)
  %2343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2344 = load i32, ptr %2343, align 4, !tbaa !5
  %2345 = call ptr @s2n_strerror_debug(i32 noundef %2344, ptr noundef @.str.4)
  %2346 = call ptr @__errno_location() #10
  %2347 = load i32, ptr %2346, align 4, !tbaa !5
  %2348 = call ptr @strerror(i32 noundef %2347) #9
  %2349 = call ptr @__errno_location() #10
  %2350 = load i32, ptr %2349, align 4, !tbaa !5
  %2351 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2338, ptr noundef @.str.2, i32 noundef %2339, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 99, ptr noundef %2342, ptr noundef %2345, ptr noundef %2348, i32 noundef %2350) #9
  br label %2369

2352:                                             ; preds = %2330, %2323
  %2353 = load i32, ptr %49, align 4, !tbaa !5
  %2354 = call ptr @__errno_location() #10
  store i32 %2353, ptr %2354, align 4, !tbaa !5
  %2355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2356 = load i32, ptr @test_count, align 4, !tbaa !5
  %2357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2358 = load i32, ptr %2357, align 4, !tbaa !5
  %2359 = call ptr @s2n_strerror(i32 noundef %2358, ptr noundef @.str.4)
  %2360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2361 = load i32, ptr %2360, align 4, !tbaa !5
  %2362 = call ptr @s2n_strerror_debug(i32 noundef %2361, ptr noundef @.str.4)
  %2363 = call ptr @__errno_location() #10
  %2364 = load i32, ptr %2363, align 4, !tbaa !5
  %2365 = call ptr @strerror(i32 noundef %2364) #9
  %2366 = call ptr @__errno_location() #10
  %2367 = load i32, ptr %2366, align 4, !tbaa !5
  %2368 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2355, ptr noundef @.str.5, i32 noundef %2356, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 99, ptr noundef %2359, ptr noundef %2362, ptr noundef %2365, i32 noundef %2367) #9
  br label %2369

2369:                                             ; preds = %2352, %2335
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #9
  br label %2370

2370:                                             ; preds = %2369
  br label %2371

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

2372:                                             ; No predecessors!
  br label %2373

2373:                                             ; preds = %2372
  br label %2374

2374:                                             ; preds = %2373, %2315
  br label %2375

2375:                                             ; preds = %2374
  br label %2376

2376:                                             ; preds = %2375
  br label %2377

2377:                                             ; preds = %2376
  %2378 = load i32, ptr @test_count, align 4, !tbaa !5
  %2379 = add nsw i32 %2378, 1
  store i32 %2379, ptr @test_count, align 4, !tbaa !5
  %2380 = load ptr, ptr %41, align 8, !tbaa !9
  %2381 = load ptr, ptr %38, align 8, !tbaa !9
  %2382 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %2380, ptr noundef %2381, i32 noundef 2)
  %2383 = getelementptr inbounds %struct.s2n_result, ptr %50, i32 0, i32 0
  store i32 %2382, ptr %2383, align 4
  %2384 = getelementptr inbounds %struct.s2n_result, ptr %50, i32 0, i32 0
  %2385 = load i32, ptr %2384, align 4
  %2386 = call zeroext i1 @s2n_result_is_ok(i32 %2385)
  br i1 %2386, label %2440, label %2387

2387:                                             ; preds = %2377
  br label %2388

2388:                                             ; preds = %2387
  br label %2389

2389:                                             ; preds = %2388
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #9
  %2390 = call ptr @__errno_location() #10
  %2391 = load i32, ptr %2390, align 4, !tbaa !5
  store i32 %2391, ptr %51, align 4, !tbaa !5
  %2392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2393 = call i32 @s2n_print_stacktrace(ptr noundef %2392)
  %2394 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2395 = trunc i8 %2394 to i1
  br i1 %2395, label %2396, label %2418

2396:                                             ; preds = %2389
  %2397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2398 = call i32 @fileno(ptr noundef %2397) #9
  %2399 = call i32 @isatty(i32 noundef %2398) #9
  %2400 = icmp ne i32 %2399, 0
  br i1 %2400, label %2401, label %2418

2401:                                             ; preds = %2396
  %2402 = load i32, ptr %51, align 4, !tbaa !5
  %2403 = call ptr @__errno_location() #10
  store i32 %2402, ptr %2403, align 4, !tbaa !5
  %2404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2405 = load i32, ptr @test_count, align 4, !tbaa !5
  %2406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2407 = load i32, ptr %2406, align 4, !tbaa !5
  %2408 = call ptr @s2n_strerror(i32 noundef %2407, ptr noundef @.str.4)
  %2409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2410 = load i32, ptr %2409, align 4, !tbaa !5
  %2411 = call ptr @s2n_strerror_debug(i32 noundef %2410, ptr noundef @.str.4)
  %2412 = call ptr @__errno_location() #10
  %2413 = load i32, ptr %2412, align 4, !tbaa !5
  %2414 = call ptr @strerror(i32 noundef %2413) #9
  %2415 = call ptr @__errno_location() #10
  %2416 = load i32, ptr %2415, align 4, !tbaa !5
  %2417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2404, ptr noundef @.str.2, i32 noundef %2405, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 102, ptr noundef %2408, ptr noundef %2411, ptr noundef %2414, i32 noundef %2416) #9
  br label %2435

2418:                                             ; preds = %2396, %2389
  %2419 = load i32, ptr %51, align 4, !tbaa !5
  %2420 = call ptr @__errno_location() #10
  store i32 %2419, ptr %2420, align 4, !tbaa !5
  %2421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2422 = load i32, ptr @test_count, align 4, !tbaa !5
  %2423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2424 = load i32, ptr %2423, align 4, !tbaa !5
  %2425 = call ptr @s2n_strerror(i32 noundef %2424, ptr noundef @.str.4)
  %2426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2427 = load i32, ptr %2426, align 4, !tbaa !5
  %2428 = call ptr @s2n_strerror_debug(i32 noundef %2427, ptr noundef @.str.4)
  %2429 = call ptr @__errno_location() #10
  %2430 = load i32, ptr %2429, align 4, !tbaa !5
  %2431 = call ptr @strerror(i32 noundef %2430) #9
  %2432 = call ptr @__errno_location() #10
  %2433 = load i32, ptr %2432, align 4, !tbaa !5
  %2434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2421, ptr noundef @.str.5, i32 noundef %2422, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 102, ptr noundef %2425, ptr noundef %2428, ptr noundef %2431, i32 noundef %2433) #9
  br label %2435

2435:                                             ; preds = %2418, %2401
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #9
  br label %2436

2436:                                             ; preds = %2435
  br label %2437

2437:                                             ; preds = %2436
  call void @exit(i32 noundef 1) #11
  unreachable

2438:                                             ; No predecessors!
  br label %2439

2439:                                             ; preds = %2438
  br label %2440

2440:                                             ; preds = %2439, %2377
  br label %2441

2441:                                             ; preds = %2440
  br label %2442

2442:                                             ; preds = %2441
  br label %2443

2443:                                             ; preds = %2442
  %2444 = load i32, ptr @test_count, align 4, !tbaa !5
  %2445 = add nsw i32 %2444, 1
  store i32 %2445, ptr @test_count, align 4, !tbaa !5
  %2446 = load ptr, ptr %38, align 8, !tbaa !9
  %2447 = getelementptr inbounds %struct.s2n_connection, ptr %2446, i32 0, i32 23
  %2448 = load i8, ptr %2447, align 4, !tbaa !15
  %2449 = zext i8 %2448 to i32
  %2450 = icmp eq i32 %2449, 34
  br i1 %2450, label %2504, label %2451

2451:                                             ; preds = %2443
  br label %2452

2452:                                             ; preds = %2451
  br label %2453

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

2460:                                             ; preds = %2453
  %2461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2462 = call i32 @fileno(ptr noundef %2461) #9
  %2463 = call i32 @isatty(i32 noundef %2462) #9
  %2464 = icmp ne i32 %2463, 0
  br i1 %2464, label %2465, label %2482

2465:                                             ; preds = %2460
  %2466 = load i32, ptr %52, align 4, !tbaa !5
  %2467 = call ptr @__errno_location() #10
  store i32 %2466, ptr %2467, align 4, !tbaa !5
  %2468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2469 = load i32, ptr @test_count, align 4, !tbaa !5
  %2470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2471 = load i32, ptr %2470, align 4, !tbaa !5
  %2472 = call ptr @s2n_strerror(i32 noundef %2471, ptr noundef @.str.4)
  %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_debug(i32 noundef %2474, ptr noundef @.str.4)
  %2476 = call ptr @__errno_location() #10
  %2477 = load i32, ptr %2476, align 4, !tbaa !5
  %2478 = call ptr @strerror(i32 noundef %2477) #9
  %2479 = call ptr @__errno_location() #10
  %2480 = load i32, ptr %2479, align 4, !tbaa !5
  %2481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2468, ptr noundef @.str.2, i32 noundef %2469, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 103, ptr noundef %2472, ptr noundef %2475, ptr noundef %2478, i32 noundef %2480) #9
  br label %2499

2482:                                             ; preds = %2460, %2453
  %2483 = load i32, ptr %52, align 4, !tbaa !5
  %2484 = call ptr @__errno_location() #10
  store i32 %2483, ptr %2484, align 4, !tbaa !5
  %2485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2486 = load i32, ptr @test_count, align 4, !tbaa !5
  %2487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2488 = load i32, ptr %2487, align 4, !tbaa !5
  %2489 = call ptr @s2n_strerror(i32 noundef %2488, ptr noundef @.str.4)
  %2490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2491 = load i32, ptr %2490, align 4, !tbaa !5
  %2492 = call ptr @s2n_strerror_debug(i32 noundef %2491, ptr noundef @.str.4)
  %2493 = call ptr @__errno_location() #10
  %2494 = load i32, ptr %2493, align 4, !tbaa !5
  %2495 = call ptr @strerror(i32 noundef %2494) #9
  %2496 = call ptr @__errno_location() #10
  %2497 = load i32, ptr %2496, align 4, !tbaa !5
  %2498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2485, ptr noundef @.str.5, i32 noundef %2486, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 103, ptr noundef %2489, ptr noundef %2492, ptr noundef %2495, i32 noundef %2497) #9
  br label %2499

2499:                                             ; preds = %2482, %2465
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #9
  br label %2500

2500:                                             ; preds = %2499
  br label %2501

2501:                                             ; preds = %2500
  call void @exit(i32 noundef 1) #11
  unreachable

2502:                                             ; No predecessors!
  br label %2503

2503:                                             ; preds = %2502
  br label %2504

2504:                                             ; preds = %2503, %2443
  br label %2505

2505:                                             ; preds = %2504
  br label %2506

2506:                                             ; preds = %2505
  br label %2507

2507:                                             ; preds = %2506
  %2508 = load i32, ptr @test_count, align 4, !tbaa !5
  %2509 = add nsw i32 %2508, 1
  store i32 %2509, ptr @test_count, align 4, !tbaa !5
  %2510 = load ptr, ptr %41, align 8, !tbaa !9
  %2511 = getelementptr inbounds %struct.s2n_connection, ptr %2510, i32 0, i32 23
  %2512 = load i8, ptr %2511, align 4, !tbaa !15
  %2513 = zext i8 %2512 to i32
  %2514 = icmp eq i32 %2513, 34
  br i1 %2514, label %2568, label %2515

2515:                                             ; preds = %2507
  br label %2516

2516:                                             ; preds = %2515
  br label %2517

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

2524:                                             ; preds = %2517
  %2525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2526 = call i32 @fileno(ptr noundef %2525) #9
  %2527 = call i32 @isatty(i32 noundef %2526) #9
  %2528 = icmp ne i32 %2527, 0
  br i1 %2528, label %2529, label %2546

2529:                                             ; preds = %2524
  %2530 = load i32, ptr %53, align 4, !tbaa !5
  %2531 = call ptr @__errno_location() #10
  store i32 %2530, ptr %2531, align 4, !tbaa !5
  %2532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2533 = load i32, ptr @test_count, align 4, !tbaa !5
  %2534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2535 = load i32, ptr %2534, align 4, !tbaa !5
  %2536 = call ptr @s2n_strerror(i32 noundef %2535, ptr noundef @.str.4)
  %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_debug(i32 noundef %2538, ptr noundef @.str.4)
  %2540 = call ptr @__errno_location() #10
  %2541 = load i32, ptr %2540, align 4, !tbaa !5
  %2542 = call ptr @strerror(i32 noundef %2541) #9
  %2543 = call ptr @__errno_location() #10
  %2544 = load i32, ptr %2543, align 4, !tbaa !5
  %2545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2532, ptr noundef @.str.2, i32 noundef %2533, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 104, ptr noundef %2536, ptr noundef %2539, ptr noundef %2542, i32 noundef %2544) #9
  br label %2563

2546:                                             ; preds = %2524, %2517
  %2547 = load i32, ptr %53, align 4, !tbaa !5
  %2548 = call ptr @__errno_location() #10
  store i32 %2547, ptr %2548, align 4, !tbaa !5
  %2549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2550 = load i32, ptr @test_count, align 4, !tbaa !5
  %2551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2552 = load i32, ptr %2551, align 4, !tbaa !5
  %2553 = call ptr @s2n_strerror(i32 noundef %2552, ptr noundef @.str.4)
  %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_debug(i32 noundef %2555, ptr noundef @.str.4)
  %2557 = call ptr @__errno_location() #10
  %2558 = load i32, ptr %2557, align 4, !tbaa !5
  %2559 = call ptr @strerror(i32 noundef %2558) #9
  %2560 = call ptr @__errno_location() #10
  %2561 = load i32, ptr %2560, align 4, !tbaa !5
  %2562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2549, ptr noundef @.str.5, i32 noundef %2550, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 104, ptr noundef %2553, ptr noundef %2556, ptr noundef %2559, i32 noundef %2561) #9
  br label %2563

2563:                                             ; preds = %2546, %2529
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #9
  br label %2564

2564:                                             ; preds = %2563
  br label %2565

2565:                                             ; preds = %2564
  call void @exit(i32 noundef 1) #11
  unreachable

2566:                                             ; No predecessors!
  br label %2567

2567:                                             ; preds = %2566
  br label %2568

2568:                                             ; preds = %2567, %2507
  br label %2569

2569:                                             ; preds = %2568
  br label %2570

2570:                                             ; preds = %2569
  br label %2571

2571:                                             ; preds = %2570
  %2572 = load i32, ptr @test_count, align 4, !tbaa !5
  %2573 = add nsw i32 %2572, 1
  store i32 %2573, ptr @test_count, align 4, !tbaa !5
  %2574 = load ptr, ptr %38, align 8, !tbaa !9
  %2575 = getelementptr inbounds %struct.s2n_connection, ptr %2574, i32 0, i32 53
  %2576 = load i16, ptr %2575, align 8, !tbaa !42
  %2577 = zext i16 %2576 to i32
  %2578 = icmp eq i32 %2577, 1435
  br i1 %2578, label %2632, label %2579

2579:                                             ; preds = %2571
  br label %2580

2580:                                             ; preds = %2579
  br label %2581

2581:                                             ; preds = %2580
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #9
  %2582 = call ptr @__errno_location() #10
  %2583 = load i32, ptr %2582, align 4, !tbaa !5
  store i32 %2583, ptr %54, 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) #9
  %2591 = call i32 @isatty(i32 noundef %2590) #9
  %2592 = icmp ne i32 %2591, 0
  br i1 %2592, label %2593, label %2610

2593:                                             ; preds = %2588
  %2594 = load i32, ptr %54, align 4, !tbaa !5
  %2595 = call ptr @__errno_location() #10
  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.4)
  %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.4)
  %2604 = call ptr @__errno_location() #10
  %2605 = load i32, ptr %2604, align 4, !tbaa !5
  %2606 = call ptr @strerror(i32 noundef %2605) #9
  %2607 = call ptr @__errno_location() #10
  %2608 = load i32, ptr %2607, align 4, !tbaa !5
  %2609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2596, ptr noundef @.str.2, i32 noundef %2597, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 107, ptr noundef %2600, ptr noundef %2603, ptr noundef %2606, i32 noundef %2608) #9
  br label %2627

2610:                                             ; preds = %2588, %2581
  %2611 = load i32, ptr %54, align 4, !tbaa !5
  %2612 = call ptr @__errno_location() #10
  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.4)
  %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.4)
  %2621 = call ptr @__errno_location() #10
  %2622 = load i32, ptr %2621, align 4, !tbaa !5
  %2623 = call ptr @strerror(i32 noundef %2622) #9
  %2624 = call ptr @__errno_location() #10
  %2625 = load i32, ptr %2624, align 4, !tbaa !5
  %2626 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2613, ptr noundef @.str.5, i32 noundef %2614, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 107, ptr noundef %2617, ptr noundef %2620, ptr noundef %2623, i32 noundef %2625) #9
  br label %2627

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

2628:                                             ; preds = %2627
  br label %2629

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

2630:                                             ; No predecessors!
  br label %2631

2631:                                             ; preds = %2630
  br label %2632

2632:                                             ; preds = %2631, %2571
  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 = load ptr, ptr %41, align 8, !tbaa !9
  %2639 = getelementptr inbounds %struct.s2n_connection, ptr %2638, i32 0, i32 53
  %2640 = load i16, ptr %2639, align 8, !tbaa !42
  %2641 = zext i16 %2640 to i32
  %2642 = icmp eq i32 %2641, 16384
  br i1 %2642, label %2696, label %2643

2643:                                             ; preds = %2635
  br label %2644

2644:                                             ; preds = %2643
  br label %2645

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

2652:                                             ; preds = %2645
  %2653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2654 = call i32 @fileno(ptr noundef %2653) #9
  %2655 = call i32 @isatty(i32 noundef %2654) #9
  %2656 = icmp ne i32 %2655, 0
  br i1 %2656, label %2657, label %2674

2657:                                             ; preds = %2652
  %2658 = load i32, ptr %55, align 4, !tbaa !5
  %2659 = call ptr @__errno_location() #10
  store i32 %2658, ptr %2659, align 4, !tbaa !5
  %2660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2661 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %2663, ptr noundef @.str.4)
  %2665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2666 = load i32, ptr %2665, align 4, !tbaa !5
  %2667 = call ptr @s2n_strerror_debug(i32 noundef %2666, ptr noundef @.str.4)
  %2668 = call ptr @__errno_location() #10
  %2669 = load i32, ptr %2668, align 4, !tbaa !5
  %2670 = call ptr @strerror(i32 noundef %2669) #9
  %2671 = call ptr @__errno_location() #10
  %2672 = load i32, ptr %2671, align 4, !tbaa !5
  %2673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2660, ptr noundef @.str.2, i32 noundef %2661, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 108, ptr noundef %2664, ptr noundef %2667, ptr noundef %2670, i32 noundef %2672) #9
  br label %2691

2674:                                             ; preds = %2652, %2645
  %2675 = load i32, ptr %55, align 4, !tbaa !5
  %2676 = call ptr @__errno_location() #10
  store i32 %2675, ptr %2676, align 4, !tbaa !5
  %2677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2678 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %2680, ptr noundef @.str.4)
  %2682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2683 = load i32, ptr %2682, align 4, !tbaa !5
  %2684 = call ptr @s2n_strerror_debug(i32 noundef %2683, ptr noundef @.str.4)
  %2685 = call ptr @__errno_location() #10
  %2686 = load i32, ptr %2685, align 4, !tbaa !5
  %2687 = call ptr @strerror(i32 noundef %2686) #9
  %2688 = call ptr @__errno_location() #10
  %2689 = load i32, ptr %2688, align 4, !tbaa !5
  %2690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2677, ptr noundef @.str.5, i32 noundef %2678, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 108, ptr noundef %2681, ptr noundef %2684, ptr noundef %2687, i32 noundef %2689) #9
  br label %2691

2691:                                             ; preds = %2674, %2657
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #9
  br label %2692

2692:                                             ; preds = %2691
  br label %2693

2693:                                             ; preds = %2692
  call void @exit(i32 noundef 1) #11
  unreachable

2694:                                             ; No predecessors!
  br label %2695

2695:                                             ; preds = %2694
  br label %2696

2696:                                             ; preds = %2695, %2635
  br label %2697

2697:                                             ; preds = %2696
  br label %2698

2698:                                             ; preds = %2697
  br label %2699

2699:                                             ; preds = %2698
  %2700 = load i32, ptr @test_count, align 4, !tbaa !5
  %2701 = add nsw i32 %2700, 1
  store i32 %2701, ptr @test_count, align 4, !tbaa !5
  %2702 = load ptr, ptr %38, align 8, !tbaa !9
  %2703 = getelementptr inbounds %struct.s2n_connection, ptr %2702, i32 0, i32 41
  %2704 = getelementptr inbounds %struct.s2n_stuffer, ptr %2703, i32 0, i32 0
  %2705 = getelementptr inbounds %struct.s2n_blob, ptr %2704, i32 0, i32 1
  %2706 = load i32, ptr %2705, align 8, !tbaa !43
  %2707 = icmp eq i32 %2706, 2464
  br i1 %2707, label %2761, label %2708

2708:                                             ; preds = %2699
  br label %2709

2709:                                             ; preds = %2708
  br label %2710

2710:                                             ; preds = %2709
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #9
  %2711 = call ptr @__errno_location() #10
  %2712 = load i32, ptr %2711, align 4, !tbaa !5
  store i32 %2712, ptr %56, align 4, !tbaa !5
  %2713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2714 = call i32 @s2n_print_stacktrace(ptr noundef %2713)
  %2715 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2716 = trunc i8 %2715 to i1
  br i1 %2716, label %2717, label %2739

2717:                                             ; preds = %2710
  %2718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2719 = call i32 @fileno(ptr noundef %2718) #9
  %2720 = call i32 @isatty(i32 noundef %2719) #9
  %2721 = icmp ne i32 %2720, 0
  br i1 %2721, label %2722, label %2739

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

2739:                                             ; preds = %2717, %2710
  %2740 = load i32, ptr %56, align 4, !tbaa !5
  %2741 = call ptr @__errno_location() #10
  store i32 %2740, ptr %2741, align 4, !tbaa !5
  %2742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2743 = load i32, ptr @test_count, align 4, !tbaa !5
  %2744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2745 = load i32, ptr %2744, align 4, !tbaa !5
  %2746 = call ptr @s2n_strerror(i32 noundef %2745, ptr noundef @.str.4)
  %2747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2748 = load i32, ptr %2747, align 4, !tbaa !5
  %2749 = call ptr @s2n_strerror_debug(i32 noundef %2748, ptr noundef @.str.4)
  %2750 = call ptr @__errno_location() #10
  %2751 = load i32, ptr %2750, align 4, !tbaa !5
  %2752 = call ptr @strerror(i32 noundef %2751) #9
  %2753 = call ptr @__errno_location() #10
  %2754 = load i32, ptr %2753, align 4, !tbaa !5
  %2755 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2742, ptr noundef @.str.5, i32 noundef %2743, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 109, ptr noundef %2746, ptr noundef %2749, ptr noundef %2752, i32 noundef %2754) #9
  br label %2756

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

2757:                                             ; preds = %2756
  br label %2758

2758:                                             ; preds = %2757
  call void @exit(i32 noundef 1) #11
  unreachable

2759:                                             ; No predecessors!
  br label %2760

2760:                                             ; preds = %2759
  br label %2761

2761:                                             ; preds = %2760, %2699
  br label %2762

2762:                                             ; preds = %2761
  br label %2763

2763:                                             ; preds = %2762
  br label %2764

2764:                                             ; preds = %2763
  %2765 = load i32, ptr @test_count, align 4, !tbaa !5
  %2766 = add nsw i32 %2765, 1
  store i32 %2766, ptr @test_count, align 4, !tbaa !5
  %2767 = load ptr, ptr %41, align 8, !tbaa !9
  %2768 = getelementptr inbounds %struct.s2n_connection, ptr %2767, i32 0, i32 41
  %2769 = getelementptr inbounds %struct.s2n_stuffer, ptr %2768, i32 0, i32 0
  %2770 = getelementptr inbounds %struct.s2n_blob, ptr %2769, i32 0, i32 1
  %2771 = load i32, ptr %2770, align 8, !tbaa !43
  %2772 = icmp eq i32 %2771, 16645
  br i1 %2772, label %2826, label %2773

2773:                                             ; preds = %2764
  br label %2774

2774:                                             ; preds = %2773
  br label %2775

2775:                                             ; preds = %2774
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #9
  %2776 = call ptr @__errno_location() #10
  %2777 = load i32, ptr %2776, align 4, !tbaa !5
  store i32 %2777, ptr %57, align 4, !tbaa !5
  %2778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2779 = call i32 @s2n_print_stacktrace(ptr noundef %2778)
  %2780 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2781 = trunc i8 %2780 to i1
  br i1 %2781, label %2782, label %2804

2782:                                             ; preds = %2775
  %2783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2784 = call i32 @fileno(ptr noundef %2783) #9
  %2785 = call i32 @isatty(i32 noundef %2784) #9
  %2786 = icmp ne i32 %2785, 0
  br i1 %2786, label %2787, label %2804

2787:                                             ; preds = %2782
  %2788 = load i32, ptr %57, align 4, !tbaa !5
  %2789 = call ptr @__errno_location() #10
  store i32 %2788, ptr %2789, align 4, !tbaa !5
  %2790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2791 = load i32, ptr @test_count, align 4, !tbaa !5
  %2792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2793 = load i32, ptr %2792, align 4, !tbaa !5
  %2794 = call ptr @s2n_strerror(i32 noundef %2793, ptr noundef @.str.4)
  %2795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2796 = load i32, ptr %2795, align 4, !tbaa !5
  %2797 = call ptr @s2n_strerror_debug(i32 noundef %2796, ptr noundef @.str.4)
  %2798 = call ptr @__errno_location() #10
  %2799 = load i32, ptr %2798, align 4, !tbaa !5
  %2800 = call ptr @strerror(i32 noundef %2799) #9
  %2801 = call ptr @__errno_location() #10
  %2802 = load i32, ptr %2801, align 4, !tbaa !5
  %2803 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2790, ptr noundef @.str.2, i32 noundef %2791, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 110, ptr noundef %2794, ptr noundef %2797, ptr noundef %2800, i32 noundef %2802) #9
  br label %2821

2804:                                             ; preds = %2782, %2775
  %2805 = load i32, ptr %57, align 4, !tbaa !5
  %2806 = call ptr @__errno_location() #10
  store i32 %2805, ptr %2806, align 4, !tbaa !5
  %2807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2808 = load i32, ptr @test_count, align 4, !tbaa !5
  %2809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2810 = load i32, ptr %2809, align 4, !tbaa !5
  %2811 = call ptr @s2n_strerror(i32 noundef %2810, ptr noundef @.str.4)
  %2812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2813 = load i32, ptr %2812, align 4, !tbaa !5
  %2814 = call ptr @s2n_strerror_debug(i32 noundef %2813, ptr noundef @.str.4)
  %2815 = call ptr @__errno_location() #10
  %2816 = load i32, ptr %2815, align 4, !tbaa !5
  %2817 = call ptr @strerror(i32 noundef %2816) #9
  %2818 = call ptr @__errno_location() #10
  %2819 = load i32, ptr %2818, align 4, !tbaa !5
  %2820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2807, ptr noundef @.str.5, i32 noundef %2808, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 110, ptr noundef %2811, ptr noundef %2814, ptr noundef %2817, i32 noundef %2819) #9
  br label %2821

2821:                                             ; preds = %2804, %2787
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #9
  br label %2822

2822:                                             ; preds = %2821
  br label %2823

2823:                                             ; preds = %2822
  call void @exit(i32 noundef 1) #11
  unreachable

2824:                                             ; No predecessors!
  br label %2825

2825:                                             ; preds = %2824
  br label %2826

2826:                                             ; preds = %2825, %2764
  br label %2827

2827:                                             ; preds = %2826
  br label %2828

2828:                                             ; preds = %2827
  br label %2829

2829:                                             ; preds = %2828
  %2830 = load i32, ptr @test_count, align 4, !tbaa !5
  %2831 = add nsw i32 %2830, 1
  store i32 %2831, ptr @test_count, align 4, !tbaa !5
  %2832 = load ptr, ptr %38, align 8, !tbaa !9
  %2833 = call i32 @s2n_connection_prefer_throughput(ptr noundef %2832)
  %2834 = icmp eq i32 %2833, -1
  br i1 %2834, label %2835, label %2888

2835:                                             ; preds = %2829
  br label %2836

2836:                                             ; preds = %2835
  br label %2837

2837:                                             ; preds = %2836
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #9
  %2838 = call ptr @__errno_location() #10
  %2839 = load i32, ptr %2838, align 4, !tbaa !5
  store i32 %2839, ptr %58, align 4, !tbaa !5
  %2840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2841 = call i32 @s2n_print_stacktrace(ptr noundef %2840)
  %2842 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2843 = trunc i8 %2842 to i1
  br i1 %2843, label %2844, label %2866

2844:                                             ; preds = %2837
  %2845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2846 = call i32 @fileno(ptr noundef %2845) #9
  %2847 = call i32 @isatty(i32 noundef %2846) #9
  %2848 = icmp ne i32 %2847, 0
  br i1 %2848, label %2849, label %2866

2849:                                             ; preds = %2844
  %2850 = load i32, ptr %58, align 4, !tbaa !5
  %2851 = call ptr @__errno_location() #10
  store i32 %2850, ptr %2851, align 4, !tbaa !5
  %2852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2853 = load i32, ptr @test_count, align 4, !tbaa !5
  %2854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2855 = load i32, ptr %2854, align 4, !tbaa !5
  %2856 = call ptr @s2n_strerror(i32 noundef %2855, ptr noundef @.str.4)
  %2857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2858 = load i32, ptr %2857, align 4, !tbaa !5
  %2859 = call ptr @s2n_strerror_debug(i32 noundef %2858, ptr noundef @.str.4)
  %2860 = call ptr @__errno_location() #10
  %2861 = load i32, ptr %2860, align 4, !tbaa !5
  %2862 = call ptr @strerror(i32 noundef %2861) #9
  %2863 = call ptr @__errno_location() #10
  %2864 = load i32, ptr %2863, align 4, !tbaa !5
  %2865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2852, ptr noundef @.str.2, i32 noundef %2853, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 113, ptr noundef %2856, ptr noundef %2859, ptr noundef %2862, i32 noundef %2864) #9
  br label %2883

2866:                                             ; preds = %2844, %2837
  %2867 = load i32, ptr %58, align 4, !tbaa !5
  %2868 = call ptr @__errno_location() #10
  store i32 %2867, ptr %2868, align 4, !tbaa !5
  %2869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2870 = load i32, ptr @test_count, align 4, !tbaa !5
  %2871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2872 = load i32, ptr %2871, align 4, !tbaa !5
  %2873 = call ptr @s2n_strerror(i32 noundef %2872, ptr noundef @.str.4)
  %2874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2875 = load i32, ptr %2874, align 4, !tbaa !5
  %2876 = call ptr @s2n_strerror_debug(i32 noundef %2875, ptr noundef @.str.4)
  %2877 = call ptr @__errno_location() #10
  %2878 = load i32, ptr %2877, align 4, !tbaa !5
  %2879 = call ptr @strerror(i32 noundef %2878) #9
  %2880 = call ptr @__errno_location() #10
  %2881 = load i32, ptr %2880, align 4, !tbaa !5
  %2882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2869, ptr noundef @.str.5, i32 noundef %2870, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 113, ptr noundef %2873, ptr noundef %2876, ptr noundef %2879, i32 noundef %2881) #9
  br label %2883

2883:                                             ; preds = %2866, %2849
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #9
  br label %2884

2884:                                             ; preds = %2883
  br label %2885

2885:                                             ; preds = %2884
  call void @exit(i32 noundef 1) #11
  unreachable

2886:                                             ; No predecessors!
  br label %2887

2887:                                             ; preds = %2886
  br label %2888

2888:                                             ; preds = %2887, %2829
  br label %2889

2889:                                             ; preds = %2888
  br label %2890

2890:                                             ; preds = %2889
  br label %2891

2891:                                             ; preds = %2890
  %2892 = load i32, ptr @test_count, align 4, !tbaa !5
  %2893 = add nsw i32 %2892, 1
  store i32 %2893, ptr @test_count, align 4, !tbaa !5
  %2894 = load ptr, ptr %41, align 8, !tbaa !9
  %2895 = call i32 @s2n_connection_prefer_low_latency(ptr noundef %2894)
  %2896 = icmp eq i32 %2895, -1
  br i1 %2896, label %2897, label %2950

2897:                                             ; preds = %2891
  br label %2898

2898:                                             ; preds = %2897
  br label %2899

2899:                                             ; preds = %2898
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #9
  %2900 = call ptr @__errno_location() #10
  %2901 = load i32, ptr %2900, align 4, !tbaa !5
  store i32 %2901, ptr %59, align 4, !tbaa !5
  %2902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2903 = call i32 @s2n_print_stacktrace(ptr noundef %2902)
  %2904 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2905 = trunc i8 %2904 to i1
  br i1 %2905, label %2906, label %2928

2906:                                             ; preds = %2899
  %2907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2908 = call i32 @fileno(ptr noundef %2907) #9
  %2909 = call i32 @isatty(i32 noundef %2908) #9
  %2910 = icmp ne i32 %2909, 0
  br i1 %2910, label %2911, label %2928

2911:                                             ; preds = %2906
  %2912 = load i32, ptr %59, align 4, !tbaa !5
  %2913 = call ptr @__errno_location() #10
  store i32 %2912, ptr %2913, align 4, !tbaa !5
  %2914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2915 = load i32, ptr @test_count, align 4, !tbaa !5
  %2916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2917 = load i32, ptr %2916, align 4, !tbaa !5
  %2918 = call ptr @s2n_strerror(i32 noundef %2917, ptr noundef @.str.4)
  %2919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2920 = load i32, ptr %2919, align 4, !tbaa !5
  %2921 = call ptr @s2n_strerror_debug(i32 noundef %2920, ptr noundef @.str.4)
  %2922 = call ptr @__errno_location() #10
  %2923 = load i32, ptr %2922, align 4, !tbaa !5
  %2924 = call ptr @strerror(i32 noundef %2923) #9
  %2925 = call ptr @__errno_location() #10
  %2926 = load i32, ptr %2925, align 4, !tbaa !5
  %2927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2914, ptr noundef @.str.2, i32 noundef %2915, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 114, ptr noundef %2918, ptr noundef %2921, ptr noundef %2924, i32 noundef %2926) #9
  br label %2945

2928:                                             ; preds = %2906, %2899
  %2929 = load i32, ptr %59, align 4, !tbaa !5
  %2930 = call ptr @__errno_location() #10
  store i32 %2929, ptr %2930, align 4, !tbaa !5
  %2931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2932 = load i32, ptr @test_count, align 4, !tbaa !5
  %2933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2934 = load i32, ptr %2933, align 4, !tbaa !5
  %2935 = call ptr @s2n_strerror(i32 noundef %2934, ptr noundef @.str.4)
  %2936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2937 = load i32, ptr %2936, align 4, !tbaa !5
  %2938 = call ptr @s2n_strerror_debug(i32 noundef %2937, ptr noundef @.str.4)
  %2939 = call ptr @__errno_location() #10
  %2940 = load i32, ptr %2939, align 4, !tbaa !5
  %2941 = call ptr @strerror(i32 noundef %2940) #9
  %2942 = call ptr @__errno_location() #10
  %2943 = load i32, ptr %2942, align 4, !tbaa !5
  %2944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2931, ptr noundef @.str.5, i32 noundef %2932, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 114, ptr noundef %2935, ptr noundef %2938, ptr noundef %2941, i32 noundef %2943) #9
  br label %2945

2945:                                             ; preds = %2928, %2911
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #9
  br label %2946

2946:                                             ; preds = %2945
  br label %2947

2947:                                             ; preds = %2946
  call void @exit(i32 noundef 1) #11
  unreachable

2948:                                             ; No predecessors!
  br label %2949

2949:                                             ; preds = %2948
  br label %2950

2950:                                             ; preds = %2949, %2891
  br label %2951

2951:                                             ; preds = %2950
  br label %2952

2952:                                             ; preds = %2951
  br label %2953

2953:                                             ; preds = %2952
  %2954 = load i32, ptr @test_count, align 4, !tbaa !5
  %2955 = add nsw i32 %2954, 1
  store i32 %2955, ptr @test_count, align 4, !tbaa !5
  %2956 = load ptr, ptr %38, align 8, !tbaa !9
  %2957 = getelementptr inbounds %struct.s2n_connection, ptr %2956, i32 0, i32 53
  %2958 = load i16, ptr %2957, align 8, !tbaa !42
  %2959 = zext i16 %2958 to i32
  %2960 = icmp eq i32 %2959, 16384
  br i1 %2960, label %3014, label %2961

2961:                                             ; preds = %2953
  br label %2962

2962:                                             ; preds = %2961
  br label %2963

2963:                                             ; preds = %2962
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #9
  %2964 = call ptr @__errno_location() #10
  %2965 = load i32, ptr %2964, align 4, !tbaa !5
  store i32 %2965, ptr %60, align 4, !tbaa !5
  %2966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2967 = call i32 @s2n_print_stacktrace(ptr noundef %2966)
  %2968 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2969 = trunc i8 %2968 to i1
  br i1 %2969, label %2970, label %2992

2970:                                             ; preds = %2963
  %2971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2972 = call i32 @fileno(ptr noundef %2971) #9
  %2973 = call i32 @isatty(i32 noundef %2972) #9
  %2974 = icmp ne i32 %2973, 0
  br i1 %2974, label %2975, label %2992

2975:                                             ; preds = %2970
  %2976 = load i32, ptr %60, align 4, !tbaa !5
  %2977 = call ptr @__errno_location() #10
  store i32 %2976, ptr %2977, align 4, !tbaa !5
  %2978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2979 = load i32, ptr @test_count, align 4, !tbaa !5
  %2980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2981 = load i32, ptr %2980, align 4, !tbaa !5
  %2982 = call ptr @s2n_strerror(i32 noundef %2981, ptr noundef @.str.4)
  %2983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2984 = load i32, ptr %2983, align 4, !tbaa !5
  %2985 = call ptr @s2n_strerror_debug(i32 noundef %2984, ptr noundef @.str.4)
  %2986 = call ptr @__errno_location() #10
  %2987 = load i32, ptr %2986, align 4, !tbaa !5
  %2988 = call ptr @strerror(i32 noundef %2987) #9
  %2989 = call ptr @__errno_location() #10
  %2990 = load i32, ptr %2989, align 4, !tbaa !5
  %2991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2978, ptr noundef @.str.2, i32 noundef %2979, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 115, ptr noundef %2982, ptr noundef %2985, ptr noundef %2988, i32 noundef %2990) #9
  br label %3009

2992:                                             ; preds = %2970, %2963
  %2993 = load i32, ptr %60, align 4, !tbaa !5
  %2994 = call ptr @__errno_location() #10
  store i32 %2993, ptr %2994, align 4, !tbaa !5
  %2995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2996 = load i32, ptr @test_count, align 4, !tbaa !5
  %2997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2998 = load i32, ptr %2997, align 4, !tbaa !5
  %2999 = call ptr @s2n_strerror(i32 noundef %2998, ptr noundef @.str.4)
  %3000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3001 = load i32, ptr %3000, align 4, !tbaa !5
  %3002 = call ptr @s2n_strerror_debug(i32 noundef %3001, ptr noundef @.str.4)
  %3003 = call ptr @__errno_location() #10
  %3004 = load i32, ptr %3003, align 4, !tbaa !5
  %3005 = call ptr @strerror(i32 noundef %3004) #9
  %3006 = call ptr @__errno_location() #10
  %3007 = load i32, ptr %3006, align 4, !tbaa !5
  %3008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2995, ptr noundef @.str.5, i32 noundef %2996, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 115, ptr noundef %2999, ptr noundef %3002, ptr noundef %3005, i32 noundef %3007) #9
  br label %3009

3009:                                             ; preds = %2992, %2975
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #9
  br label %3010

3010:                                             ; preds = %3009
  br label %3011

3011:                                             ; preds = %3010
  call void @exit(i32 noundef 1) #11
  unreachable

3012:                                             ; No predecessors!
  br label %3013

3013:                                             ; preds = %3012
  br label %3014

3014:                                             ; preds = %3013, %2953
  br label %3015

3015:                                             ; preds = %3014
  br label %3016

3016:                                             ; preds = %3015
  br label %3017

3017:                                             ; preds = %3016
  %3018 = load i32, ptr @test_count, align 4, !tbaa !5
  %3019 = add nsw i32 %3018, 1
  store i32 %3019, ptr @test_count, align 4, !tbaa !5
  %3020 = load ptr, ptr %41, align 8, !tbaa !9
  %3021 = getelementptr inbounds %struct.s2n_connection, ptr %3020, i32 0, i32 53
  %3022 = load i16, ptr %3021, align 8, !tbaa !42
  %3023 = zext i16 %3022 to i32
  %3024 = icmp eq i32 %3023, 1435
  br i1 %3024, label %3078, label %3025

3025:                                             ; preds = %3017
  br label %3026

3026:                                             ; preds = %3025
  br label %3027

3027:                                             ; preds = %3026
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #9
  %3028 = call ptr @__errno_location() #10
  %3029 = load i32, ptr %3028, align 4, !tbaa !5
  store i32 %3029, ptr %61, align 4, !tbaa !5
  %3030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3031 = call i32 @s2n_print_stacktrace(ptr noundef %3030)
  %3032 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3033 = trunc i8 %3032 to i1
  br i1 %3033, label %3034, label %3056

3034:                                             ; preds = %3027
  %3035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3036 = call i32 @fileno(ptr noundef %3035) #9
  %3037 = call i32 @isatty(i32 noundef %3036) #9
  %3038 = icmp ne i32 %3037, 0
  br i1 %3038, label %3039, label %3056

3039:                                             ; preds = %3034
  %3040 = load i32, ptr %61, align 4, !tbaa !5
  %3041 = call ptr @__errno_location() #10
  store i32 %3040, ptr %3041, align 4, !tbaa !5
  %3042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3043 = load i32, ptr @test_count, align 4, !tbaa !5
  %3044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3045 = load i32, ptr %3044, align 4, !tbaa !5
  %3046 = call ptr @s2n_strerror(i32 noundef %3045, ptr noundef @.str.4)
  %3047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3048 = load i32, ptr %3047, align 4, !tbaa !5
  %3049 = call ptr @s2n_strerror_debug(i32 noundef %3048, ptr noundef @.str.4)
  %3050 = call ptr @__errno_location() #10
  %3051 = load i32, ptr %3050, align 4, !tbaa !5
  %3052 = call ptr @strerror(i32 noundef %3051) #9
  %3053 = call ptr @__errno_location() #10
  %3054 = load i32, ptr %3053, align 4, !tbaa !5
  %3055 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3042, ptr noundef @.str.2, i32 noundef %3043, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 116, ptr noundef %3046, ptr noundef %3049, ptr noundef %3052, i32 noundef %3054) #9
  br label %3073

3056:                                             ; preds = %3034, %3027
  %3057 = load i32, ptr %61, align 4, !tbaa !5
  %3058 = call ptr @__errno_location() #10
  store i32 %3057, ptr %3058, align 4, !tbaa !5
  %3059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3060 = load i32, ptr @test_count, align 4, !tbaa !5
  %3061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3062 = load i32, ptr %3061, align 4, !tbaa !5
  %3063 = call ptr @s2n_strerror(i32 noundef %3062, ptr noundef @.str.4)
  %3064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3065 = load i32, ptr %3064, align 4, !tbaa !5
  %3066 = call ptr @s2n_strerror_debug(i32 noundef %3065, ptr noundef @.str.4)
  %3067 = call ptr @__errno_location() #10
  %3068 = load i32, ptr %3067, align 4, !tbaa !5
  %3069 = call ptr @strerror(i32 noundef %3068) #9
  %3070 = call ptr @__errno_location() #10
  %3071 = load i32, ptr %3070, align 4, !tbaa !5
  %3072 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3059, ptr noundef @.str.5, i32 noundef %3060, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 116, ptr noundef %3063, ptr noundef %3066, ptr noundef %3069, i32 noundef %3071) #9
  br label %3073

3073:                                             ; preds = %3056, %3039
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #9
  br label %3074

3074:                                             ; preds = %3073
  br label %3075

3075:                                             ; preds = %3074
  call void @exit(i32 noundef 1) #11
  unreachable

3076:                                             ; No predecessors!
  br label %3077

3077:                                             ; preds = %3076
  br label %3078

3078:                                             ; preds = %3077, %3017
  br label %3079

3079:                                             ; preds = %3078
  br label %3080

3080:                                             ; preds = %3079
  br label %3081

3081:                                             ; preds = %3080
  %3082 = load i32, ptr @test_count, align 4, !tbaa !5
  %3083 = add nsw i32 %3082, 1
  store i32 %3083, ptr @test_count, align 4, !tbaa !5
  %3084 = load ptr, ptr %38, align 8, !tbaa !9
  %3085 = getelementptr inbounds %struct.s2n_connection, ptr %3084, i32 0, i32 41
  %3086 = getelementptr inbounds %struct.s2n_stuffer, ptr %3085, i32 0, i32 0
  %3087 = getelementptr inbounds %struct.s2n_blob, ptr %3086, i32 0, i32 1
  %3088 = load i32, ptr %3087, align 8, !tbaa !43
  %3089 = icmp eq i32 %3088, 16645
  br i1 %3089, label %3143, label %3090

3090:                                             ; preds = %3081
  br label %3091

3091:                                             ; preds = %3090
  br label %3092

3092:                                             ; preds = %3091
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #9
  %3093 = call ptr @__errno_location() #10
  %3094 = load i32, ptr %3093, align 4, !tbaa !5
  store i32 %3094, ptr %62, align 4, !tbaa !5
  %3095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3096 = call i32 @s2n_print_stacktrace(ptr noundef %3095)
  %3097 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3098 = trunc i8 %3097 to i1
  br i1 %3098, label %3099, label %3121

3099:                                             ; preds = %3092
  %3100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3101 = call i32 @fileno(ptr noundef %3100) #9
  %3102 = call i32 @isatty(i32 noundef %3101) #9
  %3103 = icmp ne i32 %3102, 0
  br i1 %3103, label %3104, label %3121

3104:                                             ; preds = %3099
  %3105 = load i32, ptr %62, align 4, !tbaa !5
  %3106 = call ptr @__errno_location() #10
  store i32 %3105, ptr %3106, align 4, !tbaa !5
  %3107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3108 = load i32, ptr @test_count, align 4, !tbaa !5
  %3109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3110 = load i32, ptr %3109, align 4, !tbaa !5
  %3111 = call ptr @s2n_strerror(i32 noundef %3110, ptr noundef @.str.4)
  %3112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3113 = load i32, ptr %3112, align 4, !tbaa !5
  %3114 = call ptr @s2n_strerror_debug(i32 noundef %3113, ptr noundef @.str.4)
  %3115 = call ptr @__errno_location() #10
  %3116 = load i32, ptr %3115, align 4, !tbaa !5
  %3117 = call ptr @strerror(i32 noundef %3116) #9
  %3118 = call ptr @__errno_location() #10
  %3119 = load i32, ptr %3118, align 4, !tbaa !5
  %3120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3107, ptr noundef @.str.2, i32 noundef %3108, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 117, ptr noundef %3111, ptr noundef %3114, ptr noundef %3117, i32 noundef %3119) #9
  br label %3138

3121:                                             ; preds = %3099, %3092
  %3122 = load i32, ptr %62, align 4, !tbaa !5
  %3123 = call ptr @__errno_location() #10
  store i32 %3122, ptr %3123, align 4, !tbaa !5
  %3124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3125 = load i32, ptr @test_count, align 4, !tbaa !5
  %3126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3127 = load i32, ptr %3126, align 4, !tbaa !5
  %3128 = call ptr @s2n_strerror(i32 noundef %3127, ptr noundef @.str.4)
  %3129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3130 = load i32, ptr %3129, align 4, !tbaa !5
  %3131 = call ptr @s2n_strerror_debug(i32 noundef %3130, ptr noundef @.str.4)
  %3132 = call ptr @__errno_location() #10
  %3133 = load i32, ptr %3132, align 4, !tbaa !5
  %3134 = call ptr @strerror(i32 noundef %3133) #9
  %3135 = call ptr @__errno_location() #10
  %3136 = load i32, ptr %3135, align 4, !tbaa !5
  %3137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3124, ptr noundef @.str.5, i32 noundef %3125, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 117, ptr noundef %3128, ptr noundef %3131, ptr noundef %3134, i32 noundef %3136) #9
  br label %3138

3138:                                             ; preds = %3121, %3104
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #9
  br label %3139

3139:                                             ; preds = %3138
  br label %3140

3140:                                             ; preds = %3139
  call void @exit(i32 noundef 1) #11
  unreachable

3141:                                             ; No predecessors!
  br label %3142

3142:                                             ; preds = %3141
  br label %3143

3143:                                             ; preds = %3142, %3081
  br label %3144

3144:                                             ; preds = %3143
  br label %3145

3145:                                             ; preds = %3144
  br label %3146

3146:                                             ; preds = %3145
  %3147 = load i32, ptr @test_count, align 4, !tbaa !5
  %3148 = add nsw i32 %3147, 1
  store i32 %3148, ptr @test_count, align 4, !tbaa !5
  %3149 = load ptr, ptr %41, align 8, !tbaa !9
  %3150 = getelementptr inbounds %struct.s2n_connection, ptr %3149, i32 0, i32 41
  %3151 = getelementptr inbounds %struct.s2n_stuffer, ptr %3150, i32 0, i32 0
  %3152 = getelementptr inbounds %struct.s2n_blob, ptr %3151, i32 0, i32 1
  %3153 = load i32, ptr %3152, align 8, !tbaa !43
  %3154 = icmp eq i32 %3153, 16645
  br i1 %3154, label %3208, label %3155

3155:                                             ; preds = %3146
  br label %3156

3156:                                             ; preds = %3155
  br label %3157

3157:                                             ; preds = %3156
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #9
  %3158 = call ptr @__errno_location() #10
  %3159 = load i32, ptr %3158, align 4, !tbaa !5
  store i32 %3159, ptr %63, align 4, !tbaa !5
  %3160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3161 = call i32 @s2n_print_stacktrace(ptr noundef %3160)
  %3162 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3163 = trunc i8 %3162 to i1
  br i1 %3163, label %3164, label %3186

3164:                                             ; preds = %3157
  %3165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3166 = call i32 @fileno(ptr noundef %3165) #9
  %3167 = call i32 @isatty(i32 noundef %3166) #9
  %3168 = icmp ne i32 %3167, 0
  br i1 %3168, label %3169, label %3186

3169:                                             ; preds = %3164
  %3170 = load i32, ptr %63, align 4, !tbaa !5
  %3171 = call ptr @__errno_location() #10
  store i32 %3170, ptr %3171, align 4, !tbaa !5
  %3172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3173 = load i32, ptr @test_count, align 4, !tbaa !5
  %3174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3175 = load i32, ptr %3174, align 4, !tbaa !5
  %3176 = call ptr @s2n_strerror(i32 noundef %3175, ptr noundef @.str.4)
  %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_debug(i32 noundef %3178, ptr noundef @.str.4)
  %3180 = call ptr @__errno_location() #10
  %3181 = load i32, ptr %3180, align 4, !tbaa !5
  %3182 = call ptr @strerror(i32 noundef %3181) #9
  %3183 = call ptr @__errno_location() #10
  %3184 = load i32, ptr %3183, align 4, !tbaa !5
  %3185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3172, ptr noundef @.str.2, i32 noundef %3173, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 118, ptr noundef %3176, ptr noundef %3179, ptr noundef %3182, i32 noundef %3184) #9
  br label %3203

3186:                                             ; preds = %3164, %3157
  %3187 = load i32, ptr %63, align 4, !tbaa !5
  %3188 = call ptr @__errno_location() #10
  store i32 %3187, ptr %3188, align 4, !tbaa !5
  %3189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3190 = load i32, ptr @test_count, align 4, !tbaa !5
  %3191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3192 = load i32, ptr %3191, align 4, !tbaa !5
  %3193 = call ptr @s2n_strerror(i32 noundef %3192, ptr noundef @.str.4)
  %3194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3195 = load i32, ptr %3194, align 4, !tbaa !5
  %3196 = call ptr @s2n_strerror_debug(i32 noundef %3195, ptr noundef @.str.4)
  %3197 = call ptr @__errno_location() #10
  %3198 = load i32, ptr %3197, align 4, !tbaa !5
  %3199 = call ptr @strerror(i32 noundef %3198) #9
  %3200 = call ptr @__errno_location() #10
  %3201 = load i32, ptr %3200, align 4, !tbaa !5
  %3202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3189, ptr noundef @.str.5, i32 noundef %3190, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 118, ptr noundef %3193, ptr noundef %3196, ptr noundef %3199, i32 noundef %3201) #9
  br label %3203

3203:                                             ; preds = %3186, %3169
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #9
  br label %3204

3204:                                             ; preds = %3203
  br label %3205

3205:                                             ; preds = %3204
  call void @exit(i32 noundef 1) #11
  unreachable

3206:                                             ; No predecessors!
  br label %3207

3207:                                             ; preds = %3206
  br label %3208

3208:                                             ; preds = %3207, %3146
  br label %3209

3209:                                             ; preds = %3208
  br label %3210

3210:                                             ; preds = %3209
  br label %3211

3211:                                             ; preds = %3210
  %3212 = load i32, ptr @test_count, align 4, !tbaa !5
  %3213 = add nsw i32 %3212, 1
  store i32 %3213, ptr @test_count, align 4, !tbaa !5
  %3214 = load ptr, ptr %38, align 8, !tbaa !9
  %3215 = call i32 @s2n_connection_free(ptr noundef %3214)
  %3216 = icmp eq i32 %3215, -1
  br i1 %3216, label %3217, label %3270

3217:                                             ; preds = %3211
  br label %3218

3218:                                             ; preds = %3217
  br label %3219

3219:                                             ; preds = %3218
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #9
  %3220 = call ptr @__errno_location() #10
  %3221 = load i32, ptr %3220, align 4, !tbaa !5
  store i32 %3221, ptr %64, align 4, !tbaa !5
  %3222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3223 = call i32 @s2n_print_stacktrace(ptr noundef %3222)
  %3224 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3225 = trunc i8 %3224 to i1
  br i1 %3225, label %3226, label %3248

3226:                                             ; preds = %3219
  %3227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3228 = call i32 @fileno(ptr noundef %3227) #9
  %3229 = call i32 @isatty(i32 noundef %3228) #9
  %3230 = icmp ne i32 %3229, 0
  br i1 %3230, label %3231, label %3248

3231:                                             ; preds = %3226
  %3232 = load i32, ptr %64, align 4, !tbaa !5
  %3233 = call ptr @__errno_location() #10
  store i32 %3232, ptr %3233, align 4, !tbaa !5
  %3234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3235 = load i32, ptr @test_count, align 4, !tbaa !5
  %3236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3237 = load i32, ptr %3236, align 4, !tbaa !5
  %3238 = call ptr @s2n_strerror(i32 noundef %3237, ptr noundef @.str.4)
  %3239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3240 = load i32, ptr %3239, align 4, !tbaa !5
  %3241 = call ptr @s2n_strerror_debug(i32 noundef %3240, ptr noundef @.str.4)
  %3242 = call ptr @__errno_location() #10
  %3243 = load i32, ptr %3242, align 4, !tbaa !5
  %3244 = call ptr @strerror(i32 noundef %3243) #9
  %3245 = call ptr @__errno_location() #10
  %3246 = load i32, ptr %3245, align 4, !tbaa !5
  %3247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3234, ptr noundef @.str.2, i32 noundef %3235, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 120, ptr noundef %3238, ptr noundef %3241, ptr noundef %3244, i32 noundef %3246) #9
  br label %3265

3248:                                             ; preds = %3226, %3219
  %3249 = load i32, ptr %64, align 4, !tbaa !5
  %3250 = call ptr @__errno_location() #10
  store i32 %3249, ptr %3250, align 4, !tbaa !5
  %3251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3252 = load i32, ptr @test_count, align 4, !tbaa !5
  %3253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3254 = load i32, ptr %3253, align 4, !tbaa !5
  %3255 = call ptr @s2n_strerror(i32 noundef %3254, ptr noundef @.str.4)
  %3256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3257 = load i32, ptr %3256, align 4, !tbaa !5
  %3258 = call ptr @s2n_strerror_debug(i32 noundef %3257, ptr noundef @.str.4)
  %3259 = call ptr @__errno_location() #10
  %3260 = load i32, ptr %3259, align 4, !tbaa !5
  %3261 = call ptr @strerror(i32 noundef %3260) #9
  %3262 = call ptr @__errno_location() #10
  %3263 = load i32, ptr %3262, align 4, !tbaa !5
  %3264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3251, ptr noundef @.str.5, i32 noundef %3252, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 120, ptr noundef %3255, ptr noundef %3258, ptr noundef %3261, i32 noundef %3263) #9
  br label %3265

3265:                                             ; preds = %3248, %3231
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #9
  br label %3266

3266:                                             ; preds = %3265
  br label %3267

3267:                                             ; preds = %3266
  call void @exit(i32 noundef 1) #11
  unreachable

3268:                                             ; No predecessors!
  br label %3269

3269:                                             ; preds = %3268
  br label %3270

3270:                                             ; preds = %3269, %3211
  br label %3271

3271:                                             ; preds = %3270
  br label %3272

3272:                                             ; preds = %3271
  br label %3273

3273:                                             ; preds = %3272
  %3274 = load i32, ptr @test_count, align 4, !tbaa !5
  %3275 = add nsw i32 %3274, 1
  store i32 %3275, ptr @test_count, align 4, !tbaa !5
  %3276 = load ptr, ptr %41, align 8, !tbaa !9
  %3277 = call i32 @s2n_connection_free(ptr noundef %3276)
  %3278 = icmp eq i32 %3277, -1
  br i1 %3278, label %3279, label %3332

3279:                                             ; preds = %3273
  br label %3280

3280:                                             ; preds = %3279
  br label %3281

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

3288:                                             ; preds = %3281
  %3289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3290 = call i32 @fileno(ptr noundef %3289) #9
  %3291 = call i32 @isatty(i32 noundef %3290) #9
  %3292 = icmp ne i32 %3291, 0
  br i1 %3292, label %3293, label %3310

3293:                                             ; preds = %3288
  %3294 = load i32, ptr %65, align 4, !tbaa !5
  %3295 = call ptr @__errno_location() #10
  store i32 %3294, ptr %3295, align 4, !tbaa !5
  %3296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3297 = load i32, ptr @test_count, align 4, !tbaa !5
  %3298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3299 = load i32, ptr %3298, align 4, !tbaa !5
  %3300 = call ptr @s2n_strerror(i32 noundef %3299, ptr noundef @.str.4)
  %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_debug(i32 noundef %3302, ptr noundef @.str.4)
  %3304 = call ptr @__errno_location() #10
  %3305 = load i32, ptr %3304, align 4, !tbaa !5
  %3306 = call ptr @strerror(i32 noundef %3305) #9
  %3307 = call ptr @__errno_location() #10
  %3308 = load i32, ptr %3307, align 4, !tbaa !5
  %3309 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3296, ptr noundef @.str.2, i32 noundef %3297, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 121, ptr noundef %3300, ptr noundef %3303, ptr noundef %3306, i32 noundef %3308) #9
  br label %3327

3310:                                             ; preds = %3288, %3281
  %3311 = load i32, ptr %65, align 4, !tbaa !5
  %3312 = call ptr @__errno_location() #10
  store i32 %3311, ptr %3312, align 4, !tbaa !5
  %3313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3314 = load i32, ptr @test_count, align 4, !tbaa !5
  %3315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3316 = load i32, ptr %3315, align 4, !tbaa !5
  %3317 = call ptr @s2n_strerror(i32 noundef %3316, ptr noundef @.str.4)
  %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_debug(i32 noundef %3319, ptr noundef @.str.4)
  %3321 = call ptr @__errno_location() #10
  %3322 = load i32, ptr %3321, align 4, !tbaa !5
  %3323 = call ptr @strerror(i32 noundef %3322) #9
  %3324 = call ptr @__errno_location() #10
  %3325 = load i32, ptr %3324, align 4, !tbaa !5
  %3326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3313, ptr noundef @.str.5, i32 noundef %3314, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 121, ptr noundef %3317, ptr noundef %3320, ptr noundef %3323, i32 noundef %3325) #9
  br label %3327

3327:                                             ; preds = %3310, %3293
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #9
  br label %3328

3328:                                             ; preds = %3327
  br label %3329

3329:                                             ; preds = %3328
  call void @exit(i32 noundef 1) #11
  unreachable

3330:                                             ; No predecessors!
  br label %3331

3331:                                             ; preds = %3330
  br label %3332

3332:                                             ; preds = %3331, %3273
  br label %3333

3333:                                             ; preds = %3332
  br label %3334

3334:                                             ; preds = %3333
  %3335 = call i32 @s2n_io_pair_close(ptr noundef %44)
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #9
  store i32 3, ptr %66, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 2, ptr %67) #9
  store i16 2048, ptr %67, align 2, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #9
  %3336 = call ptr @s2n_config_new()
  store ptr %3336, ptr %68, align 8, !tbaa !9
  br label %3337

3337:                                             ; preds = %3334
  %3338 = load i32, ptr @test_count, align 4, !tbaa !5
  %3339 = add nsw i32 %3338, 1
  store i32 %3339, ptr @test_count, align 4, !tbaa !5
  %3340 = load ptr, ptr %68, align 8, !tbaa !9
  %3341 = icmp eq ptr %3340, null
  br i1 %3341, label %3342, label %3395

3342:                                             ; preds = %3337
  br label %3343

3343:                                             ; preds = %3342
  br label %3344

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

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

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

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

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

3391:                                             ; preds = %3390
  br label %3392

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

3393:                                             ; No predecessors!
  br label %3394

3394:                                             ; preds = %3393
  br label %3395

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

3396:                                             ; preds = %3395
  br label %3397

3397:                                             ; preds = %3396
  br label %3398

3398:                                             ; preds = %3397
  %3399 = load i32, ptr @test_count, align 4, !tbaa !5
  %3400 = add nsw i32 %3399, 1
  store i32 %3400, ptr @test_count, align 4, !tbaa !5
  %3401 = load ptr, ptr %68, align 8, !tbaa !9
  %3402 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %3401, ptr noundef @.str.18)
  %3403 = icmp eq i32 %3402, -1
  br i1 %3403, label %3404, label %3457

3404:                                             ; preds = %3398
  br label %3405

3405:                                             ; preds = %3404
  br label %3406

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

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

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

3435:                                             ; preds = %3413, %3406
  %3436 = load i32, ptr %70, align 4, !tbaa !5
  %3437 = call ptr @__errno_location() #10
  store i32 %3436, ptr %3437, align 4, !tbaa !5
  %3438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3439 = load i32, ptr @test_count, align 4, !tbaa !5
  %3440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3441 = load i32, ptr %3440, align 4, !tbaa !5
  %3442 = call ptr @s2n_strerror(i32 noundef %3441, ptr noundef @.str.4)
  %3443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3444 = load i32, ptr %3443, align 4, !tbaa !5
  %3445 = call ptr @s2n_strerror_debug(i32 noundef %3444, ptr noundef @.str.4)
  %3446 = call ptr @__errno_location() #10
  %3447 = load i32, ptr %3446, align 4, !tbaa !5
  %3448 = call ptr @strerror(i32 noundef %3447) #9
  %3449 = call ptr @__errno_location() #10
  %3450 = load i32, ptr %3449, align 4, !tbaa !5
  %3451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3438, ptr noundef @.str.5, i32 noundef %3439, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 131, ptr noundef %3442, ptr noundef %3445, ptr noundef %3448, i32 noundef %3450) #9
  br label %3452

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

3453:                                             ; preds = %3452
  br label %3454

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

3455:                                             ; No predecessors!
  br label %3456

3456:                                             ; preds = %3455
  br label %3457

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

3458:                                             ; preds = %3457
  br label %3459

3459:                                             ; preds = %3458
  br label %3460

3460:                                             ; preds = %3459
  %3461 = load i32, ptr @test_count, align 4, !tbaa !5
  %3462 = add nsw i32 %3461, 1
  store i32 %3462, ptr @test_count, align 4, !tbaa !5
  %3463 = load ptr, ptr %68, align 8, !tbaa !9
  %3464 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %3463)
  %3465 = icmp eq i32 %3464, -1
  br i1 %3465, label %3466, label %3519

3466:                                             ; preds = %3460
  br label %3467

3467:                                             ; preds = %3466
  br label %3468

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

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

3480:                                             ; preds = %3475
  %3481 = load i32, ptr %71, align 4, !tbaa !5
  %3482 = call ptr @__errno_location() #10
  store i32 %3481, ptr %3482, align 4, !tbaa !5
  %3483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3484 = load i32, ptr @test_count, align 4, !tbaa !5
  %3485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3486 = load i32, ptr %3485, align 4, !tbaa !5
  %3487 = call ptr @s2n_strerror(i32 noundef %3486, ptr noundef @.str.4)
  %3488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3489 = load i32, ptr %3488, align 4, !tbaa !5
  %3490 = call ptr @s2n_strerror_debug(i32 noundef %3489, ptr noundef @.str.4)
  %3491 = call ptr @__errno_location() #10
  %3492 = load i32, ptr %3491, align 4, !tbaa !5
  %3493 = call ptr @strerror(i32 noundef %3492) #9
  %3494 = call ptr @__errno_location() #10
  %3495 = load i32, ptr %3494, align 4, !tbaa !5
  %3496 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3483, ptr noundef @.str.2, i32 noundef %3484, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 132, ptr noundef %3487, ptr noundef %3490, ptr noundef %3493, i32 noundef %3495) #9
  br label %3514

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

3514:                                             ; preds = %3497, %3480
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #9
  br label %3515

3515:                                             ; preds = %3514
  br label %3516

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

3517:                                             ; No predecessors!
  br label %3518

3518:                                             ; preds = %3517
  br label %3519

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

3520:                                             ; preds = %3519
  br label %3521

3521:                                             ; preds = %3520
  br label %3522

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

3529:                                             ; preds = %3522
  br label %3530

3530:                                             ; preds = %3529
  br label %3531

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

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

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

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

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

3578:                                             ; preds = %3577
  br label %3579

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

3580:                                             ; No predecessors!
  br label %3581

3581:                                             ; preds = %3580
  br label %3582

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

3583:                                             ; preds = %3582
  br label %3584

3584:                                             ; preds = %3583
  br label %3585

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

3591:                                             ; preds = %3585
  br label %3592

3592:                                             ; preds = %3591
  br label %3593

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

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

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

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

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

3640:                                             ; preds = %3639
  br label %3641

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

3642:                                             ; No predecessors!
  br label %3643

3643:                                             ; preds = %3642
  br label %3644

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

3645:                                             ; preds = %3644
  br label %3646

3646:                                             ; preds = %3645
  br label %3647

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

3653:                                             ; preds = %3647
  br label %3654

3654:                                             ; preds = %3653
  br label %3655

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

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

3667:                                             ; preds = %3662
  %3668 = load i32, ptr %74, align 4, !tbaa !5
  %3669 = call ptr @__errno_location() #10
  store i32 %3668, ptr %3669, align 4, !tbaa !5
  %3670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3671 = load i32, ptr @test_count, align 4, !tbaa !5
  %3672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3673 = load i32, ptr %3672, align 4, !tbaa !5
  %3674 = call ptr @s2n_strerror(i32 noundef %3673, ptr noundef @.str.4)
  %3675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3676 = load i32, ptr %3675, align 4, !tbaa !5
  %3677 = call ptr @s2n_strerror_debug(i32 noundef %3676, ptr noundef @.str.4)
  %3678 = call ptr @__errno_location() #10
  %3679 = load i32, ptr %3678, align 4, !tbaa !5
  %3680 = call ptr @strerror(i32 noundef %3679) #9
  %3681 = call ptr @__errno_location() #10
  %3682 = load i32, ptr %3681, align 4, !tbaa !5
  %3683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3670, ptr noundef @.str.2, i32 noundef %3671, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 135, ptr noundef %3674, ptr noundef %3677, ptr noundef %3680, i32 noundef %3682) #9
  br label %3701

3684:                                             ; preds = %3662, %3655
  %3685 = load i32, ptr %74, align 4, !tbaa !5
  %3686 = call ptr @__errno_location() #10
  store i32 %3685, ptr %3686, align 4, !tbaa !5
  %3687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3688 = load i32, ptr @test_count, align 4, !tbaa !5
  %3689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3690 = load i32, ptr %3689, align 4, !tbaa !5
  %3691 = call ptr @s2n_strerror(i32 noundef %3690, ptr noundef @.str.4)
  %3692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3693 = load i32, ptr %3692, align 4, !tbaa !5
  %3694 = call ptr @s2n_strerror_debug(i32 noundef %3693, ptr noundef @.str.4)
  %3695 = call ptr @__errno_location() #10
  %3696 = load i32, ptr %3695, align 4, !tbaa !5
  %3697 = call ptr @strerror(i32 noundef %3696) #9
  %3698 = call ptr @__errno_location() #10
  %3699 = load i32, ptr %3698, align 4, !tbaa !5
  %3700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3687, ptr noundef @.str.5, i32 noundef %3688, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 135, ptr noundef %3691, ptr noundef %3694, ptr noundef %3697, i32 noundef %3699) #9
  br label %3701

3701:                                             ; preds = %3684, %3667
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #9
  br label %3702

3702:                                             ; preds = %3701
  br label %3703

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

3704:                                             ; No predecessors!
  br label %3705

3705:                                             ; preds = %3704
  br label %3706

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

3707:                                             ; preds = %3706
  br label %3708

3708:                                             ; preds = %3707
  call void @llvm.lifetime.start.p0(i64 8, ptr %75) #9
  %3709 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %3709, ptr %75, align 8, !tbaa !9
  br label %3710

3710:                                             ; preds = %3708
  %3711 = load i32, ptr @test_count, align 4, !tbaa !5
  %3712 = add nsw i32 %3711, 1
  store i32 %3712, ptr @test_count, align 4, !tbaa !5
  %3713 = load ptr, ptr %75, align 8, !tbaa !9
  %3714 = icmp eq ptr %3713, null
  br i1 %3714, label %3715, label %3768

3715:                                             ; preds = %3710
  br label %3716

3716:                                             ; preds = %3715
  br label %3717

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

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

3729:                                             ; preds = %3724
  %3730 = load i32, ptr %76, align 4, !tbaa !5
  %3731 = call ptr @__errno_location() #10
  store i32 %3730, ptr %3731, align 4, !tbaa !5
  %3732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3733 = load i32, ptr @test_count, align 4, !tbaa !5
  %3734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3735 = load i32, ptr %3734, align 4, !tbaa !5
  %3736 = call ptr @s2n_strerror(i32 noundef %3735, ptr noundef @.str.4)
  %3737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3738 = load i32, ptr %3737, align 4, !tbaa !5
  %3739 = call ptr @s2n_strerror_debug(i32 noundef %3738, ptr noundef @.str.4)
  %3740 = call ptr @__errno_location() #10
  %3741 = load i32, ptr %3740, align 4, !tbaa !5
  %3742 = call ptr @strerror(i32 noundef %3741) #9
  %3743 = call ptr @__errno_location() #10
  %3744 = load i32, ptr %3743, align 4, !tbaa !5
  %3745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3732, ptr noundef @.str.2, i32 noundef %3733, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 138, ptr noundef %3736, ptr noundef %3739, ptr noundef %3742, i32 noundef %3744) #9
  br label %3763

3746:                                             ; preds = %3724, %3717
  %3747 = load i32, ptr %76, align 4, !tbaa !5
  %3748 = call ptr @__errno_location() #10
  store i32 %3747, ptr %3748, align 4, !tbaa !5
  %3749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3750 = load i32, ptr @test_count, align 4, !tbaa !5
  %3751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3752 = load i32, ptr %3751, align 4, !tbaa !5
  %3753 = call ptr @s2n_strerror(i32 noundef %3752, ptr noundef @.str.4)
  %3754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3755 = load i32, ptr %3754, align 4, !tbaa !5
  %3756 = call ptr @s2n_strerror_debug(i32 noundef %3755, ptr noundef @.str.4)
  %3757 = call ptr @__errno_location() #10
  %3758 = load i32, ptr %3757, align 4, !tbaa !5
  %3759 = call ptr @strerror(i32 noundef %3758) #9
  %3760 = call ptr @__errno_location() #10
  %3761 = load i32, ptr %3760, align 4, !tbaa !5
  %3762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3749, ptr noundef @.str.5, i32 noundef %3750, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 138, ptr noundef %3753, ptr noundef %3756, ptr noundef %3759, i32 noundef %3761) #9
  br label %3763

3763:                                             ; preds = %3746, %3729
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #9
  br label %3764

3764:                                             ; preds = %3763
  br label %3765

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

3766:                                             ; No predecessors!
  br label %3767

3767:                                             ; preds = %3766
  br label %3768

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

3769:                                             ; preds = %3768
  br label %3770

3770:                                             ; preds = %3769
  br label %3771

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

3778:                                             ; preds = %3771
  br label %3779

3779:                                             ; preds = %3778
  br label %3780

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

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

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

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

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

3827:                                             ; preds = %3826
  br label %3828

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

3829:                                             ; No predecessors!
  br label %3830

3830:                                             ; preds = %3829
  br label %3831

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

3832:                                             ; preds = %3831
  br label %3833

3833:                                             ; preds = %3832
  call void @llvm.lifetime.start.p0(i64 8, ptr %78) #9
  %3834 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %3834, ptr %78, align 8, !tbaa !9
  br label %3835

3835:                                             ; preds = %3833
  %3836 = load i32, ptr @test_count, align 4, !tbaa !5
  %3837 = add nsw i32 %3836, 1
  store i32 %3837, ptr @test_count, align 4, !tbaa !5
  %3838 = load ptr, ptr %78, align 8, !tbaa !9
  %3839 = icmp eq ptr %3838, null
  br i1 %3839, label %3840, label %3893

3840:                                             ; preds = %3835
  br label %3841

3841:                                             ; preds = %3840
  br label %3842

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

3849:                                             ; preds = %3842
  %3850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3851 = call i32 @fileno(ptr noundef %3850) #9
  %3852 = call i32 @isatty(i32 noundef %3851) #9
  %3853 = icmp ne i32 %3852, 0
  br i1 %3853, label %3854, label %3871

3854:                                             ; preds = %3849
  %3855 = load i32, ptr %79, align 4, !tbaa !5
  %3856 = call ptr @__errno_location() #10
  store i32 %3855, ptr %3856, align 4, !tbaa !5
  %3857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3858 = load i32, ptr @test_count, align 4, !tbaa !5
  %3859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3860 = load i32, ptr %3859, align 4, !tbaa !5
  %3861 = call ptr @s2n_strerror(i32 noundef %3860, ptr noundef @.str.4)
  %3862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3863 = load i32, ptr %3862, align 4, !tbaa !5
  %3864 = call ptr @s2n_strerror_debug(i32 noundef %3863, ptr noundef @.str.4)
  %3865 = call ptr @__errno_location() #10
  %3866 = load i32, ptr %3865, align 4, !tbaa !5
  %3867 = call ptr @strerror(i32 noundef %3866) #9
  %3868 = call ptr @__errno_location() #10
  %3869 = load i32, ptr %3868, align 4, !tbaa !5
  %3870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3857, ptr noundef @.str.2, i32 noundef %3858, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 142, ptr noundef %3861, ptr noundef %3864, ptr noundef %3867, i32 noundef %3869) #9
  br label %3888

3871:                                             ; preds = %3849, %3842
  %3872 = load i32, ptr %79, align 4, !tbaa !5
  %3873 = call ptr @__errno_location() #10
  store i32 %3872, ptr %3873, align 4, !tbaa !5
  %3874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3875 = load i32, ptr @test_count, align 4, !tbaa !5
  %3876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3877 = load i32, ptr %3876, align 4, !tbaa !5
  %3878 = call ptr @s2n_strerror(i32 noundef %3877, ptr noundef @.str.4)
  %3879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3880 = load i32, ptr %3879, align 4, !tbaa !5
  %3881 = call ptr @s2n_strerror_debug(i32 noundef %3880, ptr noundef @.str.4)
  %3882 = call ptr @__errno_location() #10
  %3883 = load i32, ptr %3882, align 4, !tbaa !5
  %3884 = call ptr @strerror(i32 noundef %3883) #9
  %3885 = call ptr @__errno_location() #10
  %3886 = load i32, ptr %3885, align 4, !tbaa !5
  %3887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3874, ptr noundef @.str.5, i32 noundef %3875, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 142, ptr noundef %3878, ptr noundef %3881, ptr noundef %3884, i32 noundef %3886) #9
  br label %3888

3888:                                             ; preds = %3871, %3854
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #9
  br label %3889

3889:                                             ; preds = %3888
  br label %3890

3890:                                             ; preds = %3889
  call void @exit(i32 noundef 1) #11
  unreachable

3891:                                             ; No predecessors!
  br label %3892

3892:                                             ; preds = %3891
  br label %3893

3893:                                             ; preds = %3892, %3835
  br label %3894

3894:                                             ; preds = %3893
  br label %3895

3895:                                             ; preds = %3894
  br label %3896

3896:                                             ; preds = %3895
  %3897 = load i32, ptr @test_count, align 4, !tbaa !5
  %3898 = add nsw i32 %3897, 1
  store i32 %3898, ptr @test_count, align 4, !tbaa !5
  %3899 = load ptr, ptr %78, align 8, !tbaa !9
  %3900 = load ptr, ptr %68, align 8, !tbaa !9
  %3901 = call i32 @s2n_connection_set_config(ptr noundef %3899, ptr noundef %3900)
  %3902 = icmp eq i32 %3901, -1
  br i1 %3902, label %3903, label %3956

3903:                                             ; preds = %3896
  br label %3904

3904:                                             ; preds = %3903
  br label %3905

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

3912:                                             ; preds = %3905
  %3913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3914 = call i32 @fileno(ptr noundef %3913) #9
  %3915 = call i32 @isatty(i32 noundef %3914) #9
  %3916 = icmp ne i32 %3915, 0
  br i1 %3916, label %3917, label %3934

3917:                                             ; preds = %3912
  %3918 = load i32, ptr %80, align 4, !tbaa !5
  %3919 = call ptr @__errno_location() #10
  store i32 %3918, ptr %3919, align 4, !tbaa !5
  %3920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3921 = load i32, ptr @test_count, align 4, !tbaa !5
  %3922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3923 = load i32, ptr %3922, align 4, !tbaa !5
  %3924 = call ptr @s2n_strerror(i32 noundef %3923, ptr noundef @.str.4)
  %3925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3926 = load i32, ptr %3925, align 4, !tbaa !5
  %3927 = call ptr @s2n_strerror_debug(i32 noundef %3926, ptr noundef @.str.4)
  %3928 = call ptr @__errno_location() #10
  %3929 = load i32, ptr %3928, align 4, !tbaa !5
  %3930 = call ptr @strerror(i32 noundef %3929) #9
  %3931 = call ptr @__errno_location() #10
  %3932 = load i32, ptr %3931, align 4, !tbaa !5
  %3933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3920, ptr noundef @.str.2, i32 noundef %3921, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 143, ptr noundef %3924, ptr noundef %3927, ptr noundef %3930, i32 noundef %3932) #9
  br label %3951

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

3951:                                             ; preds = %3934, %3917
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #9
  br label %3952

3952:                                             ; preds = %3951
  br label %3953

3953:                                             ; preds = %3952
  call void @exit(i32 noundef 1) #11
  unreachable

3954:                                             ; No predecessors!
  br label %3955

3955:                                             ; preds = %3954
  br label %3956

3956:                                             ; preds = %3955, %3896
  br label %3957

3957:                                             ; preds = %3956
  br label %3958

3958:                                             ; preds = %3957
  call void @llvm.lifetime.start.p0(i64 8, ptr %81) #9
  call void @llvm.memset.p0.i64(ptr align 4 %81, i8 0, i64 8, i1 false)
  br label %3959

3959:                                             ; preds = %3958
  %3960 = load i32, ptr @test_count, align 4, !tbaa !5
  %3961 = add nsw i32 %3960, 1
  store i32 %3961, ptr @test_count, align 4, !tbaa !5
  %3962 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %81)
  %3963 = icmp eq i32 %3962, -1
  br i1 %3963, label %3964, label %4017

3964:                                             ; preds = %3959
  br label %3965

3965:                                             ; preds = %3964
  br label %3966

3966:                                             ; preds = %3965
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #9
  %3967 = call ptr @__errno_location() #10
  %3968 = load i32, ptr %3967, align 4, !tbaa !5
  store i32 %3968, ptr %82, align 4, !tbaa !5
  %3969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3970 = call i32 @s2n_print_stacktrace(ptr noundef %3969)
  %3971 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3972 = trunc i8 %3971 to i1
  br i1 %3972, label %3973, label %3995

3973:                                             ; preds = %3966
  %3974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3975 = call i32 @fileno(ptr noundef %3974) #9
  %3976 = call i32 @isatty(i32 noundef %3975) #9
  %3977 = icmp ne i32 %3976, 0
  br i1 %3977, label %3978, label %3995

3978:                                             ; preds = %3973
  %3979 = load i32, ptr %82, align 4, !tbaa !5
  %3980 = call ptr @__errno_location() #10
  store i32 %3979, ptr %3980, align 4, !tbaa !5
  %3981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3982 = load i32, ptr @test_count, align 4, !tbaa !5
  %3983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3984 = load i32, ptr %3983, align 4, !tbaa !5
  %3985 = call ptr @s2n_strerror(i32 noundef %3984, ptr noundef @.str.4)
  %3986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3987 = load i32, ptr %3986, align 4, !tbaa !5
  %3988 = call ptr @s2n_strerror_debug(i32 noundef %3987, ptr noundef @.str.4)
  %3989 = call ptr @__errno_location() #10
  %3990 = load i32, ptr %3989, align 4, !tbaa !5
  %3991 = call ptr @strerror(i32 noundef %3990) #9
  %3992 = call ptr @__errno_location() #10
  %3993 = load i32, ptr %3992, align 4, !tbaa !5
  %3994 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3981, ptr noundef @.str.2, i32 noundef %3982, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 147, ptr noundef %3985, ptr noundef %3988, ptr noundef %3991, i32 noundef %3993) #9
  br label %4012

3995:                                             ; preds = %3973, %3966
  %3996 = load i32, ptr %82, align 4, !tbaa !5
  %3997 = call ptr @__errno_location() #10
  store i32 %3996, ptr %3997, align 4, !tbaa !5
  %3998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3999 = load i32, ptr @test_count, align 4, !tbaa !5
  %4000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4001 = load i32, ptr %4000, align 4, !tbaa !5
  %4002 = call ptr @s2n_strerror(i32 noundef %4001, ptr noundef @.str.4)
  %4003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4004 = load i32, ptr %4003, align 4, !tbaa !5
  %4005 = call ptr @s2n_strerror_debug(i32 noundef %4004, ptr noundef @.str.4)
  %4006 = call ptr @__errno_location() #10
  %4007 = load i32, ptr %4006, align 4, !tbaa !5
  %4008 = call ptr @strerror(i32 noundef %4007) #9
  %4009 = call ptr @__errno_location() #10
  %4010 = load i32, ptr %4009, align 4, !tbaa !5
  %4011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3998, ptr noundef @.str.5, i32 noundef %3999, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 147, ptr noundef %4002, ptr noundef %4005, ptr noundef %4008, i32 noundef %4010) #9
  br label %4012

4012:                                             ; preds = %3995, %3978
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #9
  br label %4013

4013:                                             ; preds = %4012
  br label %4014

4014:                                             ; preds = %4013
  call void @exit(i32 noundef 1) #11
  unreachable

4015:                                             ; No predecessors!
  br label %4016

4016:                                             ; preds = %4015
  br label %4017

4017:                                             ; preds = %4016, %3959
  br label %4018

4018:                                             ; preds = %4017
  br label %4019

4019:                                             ; preds = %4018
  br label %4020

4020:                                             ; preds = %4019
  %4021 = load i32, ptr @test_count, align 4, !tbaa !5
  %4022 = add nsw i32 %4021, 1
  store i32 %4022, ptr @test_count, align 4, !tbaa !5
  %4023 = load ptr, ptr %75, align 8, !tbaa !9
  %4024 = call i32 @s2n_connection_set_io_pair(ptr noundef %4023, ptr noundef %81)
  %4025 = icmp eq i32 %4024, -1
  br i1 %4025, label %4026, label %4079

4026:                                             ; preds = %4020
  br label %4027

4027:                                             ; preds = %4026
  br label %4028

4028:                                             ; preds = %4027
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #9
  %4029 = call ptr @__errno_location() #10
  %4030 = load i32, ptr %4029, align 4, !tbaa !5
  store i32 %4030, ptr %83, align 4, !tbaa !5
  %4031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4032 = call i32 @s2n_print_stacktrace(ptr noundef %4031)
  %4033 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4034 = trunc i8 %4033 to i1
  br i1 %4034, label %4035, label %4057

4035:                                             ; preds = %4028
  %4036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4037 = call i32 @fileno(ptr noundef %4036) #9
  %4038 = call i32 @isatty(i32 noundef %4037) #9
  %4039 = icmp ne i32 %4038, 0
  br i1 %4039, label %4040, label %4057

4040:                                             ; preds = %4035
  %4041 = load i32, ptr %83, align 4, !tbaa !5
  %4042 = call ptr @__errno_location() #10
  store i32 %4041, ptr %4042, align 4, !tbaa !5
  %4043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4044 = load i32, ptr @test_count, align 4, !tbaa !5
  %4045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4046 = load i32, ptr %4045, align 4, !tbaa !5
  %4047 = call ptr @s2n_strerror(i32 noundef %4046, ptr noundef @.str.4)
  %4048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4049 = load i32, ptr %4048, align 4, !tbaa !5
  %4050 = call ptr @s2n_strerror_debug(i32 noundef %4049, ptr noundef @.str.4)
  %4051 = call ptr @__errno_location() #10
  %4052 = load i32, ptr %4051, align 4, !tbaa !5
  %4053 = call ptr @strerror(i32 noundef %4052) #9
  %4054 = call ptr @__errno_location() #10
  %4055 = load i32, ptr %4054, align 4, !tbaa !5
  %4056 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4043, ptr noundef @.str.2, i32 noundef %4044, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 148, ptr noundef %4047, ptr noundef %4050, ptr noundef %4053, i32 noundef %4055) #9
  br label %4074

4057:                                             ; preds = %4035, %4028
  %4058 = load i32, ptr %83, align 4, !tbaa !5
  %4059 = call ptr @__errno_location() #10
  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.4)
  %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.4)
  %4068 = call ptr @__errno_location() #10
  %4069 = load i32, ptr %4068, align 4, !tbaa !5
  %4070 = call ptr @strerror(i32 noundef %4069) #9
  %4071 = call ptr @__errno_location() #10
  %4072 = load i32, ptr %4071, align 4, !tbaa !5
  %4073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4060, ptr noundef @.str.5, i32 noundef %4061, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 148, ptr noundef %4064, ptr noundef %4067, ptr noundef %4070, i32 noundef %4072) #9
  br label %4074

4074:                                             ; preds = %4057, %4040
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #9
  br label %4075

4075:                                             ; preds = %4074
  br label %4076

4076:                                             ; preds = %4075
  call void @exit(i32 noundef 1) #11
  unreachable

4077:                                             ; No predecessors!
  br label %4078

4078:                                             ; preds = %4077
  br label %4079

4079:                                             ; preds = %4078, %4020
  br label %4080

4080:                                             ; preds = %4079
  br label %4081

4081:                                             ; preds = %4080
  br label %4082

4082:                                             ; preds = %4081
  %4083 = load i32, ptr @test_count, align 4, !tbaa !5
  %4084 = add nsw i32 %4083, 1
  store i32 %4084, ptr @test_count, align 4, !tbaa !5
  %4085 = load ptr, ptr %78, align 8, !tbaa !9
  %4086 = call i32 @s2n_connection_set_io_pair(ptr noundef %4085, ptr noundef %81)
  %4087 = icmp eq i32 %4086, -1
  br i1 %4087, label %4088, label %4141

4088:                                             ; preds = %4082
  br label %4089

4089:                                             ; preds = %4088
  br label %4090

4090:                                             ; preds = %4089
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #9
  %4091 = call ptr @__errno_location() #10
  %4092 = load i32, ptr %4091, align 4, !tbaa !5
  store i32 %4092, ptr %84, align 4, !tbaa !5
  %4093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4094 = call i32 @s2n_print_stacktrace(ptr noundef %4093)
  %4095 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4096 = trunc i8 %4095 to i1
  br i1 %4096, label %4097, label %4119

4097:                                             ; preds = %4090
  %4098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4099 = call i32 @fileno(ptr noundef %4098) #9
  %4100 = call i32 @isatty(i32 noundef %4099) #9
  %4101 = icmp ne i32 %4100, 0
  br i1 %4101, label %4102, label %4119

4102:                                             ; preds = %4097
  %4103 = load i32, ptr %84, align 4, !tbaa !5
  %4104 = call ptr @__errno_location() #10
  store i32 %4103, ptr %4104, align 4, !tbaa !5
  %4105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4106 = load i32, ptr @test_count, align 4, !tbaa !5
  %4107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4108 = load i32, ptr %4107, align 4, !tbaa !5
  %4109 = call ptr @s2n_strerror(i32 noundef %4108, ptr noundef @.str.4)
  %4110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4111 = load i32, ptr %4110, align 4, !tbaa !5
  %4112 = call ptr @s2n_strerror_debug(i32 noundef %4111, ptr noundef @.str.4)
  %4113 = call ptr @__errno_location() #10
  %4114 = load i32, ptr %4113, align 4, !tbaa !5
  %4115 = call ptr @strerror(i32 noundef %4114) #9
  %4116 = call ptr @__errno_location() #10
  %4117 = load i32, ptr %4116, align 4, !tbaa !5
  %4118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4105, ptr noundef @.str.2, i32 noundef %4106, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 149, ptr noundef %4109, ptr noundef %4112, ptr noundef %4115, i32 noundef %4117) #9
  br label %4136

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

4136:                                             ; preds = %4119, %4102
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #9
  br label %4137

4137:                                             ; preds = %4136
  br label %4138

4138:                                             ; preds = %4137
  call void @exit(i32 noundef 1) #11
  unreachable

4139:                                             ; No predecessors!
  br label %4140

4140:                                             ; preds = %4139
  br label %4141

4141:                                             ; preds = %4140, %4082
  br label %4142

4142:                                             ; preds = %4141
  br label %4143

4143:                                             ; preds = %4142
  br label %4144

4144:                                             ; preds = %4143
  %4145 = load i32, ptr @test_count, align 4, !tbaa !5
  %4146 = add nsw i32 %4145, 1
  store i32 %4146, ptr @test_count, align 4, !tbaa !5
  %4147 = load ptr, ptr %75, align 8, !tbaa !9
  %4148 = call i32 @s2n_connection_prefer_throughput(ptr noundef %4147)
  %4149 = icmp eq i32 %4148, -1
  br i1 %4149, label %4150, label %4203

4150:                                             ; preds = %4144
  br label %4151

4151:                                             ; preds = %4150
  br label %4152

4152:                                             ; preds = %4151
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #9
  %4153 = call ptr @__errno_location() #10
  %4154 = load i32, ptr %4153, align 4, !tbaa !5
  store i32 %4154, ptr %85, align 4, !tbaa !5
  %4155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4156 = call i32 @s2n_print_stacktrace(ptr noundef %4155)
  %4157 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4158 = trunc i8 %4157 to i1
  br i1 %4158, label %4159, label %4181

4159:                                             ; preds = %4152
  %4160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4161 = call i32 @fileno(ptr noundef %4160) #9
  %4162 = call i32 @isatty(i32 noundef %4161) #9
  %4163 = icmp ne i32 %4162, 0
  br i1 %4163, label %4164, label %4181

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

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

4198:                                             ; preds = %4181, %4164
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #9
  br label %4199

4199:                                             ; preds = %4198
  br label %4200

4200:                                             ; preds = %4199
  call void @exit(i32 noundef 1) #11
  unreachable

4201:                                             ; No predecessors!
  br label %4202

4202:                                             ; preds = %4201
  br label %4203

4203:                                             ; preds = %4202, %4144
  br label %4204

4204:                                             ; preds = %4203
  br label %4205

4205:                                             ; preds = %4204
  br label %4206

4206:                                             ; preds = %4205
  %4207 = load i32, ptr @test_count, align 4, !tbaa !5
  %4208 = add nsw i32 %4207, 1
  store i32 %4208, ptr @test_count, align 4, !tbaa !5
  %4209 = load ptr, ptr %78, align 8, !tbaa !9
  %4210 = call i32 @s2n_connection_prefer_throughput(ptr noundef %4209)
  %4211 = icmp eq i32 %4210, -1
  br i1 %4211, label %4212, label %4265

4212:                                             ; preds = %4206
  br label %4213

4213:                                             ; preds = %4212
  br label %4214

4214:                                             ; preds = %4213
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #9
  %4215 = call ptr @__errno_location() #10
  %4216 = load i32, ptr %4215, align 4, !tbaa !5
  store i32 %4216, ptr %86, align 4, !tbaa !5
  %4217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4218 = call i32 @s2n_print_stacktrace(ptr noundef %4217)
  %4219 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4220 = trunc i8 %4219 to i1
  br i1 %4220, label %4221, label %4243

4221:                                             ; preds = %4214
  %4222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4223 = call i32 @fileno(ptr noundef %4222) #9
  %4224 = call i32 @isatty(i32 noundef %4223) #9
  %4225 = icmp ne i32 %4224, 0
  br i1 %4225, label %4226, label %4243

4226:                                             ; preds = %4221
  %4227 = load i32, ptr %86, align 4, !tbaa !5
  %4228 = call ptr @__errno_location() #10
  store i32 %4227, ptr %4228, align 4, !tbaa !5
  %4229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4230 = load i32, ptr @test_count, align 4, !tbaa !5
  %4231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4232 = load i32, ptr %4231, align 4, !tbaa !5
  %4233 = call ptr @s2n_strerror(i32 noundef %4232, ptr noundef @.str.4)
  %4234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4235 = load i32, ptr %4234, align 4, !tbaa !5
  %4236 = call ptr @s2n_strerror_debug(i32 noundef %4235, ptr noundef @.str.4)
  %4237 = call ptr @__errno_location() #10
  %4238 = load i32, ptr %4237, align 4, !tbaa !5
  %4239 = call ptr @strerror(i32 noundef %4238) #9
  %4240 = call ptr @__errno_location() #10
  %4241 = load i32, ptr %4240, align 4, !tbaa !5
  %4242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4229, ptr noundef @.str.2, i32 noundef %4230, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 154, ptr noundef %4233, ptr noundef %4236, ptr noundef %4239, i32 noundef %4241) #9
  br label %4260

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

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

4261:                                             ; preds = %4260
  br label %4262

4262:                                             ; preds = %4261
  call void @exit(i32 noundef 1) #11
  unreachable

4263:                                             ; No predecessors!
  br label %4264

4264:                                             ; preds = %4263
  br label %4265

4265:                                             ; preds = %4264, %4206
  br label %4266

4266:                                             ; preds = %4265
  br label %4267

4267:                                             ; preds = %4266
  br label %4268

4268:                                             ; preds = %4267
  %4269 = load i32, ptr @test_count, align 4, !tbaa !5
  %4270 = add nsw i32 %4269, 1
  store i32 %4270, ptr @test_count, align 4, !tbaa !5
  %4271 = load ptr, ptr %78, align 8, !tbaa !9
  %4272 = load ptr, ptr %75, align 8, !tbaa !9
  %4273 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %4271, ptr noundef %4272, i32 noundef 2)
  %4274 = getelementptr inbounds %struct.s2n_result, ptr %87, i32 0, i32 0
  store i32 %4273, ptr %4274, align 4
  %4275 = getelementptr inbounds %struct.s2n_result, ptr %87, i32 0, i32 0
  %4276 = load i32, ptr %4275, align 4
  %4277 = call zeroext i1 @s2n_result_is_ok(i32 %4276)
  br i1 %4277, label %4331, label %4278

4278:                                             ; preds = %4268
  br label %4279

4279:                                             ; preds = %4278
  br label %4280

4280:                                             ; preds = %4279
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #9
  %4281 = call ptr @__errno_location() #10
  %4282 = load i32, ptr %4281, align 4, !tbaa !5
  store i32 %4282, ptr %88, align 4, !tbaa !5
  %4283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4284 = call i32 @s2n_print_stacktrace(ptr noundef %4283)
  %4285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4286 = trunc i8 %4285 to i1
  br i1 %4286, label %4287, label %4309

4287:                                             ; preds = %4280
  %4288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4289 = call i32 @fileno(ptr noundef %4288) #9
  %4290 = call i32 @isatty(i32 noundef %4289) #9
  %4291 = icmp ne i32 %4290, 0
  br i1 %4291, label %4292, label %4309

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

4309:                                             ; preds = %4287, %4280
  %4310 = load i32, ptr %88, align 4, !tbaa !5
  %4311 = call ptr @__errno_location() #10
  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.4)
  %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.4)
  %4320 = call ptr @__errno_location() #10
  %4321 = load i32, ptr %4320, align 4, !tbaa !5
  %4322 = call ptr @strerror(i32 noundef %4321) #9
  %4323 = call ptr @__errno_location() #10
  %4324 = load i32, ptr %4323, align 4, !tbaa !5
  %4325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4312, ptr noundef @.str.5, i32 noundef %4313, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 157, ptr noundef %4316, ptr noundef %4319, ptr noundef %4322, i32 noundef %4324) #9
  br label %4326

4326:                                             ; preds = %4309, %4292
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #9
  br label %4327

4327:                                             ; preds = %4326
  br label %4328

4328:                                             ; preds = %4327
  call void @exit(i32 noundef 1) #11
  unreachable

4329:                                             ; No predecessors!
  br label %4330

4330:                                             ; preds = %4329
  br label %4331

4331:                                             ; preds = %4330, %4268
  br label %4332

4332:                                             ; preds = %4331
  br label %4333

4333:                                             ; preds = %4332
  br label %4334

4334:                                             ; preds = %4333
  %4335 = load i32, ptr @test_count, align 4, !tbaa !5
  %4336 = add nsw i32 %4335, 1
  store i32 %4336, ptr @test_count, align 4, !tbaa !5
  %4337 = load ptr, ptr %75, align 8, !tbaa !9
  %4338 = getelementptr inbounds %struct.s2n_connection, ptr %4337, i32 0, i32 23
  %4339 = load i8, ptr %4338, align 4, !tbaa !15
  %4340 = zext i8 %4339 to i32
  %4341 = icmp eq i32 %4340, 34
  br i1 %4341, label %4395, label %4342

4342:                                             ; preds = %4334
  br label %4343

4343:                                             ; preds = %4342
  br label %4344

4344:                                             ; preds = %4343
  call void @llvm.lifetime.start.p0(i64 4, ptr %89) #9
  %4345 = call ptr @__errno_location() #10
  %4346 = load i32, ptr %4345, align 4, !tbaa !5
  store i32 %4346, ptr %89, align 4, !tbaa !5
  %4347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4348 = call i32 @s2n_print_stacktrace(ptr noundef %4347)
  %4349 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4350 = trunc i8 %4349 to i1
  br i1 %4350, label %4351, label %4373

4351:                                             ; preds = %4344
  %4352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4353 = call i32 @fileno(ptr noundef %4352) #9
  %4354 = call i32 @isatty(i32 noundef %4353) #9
  %4355 = icmp ne i32 %4354, 0
  br i1 %4355, label %4356, label %4373

4356:                                             ; preds = %4351
  %4357 = load i32, ptr %89, align 4, !tbaa !5
  %4358 = call ptr @__errno_location() #10
  store i32 %4357, ptr %4358, align 4, !tbaa !5
  %4359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4360 = load i32, ptr @test_count, align 4, !tbaa !5
  %4361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4362 = load i32, ptr %4361, align 4, !tbaa !5
  %4363 = call ptr @s2n_strerror(i32 noundef %4362, ptr noundef @.str.4)
  %4364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4365 = load i32, ptr %4364, align 4, !tbaa !5
  %4366 = call ptr @s2n_strerror_debug(i32 noundef %4365, ptr noundef @.str.4)
  %4367 = call ptr @__errno_location() #10
  %4368 = load i32, ptr %4367, align 4, !tbaa !5
  %4369 = call ptr @strerror(i32 noundef %4368) #9
  %4370 = call ptr @__errno_location() #10
  %4371 = load i32, ptr %4370, align 4, !tbaa !5
  %4372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4359, ptr noundef @.str.2, i32 noundef %4360, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 158, ptr noundef %4363, ptr noundef %4366, ptr noundef %4369, i32 noundef %4371) #9
  br label %4390

4373:                                             ; preds = %4351, %4344
  %4374 = load i32, ptr %89, align 4, !tbaa !5
  %4375 = call ptr @__errno_location() #10
  store i32 %4374, ptr %4375, align 4, !tbaa !5
  %4376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4377 = load i32, ptr @test_count, align 4, !tbaa !5
  %4378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4379 = load i32, ptr %4378, align 4, !tbaa !5
  %4380 = call ptr @s2n_strerror(i32 noundef %4379, ptr noundef @.str.4)
  %4381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4382 = load i32, ptr %4381, align 4, !tbaa !5
  %4383 = call ptr @s2n_strerror_debug(i32 noundef %4382, ptr noundef @.str.4)
  %4384 = call ptr @__errno_location() #10
  %4385 = load i32, ptr %4384, align 4, !tbaa !5
  %4386 = call ptr @strerror(i32 noundef %4385) #9
  %4387 = call ptr @__errno_location() #10
  %4388 = load i32, ptr %4387, align 4, !tbaa !5
  %4389 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4376, ptr noundef @.str.5, i32 noundef %4377, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 158, ptr noundef %4380, ptr noundef %4383, ptr noundef %4386, i32 noundef %4388) #9
  br label %4390

4390:                                             ; preds = %4373, %4356
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #9
  br label %4391

4391:                                             ; preds = %4390
  br label %4392

4392:                                             ; preds = %4391
  call void @exit(i32 noundef 1) #11
  unreachable

4393:                                             ; No predecessors!
  br label %4394

4394:                                             ; preds = %4393
  br label %4395

4395:                                             ; preds = %4394, %4334
  br label %4396

4396:                                             ; preds = %4395
  br label %4397

4397:                                             ; preds = %4396
  br label %4398

4398:                                             ; preds = %4397
  %4399 = load i32, ptr @test_count, align 4, !tbaa !5
  %4400 = add nsw i32 %4399, 1
  store i32 %4400, ptr @test_count, align 4, !tbaa !5
  %4401 = load ptr, ptr %78, align 8, !tbaa !9
  %4402 = getelementptr inbounds %struct.s2n_connection, ptr %4401, i32 0, i32 23
  %4403 = load i8, ptr %4402, align 4, !tbaa !15
  %4404 = zext i8 %4403 to i32
  %4405 = icmp eq i32 %4404, 34
  br i1 %4405, label %4459, label %4406

4406:                                             ; preds = %4398
  br label %4407

4407:                                             ; preds = %4406
  br label %4408

4408:                                             ; preds = %4407
  call void @llvm.lifetime.start.p0(i64 4, ptr %90) #9
  %4409 = call ptr @__errno_location() #10
  %4410 = load i32, ptr %4409, align 4, !tbaa !5
  store i32 %4410, ptr %90, align 4, !tbaa !5
  %4411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4412 = call i32 @s2n_print_stacktrace(ptr noundef %4411)
  %4413 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4414 = trunc i8 %4413 to i1
  br i1 %4414, label %4415, label %4437

4415:                                             ; preds = %4408
  %4416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4417 = call i32 @fileno(ptr noundef %4416) #9
  %4418 = call i32 @isatty(i32 noundef %4417) #9
  %4419 = icmp ne i32 %4418, 0
  br i1 %4419, label %4420, label %4437

4420:                                             ; preds = %4415
  %4421 = load i32, ptr %90, align 4, !tbaa !5
  %4422 = call ptr @__errno_location() #10
  store i32 %4421, ptr %4422, align 4, !tbaa !5
  %4423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4424 = load i32, ptr @test_count, align 4, !tbaa !5
  %4425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4426 = load i32, ptr %4425, align 4, !tbaa !5
  %4427 = call ptr @s2n_strerror(i32 noundef %4426, ptr noundef @.str.4)
  %4428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4429 = load i32, ptr %4428, align 4, !tbaa !5
  %4430 = call ptr @s2n_strerror_debug(i32 noundef %4429, ptr noundef @.str.4)
  %4431 = call ptr @__errno_location() #10
  %4432 = load i32, ptr %4431, align 4, !tbaa !5
  %4433 = call ptr @strerror(i32 noundef %4432) #9
  %4434 = call ptr @__errno_location() #10
  %4435 = load i32, ptr %4434, align 4, !tbaa !5
  %4436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4423, ptr noundef @.str.2, i32 noundef %4424, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 159, ptr noundef %4427, ptr noundef %4430, ptr noundef %4433, i32 noundef %4435) #9
  br label %4454

4437:                                             ; preds = %4415, %4408
  %4438 = load i32, ptr %90, align 4, !tbaa !5
  %4439 = call ptr @__errno_location() #10
  store i32 %4438, ptr %4439, align 4, !tbaa !5
  %4440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4441 = load i32, ptr @test_count, align 4, !tbaa !5
  %4442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4443 = load i32, ptr %4442, align 4, !tbaa !5
  %4444 = call ptr @s2n_strerror(i32 noundef %4443, ptr noundef @.str.4)
  %4445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4446 = load i32, ptr %4445, align 4, !tbaa !5
  %4447 = call ptr @s2n_strerror_debug(i32 noundef %4446, ptr noundef @.str.4)
  %4448 = call ptr @__errno_location() #10
  %4449 = load i32, ptr %4448, align 4, !tbaa !5
  %4450 = call ptr @strerror(i32 noundef %4449) #9
  %4451 = call ptr @__errno_location() #10
  %4452 = load i32, ptr %4451, align 4, !tbaa !5
  %4453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4440, ptr noundef @.str.5, i32 noundef %4441, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 159, ptr noundef %4444, ptr noundef %4447, ptr noundef %4450, i32 noundef %4452) #9
  br label %4454

4454:                                             ; preds = %4437, %4420
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #9
  br label %4455

4455:                                             ; preds = %4454
  br label %4456

4456:                                             ; preds = %4455
  call void @exit(i32 noundef 1) #11
  unreachable

4457:                                             ; No predecessors!
  br label %4458

4458:                                             ; preds = %4457
  br label %4459

4459:                                             ; preds = %4458, %4398
  br label %4460

4460:                                             ; preds = %4459
  br label %4461

4461:                                             ; preds = %4460
  br label %4462

4462:                                             ; preds = %4461
  %4463 = load i32, ptr @test_count, align 4, !tbaa !5
  %4464 = add nsw i32 %4463, 1
  store i32 %4464, ptr @test_count, align 4, !tbaa !5
  %4465 = load ptr, ptr %75, align 8, !tbaa !9
  %4466 = getelementptr inbounds %struct.s2n_connection, ptr %4465, i32 0, i32 53
  %4467 = load i16, ptr %4466, align 8, !tbaa !42
  %4468 = zext i16 %4467 to i32
  %4469 = icmp eq i32 %4468, 2048
  br i1 %4469, label %4523, label %4470

4470:                                             ; preds = %4462
  br label %4471

4471:                                             ; preds = %4470
  br label %4472

4472:                                             ; preds = %4471
  call void @llvm.lifetime.start.p0(i64 4, ptr %91) #9
  %4473 = call ptr @__errno_location() #10
  %4474 = load i32, ptr %4473, align 4, !tbaa !5
  store i32 %4474, ptr %91, align 4, !tbaa !5
  %4475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4476 = call i32 @s2n_print_stacktrace(ptr noundef %4475)
  %4477 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4478 = trunc i8 %4477 to i1
  br i1 %4478, label %4479, label %4501

4479:                                             ; preds = %4472
  %4480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4481 = call i32 @fileno(ptr noundef %4480) #9
  %4482 = call i32 @isatty(i32 noundef %4481) #9
  %4483 = icmp ne i32 %4482, 0
  br i1 %4483, label %4484, label %4501

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

4501:                                             ; preds = %4479, %4472
  %4502 = load i32, ptr %91, align 4, !tbaa !5
  %4503 = call ptr @__errno_location() #10
  store i32 %4502, ptr %4503, align 4, !tbaa !5
  %4504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4505 = load i32, ptr @test_count, align 4, !tbaa !5
  %4506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4507 = load i32, ptr %4506, align 4, !tbaa !5
  %4508 = call ptr @s2n_strerror(i32 noundef %4507, ptr noundef @.str.4)
  %4509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4510 = load i32, ptr %4509, align 4, !tbaa !5
  %4511 = call ptr @s2n_strerror_debug(i32 noundef %4510, ptr noundef @.str.4)
  %4512 = call ptr @__errno_location() #10
  %4513 = load i32, ptr %4512, align 4, !tbaa !5
  %4514 = call ptr @strerror(i32 noundef %4513) #9
  %4515 = call ptr @__errno_location() #10
  %4516 = load i32, ptr %4515, align 4, !tbaa !5
  %4517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4504, ptr noundef @.str.5, i32 noundef %4505, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 162, ptr noundef %4508, ptr noundef %4511, ptr noundef %4514, i32 noundef %4516) #9
  br label %4518

4518:                                             ; preds = %4501, %4484
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #9
  br label %4519

4519:                                             ; preds = %4518
  br label %4520

4520:                                             ; preds = %4519
  call void @exit(i32 noundef 1) #11
  unreachable

4521:                                             ; No predecessors!
  br label %4522

4522:                                             ; preds = %4521
  br label %4523

4523:                                             ; preds = %4522, %4462
  br label %4524

4524:                                             ; preds = %4523
  br label %4525

4525:                                             ; preds = %4524
  br label %4526

4526:                                             ; preds = %4525
  %4527 = load i32, ptr @test_count, align 4, !tbaa !5
  %4528 = add nsw i32 %4527, 1
  store i32 %4528, ptr @test_count, align 4, !tbaa !5
  %4529 = load ptr, ptr %78, align 8, !tbaa !9
  %4530 = getelementptr inbounds %struct.s2n_connection, ptr %4529, i32 0, i32 53
  %4531 = load i16, ptr %4530, align 8, !tbaa !42
  %4532 = zext i16 %4531 to i32
  %4533 = icmp eq i32 %4532, 2048
  br i1 %4533, label %4587, label %4534

4534:                                             ; preds = %4526
  br label %4535

4535:                                             ; preds = %4534
  br label %4536

4536:                                             ; preds = %4535
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #9
  %4537 = call ptr @__errno_location() #10
  %4538 = load i32, ptr %4537, align 4, !tbaa !5
  store i32 %4538, ptr %92, align 4, !tbaa !5
  %4539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4540 = call i32 @s2n_print_stacktrace(ptr noundef %4539)
  %4541 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4542 = trunc i8 %4541 to i1
  br i1 %4542, label %4543, label %4565

4543:                                             ; preds = %4536
  %4544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4545 = call i32 @fileno(ptr noundef %4544) #9
  %4546 = call i32 @isatty(i32 noundef %4545) #9
  %4547 = icmp ne i32 %4546, 0
  br i1 %4547, label %4548, label %4565

4548:                                             ; preds = %4543
  %4549 = load i32, ptr %92, align 4, !tbaa !5
  %4550 = call ptr @__errno_location() #10
  store i32 %4549, ptr %4550, align 4, !tbaa !5
  %4551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4552 = load i32, ptr @test_count, align 4, !tbaa !5
  %4553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4554 = load i32, ptr %4553, align 4, !tbaa !5
  %4555 = call ptr @s2n_strerror(i32 noundef %4554, ptr noundef @.str.4)
  %4556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4557 = load i32, ptr %4556, align 4, !tbaa !5
  %4558 = call ptr @s2n_strerror_debug(i32 noundef %4557, ptr noundef @.str.4)
  %4559 = call ptr @__errno_location() #10
  %4560 = load i32, ptr %4559, align 4, !tbaa !5
  %4561 = call ptr @strerror(i32 noundef %4560) #9
  %4562 = call ptr @__errno_location() #10
  %4563 = load i32, ptr %4562, align 4, !tbaa !5
  %4564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4551, ptr noundef @.str.2, i32 noundef %4552, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 163, ptr noundef %4555, ptr noundef %4558, ptr noundef %4561, i32 noundef %4563) #9
  br label %4582

4565:                                             ; preds = %4543, %4536
  %4566 = load i32, ptr %92, align 4, !tbaa !5
  %4567 = call ptr @__errno_location() #10
  store i32 %4566, ptr %4567, align 4, !tbaa !5
  %4568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4569 = load i32, ptr @test_count, align 4, !tbaa !5
  %4570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4571 = load i32, ptr %4570, align 4, !tbaa !5
  %4572 = call ptr @s2n_strerror(i32 noundef %4571, ptr noundef @.str.4)
  %4573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4574 = load i32, ptr %4573, align 4, !tbaa !5
  %4575 = call ptr @s2n_strerror_debug(i32 noundef %4574, ptr noundef @.str.4)
  %4576 = call ptr @__errno_location() #10
  %4577 = load i32, ptr %4576, align 4, !tbaa !5
  %4578 = call ptr @strerror(i32 noundef %4577) #9
  %4579 = call ptr @__errno_location() #10
  %4580 = load i32, ptr %4579, align 4, !tbaa !5
  %4581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4568, ptr noundef @.str.5, i32 noundef %4569, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 163, ptr noundef %4572, ptr noundef %4575, ptr noundef %4578, i32 noundef %4580) #9
  br label %4582

4582:                                             ; preds = %4565, %4548
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #9
  br label %4583

4583:                                             ; preds = %4582
  br label %4584

4584:                                             ; preds = %4583
  call void @exit(i32 noundef 1) #11
  unreachable

4585:                                             ; No predecessors!
  br label %4586

4586:                                             ; preds = %4585
  br label %4587

4587:                                             ; preds = %4586, %4526
  br label %4588

4588:                                             ; preds = %4587
  br label %4589

4589:                                             ; preds = %4588
  br label %4590

4590:                                             ; preds = %4589
  %4591 = load i32, ptr @test_count, align 4, !tbaa !5
  %4592 = add nsw i32 %4591, 1
  store i32 %4592, ptr @test_count, align 4, !tbaa !5
  %4593 = load ptr, ptr %75, align 8, !tbaa !9
  %4594 = getelementptr inbounds %struct.s2n_connection, ptr %4593, i32 0, i32 41
  %4595 = getelementptr inbounds %struct.s2n_stuffer, ptr %4594, i32 0, i32 0
  %4596 = getelementptr inbounds %struct.s2n_blob, ptr %4595, i32 0, i32 1
  %4597 = load i32, ptr %4596, align 8, !tbaa !43
  %4598 = icmp eq i32 %4597, 17413
  br i1 %4598, label %4652, label %4599

4599:                                             ; preds = %4590
  br label %4600

4600:                                             ; preds = %4599
  br label %4601

4601:                                             ; preds = %4600
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #9
  %4602 = call ptr @__errno_location() #10
  %4603 = load i32, ptr %4602, align 4, !tbaa !5
  store i32 %4603, ptr %93, align 4, !tbaa !5
  %4604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4605 = call i32 @s2n_print_stacktrace(ptr noundef %4604)
  %4606 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4607 = trunc i8 %4606 to i1
  br i1 %4607, label %4608, label %4630

4608:                                             ; preds = %4601
  %4609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4610 = call i32 @fileno(ptr noundef %4609) #9
  %4611 = call i32 @isatty(i32 noundef %4610) #9
  %4612 = icmp ne i32 %4611, 0
  br i1 %4612, label %4613, label %4630

4613:                                             ; preds = %4608
  %4614 = load i32, ptr %93, align 4, !tbaa !5
  %4615 = call ptr @__errno_location() #10
  store i32 %4614, ptr %4615, align 4, !tbaa !5
  %4616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4617 = load i32, ptr @test_count, align 4, !tbaa !5
  %4618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4619 = load i32, ptr %4618, align 4, !tbaa !5
  %4620 = call ptr @s2n_strerror(i32 noundef %4619, ptr noundef @.str.4)
  %4621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4622 = load i32, ptr %4621, align 4, !tbaa !5
  %4623 = call ptr @s2n_strerror_debug(i32 noundef %4622, ptr noundef @.str.4)
  %4624 = call ptr @__errno_location() #10
  %4625 = load i32, ptr %4624, align 4, !tbaa !5
  %4626 = call ptr @strerror(i32 noundef %4625) #9
  %4627 = call ptr @__errno_location() #10
  %4628 = load i32, ptr %4627, align 4, !tbaa !5
  %4629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4616, ptr noundef @.str.2, i32 noundef %4617, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 166, ptr noundef %4620, ptr noundef %4623, ptr noundef %4626, i32 noundef %4628) #9
  br label %4647

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

4647:                                             ; preds = %4630, %4613
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #9
  br label %4648

4648:                                             ; preds = %4647
  br label %4649

4649:                                             ; preds = %4648
  call void @exit(i32 noundef 1) #11
  unreachable

4650:                                             ; No predecessors!
  br label %4651

4651:                                             ; preds = %4650
  br label %4652

4652:                                             ; preds = %4651, %4590
  br label %4653

4653:                                             ; preds = %4652
  br label %4654

4654:                                             ; preds = %4653
  br label %4655

4655:                                             ; preds = %4654
  %4656 = load i32, ptr @test_count, align 4, !tbaa !5
  %4657 = add nsw i32 %4656, 1
  store i32 %4657, ptr @test_count, align 4, !tbaa !5
  %4658 = load ptr, ptr %78, align 8, !tbaa !9
  %4659 = getelementptr inbounds %struct.s2n_connection, ptr %4658, i32 0, i32 41
  %4660 = getelementptr inbounds %struct.s2n_stuffer, ptr %4659, i32 0, i32 0
  %4661 = getelementptr inbounds %struct.s2n_blob, ptr %4660, i32 0, i32 1
  %4662 = load i32, ptr %4661, align 8, !tbaa !43
  %4663 = icmp eq i32 %4662, 2309
  br i1 %4663, label %4717, label %4664

4664:                                             ; preds = %4655
  br label %4665

4665:                                             ; preds = %4664
  br label %4666

4666:                                             ; preds = %4665
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #9
  %4667 = call ptr @__errno_location() #10
  %4668 = load i32, ptr %4667, align 4, !tbaa !5
  store i32 %4668, ptr %94, align 4, !tbaa !5
  %4669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4670 = call i32 @s2n_print_stacktrace(ptr noundef %4669)
  %4671 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4672 = trunc i8 %4671 to i1
  br i1 %4672, label %4673, label %4695

4673:                                             ; preds = %4666
  %4674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4675 = call i32 @fileno(ptr noundef %4674) #9
  %4676 = call i32 @isatty(i32 noundef %4675) #9
  %4677 = icmp ne i32 %4676, 0
  br i1 %4677, label %4678, label %4695

4678:                                             ; preds = %4673
  %4679 = load i32, ptr %94, align 4, !tbaa !5
  %4680 = call ptr @__errno_location() #10
  store i32 %4679, ptr %4680, align 4, !tbaa !5
  %4681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4682 = load i32, ptr @test_count, align 4, !tbaa !5
  %4683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4684 = load i32, ptr %4683, align 4, !tbaa !5
  %4685 = call ptr @s2n_strerror(i32 noundef %4684, ptr noundef @.str.4)
  %4686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4687 = load i32, ptr %4686, align 4, !tbaa !5
  %4688 = call ptr @s2n_strerror_debug(i32 noundef %4687, ptr noundef @.str.4)
  %4689 = call ptr @__errno_location() #10
  %4690 = load i32, ptr %4689, align 4, !tbaa !5
  %4691 = call ptr @strerror(i32 noundef %4690) #9
  %4692 = call ptr @__errno_location() #10
  %4693 = load i32, ptr %4692, align 4, !tbaa !5
  %4694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4681, ptr noundef @.str.2, i32 noundef %4682, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 169, ptr noundef %4685, ptr noundef %4688, ptr noundef %4691, i32 noundef %4693) #9
  br label %4712

4695:                                             ; preds = %4673, %4666
  %4696 = load i32, ptr %94, align 4, !tbaa !5
  %4697 = call ptr @__errno_location() #10
  store i32 %4696, ptr %4697, align 4, !tbaa !5
  %4698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4699 = load i32, ptr @test_count, align 4, !tbaa !5
  %4700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4701 = load i32, ptr %4700, align 4, !tbaa !5
  %4702 = call ptr @s2n_strerror(i32 noundef %4701, ptr noundef @.str.4)
  %4703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4704 = load i32, ptr %4703, align 4, !tbaa !5
  %4705 = call ptr @s2n_strerror_debug(i32 noundef %4704, ptr noundef @.str.4)
  %4706 = call ptr @__errno_location() #10
  %4707 = load i32, ptr %4706, align 4, !tbaa !5
  %4708 = call ptr @strerror(i32 noundef %4707) #9
  %4709 = call ptr @__errno_location() #10
  %4710 = load i32, ptr %4709, align 4, !tbaa !5
  %4711 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4698, ptr noundef @.str.5, i32 noundef %4699, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 169, ptr noundef %4702, ptr noundef %4705, ptr noundef %4708, i32 noundef %4710) #9
  br label %4712

4712:                                             ; preds = %4695, %4678
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #9
  br label %4713

4713:                                             ; preds = %4712
  br label %4714

4714:                                             ; preds = %4713
  call void @exit(i32 noundef 1) #11
  unreachable

4715:                                             ; No predecessors!
  br label %4716

4716:                                             ; preds = %4715
  br label %4717

4717:                                             ; preds = %4716, %4655
  br label %4718

4718:                                             ; preds = %4717
  br label %4719

4719:                                             ; preds = %4718
  br label %4720

4720:                                             ; preds = %4719
  %4721 = load i32, ptr @test_count, align 4, !tbaa !5
  %4722 = add nsw i32 %4721, 1
  store i32 %4722, ptr @test_count, align 4, !tbaa !5
  %4723 = load ptr, ptr %75, align 8, !tbaa !9
  %4724 = call i32 @s2n_connection_free(ptr noundef %4723)
  %4725 = icmp eq i32 %4724, -1
  br i1 %4725, label %4726, label %4779

4726:                                             ; preds = %4720
  br label %4727

4727:                                             ; preds = %4726
  br label %4728

4728:                                             ; preds = %4727
  call void @llvm.lifetime.start.p0(i64 4, ptr %95) #9
  %4729 = call ptr @__errno_location() #10
  %4730 = load i32, ptr %4729, align 4, !tbaa !5
  store i32 %4730, ptr %95, align 4, !tbaa !5
  %4731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4732 = call i32 @s2n_print_stacktrace(ptr noundef %4731)
  %4733 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4734 = trunc i8 %4733 to i1
  br i1 %4734, label %4735, label %4757

4735:                                             ; preds = %4728
  %4736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4737 = call i32 @fileno(ptr noundef %4736) #9
  %4738 = call i32 @isatty(i32 noundef %4737) #9
  %4739 = icmp ne i32 %4738, 0
  br i1 %4739, label %4740, label %4757

4740:                                             ; preds = %4735
  %4741 = load i32, ptr %95, align 4, !tbaa !5
  %4742 = call ptr @__errno_location() #10
  store i32 %4741, ptr %4742, align 4, !tbaa !5
  %4743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4744 = load i32, ptr @test_count, align 4, !tbaa !5
  %4745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4746 = load i32, ptr %4745, align 4, !tbaa !5
  %4747 = call ptr @s2n_strerror(i32 noundef %4746, ptr noundef @.str.4)
  %4748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4749 = load i32, ptr %4748, align 4, !tbaa !5
  %4750 = call ptr @s2n_strerror_debug(i32 noundef %4749, ptr noundef @.str.4)
  %4751 = call ptr @__errno_location() #10
  %4752 = load i32, ptr %4751, align 4, !tbaa !5
  %4753 = call ptr @strerror(i32 noundef %4752) #9
  %4754 = call ptr @__errno_location() #10
  %4755 = load i32, ptr %4754, align 4, !tbaa !5
  %4756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4743, ptr noundef @.str.2, i32 noundef %4744, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 171, ptr noundef %4747, ptr noundef %4750, ptr noundef %4753, i32 noundef %4755) #9
  br label %4774

4757:                                             ; preds = %4735, %4728
  %4758 = load i32, ptr %95, align 4, !tbaa !5
  %4759 = call ptr @__errno_location() #10
  store i32 %4758, ptr %4759, align 4, !tbaa !5
  %4760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4761 = load i32, ptr @test_count, align 4, !tbaa !5
  %4762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4763 = load i32, ptr %4762, align 4, !tbaa !5
  %4764 = call ptr @s2n_strerror(i32 noundef %4763, ptr noundef @.str.4)
  %4765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4766 = load i32, ptr %4765, align 4, !tbaa !5
  %4767 = call ptr @s2n_strerror_debug(i32 noundef %4766, ptr noundef @.str.4)
  %4768 = call ptr @__errno_location() #10
  %4769 = load i32, ptr %4768, align 4, !tbaa !5
  %4770 = call ptr @strerror(i32 noundef %4769) #9
  %4771 = call ptr @__errno_location() #10
  %4772 = load i32, ptr %4771, align 4, !tbaa !5
  %4773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4760, ptr noundef @.str.5, i32 noundef %4761, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 171, ptr noundef %4764, ptr noundef %4767, ptr noundef %4770, i32 noundef %4772) #9
  br label %4774

4774:                                             ; preds = %4757, %4740
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #9
  br label %4775

4775:                                             ; preds = %4774
  br label %4776

4776:                                             ; preds = %4775
  call void @exit(i32 noundef 1) #11
  unreachable

4777:                                             ; No predecessors!
  br label %4778

4778:                                             ; preds = %4777
  br label %4779

4779:                                             ; preds = %4778, %4720
  br label %4780

4780:                                             ; preds = %4779
  br label %4781

4781:                                             ; preds = %4780
  br label %4782

4782:                                             ; preds = %4781
  %4783 = load i32, ptr @test_count, align 4, !tbaa !5
  %4784 = add nsw i32 %4783, 1
  store i32 %4784, ptr @test_count, align 4, !tbaa !5
  %4785 = load ptr, ptr %78, align 8, !tbaa !9
  %4786 = call i32 @s2n_connection_free(ptr noundef %4785)
  %4787 = icmp eq i32 %4786, -1
  br i1 %4787, label %4788, label %4841

4788:                                             ; preds = %4782
  br label %4789

4789:                                             ; preds = %4788
  br label %4790

4790:                                             ; preds = %4789
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #9
  %4791 = call ptr @__errno_location() #10
  %4792 = load i32, ptr %4791, align 4, !tbaa !5
  store i32 %4792, ptr %96, align 4, !tbaa !5
  %4793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4794 = call i32 @s2n_print_stacktrace(ptr noundef %4793)
  %4795 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4796 = trunc i8 %4795 to i1
  br i1 %4796, label %4797, label %4819

4797:                                             ; preds = %4790
  %4798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4799 = call i32 @fileno(ptr noundef %4798) #9
  %4800 = call i32 @isatty(i32 noundef %4799) #9
  %4801 = icmp ne i32 %4800, 0
  br i1 %4801, label %4802, label %4819

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

4819:                                             ; preds = %4797, %4790
  %4820 = load i32, ptr %96, align 4, !tbaa !5
  %4821 = call ptr @__errno_location() #10
  store i32 %4820, ptr %4821, align 4, !tbaa !5
  %4822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4823 = load i32, ptr @test_count, align 4, !tbaa !5
  %4824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4825 = load i32, ptr %4824, align 4, !tbaa !5
  %4826 = call ptr @s2n_strerror(i32 noundef %4825, ptr noundef @.str.4)
  %4827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4828 = load i32, ptr %4827, align 4, !tbaa !5
  %4829 = call ptr @s2n_strerror_debug(i32 noundef %4828, ptr noundef @.str.4)
  %4830 = call ptr @__errno_location() #10
  %4831 = load i32, ptr %4830, align 4, !tbaa !5
  %4832 = call ptr @strerror(i32 noundef %4831) #9
  %4833 = call ptr @__errno_location() #10
  %4834 = load i32, ptr %4833, align 4, !tbaa !5
  %4835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4822, ptr noundef @.str.5, i32 noundef %4823, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 172, ptr noundef %4826, ptr noundef %4829, ptr noundef %4832, i32 noundef %4834) #9
  br label %4836

4836:                                             ; preds = %4819, %4802
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #9
  br label %4837

4837:                                             ; preds = %4836
  br label %4838

4838:                                             ; preds = %4837
  call void @exit(i32 noundef 1) #11
  unreachable

4839:                                             ; No predecessors!
  br label %4840

4840:                                             ; preds = %4839
  br label %4841

4841:                                             ; preds = %4840, %4782
  br label %4842

4842:                                             ; preds = %4841
  br label %4843

4843:                                             ; preds = %4842
  br label %4844

4844:                                             ; preds = %4843
  %4845 = load i32, ptr @test_count, align 4, !tbaa !5
  %4846 = add nsw i32 %4845, 1
  store i32 %4846, ptr @test_count, align 4, !tbaa !5
  %4847 = load ptr, ptr %68, align 8, !tbaa !9
  %4848 = call i32 @s2n_config_free(ptr noundef %4847)
  %4849 = icmp eq i32 %4848, -1
  br i1 %4849, label %4850, label %4903

4850:                                             ; preds = %4844
  br label %4851

4851:                                             ; preds = %4850
  br label %4852

4852:                                             ; preds = %4851
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #9
  %4853 = call ptr @__errno_location() #10
  %4854 = load i32, ptr %4853, align 4, !tbaa !5
  store i32 %4854, ptr %97, align 4, !tbaa !5
  %4855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4856 = call i32 @s2n_print_stacktrace(ptr noundef %4855)
  %4857 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4858 = trunc i8 %4857 to i1
  br i1 %4858, label %4859, label %4881

4859:                                             ; preds = %4852
  %4860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4861 = call i32 @fileno(ptr noundef %4860) #9
  %4862 = call i32 @isatty(i32 noundef %4861) #9
  %4863 = icmp ne i32 %4862, 0
  br i1 %4863, label %4864, label %4881

4864:                                             ; preds = %4859
  %4865 = load i32, ptr %97, align 4, !tbaa !5
  %4866 = call ptr @__errno_location() #10
  store i32 %4865, ptr %4866, align 4, !tbaa !5
  %4867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4868 = load i32, ptr @test_count, align 4, !tbaa !5
  %4869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4870 = load i32, ptr %4869, align 4, !tbaa !5
  %4871 = call ptr @s2n_strerror(i32 noundef %4870, ptr noundef @.str.4)
  %4872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4873 = load i32, ptr %4872, align 4, !tbaa !5
  %4874 = call ptr @s2n_strerror_debug(i32 noundef %4873, ptr noundef @.str.4)
  %4875 = call ptr @__errno_location() #10
  %4876 = load i32, ptr %4875, align 4, !tbaa !5
  %4877 = call ptr @strerror(i32 noundef %4876) #9
  %4878 = call ptr @__errno_location() #10
  %4879 = load i32, ptr %4878, align 4, !tbaa !5
  %4880 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4867, ptr noundef @.str.2, i32 noundef %4868, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 173, ptr noundef %4871, ptr noundef %4874, ptr noundef %4877, i32 noundef %4879) #9
  br label %4898

4881:                                             ; preds = %4859, %4852
  %4882 = load i32, ptr %97, align 4, !tbaa !5
  %4883 = call ptr @__errno_location() #10
  store i32 %4882, ptr %4883, align 4, !tbaa !5
  %4884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4885 = load i32, ptr @test_count, align 4, !tbaa !5
  %4886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4887 = load i32, ptr %4886, align 4, !tbaa !5
  %4888 = call ptr @s2n_strerror(i32 noundef %4887, ptr noundef @.str.4)
  %4889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4890 = load i32, ptr %4889, align 4, !tbaa !5
  %4891 = call ptr @s2n_strerror_debug(i32 noundef %4890, ptr noundef @.str.4)
  %4892 = call ptr @__errno_location() #10
  %4893 = load i32, ptr %4892, align 4, !tbaa !5
  %4894 = call ptr @strerror(i32 noundef %4893) #9
  %4895 = call ptr @__errno_location() #10
  %4896 = load i32, ptr %4895, align 4, !tbaa !5
  %4897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4884, ptr noundef @.str.5, i32 noundef %4885, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 173, ptr noundef %4888, ptr noundef %4891, ptr noundef %4894, i32 noundef %4896) #9
  br label %4898

4898:                                             ; preds = %4881, %4864
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #9
  br label %4899

4899:                                             ; preds = %4898
  br label %4900

4900:                                             ; preds = %4899
  call void @exit(i32 noundef 1) #11
  unreachable

4901:                                             ; No predecessors!
  br label %4902

4902:                                             ; preds = %4901
  br label %4903

4903:                                             ; preds = %4902, %4844
  br label %4904

4904:                                             ; preds = %4903
  br label %4905

4905:                                             ; preds = %4904
  %4906 = call i32 @s2n_io_pair_close(ptr noundef %81)
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #9
  call void @llvm.lifetime.end.p0(i64 2, ptr %67) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %98) #9
  %4907 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %4907, ptr %98, align 8, !tbaa !9
  br label %4908

4908:                                             ; preds = %4905
  %4909 = load i32, ptr @test_count, align 4, !tbaa !5
  %4910 = add nsw i32 %4909, 1
  store i32 %4910, ptr @test_count, align 4, !tbaa !5
  %4911 = load ptr, ptr %98, align 8, !tbaa !9
  %4912 = icmp eq ptr %4911, null
  br i1 %4912, label %4913, label %4966

4913:                                             ; preds = %4908
  br label %4914

4914:                                             ; preds = %4913
  br label %4915

4915:                                             ; preds = %4914
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #9
  %4916 = call ptr @__errno_location() #10
  %4917 = load i32, ptr %4916, align 4, !tbaa !5
  store i32 %4917, ptr %99, align 4, !tbaa !5
  %4918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4919 = call i32 @s2n_print_stacktrace(ptr noundef %4918)
  %4920 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4921 = trunc i8 %4920 to i1
  br i1 %4921, label %4922, label %4944

4922:                                             ; preds = %4915
  %4923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4924 = call i32 @fileno(ptr noundef %4923) #9
  %4925 = call i32 @isatty(i32 noundef %4924) #9
  %4926 = icmp ne i32 %4925, 0
  br i1 %4926, label %4927, label %4944

4927:                                             ; preds = %4922
  %4928 = load i32, ptr %99, align 4, !tbaa !5
  %4929 = call ptr @__errno_location() #10
  store i32 %4928, ptr %4929, align 4, !tbaa !5
  %4930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4931 = load i32, ptr @test_count, align 4, !tbaa !5
  %4932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4933 = load i32, ptr %4932, align 4, !tbaa !5
  %4934 = call ptr @s2n_strerror(i32 noundef %4933, ptr noundef @.str.4)
  %4935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4936 = load i32, ptr %4935, align 4, !tbaa !5
  %4937 = call ptr @s2n_strerror_debug(i32 noundef %4936, ptr noundef @.str.4)
  %4938 = call ptr @__errno_location() #10
  %4939 = load i32, ptr %4938, align 4, !tbaa !5
  %4940 = call ptr @strerror(i32 noundef %4939) #9
  %4941 = call ptr @__errno_location() #10
  %4942 = load i32, ptr %4941, align 4, !tbaa !5
  %4943 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4930, ptr noundef @.str.2, i32 noundef %4931, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 179, ptr noundef %4934, ptr noundef %4937, ptr noundef %4940, i32 noundef %4942) #9
  br label %4961

4944:                                             ; preds = %4922, %4915
  %4945 = load i32, ptr %99, align 4, !tbaa !5
  %4946 = call ptr @__errno_location() #10
  store i32 %4945, ptr %4946, align 4, !tbaa !5
  %4947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4948 = load i32, ptr @test_count, align 4, !tbaa !5
  %4949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4950 = load i32, ptr %4949, align 4, !tbaa !5
  %4951 = call ptr @s2n_strerror(i32 noundef %4950, ptr noundef @.str.4)
  %4952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4953 = load i32, ptr %4952, align 4, !tbaa !5
  %4954 = call ptr @s2n_strerror_debug(i32 noundef %4953, ptr noundef @.str.4)
  %4955 = call ptr @__errno_location() #10
  %4956 = load i32, ptr %4955, align 4, !tbaa !5
  %4957 = call ptr @strerror(i32 noundef %4956) #9
  %4958 = call ptr @__errno_location() #10
  %4959 = load i32, ptr %4958, align 4, !tbaa !5
  %4960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4947, ptr noundef @.str.5, i32 noundef %4948, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 179, ptr noundef %4951, ptr noundef %4954, ptr noundef %4957, i32 noundef %4959) #9
  br label %4961

4961:                                             ; preds = %4944, %4927
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #9
  br label %4962

4962:                                             ; preds = %4961
  br label %4963

4963:                                             ; preds = %4962
  call void @exit(i32 noundef 1) #11
  unreachable

4964:                                             ; No predecessors!
  br label %4965

4965:                                             ; preds = %4964
  br label %4966

4966:                                             ; preds = %4965, %4908
  br label %4967

4967:                                             ; preds = %4966
  br label %4968

4968:                                             ; preds = %4967
  br label %4969

4969:                                             ; preds = %4968
  %4970 = load i32, ptr @test_count, align 4, !tbaa !5
  %4971 = add nsw i32 %4970, 1
  store i32 %4971, ptr @test_count, align 4, !tbaa !5
  %4972 = load ptr, ptr %98, align 8, !tbaa !9
  %4973 = load ptr, ptr %13, align 8, !tbaa !9
  %4974 = call i32 @s2n_connection_set_config(ptr noundef %4972, ptr noundef %4973)
  %4975 = icmp eq i32 %4974, -1
  br i1 %4975, label %4976, label %5029

4976:                                             ; preds = %4969
  br label %4977

4977:                                             ; preds = %4976
  br label %4978

4978:                                             ; preds = %4977
  call void @llvm.lifetime.start.p0(i64 4, ptr %100) #9
  %4979 = call ptr @__errno_location() #10
  %4980 = load i32, ptr %4979, align 4, !tbaa !5
  store i32 %4980, ptr %100, align 4, !tbaa !5
  %4981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4982 = call i32 @s2n_print_stacktrace(ptr noundef %4981)
  %4983 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4984 = trunc i8 %4983 to i1
  br i1 %4984, label %4985, label %5007

4985:                                             ; preds = %4978
  %4986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4987 = call i32 @fileno(ptr noundef %4986) #9
  %4988 = call i32 @isatty(i32 noundef %4987) #9
  %4989 = icmp ne i32 %4988, 0
  br i1 %4989, label %4990, label %5007

4990:                                             ; preds = %4985
  %4991 = load i32, ptr %100, align 4, !tbaa !5
  %4992 = call ptr @__errno_location() #10
  store i32 %4991, ptr %4992, align 4, !tbaa !5
  %4993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4994 = load i32, ptr @test_count, align 4, !tbaa !5
  %4995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4996 = load i32, ptr %4995, align 4, !tbaa !5
  %4997 = call ptr @s2n_strerror(i32 noundef %4996, ptr noundef @.str.4)
  %4998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4999 = load i32, ptr %4998, align 4, !tbaa !5
  %5000 = call ptr @s2n_strerror_debug(i32 noundef %4999, ptr noundef @.str.4)
  %5001 = call ptr @__errno_location() #10
  %5002 = load i32, ptr %5001, align 4, !tbaa !5
  %5003 = call ptr @strerror(i32 noundef %5002) #9
  %5004 = call ptr @__errno_location() #10
  %5005 = load i32, ptr %5004, align 4, !tbaa !5
  %5006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4993, ptr noundef @.str.2, i32 noundef %4994, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 180, ptr noundef %4997, ptr noundef %5000, ptr noundef %5003, i32 noundef %5005) #9
  br label %5024

5007:                                             ; preds = %4985, %4978
  %5008 = load i32, ptr %100, align 4, !tbaa !5
  %5009 = call ptr @__errno_location() #10
  store i32 %5008, ptr %5009, align 4, !tbaa !5
  %5010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5011 = load i32, ptr @test_count, align 4, !tbaa !5
  %5012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5013 = load i32, ptr %5012, align 4, !tbaa !5
  %5014 = call ptr @s2n_strerror(i32 noundef %5013, ptr noundef @.str.4)
  %5015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5016 = load i32, ptr %5015, align 4, !tbaa !5
  %5017 = call ptr @s2n_strerror_debug(i32 noundef %5016, ptr noundef @.str.4)
  %5018 = call ptr @__errno_location() #10
  %5019 = load i32, ptr %5018, align 4, !tbaa !5
  %5020 = call ptr @strerror(i32 noundef %5019) #9
  %5021 = call ptr @__errno_location() #10
  %5022 = load i32, ptr %5021, align 4, !tbaa !5
  %5023 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5010, ptr noundef @.str.5, i32 noundef %5011, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 180, ptr noundef %5014, ptr noundef %5017, ptr noundef %5020, i32 noundef %5022) #9
  br label %5024

5024:                                             ; preds = %5007, %4990
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #9
  br label %5025

5025:                                             ; preds = %5024
  br label %5026

5026:                                             ; preds = %5025
  call void @exit(i32 noundef 1) #11
  unreachable

5027:                                             ; No predecessors!
  br label %5028

5028:                                             ; preds = %5027
  br label %5029

5029:                                             ; preds = %5028, %4969
  br label %5030

5030:                                             ; preds = %5029
  br label %5031

5031:                                             ; preds = %5030
  call void @llvm.lifetime.start.p0(i64 8, ptr %101) #9
  %5032 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %5032, ptr %101, align 8, !tbaa !9
  br label %5033

5033:                                             ; preds = %5031
  %5034 = load i32, ptr @test_count, align 4, !tbaa !5
  %5035 = add nsw i32 %5034, 1
  store i32 %5035, ptr @test_count, align 4, !tbaa !5
  %5036 = load ptr, ptr %101, align 8, !tbaa !9
  %5037 = icmp eq ptr %5036, null
  br i1 %5037, label %5038, label %5091

5038:                                             ; preds = %5033
  br label %5039

5039:                                             ; preds = %5038
  br label %5040

5040:                                             ; preds = %5039
  call void @llvm.lifetime.start.p0(i64 4, ptr %102) #9
  %5041 = call ptr @__errno_location() #10
  %5042 = load i32, ptr %5041, align 4, !tbaa !5
  store i32 %5042, ptr %102, align 4, !tbaa !5
  %5043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5044 = call i32 @s2n_print_stacktrace(ptr noundef %5043)
  %5045 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5046 = trunc i8 %5045 to i1
  br i1 %5046, label %5047, label %5069

5047:                                             ; preds = %5040
  %5048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5049 = call i32 @fileno(ptr noundef %5048) #9
  %5050 = call i32 @isatty(i32 noundef %5049) #9
  %5051 = icmp ne i32 %5050, 0
  br i1 %5051, label %5052, label %5069

5052:                                             ; preds = %5047
  %5053 = load i32, ptr %102, align 4, !tbaa !5
  %5054 = call ptr @__errno_location() #10
  store i32 %5053, ptr %5054, align 4, !tbaa !5
  %5055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5056 = load i32, ptr @test_count, align 4, !tbaa !5
  %5057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5058 = load i32, ptr %5057, align 4, !tbaa !5
  %5059 = call ptr @s2n_strerror(i32 noundef %5058, ptr noundef @.str.4)
  %5060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5061 = load i32, ptr %5060, align 4, !tbaa !5
  %5062 = call ptr @s2n_strerror_debug(i32 noundef %5061, ptr noundef @.str.4)
  %5063 = call ptr @__errno_location() #10
  %5064 = load i32, ptr %5063, align 4, !tbaa !5
  %5065 = call ptr @strerror(i32 noundef %5064) #9
  %5066 = call ptr @__errno_location() #10
  %5067 = load i32, ptr %5066, align 4, !tbaa !5
  %5068 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5055, ptr noundef @.str.2, i32 noundef %5056, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 183, ptr noundef %5059, ptr noundef %5062, ptr noundef %5065, i32 noundef %5067) #9
  br label %5086

5069:                                             ; preds = %5047, %5040
  %5070 = load i32, ptr %102, align 4, !tbaa !5
  %5071 = call ptr @__errno_location() #10
  store i32 %5070, ptr %5071, align 4, !tbaa !5
  %5072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5073 = load i32, ptr @test_count, align 4, !tbaa !5
  %5074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5075 = load i32, ptr %5074, align 4, !tbaa !5
  %5076 = call ptr @s2n_strerror(i32 noundef %5075, ptr noundef @.str.4)
  %5077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5078 = load i32, ptr %5077, align 4, !tbaa !5
  %5079 = call ptr @s2n_strerror_debug(i32 noundef %5078, ptr noundef @.str.4)
  %5080 = call ptr @__errno_location() #10
  %5081 = load i32, ptr %5080, align 4, !tbaa !5
  %5082 = call ptr @strerror(i32 noundef %5081) #9
  %5083 = call ptr @__errno_location() #10
  %5084 = load i32, ptr %5083, align 4, !tbaa !5
  %5085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5072, ptr noundef @.str.5, i32 noundef %5073, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 183, ptr noundef %5076, ptr noundef %5079, ptr noundef %5082, i32 noundef %5084) #9
  br label %5086

5086:                                             ; preds = %5069, %5052
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #9
  br label %5087

5087:                                             ; preds = %5086
  br label %5088

5088:                                             ; preds = %5087
  call void @exit(i32 noundef 1) #11
  unreachable

5089:                                             ; No predecessors!
  br label %5090

5090:                                             ; preds = %5089
  br label %5091

5091:                                             ; preds = %5090, %5033
  br label %5092

5092:                                             ; preds = %5091
  br label %5093

5093:                                             ; preds = %5092
  br label %5094

5094:                                             ; preds = %5093
  %5095 = load i32, ptr @test_count, align 4, !tbaa !5
  %5096 = add nsw i32 %5095, 1
  store i32 %5096, ptr @test_count, align 4, !tbaa !5
  %5097 = load ptr, ptr %101, align 8, !tbaa !9
  %5098 = load ptr, ptr %13, align 8, !tbaa !9
  %5099 = call i32 @s2n_connection_set_config(ptr noundef %5097, ptr noundef %5098)
  %5100 = icmp eq i32 %5099, -1
  br i1 %5100, label %5101, label %5154

5101:                                             ; preds = %5094
  br label %5102

5102:                                             ; preds = %5101
  br label %5103

5103:                                             ; preds = %5102
  call void @llvm.lifetime.start.p0(i64 4, ptr %103) #9
  %5104 = call ptr @__errno_location() #10
  %5105 = load i32, ptr %5104, align 4, !tbaa !5
  store i32 %5105, ptr %103, align 4, !tbaa !5
  %5106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5107 = call i32 @s2n_print_stacktrace(ptr noundef %5106)
  %5108 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5109 = trunc i8 %5108 to i1
  br i1 %5109, label %5110, label %5132

5110:                                             ; preds = %5103
  %5111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5112 = call i32 @fileno(ptr noundef %5111) #9
  %5113 = call i32 @isatty(i32 noundef %5112) #9
  %5114 = icmp ne i32 %5113, 0
  br i1 %5114, label %5115, label %5132

5115:                                             ; preds = %5110
  %5116 = load i32, ptr %103, align 4, !tbaa !5
  %5117 = call ptr @__errno_location() #10
  store i32 %5116, ptr %5117, align 4, !tbaa !5
  %5118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5119 = load i32, ptr @test_count, align 4, !tbaa !5
  %5120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5121 = load i32, ptr %5120, align 4, !tbaa !5
  %5122 = call ptr @s2n_strerror(i32 noundef %5121, ptr noundef @.str.4)
  %5123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5124 = load i32, ptr %5123, align 4, !tbaa !5
  %5125 = call ptr @s2n_strerror_debug(i32 noundef %5124, ptr noundef @.str.4)
  %5126 = call ptr @__errno_location() #10
  %5127 = load i32, ptr %5126, align 4, !tbaa !5
  %5128 = call ptr @strerror(i32 noundef %5127) #9
  %5129 = call ptr @__errno_location() #10
  %5130 = load i32, ptr %5129, align 4, !tbaa !5
  %5131 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5118, ptr noundef @.str.2, i32 noundef %5119, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 184, ptr noundef %5122, ptr noundef %5125, ptr noundef %5128, i32 noundef %5130) #9
  br label %5149

5132:                                             ; preds = %5110, %5103
  %5133 = load i32, ptr %103, align 4, !tbaa !5
  %5134 = call ptr @__errno_location() #10
  store i32 %5133, ptr %5134, align 4, !tbaa !5
  %5135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5136 = load i32, ptr @test_count, align 4, !tbaa !5
  %5137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5138 = load i32, ptr %5137, align 4, !tbaa !5
  %5139 = call ptr @s2n_strerror(i32 noundef %5138, ptr noundef @.str.4)
  %5140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5141 = load i32, ptr %5140, align 4, !tbaa !5
  %5142 = call ptr @s2n_strerror_debug(i32 noundef %5141, ptr noundef @.str.4)
  %5143 = call ptr @__errno_location() #10
  %5144 = load i32, ptr %5143, align 4, !tbaa !5
  %5145 = call ptr @strerror(i32 noundef %5144) #9
  %5146 = call ptr @__errno_location() #10
  %5147 = load i32, ptr %5146, align 4, !tbaa !5
  %5148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5135, ptr noundef @.str.5, i32 noundef %5136, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 184, ptr noundef %5139, ptr noundef %5142, ptr noundef %5145, i32 noundef %5147) #9
  br label %5149

5149:                                             ; preds = %5132, %5115
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #9
  br label %5150

5150:                                             ; preds = %5149
  br label %5151

5151:                                             ; preds = %5150
  call void @exit(i32 noundef 1) #11
  unreachable

5152:                                             ; No predecessors!
  br label %5153

5153:                                             ; preds = %5152
  br label %5154

5154:                                             ; preds = %5153, %5094
  br label %5155

5155:                                             ; preds = %5154
  br label %5156

5156:                                             ; preds = %5155
  br label %5157

5157:                                             ; preds = %5156
  %5158 = load i32, ptr @test_count, align 4, !tbaa !5
  %5159 = add nsw i32 %5158, 1
  store i32 %5159, ptr @test_count, align 4, !tbaa !5
  %5160 = load ptr, ptr %98, align 8, !tbaa !9
  %5161 = getelementptr inbounds %struct.s2n_connection, ptr %5160, i32 0, i32 39
  %5162 = getelementptr inbounds %struct.s2n_stuffer, ptr %5161, i32 0, i32 0
  %5163 = getelementptr inbounds %struct.s2n_blob, ptr %5162, i32 0, i32 1
  %5164 = load i32, ptr %5163, align 8, !tbaa !45
  %5165 = icmp eq i32 %5164, 0
  br i1 %5165, label %5219, label %5166

5166:                                             ; preds = %5157
  br label %5167

5167:                                             ; preds = %5166
  br label %5168

5168:                                             ; preds = %5167
  call void @llvm.lifetime.start.p0(i64 4, ptr %104) #9
  %5169 = call ptr @__errno_location() #10
  %5170 = load i32, ptr %5169, align 4, !tbaa !5
  store i32 %5170, ptr %104, align 4, !tbaa !5
  %5171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5172 = call i32 @s2n_print_stacktrace(ptr noundef %5171)
  %5173 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5174 = trunc i8 %5173 to i1
  br i1 %5174, label %5175, label %5197

5175:                                             ; preds = %5168
  %5176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5177 = call i32 @fileno(ptr noundef %5176) #9
  %5178 = call i32 @isatty(i32 noundef %5177) #9
  %5179 = icmp ne i32 %5178, 0
  br i1 %5179, label %5180, label %5197

5180:                                             ; preds = %5175
  %5181 = load i32, ptr %104, align 4, !tbaa !5
  %5182 = call ptr @__errno_location() #10
  store i32 %5181, ptr %5182, align 4, !tbaa !5
  %5183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5184 = load i32, ptr @test_count, align 4, !tbaa !5
  %5185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5186 = load i32, ptr %5185, align 4, !tbaa !5
  %5187 = call ptr @s2n_strerror(i32 noundef %5186, ptr noundef @.str.4)
  %5188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5189 = load i32, ptr %5188, align 4, !tbaa !5
  %5190 = call ptr @s2n_strerror_debug(i32 noundef %5189, ptr noundef @.str.4)
  %5191 = call ptr @__errno_location() #10
  %5192 = load i32, ptr %5191, align 4, !tbaa !5
  %5193 = call ptr @strerror(i32 noundef %5192) #9
  %5194 = call ptr @__errno_location() #10
  %5195 = load i32, ptr %5194, align 4, !tbaa !5
  %5196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5183, ptr noundef @.str.2, i32 noundef %5184, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 187, ptr noundef %5187, ptr noundef %5190, ptr noundef %5193, i32 noundef %5195) #9
  br label %5214

5197:                                             ; preds = %5175, %5168
  %5198 = load i32, ptr %104, align 4, !tbaa !5
  %5199 = call ptr @__errno_location() #10
  store i32 %5198, ptr %5199, align 4, !tbaa !5
  %5200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5201 = load i32, ptr @test_count, align 4, !tbaa !5
  %5202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5203 = load i32, ptr %5202, align 4, !tbaa !5
  %5204 = call ptr @s2n_strerror(i32 noundef %5203, ptr noundef @.str.4)
  %5205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5206 = load i32, ptr %5205, align 4, !tbaa !5
  %5207 = call ptr @s2n_strerror_debug(i32 noundef %5206, ptr noundef @.str.4)
  %5208 = call ptr @__errno_location() #10
  %5209 = load i32, ptr %5208, align 4, !tbaa !5
  %5210 = call ptr @strerror(i32 noundef %5209) #9
  %5211 = call ptr @__errno_location() #10
  %5212 = load i32, ptr %5211, align 4, !tbaa !5
  %5213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5200, ptr noundef @.str.5, i32 noundef %5201, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 187, ptr noundef %5204, ptr noundef %5207, ptr noundef %5210, i32 noundef %5212) #9
  br label %5214

5214:                                             ; preds = %5197, %5180
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #9
  br label %5215

5215:                                             ; preds = %5214
  br label %5216

5216:                                             ; preds = %5215
  call void @exit(i32 noundef 1) #11
  unreachable

5217:                                             ; No predecessors!
  br label %5218

5218:                                             ; preds = %5217
  br label %5219

5219:                                             ; preds = %5218, %5157
  br label %5220

5220:                                             ; preds = %5219
  br label %5221

5221:                                             ; preds = %5220
  br label %5222

5222:                                             ; preds = %5221
  %5223 = load i32, ptr @test_count, align 4, !tbaa !5
  %5224 = add nsw i32 %5223, 1
  store i32 %5224, ptr @test_count, align 4, !tbaa !5
  %5225 = load ptr, ptr %101, align 8, !tbaa !9
  %5226 = getelementptr inbounds %struct.s2n_connection, ptr %5225, i32 0, i32 39
  %5227 = getelementptr inbounds %struct.s2n_stuffer, ptr %5226, i32 0, i32 0
  %5228 = getelementptr inbounds %struct.s2n_blob, ptr %5227, i32 0, i32 1
  %5229 = load i32, ptr %5228, align 8, !tbaa !45
  %5230 = icmp eq i32 %5229, 0
  br i1 %5230, label %5284, label %5231

5231:                                             ; preds = %5222
  br label %5232

5232:                                             ; preds = %5231
  br label %5233

5233:                                             ; preds = %5232
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #9
  %5234 = call ptr @__errno_location() #10
  %5235 = load i32, ptr %5234, align 4, !tbaa !5
  store i32 %5235, ptr %105, align 4, !tbaa !5
  %5236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5237 = call i32 @s2n_print_stacktrace(ptr noundef %5236)
  %5238 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5239 = trunc i8 %5238 to i1
  br i1 %5239, label %5240, label %5262

5240:                                             ; preds = %5233
  %5241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5242 = call i32 @fileno(ptr noundef %5241) #9
  %5243 = call i32 @isatty(i32 noundef %5242) #9
  %5244 = icmp ne i32 %5243, 0
  br i1 %5244, label %5245, label %5262

5245:                                             ; preds = %5240
  %5246 = load i32, ptr %105, align 4, !tbaa !5
  %5247 = call ptr @__errno_location() #10
  store i32 %5246, ptr %5247, align 4, !tbaa !5
  %5248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5249 = load i32, ptr @test_count, align 4, !tbaa !5
  %5250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5251 = load i32, ptr %5250, align 4, !tbaa !5
  %5252 = call ptr @s2n_strerror(i32 noundef %5251, ptr noundef @.str.4)
  %5253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5254 = load i32, ptr %5253, align 4, !tbaa !5
  %5255 = call ptr @s2n_strerror_debug(i32 noundef %5254, ptr noundef @.str.4)
  %5256 = call ptr @__errno_location() #10
  %5257 = load i32, ptr %5256, align 4, !tbaa !5
  %5258 = call ptr @strerror(i32 noundef %5257) #9
  %5259 = call ptr @__errno_location() #10
  %5260 = load i32, ptr %5259, align 4, !tbaa !5
  %5261 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5248, ptr noundef @.str.2, i32 noundef %5249, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 188, ptr noundef %5252, ptr noundef %5255, ptr noundef %5258, i32 noundef %5260) #9
  br label %5279

5262:                                             ; preds = %5240, %5233
  %5263 = load i32, ptr %105, align 4, !tbaa !5
  %5264 = call ptr @__errno_location() #10
  store i32 %5263, ptr %5264, align 4, !tbaa !5
  %5265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5266 = load i32, ptr @test_count, align 4, !tbaa !5
  %5267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5268 = load i32, ptr %5267, align 4, !tbaa !5
  %5269 = call ptr @s2n_strerror(i32 noundef %5268, ptr noundef @.str.4)
  %5270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5271 = load i32, ptr %5270, align 4, !tbaa !5
  %5272 = call ptr @s2n_strerror_debug(i32 noundef %5271, ptr noundef @.str.4)
  %5273 = call ptr @__errno_location() #10
  %5274 = load i32, ptr %5273, align 4, !tbaa !5
  %5275 = call ptr @strerror(i32 noundef %5274) #9
  %5276 = call ptr @__errno_location() #10
  %5277 = load i32, ptr %5276, align 4, !tbaa !5
  %5278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5265, ptr noundef @.str.5, i32 noundef %5266, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 188, ptr noundef %5269, ptr noundef %5272, ptr noundef %5275, i32 noundef %5277) #9
  br label %5279

5279:                                             ; preds = %5262, %5245
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #9
  br label %5280

5280:                                             ; preds = %5279
  br label %5281

5281:                                             ; preds = %5280
  call void @exit(i32 noundef 1) #11
  unreachable

5282:                                             ; No predecessors!
  br label %5283

5283:                                             ; preds = %5282
  br label %5284

5284:                                             ; preds = %5283, %5222
  br label %5285

5285:                                             ; preds = %5284
  br label %5286

5286:                                             ; preds = %5285
  br label %5287

5287:                                             ; preds = %5286
  %5288 = load i32, ptr @test_count, align 4, !tbaa !5
  %5289 = add nsw i32 %5288, 1
  store i32 %5289, ptr @test_count, align 4, !tbaa !5
  %5290 = load ptr, ptr %98, align 8, !tbaa !9
  %5291 = getelementptr inbounds %struct.s2n_connection, ptr %5290, i32 0, i32 41
  %5292 = getelementptr inbounds %struct.s2n_stuffer, ptr %5291, i32 0, i32 0
  %5293 = getelementptr inbounds %struct.s2n_blob, ptr %5292, i32 0, i32 1
  %5294 = load i32, ptr %5293, align 8, !tbaa !43
  %5295 = icmp eq i32 %5294, 0
  br i1 %5295, label %5349, label %5296

5296:                                             ; preds = %5287
  br label %5297

5297:                                             ; preds = %5296
  br label %5298

5298:                                             ; preds = %5297
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #9
  %5299 = call ptr @__errno_location() #10
  %5300 = load i32, ptr %5299, align 4, !tbaa !5
  store i32 %5300, ptr %106, align 4, !tbaa !5
  %5301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5302 = call i32 @s2n_print_stacktrace(ptr noundef %5301)
  %5303 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5304 = trunc i8 %5303 to i1
  br i1 %5304, label %5305, label %5327

5305:                                             ; preds = %5298
  %5306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5307 = call i32 @fileno(ptr noundef %5306) #9
  %5308 = call i32 @isatty(i32 noundef %5307) #9
  %5309 = icmp ne i32 %5308, 0
  br i1 %5309, label %5310, label %5327

5310:                                             ; preds = %5305
  %5311 = load i32, ptr %106, align 4, !tbaa !5
  %5312 = call ptr @__errno_location() #10
  store i32 %5311, ptr %5312, align 4, !tbaa !5
  %5313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5314 = load i32, ptr @test_count, align 4, !tbaa !5
  %5315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5316 = load i32, ptr %5315, align 4, !tbaa !5
  %5317 = call ptr @s2n_strerror(i32 noundef %5316, ptr noundef @.str.4)
  %5318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5319 = load i32, ptr %5318, align 4, !tbaa !5
  %5320 = call ptr @s2n_strerror_debug(i32 noundef %5319, ptr noundef @.str.4)
  %5321 = call ptr @__errno_location() #10
  %5322 = load i32, ptr %5321, align 4, !tbaa !5
  %5323 = call ptr @strerror(i32 noundef %5322) #9
  %5324 = call ptr @__errno_location() #10
  %5325 = load i32, ptr %5324, align 4, !tbaa !5
  %5326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5313, ptr noundef @.str.2, i32 noundef %5314, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 189, ptr noundef %5317, ptr noundef %5320, ptr noundef %5323, i32 noundef %5325) #9
  br label %5344

5327:                                             ; preds = %5305, %5298
  %5328 = load i32, ptr %106, align 4, !tbaa !5
  %5329 = call ptr @__errno_location() #10
  store i32 %5328, ptr %5329, align 4, !tbaa !5
  %5330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5331 = load i32, ptr @test_count, align 4, !tbaa !5
  %5332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5333 = load i32, ptr %5332, align 4, !tbaa !5
  %5334 = call ptr @s2n_strerror(i32 noundef %5333, ptr noundef @.str.4)
  %5335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5336 = load i32, ptr %5335, align 4, !tbaa !5
  %5337 = call ptr @s2n_strerror_debug(i32 noundef %5336, ptr noundef @.str.4)
  %5338 = call ptr @__errno_location() #10
  %5339 = load i32, ptr %5338, align 4, !tbaa !5
  %5340 = call ptr @strerror(i32 noundef %5339) #9
  %5341 = call ptr @__errno_location() #10
  %5342 = load i32, ptr %5341, align 4, !tbaa !5
  %5343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5330, ptr noundef @.str.5, i32 noundef %5331, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 189, ptr noundef %5334, ptr noundef %5337, ptr noundef %5340, i32 noundef %5342) #9
  br label %5344

5344:                                             ; preds = %5327, %5310
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #9
  br label %5345

5345:                                             ; preds = %5344
  br label %5346

5346:                                             ; preds = %5345
  call void @exit(i32 noundef 1) #11
  unreachable

5347:                                             ; No predecessors!
  br label %5348

5348:                                             ; preds = %5347
  br label %5349

5349:                                             ; preds = %5348, %5287
  br label %5350

5350:                                             ; preds = %5349
  br label %5351

5351:                                             ; preds = %5350
  br label %5352

5352:                                             ; preds = %5351
  %5353 = load i32, ptr @test_count, align 4, !tbaa !5
  %5354 = add nsw i32 %5353, 1
  store i32 %5354, ptr @test_count, align 4, !tbaa !5
  %5355 = load ptr, ptr %101, align 8, !tbaa !9
  %5356 = getelementptr inbounds %struct.s2n_connection, ptr %5355, i32 0, i32 41
  %5357 = getelementptr inbounds %struct.s2n_stuffer, ptr %5356, i32 0, i32 0
  %5358 = getelementptr inbounds %struct.s2n_blob, ptr %5357, i32 0, i32 1
  %5359 = load i32, ptr %5358, align 8, !tbaa !43
  %5360 = icmp eq i32 %5359, 0
  br i1 %5360, label %5414, label %5361

5361:                                             ; preds = %5352
  br label %5362

5362:                                             ; preds = %5361
  br label %5363

5363:                                             ; preds = %5362
  call void @llvm.lifetime.start.p0(i64 4, ptr %107) #9
  %5364 = call ptr @__errno_location() #10
  %5365 = load i32, ptr %5364, align 4, !tbaa !5
  store i32 %5365, ptr %107, 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) #9
  %5373 = call i32 @isatty(i32 noundef %5372) #9
  %5374 = icmp ne i32 %5373, 0
  br i1 %5374, label %5375, label %5392

5375:                                             ; preds = %5370
  %5376 = load i32, ptr %107, align 4, !tbaa !5
  %5377 = call ptr @__errno_location() #10
  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.4)
  %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.4)
  %5386 = call ptr @__errno_location() #10
  %5387 = load i32, ptr %5386, align 4, !tbaa !5
  %5388 = call ptr @strerror(i32 noundef %5387) #9
  %5389 = call ptr @__errno_location() #10
  %5390 = load i32, ptr %5389, align 4, !tbaa !5
  %5391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5378, ptr noundef @.str.2, i32 noundef %5379, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 190, ptr noundef %5382, ptr noundef %5385, ptr noundef %5388, i32 noundef %5390) #9
  br label %5409

5392:                                             ; preds = %5370, %5363
  %5393 = load i32, ptr %107, align 4, !tbaa !5
  %5394 = call ptr @__errno_location() #10
  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.4)
  %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.4)
  %5403 = call ptr @__errno_location() #10
  %5404 = load i32, ptr %5403, align 4, !tbaa !5
  %5405 = call ptr @strerror(i32 noundef %5404) #9
  %5406 = call ptr @__errno_location() #10
  %5407 = load i32, ptr %5406, align 4, !tbaa !5
  %5408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5395, ptr noundef @.str.5, i32 noundef %5396, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 190, ptr noundef %5399, ptr noundef %5402, ptr noundef %5405, i32 noundef %5407) #9
  br label %5409

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

5410:                                             ; preds = %5409
  br label %5411

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

5412:                                             ; No predecessors!
  br label %5413

5413:                                             ; preds = %5412
  br label %5414

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

5415:                                             ; preds = %5414
  br label %5416

5416:                                             ; preds = %5415
  call void @llvm.lifetime.start.p0(i64 8, ptr %108) #9
  call void @llvm.memset.p0.i64(ptr align 4 %108, i8 0, i64 8, i1 false)
  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 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %108)
  %5421 = icmp eq i32 %5420, -1
  br i1 %5421, label %5422, label %5475

5422:                                             ; preds = %5417
  br label %5423

5423:                                             ; preds = %5422
  br label %5424

5424:                                             ; preds = %5423
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #9
  %5425 = call ptr @__errno_location() #10
  %5426 = load i32, ptr %5425, align 4, !tbaa !5
  store i32 %5426, ptr %109, 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) #9
  %5434 = call i32 @isatty(i32 noundef %5433) #9
  %5435 = icmp ne i32 %5434, 0
  br i1 %5435, label %5436, label %5453

5436:                                             ; preds = %5431
  %5437 = load i32, ptr %109, align 4, !tbaa !5
  %5438 = call ptr @__errno_location() #10
  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.4)
  %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.4)
  %5447 = call ptr @__errno_location() #10
  %5448 = load i32, ptr %5447, align 4, !tbaa !5
  %5449 = call ptr @strerror(i32 noundef %5448) #9
  %5450 = call ptr @__errno_location() #10
  %5451 = load i32, ptr %5450, align 4, !tbaa !5
  %5452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5439, ptr noundef @.str.2, i32 noundef %5440, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 194, ptr noundef %5443, ptr noundef %5446, ptr noundef %5449, i32 noundef %5451) #9
  br label %5470

5453:                                             ; preds = %5431, %5424
  %5454 = load i32, ptr %109, align 4, !tbaa !5
  %5455 = call ptr @__errno_location() #10
  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.4)
  %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.4)
  %5464 = call ptr @__errno_location() #10
  %5465 = load i32, ptr %5464, align 4, !tbaa !5
  %5466 = call ptr @strerror(i32 noundef %5465) #9
  %5467 = call ptr @__errno_location() #10
  %5468 = load i32, ptr %5467, align 4, !tbaa !5
  %5469 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5456, ptr noundef @.str.5, i32 noundef %5457, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 194, ptr noundef %5460, ptr noundef %5463, ptr noundef %5466, i32 noundef %5468) #9
  br label %5470

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

5471:                                             ; preds = %5470
  br label %5472

5472:                                             ; preds = %5471
  call void @exit(i32 noundef 1) #11
  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 i32, ptr @test_count, align 4, !tbaa !5
  %5480 = add nsw i32 %5479, 1
  store i32 %5480, ptr @test_count, align 4, !tbaa !5
  %5481 = load ptr, ptr %98, align 8, !tbaa !9
  %5482 = call i32 @s2n_connection_set_io_pair(ptr noundef %5481, ptr noundef %108)
  %5483 = icmp eq i32 %5482, -1
  br i1 %5483, label %5484, label %5537

5484:                                             ; preds = %5478
  br label %5485

5485:                                             ; preds = %5484
  br label %5486

5486:                                             ; preds = %5485
  call void @llvm.lifetime.start.p0(i64 4, ptr %110) #9
  %5487 = call ptr @__errno_location() #10
  %5488 = load i32, ptr %5487, align 4, !tbaa !5
  store i32 %5488, ptr %110, align 4, !tbaa !5
  %5489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5490 = call i32 @s2n_print_stacktrace(ptr noundef %5489)
  %5491 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5492 = trunc i8 %5491 to i1
  br i1 %5492, label %5493, label %5515

5493:                                             ; preds = %5486
  %5494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5495 = call i32 @fileno(ptr noundef %5494) #9
  %5496 = call i32 @isatty(i32 noundef %5495) #9
  %5497 = icmp ne i32 %5496, 0
  br i1 %5497, label %5498, label %5515

5498:                                             ; preds = %5493
  %5499 = load i32, ptr %110, align 4, !tbaa !5
  %5500 = call ptr @__errno_location() #10
  store i32 %5499, ptr %5500, align 4, !tbaa !5
  %5501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5502 = load i32, ptr @test_count, align 4, !tbaa !5
  %5503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5504 = load i32, ptr %5503, align 4, !tbaa !5
  %5505 = call ptr @s2n_strerror(i32 noundef %5504, ptr noundef @.str.4)
  %5506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5507 = load i32, ptr %5506, align 4, !tbaa !5
  %5508 = call ptr @s2n_strerror_debug(i32 noundef %5507, ptr noundef @.str.4)
  %5509 = call ptr @__errno_location() #10
  %5510 = load i32, ptr %5509, align 4, !tbaa !5
  %5511 = call ptr @strerror(i32 noundef %5510) #9
  %5512 = call ptr @__errno_location() #10
  %5513 = load i32, ptr %5512, align 4, !tbaa !5
  %5514 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5501, ptr noundef @.str.2, i32 noundef %5502, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 195, ptr noundef %5505, ptr noundef %5508, ptr noundef %5511, i32 noundef %5513) #9
  br label %5532

5515:                                             ; preds = %5493, %5486
  %5516 = load i32, ptr %110, align 4, !tbaa !5
  %5517 = call ptr @__errno_location() #10
  store i32 %5516, ptr %5517, align 4, !tbaa !5
  %5518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5519 = load i32, ptr @test_count, align 4, !tbaa !5
  %5520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5521 = load i32, ptr %5520, align 4, !tbaa !5
  %5522 = call ptr @s2n_strerror(i32 noundef %5521, ptr noundef @.str.4)
  %5523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5524 = load i32, ptr %5523, align 4, !tbaa !5
  %5525 = call ptr @s2n_strerror_debug(i32 noundef %5524, ptr noundef @.str.4)
  %5526 = call ptr @__errno_location() #10
  %5527 = load i32, ptr %5526, align 4, !tbaa !5
  %5528 = call ptr @strerror(i32 noundef %5527) #9
  %5529 = call ptr @__errno_location() #10
  %5530 = load i32, ptr %5529, align 4, !tbaa !5
  %5531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5518, ptr noundef @.str.5, i32 noundef %5519, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 195, ptr noundef %5522, ptr noundef %5525, ptr noundef %5528, i32 noundef %5530) #9
  br label %5532

5532:                                             ; preds = %5515, %5498
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #9
  br label %5533

5533:                                             ; preds = %5532
  br label %5534

5534:                                             ; preds = %5533
  call void @exit(i32 noundef 1) #11
  unreachable

5535:                                             ; No predecessors!
  br label %5536

5536:                                             ; preds = %5535
  br label %5537

5537:                                             ; preds = %5536, %5478
  br label %5538

5538:                                             ; preds = %5537
  br label %5539

5539:                                             ; preds = %5538
  br label %5540

5540:                                             ; preds = %5539
  %5541 = load i32, ptr @test_count, align 4, !tbaa !5
  %5542 = add nsw i32 %5541, 1
  store i32 %5542, ptr @test_count, align 4, !tbaa !5
  %5543 = load ptr, ptr %101, align 8, !tbaa !9
  %5544 = call i32 @s2n_connection_set_io_pair(ptr noundef %5543, ptr noundef %108)
  %5545 = icmp eq i32 %5544, -1
  br i1 %5545, label %5546, label %5599

5546:                                             ; preds = %5540
  br label %5547

5547:                                             ; preds = %5546
  br label %5548

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

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

5560:                                             ; preds = %5555
  %5561 = load i32, ptr %111, align 4, !tbaa !5
  %5562 = call ptr @__errno_location() #10
  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.4)
  %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.4)
  %5571 = call ptr @__errno_location() #10
  %5572 = load i32, ptr %5571, align 4, !tbaa !5
  %5573 = call ptr @strerror(i32 noundef %5572) #9
  %5574 = call ptr @__errno_location() #10
  %5575 = load i32, ptr %5574, align 4, !tbaa !5
  %5576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5563, ptr noundef @.str.2, i32 noundef %5564, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 196, ptr noundef %5567, ptr noundef %5570, ptr noundef %5573, i32 noundef %5575) #9
  br label %5594

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

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

5595:                                             ; preds = %5594
  br label %5596

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

5597:                                             ; No predecessors!
  br label %5598

5598:                                             ; preds = %5597
  br label %5599

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

5600:                                             ; preds = %5599
  br label %5601

5601:                                             ; preds = %5600
  br label %5602

5602:                                             ; preds = %5601
  %5603 = load i32, ptr @test_count, align 4, !tbaa !5
  %5604 = add nsw i32 %5603, 1
  store i32 %5604, ptr @test_count, align 4, !tbaa !5
  %5605 = load ptr, ptr %101, align 8, !tbaa !9
  %5606 = load ptr, ptr %98, align 8, !tbaa !9
  %5607 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef %5605, ptr noundef %5606, i32 noundef 2)
  %5608 = getelementptr inbounds %struct.s2n_result, ptr %112, i32 0, i32 0
  store i32 %5607, ptr %5608, align 4
  %5609 = getelementptr inbounds %struct.s2n_result, ptr %112, i32 0, i32 0
  %5610 = load i32, ptr %5609, align 4
  %5611 = call zeroext i1 @s2n_result_is_ok(i32 %5610)
  br i1 %5611, label %5665, label %5612

5612:                                             ; preds = %5602
  br label %5613

5613:                                             ; preds = %5612
  br label %5614

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

5621:                                             ; preds = %5614
  %5622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5623 = call i32 @fileno(ptr noundef %5622) #9
  %5624 = call i32 @isatty(i32 noundef %5623) #9
  %5625 = icmp ne i32 %5624, 0
  br i1 %5625, label %5626, label %5643

5626:                                             ; preds = %5621
  %5627 = load i32, ptr %113, align 4, !tbaa !5
  %5628 = call ptr @__errno_location() #10
  store i32 %5627, ptr %5628, align 4, !tbaa !5
  %5629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5630 = load i32, ptr @test_count, align 4, !tbaa !5
  %5631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5632 = load i32, ptr %5631, align 4, !tbaa !5
  %5633 = call ptr @s2n_strerror(i32 noundef %5632, ptr noundef @.str.4)
  %5634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5635 = load i32, ptr %5634, align 4, !tbaa !5
  %5636 = call ptr @s2n_strerror_debug(i32 noundef %5635, ptr noundef @.str.4)
  %5637 = call ptr @__errno_location() #10
  %5638 = load i32, ptr %5637, align 4, !tbaa !5
  %5639 = call ptr @strerror(i32 noundef %5638) #9
  %5640 = call ptr @__errno_location() #10
  %5641 = load i32, ptr %5640, align 4, !tbaa !5
  %5642 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5629, ptr noundef @.str.2, i32 noundef %5630, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 199, ptr noundef %5633, ptr noundef %5636, ptr noundef %5639, i32 noundef %5641) #9
  br label %5660

5643:                                             ; preds = %5621, %5614
  %5644 = load i32, ptr %113, align 4, !tbaa !5
  %5645 = call ptr @__errno_location() #10
  store i32 %5644, ptr %5645, align 4, !tbaa !5
  %5646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5647 = load i32, ptr @test_count, align 4, !tbaa !5
  %5648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5649 = load i32, ptr %5648, align 4, !tbaa !5
  %5650 = call ptr @s2n_strerror(i32 noundef %5649, ptr noundef @.str.4)
  %5651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5652 = load i32, ptr %5651, align 4, !tbaa !5
  %5653 = call ptr @s2n_strerror_debug(i32 noundef %5652, ptr noundef @.str.4)
  %5654 = call ptr @__errno_location() #10
  %5655 = load i32, ptr %5654, align 4, !tbaa !5
  %5656 = call ptr @strerror(i32 noundef %5655) #9
  %5657 = call ptr @__errno_location() #10
  %5658 = load i32, ptr %5657, align 4, !tbaa !5
  %5659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5646, ptr noundef @.str.5, i32 noundef %5647, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 199, ptr noundef %5650, ptr noundef %5653, ptr noundef %5656, i32 noundef %5658) #9
  br label %5660

5660:                                             ; preds = %5643, %5626
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #9
  br label %5661

5661:                                             ; preds = %5660
  br label %5662

5662:                                             ; preds = %5661
  call void @exit(i32 noundef 1) #11
  unreachable

5663:                                             ; No predecessors!
  br label %5664

5664:                                             ; preds = %5663
  br label %5665

5665:                                             ; preds = %5664, %5602
  br label %5666

5666:                                             ; preds = %5665
  br label %5667

5667:                                             ; preds = %5666
  br label %5668

5668:                                             ; preds = %5667
  %5669 = load i32, ptr @test_count, align 4, !tbaa !5
  %5670 = add nsw i32 %5669, 1
  store i32 %5670, ptr @test_count, align 4, !tbaa !5
  %5671 = load ptr, ptr %98, align 8, !tbaa !9
  %5672 = getelementptr inbounds %struct.s2n_connection, ptr %5671, i32 0, i32 39
  %5673 = getelementptr inbounds %struct.s2n_stuffer, ptr %5672, i32 0, i32 0
  %5674 = getelementptr inbounds %struct.s2n_blob, ptr %5673, i32 0, i32 1
  %5675 = load i32, ptr %5674, align 8, !tbaa !45
  %5676 = icmp eq i32 %5675, 0
  br i1 %5676, label %5677, label %5730

5677:                                             ; preds = %5668
  br label %5678

5678:                                             ; preds = %5677
  br label %5679

5679:                                             ; preds = %5678
  call void @llvm.lifetime.start.p0(i64 4, ptr %114) #9
  %5680 = call ptr @__errno_location() #10
  %5681 = load i32, ptr %5680, align 4, !tbaa !5
  store i32 %5681, ptr %114, align 4, !tbaa !5
  %5682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5683 = call i32 @s2n_print_stacktrace(ptr noundef %5682)
  %5684 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5685 = trunc i8 %5684 to i1
  br i1 %5685, label %5686, label %5708

5686:                                             ; preds = %5679
  %5687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5688 = call i32 @fileno(ptr noundef %5687) #9
  %5689 = call i32 @isatty(i32 noundef %5688) #9
  %5690 = icmp ne i32 %5689, 0
  br i1 %5690, label %5691, label %5708

5691:                                             ; preds = %5686
  %5692 = load i32, ptr %114, align 4, !tbaa !5
  %5693 = call ptr @__errno_location() #10
  store i32 %5692, ptr %5693, align 4, !tbaa !5
  %5694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5695 = load i32, ptr @test_count, align 4, !tbaa !5
  %5696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5697 = load i32, ptr %5696, align 4, !tbaa !5
  %5698 = call ptr @s2n_strerror(i32 noundef %5697, ptr noundef @.str.4)
  %5699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5700 = load i32, ptr %5699, align 4, !tbaa !5
  %5701 = call ptr @s2n_strerror_debug(i32 noundef %5700, ptr noundef @.str.4)
  %5702 = call ptr @__errno_location() #10
  %5703 = load i32, ptr %5702, align 4, !tbaa !5
  %5704 = call ptr @strerror(i32 noundef %5703) #9
  %5705 = call ptr @__errno_location() #10
  %5706 = load i32, ptr %5705, align 4, !tbaa !5
  %5707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5694, ptr noundef @.str.2, i32 noundef %5695, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 202, ptr noundef %5698, ptr noundef %5701, ptr noundef %5704, i32 noundef %5706) #9
  br label %5725

5708:                                             ; preds = %5686, %5679
  %5709 = load i32, ptr %114, align 4, !tbaa !5
  %5710 = call ptr @__errno_location() #10
  store i32 %5709, ptr %5710, align 4, !tbaa !5
  %5711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5712 = load i32, ptr @test_count, align 4, !tbaa !5
  %5713 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5714 = load i32, ptr %5713, align 4, !tbaa !5
  %5715 = call ptr @s2n_strerror(i32 noundef %5714, ptr noundef @.str.4)
  %5716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5717 = load i32, ptr %5716, align 4, !tbaa !5
  %5718 = call ptr @s2n_strerror_debug(i32 noundef %5717, ptr noundef @.str.4)
  %5719 = call ptr @__errno_location() #10
  %5720 = load i32, ptr %5719, align 4, !tbaa !5
  %5721 = call ptr @strerror(i32 noundef %5720) #9
  %5722 = call ptr @__errno_location() #10
  %5723 = load i32, ptr %5722, align 4, !tbaa !5
  %5724 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5711, ptr noundef @.str.5, i32 noundef %5712, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 202, ptr noundef %5715, ptr noundef %5718, ptr noundef %5721, i32 noundef %5723) #9
  br label %5725

5725:                                             ; preds = %5708, %5691
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #9
  br label %5726

5726:                                             ; preds = %5725
  br label %5727

5727:                                             ; preds = %5726
  call void @exit(i32 noundef 1) #11
  unreachable

5728:                                             ; No predecessors!
  br label %5729

5729:                                             ; preds = %5728
  br label %5730

5730:                                             ; preds = %5729, %5668
  br label %5731

5731:                                             ; preds = %5730
  br label %5732

5732:                                             ; preds = %5731
  br label %5733

5733:                                             ; preds = %5732
  %5734 = load i32, ptr @test_count, align 4, !tbaa !5
  %5735 = add nsw i32 %5734, 1
  store i32 %5735, ptr @test_count, align 4, !tbaa !5
  %5736 = load ptr, ptr %101, align 8, !tbaa !9
  %5737 = getelementptr inbounds %struct.s2n_connection, ptr %5736, i32 0, i32 39
  %5738 = getelementptr inbounds %struct.s2n_stuffer, ptr %5737, i32 0, i32 0
  %5739 = getelementptr inbounds %struct.s2n_blob, ptr %5738, i32 0, i32 1
  %5740 = load i32, ptr %5739, align 8, !tbaa !45
  %5741 = icmp eq i32 %5740, 0
  br i1 %5741, label %5742, label %5795

5742:                                             ; preds = %5733
  br label %5743

5743:                                             ; preds = %5742
  br label %5744

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

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

5756:                                             ; preds = %5751
  %5757 = load i32, ptr %115, align 4, !tbaa !5
  %5758 = call ptr @__errno_location() #10
  store i32 %5757, ptr %5758, align 4, !tbaa !5
  %5759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5760 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %5762, ptr noundef @.str.4)
  %5764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5765 = load i32, ptr %5764, align 4, !tbaa !5
  %5766 = call ptr @s2n_strerror_debug(i32 noundef %5765, ptr noundef @.str.4)
  %5767 = call ptr @__errno_location() #10
  %5768 = load i32, ptr %5767, align 4, !tbaa !5
  %5769 = call ptr @strerror(i32 noundef %5768) #9
  %5770 = call ptr @__errno_location() #10
  %5771 = load i32, ptr %5770, align 4, !tbaa !5
  %5772 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5759, ptr noundef @.str.2, i32 noundef %5760, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 203, ptr noundef %5763, ptr noundef %5766, ptr noundef %5769, i32 noundef %5771) #9
  br label %5790

5773:                                             ; preds = %5751, %5744
  %5774 = load i32, ptr %115, align 4, !tbaa !5
  %5775 = call ptr @__errno_location() #10
  store i32 %5774, ptr %5775, align 4, !tbaa !5
  %5776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5777 = load i32, ptr @test_count, align 4, !tbaa !5
  %5778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5779 = load i32, ptr %5778, align 4, !tbaa !5
  %5780 = call ptr @s2n_strerror(i32 noundef %5779, ptr noundef @.str.4)
  %5781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5782 = load i32, ptr %5781, align 4, !tbaa !5
  %5783 = call ptr @s2n_strerror_debug(i32 noundef %5782, ptr noundef @.str.4)
  %5784 = call ptr @__errno_location() #10
  %5785 = load i32, ptr %5784, align 4, !tbaa !5
  %5786 = call ptr @strerror(i32 noundef %5785) #9
  %5787 = call ptr @__errno_location() #10
  %5788 = load i32, ptr %5787, align 4, !tbaa !5
  %5789 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5776, ptr noundef @.str.5, i32 noundef %5777, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 203, ptr noundef %5780, ptr noundef %5783, ptr noundef %5786, i32 noundef %5788) #9
  br label %5790

5790:                                             ; preds = %5773, %5756
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #9
  br label %5791

5791:                                             ; preds = %5790
  br label %5792

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

5793:                                             ; No predecessors!
  br label %5794

5794:                                             ; preds = %5793
  br label %5795

5795:                                             ; preds = %5794, %5733
  br label %5796

5796:                                             ; preds = %5795
  br label %5797

5797:                                             ; preds = %5796
  br label %5798

5798:                                             ; preds = %5797
  %5799 = load i32, ptr @test_count, align 4, !tbaa !5
  %5800 = add nsw i32 %5799, 1
  store i32 %5800, ptr @test_count, align 4, !tbaa !5
  %5801 = load ptr, ptr %98, align 8, !tbaa !9
  %5802 = getelementptr inbounds %struct.s2n_connection, ptr %5801, i32 0, i32 41
  %5803 = getelementptr inbounds %struct.s2n_stuffer, ptr %5802, i32 0, i32 0
  %5804 = getelementptr inbounds %struct.s2n_blob, ptr %5803, i32 0, i32 1
  %5805 = load i32, ptr %5804, align 8, !tbaa !43
  %5806 = icmp eq i32 %5805, 0
  br i1 %5806, label %5807, label %5860

5807:                                             ; preds = %5798
  br label %5808

5808:                                             ; preds = %5807
  br label %5809

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

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

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

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

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

5856:                                             ; preds = %5855
  br label %5857

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

5858:                                             ; No predecessors!
  br label %5859

5859:                                             ; preds = %5858
  br label %5860

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

5861:                                             ; preds = %5860
  br label %5862

5862:                                             ; preds = %5861
  br label %5863

5863:                                             ; preds = %5862
  %5864 = load i32, ptr @test_count, align 4, !tbaa !5
  %5865 = add nsw i32 %5864, 1
  store i32 %5865, ptr @test_count, align 4, !tbaa !5
  %5866 = load ptr, ptr %101, align 8, !tbaa !9
  %5867 = getelementptr inbounds %struct.s2n_connection, ptr %5866, i32 0, i32 41
  %5868 = getelementptr inbounds %struct.s2n_stuffer, ptr %5867, i32 0, i32 0
  %5869 = getelementptr inbounds %struct.s2n_blob, ptr %5868, i32 0, i32 1
  %5870 = load i32, ptr %5869, align 8, !tbaa !43
  %5871 = icmp eq i32 %5870, 0
  br i1 %5871, label %5872, label %5925

5872:                                             ; preds = %5863
  br label %5873

5873:                                             ; preds = %5872
  br label %5874

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

5881:                                             ; preds = %5874
  %5882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5883 = call i32 @fileno(ptr noundef %5882) #9
  %5884 = call i32 @isatty(i32 noundef %5883) #9
  %5885 = icmp ne i32 %5884, 0
  br i1 %5885, label %5886, label %5903

5886:                                             ; preds = %5881
  %5887 = load i32, ptr %117, align 4, !tbaa !5
  %5888 = call ptr @__errno_location() #10
  store i32 %5887, ptr %5888, align 4, !tbaa !5
  %5889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5890 = load i32, ptr @test_count, align 4, !tbaa !5
  %5891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5892 = load i32, ptr %5891, align 4, !tbaa !5
  %5893 = call ptr @s2n_strerror(i32 noundef %5892, ptr noundef @.str.4)
  %5894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5895 = load i32, ptr %5894, align 4, !tbaa !5
  %5896 = call ptr @s2n_strerror_debug(i32 noundef %5895, ptr noundef @.str.4)
  %5897 = call ptr @__errno_location() #10
  %5898 = load i32, ptr %5897, align 4, !tbaa !5
  %5899 = call ptr @strerror(i32 noundef %5898) #9
  %5900 = call ptr @__errno_location() #10
  %5901 = load i32, ptr %5900, align 4, !tbaa !5
  %5902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5889, ptr noundef @.str.2, i32 noundef %5890, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 205, ptr noundef %5893, ptr noundef %5896, ptr noundef %5899, i32 noundef %5901) #9
  br label %5920

5903:                                             ; preds = %5881, %5874
  %5904 = load i32, ptr %117, align 4, !tbaa !5
  %5905 = call ptr @__errno_location() #10
  store i32 %5904, ptr %5905, align 4, !tbaa !5
  %5906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5907 = load i32, ptr @test_count, align 4, !tbaa !5
  %5908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5909 = load i32, ptr %5908, align 4, !tbaa !5
  %5910 = call ptr @s2n_strerror(i32 noundef %5909, ptr noundef @.str.4)
  %5911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5912 = load i32, ptr %5911, align 4, !tbaa !5
  %5913 = call ptr @s2n_strerror_debug(i32 noundef %5912, ptr noundef @.str.4)
  %5914 = call ptr @__errno_location() #10
  %5915 = load i32, ptr %5914, align 4, !tbaa !5
  %5916 = call ptr @strerror(i32 noundef %5915) #9
  %5917 = call ptr @__errno_location() #10
  %5918 = load i32, ptr %5917, align 4, !tbaa !5
  %5919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5906, ptr noundef @.str.5, i32 noundef %5907, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 205, ptr noundef %5910, ptr noundef %5913, ptr noundef %5916, i32 noundef %5918) #9
  br label %5920

5920:                                             ; preds = %5903, %5886
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #9
  br label %5921

5921:                                             ; preds = %5920
  br label %5922

5922:                                             ; preds = %5921
  call void @exit(i32 noundef 1) #11
  unreachable

5923:                                             ; No predecessors!
  br label %5924

5924:                                             ; preds = %5923
  br label %5925

5925:                                             ; preds = %5924, %5863
  br label %5926

5926:                                             ; preds = %5925
  br label %5927

5927:                                             ; preds = %5926
  br label %5928

5928:                                             ; preds = %5927
  %5929 = load i32, ptr @test_count, align 4, !tbaa !5
  %5930 = add nsw i32 %5929, 1
  store i32 %5930, ptr @test_count, align 4, !tbaa !5
  %5931 = load ptr, ptr %98, align 8, !tbaa !9
  %5932 = call i32 @s2n_connection_wipe(ptr noundef %5931)
  %5933 = icmp eq i32 %5932, -1
  br i1 %5933, label %5934, label %5987

5934:                                             ; preds = %5928
  br label %5935

5935:                                             ; preds = %5934
  br label %5936

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

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

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

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

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

5983:                                             ; preds = %5982
  br label %5984

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

5985:                                             ; No predecessors!
  br label %5986

5986:                                             ; preds = %5985
  br label %5987

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

5988:                                             ; preds = %5987
  br label %5989

5989:                                             ; preds = %5988
  br label %5990

5990:                                             ; preds = %5989
  %5991 = load i32, ptr @test_count, align 4, !tbaa !5
  %5992 = add nsw i32 %5991, 1
  store i32 %5992, ptr @test_count, align 4, !tbaa !5
  %5993 = load ptr, ptr %101, align 8, !tbaa !9
  %5994 = call i32 @s2n_connection_wipe(ptr noundef %5993)
  %5995 = icmp eq i32 %5994, -1
  br i1 %5995, label %5996, label %6049

5996:                                             ; preds = %5990
  br label %5997

5997:                                             ; preds = %5996
  br label %5998

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

6005:                                             ; preds = %5998
  %6006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6007 = call i32 @fileno(ptr noundef %6006) #9
  %6008 = call i32 @isatty(i32 noundef %6007) #9
  %6009 = icmp ne i32 %6008, 0
  br i1 %6009, label %6010, label %6027

6010:                                             ; preds = %6005
  %6011 = load i32, ptr %119, align 4, !tbaa !5
  %6012 = call ptr @__errno_location() #10
  store i32 %6011, ptr %6012, align 4, !tbaa !5
  %6013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6014 = load i32, ptr @test_count, align 4, !tbaa !5
  %6015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6016 = load i32, ptr %6015, align 4, !tbaa !5
  %6017 = call ptr @s2n_strerror(i32 noundef %6016, ptr noundef @.str.4)
  %6018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6019 = load i32, ptr %6018, align 4, !tbaa !5
  %6020 = call ptr @s2n_strerror_debug(i32 noundef %6019, ptr noundef @.str.4)
  %6021 = call ptr @__errno_location() #10
  %6022 = load i32, ptr %6021, align 4, !tbaa !5
  %6023 = call ptr @strerror(i32 noundef %6022) #9
  %6024 = call ptr @__errno_location() #10
  %6025 = load i32, ptr %6024, align 4, !tbaa !5
  %6026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6013, ptr noundef @.str.2, i32 noundef %6014, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 209, ptr noundef %6017, ptr noundef %6020, ptr noundef %6023, i32 noundef %6025) #9
  br label %6044

6027:                                             ; preds = %6005, %5998
  %6028 = load i32, ptr %119, align 4, !tbaa !5
  %6029 = call ptr @__errno_location() #10
  store i32 %6028, ptr %6029, align 4, !tbaa !5
  %6030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6031 = load i32, ptr @test_count, align 4, !tbaa !5
  %6032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6033 = load i32, ptr %6032, align 4, !tbaa !5
  %6034 = call ptr @s2n_strerror(i32 noundef %6033, ptr noundef @.str.4)
  %6035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6036 = load i32, ptr %6035, align 4, !tbaa !5
  %6037 = call ptr @s2n_strerror_debug(i32 noundef %6036, ptr noundef @.str.4)
  %6038 = call ptr @__errno_location() #10
  %6039 = load i32, ptr %6038, align 4, !tbaa !5
  %6040 = call ptr @strerror(i32 noundef %6039) #9
  %6041 = call ptr @__errno_location() #10
  %6042 = load i32, ptr %6041, align 4, !tbaa !5
  %6043 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6030, ptr noundef @.str.5, i32 noundef %6031, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 209, ptr noundef %6034, ptr noundef %6037, ptr noundef %6040, i32 noundef %6042) #9
  br label %6044

6044:                                             ; preds = %6027, %6010
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #9
  br label %6045

6045:                                             ; preds = %6044
  br label %6046

6046:                                             ; preds = %6045
  call void @exit(i32 noundef 1) #11
  unreachable

6047:                                             ; No predecessors!
  br label %6048

6048:                                             ; preds = %6047
  br label %6049

6049:                                             ; preds = %6048, %5990
  br label %6050

6050:                                             ; preds = %6049
  br label %6051

6051:                                             ; preds = %6050
  br label %6052

6052:                                             ; preds = %6051
  %6053 = load i32, ptr @test_count, align 4, !tbaa !5
  %6054 = add nsw i32 %6053, 1
  store i32 %6054, ptr @test_count, align 4, !tbaa !5
  %6055 = load ptr, ptr %98, align 8, !tbaa !9
  %6056 = getelementptr inbounds %struct.s2n_connection, ptr %6055, i32 0, i32 39
  %6057 = getelementptr inbounds %struct.s2n_stuffer, ptr %6056, i32 0, i32 0
  %6058 = getelementptr inbounds %struct.s2n_blob, ptr %6057, i32 0, i32 1
  %6059 = load i32, ptr %6058, align 8, !tbaa !45
  %6060 = icmp eq i32 %6059, 0
  br i1 %6060, label %6114, label %6061

6061:                                             ; preds = %6052
  br label %6062

6062:                                             ; preds = %6061
  br label %6063

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

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

6075:                                             ; preds = %6070
  %6076 = load i32, ptr %120, align 4, !tbaa !5
  %6077 = call ptr @__errno_location() #10
  store i32 %6076, ptr %6077, align 4, !tbaa !5
  %6078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6079 = load i32, ptr @test_count, align 4, !tbaa !5
  %6080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6081 = load i32, ptr %6080, align 4, !tbaa !5
  %6082 = call ptr @s2n_strerror(i32 noundef %6081, ptr noundef @.str.4)
  %6083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6084 = load i32, ptr %6083, align 4, !tbaa !5
  %6085 = call ptr @s2n_strerror_debug(i32 noundef %6084, ptr noundef @.str.4)
  %6086 = call ptr @__errno_location() #10
  %6087 = load i32, ptr %6086, align 4, !tbaa !5
  %6088 = call ptr @strerror(i32 noundef %6087) #9
  %6089 = call ptr @__errno_location() #10
  %6090 = load i32, ptr %6089, align 4, !tbaa !5
  %6091 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6078, ptr noundef @.str.2, i32 noundef %6079, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 210, ptr noundef %6082, ptr noundef %6085, ptr noundef %6088, i32 noundef %6090) #9
  br label %6109

6092:                                             ; preds = %6070, %6063
  %6093 = load i32, ptr %120, align 4, !tbaa !5
  %6094 = call ptr @__errno_location() #10
  store i32 %6093, ptr %6094, align 4, !tbaa !5
  %6095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6096 = load i32, ptr @test_count, align 4, !tbaa !5
  %6097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6098 = load i32, ptr %6097, align 4, !tbaa !5
  %6099 = call ptr @s2n_strerror(i32 noundef %6098, ptr noundef @.str.4)
  %6100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6101 = load i32, ptr %6100, align 4, !tbaa !5
  %6102 = call ptr @s2n_strerror_debug(i32 noundef %6101, ptr noundef @.str.4)
  %6103 = call ptr @__errno_location() #10
  %6104 = load i32, ptr %6103, align 4, !tbaa !5
  %6105 = call ptr @strerror(i32 noundef %6104) #9
  %6106 = call ptr @__errno_location() #10
  %6107 = load i32, ptr %6106, align 4, !tbaa !5
  %6108 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6095, ptr noundef @.str.5, i32 noundef %6096, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 210, ptr noundef %6099, ptr noundef %6102, ptr noundef %6105, i32 noundef %6107) #9
  br label %6109

6109:                                             ; preds = %6092, %6075
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #9
  br label %6110

6110:                                             ; preds = %6109
  br label %6111

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

6112:                                             ; No predecessors!
  br label %6113

6113:                                             ; preds = %6112
  br label %6114

6114:                                             ; preds = %6113, %6052
  br label %6115

6115:                                             ; preds = %6114
  br label %6116

6116:                                             ; preds = %6115
  br label %6117

6117:                                             ; preds = %6116
  %6118 = load i32, ptr @test_count, align 4, !tbaa !5
  %6119 = add nsw i32 %6118, 1
  store i32 %6119, ptr @test_count, align 4, !tbaa !5
  %6120 = load ptr, ptr %101, align 8, !tbaa !9
  %6121 = getelementptr inbounds %struct.s2n_connection, ptr %6120, i32 0, i32 39
  %6122 = getelementptr inbounds %struct.s2n_stuffer, ptr %6121, i32 0, i32 0
  %6123 = getelementptr inbounds %struct.s2n_blob, ptr %6122, i32 0, i32 1
  %6124 = load i32, ptr %6123, align 8, !tbaa !45
  %6125 = icmp eq i32 %6124, 0
  br i1 %6125, label %6179, label %6126

6126:                                             ; preds = %6117
  br label %6127

6127:                                             ; preds = %6126
  br label %6128

6128:                                             ; preds = %6127
  call void @llvm.lifetime.start.p0(i64 4, ptr %121) #9
  %6129 = call ptr @__errno_location() #10
  %6130 = load i32, ptr %6129, align 4, !tbaa !5
  store i32 %6130, ptr %121, align 4, !tbaa !5
  %6131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6132 = call i32 @s2n_print_stacktrace(ptr noundef %6131)
  %6133 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6134 = trunc i8 %6133 to i1
  br i1 %6134, label %6135, label %6157

6135:                                             ; preds = %6128
  %6136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6137 = call i32 @fileno(ptr noundef %6136) #9
  %6138 = call i32 @isatty(i32 noundef %6137) #9
  %6139 = icmp ne i32 %6138, 0
  br i1 %6139, label %6140, label %6157

6140:                                             ; preds = %6135
  %6141 = load i32, ptr %121, align 4, !tbaa !5
  %6142 = call ptr @__errno_location() #10
  store i32 %6141, ptr %6142, align 4, !tbaa !5
  %6143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6144 = load i32, ptr @test_count, align 4, !tbaa !5
  %6145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6146 = load i32, ptr %6145, align 4, !tbaa !5
  %6147 = call ptr @s2n_strerror(i32 noundef %6146, ptr noundef @.str.4)
  %6148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6149 = load i32, ptr %6148, align 4, !tbaa !5
  %6150 = call ptr @s2n_strerror_debug(i32 noundef %6149, ptr noundef @.str.4)
  %6151 = call ptr @__errno_location() #10
  %6152 = load i32, ptr %6151, align 4, !tbaa !5
  %6153 = call ptr @strerror(i32 noundef %6152) #9
  %6154 = call ptr @__errno_location() #10
  %6155 = load i32, ptr %6154, align 4, !tbaa !5
  %6156 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6143, ptr noundef @.str.2, i32 noundef %6144, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 211, ptr noundef %6147, ptr noundef %6150, ptr noundef %6153, i32 noundef %6155) #9
  br label %6174

6157:                                             ; preds = %6135, %6128
  %6158 = load i32, ptr %121, align 4, !tbaa !5
  %6159 = call ptr @__errno_location() #10
  store i32 %6158, ptr %6159, align 4, !tbaa !5
  %6160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6161 = load i32, ptr @test_count, align 4, !tbaa !5
  %6162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6163 = load i32, ptr %6162, align 4, !tbaa !5
  %6164 = call ptr @s2n_strerror(i32 noundef %6163, ptr noundef @.str.4)
  %6165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6166 = load i32, ptr %6165, align 4, !tbaa !5
  %6167 = call ptr @s2n_strerror_debug(i32 noundef %6166, ptr noundef @.str.4)
  %6168 = call ptr @__errno_location() #10
  %6169 = load i32, ptr %6168, align 4, !tbaa !5
  %6170 = call ptr @strerror(i32 noundef %6169) #9
  %6171 = call ptr @__errno_location() #10
  %6172 = load i32, ptr %6171, align 4, !tbaa !5
  %6173 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6160, ptr noundef @.str.5, i32 noundef %6161, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 211, ptr noundef %6164, ptr noundef %6167, ptr noundef %6170, i32 noundef %6172) #9
  br label %6174

6174:                                             ; preds = %6157, %6140
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #9
  br label %6175

6175:                                             ; preds = %6174
  br label %6176

6176:                                             ; preds = %6175
  call void @exit(i32 noundef 1) #11
  unreachable

6177:                                             ; No predecessors!
  br label %6178

6178:                                             ; preds = %6177
  br label %6179

6179:                                             ; preds = %6178, %6117
  br label %6180

6180:                                             ; preds = %6179
  br label %6181

6181:                                             ; preds = %6180
  br label %6182

6182:                                             ; preds = %6181
  %6183 = load i32, ptr @test_count, align 4, !tbaa !5
  %6184 = add nsw i32 %6183, 1
  store i32 %6184, ptr @test_count, align 4, !tbaa !5
  %6185 = load ptr, ptr %98, align 8, !tbaa !9
  %6186 = getelementptr inbounds %struct.s2n_connection, ptr %6185, i32 0, i32 41
  %6187 = getelementptr inbounds %struct.s2n_stuffer, ptr %6186, i32 0, i32 0
  %6188 = getelementptr inbounds %struct.s2n_blob, ptr %6187, i32 0, i32 1
  %6189 = load i32, ptr %6188, align 8, !tbaa !43
  %6190 = icmp eq i32 %6189, 0
  br i1 %6190, label %6244, label %6191

6191:                                             ; preds = %6182
  br label %6192

6192:                                             ; preds = %6191
  br label %6193

6193:                                             ; preds = %6192
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #9
  %6194 = call ptr @__errno_location() #10
  %6195 = load i32, ptr %6194, align 4, !tbaa !5
  store i32 %6195, ptr %122, align 4, !tbaa !5
  %6196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6197 = call i32 @s2n_print_stacktrace(ptr noundef %6196)
  %6198 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6199 = trunc i8 %6198 to i1
  br i1 %6199, label %6200, label %6222

6200:                                             ; preds = %6193
  %6201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6202 = call i32 @fileno(ptr noundef %6201) #9
  %6203 = call i32 @isatty(i32 noundef %6202) #9
  %6204 = icmp ne i32 %6203, 0
  br i1 %6204, label %6205, label %6222

6205:                                             ; preds = %6200
  %6206 = load i32, ptr %122, align 4, !tbaa !5
  %6207 = call ptr @__errno_location() #10
  store i32 %6206, ptr %6207, align 4, !tbaa !5
  %6208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6209 = load i32, ptr @test_count, align 4, !tbaa !5
  %6210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6211 = load i32, ptr %6210, align 4, !tbaa !5
  %6212 = call ptr @s2n_strerror(i32 noundef %6211, ptr noundef @.str.4)
  %6213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6214 = load i32, ptr %6213, align 4, !tbaa !5
  %6215 = call ptr @s2n_strerror_debug(i32 noundef %6214, ptr noundef @.str.4)
  %6216 = call ptr @__errno_location() #10
  %6217 = load i32, ptr %6216, align 4, !tbaa !5
  %6218 = call ptr @strerror(i32 noundef %6217) #9
  %6219 = call ptr @__errno_location() #10
  %6220 = load i32, ptr %6219, align 4, !tbaa !5
  %6221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6208, ptr noundef @.str.2, i32 noundef %6209, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 212, ptr noundef %6212, ptr noundef %6215, ptr noundef %6218, i32 noundef %6220) #9
  br label %6239

6222:                                             ; preds = %6200, %6193
  %6223 = load i32, ptr %122, align 4, !tbaa !5
  %6224 = call ptr @__errno_location() #10
  store i32 %6223, ptr %6224, align 4, !tbaa !5
  %6225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6226 = load i32, ptr @test_count, align 4, !tbaa !5
  %6227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6228 = load i32, ptr %6227, align 4, !tbaa !5
  %6229 = call ptr @s2n_strerror(i32 noundef %6228, ptr noundef @.str.4)
  %6230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6231 = load i32, ptr %6230, align 4, !tbaa !5
  %6232 = call ptr @s2n_strerror_debug(i32 noundef %6231, ptr noundef @.str.4)
  %6233 = call ptr @__errno_location() #10
  %6234 = load i32, ptr %6233, align 4, !tbaa !5
  %6235 = call ptr @strerror(i32 noundef %6234) #9
  %6236 = call ptr @__errno_location() #10
  %6237 = load i32, ptr %6236, align 4, !tbaa !5
  %6238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6225, ptr noundef @.str.5, i32 noundef %6226, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 212, ptr noundef %6229, ptr noundef %6232, ptr noundef %6235, i32 noundef %6237) #9
  br label %6239

6239:                                             ; preds = %6222, %6205
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #9
  br label %6240

6240:                                             ; preds = %6239
  br label %6241

6241:                                             ; preds = %6240
  call void @exit(i32 noundef 1) #11
  unreachable

6242:                                             ; No predecessors!
  br label %6243

6243:                                             ; preds = %6242
  br label %6244

6244:                                             ; preds = %6243, %6182
  br label %6245

6245:                                             ; preds = %6244
  br label %6246

6246:                                             ; preds = %6245
  br label %6247

6247:                                             ; preds = %6246
  %6248 = load i32, ptr @test_count, align 4, !tbaa !5
  %6249 = add nsw i32 %6248, 1
  store i32 %6249, ptr @test_count, align 4, !tbaa !5
  %6250 = load ptr, ptr %101, align 8, !tbaa !9
  %6251 = getelementptr inbounds %struct.s2n_connection, ptr %6250, i32 0, i32 41
  %6252 = getelementptr inbounds %struct.s2n_stuffer, ptr %6251, i32 0, i32 0
  %6253 = getelementptr inbounds %struct.s2n_blob, ptr %6252, i32 0, i32 1
  %6254 = load i32, ptr %6253, align 8, !tbaa !43
  %6255 = icmp eq i32 %6254, 0
  br i1 %6255, label %6309, label %6256

6256:                                             ; preds = %6247
  br label %6257

6257:                                             ; preds = %6256
  br label %6258

6258:                                             ; preds = %6257
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #9
  %6259 = call ptr @__errno_location() #10
  %6260 = load i32, ptr %6259, align 4, !tbaa !5
  store i32 %6260, ptr %123, align 4, !tbaa !5
  %6261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6262 = call i32 @s2n_print_stacktrace(ptr noundef %6261)
  %6263 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6264 = trunc i8 %6263 to i1
  br i1 %6264, label %6265, label %6287

6265:                                             ; preds = %6258
  %6266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6267 = call i32 @fileno(ptr noundef %6266) #9
  %6268 = call i32 @isatty(i32 noundef %6267) #9
  %6269 = icmp ne i32 %6268, 0
  br i1 %6269, label %6270, label %6287

6270:                                             ; preds = %6265
  %6271 = load i32, ptr %123, align 4, !tbaa !5
  %6272 = call ptr @__errno_location() #10
  store i32 %6271, ptr %6272, align 4, !tbaa !5
  %6273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6274 = load i32, ptr @test_count, align 4, !tbaa !5
  %6275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6276 = load i32, ptr %6275, align 4, !tbaa !5
  %6277 = call ptr @s2n_strerror(i32 noundef %6276, ptr noundef @.str.4)
  %6278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6279 = load i32, ptr %6278, align 4, !tbaa !5
  %6280 = call ptr @s2n_strerror_debug(i32 noundef %6279, ptr noundef @.str.4)
  %6281 = call ptr @__errno_location() #10
  %6282 = load i32, ptr %6281, align 4, !tbaa !5
  %6283 = call ptr @strerror(i32 noundef %6282) #9
  %6284 = call ptr @__errno_location() #10
  %6285 = load i32, ptr %6284, align 4, !tbaa !5
  %6286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6273, ptr noundef @.str.2, i32 noundef %6274, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 213, ptr noundef %6277, ptr noundef %6280, ptr noundef %6283, i32 noundef %6285) #9
  br label %6304

6287:                                             ; preds = %6265, %6258
  %6288 = load i32, ptr %123, align 4, !tbaa !5
  %6289 = call ptr @__errno_location() #10
  store i32 %6288, ptr %6289, align 4, !tbaa !5
  %6290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6291 = load i32, ptr @test_count, align 4, !tbaa !5
  %6292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6293 = load i32, ptr %6292, align 4, !tbaa !5
  %6294 = call ptr @s2n_strerror(i32 noundef %6293, ptr noundef @.str.4)
  %6295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6296 = load i32, ptr %6295, align 4, !tbaa !5
  %6297 = call ptr @s2n_strerror_debug(i32 noundef %6296, ptr noundef @.str.4)
  %6298 = call ptr @__errno_location() #10
  %6299 = load i32, ptr %6298, align 4, !tbaa !5
  %6300 = call ptr @strerror(i32 noundef %6299) #9
  %6301 = call ptr @__errno_location() #10
  %6302 = load i32, ptr %6301, align 4, !tbaa !5
  %6303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6290, ptr noundef @.str.5, i32 noundef %6291, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 213, ptr noundef %6294, ptr noundef %6297, ptr noundef %6300, i32 noundef %6302) #9
  br label %6304

6304:                                             ; preds = %6287, %6270
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #9
  br label %6305

6305:                                             ; preds = %6304
  br label %6306

6306:                                             ; preds = %6305
  call void @exit(i32 noundef 1) #11
  unreachable

6307:                                             ; No predecessors!
  br label %6308

6308:                                             ; preds = %6307
  br label %6309

6309:                                             ; preds = %6308, %6247
  br label %6310

6310:                                             ; preds = %6309
  br label %6311

6311:                                             ; preds = %6310
  br label %6312

6312:                                             ; preds = %6311
  %6313 = load i32, ptr @test_count, align 4, !tbaa !5
  %6314 = add nsw i32 %6313, 1
  store i32 %6314, ptr @test_count, align 4, !tbaa !5
  %6315 = load ptr, ptr %98, align 8, !tbaa !9
  %6316 = call i32 @s2n_connection_free(ptr noundef %6315)
  %6317 = icmp eq i32 %6316, -1
  br i1 %6317, label %6318, label %6371

6318:                                             ; preds = %6312
  br label %6319

6319:                                             ; preds = %6318
  br label %6320

6320:                                             ; preds = %6319
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #9
  %6321 = call ptr @__errno_location() #10
  %6322 = load i32, ptr %6321, align 4, !tbaa !5
  store i32 %6322, ptr %124, align 4, !tbaa !5
  %6323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6324 = call i32 @s2n_print_stacktrace(ptr noundef %6323)
  %6325 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6326 = trunc i8 %6325 to i1
  br i1 %6326, label %6327, label %6349

6327:                                             ; preds = %6320
  %6328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6329 = call i32 @fileno(ptr noundef %6328) #9
  %6330 = call i32 @isatty(i32 noundef %6329) #9
  %6331 = icmp ne i32 %6330, 0
  br i1 %6331, label %6332, label %6349

6332:                                             ; preds = %6327
  %6333 = load i32, ptr %124, align 4, !tbaa !5
  %6334 = call ptr @__errno_location() #10
  store i32 %6333, ptr %6334, align 4, !tbaa !5
  %6335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6336 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6338, ptr noundef @.str.4)
  %6340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6341 = load i32, ptr %6340, align 4, !tbaa !5
  %6342 = call ptr @s2n_strerror_debug(i32 noundef %6341, ptr noundef @.str.4)
  %6343 = call ptr @__errno_location() #10
  %6344 = load i32, ptr %6343, align 4, !tbaa !5
  %6345 = call ptr @strerror(i32 noundef %6344) #9
  %6346 = call ptr @__errno_location() #10
  %6347 = load i32, ptr %6346, align 4, !tbaa !5
  %6348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6335, ptr noundef @.str.2, i32 noundef %6336, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 215, ptr noundef %6339, ptr noundef %6342, ptr noundef %6345, i32 noundef %6347) #9
  br label %6366

6349:                                             ; preds = %6327, %6320
  %6350 = load i32, ptr %124, align 4, !tbaa !5
  %6351 = call ptr @__errno_location() #10
  store i32 %6350, ptr %6351, align 4, !tbaa !5
  %6352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6353 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6355, ptr noundef @.str.4)
  %6357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6358 = load i32, ptr %6357, align 4, !tbaa !5
  %6359 = call ptr @s2n_strerror_debug(i32 noundef %6358, ptr noundef @.str.4)
  %6360 = call ptr @__errno_location() #10
  %6361 = load i32, ptr %6360, align 4, !tbaa !5
  %6362 = call ptr @strerror(i32 noundef %6361) #9
  %6363 = call ptr @__errno_location() #10
  %6364 = load i32, ptr %6363, align 4, !tbaa !5
  %6365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6352, ptr noundef @.str.5, i32 noundef %6353, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 215, ptr noundef %6356, ptr noundef %6359, ptr noundef %6362, i32 noundef %6364) #9
  br label %6366

6366:                                             ; preds = %6349, %6332
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #9
  br label %6367

6367:                                             ; preds = %6366
  br label %6368

6368:                                             ; preds = %6367
  call void @exit(i32 noundef 1) #11
  unreachable

6369:                                             ; No predecessors!
  br label %6370

6370:                                             ; preds = %6369
  br label %6371

6371:                                             ; preds = %6370, %6312
  br label %6372

6372:                                             ; preds = %6371
  br label %6373

6373:                                             ; preds = %6372
  br label %6374

6374:                                             ; preds = %6373
  %6375 = load i32, ptr @test_count, align 4, !tbaa !5
  %6376 = add nsw i32 %6375, 1
  store i32 %6376, ptr @test_count, align 4, !tbaa !5
  %6377 = load ptr, ptr %101, align 8, !tbaa !9
  %6378 = call i32 @s2n_connection_free(ptr noundef %6377)
  %6379 = icmp eq i32 %6378, -1
  br i1 %6379, label %6380, label %6433

6380:                                             ; preds = %6374
  br label %6381

6381:                                             ; preds = %6380
  br label %6382

6382:                                             ; preds = %6381
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #9
  %6383 = call ptr @__errno_location() #10
  %6384 = load i32, ptr %6383, align 4, !tbaa !5
  store i32 %6384, ptr %125, align 4, !tbaa !5
  %6385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6386 = call i32 @s2n_print_stacktrace(ptr noundef %6385)
  %6387 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6388 = trunc i8 %6387 to i1
  br i1 %6388, label %6389, label %6411

6389:                                             ; preds = %6382
  %6390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6391 = call i32 @fileno(ptr noundef %6390) #9
  %6392 = call i32 @isatty(i32 noundef %6391) #9
  %6393 = icmp ne i32 %6392, 0
  br i1 %6393, label %6394, label %6411

6394:                                             ; preds = %6389
  %6395 = load i32, ptr %125, align 4, !tbaa !5
  %6396 = call ptr @__errno_location() #10
  store i32 %6395, ptr %6396, align 4, !tbaa !5
  %6397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6398 = load i32, ptr @test_count, align 4, !tbaa !5
  %6399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6400 = load i32, ptr %6399, align 4, !tbaa !5
  %6401 = call ptr @s2n_strerror(i32 noundef %6400, ptr noundef @.str.4)
  %6402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6403 = load i32, ptr %6402, align 4, !tbaa !5
  %6404 = call ptr @s2n_strerror_debug(i32 noundef %6403, ptr noundef @.str.4)
  %6405 = call ptr @__errno_location() #10
  %6406 = load i32, ptr %6405, align 4, !tbaa !5
  %6407 = call ptr @strerror(i32 noundef %6406) #9
  %6408 = call ptr @__errno_location() #10
  %6409 = load i32, ptr %6408, align 4, !tbaa !5
  %6410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6397, ptr noundef @.str.2, i32 noundef %6398, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 216, ptr noundef %6401, ptr noundef %6404, ptr noundef %6407, i32 noundef %6409) #9
  br label %6428

6411:                                             ; preds = %6389, %6382
  %6412 = load i32, ptr %125, align 4, !tbaa !5
  %6413 = call ptr @__errno_location() #10
  store i32 %6412, ptr %6413, align 4, !tbaa !5
  %6414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6415 = load i32, ptr @test_count, align 4, !tbaa !5
  %6416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6417 = load i32, ptr %6416, align 4, !tbaa !5
  %6418 = call ptr @s2n_strerror(i32 noundef %6417, ptr noundef @.str.4)
  %6419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6420 = load i32, ptr %6419, align 4, !tbaa !5
  %6421 = call ptr @s2n_strerror_debug(i32 noundef %6420, ptr noundef @.str.4)
  %6422 = call ptr @__errno_location() #10
  %6423 = load i32, ptr %6422, align 4, !tbaa !5
  %6424 = call ptr @strerror(i32 noundef %6423) #9
  %6425 = call ptr @__errno_location() #10
  %6426 = load i32, ptr %6425, align 4, !tbaa !5
  %6427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6414, ptr noundef @.str.5, i32 noundef %6415, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 216, ptr noundef %6418, ptr noundef %6421, ptr noundef %6424, i32 noundef %6426) #9
  br label %6428

6428:                                             ; preds = %6411, %6394
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #9
  br label %6429

6429:                                             ; preds = %6428
  br label %6430

6430:                                             ; preds = %6429
  call void @exit(i32 noundef 1) #11
  unreachable

6431:                                             ; No predecessors!
  br label %6432

6432:                                             ; preds = %6431
  br label %6433

6433:                                             ; preds = %6432, %6374
  br label %6434

6434:                                             ; preds = %6433
  br label %6435

6435:                                             ; preds = %6434
  %6436 = call i32 @s2n_io_pair_close(ptr noundef %108)
  call void @llvm.lifetime.end.p0(i64 8, ptr %108) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %101) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %98) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %126) #9
  %6437 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %6437, ptr %126, align 8, !tbaa !9
  br label %6438

6438:                                             ; preds = %6435
  %6439 = load i32, ptr @test_count, align 4, !tbaa !5
  %6440 = add nsw i32 %6439, 1
  store i32 %6440, ptr @test_count, align 4, !tbaa !5
  %6441 = load ptr, ptr %126, align 8, !tbaa !9
  %6442 = icmp eq ptr %6441, null
  br i1 %6442, label %6443, label %6496

6443:                                             ; preds = %6438
  br label %6444

6444:                                             ; preds = %6443
  br label %6445

6445:                                             ; preds = %6444
  call void @llvm.lifetime.start.p0(i64 4, ptr %127) #9
  %6446 = call ptr @__errno_location() #10
  %6447 = load i32, ptr %6446, align 4, !tbaa !5
  store i32 %6447, ptr %127, align 4, !tbaa !5
  %6448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6449 = call i32 @s2n_print_stacktrace(ptr noundef %6448)
  %6450 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6451 = trunc i8 %6450 to i1
  br i1 %6451, label %6452, label %6474

6452:                                             ; preds = %6445
  %6453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6454 = call i32 @fileno(ptr noundef %6453) #9
  %6455 = call i32 @isatty(i32 noundef %6454) #9
  %6456 = icmp ne i32 %6455, 0
  br i1 %6456, label %6457, label %6474

6457:                                             ; preds = %6452
  %6458 = load i32, ptr %127, align 4, !tbaa !5
  %6459 = call ptr @__errno_location() #10
  store i32 %6458, ptr %6459, align 4, !tbaa !5
  %6460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6461 = load i32, ptr @test_count, align 4, !tbaa !5
  %6462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6463 = load i32, ptr %6462, align 4, !tbaa !5
  %6464 = call ptr @s2n_strerror(i32 noundef %6463, ptr noundef @.str.4)
  %6465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6466 = load i32, ptr %6465, align 4, !tbaa !5
  %6467 = call ptr @s2n_strerror_debug(i32 noundef %6466, ptr noundef @.str.4)
  %6468 = call ptr @__errno_location() #10
  %6469 = load i32, ptr %6468, align 4, !tbaa !5
  %6470 = call ptr @strerror(i32 noundef %6469) #9
  %6471 = call ptr @__errno_location() #10
  %6472 = load i32, ptr %6471, align 4, !tbaa !5
  %6473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6460, ptr noundef @.str.2, i32 noundef %6461, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 222, ptr noundef %6464, ptr noundef %6467, ptr noundef %6470, i32 noundef %6472) #9
  br label %6491

6474:                                             ; preds = %6452, %6445
  %6475 = load i32, ptr %127, align 4, !tbaa !5
  %6476 = call ptr @__errno_location() #10
  store i32 %6475, ptr %6476, align 4, !tbaa !5
  %6477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6478 = load i32, ptr @test_count, align 4, !tbaa !5
  %6479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6480 = load i32, ptr %6479, align 4, !tbaa !5
  %6481 = call ptr @s2n_strerror(i32 noundef %6480, ptr noundef @.str.4)
  %6482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6483 = load i32, ptr %6482, align 4, !tbaa !5
  %6484 = call ptr @s2n_strerror_debug(i32 noundef %6483, ptr noundef @.str.4)
  %6485 = call ptr @__errno_location() #10
  %6486 = load i32, ptr %6485, align 4, !tbaa !5
  %6487 = call ptr @strerror(i32 noundef %6486) #9
  %6488 = call ptr @__errno_location() #10
  %6489 = load i32, ptr %6488, align 4, !tbaa !5
  %6490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6477, ptr noundef @.str.5, i32 noundef %6478, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 222, ptr noundef %6481, ptr noundef %6484, ptr noundef %6487, i32 noundef %6489) #9
  br label %6491

6491:                                             ; preds = %6474, %6457
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #9
  br label %6492

6492:                                             ; preds = %6491
  br label %6493

6493:                                             ; preds = %6492
  call void @exit(i32 noundef 1) #11
  unreachable

6494:                                             ; No predecessors!
  br label %6495

6495:                                             ; preds = %6494
  br label %6496

6496:                                             ; preds = %6495, %6438
  br label %6497

6497:                                             ; preds = %6496
  br label %6498

6498:                                             ; preds = %6497
  br label %6499

6499:                                             ; preds = %6498
  %6500 = load i32, ptr @test_count, align 4, !tbaa !5
  %6501 = add nsw i32 %6500, 1
  store i32 %6501, ptr @test_count, align 4, !tbaa !5
  %6502 = load ptr, ptr %126, align 8, !tbaa !9
  %6503 = load ptr, ptr %13, align 8, !tbaa !9
  %6504 = call i32 @s2n_connection_set_config(ptr noundef %6502, ptr noundef %6503)
  %6505 = icmp eq i32 %6504, -1
  br i1 %6505, label %6506, label %6559

6506:                                             ; preds = %6499
  br label %6507

6507:                                             ; preds = %6506
  br label %6508

6508:                                             ; preds = %6507
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #9
  %6509 = call ptr @__errno_location() #10
  %6510 = load i32, ptr %6509, align 4, !tbaa !5
  store i32 %6510, ptr %128, align 4, !tbaa !5
  %6511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6512 = call i32 @s2n_print_stacktrace(ptr noundef %6511)
  %6513 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6514 = trunc i8 %6513 to i1
  br i1 %6514, label %6515, label %6537

6515:                                             ; preds = %6508
  %6516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6517 = call i32 @fileno(ptr noundef %6516) #9
  %6518 = call i32 @isatty(i32 noundef %6517) #9
  %6519 = icmp ne i32 %6518, 0
  br i1 %6519, label %6520, label %6537

6520:                                             ; preds = %6515
  %6521 = load i32, ptr %128, align 4, !tbaa !5
  %6522 = call ptr @__errno_location() #10
  store i32 %6521, ptr %6522, align 4, !tbaa !5
  %6523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6524 = load i32, ptr @test_count, align 4, !tbaa !5
  %6525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6526 = load i32, ptr %6525, align 4, !tbaa !5
  %6527 = call ptr @s2n_strerror(i32 noundef %6526, ptr noundef @.str.4)
  %6528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6529 = load i32, ptr %6528, align 4, !tbaa !5
  %6530 = call ptr @s2n_strerror_debug(i32 noundef %6529, ptr noundef @.str.4)
  %6531 = call ptr @__errno_location() #10
  %6532 = load i32, ptr %6531, align 4, !tbaa !5
  %6533 = call ptr @strerror(i32 noundef %6532) #9
  %6534 = call ptr @__errno_location() #10
  %6535 = load i32, ptr %6534, align 4, !tbaa !5
  %6536 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6523, ptr noundef @.str.2, i32 noundef %6524, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 223, ptr noundef %6527, ptr noundef %6530, ptr noundef %6533, i32 noundef %6535) #9
  br label %6554

6537:                                             ; preds = %6515, %6508
  %6538 = load i32, ptr %128, align 4, !tbaa !5
  %6539 = call ptr @__errno_location() #10
  store i32 %6538, ptr %6539, align 4, !tbaa !5
  %6540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6541 = load i32, ptr @test_count, align 4, !tbaa !5
  %6542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6543 = load i32, ptr %6542, align 4, !tbaa !5
  %6544 = call ptr @s2n_strerror(i32 noundef %6543, ptr noundef @.str.4)
  %6545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6546 = load i32, ptr %6545, align 4, !tbaa !5
  %6547 = call ptr @s2n_strerror_debug(i32 noundef %6546, ptr noundef @.str.4)
  %6548 = call ptr @__errno_location() #10
  %6549 = load i32, ptr %6548, align 4, !tbaa !5
  %6550 = call ptr @strerror(i32 noundef %6549) #9
  %6551 = call ptr @__errno_location() #10
  %6552 = load i32, ptr %6551, align 4, !tbaa !5
  %6553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6540, ptr noundef @.str.5, i32 noundef %6541, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 223, ptr noundef %6544, ptr noundef %6547, ptr noundef %6550, i32 noundef %6552) #9
  br label %6554

6554:                                             ; preds = %6537, %6520
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #9
  br label %6555

6555:                                             ; preds = %6554
  br label %6556

6556:                                             ; preds = %6555
  call void @exit(i32 noundef 1) #11
  unreachable

6557:                                             ; No predecessors!
  br label %6558

6558:                                             ; preds = %6557
  br label %6559

6559:                                             ; preds = %6558, %6499
  br label %6560

6560:                                             ; preds = %6559
  br label %6561

6561:                                             ; preds = %6560
  call void @llvm.lifetime.start.p0(i64 8, ptr %129) #9
  %6562 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %6562, ptr %129, align 8, !tbaa !9
  br label %6563

6563:                                             ; preds = %6561
  %6564 = load i32, ptr @test_count, align 4, !tbaa !5
  %6565 = add nsw i32 %6564, 1
  store i32 %6565, ptr @test_count, align 4, !tbaa !5
  %6566 = load ptr, ptr %129, align 8, !tbaa !9
  %6567 = icmp eq ptr %6566, null
  br i1 %6567, label %6568, label %6621

6568:                                             ; preds = %6563
  br label %6569

6569:                                             ; preds = %6568
  br label %6570

6570:                                             ; preds = %6569
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #9
  %6571 = call ptr @__errno_location() #10
  %6572 = load i32, ptr %6571, align 4, !tbaa !5
  store i32 %6572, ptr %130, align 4, !tbaa !5
  %6573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6574 = call i32 @s2n_print_stacktrace(ptr noundef %6573)
  %6575 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6576 = trunc i8 %6575 to i1
  br i1 %6576, label %6577, label %6599

6577:                                             ; preds = %6570
  %6578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6579 = call i32 @fileno(ptr noundef %6578) #9
  %6580 = call i32 @isatty(i32 noundef %6579) #9
  %6581 = icmp ne i32 %6580, 0
  br i1 %6581, label %6582, label %6599

6582:                                             ; preds = %6577
  %6583 = load i32, ptr %130, align 4, !tbaa !5
  %6584 = call ptr @__errno_location() #10
  store i32 %6583, ptr %6584, align 4, !tbaa !5
  %6585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6586 = load i32, ptr @test_count, align 4, !tbaa !5
  %6587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6588 = load i32, ptr %6587, align 4, !tbaa !5
  %6589 = call ptr @s2n_strerror(i32 noundef %6588, ptr noundef @.str.4)
  %6590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6591 = load i32, ptr %6590, align 4, !tbaa !5
  %6592 = call ptr @s2n_strerror_debug(i32 noundef %6591, ptr noundef @.str.4)
  %6593 = call ptr @__errno_location() #10
  %6594 = load i32, ptr %6593, align 4, !tbaa !5
  %6595 = call ptr @strerror(i32 noundef %6594) #9
  %6596 = call ptr @__errno_location() #10
  %6597 = load i32, ptr %6596, align 4, !tbaa !5
  %6598 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6585, ptr noundef @.str.2, i32 noundef %6586, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 226, ptr noundef %6589, ptr noundef %6592, ptr noundef %6595, i32 noundef %6597) #9
  br label %6616

6599:                                             ; preds = %6577, %6570
  %6600 = load i32, ptr %130, align 4, !tbaa !5
  %6601 = call ptr @__errno_location() #10
  store i32 %6600, ptr %6601, align 4, !tbaa !5
  %6602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6603 = load i32, ptr @test_count, align 4, !tbaa !5
  %6604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6605 = load i32, ptr %6604, align 4, !tbaa !5
  %6606 = call ptr @s2n_strerror(i32 noundef %6605, ptr noundef @.str.4)
  %6607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6608 = load i32, ptr %6607, align 4, !tbaa !5
  %6609 = call ptr @s2n_strerror_debug(i32 noundef %6608, ptr noundef @.str.4)
  %6610 = call ptr @__errno_location() #10
  %6611 = load i32, ptr %6610, align 4, !tbaa !5
  %6612 = call ptr @strerror(i32 noundef %6611) #9
  %6613 = call ptr @__errno_location() #10
  %6614 = load i32, ptr %6613, align 4, !tbaa !5
  %6615 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6602, ptr noundef @.str.5, i32 noundef %6603, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 226, ptr noundef %6606, ptr noundef %6609, ptr noundef %6612, i32 noundef %6614) #9
  br label %6616

6616:                                             ; preds = %6599, %6582
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #9
  br label %6617

6617:                                             ; preds = %6616
  br label %6618

6618:                                             ; preds = %6617
  call void @exit(i32 noundef 1) #11
  unreachable

6619:                                             ; No predecessors!
  br label %6620

6620:                                             ; preds = %6619
  br label %6621

6621:                                             ; preds = %6620, %6563
  br label %6622

6622:                                             ; preds = %6621
  br label %6623

6623:                                             ; preds = %6622
  br label %6624

6624:                                             ; preds = %6623
  %6625 = load i32, ptr @test_count, align 4, !tbaa !5
  %6626 = add nsw i32 %6625, 1
  store i32 %6626, ptr @test_count, align 4, !tbaa !5
  %6627 = load ptr, ptr %129, align 8, !tbaa !9
  %6628 = load ptr, ptr %13, align 8, !tbaa !9
  %6629 = call i32 @s2n_connection_set_config(ptr noundef %6627, ptr noundef %6628)
  %6630 = icmp eq i32 %6629, -1
  br i1 %6630, label %6631, label %6684

6631:                                             ; preds = %6624
  br label %6632

6632:                                             ; preds = %6631
  br label %6633

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

6640:                                             ; preds = %6633
  %6641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6642 = call i32 @fileno(ptr noundef %6641) #9
  %6643 = call i32 @isatty(i32 noundef %6642) #9
  %6644 = icmp ne i32 %6643, 0
  br i1 %6644, label %6645, label %6662

6645:                                             ; preds = %6640
  %6646 = load i32, ptr %131, align 4, !tbaa !5
  %6647 = call ptr @__errno_location() #10
  store i32 %6646, ptr %6647, align 4, !tbaa !5
  %6648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6649 = load i32, ptr @test_count, align 4, !tbaa !5
  %6650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6651 = load i32, ptr %6650, align 4, !tbaa !5
  %6652 = call ptr @s2n_strerror(i32 noundef %6651, ptr noundef @.str.4)
  %6653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6654 = load i32, ptr %6653, align 4, !tbaa !5
  %6655 = call ptr @s2n_strerror_debug(i32 noundef %6654, ptr noundef @.str.4)
  %6656 = call ptr @__errno_location() #10
  %6657 = load i32, ptr %6656, align 4, !tbaa !5
  %6658 = call ptr @strerror(i32 noundef %6657) #9
  %6659 = call ptr @__errno_location() #10
  %6660 = load i32, ptr %6659, align 4, !tbaa !5
  %6661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6648, ptr noundef @.str.2, i32 noundef %6649, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 227, ptr noundef %6652, ptr noundef %6655, ptr noundef %6658, i32 noundef %6660) #9
  br label %6679

6662:                                             ; preds = %6640, %6633
  %6663 = load i32, ptr %131, align 4, !tbaa !5
  %6664 = call ptr @__errno_location() #10
  store i32 %6663, ptr %6664, align 4, !tbaa !5
  %6665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6666 = load i32, ptr @test_count, align 4, !tbaa !5
  %6667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6668 = load i32, ptr %6667, align 4, !tbaa !5
  %6669 = call ptr @s2n_strerror(i32 noundef %6668, ptr noundef @.str.4)
  %6670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6671 = load i32, ptr %6670, align 4, !tbaa !5
  %6672 = call ptr @s2n_strerror_debug(i32 noundef %6671, ptr noundef @.str.4)
  %6673 = call ptr @__errno_location() #10
  %6674 = load i32, ptr %6673, align 4, !tbaa !5
  %6675 = call ptr @strerror(i32 noundef %6674) #9
  %6676 = call ptr @__errno_location() #10
  %6677 = load i32, ptr %6676, align 4, !tbaa !5
  %6678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6665, ptr noundef @.str.5, i32 noundef %6666, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 227, ptr noundef %6669, ptr noundef %6672, ptr noundef %6675, i32 noundef %6677) #9
  br label %6679

6679:                                             ; preds = %6662, %6645
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #9
  br label %6680

6680:                                             ; preds = %6679
  br label %6681

6681:                                             ; preds = %6680
  call void @exit(i32 noundef 1) #11
  unreachable

6682:                                             ; No predecessors!
  br label %6683

6683:                                             ; preds = %6682
  br label %6684

6684:                                             ; preds = %6683, %6624
  br label %6685

6685:                                             ; preds = %6684
  br label %6686

6686:                                             ; preds = %6685
  br label %6687

6687:                                             ; preds = %6686
  %6688 = load i32, ptr @test_count, align 4, !tbaa !5
  %6689 = add nsw i32 %6688, 1
  store i32 %6689, ptr @test_count, align 4, !tbaa !5
  %6690 = load ptr, ptr %126, align 8, !tbaa !9
  %6691 = call i32 @s2n_connection_set_dynamic_buffers(ptr noundef %6690, i1 noundef zeroext true)
  %6692 = icmp eq i32 %6691, -1
  br i1 %6692, label %6693, label %6746

6693:                                             ; preds = %6687
  br label %6694

6694:                                             ; preds = %6693
  br label %6695

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

6702:                                             ; preds = %6695
  %6703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6704 = call i32 @fileno(ptr noundef %6703) #9
  %6705 = call i32 @isatty(i32 noundef %6704) #9
  %6706 = icmp ne i32 %6705, 0
  br i1 %6706, label %6707, label %6724

6707:                                             ; preds = %6702
  %6708 = load i32, ptr %132, align 4, !tbaa !5
  %6709 = call ptr @__errno_location() #10
  store i32 %6708, ptr %6709, align 4, !tbaa !5
  %6710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6711 = load i32, ptr @test_count, align 4, !tbaa !5
  %6712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6713 = load i32, ptr %6712, align 4, !tbaa !5
  %6714 = call ptr @s2n_strerror(i32 noundef %6713, ptr noundef @.str.4)
  %6715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6716 = load i32, ptr %6715, align 4, !tbaa !5
  %6717 = call ptr @s2n_strerror_debug(i32 noundef %6716, ptr noundef @.str.4)
  %6718 = call ptr @__errno_location() #10
  %6719 = load i32, ptr %6718, align 4, !tbaa !5
  %6720 = call ptr @strerror(i32 noundef %6719) #9
  %6721 = call ptr @__errno_location() #10
  %6722 = load i32, ptr %6721, align 4, !tbaa !5
  %6723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6710, ptr noundef @.str.2, i32 noundef %6711, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 230, ptr noundef %6714, ptr noundef %6717, ptr noundef %6720, i32 noundef %6722) #9
  br label %6741

6724:                                             ; preds = %6702, %6695
  %6725 = load i32, ptr %132, align 4, !tbaa !5
  %6726 = call ptr @__errno_location() #10
  store i32 %6725, ptr %6726, align 4, !tbaa !5
  %6727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6728 = load i32, ptr @test_count, align 4, !tbaa !5
  %6729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6730 = load i32, ptr %6729, align 4, !tbaa !5
  %6731 = call ptr @s2n_strerror(i32 noundef %6730, ptr noundef @.str.4)
  %6732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6733 = load i32, ptr %6732, align 4, !tbaa !5
  %6734 = call ptr @s2n_strerror_debug(i32 noundef %6733, ptr noundef @.str.4)
  %6735 = call ptr @__errno_location() #10
  %6736 = load i32, ptr %6735, align 4, !tbaa !5
  %6737 = call ptr @strerror(i32 noundef %6736) #9
  %6738 = call ptr @__errno_location() #10
  %6739 = load i32, ptr %6738, align 4, !tbaa !5
  %6740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6727, ptr noundef @.str.5, i32 noundef %6728, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 230, ptr noundef %6731, ptr noundef %6734, ptr noundef %6737, i32 noundef %6739) #9
  br label %6741

6741:                                             ; preds = %6724, %6707
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #9
  br label %6742

6742:                                             ; preds = %6741
  br label %6743

6743:                                             ; preds = %6742
  call void @exit(i32 noundef 1) #11
  unreachable

6744:                                             ; No predecessors!
  br label %6745

6745:                                             ; preds = %6744
  br label %6746

6746:                                             ; preds = %6745, %6687
  br label %6747

6747:                                             ; preds = %6746
  br label %6748

6748:                                             ; preds = %6747
  br label %6749

6749:                                             ; preds = %6748
  %6750 = load i32, ptr @test_count, align 4, !tbaa !5
  %6751 = add nsw i32 %6750, 1
  store i32 %6751, ptr @test_count, align 4, !tbaa !5
  %6752 = load ptr, ptr %129, align 8, !tbaa !9
  %6753 = call i32 @s2n_connection_set_dynamic_buffers(ptr noundef %6752, i1 noundef zeroext true)
  %6754 = icmp eq i32 %6753, -1
  br i1 %6754, label %6755, label %6808

6755:                                             ; preds = %6749
  br label %6756

6756:                                             ; preds = %6755
  br label %6757

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

6764:                                             ; preds = %6757
  %6765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6766 = call i32 @fileno(ptr noundef %6765) #9
  %6767 = call i32 @isatty(i32 noundef %6766) #9
  %6768 = icmp ne i32 %6767, 0
  br i1 %6768, label %6769, label %6786

6769:                                             ; preds = %6764
  %6770 = load i32, ptr %133, align 4, !tbaa !5
  %6771 = call ptr @__errno_location() #10
  store i32 %6770, ptr %6771, align 4, !tbaa !5
  %6772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6773 = load i32, ptr @test_count, align 4, !tbaa !5
  %6774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6775 = load i32, ptr %6774, align 4, !tbaa !5
  %6776 = call ptr @s2n_strerror(i32 noundef %6775, ptr noundef @.str.4)
  %6777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6778 = load i32, ptr %6777, align 4, !tbaa !5
  %6779 = call ptr @s2n_strerror_debug(i32 noundef %6778, ptr noundef @.str.4)
  %6780 = call ptr @__errno_location() #10
  %6781 = load i32, ptr %6780, align 4, !tbaa !5
  %6782 = call ptr @strerror(i32 noundef %6781) #9
  %6783 = call ptr @__errno_location() #10
  %6784 = load i32, ptr %6783, align 4, !tbaa !5
  %6785 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6772, ptr noundef @.str.2, i32 noundef %6773, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 231, ptr noundef %6776, ptr noundef %6779, ptr noundef %6782, i32 noundef %6784) #9
  br label %6803

6786:                                             ; preds = %6764, %6757
  %6787 = load i32, ptr %133, align 4, !tbaa !5
  %6788 = call ptr @__errno_location() #10
  store i32 %6787, ptr %6788, align 4, !tbaa !5
  %6789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6790 = load i32, ptr @test_count, align 4, !tbaa !5
  %6791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6792 = load i32, ptr %6791, align 4, !tbaa !5
  %6793 = call ptr @s2n_strerror(i32 noundef %6792, ptr noundef @.str.4)
  %6794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6795 = load i32, ptr %6794, align 4, !tbaa !5
  %6796 = call ptr @s2n_strerror_debug(i32 noundef %6795, ptr noundef @.str.4)
  %6797 = call ptr @__errno_location() #10
  %6798 = load i32, ptr %6797, align 4, !tbaa !5
  %6799 = call ptr @strerror(i32 noundef %6798) #9
  %6800 = call ptr @__errno_location() #10
  %6801 = load i32, ptr %6800, align 4, !tbaa !5
  %6802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6789, ptr noundef @.str.5, i32 noundef %6790, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 231, ptr noundef %6793, ptr noundef %6796, ptr noundef %6799, i32 noundef %6801) #9
  br label %6803

6803:                                             ; preds = %6786, %6769
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #9
  br label %6804

6804:                                             ; preds = %6803
  br label %6805

6805:                                             ; preds = %6804
  call void @exit(i32 noundef 1) #11
  unreachable

6806:                                             ; No predecessors!
  br label %6807

6807:                                             ; preds = %6806
  br label %6808

6808:                                             ; preds = %6807, %6749
  br label %6809

6809:                                             ; preds = %6808
  br label %6810

6810:                                             ; preds = %6809
  call void @llvm.lifetime.start.p0(i64 40, ptr %134) #9
  call void @llvm.memset.p0.i64(ptr align 8 %134, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %135) #9
  call void @llvm.memset.p0.i64(ptr align 8 %135, i8 0, i64 40, i1 false)
  br label %6811

6811:                                             ; preds = %6810
  %6812 = load i32, ptr @test_count, align 4, !tbaa !5
  %6813 = add nsw i32 %6812, 1
  store i32 %6813, ptr @test_count, align 4, !tbaa !5
  %6814 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %134, i32 noundef 0)
  %6815 = icmp eq i32 %6814, -1
  br i1 %6815, label %6816, label %6869

6816:                                             ; preds = %6811
  br label %6817

6817:                                             ; preds = %6816
  br label %6818

6818:                                             ; preds = %6817
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #9
  %6819 = call ptr @__errno_location() #10
  %6820 = load i32, ptr %6819, align 4, !tbaa !5
  store i32 %6820, ptr %136, align 4, !tbaa !5
  %6821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6822 = call i32 @s2n_print_stacktrace(ptr noundef %6821)
  %6823 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6824 = trunc i8 %6823 to i1
  br i1 %6824, label %6825, label %6847

6825:                                             ; preds = %6818
  %6826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6827 = call i32 @fileno(ptr noundef %6826) #9
  %6828 = call i32 @isatty(i32 noundef %6827) #9
  %6829 = icmp ne i32 %6828, 0
  br i1 %6829, label %6830, label %6847

6830:                                             ; preds = %6825
  %6831 = load i32, ptr %136, align 4, !tbaa !5
  %6832 = call ptr @__errno_location() #10
  store i32 %6831, ptr %6832, align 4, !tbaa !5
  %6833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6834 = load i32, ptr @test_count, align 4, !tbaa !5
  %6835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6836 = load i32, ptr %6835, align 4, !tbaa !5
  %6837 = call ptr @s2n_strerror(i32 noundef %6836, ptr noundef @.str.4)
  %6838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6839 = load i32, ptr %6838, align 4, !tbaa !5
  %6840 = call ptr @s2n_strerror_debug(i32 noundef %6839, ptr noundef @.str.4)
  %6841 = call ptr @__errno_location() #10
  %6842 = load i32, ptr %6841, align 4, !tbaa !5
  %6843 = call ptr @strerror(i32 noundef %6842) #9
  %6844 = call ptr @__errno_location() #10
  %6845 = load i32, ptr %6844, align 4, !tbaa !5
  %6846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6833, ptr noundef @.str.2, i32 noundef %6834, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 238, ptr noundef %6837, ptr noundef %6840, ptr noundef %6843, i32 noundef %6845) #9
  br label %6864

6847:                                             ; preds = %6825, %6818
  %6848 = load i32, ptr %136, align 4, !tbaa !5
  %6849 = call ptr @__errno_location() #10
  store i32 %6848, ptr %6849, align 4, !tbaa !5
  %6850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6851 = load i32, ptr @test_count, align 4, !tbaa !5
  %6852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6853 = load i32, ptr %6852, align 4, !tbaa !5
  %6854 = call ptr @s2n_strerror(i32 noundef %6853, ptr noundef @.str.4)
  %6855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6856 = load i32, ptr %6855, align 4, !tbaa !5
  %6857 = call ptr @s2n_strerror_debug(i32 noundef %6856, ptr noundef @.str.4)
  %6858 = call ptr @__errno_location() #10
  %6859 = load i32, ptr %6858, align 4, !tbaa !5
  %6860 = call ptr @strerror(i32 noundef %6859) #9
  %6861 = call ptr @__errno_location() #10
  %6862 = load i32, ptr %6861, align 4, !tbaa !5
  %6863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6850, ptr noundef @.str.5, i32 noundef %6851, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 238, ptr noundef %6854, ptr noundef %6857, ptr noundef %6860, i32 noundef %6862) #9
  br label %6864

6864:                                             ; preds = %6847, %6830
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #9
  br label %6865

6865:                                             ; preds = %6864
  br label %6866

6866:                                             ; preds = %6865
  call void @exit(i32 noundef 1) #11
  unreachable

6867:                                             ; No predecessors!
  br label %6868

6868:                                             ; preds = %6867
  br label %6869

6869:                                             ; preds = %6868, %6811
  br label %6870

6870:                                             ; preds = %6869
  br label %6871

6871:                                             ; preds = %6870
  br label %6872

6872:                                             ; preds = %6871
  %6873 = load i32, ptr @test_count, align 4, !tbaa !5
  %6874 = add nsw i32 %6873, 1
  store i32 %6874, ptr @test_count, align 4, !tbaa !5
  %6875 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %135, i32 noundef 0)
  %6876 = icmp eq i32 %6875, -1
  br i1 %6876, label %6877, label %6930

6877:                                             ; preds = %6872
  br label %6878

6878:                                             ; preds = %6877
  br label %6879

6879:                                             ; preds = %6878
  call void @llvm.lifetime.start.p0(i64 4, ptr %137) #9
  %6880 = call ptr @__errno_location() #10
  %6881 = load i32, ptr %6880, align 4, !tbaa !5
  store i32 %6881, ptr %137, align 4, !tbaa !5
  %6882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6883 = call i32 @s2n_print_stacktrace(ptr noundef %6882)
  %6884 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6885 = trunc i8 %6884 to i1
  br i1 %6885, label %6886, label %6908

6886:                                             ; preds = %6879
  %6887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6888 = call i32 @fileno(ptr noundef %6887) #9
  %6889 = call i32 @isatty(i32 noundef %6888) #9
  %6890 = icmp ne i32 %6889, 0
  br i1 %6890, label %6891, label %6908

6891:                                             ; preds = %6886
  %6892 = load i32, ptr %137, align 4, !tbaa !5
  %6893 = call ptr @__errno_location() #10
  store i32 %6892, ptr %6893, align 4, !tbaa !5
  %6894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6895 = load i32, ptr @test_count, align 4, !tbaa !5
  %6896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6897 = load i32, ptr %6896, align 4, !tbaa !5
  %6898 = call ptr @s2n_strerror(i32 noundef %6897, ptr noundef @.str.4)
  %6899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6900 = load i32, ptr %6899, align 4, !tbaa !5
  %6901 = call ptr @s2n_strerror_debug(i32 noundef %6900, ptr noundef @.str.4)
  %6902 = call ptr @__errno_location() #10
  %6903 = load i32, ptr %6902, align 4, !tbaa !5
  %6904 = call ptr @strerror(i32 noundef %6903) #9
  %6905 = call ptr @__errno_location() #10
  %6906 = load i32, ptr %6905, align 4, !tbaa !5
  %6907 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6894, ptr noundef @.str.2, i32 noundef %6895, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 239, ptr noundef %6898, ptr noundef %6901, ptr noundef %6904, i32 noundef %6906) #9
  br label %6925

6908:                                             ; preds = %6886, %6879
  %6909 = load i32, ptr %137, align 4, !tbaa !5
  %6910 = call ptr @__errno_location() #10
  store i32 %6909, ptr %6910, align 4, !tbaa !5
  %6911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6912 = load i32, ptr @test_count, align 4, !tbaa !5
  %6913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6914 = load i32, ptr %6913, align 4, !tbaa !5
  %6915 = call ptr @s2n_strerror(i32 noundef %6914, ptr noundef @.str.4)
  %6916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6917 = load i32, ptr %6916, align 4, !tbaa !5
  %6918 = call ptr @s2n_strerror_debug(i32 noundef %6917, ptr noundef @.str.4)
  %6919 = call ptr @__errno_location() #10
  %6920 = load i32, ptr %6919, align 4, !tbaa !5
  %6921 = call ptr @strerror(i32 noundef %6920) #9
  %6922 = call ptr @__errno_location() #10
  %6923 = load i32, ptr %6922, align 4, !tbaa !5
  %6924 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6911, ptr noundef @.str.5, i32 noundef %6912, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 239, ptr noundef %6915, ptr noundef %6918, ptr noundef %6921, i32 noundef %6923) #9
  br label %6925

6925:                                             ; preds = %6908, %6891
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #9
  br label %6926

6926:                                             ; preds = %6925
  br label %6927

6927:                                             ; preds = %6926
  call void @exit(i32 noundef 1) #11
  unreachable

6928:                                             ; No predecessors!
  br label %6929

6929:                                             ; preds = %6928
  br label %6930

6930:                                             ; preds = %6929, %6872
  br label %6931

6931:                                             ; preds = %6930
  br label %6932

6932:                                             ; preds = %6931
  br label %6933

6933:                                             ; preds = %6932
  %6934 = load i32, ptr @test_count, align 4, !tbaa !5
  %6935 = add nsw i32 %6934, 1
  store i32 %6935, ptr @test_count, align 4, !tbaa !5
  %6936 = load ptr, ptr %126, align 8, !tbaa !9
  %6937 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %134, ptr noundef %135, ptr noundef %6936)
  %6938 = icmp eq i32 %6937, -1
  br i1 %6938, label %6939, label %6992

6939:                                             ; preds = %6933
  br label %6940

6940:                                             ; preds = %6939
  br label %6941

6941:                                             ; preds = %6940
  call void @llvm.lifetime.start.p0(i64 4, ptr %138) #9
  %6942 = call ptr @__errno_location() #10
  %6943 = load i32, ptr %6942, align 4, !tbaa !5
  store i32 %6943, ptr %138, align 4, !tbaa !5
  %6944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6945 = call i32 @s2n_print_stacktrace(ptr noundef %6944)
  %6946 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6947 = trunc i8 %6946 to i1
  br i1 %6947, label %6948, label %6970

6948:                                             ; preds = %6941
  %6949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6950 = call i32 @fileno(ptr noundef %6949) #9
  %6951 = call i32 @isatty(i32 noundef %6950) #9
  %6952 = icmp ne i32 %6951, 0
  br i1 %6952, label %6953, label %6970

6953:                                             ; preds = %6948
  %6954 = load i32, ptr %138, align 4, !tbaa !5
  %6955 = call ptr @__errno_location() #10
  store i32 %6954, ptr %6955, align 4, !tbaa !5
  %6956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6957 = load i32, ptr @test_count, align 4, !tbaa !5
  %6958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6959 = load i32, ptr %6958, align 4, !tbaa !5
  %6960 = call ptr @s2n_strerror(i32 noundef %6959, ptr noundef @.str.4)
  %6961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6962 = load i32, ptr %6961, align 4, !tbaa !5
  %6963 = call ptr @s2n_strerror_debug(i32 noundef %6962, ptr noundef @.str.4)
  %6964 = call ptr @__errno_location() #10
  %6965 = load i32, ptr %6964, align 4, !tbaa !5
  %6966 = call ptr @strerror(i32 noundef %6965) #9
  %6967 = call ptr @__errno_location() #10
  %6968 = load i32, ptr %6967, align 4, !tbaa !5
  %6969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6956, ptr noundef @.str.2, i32 noundef %6957, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 240, ptr noundef %6960, ptr noundef %6963, ptr noundef %6966, i32 noundef %6968) #9
  br label %6987

6970:                                             ; preds = %6948, %6941
  %6971 = load i32, ptr %138, align 4, !tbaa !5
  %6972 = call ptr @__errno_location() #10
  store i32 %6971, ptr %6972, align 4, !tbaa !5
  %6973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6974 = load i32, ptr @test_count, align 4, !tbaa !5
  %6975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6976 = load i32, ptr %6975, align 4, !tbaa !5
  %6977 = call ptr @s2n_strerror(i32 noundef %6976, ptr noundef @.str.4)
  %6978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6979 = load i32, ptr %6978, align 4, !tbaa !5
  %6980 = call ptr @s2n_strerror_debug(i32 noundef %6979, ptr noundef @.str.4)
  %6981 = call ptr @__errno_location() #10
  %6982 = load i32, ptr %6981, align 4, !tbaa !5
  %6983 = call ptr @strerror(i32 noundef %6982) #9
  %6984 = call ptr @__errno_location() #10
  %6985 = load i32, ptr %6984, align 4, !tbaa !5
  %6986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6973, ptr noundef @.str.5, i32 noundef %6974, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 240, ptr noundef %6977, ptr noundef %6980, ptr noundef %6983, i32 noundef %6985) #9
  br label %6987

6987:                                             ; preds = %6970, %6953
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #9
  br label %6988

6988:                                             ; preds = %6987
  br label %6989

6989:                                             ; preds = %6988
  call void @exit(i32 noundef 1) #11
  unreachable

6990:                                             ; No predecessors!
  br label %6991

6991:                                             ; preds = %6990
  br label %6992

6992:                                             ; preds = %6991, %6933
  br label %6993

6993:                                             ; preds = %6992
  br label %6994

6994:                                             ; preds = %6993
  br label %6995

6995:                                             ; preds = %6994
  %6996 = load i32, ptr @test_count, align 4, !tbaa !5
  %6997 = add nsw i32 %6996, 1
  store i32 %6997, ptr @test_count, align 4, !tbaa !5
  %6998 = load ptr, ptr %129, align 8, !tbaa !9
  %6999 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %135, ptr noundef %134, ptr noundef %6998)
  %7000 = icmp eq i32 %6999, -1
  br i1 %7000, label %7001, label %7054

7001:                                             ; preds = %6995
  br label %7002

7002:                                             ; preds = %7001
  br label %7003

7003:                                             ; preds = %7002
  call void @llvm.lifetime.start.p0(i64 4, ptr %139) #9
  %7004 = call ptr @__errno_location() #10
  %7005 = load i32, ptr %7004, align 4, !tbaa !5
  store i32 %7005, ptr %139, align 4, !tbaa !5
  %7006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7007 = call i32 @s2n_print_stacktrace(ptr noundef %7006)
  %7008 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7009 = trunc i8 %7008 to i1
  br i1 %7009, label %7010, label %7032

7010:                                             ; preds = %7003
  %7011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7012 = call i32 @fileno(ptr noundef %7011) #9
  %7013 = call i32 @isatty(i32 noundef %7012) #9
  %7014 = icmp ne i32 %7013, 0
  br i1 %7014, label %7015, label %7032

7015:                                             ; preds = %7010
  %7016 = load i32, ptr %139, align 4, !tbaa !5
  %7017 = call ptr @__errno_location() #10
  store i32 %7016, ptr %7017, align 4, !tbaa !5
  %7018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7019 = load i32, ptr @test_count, align 4, !tbaa !5
  %7020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7021 = load i32, ptr %7020, align 4, !tbaa !5
  %7022 = call ptr @s2n_strerror(i32 noundef %7021, ptr noundef @.str.4)
  %7023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7024 = load i32, ptr %7023, align 4, !tbaa !5
  %7025 = call ptr @s2n_strerror_debug(i32 noundef %7024, ptr noundef @.str.4)
  %7026 = call ptr @__errno_location() #10
  %7027 = load i32, ptr %7026, align 4, !tbaa !5
  %7028 = call ptr @strerror(i32 noundef %7027) #9
  %7029 = call ptr @__errno_location() #10
  %7030 = load i32, ptr %7029, align 4, !tbaa !5
  %7031 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7018, ptr noundef @.str.2, i32 noundef %7019, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 241, ptr noundef %7022, ptr noundef %7025, ptr noundef %7028, i32 noundef %7030) #9
  br label %7049

7032:                                             ; preds = %7010, %7003
  %7033 = load i32, ptr %139, align 4, !tbaa !5
  %7034 = call ptr @__errno_location() #10
  store i32 %7033, ptr %7034, align 4, !tbaa !5
  %7035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7036 = load i32, ptr @test_count, align 4, !tbaa !5
  %7037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7038 = load i32, ptr %7037, align 4, !tbaa !5
  %7039 = call ptr @s2n_strerror(i32 noundef %7038, ptr noundef @.str.4)
  %7040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7041 = load i32, ptr %7040, align 4, !tbaa !5
  %7042 = call ptr @s2n_strerror_debug(i32 noundef %7041, ptr noundef @.str.4)
  %7043 = call ptr @__errno_location() #10
  %7044 = load i32, ptr %7043, align 4, !tbaa !5
  %7045 = call ptr @strerror(i32 noundef %7044) #9
  %7046 = call ptr @__errno_location() #10
  %7047 = load i32, ptr %7046, align 4, !tbaa !5
  %7048 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7035, ptr noundef @.str.5, i32 noundef %7036, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 241, ptr noundef %7039, ptr noundef %7042, ptr noundef %7045, i32 noundef %7047) #9
  br label %7049

7049:                                             ; preds = %7032, %7015
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #9
  br label %7050

7050:                                             ; preds = %7049
  br label %7051

7051:                                             ; preds = %7050
  call void @exit(i32 noundef 1) #11
  unreachable

7052:                                             ; No predecessors!
  br label %7053

7053:                                             ; preds = %7052
  br label %7054

7054:                                             ; preds = %7053, %6995
  br label %7055

7055:                                             ; preds = %7054
  br label %7056

7056:                                             ; preds = %7055
  br label %7057

7057:                                             ; preds = %7056
  %7058 = load i32, ptr @test_count, align 4, !tbaa !5
  %7059 = add nsw i32 %7058, 1
  store i32 %7059, ptr @test_count, align 4, !tbaa !5
  %7060 = load ptr, ptr %129, align 8, !tbaa !9
  %7061 = load ptr, ptr %126, align 8, !tbaa !9
  %7062 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %7060, ptr noundef %7061)
  %7063 = icmp eq i32 %7062, -1
  br i1 %7063, label %7064, label %7117

7064:                                             ; preds = %7057
  br label %7065

7065:                                             ; preds = %7064
  br label %7066

7066:                                             ; preds = %7065
  call void @llvm.lifetime.start.p0(i64 4, ptr %140) #9
  %7067 = call ptr @__errno_location() #10
  %7068 = load i32, ptr %7067, align 4, !tbaa !5
  store i32 %7068, ptr %140, align 4, !tbaa !5
  %7069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7070 = call i32 @s2n_print_stacktrace(ptr noundef %7069)
  %7071 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7072 = trunc i8 %7071 to i1
  br i1 %7072, label %7073, label %7095

7073:                                             ; preds = %7066
  %7074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7075 = call i32 @fileno(ptr noundef %7074) #9
  %7076 = call i32 @isatty(i32 noundef %7075) #9
  %7077 = icmp ne i32 %7076, 0
  br i1 %7077, label %7078, label %7095

7078:                                             ; preds = %7073
  %7079 = load i32, ptr %140, align 4, !tbaa !5
  %7080 = call ptr @__errno_location() #10
  store i32 %7079, ptr %7080, align 4, !tbaa !5
  %7081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7082 = load i32, ptr @test_count, align 4, !tbaa !5
  %7083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7084 = load i32, ptr %7083, align 4, !tbaa !5
  %7085 = call ptr @s2n_strerror(i32 noundef %7084, ptr noundef @.str.4)
  %7086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7087 = load i32, ptr %7086, align 4, !tbaa !5
  %7088 = call ptr @s2n_strerror_debug(i32 noundef %7087, ptr noundef @.str.4)
  %7089 = call ptr @__errno_location() #10
  %7090 = load i32, ptr %7089, align 4, !tbaa !5
  %7091 = call ptr @strerror(i32 noundef %7090) #9
  %7092 = call ptr @__errno_location() #10
  %7093 = load i32, ptr %7092, align 4, !tbaa !5
  %7094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7081, ptr noundef @.str.2, i32 noundef %7082, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 244, ptr noundef %7085, ptr noundef %7088, ptr noundef %7091, i32 noundef %7093) #9
  br label %7112

7095:                                             ; preds = %7073, %7066
  %7096 = load i32, ptr %140, align 4, !tbaa !5
  %7097 = call ptr @__errno_location() #10
  store i32 %7096, ptr %7097, align 4, !tbaa !5
  %7098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7099 = load i32, ptr @test_count, align 4, !tbaa !5
  %7100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7101 = load i32, ptr %7100, align 4, !tbaa !5
  %7102 = call ptr @s2n_strerror(i32 noundef %7101, ptr noundef @.str.4)
  %7103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7104 = load i32, ptr %7103, align 4, !tbaa !5
  %7105 = call ptr @s2n_strerror_debug(i32 noundef %7104, ptr noundef @.str.4)
  %7106 = call ptr @__errno_location() #10
  %7107 = load i32, ptr %7106, align 4, !tbaa !5
  %7108 = call ptr @strerror(i32 noundef %7107) #9
  %7109 = call ptr @__errno_location() #10
  %7110 = load i32, ptr %7109, align 4, !tbaa !5
  %7111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7098, ptr noundef @.str.5, i32 noundef %7099, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 244, ptr noundef %7102, ptr noundef %7105, ptr noundef %7108, i32 noundef %7110) #9
  br label %7112

7112:                                             ; preds = %7095, %7078
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #9
  br label %7113

7113:                                             ; preds = %7112
  br label %7114

7114:                                             ; preds = %7113
  call void @exit(i32 noundef 1) #11
  unreachable

7115:                                             ; No predecessors!
  br label %7116

7116:                                             ; preds = %7115
  br label %7117

7117:                                             ; preds = %7116, %7057
  br label %7118

7118:                                             ; preds = %7117
  br label %7119

7119:                                             ; preds = %7118
  br label %7120

7120:                                             ; preds = %7119
  %7121 = load i32, ptr @test_count, align 4, !tbaa !5
  %7122 = add nsw i32 %7121, 1
  store i32 %7122, ptr @test_count, align 4, !tbaa !5
  %7123 = load ptr, ptr %126, align 8, !tbaa !9
  %7124 = getelementptr inbounds %struct.s2n_connection, ptr %7123, i32 0, i32 39
  %7125 = getelementptr inbounds %struct.s2n_stuffer, ptr %7124, i32 0, i32 0
  %7126 = getelementptr inbounds %struct.s2n_blob, ptr %7125, i32 0, i32 1
  %7127 = load i32, ptr %7126, align 8, !tbaa !45
  %7128 = icmp eq i32 %7127, 0
  br i1 %7128, label %7182, label %7129

7129:                                             ; preds = %7120
  br label %7130

7130:                                             ; preds = %7129
  br label %7131

7131:                                             ; preds = %7130
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #9
  %7132 = call ptr @__errno_location() #10
  %7133 = load i32, ptr %7132, align 4, !tbaa !5
  store i32 %7133, ptr %141, align 4, !tbaa !5
  %7134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7135 = call i32 @s2n_print_stacktrace(ptr noundef %7134)
  %7136 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7137 = trunc i8 %7136 to i1
  br i1 %7137, label %7138, label %7160

7138:                                             ; preds = %7131
  %7139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7140 = call i32 @fileno(ptr noundef %7139) #9
  %7141 = call i32 @isatty(i32 noundef %7140) #9
  %7142 = icmp ne i32 %7141, 0
  br i1 %7142, label %7143, label %7160

7143:                                             ; preds = %7138
  %7144 = load i32, ptr %141, align 4, !tbaa !5
  %7145 = call ptr @__errno_location() #10
  store i32 %7144, ptr %7145, align 4, !tbaa !5
  %7146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7147 = load i32, ptr @test_count, align 4, !tbaa !5
  %7148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7149 = load i32, ptr %7148, align 4, !tbaa !5
  %7150 = call ptr @s2n_strerror(i32 noundef %7149, ptr noundef @.str.4)
  %7151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7152 = load i32, ptr %7151, align 4, !tbaa !5
  %7153 = call ptr @s2n_strerror_debug(i32 noundef %7152, ptr noundef @.str.4)
  %7154 = call ptr @__errno_location() #10
  %7155 = load i32, ptr %7154, align 4, !tbaa !5
  %7156 = call ptr @strerror(i32 noundef %7155) #9
  %7157 = call ptr @__errno_location() #10
  %7158 = load i32, ptr %7157, align 4, !tbaa !5
  %7159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7146, ptr noundef @.str.2, i32 noundef %7147, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 247, ptr noundef %7150, ptr noundef %7153, ptr noundef %7156, i32 noundef %7158) #9
  br label %7177

7160:                                             ; preds = %7138, %7131
  %7161 = load i32, ptr %141, align 4, !tbaa !5
  %7162 = call ptr @__errno_location() #10
  store i32 %7161, ptr %7162, align 4, !tbaa !5
  %7163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7164 = load i32, ptr @test_count, align 4, !tbaa !5
  %7165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7166 = load i32, ptr %7165, align 4, !tbaa !5
  %7167 = call ptr @s2n_strerror(i32 noundef %7166, ptr noundef @.str.4)
  %7168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7169 = load i32, ptr %7168, align 4, !tbaa !5
  %7170 = call ptr @s2n_strerror_debug(i32 noundef %7169, ptr noundef @.str.4)
  %7171 = call ptr @__errno_location() #10
  %7172 = load i32, ptr %7171, align 4, !tbaa !5
  %7173 = call ptr @strerror(i32 noundef %7172) #9
  %7174 = call ptr @__errno_location() #10
  %7175 = load i32, ptr %7174, align 4, !tbaa !5
  %7176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7163, ptr noundef @.str.5, i32 noundef %7164, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 247, ptr noundef %7167, ptr noundef %7170, ptr noundef %7173, i32 noundef %7175) #9
  br label %7177

7177:                                             ; preds = %7160, %7143
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #9
  br label %7178

7178:                                             ; preds = %7177
  br label %7179

7179:                                             ; preds = %7178
  call void @exit(i32 noundef 1) #11
  unreachable

7180:                                             ; No predecessors!
  br label %7181

7181:                                             ; preds = %7180
  br label %7182

7182:                                             ; preds = %7181, %7120
  br label %7183

7183:                                             ; preds = %7182
  br label %7184

7184:                                             ; preds = %7183
  br label %7185

7185:                                             ; preds = %7184
  %7186 = load i32, ptr @test_count, align 4, !tbaa !5
  %7187 = add nsw i32 %7186, 1
  store i32 %7187, ptr @test_count, align 4, !tbaa !5
  %7188 = load ptr, ptr %126, align 8, !tbaa !9
  %7189 = getelementptr inbounds %struct.s2n_connection, ptr %7188, i32 0, i32 41
  %7190 = getelementptr inbounds %struct.s2n_stuffer, ptr %7189, i32 0, i32 0
  %7191 = getelementptr inbounds %struct.s2n_blob, ptr %7190, i32 0, i32 1
  %7192 = load i32, ptr %7191, align 8, !tbaa !43
  %7193 = icmp eq i32 %7192, 0
  br i1 %7193, label %7247, label %7194

7194:                                             ; preds = %7185
  br label %7195

7195:                                             ; preds = %7194
  br label %7196

7196:                                             ; preds = %7195
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #9
  %7197 = call ptr @__errno_location() #10
  %7198 = load i32, ptr %7197, align 4, !tbaa !5
  store i32 %7198, ptr %142, align 4, !tbaa !5
  %7199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7200 = call i32 @s2n_print_stacktrace(ptr noundef %7199)
  %7201 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7202 = trunc i8 %7201 to i1
  br i1 %7202, label %7203, label %7225

7203:                                             ; preds = %7196
  %7204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7205 = call i32 @fileno(ptr noundef %7204) #9
  %7206 = call i32 @isatty(i32 noundef %7205) #9
  %7207 = icmp ne i32 %7206, 0
  br i1 %7207, label %7208, label %7225

7208:                                             ; preds = %7203
  %7209 = load i32, ptr %142, align 4, !tbaa !5
  %7210 = call ptr @__errno_location() #10
  store i32 %7209, ptr %7210, align 4, !tbaa !5
  %7211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7212 = load i32, ptr @test_count, align 4, !tbaa !5
  %7213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7214 = load i32, ptr %7213, align 4, !tbaa !5
  %7215 = call ptr @s2n_strerror(i32 noundef %7214, ptr noundef @.str.4)
  %7216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7217 = load i32, ptr %7216, align 4, !tbaa !5
  %7218 = call ptr @s2n_strerror_debug(i32 noundef %7217, ptr noundef @.str.4)
  %7219 = call ptr @__errno_location() #10
  %7220 = load i32, ptr %7219, align 4, !tbaa !5
  %7221 = call ptr @strerror(i32 noundef %7220) #9
  %7222 = call ptr @__errno_location() #10
  %7223 = load i32, ptr %7222, align 4, !tbaa !5
  %7224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7211, ptr noundef @.str.2, i32 noundef %7212, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 248, ptr noundef %7215, ptr noundef %7218, ptr noundef %7221, i32 noundef %7223) #9
  br label %7242

7225:                                             ; preds = %7203, %7196
  %7226 = load i32, ptr %142, align 4, !tbaa !5
  %7227 = call ptr @__errno_location() #10
  store i32 %7226, ptr %7227, align 4, !tbaa !5
  %7228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7229 = load i32, ptr @test_count, align 4, !tbaa !5
  %7230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7231 = load i32, ptr %7230, align 4, !tbaa !5
  %7232 = call ptr @s2n_strerror(i32 noundef %7231, ptr noundef @.str.4)
  %7233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7234 = load i32, ptr %7233, align 4, !tbaa !5
  %7235 = call ptr @s2n_strerror_debug(i32 noundef %7234, ptr noundef @.str.4)
  %7236 = call ptr @__errno_location() #10
  %7237 = load i32, ptr %7236, align 4, !tbaa !5
  %7238 = call ptr @strerror(i32 noundef %7237) #9
  %7239 = call ptr @__errno_location() #10
  %7240 = load i32, ptr %7239, align 4, !tbaa !5
  %7241 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7228, ptr noundef @.str.5, i32 noundef %7229, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 248, ptr noundef %7232, ptr noundef %7235, ptr noundef %7238, i32 noundef %7240) #9
  br label %7242

7242:                                             ; preds = %7225, %7208
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #9
  br label %7243

7243:                                             ; preds = %7242
  br label %7244

7244:                                             ; preds = %7243
  call void @exit(i32 noundef 1) #11
  unreachable

7245:                                             ; No predecessors!
  br label %7246

7246:                                             ; preds = %7245
  br label %7247

7247:                                             ; preds = %7246, %7185
  br label %7248

7248:                                             ; preds = %7247
  br label %7249

7249:                                             ; preds = %7248
  br label %7250

7250:                                             ; preds = %7249
  %7251 = load i32, ptr @test_count, align 4, !tbaa !5
  %7252 = add nsw i32 %7251, 1
  store i32 %7252, ptr @test_count, align 4, !tbaa !5
  %7253 = load ptr, ptr %129, align 8, !tbaa !9
  %7254 = getelementptr inbounds %struct.s2n_connection, ptr %7253, i32 0, i32 39
  %7255 = getelementptr inbounds %struct.s2n_stuffer, ptr %7254, i32 0, i32 0
  %7256 = getelementptr inbounds %struct.s2n_blob, ptr %7255, i32 0, i32 1
  %7257 = load i32, ptr %7256, align 8, !tbaa !45
  %7258 = icmp eq i32 %7257, 0
  br i1 %7258, label %7312, label %7259

7259:                                             ; preds = %7250
  br label %7260

7260:                                             ; preds = %7259
  br label %7261

7261:                                             ; preds = %7260
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #9
  %7262 = call ptr @__errno_location() #10
  %7263 = load i32, ptr %7262, align 4, !tbaa !5
  store i32 %7263, ptr %143, align 4, !tbaa !5
  %7264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7265 = call i32 @s2n_print_stacktrace(ptr noundef %7264)
  %7266 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7267 = trunc i8 %7266 to i1
  br i1 %7267, label %7268, label %7290

7268:                                             ; preds = %7261
  %7269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7270 = call i32 @fileno(ptr noundef %7269) #9
  %7271 = call i32 @isatty(i32 noundef %7270) #9
  %7272 = icmp ne i32 %7271, 0
  br i1 %7272, label %7273, label %7290

7273:                                             ; preds = %7268
  %7274 = load i32, ptr %143, align 4, !tbaa !5
  %7275 = call ptr @__errno_location() #10
  store i32 %7274, ptr %7275, align 4, !tbaa !5
  %7276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7277 = load i32, ptr @test_count, align 4, !tbaa !5
  %7278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7279 = load i32, ptr %7278, align 4, !tbaa !5
  %7280 = call ptr @s2n_strerror(i32 noundef %7279, ptr noundef @.str.4)
  %7281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7282 = load i32, ptr %7281, align 4, !tbaa !5
  %7283 = call ptr @s2n_strerror_debug(i32 noundef %7282, ptr noundef @.str.4)
  %7284 = call ptr @__errno_location() #10
  %7285 = load i32, ptr %7284, align 4, !tbaa !5
  %7286 = call ptr @strerror(i32 noundef %7285) #9
  %7287 = call ptr @__errno_location() #10
  %7288 = load i32, ptr %7287, align 4, !tbaa !5
  %7289 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7276, ptr noundef @.str.2, i32 noundef %7277, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 249, ptr noundef %7280, ptr noundef %7283, ptr noundef %7286, i32 noundef %7288) #9
  br label %7307

7290:                                             ; preds = %7268, %7261
  %7291 = load i32, ptr %143, align 4, !tbaa !5
  %7292 = call ptr @__errno_location() #10
  store i32 %7291, ptr %7292, align 4, !tbaa !5
  %7293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7294 = load i32, ptr @test_count, align 4, !tbaa !5
  %7295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7296 = load i32, ptr %7295, align 4, !tbaa !5
  %7297 = call ptr @s2n_strerror(i32 noundef %7296, ptr noundef @.str.4)
  %7298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7299 = load i32, ptr %7298, align 4, !tbaa !5
  %7300 = call ptr @s2n_strerror_debug(i32 noundef %7299, ptr noundef @.str.4)
  %7301 = call ptr @__errno_location() #10
  %7302 = load i32, ptr %7301, align 4, !tbaa !5
  %7303 = call ptr @strerror(i32 noundef %7302) #9
  %7304 = call ptr @__errno_location() #10
  %7305 = load i32, ptr %7304, align 4, !tbaa !5
  %7306 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7293, ptr noundef @.str.5, i32 noundef %7294, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 249, ptr noundef %7297, ptr noundef %7300, ptr noundef %7303, i32 noundef %7305) #9
  br label %7307

7307:                                             ; preds = %7290, %7273
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #9
  br label %7308

7308:                                             ; preds = %7307
  br label %7309

7309:                                             ; preds = %7308
  call void @exit(i32 noundef 1) #11
  unreachable

7310:                                             ; No predecessors!
  br label %7311

7311:                                             ; preds = %7310
  br label %7312

7312:                                             ; preds = %7311, %7250
  br label %7313

7313:                                             ; preds = %7312
  br label %7314

7314:                                             ; preds = %7313
  br label %7315

7315:                                             ; preds = %7314
  %7316 = load i32, ptr @test_count, align 4, !tbaa !5
  %7317 = add nsw i32 %7316, 1
  store i32 %7317, ptr @test_count, align 4, !tbaa !5
  %7318 = load ptr, ptr %129, align 8, !tbaa !9
  %7319 = getelementptr inbounds %struct.s2n_connection, ptr %7318, i32 0, i32 41
  %7320 = getelementptr inbounds %struct.s2n_stuffer, ptr %7319, i32 0, i32 0
  %7321 = getelementptr inbounds %struct.s2n_blob, ptr %7320, i32 0, i32 1
  %7322 = load i32, ptr %7321, align 8, !tbaa !43
  %7323 = icmp eq i32 %7322, 0
  br i1 %7323, label %7377, label %7324

7324:                                             ; preds = %7315
  br label %7325

7325:                                             ; preds = %7324
  br label %7326

7326:                                             ; preds = %7325
  call void @llvm.lifetime.start.p0(i64 4, ptr %144) #9
  %7327 = call ptr @__errno_location() #10
  %7328 = load i32, ptr %7327, align 4, !tbaa !5
  store i32 %7328, ptr %144, align 4, !tbaa !5
  %7329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7330 = call i32 @s2n_print_stacktrace(ptr noundef %7329)
  %7331 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7332 = trunc i8 %7331 to i1
  br i1 %7332, label %7333, label %7355

7333:                                             ; preds = %7326
  %7334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7335 = call i32 @fileno(ptr noundef %7334) #9
  %7336 = call i32 @isatty(i32 noundef %7335) #9
  %7337 = icmp ne i32 %7336, 0
  br i1 %7337, label %7338, label %7355

7338:                                             ; preds = %7333
  %7339 = load i32, ptr %144, align 4, !tbaa !5
  %7340 = call ptr @__errno_location() #10
  store i32 %7339, ptr %7340, align 4, !tbaa !5
  %7341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7342 = load i32, ptr @test_count, align 4, !tbaa !5
  %7343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7344 = load i32, ptr %7343, align 4, !tbaa !5
  %7345 = call ptr @s2n_strerror(i32 noundef %7344, ptr noundef @.str.4)
  %7346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7347 = load i32, ptr %7346, align 4, !tbaa !5
  %7348 = call ptr @s2n_strerror_debug(i32 noundef %7347, ptr noundef @.str.4)
  %7349 = call ptr @__errno_location() #10
  %7350 = load i32, ptr %7349, align 4, !tbaa !5
  %7351 = call ptr @strerror(i32 noundef %7350) #9
  %7352 = call ptr @__errno_location() #10
  %7353 = load i32, ptr %7352, align 4, !tbaa !5
  %7354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7341, ptr noundef @.str.2, i32 noundef %7342, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 250, ptr noundef %7345, ptr noundef %7348, ptr noundef %7351, i32 noundef %7353) #9
  br label %7372

7355:                                             ; preds = %7333, %7326
  %7356 = load i32, ptr %144, align 4, !tbaa !5
  %7357 = call ptr @__errno_location() #10
  store i32 %7356, ptr %7357, align 4, !tbaa !5
  %7358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7359 = load i32, ptr @test_count, align 4, !tbaa !5
  %7360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7361 = load i32, ptr %7360, align 4, !tbaa !5
  %7362 = call ptr @s2n_strerror(i32 noundef %7361, ptr noundef @.str.4)
  %7363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7364 = load i32, ptr %7363, align 4, !tbaa !5
  %7365 = call ptr @s2n_strerror_debug(i32 noundef %7364, ptr noundef @.str.4)
  %7366 = call ptr @__errno_location() #10
  %7367 = load i32, ptr %7366, align 4, !tbaa !5
  %7368 = call ptr @strerror(i32 noundef %7367) #9
  %7369 = call ptr @__errno_location() #10
  %7370 = load i32, ptr %7369, align 4, !tbaa !5
  %7371 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7358, ptr noundef @.str.5, i32 noundef %7359, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 250, ptr noundef %7362, ptr noundef %7365, ptr noundef %7368, i32 noundef %7370) #9
  br label %7372

7372:                                             ; preds = %7355, %7338
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #9
  br label %7373

7373:                                             ; preds = %7372
  br label %7374

7374:                                             ; preds = %7373
  call void @exit(i32 noundef 1) #11
  unreachable

7375:                                             ; No predecessors!
  br label %7376

7376:                                             ; preds = %7375
  br label %7377

7377:                                             ; preds = %7376, %7315
  br label %7378

7378:                                             ; preds = %7377
  br label %7379

7379:                                             ; preds = %7378
  br label %7380

7380:                                             ; preds = %7379
  %7381 = load i32, ptr @test_count, align 4, !tbaa !5
  %7382 = add nsw i32 %7381, 1
  store i32 %7382, ptr @test_count, align 4, !tbaa !5
  %7383 = call i32 @s2n_stuffer_free(ptr noundef %134)
  %7384 = icmp eq i32 %7383, -1
  br i1 %7384, label %7385, label %7438

7385:                                             ; preds = %7380
  br label %7386

7386:                                             ; preds = %7385
  br label %7387

7387:                                             ; preds = %7386
  call void @llvm.lifetime.start.p0(i64 4, ptr %145) #9
  %7388 = call ptr @__errno_location() #10
  %7389 = load i32, ptr %7388, align 4, !tbaa !5
  store i32 %7389, ptr %145, align 4, !tbaa !5
  %7390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7391 = call i32 @s2n_print_stacktrace(ptr noundef %7390)
  %7392 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7393 = trunc i8 %7392 to i1
  br i1 %7393, label %7394, label %7416

7394:                                             ; preds = %7387
  %7395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7396 = call i32 @fileno(ptr noundef %7395) #9
  %7397 = call i32 @isatty(i32 noundef %7396) #9
  %7398 = icmp ne i32 %7397, 0
  br i1 %7398, label %7399, label %7416

7399:                                             ; preds = %7394
  %7400 = load i32, ptr %145, align 4, !tbaa !5
  %7401 = call ptr @__errno_location() #10
  store i32 %7400, ptr %7401, align 4, !tbaa !5
  %7402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7403 = load i32, ptr @test_count, align 4, !tbaa !5
  %7404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7405 = load i32, ptr %7404, align 4, !tbaa !5
  %7406 = call ptr @s2n_strerror(i32 noundef %7405, ptr noundef @.str.4)
  %7407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7408 = load i32, ptr %7407, align 4, !tbaa !5
  %7409 = call ptr @s2n_strerror_debug(i32 noundef %7408, ptr noundef @.str.4)
  %7410 = call ptr @__errno_location() #10
  %7411 = load i32, ptr %7410, align 4, !tbaa !5
  %7412 = call ptr @strerror(i32 noundef %7411) #9
  %7413 = call ptr @__errno_location() #10
  %7414 = load i32, ptr %7413, align 4, !tbaa !5
  %7415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7402, ptr noundef @.str.2, i32 noundef %7403, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 253, ptr noundef %7406, ptr noundef %7409, ptr noundef %7412, i32 noundef %7414) #9
  br label %7433

7416:                                             ; preds = %7394, %7387
  %7417 = load i32, ptr %145, align 4, !tbaa !5
  %7418 = call ptr @__errno_location() #10
  store i32 %7417, ptr %7418, align 4, !tbaa !5
  %7419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7420 = load i32, ptr @test_count, align 4, !tbaa !5
  %7421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7422 = load i32, ptr %7421, align 4, !tbaa !5
  %7423 = call ptr @s2n_strerror(i32 noundef %7422, ptr noundef @.str.4)
  %7424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7425 = load i32, ptr %7424, align 4, !tbaa !5
  %7426 = call ptr @s2n_strerror_debug(i32 noundef %7425, ptr noundef @.str.4)
  %7427 = call ptr @__errno_location() #10
  %7428 = load i32, ptr %7427, align 4, !tbaa !5
  %7429 = call ptr @strerror(i32 noundef %7428) #9
  %7430 = call ptr @__errno_location() #10
  %7431 = load i32, ptr %7430, align 4, !tbaa !5
  %7432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7419, ptr noundef @.str.5, i32 noundef %7420, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 253, ptr noundef %7423, ptr noundef %7426, ptr noundef %7429, i32 noundef %7431) #9
  br label %7433

7433:                                             ; preds = %7416, %7399
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #9
  br label %7434

7434:                                             ; preds = %7433
  br label %7435

7435:                                             ; preds = %7434
  call void @exit(i32 noundef 1) #11
  unreachable

7436:                                             ; No predecessors!
  br label %7437

7437:                                             ; preds = %7436
  br label %7438

7438:                                             ; preds = %7437, %7380
  br label %7439

7439:                                             ; preds = %7438
  br label %7440

7440:                                             ; preds = %7439
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #9
  store i32 0, ptr %146, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %147) #9
  store i32 0, ptr %147, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4096, ptr %148) #9
  call void @llvm.memset.p0.i64(ptr align 16 %148, i8 0, i64 4096, i1 false)
  %7441 = getelementptr inbounds <{ i8, [4095 x i8] }>, ptr %148, i32 0, i32 0
  store i8 42, ptr %7441, align 16
  %7442 = load ptr, ptr %129, align 8, !tbaa !9
  %7443 = call i64 @s2n_send(ptr noundef %7442, ptr noundef %148, i64 noundef 4096, ptr noundef %146)
  %7444 = trunc i64 %7443 to i32
  store i32 %7444, ptr %147, align 4, !tbaa !5
  br label %7445

7445:                                             ; preds = %7440
  br label %7446

7446:                                             ; preds = %7445
  %7447 = load i32, ptr @test_count, align 4, !tbaa !5
  %7448 = add nsw i32 %7447, 1
  store i32 %7448, ptr @test_count, align 4, !tbaa !5
  %7449 = load i32, ptr %147, align 4, !tbaa !5
  %7450 = icmp eq i32 %7449, -1
  br i1 %7450, label %7504, label %7451

7451:                                             ; preds = %7446
  br label %7452

7452:                                             ; preds = %7451
  br label %7453

7453:                                             ; preds = %7452
  call void @llvm.lifetime.start.p0(i64 4, ptr %149) #9
  %7454 = call ptr @__errno_location() #10
  %7455 = load i32, ptr %7454, align 4, !tbaa !5
  store i32 %7455, ptr %149, align 4, !tbaa !5
  %7456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7457 = call i32 @s2n_print_stacktrace(ptr noundef %7456)
  %7458 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7459 = trunc i8 %7458 to i1
  br i1 %7459, label %7460, label %7482

7460:                                             ; preds = %7453
  %7461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7462 = call i32 @fileno(ptr noundef %7461) #9
  %7463 = call i32 @isatty(i32 noundef %7462) #9
  %7464 = icmp ne i32 %7463, 0
  br i1 %7464, label %7465, label %7482

7465:                                             ; preds = %7460
  %7466 = load i32, ptr %149, align 4, !tbaa !5
  %7467 = call ptr @__errno_location() #10
  store i32 %7466, ptr %7467, align 4, !tbaa !5
  %7468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7469 = load i32, ptr @test_count, align 4, !tbaa !5
  %7470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7471 = load i32, ptr %7470, align 4, !tbaa !5
  %7472 = call ptr @s2n_strerror(i32 noundef %7471, ptr noundef @.str.4)
  %7473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7474 = load i32, ptr %7473, align 4, !tbaa !5
  %7475 = call ptr @s2n_strerror_debug(i32 noundef %7474, ptr noundef @.str.4)
  %7476 = call ptr @__errno_location() #10
  %7477 = load i32, ptr %7476, align 4, !tbaa !5
  %7478 = call ptr @strerror(i32 noundef %7477) #9
  %7479 = call ptr @__errno_location() #10
  %7480 = load i32, ptr %7479, align 4, !tbaa !5
  %7481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7468, ptr noundef @.str.2, i32 noundef %7469, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 264, ptr noundef %7472, ptr noundef %7475, ptr noundef %7478, i32 noundef %7480) #9
  br label %7499

7482:                                             ; preds = %7460, %7453
  %7483 = load i32, ptr %149, align 4, !tbaa !5
  %7484 = call ptr @__errno_location() #10
  store i32 %7483, ptr %7484, align 4, !tbaa !5
  %7485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7486 = load i32, ptr @test_count, align 4, !tbaa !5
  %7487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7488 = load i32, ptr %7487, align 4, !tbaa !5
  %7489 = call ptr @s2n_strerror(i32 noundef %7488, ptr noundef @.str.4)
  %7490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7491 = load i32, ptr %7490, align 4, !tbaa !5
  %7492 = call ptr @s2n_strerror_debug(i32 noundef %7491, ptr noundef @.str.4)
  %7493 = call ptr @__errno_location() #10
  %7494 = load i32, ptr %7493, align 4, !tbaa !5
  %7495 = call ptr @strerror(i32 noundef %7494) #9
  %7496 = call ptr @__errno_location() #10
  %7497 = load i32, ptr %7496, align 4, !tbaa !5
  %7498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7485, ptr noundef @.str.5, i32 noundef %7486, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 264, ptr noundef %7489, ptr noundef %7492, ptr noundef %7495, i32 noundef %7497) #9
  br label %7499

7499:                                             ; preds = %7482, %7465
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #9
  br label %7500

7500:                                             ; preds = %7499
  br label %7501

7501:                                             ; preds = %7500
  call void @exit(i32 noundef 1) #11
  unreachable

7502:                                             ; No predecessors!
  br label %7503

7503:                                             ; preds = %7502
  br label %7504

7504:                                             ; preds = %7503, %7446
  br label %7505

7505:                                             ; preds = %7504
  br label %7506

7506:                                             ; preds = %7505
  br label %7507

7507:                                             ; preds = %7506
  %7508 = load i32, ptr @test_count, align 4, !tbaa !5
  %7509 = add nsw i32 %7508, 1
  store i32 %7509, ptr @test_count, align 4, !tbaa !5
  %7510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7511 = load i32, ptr %7510, align 4, !tbaa !5
  %7512 = icmp eq i32 %7511, 0
  br i1 %7512, label %7513, label %7566

7513:                                             ; preds = %7507
  br label %7514

7514:                                             ; preds = %7513
  br label %7515

7515:                                             ; preds = %7514
  call void @llvm.lifetime.start.p0(i64 4, ptr %150) #9
  %7516 = call ptr @__errno_location() #10
  %7517 = load i32, ptr %7516, align 4, !tbaa !5
  store i32 %7517, ptr %150, align 4, !tbaa !5
  %7518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7519 = call i32 @s2n_print_stacktrace(ptr noundef %7518)
  %7520 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7521 = trunc i8 %7520 to i1
  br i1 %7521, label %7522, label %7544

7522:                                             ; preds = %7515
  %7523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7524 = call i32 @fileno(ptr noundef %7523) #9
  %7525 = call i32 @isatty(i32 noundef %7524) #9
  %7526 = icmp ne i32 %7525, 0
  br i1 %7526, label %7527, label %7544

7527:                                             ; preds = %7522
  %7528 = load i32, ptr %150, align 4, !tbaa !5
  %7529 = call ptr @__errno_location() #10
  store i32 %7528, ptr %7529, align 4, !tbaa !5
  %7530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7531 = load i32, ptr @test_count, align 4, !tbaa !5
  %7532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7533 = load i32, ptr %7532, align 4, !tbaa !5
  %7534 = call ptr @s2n_strerror(i32 noundef %7533, ptr noundef @.str.4)
  %7535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7536 = load i32, ptr %7535, align 4, !tbaa !5
  %7537 = call ptr @s2n_strerror_debug(i32 noundef %7536, ptr noundef @.str.4)
  %7538 = call ptr @__errno_location() #10
  %7539 = load i32, ptr %7538, align 4, !tbaa !5
  %7540 = call ptr @strerror(i32 noundef %7539) #9
  %7541 = call ptr @__errno_location() #10
  %7542 = load i32, ptr %7541, align 4, !tbaa !5
  %7543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7530, ptr noundef @.str.2, i32 noundef %7531, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 264, ptr noundef %7534, ptr noundef %7537, ptr noundef %7540, i32 noundef %7542) #9
  br label %7561

7544:                                             ; preds = %7522, %7515
  %7545 = load i32, ptr %150, align 4, !tbaa !5
  %7546 = call ptr @__errno_location() #10
  store i32 %7545, ptr %7546, align 4, !tbaa !5
  %7547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7548 = load i32, ptr @test_count, align 4, !tbaa !5
  %7549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7550 = load i32, ptr %7549, align 4, !tbaa !5
  %7551 = call ptr @s2n_strerror(i32 noundef %7550, ptr noundef @.str.4)
  %7552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7553 = load i32, ptr %7552, align 4, !tbaa !5
  %7554 = call ptr @s2n_strerror_debug(i32 noundef %7553, ptr noundef @.str.4)
  %7555 = call ptr @__errno_location() #10
  %7556 = load i32, ptr %7555, align 4, !tbaa !5
  %7557 = call ptr @strerror(i32 noundef %7556) #9
  %7558 = call ptr @__errno_location() #10
  %7559 = load i32, ptr %7558, align 4, !tbaa !5
  %7560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7547, ptr noundef @.str.5, i32 noundef %7548, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 264, ptr noundef %7551, ptr noundef %7554, ptr noundef %7557, i32 noundef %7559) #9
  br label %7561

7561:                                             ; preds = %7544, %7527
  call void @llvm.lifetime.end.p0(i64 4, ptr %150) #9
  br label %7562

7562:                                             ; preds = %7561
  br label %7563

7563:                                             ; preds = %7562
  call void @exit(i32 noundef 1) #11
  unreachable

7564:                                             ; No predecessors!
  br label %7565

7565:                                             ; preds = %7564
  br label %7566

7566:                                             ; preds = %7565, %7507
  br label %7567

7567:                                             ; preds = %7566
  br label %7568

7568:                                             ; preds = %7567
  br label %7569

7569:                                             ; preds = %7568
  %7570 = load i32, ptr @test_count, align 4, !tbaa !5
  %7571 = add nsw i32 %7570, 1
  store i32 %7571, ptr @test_count, align 4, !tbaa !5
  %7572 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7573 = load i32, ptr %7572, align 4, !tbaa !5
  %7574 = call ptr @s2n_strerror_debug(i32 noundef %7573, ptr noundef @.str.4)
  %7575 = icmp eq ptr %7574, null
  br i1 %7575, label %7576, label %7629

7576:                                             ; preds = %7569
  br label %7577

7577:                                             ; preds = %7576
  br label %7578

7578:                                             ; preds = %7577
  call void @llvm.lifetime.start.p0(i64 4, ptr %151) #9
  %7579 = call ptr @__errno_location() #10
  %7580 = load i32, ptr %7579, align 4, !tbaa !5
  store i32 %7580, ptr %151, align 4, !tbaa !5
  %7581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7582 = call i32 @s2n_print_stacktrace(ptr noundef %7581)
  %7583 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7584 = trunc i8 %7583 to i1
  br i1 %7584, label %7585, label %7607

7585:                                             ; preds = %7578
  %7586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7587 = call i32 @fileno(ptr noundef %7586) #9
  %7588 = call i32 @isatty(i32 noundef %7587) #9
  %7589 = icmp ne i32 %7588, 0
  br i1 %7589, label %7590, label %7607

7590:                                             ; preds = %7585
  %7591 = load i32, ptr %151, align 4, !tbaa !5
  %7592 = call ptr @__errno_location() #10
  store i32 %7591, ptr %7592, align 4, !tbaa !5
  %7593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7594 = load i32, ptr @test_count, align 4, !tbaa !5
  %7595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7596 = load i32, ptr %7595, align 4, !tbaa !5
  %7597 = call ptr @s2n_strerror(i32 noundef %7596, ptr noundef @.str.4)
  %7598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7599 = load i32, ptr %7598, align 4, !tbaa !5
  %7600 = call ptr @s2n_strerror_debug(i32 noundef %7599, ptr noundef @.str.4)
  %7601 = call ptr @__errno_location() #10
  %7602 = load i32, ptr %7601, align 4, !tbaa !5
  %7603 = call ptr @strerror(i32 noundef %7602) #9
  %7604 = call ptr @__errno_location() #10
  %7605 = load i32, ptr %7604, align 4, !tbaa !5
  %7606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7593, ptr noundef @.str.2, i32 noundef %7594, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 264, ptr noundef %7597, ptr noundef %7600, ptr noundef %7603, i32 noundef %7605) #9
  br label %7624

7607:                                             ; preds = %7585, %7578
  %7608 = load i32, ptr %151, align 4, !tbaa !5
  %7609 = call ptr @__errno_location() #10
  store i32 %7608, ptr %7609, align 4, !tbaa !5
  %7610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7611 = load i32, ptr @test_count, align 4, !tbaa !5
  %7612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7613 = load i32, ptr %7612, align 4, !tbaa !5
  %7614 = call ptr @s2n_strerror(i32 noundef %7613, ptr noundef @.str.4)
  %7615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7616 = load i32, ptr %7615, align 4, !tbaa !5
  %7617 = call ptr @s2n_strerror_debug(i32 noundef %7616, ptr noundef @.str.4)
  %7618 = call ptr @__errno_location() #10
  %7619 = load i32, ptr %7618, align 4, !tbaa !5
  %7620 = call ptr @strerror(i32 noundef %7619) #9
  %7621 = call ptr @__errno_location() #10
  %7622 = load i32, ptr %7621, align 4, !tbaa !5
  %7623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7610, ptr noundef @.str.5, i32 noundef %7611, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 264, ptr noundef %7614, ptr noundef %7617, ptr noundef %7620, i32 noundef %7622) #9
  br label %7624

7624:                                             ; preds = %7607, %7590
  call void @llvm.lifetime.end.p0(i64 4, ptr %151) #9
  br label %7625

7625:                                             ; preds = %7624
  br label %7626

7626:                                             ; preds = %7625
  call void @exit(i32 noundef 1) #11
  unreachable

7627:                                             ; No predecessors!
  br label %7628

7628:                                             ; preds = %7627
  br label %7629

7629:                                             ; preds = %7628, %7569
  br label %7630

7630:                                             ; preds = %7629
  br label %7631

7631:                                             ; preds = %7630
  br label %7632

7632:                                             ; preds = %7631
  %7633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %7633, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %7634 = call ptr @__errno_location() #10
  store i32 0, ptr %7634, align 4, !tbaa !5
  br label %7635

7635:                                             ; preds = %7632
  br label %7636

7636:                                             ; preds = %7635
  br label %7637

7637:                                             ; preds = %7636
  br label %7638

7638:                                             ; preds = %7637
  br label %7639

7639:                                             ; preds = %7638
  %7640 = load i32, ptr @test_count, align 4, !tbaa !5
  %7641 = add nsw i32 %7640, 1
  store i32 %7641, ptr @test_count, align 4, !tbaa !5
  %7642 = load i32, ptr %146, align 4, !tbaa !5
  %7643 = icmp eq i32 %7642, 2
  br i1 %7643, label %7697, label %7644

7644:                                             ; preds = %7639
  br label %7645

7645:                                             ; preds = %7644
  br label %7646

7646:                                             ; preds = %7645
  call void @llvm.lifetime.start.p0(i64 4, ptr %152) #9
  %7647 = call ptr @__errno_location() #10
  %7648 = load i32, ptr %7647, align 4, !tbaa !5
  store i32 %7648, ptr %152, align 4, !tbaa !5
  %7649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7650 = call i32 @s2n_print_stacktrace(ptr noundef %7649)
  %7651 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7652 = trunc i8 %7651 to i1
  br i1 %7652, label %7653, label %7675

7653:                                             ; preds = %7646
  %7654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7655 = call i32 @fileno(ptr noundef %7654) #9
  %7656 = call i32 @isatty(i32 noundef %7655) #9
  %7657 = icmp ne i32 %7656, 0
  br i1 %7657, label %7658, label %7675

7658:                                             ; preds = %7653
  %7659 = load i32, ptr %152, align 4, !tbaa !5
  %7660 = call ptr @__errno_location() #10
  store i32 %7659, ptr %7660, align 4, !tbaa !5
  %7661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7662 = load i32, ptr @test_count, align 4, !tbaa !5
  %7663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7664 = load i32, ptr %7663, align 4, !tbaa !5
  %7665 = call ptr @s2n_strerror(i32 noundef %7664, ptr noundef @.str.4)
  %7666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7667 = load i32, ptr %7666, align 4, !tbaa !5
  %7668 = call ptr @s2n_strerror_debug(i32 noundef %7667, ptr noundef @.str.4)
  %7669 = call ptr @__errno_location() #10
  %7670 = load i32, ptr %7669, align 4, !tbaa !5
  %7671 = call ptr @strerror(i32 noundef %7670) #9
  %7672 = call ptr @__errno_location() #10
  %7673 = load i32, ptr %7672, align 4, !tbaa !5
  %7674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7661, ptr noundef @.str.2, i32 noundef %7662, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 265, ptr noundef %7665, ptr noundef %7668, ptr noundef %7671, i32 noundef %7673) #9
  br label %7692

7675:                                             ; preds = %7653, %7646
  %7676 = load i32, ptr %152, align 4, !tbaa !5
  %7677 = call ptr @__errno_location() #10
  store i32 %7676, ptr %7677, align 4, !tbaa !5
  %7678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7679 = load i32, ptr @test_count, align 4, !tbaa !5
  %7680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7681 = load i32, ptr %7680, align 4, !tbaa !5
  %7682 = call ptr @s2n_strerror(i32 noundef %7681, ptr noundef @.str.4)
  %7683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7684 = load i32, ptr %7683, align 4, !tbaa !5
  %7685 = call ptr @s2n_strerror_debug(i32 noundef %7684, ptr noundef @.str.4)
  %7686 = call ptr @__errno_location() #10
  %7687 = load i32, ptr %7686, align 4, !tbaa !5
  %7688 = call ptr @strerror(i32 noundef %7687) #9
  %7689 = call ptr @__errno_location() #10
  %7690 = load i32, ptr %7689, align 4, !tbaa !5
  %7691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7678, ptr noundef @.str.5, i32 noundef %7679, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 265, ptr noundef %7682, ptr noundef %7685, ptr noundef %7688, i32 noundef %7690) #9
  br label %7692

7692:                                             ; preds = %7675, %7658
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #9
  br label %7693

7693:                                             ; preds = %7692
  br label %7694

7694:                                             ; preds = %7693
  call void @exit(i32 noundef 1) #11
  unreachable

7695:                                             ; No predecessors!
  br label %7696

7696:                                             ; preds = %7695
  br label %7697

7697:                                             ; preds = %7696, %7639
  br label %7698

7698:                                             ; preds = %7697
  br label %7699

7699:                                             ; preds = %7698
  br label %7700

7700:                                             ; preds = %7699
  %7701 = load i32, ptr @test_count, align 4, !tbaa !5
  %7702 = add nsw i32 %7701, 1
  store i32 %7702, ptr @test_count, align 4, !tbaa !5
  %7703 = load ptr, ptr %129, align 8, !tbaa !9
  %7704 = getelementptr inbounds %struct.s2n_connection, ptr %7703, i32 0, i32 41
  %7705 = getelementptr inbounds %struct.s2n_stuffer, ptr %7704, i32 0, i32 0
  %7706 = getelementptr inbounds %struct.s2n_blob, ptr %7705, i32 0, i32 1
  %7707 = load i32, ptr %7706, align 8, !tbaa !43
  %7708 = icmp eq i32 %7707, 0
  br i1 %7708, label %7709, label %7762

7709:                                             ; preds = %7700
  br label %7710

7710:                                             ; preds = %7709
  br label %7711

7711:                                             ; preds = %7710
  call void @llvm.lifetime.start.p0(i64 4, ptr %153) #9
  %7712 = call ptr @__errno_location() #10
  %7713 = load i32, ptr %7712, align 4, !tbaa !5
  store i32 %7713, ptr %153, align 4, !tbaa !5
  %7714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7715 = call i32 @s2n_print_stacktrace(ptr noundef %7714)
  %7716 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7717 = trunc i8 %7716 to i1
  br i1 %7717, label %7718, label %7740

7718:                                             ; preds = %7711
  %7719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7720 = call i32 @fileno(ptr noundef %7719) #9
  %7721 = call i32 @isatty(i32 noundef %7720) #9
  %7722 = icmp ne i32 %7721, 0
  br i1 %7722, label %7723, label %7740

7723:                                             ; preds = %7718
  %7724 = load i32, ptr %153, align 4, !tbaa !5
  %7725 = call ptr @__errno_location() #10
  store i32 %7724, ptr %7725, align 4, !tbaa !5
  %7726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7727 = load i32, ptr @test_count, align 4, !tbaa !5
  %7728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7729 = load i32, ptr %7728, align 4, !tbaa !5
  %7730 = call ptr @s2n_strerror(i32 noundef %7729, ptr noundef @.str.4)
  %7731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7732 = load i32, ptr %7731, align 4, !tbaa !5
  %7733 = call ptr @s2n_strerror_debug(i32 noundef %7732, ptr noundef @.str.4)
  %7734 = call ptr @__errno_location() #10
  %7735 = load i32, ptr %7734, align 4, !tbaa !5
  %7736 = call ptr @strerror(i32 noundef %7735) #9
  %7737 = call ptr @__errno_location() #10
  %7738 = load i32, ptr %7737, align 4, !tbaa !5
  %7739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7726, ptr noundef @.str.2, i32 noundef %7727, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 268, ptr noundef %7730, ptr noundef %7733, ptr noundef %7736, i32 noundef %7738) #9
  br label %7757

7740:                                             ; preds = %7718, %7711
  %7741 = load i32, ptr %153, align 4, !tbaa !5
  %7742 = call ptr @__errno_location() #10
  store i32 %7741, ptr %7742, align 4, !tbaa !5
  %7743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7744 = load i32, ptr @test_count, align 4, !tbaa !5
  %7745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7746 = load i32, ptr %7745, align 4, !tbaa !5
  %7747 = call ptr @s2n_strerror(i32 noundef %7746, ptr noundef @.str.4)
  %7748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7749 = load i32, ptr %7748, align 4, !tbaa !5
  %7750 = call ptr @s2n_strerror_debug(i32 noundef %7749, ptr noundef @.str.4)
  %7751 = call ptr @__errno_location() #10
  %7752 = load i32, ptr %7751, align 4, !tbaa !5
  %7753 = call ptr @strerror(i32 noundef %7752) #9
  %7754 = call ptr @__errno_location() #10
  %7755 = load i32, ptr %7754, align 4, !tbaa !5
  %7756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7743, ptr noundef @.str.5, i32 noundef %7744, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 268, ptr noundef %7747, ptr noundef %7750, ptr noundef %7753, i32 noundef %7755) #9
  br label %7757

7757:                                             ; preds = %7740, %7723
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #9
  br label %7758

7758:                                             ; preds = %7757
  br label %7759

7759:                                             ; preds = %7758
  call void @exit(i32 noundef 1) #11
  unreachable

7760:                                             ; No predecessors!
  br label %7761

7761:                                             ; preds = %7760
  br label %7762

7762:                                             ; preds = %7761, %7700
  br label %7763

7763:                                             ; preds = %7762
  br label %7764

7764:                                             ; preds = %7763
  br label %7765

7765:                                             ; preds = %7764
  %7766 = load i32, ptr @test_count, align 4, !tbaa !5
  %7767 = add nsw i32 %7766, 1
  store i32 %7767, ptr @test_count, align 4, !tbaa !5
  %7768 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %134, i32 noundef 0)
  %7769 = icmp eq i32 %7768, -1
  br i1 %7769, label %7770, label %7823

7770:                                             ; preds = %7765
  br label %7771

7771:                                             ; preds = %7770
  br label %7772

7772:                                             ; preds = %7771
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #9
  %7773 = call ptr @__errno_location() #10
  %7774 = load i32, ptr %7773, align 4, !tbaa !5
  store i32 %7774, ptr %154, align 4, !tbaa !5
  %7775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7776 = call i32 @s2n_print_stacktrace(ptr noundef %7775)
  %7777 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7778 = trunc i8 %7777 to i1
  br i1 %7778, label %7779, label %7801

7779:                                             ; preds = %7772
  %7780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7781 = call i32 @fileno(ptr noundef %7780) #9
  %7782 = call i32 @isatty(i32 noundef %7781) #9
  %7783 = icmp ne i32 %7782, 0
  br i1 %7783, label %7784, label %7801

7784:                                             ; preds = %7779
  %7785 = load i32, ptr %154, align 4, !tbaa !5
  %7786 = call ptr @__errno_location() #10
  store i32 %7785, ptr %7786, align 4, !tbaa !5
  %7787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7788 = load i32, ptr @test_count, align 4, !tbaa !5
  %7789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7790 = load i32, ptr %7789, align 4, !tbaa !5
  %7791 = call ptr @s2n_strerror(i32 noundef %7790, ptr noundef @.str.4)
  %7792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7793 = load i32, ptr %7792, align 4, !tbaa !5
  %7794 = call ptr @s2n_strerror_debug(i32 noundef %7793, ptr noundef @.str.4)
  %7795 = call ptr @__errno_location() #10
  %7796 = load i32, ptr %7795, align 4, !tbaa !5
  %7797 = call ptr @strerror(i32 noundef %7796) #9
  %7798 = call ptr @__errno_location() #10
  %7799 = load i32, ptr %7798, align 4, !tbaa !5
  %7800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7787, ptr noundef @.str.2, i32 noundef %7788, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 271, ptr noundef %7791, ptr noundef %7794, ptr noundef %7797, i32 noundef %7799) #9
  br label %7818

7801:                                             ; preds = %7779, %7772
  %7802 = load i32, ptr %154, align 4, !tbaa !5
  %7803 = call ptr @__errno_location() #10
  store i32 %7802, ptr %7803, align 4, !tbaa !5
  %7804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7805 = load i32, ptr @test_count, align 4, !tbaa !5
  %7806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7807 = load i32, ptr %7806, align 4, !tbaa !5
  %7808 = call ptr @s2n_strerror(i32 noundef %7807, ptr noundef @.str.4)
  %7809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7810 = load i32, ptr %7809, align 4, !tbaa !5
  %7811 = call ptr @s2n_strerror_debug(i32 noundef %7810, ptr noundef @.str.4)
  %7812 = call ptr @__errno_location() #10
  %7813 = load i32, ptr %7812, align 4, !tbaa !5
  %7814 = call ptr @strerror(i32 noundef %7813) #9
  %7815 = call ptr @__errno_location() #10
  %7816 = load i32, ptr %7815, align 4, !tbaa !5
  %7817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7804, ptr noundef @.str.5, i32 noundef %7805, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 271, ptr noundef %7808, ptr noundef %7811, ptr noundef %7814, i32 noundef %7816) #9
  br label %7818

7818:                                             ; preds = %7801, %7784
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #9
  br label %7819

7819:                                             ; preds = %7818
  br label %7820

7820:                                             ; preds = %7819
  call void @exit(i32 noundef 1) #11
  unreachable

7821:                                             ; No predecessors!
  br label %7822

7822:                                             ; preds = %7821
  br label %7823

7823:                                             ; preds = %7822, %7765
  br label %7824

7824:                                             ; preds = %7823
  br label %7825

7825:                                             ; preds = %7824
  %7826 = load ptr, ptr %129, align 8, !tbaa !9
  %7827 = call i64 @s2n_send(ptr noundef %7826, ptr noundef %148, i64 noundef 4096, ptr noundef %146)
  %7828 = trunc i64 %7827 to i32
  store i32 %7828, ptr %147, align 4, !tbaa !5
  br label %7829

7829:                                             ; preds = %7825
  %7830 = load i32, ptr @test_count, align 4, !tbaa !5
  %7831 = add nsw i32 %7830, 1
  store i32 %7831, ptr @test_count, align 4, !tbaa !5
  %7832 = load i32, ptr %147, align 4, !tbaa !5
  %7833 = icmp eq i32 %7832, -1
  br i1 %7833, label %7834, label %7887

7834:                                             ; preds = %7829
  br label %7835

7835:                                             ; preds = %7834
  br label %7836

7836:                                             ; preds = %7835
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #9
  %7837 = call ptr @__errno_location() #10
  %7838 = load i32, ptr %7837, align 4, !tbaa !5
  store i32 %7838, ptr %155, align 4, !tbaa !5
  %7839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7840 = call i32 @s2n_print_stacktrace(ptr noundef %7839)
  %7841 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7842 = trunc i8 %7841 to i1
  br i1 %7842, label %7843, label %7865

7843:                                             ; preds = %7836
  %7844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7845 = call i32 @fileno(ptr noundef %7844) #9
  %7846 = call i32 @isatty(i32 noundef %7845) #9
  %7847 = icmp ne i32 %7846, 0
  br i1 %7847, label %7848, label %7865

7848:                                             ; preds = %7843
  %7849 = load i32, ptr %155, align 4, !tbaa !5
  %7850 = call ptr @__errno_location() #10
  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.4)
  %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.4)
  %7859 = call ptr @__errno_location() #10
  %7860 = load i32, ptr %7859, align 4, !tbaa !5
  %7861 = call ptr @strerror(i32 noundef %7860) #9
  %7862 = call ptr @__errno_location() #10
  %7863 = load i32, ptr %7862, align 4, !tbaa !5
  %7864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7851, ptr noundef @.str.2, i32 noundef %7852, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 274, ptr noundef %7855, ptr noundef %7858, ptr noundef %7861, i32 noundef %7863) #9
  br label %7882

7865:                                             ; preds = %7843, %7836
  %7866 = load i32, ptr %155, align 4, !tbaa !5
  %7867 = call ptr @__errno_location() #10
  store i32 %7866, ptr %7867, align 4, !tbaa !5
  %7868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7869 = load i32, ptr @test_count, align 4, !tbaa !5
  %7870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7871 = load i32, ptr %7870, align 4, !tbaa !5
  %7872 = call ptr @s2n_strerror(i32 noundef %7871, ptr noundef @.str.4)
  %7873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7874 = load i32, ptr %7873, align 4, !tbaa !5
  %7875 = call ptr @s2n_strerror_debug(i32 noundef %7874, ptr noundef @.str.4)
  %7876 = call ptr @__errno_location() #10
  %7877 = load i32, ptr %7876, align 4, !tbaa !5
  %7878 = call ptr @strerror(i32 noundef %7877) #9
  %7879 = call ptr @__errno_location() #10
  %7880 = load i32, ptr %7879, align 4, !tbaa !5
  %7881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7868, ptr noundef @.str.5, i32 noundef %7869, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 274, ptr noundef %7872, ptr noundef %7875, ptr noundef %7878, i32 noundef %7880) #9
  br label %7882

7882:                                             ; preds = %7865, %7848
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #9
  br label %7883

7883:                                             ; preds = %7882
  br label %7884

7884:                                             ; preds = %7883
  call void @exit(i32 noundef 1) #11
  unreachable

7885:                                             ; No predecessors!
  br label %7886

7886:                                             ; preds = %7885
  br label %7887

7887:                                             ; preds = %7886, %7829
  br label %7888

7888:                                             ; preds = %7887
  br label %7889

7889:                                             ; preds = %7888
  br label %7890

7890:                                             ; preds = %7889
  %7891 = load i32, ptr @test_count, align 4, !tbaa !5
  %7892 = add nsw i32 %7891, 1
  store i32 %7892, ptr @test_count, align 4, !tbaa !5
  %7893 = load i32, ptr %147, align 4, !tbaa !5
  %7894 = sext i32 %7893 to i64
  %7895 = icmp eq i64 %7894, 4096
  br i1 %7895, label %7949, label %7896

7896:                                             ; preds = %7890
  br label %7897

7897:                                             ; preds = %7896
  br label %7898

7898:                                             ; preds = %7897
  call void @llvm.lifetime.start.p0(i64 4, ptr %156) #9
  %7899 = call ptr @__errno_location() #10
  %7900 = load i32, ptr %7899, align 4, !tbaa !5
  store i32 %7900, ptr %156, align 4, !tbaa !5
  %7901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7902 = call i32 @s2n_print_stacktrace(ptr noundef %7901)
  %7903 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7904 = trunc i8 %7903 to i1
  br i1 %7904, label %7905, label %7927

7905:                                             ; preds = %7898
  %7906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7907 = call i32 @fileno(ptr noundef %7906) #9
  %7908 = call i32 @isatty(i32 noundef %7907) #9
  %7909 = icmp ne i32 %7908, 0
  br i1 %7909, label %7910, label %7927

7910:                                             ; preds = %7905
  %7911 = load i32, ptr %156, align 4, !tbaa !5
  %7912 = call ptr @__errno_location() #10
  store i32 %7911, ptr %7912, align 4, !tbaa !5
  %7913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7914 = load i32, ptr @test_count, align 4, !tbaa !5
  %7915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7916 = load i32, ptr %7915, align 4, !tbaa !5
  %7917 = call ptr @s2n_strerror(i32 noundef %7916, ptr noundef @.str.4)
  %7918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7919 = load i32, ptr %7918, align 4, !tbaa !5
  %7920 = call ptr @s2n_strerror_debug(i32 noundef %7919, ptr noundef @.str.4)
  %7921 = call ptr @__errno_location() #10
  %7922 = load i32, ptr %7921, align 4, !tbaa !5
  %7923 = call ptr @strerror(i32 noundef %7922) #9
  %7924 = call ptr @__errno_location() #10
  %7925 = load i32, ptr %7924, align 4, !tbaa !5
  %7926 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7913, ptr noundef @.str.2, i32 noundef %7914, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 277, ptr noundef %7917, ptr noundef %7920, ptr noundef %7923, i32 noundef %7925) #9
  br label %7944

7927:                                             ; preds = %7905, %7898
  %7928 = load i32, ptr %156, align 4, !tbaa !5
  %7929 = call ptr @__errno_location() #10
  store i32 %7928, ptr %7929, align 4, !tbaa !5
  %7930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7931 = load i32, ptr @test_count, align 4, !tbaa !5
  %7932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7933 = load i32, ptr %7932, align 4, !tbaa !5
  %7934 = call ptr @s2n_strerror(i32 noundef %7933, ptr noundef @.str.4)
  %7935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7936 = load i32, ptr %7935, align 4, !tbaa !5
  %7937 = call ptr @s2n_strerror_debug(i32 noundef %7936, ptr noundef @.str.4)
  %7938 = call ptr @__errno_location() #10
  %7939 = load i32, ptr %7938, align 4, !tbaa !5
  %7940 = call ptr @strerror(i32 noundef %7939) #9
  %7941 = call ptr @__errno_location() #10
  %7942 = load i32, ptr %7941, align 4, !tbaa !5
  %7943 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7930, ptr noundef @.str.5, i32 noundef %7931, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 277, ptr noundef %7934, ptr noundef %7937, ptr noundef %7940, i32 noundef %7942) #9
  br label %7944

7944:                                             ; preds = %7927, %7910
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #9
  br label %7945

7945:                                             ; preds = %7944
  br label %7946

7946:                                             ; preds = %7945
  call void @exit(i32 noundef 1) #11
  unreachable

7947:                                             ; No predecessors!
  br label %7948

7948:                                             ; preds = %7947
  br label %7949

7949:                                             ; preds = %7948, %7890
  br label %7950

7950:                                             ; preds = %7949
  br label %7951

7951:                                             ; preds = %7950
  br label %7952

7952:                                             ; preds = %7951
  %7953 = load i32, ptr @test_count, align 4, !tbaa !5
  %7954 = add nsw i32 %7953, 1
  store i32 %7954, ptr @test_count, align 4, !tbaa !5
  %7955 = load ptr, ptr %129, align 8, !tbaa !9
  %7956 = getelementptr inbounds %struct.s2n_connection, ptr %7955, i32 0, i32 41
  %7957 = getelementptr inbounds %struct.s2n_stuffer, ptr %7956, i32 0, i32 0
  %7958 = getelementptr inbounds %struct.s2n_blob, ptr %7957, i32 0, i32 1
  %7959 = load i32, ptr %7958, align 8, !tbaa !43
  %7960 = icmp eq i32 %7959, 0
  br i1 %7960, label %8014, label %7961

7961:                                             ; preds = %7952
  br label %7962

7962:                                             ; preds = %7961
  br label %7963

7963:                                             ; preds = %7962
  call void @llvm.lifetime.start.p0(i64 4, ptr %157) #9
  %7964 = call ptr @__errno_location() #10
  %7965 = load i32, ptr %7964, align 4, !tbaa !5
  store i32 %7965, ptr %157, align 4, !tbaa !5
  %7966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7967 = call i32 @s2n_print_stacktrace(ptr noundef %7966)
  %7968 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7969 = trunc i8 %7968 to i1
  br i1 %7969, label %7970, label %7992

7970:                                             ; preds = %7963
  %7971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7972 = call i32 @fileno(ptr noundef %7971) #9
  %7973 = call i32 @isatty(i32 noundef %7972) #9
  %7974 = icmp ne i32 %7973, 0
  br i1 %7974, label %7975, label %7992

7975:                                             ; preds = %7970
  %7976 = load i32, ptr %157, align 4, !tbaa !5
  %7977 = call ptr @__errno_location() #10
  store i32 %7976, ptr %7977, align 4, !tbaa !5
  %7978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7979 = load i32, ptr @test_count, align 4, !tbaa !5
  %7980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7981 = load i32, ptr %7980, align 4, !tbaa !5
  %7982 = call ptr @s2n_strerror(i32 noundef %7981, ptr noundef @.str.4)
  %7983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7984 = load i32, ptr %7983, align 4, !tbaa !5
  %7985 = call ptr @s2n_strerror_debug(i32 noundef %7984, ptr noundef @.str.4)
  %7986 = call ptr @__errno_location() #10
  %7987 = load i32, ptr %7986, align 4, !tbaa !5
  %7988 = call ptr @strerror(i32 noundef %7987) #9
  %7989 = call ptr @__errno_location() #10
  %7990 = load i32, ptr %7989, align 4, !tbaa !5
  %7991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7978, ptr noundef @.str.2, i32 noundef %7979, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 280, ptr noundef %7982, ptr noundef %7985, ptr noundef %7988, i32 noundef %7990) #9
  br label %8009

7992:                                             ; preds = %7970, %7963
  %7993 = load i32, ptr %157, align 4, !tbaa !5
  %7994 = call ptr @__errno_location() #10
  store i32 %7993, ptr %7994, align 4, !tbaa !5
  %7995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7996 = load i32, ptr @test_count, align 4, !tbaa !5
  %7997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7998 = load i32, ptr %7997, align 4, !tbaa !5
  %7999 = call ptr @s2n_strerror(i32 noundef %7998, ptr noundef @.str.4)
  %8000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8001 = load i32, ptr %8000, align 4, !tbaa !5
  %8002 = call ptr @s2n_strerror_debug(i32 noundef %8001, ptr noundef @.str.4)
  %8003 = call ptr @__errno_location() #10
  %8004 = load i32, ptr %8003, align 4, !tbaa !5
  %8005 = call ptr @strerror(i32 noundef %8004) #9
  %8006 = call ptr @__errno_location() #10
  %8007 = load i32, ptr %8006, align 4, !tbaa !5
  %8008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7995, ptr noundef @.str.5, i32 noundef %7996, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 280, ptr noundef %7999, ptr noundef %8002, ptr noundef %8005, i32 noundef %8007) #9
  br label %8009

8009:                                             ; preds = %7992, %7975
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #9
  br label %8010

8010:                                             ; preds = %8009
  br label %8011

8011:                                             ; preds = %8010
  call void @exit(i32 noundef 1) #11
  unreachable

8012:                                             ; No predecessors!
  br label %8013

8013:                                             ; preds = %8012
  br label %8014

8014:                                             ; preds = %8013, %7952
  br label %8015

8015:                                             ; preds = %8014
  br label %8016

8016:                                             ; preds = %8015
  br label %8017

8017:                                             ; preds = %8016
  %8018 = load i32, ptr @test_count, align 4, !tbaa !5
  %8019 = add nsw i32 %8018, 1
  store i32 %8019, ptr @test_count, align 4, !tbaa !5
  %8020 = load ptr, ptr %126, align 8, !tbaa !9
  %8021 = call i64 @s2n_recv(ptr noundef %8020, ptr noundef %148, i64 noundef 2048, ptr noundef %146)
  %8022 = icmp eq i64 %8021, 2048
  br i1 %8022, label %8076, label %8023

8023:                                             ; preds = %8017
  br label %8024

8024:                                             ; preds = %8023
  br label %8025

8025:                                             ; preds = %8024
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #9
  %8026 = call ptr @__errno_location() #10
  %8027 = load i32, ptr %8026, align 4, !tbaa !5
  store i32 %8027, ptr %158, align 4, !tbaa !5
  %8028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8029 = call i32 @s2n_print_stacktrace(ptr noundef %8028)
  %8030 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8031 = trunc i8 %8030 to i1
  br i1 %8031, label %8032, label %8054

8032:                                             ; preds = %8025
  %8033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8034 = call i32 @fileno(ptr noundef %8033) #9
  %8035 = call i32 @isatty(i32 noundef %8034) #9
  %8036 = icmp ne i32 %8035, 0
  br i1 %8036, label %8037, label %8054

8037:                                             ; preds = %8032
  %8038 = load i32, ptr %158, align 4, !tbaa !5
  %8039 = call ptr @__errno_location() #10
  store i32 %8038, ptr %8039, align 4, !tbaa !5
  %8040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8041 = load i32, ptr @test_count, align 4, !tbaa !5
  %8042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8043 = load i32, ptr %8042, align 4, !tbaa !5
  %8044 = call ptr @s2n_strerror(i32 noundef %8043, ptr noundef @.str.4)
  %8045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8046 = load i32, ptr %8045, align 4, !tbaa !5
  %8047 = call ptr @s2n_strerror_debug(i32 noundef %8046, ptr noundef @.str.4)
  %8048 = call ptr @__errno_location() #10
  %8049 = load i32, ptr %8048, align 4, !tbaa !5
  %8050 = call ptr @strerror(i32 noundef %8049) #9
  %8051 = call ptr @__errno_location() #10
  %8052 = load i32, ptr %8051, align 4, !tbaa !5
  %8053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8040, ptr noundef @.str.2, i32 noundef %8041, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 283, ptr noundef %8044, ptr noundef %8047, ptr noundef %8050, i32 noundef %8052) #9
  br label %8071

8054:                                             ; preds = %8032, %8025
  %8055 = load i32, ptr %158, align 4, !tbaa !5
  %8056 = call ptr @__errno_location() #10
  store i32 %8055, ptr %8056, align 4, !tbaa !5
  %8057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8058 = load i32, ptr @test_count, align 4, !tbaa !5
  %8059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8060 = load i32, ptr %8059, align 4, !tbaa !5
  %8061 = call ptr @s2n_strerror(i32 noundef %8060, ptr noundef @.str.4)
  %8062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8063 = load i32, ptr %8062, align 4, !tbaa !5
  %8064 = call ptr @s2n_strerror_debug(i32 noundef %8063, ptr noundef @.str.4)
  %8065 = call ptr @__errno_location() #10
  %8066 = load i32, ptr %8065, align 4, !tbaa !5
  %8067 = call ptr @strerror(i32 noundef %8066) #9
  %8068 = call ptr @__errno_location() #10
  %8069 = load i32, ptr %8068, align 4, !tbaa !5
  %8070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8057, ptr noundef @.str.5, i32 noundef %8058, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 283, ptr noundef %8061, ptr noundef %8064, ptr noundef %8067, i32 noundef %8069) #9
  br label %8071

8071:                                             ; preds = %8054, %8037
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #9
  br label %8072

8072:                                             ; preds = %8071
  br label %8073

8073:                                             ; preds = %8072
  call void @exit(i32 noundef 1) #11
  unreachable

8074:                                             ; No predecessors!
  br label %8075

8075:                                             ; preds = %8074
  br label %8076

8076:                                             ; preds = %8075, %8017
  br label %8077

8077:                                             ; preds = %8076
  br label %8078

8078:                                             ; preds = %8077
  br label %8079

8079:                                             ; preds = %8078
  %8080 = load i32, ptr @test_count, align 4, !tbaa !5
  %8081 = add nsw i32 %8080, 1
  store i32 %8081, ptr @test_count, align 4, !tbaa !5
  %8082 = load ptr, ptr %126, align 8, !tbaa !9
  %8083 = getelementptr inbounds %struct.s2n_connection, ptr %8082, i32 0, i32 39
  %8084 = getelementptr inbounds %struct.s2n_stuffer, ptr %8083, i32 0, i32 0
  %8085 = getelementptr inbounds %struct.s2n_blob, ptr %8084, i32 0, i32 1
  %8086 = load i32, ptr %8085, align 8, !tbaa !45
  %8087 = icmp eq i32 %8086, 0
  br i1 %8087, label %8088, label %8141

8088:                                             ; preds = %8079
  br label %8089

8089:                                             ; preds = %8088
  br label %8090

8090:                                             ; preds = %8089
  call void @llvm.lifetime.start.p0(i64 4, ptr %159) #9
  %8091 = call ptr @__errno_location() #10
  %8092 = load i32, ptr %8091, align 4, !tbaa !5
  store i32 %8092, ptr %159, align 4, !tbaa !5
  %8093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8094 = call i32 @s2n_print_stacktrace(ptr noundef %8093)
  %8095 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8096 = trunc i8 %8095 to i1
  br i1 %8096, label %8097, label %8119

8097:                                             ; preds = %8090
  %8098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8099 = call i32 @fileno(ptr noundef %8098) #9
  %8100 = call i32 @isatty(i32 noundef %8099) #9
  %8101 = icmp ne i32 %8100, 0
  br i1 %8101, label %8102, label %8119

8102:                                             ; preds = %8097
  %8103 = load i32, ptr %159, align 4, !tbaa !5
  %8104 = call ptr @__errno_location() #10
  store i32 %8103, ptr %8104, align 4, !tbaa !5
  %8105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8106 = load i32, ptr @test_count, align 4, !tbaa !5
  %8107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8108 = load i32, ptr %8107, align 4, !tbaa !5
  %8109 = call ptr @s2n_strerror(i32 noundef %8108, ptr noundef @.str.4)
  %8110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8111 = load i32, ptr %8110, align 4, !tbaa !5
  %8112 = call ptr @s2n_strerror_debug(i32 noundef %8111, ptr noundef @.str.4)
  %8113 = call ptr @__errno_location() #10
  %8114 = load i32, ptr %8113, align 4, !tbaa !5
  %8115 = call ptr @strerror(i32 noundef %8114) #9
  %8116 = call ptr @__errno_location() #10
  %8117 = load i32, ptr %8116, align 4, !tbaa !5
  %8118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8105, ptr noundef @.str.2, i32 noundef %8106, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 286, ptr noundef %8109, ptr noundef %8112, ptr noundef %8115, i32 noundef %8117) #9
  br label %8136

8119:                                             ; preds = %8097, %8090
  %8120 = load i32, ptr %159, align 4, !tbaa !5
  %8121 = call ptr @__errno_location() #10
  store i32 %8120, ptr %8121, align 4, !tbaa !5
  %8122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8123 = load i32, ptr @test_count, align 4, !tbaa !5
  %8124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8125 = load i32, ptr %8124, align 4, !tbaa !5
  %8126 = call ptr @s2n_strerror(i32 noundef %8125, ptr noundef @.str.4)
  %8127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8128 = load i32, ptr %8127, align 4, !tbaa !5
  %8129 = call ptr @s2n_strerror_debug(i32 noundef %8128, ptr noundef @.str.4)
  %8130 = call ptr @__errno_location() #10
  %8131 = load i32, ptr %8130, align 4, !tbaa !5
  %8132 = call ptr @strerror(i32 noundef %8131) #9
  %8133 = call ptr @__errno_location() #10
  %8134 = load i32, ptr %8133, align 4, !tbaa !5
  %8135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8122, ptr noundef @.str.5, i32 noundef %8123, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 286, ptr noundef %8126, ptr noundef %8129, ptr noundef %8132, i32 noundef %8134) #9
  br label %8136

8136:                                             ; preds = %8119, %8102
  call void @llvm.lifetime.end.p0(i64 4, ptr %159) #9
  br label %8137

8137:                                             ; preds = %8136
  br label %8138

8138:                                             ; preds = %8137
  call void @exit(i32 noundef 1) #11
  unreachable

8139:                                             ; No predecessors!
  br label %8140

8140:                                             ; preds = %8139
  br label %8141

8141:                                             ; preds = %8140, %8079
  br label %8142

8142:                                             ; preds = %8141
  br label %8143

8143:                                             ; preds = %8142
  br label %8144

8144:                                             ; preds = %8143
  %8145 = load i32, ptr @test_count, align 4, !tbaa !5
  %8146 = add nsw i32 %8145, 1
  store i32 %8146, ptr @test_count, align 4, !tbaa !5
  %8147 = load ptr, ptr %126, align 8, !tbaa !9
  %8148 = call i64 @s2n_recv(ptr noundef %8147, ptr noundef %148, i64 noundef 2048, ptr noundef %146)
  %8149 = icmp eq i64 %8148, 2048
  br i1 %8149, label %8203, label %8150

8150:                                             ; preds = %8144
  br label %8151

8151:                                             ; preds = %8150
  br label %8152

8152:                                             ; preds = %8151
  call void @llvm.lifetime.start.p0(i64 4, ptr %160) #9
  %8153 = call ptr @__errno_location() #10
  %8154 = load i32, ptr %8153, align 4, !tbaa !5
  store i32 %8154, ptr %160, align 4, !tbaa !5
  %8155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8156 = call i32 @s2n_print_stacktrace(ptr noundef %8155)
  %8157 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8158 = trunc i8 %8157 to i1
  br i1 %8158, label %8159, label %8181

8159:                                             ; preds = %8152
  %8160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8161 = call i32 @fileno(ptr noundef %8160) #9
  %8162 = call i32 @isatty(i32 noundef %8161) #9
  %8163 = icmp ne i32 %8162, 0
  br i1 %8163, label %8164, label %8181

8164:                                             ; preds = %8159
  %8165 = load i32, ptr %160, align 4, !tbaa !5
  %8166 = call ptr @__errno_location() #10
  store i32 %8165, ptr %8166, align 4, !tbaa !5
  %8167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8168 = load i32, ptr @test_count, align 4, !tbaa !5
  %8169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8170 = load i32, ptr %8169, align 4, !tbaa !5
  %8171 = call ptr @s2n_strerror(i32 noundef %8170, ptr noundef @.str.4)
  %8172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8173 = load i32, ptr %8172, align 4, !tbaa !5
  %8174 = call ptr @s2n_strerror_debug(i32 noundef %8173, ptr noundef @.str.4)
  %8175 = call ptr @__errno_location() #10
  %8176 = load i32, ptr %8175, align 4, !tbaa !5
  %8177 = call ptr @strerror(i32 noundef %8176) #9
  %8178 = call ptr @__errno_location() #10
  %8179 = load i32, ptr %8178, align 4, !tbaa !5
  %8180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8167, ptr noundef @.str.2, i32 noundef %8168, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 289, ptr noundef %8171, ptr noundef %8174, ptr noundef %8177, i32 noundef %8179) #9
  br label %8198

8181:                                             ; preds = %8159, %8152
  %8182 = load i32, ptr %160, align 4, !tbaa !5
  %8183 = call ptr @__errno_location() #10
  store i32 %8182, ptr %8183, align 4, !tbaa !5
  %8184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8185 = load i32, ptr @test_count, align 4, !tbaa !5
  %8186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8187 = load i32, ptr %8186, align 4, !tbaa !5
  %8188 = call ptr @s2n_strerror(i32 noundef %8187, ptr noundef @.str.4)
  %8189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8190 = load i32, ptr %8189, align 4, !tbaa !5
  %8191 = call ptr @s2n_strerror_debug(i32 noundef %8190, ptr noundef @.str.4)
  %8192 = call ptr @__errno_location() #10
  %8193 = load i32, ptr %8192, align 4, !tbaa !5
  %8194 = call ptr @strerror(i32 noundef %8193) #9
  %8195 = call ptr @__errno_location() #10
  %8196 = load i32, ptr %8195, align 4, !tbaa !5
  %8197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8184, ptr noundef @.str.5, i32 noundef %8185, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 289, ptr noundef %8188, ptr noundef %8191, ptr noundef %8194, i32 noundef %8196) #9
  br label %8198

8198:                                             ; preds = %8181, %8164
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #9
  br label %8199

8199:                                             ; preds = %8198
  br label %8200

8200:                                             ; preds = %8199
  call void @exit(i32 noundef 1) #11
  unreachable

8201:                                             ; No predecessors!
  br label %8202

8202:                                             ; preds = %8201
  br label %8203

8203:                                             ; preds = %8202, %8144
  br label %8204

8204:                                             ; preds = %8203
  br label %8205

8205:                                             ; preds = %8204
  br label %8206

8206:                                             ; preds = %8205
  %8207 = load i32, ptr @test_count, align 4, !tbaa !5
  %8208 = add nsw i32 %8207, 1
  store i32 %8208, ptr @test_count, align 4, !tbaa !5
  %8209 = load ptr, ptr %126, align 8, !tbaa !9
  %8210 = getelementptr inbounds %struct.s2n_connection, ptr %8209, i32 0, i32 39
  %8211 = getelementptr inbounds %struct.s2n_stuffer, ptr %8210, i32 0, i32 0
  %8212 = getelementptr inbounds %struct.s2n_blob, ptr %8211, i32 0, i32 1
  %8213 = load i32, ptr %8212, align 8, !tbaa !45
  %8214 = icmp eq i32 %8213, 0
  br i1 %8214, label %8268, label %8215

8215:                                             ; preds = %8206
  br label %8216

8216:                                             ; preds = %8215
  br label %8217

8217:                                             ; preds = %8216
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #9
  %8218 = call ptr @__errno_location() #10
  %8219 = load i32, ptr %8218, align 4, !tbaa !5
  store i32 %8219, ptr %161, align 4, !tbaa !5
  %8220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8221 = call i32 @s2n_print_stacktrace(ptr noundef %8220)
  %8222 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8223 = trunc i8 %8222 to i1
  br i1 %8223, label %8224, label %8246

8224:                                             ; preds = %8217
  %8225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8226 = call i32 @fileno(ptr noundef %8225) #9
  %8227 = call i32 @isatty(i32 noundef %8226) #9
  %8228 = icmp ne i32 %8227, 0
  br i1 %8228, label %8229, label %8246

8229:                                             ; preds = %8224
  %8230 = load i32, ptr %161, align 4, !tbaa !5
  %8231 = call ptr @__errno_location() #10
  store i32 %8230, ptr %8231, align 4, !tbaa !5
  %8232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8233 = load i32, ptr @test_count, align 4, !tbaa !5
  %8234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8235 = load i32, ptr %8234, align 4, !tbaa !5
  %8236 = call ptr @s2n_strerror(i32 noundef %8235, ptr noundef @.str.4)
  %8237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8238 = load i32, ptr %8237, align 4, !tbaa !5
  %8239 = call ptr @s2n_strerror_debug(i32 noundef %8238, ptr noundef @.str.4)
  %8240 = call ptr @__errno_location() #10
  %8241 = load i32, ptr %8240, align 4, !tbaa !5
  %8242 = call ptr @strerror(i32 noundef %8241) #9
  %8243 = call ptr @__errno_location() #10
  %8244 = load i32, ptr %8243, align 4, !tbaa !5
  %8245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8232, ptr noundef @.str.2, i32 noundef %8233, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 292, ptr noundef %8236, ptr noundef %8239, ptr noundef %8242, i32 noundef %8244) #9
  br label %8263

8246:                                             ; preds = %8224, %8217
  %8247 = load i32, ptr %161, align 4, !tbaa !5
  %8248 = call ptr @__errno_location() #10
  store i32 %8247, ptr %8248, align 4, !tbaa !5
  %8249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8250 = load i32, ptr @test_count, align 4, !tbaa !5
  %8251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8252 = load i32, ptr %8251, align 4, !tbaa !5
  %8253 = call ptr @s2n_strerror(i32 noundef %8252, ptr noundef @.str.4)
  %8254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8255 = load i32, ptr %8254, align 4, !tbaa !5
  %8256 = call ptr @s2n_strerror_debug(i32 noundef %8255, ptr noundef @.str.4)
  %8257 = call ptr @__errno_location() #10
  %8258 = load i32, ptr %8257, align 4, !tbaa !5
  %8259 = call ptr @strerror(i32 noundef %8258) #9
  %8260 = call ptr @__errno_location() #10
  %8261 = load i32, ptr %8260, align 4, !tbaa !5
  %8262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8249, ptr noundef @.str.5, i32 noundef %8250, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 292, ptr noundef %8253, ptr noundef %8256, ptr noundef %8259, i32 noundef %8261) #9
  br label %8263

8263:                                             ; preds = %8246, %8229
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #9
  br label %8264

8264:                                             ; preds = %8263
  br label %8265

8265:                                             ; preds = %8264
  call void @exit(i32 noundef 1) #11
  unreachable

8266:                                             ; No predecessors!
  br label %8267

8267:                                             ; preds = %8266
  br label %8268

8268:                                             ; preds = %8267, %8206
  br label %8269

8269:                                             ; preds = %8268
  br label %8270

8270:                                             ; preds = %8269
  call void @llvm.lifetime.end.p0(i64 4096, ptr %148) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #9
  %8271 = call i32 @s2n_stuffer_free(ptr noundef %135)
  call void @llvm.lifetime.end.p0(i64 40, ptr %135) #9
  %8272 = call i32 @s2n_stuffer_free(ptr noundef %134)
  call void @llvm.lifetime.end.p0(i64 40, ptr %134) #9
  %8273 = call i32 @s2n_connection_ptr_free(ptr noundef %129)
  %8274 = getelementptr inbounds %struct.s2n_result, ptr %162, i32 0, i32 0
  store i32 %8273, ptr %8274, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %129) #9
  %8275 = call i32 @s2n_connection_ptr_free(ptr noundef %126)
  %8276 = getelementptr inbounds %struct.s2n_result, ptr %163, i32 0, i32 0
  store i32 %8275, ptr %8276, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %126) #9
  br label %8277

8277:                                             ; preds = %8270
  %8278 = load i32, ptr @test_count, align 4, !tbaa !5
  %8279 = add nsw i32 %8278, 1
  store i32 %8279, ptr @test_count, align 4, !tbaa !5
  %8280 = load ptr, ptr %13, align 8, !tbaa !9
  %8281 = call i32 @s2n_config_free(ptr noundef %8280)
  %8282 = icmp eq i32 %8281, -1
  br i1 %8282, label %8283, label %8336

8283:                                             ; preds = %8277
  br label %8284

8284:                                             ; preds = %8283
  br label %8285

8285:                                             ; preds = %8284
  call void @llvm.lifetime.start.p0(i64 4, ptr %164) #9
  %8286 = call ptr @__errno_location() #10
  %8287 = load i32, ptr %8286, align 4, !tbaa !5
  store i32 %8287, ptr %164, align 4, !tbaa !5
  %8288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8289 = call i32 @s2n_print_stacktrace(ptr noundef %8288)
  %8290 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8291 = trunc i8 %8290 to i1
  br i1 %8291, label %8292, label %8314

8292:                                             ; preds = %8285
  %8293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8294 = call i32 @fileno(ptr noundef %8293) #9
  %8295 = call i32 @isatty(i32 noundef %8294) #9
  %8296 = icmp ne i32 %8295, 0
  br i1 %8296, label %8297, label %8314

8297:                                             ; preds = %8292
  %8298 = load i32, ptr %164, align 4, !tbaa !5
  %8299 = call ptr @__errno_location() #10
  store i32 %8298, ptr %8299, align 4, !tbaa !5
  %8300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8301 = load i32, ptr @test_count, align 4, !tbaa !5
  %8302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8303 = load i32, ptr %8302, align 4, !tbaa !5
  %8304 = call ptr @s2n_strerror(i32 noundef %8303, ptr noundef @.str.4)
  %8305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8306 = load i32, ptr %8305, align 4, !tbaa !5
  %8307 = call ptr @s2n_strerror_debug(i32 noundef %8306, ptr noundef @.str.4)
  %8308 = call ptr @__errno_location() #10
  %8309 = load i32, ptr %8308, align 4, !tbaa !5
  %8310 = call ptr @strerror(i32 noundef %8309) #9
  %8311 = call ptr @__errno_location() #10
  %8312 = load i32, ptr %8311, align 4, !tbaa !5
  %8313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8300, ptr noundef @.str.2, i32 noundef %8301, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 295, ptr noundef %8304, ptr noundef %8307, ptr noundef %8310, i32 noundef %8312) #9
  br label %8331

8314:                                             ; preds = %8292, %8285
  %8315 = load i32, ptr %164, align 4, !tbaa !5
  %8316 = call ptr @__errno_location() #10
  store i32 %8315, ptr %8316, align 4, !tbaa !5
  %8317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8318 = load i32, ptr @test_count, align 4, !tbaa !5
  %8319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8320 = load i32, ptr %8319, align 4, !tbaa !5
  %8321 = call ptr @s2n_strerror(i32 noundef %8320, ptr noundef @.str.4)
  %8322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8323 = load i32, ptr %8322, align 4, !tbaa !5
  %8324 = call ptr @s2n_strerror_debug(i32 noundef %8323, ptr noundef @.str.4)
  %8325 = call ptr @__errno_location() #10
  %8326 = load i32, ptr %8325, align 4, !tbaa !5
  %8327 = call ptr @strerror(i32 noundef %8326) #9
  %8328 = call ptr @__errno_location() #10
  %8329 = load i32, ptr %8328, align 4, !tbaa !5
  %8330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8317, ptr noundef @.str.5, i32 noundef %8318, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 295, ptr noundef %8321, ptr noundef %8324, ptr noundef %8327, i32 noundef %8329) #9
  br label %8331

8331:                                             ; preds = %8314, %8297
  call void @llvm.lifetime.end.p0(i64 4, ptr %164) #9
  br label %8332

8332:                                             ; preds = %8331
  br label %8333

8333:                                             ; preds = %8332
  call void @exit(i32 noundef 1) #11
  unreachable

8334:                                             ; No predecessors!
  br label %8335

8335:                                             ; preds = %8334
  br label %8336

8336:                                             ; preds = %8335, %8277
  br label %8337

8337:                                             ; preds = %8336
  br label %8338

8338:                                             ; preds = %8337
  br label %8339

8339:                                             ; preds = %8338
  %8340 = load i32, ptr @test_count, align 4, !tbaa !5
  %8341 = add nsw i32 %8340, 1
  store i32 %8341, ptr @test_count, align 4, !tbaa !5
  %8342 = load ptr, ptr %11, align 8, !tbaa !9
  %8343 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %8342)
  %8344 = icmp eq i32 %8343, -1
  br i1 %8344, label %8345, label %8398

8345:                                             ; preds = %8339
  br label %8346

8346:                                             ; preds = %8345
  br label %8347

8347:                                             ; preds = %8346
  call void @llvm.lifetime.start.p0(i64 4, ptr %165) #9
  %8348 = call ptr @__errno_location() #10
  %8349 = load i32, ptr %8348, align 4, !tbaa !5
  store i32 %8349, ptr %165, align 4, !tbaa !5
  %8350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8351 = call i32 @s2n_print_stacktrace(ptr noundef %8350)
  %8352 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8353 = trunc i8 %8352 to i1
  br i1 %8353, label %8354, label %8376

8354:                                             ; preds = %8347
  %8355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8356 = call i32 @fileno(ptr noundef %8355) #9
  %8357 = call i32 @isatty(i32 noundef %8356) #9
  %8358 = icmp ne i32 %8357, 0
  br i1 %8358, label %8359, label %8376

8359:                                             ; preds = %8354
  %8360 = load i32, ptr %165, align 4, !tbaa !5
  %8361 = call ptr @__errno_location() #10
  store i32 %8360, ptr %8361, align 4, !tbaa !5
  %8362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8363 = load i32, ptr @test_count, align 4, !tbaa !5
  %8364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8365 = load i32, ptr %8364, align 4, !tbaa !5
  %8366 = call ptr @s2n_strerror(i32 noundef %8365, ptr noundef @.str.4)
  %8367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8368 = load i32, ptr %8367, align 4, !tbaa !5
  %8369 = call ptr @s2n_strerror_debug(i32 noundef %8368, ptr noundef @.str.4)
  %8370 = call ptr @__errno_location() #10
  %8371 = load i32, ptr %8370, align 4, !tbaa !5
  %8372 = call ptr @strerror(i32 noundef %8371) #9
  %8373 = call ptr @__errno_location() #10
  %8374 = load i32, ptr %8373, align 4, !tbaa !5
  %8375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8362, ptr noundef @.str.2, i32 noundef %8363, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 296, ptr noundef %8366, ptr noundef %8369, ptr noundef %8372, i32 noundef %8374) #9
  br label %8393

8376:                                             ; preds = %8354, %8347
  %8377 = load i32, ptr %165, align 4, !tbaa !5
  %8378 = call ptr @__errno_location() #10
  store i32 %8377, ptr %8378, align 4, !tbaa !5
  %8379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8380 = load i32, ptr @test_count, align 4, !tbaa !5
  %8381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8382 = load i32, ptr %8381, align 4, !tbaa !5
  %8383 = call ptr @s2n_strerror(i32 noundef %8382, ptr noundef @.str.4)
  %8384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8385 = load i32, ptr %8384, align 4, !tbaa !5
  %8386 = call ptr @s2n_strerror_debug(i32 noundef %8385, ptr noundef @.str.4)
  %8387 = call ptr @__errno_location() #10
  %8388 = load i32, ptr %8387, align 4, !tbaa !5
  %8389 = call ptr @strerror(i32 noundef %8388) #9
  %8390 = call ptr @__errno_location() #10
  %8391 = load i32, ptr %8390, align 4, !tbaa !5
  %8392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8379, ptr noundef @.str.5, i32 noundef %8380, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 296, ptr noundef %8383, ptr noundef %8386, ptr noundef %8389, i32 noundef %8391) #9
  br label %8393

8393:                                             ; preds = %8376, %8359
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #9
  br label %8394

8394:                                             ; preds = %8393
  br label %8395

8395:                                             ; preds = %8394
  call void @exit(i32 noundef 1) #11
  unreachable

8396:                                             ; No predecessors!
  br label %8397

8397:                                             ; preds = %8396
  br label %8398

8398:                                             ; preds = %8397, %8339
  br label %8399

8399:                                             ; preds = %8398
  br label %8400

8400:                                             ; preds = %8399
  br label %8401

8401:                                             ; preds = %8400
  br label %8402

8402:                                             ; preds = %8401
  %8403 = call i32 @s2n_cleanup()
  %8404 = icmp eq i32 %8403, -1
  br i1 %8404, label %8405, label %8458

8405:                                             ; preds = %8402
  br label %8406

8406:                                             ; preds = %8405
  br label %8407

8407:                                             ; preds = %8406
  call void @llvm.lifetime.start.p0(i64 4, ptr %166) #9
  %8408 = call ptr @__errno_location() #10
  %8409 = load i32, ptr %8408, align 4, !tbaa !5
  store i32 %8409, ptr %166, align 4, !tbaa !5
  %8410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8411 = call i32 @s2n_print_stacktrace(ptr noundef %8410)
  %8412 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8413 = trunc i8 %8412 to i1
  br i1 %8413, label %8414, label %8436

8414:                                             ; preds = %8407
  %8415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8416 = call i32 @fileno(ptr noundef %8415) #9
  %8417 = call i32 @isatty(i32 noundef %8416) #9
  %8418 = icmp ne i32 %8417, 0
  br i1 %8418, label %8419, label %8436

8419:                                             ; preds = %8414
  %8420 = load i32, ptr %166, align 4, !tbaa !5
  %8421 = call ptr @__errno_location() #10
  store i32 %8420, ptr %8421, align 4, !tbaa !5
  %8422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8423 = load i32, ptr @test_count, align 4, !tbaa !5
  %8424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8425 = load i32, ptr %8424, align 4, !tbaa !5
  %8426 = call ptr @s2n_strerror(i32 noundef %8425, ptr noundef @.str.4)
  %8427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8428 = load i32, ptr %8427, align 4, !tbaa !5
  %8429 = call ptr @s2n_strerror_debug(i32 noundef %8428, ptr noundef @.str.4)
  %8430 = call ptr @__errno_location() #10
  %8431 = load i32, ptr %8430, align 4, !tbaa !5
  %8432 = call ptr @strerror(i32 noundef %8431) #9
  %8433 = call ptr @__errno_location() #10
  %8434 = load i32, ptr %8433, align 4, !tbaa !5
  %8435 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8422, ptr noundef @.str.2, i32 noundef %8423, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 297, ptr noundef %8426, ptr noundef %8429, ptr noundef %8432, i32 noundef %8434) #9
  br label %8453

8436:                                             ; preds = %8414, %8407
  %8437 = load i32, ptr %166, align 4, !tbaa !5
  %8438 = call ptr @__errno_location() #10
  store i32 %8437, ptr %8438, align 4, !tbaa !5
  %8439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8440 = load i32, ptr @test_count, align 4, !tbaa !5
  %8441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8442 = load i32, ptr %8441, align 4, !tbaa !5
  %8443 = call ptr @s2n_strerror(i32 noundef %8442, ptr noundef @.str.4)
  %8444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8445 = load i32, ptr %8444, align 4, !tbaa !5
  %8446 = call ptr @s2n_strerror_debug(i32 noundef %8445, ptr noundef @.str.4)
  %8447 = call ptr @__errno_location() #10
  %8448 = load i32, ptr %8447, align 4, !tbaa !5
  %8449 = call ptr @strerror(i32 noundef %8448) #9
  %8450 = call ptr @__errno_location() #10
  %8451 = load i32, ptr %8450, align 4, !tbaa !5
  %8452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8439, ptr noundef @.str.5, i32 noundef %8440, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 297, ptr noundef %8443, ptr noundef %8446, ptr noundef %8449, i32 noundef %8451) #9
  br label %8453

8453:                                             ; preds = %8436, %8419
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #9
  br label %8454

8454:                                             ; preds = %8453
  br label %8455

8455:                                             ; preds = %8454
  call void @exit(i32 noundef 1) #11
  unreachable

8456:                                             ; No predecessors!
  br label %8457

8457:                                             ; preds = %8456
  br label %8458

8458:                                             ; preds = %8457, %8402
  br label %8459

8459:                                             ; preds = %8458
  br label %8460

8460:                                             ; preds = %8459
  br label %8461

8461:                                             ; preds = %8460
  br label %8462

8462:                                             ; preds = %8461
  %8463 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %8464 = icmp eq i32 %8463, -1
  br i1 %8464, label %8465, label %8518

8465:                                             ; preds = %8462
  br label %8466

8466:                                             ; preds = %8465
  br label %8467

8467:                                             ; preds = %8466
  call void @llvm.lifetime.start.p0(i64 4, ptr %167) #9
  %8468 = call ptr @__errno_location() #10
  %8469 = load i32, ptr %8468, align 4, !tbaa !5
  store i32 %8469, ptr %167, align 4, !tbaa !5
  %8470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8471 = call i32 @s2n_print_stacktrace(ptr noundef %8470)
  %8472 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8473 = trunc i8 %8472 to i1
  br i1 %8473, label %8474, label %8496

8474:                                             ; preds = %8467
  %8475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8476 = call i32 @fileno(ptr noundef %8475) #9
  %8477 = call i32 @isatty(i32 noundef %8476) #9
  %8478 = icmp ne i32 %8477, 0
  br i1 %8478, label %8479, label %8496

8479:                                             ; preds = %8474
  %8480 = load i32, ptr %167, align 4, !tbaa !5
  %8481 = call ptr @__errno_location() #10
  store i32 %8480, ptr %8481, align 4, !tbaa !5
  %8482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8483 = load i32, ptr @test_count, align 4, !tbaa !5
  %8484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8485 = load i32, ptr %8484, align 4, !tbaa !5
  %8486 = call ptr @s2n_strerror(i32 noundef %8485, ptr noundef @.str.4)
  %8487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8488 = load i32, ptr %8487, align 4, !tbaa !5
  %8489 = call ptr @s2n_strerror_debug(i32 noundef %8488, ptr noundef @.str.4)
  %8490 = call ptr @__errno_location() #10
  %8491 = load i32, ptr %8490, align 4, !tbaa !5
  %8492 = call ptr @strerror(i32 noundef %8491) #9
  %8493 = call ptr @__errno_location() #10
  %8494 = load i32, ptr %8493, align 4, !tbaa !5
  %8495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8482, ptr noundef @.str.2, i32 noundef %8483, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 297, ptr noundef %8486, ptr noundef %8489, ptr noundef %8492, i32 noundef %8494) #9
  br label %8513

8496:                                             ; preds = %8474, %8467
  %8497 = load i32, ptr %167, align 4, !tbaa !5
  %8498 = call ptr @__errno_location() #10
  store i32 %8497, ptr %8498, align 4, !tbaa !5
  %8499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8500 = load i32, ptr @test_count, align 4, !tbaa !5
  %8501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8502 = load i32, ptr %8501, align 4, !tbaa !5
  %8503 = call ptr @s2n_strerror(i32 noundef %8502, ptr noundef @.str.4)
  %8504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8505 = load i32, ptr %8504, align 4, !tbaa !5
  %8506 = call ptr @s2n_strerror_debug(i32 noundef %8505, ptr noundef @.str.4)
  %8507 = call ptr @__errno_location() #10
  %8508 = load i32, ptr %8507, align 4, !tbaa !5
  %8509 = call ptr @strerror(i32 noundef %8508) #9
  %8510 = call ptr @__errno_location() #10
  %8511 = load i32, ptr %8510, align 4, !tbaa !5
  %8512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8499, ptr noundef @.str.5, i32 noundef %8500, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 297, ptr noundef %8503, ptr noundef %8506, ptr noundef %8509, i32 noundef %8511) #9
  br label %8513

8513:                                             ; preds = %8496, %8479
  call void @llvm.lifetime.end.p0(i64 4, ptr %167) #9
  br label %8514

8514:                                             ; preds = %8513
  br label %8515

8515:                                             ; preds = %8514
  call void @exit(i32 noundef 1) #11
  unreachable

8516:                                             ; No predecessors!
  br label %8517

8517:                                             ; preds = %8516
  br label %8518

8518:                                             ; preds = %8517, %8462
  br label %8519

8519:                                             ; preds = %8518
  br label %8520

8520:                                             ; preds = %8519
  %8521 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8522 = trunc i8 %8521 to i1
  br i1 %8522, label %8523, label %8539

8523:                                             ; preds = %8520
  %8524 = load ptr, ptr @stdout, align 8, !tbaa !9
  %8525 = call i32 @fileno(ptr noundef %8524) #9
  %8526 = call i32 @isatty(i32 noundef %8525) #9
  %8527 = icmp ne i32 %8526, 0
  br i1 %8527, label %8528, label %8539

8528:                                             ; preds = %8523
  %8529 = load i32, ptr @test_count, align 4, !tbaa !5
  %8530 = icmp ne i32 %8529, 0
  br i1 %8530, label %8531, label %8535

8531:                                             ; preds = %8528
  %8532 = load ptr, ptr @stdout, align 8, !tbaa !9
  %8533 = load i32, ptr @test_count, align 4, !tbaa !5
  %8534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8532, ptr noundef @.str.10, i32 noundef %8533) #9
  br label %8538

8535:                                             ; preds = %8528
  %8536 = load ptr, ptr @stdout, align 8, !tbaa !9
  %8537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8536, ptr noundef @.str.11) #9
  br label %8538

8538:                                             ; preds = %8535, %8531
  br label %8550

8539:                                             ; preds = %8523, %8520
  %8540 = load i32, ptr @test_count, align 4, !tbaa !5
  %8541 = icmp ne i32 %8540, 0
  br i1 %8541, label %8542, label %8546

8542:                                             ; preds = %8539
  %8543 = load ptr, ptr @stdout, align 8, !tbaa !9
  %8544 = load i32, ptr @test_count, align 4, !tbaa !5
  %8545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8543, ptr noundef @.str.12, i32 noundef %8544) #9
  br label %8549

8546:                                             ; preds = %8539
  %8547 = load ptr, ptr @stdout, align 8, !tbaa !9
  %8548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8547, ptr noundef @.str.13) #9
  br label %8549

8549:                                             ; preds = %8546, %8542
  br label %8550

8550:                                             ; preds = %8549, %8538
  store i32 0, ptr %3, align 4
  store i32 1, ptr %168, align 4
  br label %8555

8551:                                             ; No predecessors!
  br label %8552

8552:                                             ; preds = %8551
  br label %8553

8553:                                             ; preds = %8552
  br label %8554

8554:                                             ; preds = %8553
  store i32 0, ptr %168, align 4
  br label %8555

8555:                                             ; preds = %8554, %8550
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #9
  %8556 = load i32, ptr %168, align 4
  switch i32 %8556, label %8559 [
    i32 0, label %8557
    i32 1, label %8557
  ]

8557:                                             ; preds = %8555, %8555, %492
  %8558 = load i32, ptr %3, align 4
  ret i32 %8558

8559:                                             ; preds = %8555
  unreachable
}

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

declare i32 @fflush(ptr noundef) #2

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #2

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

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

declare i32 @s2n_print_stacktrace(ptr noundef) #2

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

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

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

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

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

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

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

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

declare i32 @s2n_enable_atexit() #2

declare i32 @s2n_init() #2

declare zeroext i1 @s2n_is_tls13_fully_supported(...) #2

declare i32 @s2n_cleanup() #2

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_set_cipher_preferences(ptr noundef, ptr noundef) #2

declare i32 @s2n_config_set_unsafe_for_testing(ptr noundef) #2

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

declare ptr @s2n_connection_new(i32 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) #7

declare i32 @s2n_io_pair_close(ptr noundef) #2

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) #2

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

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

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

declare i32 @s2n_connection_free(ptr noundef) #2

declare i32 @s2n_connection_prefer_low_latency(ptr noundef) #2

declare i32 @s2n_connection_prefer_throughput(ptr noundef) #2

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

declare i32 @s2n_config_accept_max_fragment_length(ptr noundef) #2

declare i32 @s2n_config_free(ptr noundef) #2

declare i32 @s2n_connection_wipe(ptr noundef) #2

declare i32 @s2n_connection_ptr_free(ptr noundef) #2

declare i32 @s2n_connection_set_dynamic_buffers(ptr noundef, i1 noundef zeroext) #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_negotiate_test_server_and_client(ptr noundef, ptr noundef) #2

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

declare void @s2n_debug_info_reset() #2

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

declare i32 @s2n_cert_chain_and_key_free(ptr noundef) #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #6 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #8 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #9 = { nounwind }
attributes #10 = { nounwind willreturn memory(none) }
attributes #11 = { noreturn nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !7, i64 220}
!16 = !{!"s2n_connection", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !7, i64 80, !7, i64 102, !7, i64 124, !6, i64 148, !6, i64 152, !17, i64 160, !18, i64 168, !18, i64 176, !7, i64 184, !7, i64 216, !7, i64 217, !7, i64 218, !7, i64 219, !7, i64 220, !7, i64 221, !7, i64 222, !10, i64 224, !10, i64 232, !19, i64 240, !10, i64 632, !10, i64 640, !20, i64 648, !26, i64 1144, !29, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !32, i64 1776, !32, i64 1816, !32, i64 1856, !32, i64 1896, !6, i64 1936, !18, i64 1944, !7, i64 1952, !32, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !33, i64 2004, !33, i64 2008, !34, i64 2016, !31, i64 2208, !6, i64 2212, !31, i64 2216, !18, i64 2224, !7, i64 2232, !18, i64 2240, !18, i64 2248, !18, i64 2256, !33, i64 2264, !33, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !25, i64 2792, !6, i64 2816, !25, i64 2824, !25, i64 2848, !25, i64 2872, !36, i64 2896, !38, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !25, i64 3784, !6, i64 3808, !40, i64 3816, !7, i64 3848, !32, i64 3992, !25, i64 4032, !25, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !31, i64 4084, !31, i64 4086, !6, i64 4088, !6, i64 4092, !25, i64 4096, !6, i64 4120, !41, i64 4128, !33, i64 4176, !7, i64 4180, !7, i64 4181}
!17 = !{!"s2n_timer", !18, i64 0}
!18 = !{!"long", !7, i64 0}
!19 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!20 = !{!"s2n_kex_parameters", !21, i64 0, !22, i64 8, !7, i64 24, !22, i64 56, !23, i64 72, !23, i64 184, !7, i64 296, !24, i64 360, !25, i64 448, !25, i64 472}
!21 = !{!"s2n_dh_params", !10, i64 0}
!22 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!23 = !{!"s2n_kem_group_params", !10, i64 0, !24, i64 8, !22, i64 96}
!24 = !{!"s2n_kem_params", !10, i64 0, !25, i64 8, !25, i64 32, !25, i64 56, !12, i64 80}
!25 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!26 = !{!"s2n_handshake_parameters", !27, i64 0, !27, i64 48, !25, i64 96, !6, i64 120, !28, i64 124, !10, i64 384, !10, i64 392, !10, i64 400, !7, i64 408, !7, i64 440, !7, i64 472, !7, i64 473, !7, i64 474, !7, i64 506}
!27 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!28 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!29 = !{!"s2n_psk_parameters", !6, i64 0, !30, i64 8, !31, i64 40, !31, i64 42, !10, i64 48, !6, i64 56}
!30 = !{!"s2n_array", !25, i64 0, !6, i64 24, !6, i64 28}
!31 = !{!"short", !7, i64 0}
!32 = !{!"s2n_stuffer", !25, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!33 = !{!"", !6, i64 0}
!34 = !{!"s2n_handshake", !32, i64 0, !10, i64 40, !7, i64 48, !7, i64 56, !7, i64 104, !7, i64 152, !6, i64 156, !6, i64 160, !6, i64 164, !6, i64 168, !35, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!35 = !{!"s2n_offered_early_data", !10, i64 0}
!36 = !{!"s2n_client_hello", !25, i64 0, !37, i64 24, !25, i64 728, !25, i64 752, !25, i64 776, !7, i64 800, !7, i64 801, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802}
!37 = !{!"", !7, i64 0, !25, i64 672, !31, i64 696}
!38 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !31, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !39, i64 48, !12, i64 52}
!39 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!40 = !{!"s2n_ticket_fields", !25, i64 0, !6, i64 24}
!41 = !{!"s2n_post_handshake", !32, i64 0, !7, i64 40}
!42 = !{!16, !31, i64 2208}
!43 = !{!16, !6, i64 1904}
!44 = !{!31, !31, i64 0}
!45 = !{!16, !6, i64 1824}


; 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 }

@s2n_use_color_in_output = external dso_local local_unnamed_addr global i8, align 1
@test_count = external dso_local local_unnamed_addr global i32, align 4
@stdout = external local_unnamed_addr global ptr, align 8
@.str = external hidden unnamed_addr constant [19 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [84 x i8], align 1
@stderr = external local_unnamed_addr global ptr, align 8
@.str.2 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [52 x i8], align 1
@s2n_errno = external thread_local local_unnamed_addr global i32, align 4
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [149 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [121 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [110 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [129 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [71 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @main(i32 noundef %0, ptr nocapture noundef readnone %1) local_unnamed_addr #0 {
  %3 = alloca ptr, align 8
  %4 = alloca %struct.s2n_test_io_pair, align 8
  %5 = alloca %struct.s2n_test_io_pair, align 8
  %6 = alloca %struct.s2n_test_io_pair, align 8
  %7 = alloca %struct.s2n_test_io_pair, align 8
  %8 = alloca ptr, align 8
  %9 = alloca ptr, align 8
  %10 = alloca %struct.s2n_stuffer, align 8
  %11 = alloca %struct.s2n_stuffer, align 8
  %12 = alloca i32, align 4
  %13 = alloca [4096 x i8], align 16
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %14 = load ptr, ptr @stdout, align 8, !tbaa !9
  %15 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14, ptr noundef nonnull @.str, ptr noundef nonnull @.str.1) #10
  %16 = load ptr, ptr @stdout, align 8, !tbaa !9
  %17 = tail call i32 @fflush(ptr noundef %16)
  %18 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #10
  %19 = icmp eq i32 %18, -1
  br i1 %19, label %20, label %44

20:                                               ; preds = %2
  %21 = tail call ptr @__errno_location() #11
  %22 = load i32, ptr %21, align 4, !tbaa !5
  %23 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24 = tail call i32 @s2n_print_stacktrace(ptr noundef %23) #10
  %25 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26 = trunc nuw i8 %25 to i1
  br i1 %26, label %27, label %31

27:                                               ; preds = %20
  %28 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29 = tail call i32 @fileno(ptr noundef %28) #10
  %30 = tail call i32 @isatty(i32 noundef %29) #10
  %.not526 = icmp eq i32 %30, 0
  br i1 %.not526, label %31, label %32

31:                                               ; preds = %27, %20
  br label %32

32:                                               ; preds = %27, %31
  %.str.5.sink = phi ptr [ @.str.5, %31 ], [ @.str.2, %27 ]
  store i32 %22, ptr %21, align 4, !tbaa !5
  %33 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34 = load i32, ptr @test_count, align 4, !tbaa !5
  %35 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36 = load i32, ptr %35, align 4, !tbaa !5
  %37 = tail call ptr @s2n_strerror(i32 noundef %36, ptr noundef nonnull @.str.4) #10
  %38 = load i32, ptr %35, align 4, !tbaa !5
  %39 = tail call ptr @s2n_strerror_debug(i32 noundef %38, ptr noundef nonnull @.str.4) #10
  %40 = load i32, ptr %21, align 4, !tbaa !5
  %41 = tail call ptr @strerror(i32 noundef %40) #10
  %42 = load i32, ptr %21, align 4, !tbaa !5
  %43 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33, ptr noundef nonnull %.str.5.sink, i32 noundef %34, ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.1, i32 noundef 30, ptr noundef %37, ptr noundef %39, ptr noundef %41, i32 noundef %42) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

44:                                               ; preds = %2
  %45 = load i32, ptr @test_count, align 4, !tbaa !5
  %46 = add nsw i32 %45, 1
  store i32 %46, ptr @test_count, align 4, !tbaa !5
  %47 = tail call i32 @s2n_enable_atexit() #10
  %48 = icmp eq i32 %47, -1
  br i1 %48, label %49, label %73

49:                                               ; preds = %44
  %50 = tail call ptr @__errno_location() #11
  %51 = load i32, ptr %50, align 4, !tbaa !5
  %52 = load ptr, ptr @stderr, align 8, !tbaa !9
  %53 = tail call i32 @s2n_print_stacktrace(ptr noundef %52) #10
  %54 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %55 = trunc nuw i8 %54 to i1
  br i1 %55, label %56, label %60

56:                                               ; preds = %49
  %57 = load ptr, ptr @stderr, align 8, !tbaa !9
  %58 = tail call i32 @fileno(ptr noundef %57) #10
  %59 = tail call i32 @isatty(i32 noundef %58) #10
  %.not525 = icmp eq i32 %59, 0
  br i1 %.not525, label %60, label %61

60:                                               ; preds = %56, %49
  br label %61

61:                                               ; preds = %56, %60
  %.str.5.sink537 = phi ptr [ @.str.5, %60 ], [ @.str.2, %56 ]
  store i32 %51, ptr %50, align 4, !tbaa !5
  %62 = load ptr, ptr @stderr, align 8, !tbaa !9
  %63 = load i32, ptr @test_count, align 4, !tbaa !5
  %64 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %65 = load i32, ptr %64, align 4, !tbaa !5
  %66 = tail call ptr @s2n_strerror(i32 noundef %65, ptr noundef nonnull @.str.4) #10
  %67 = load i32, ptr %64, align 4, !tbaa !5
  %68 = tail call ptr @s2n_strerror_debug(i32 noundef %67, ptr noundef nonnull @.str.4) #10
  %69 = load i32, ptr %50, align 4, !tbaa !5
  %70 = tail call ptr @strerror(i32 noundef %69) #10
  %71 = load i32, ptr %50, align 4, !tbaa !5
  %72 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %62, ptr noundef nonnull %.str.5.sink537, i32 noundef %63, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.1, i32 noundef 30, ptr noundef %66, ptr noundef %68, ptr noundef %70, i32 noundef %71) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

73:                                               ; preds = %44
  %74 = tail call i32 @s2n_init() #10
  %75 = icmp eq i32 %74, -1
  br i1 %75, label %76, label %100

76:                                               ; preds = %73
  %77 = tail call ptr @__errno_location() #11
  %78 = load i32, ptr %77, align 4, !tbaa !5
  %79 = load ptr, ptr @stderr, align 8, !tbaa !9
  %80 = tail call i32 @s2n_print_stacktrace(ptr noundef %79) #10
  %81 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %82 = trunc nuw i8 %81 to i1
  br i1 %82, label %83, label %87

83:                                               ; preds = %76
  %84 = load ptr, ptr @stderr, align 8, !tbaa !9
  %85 = tail call i32 @fileno(ptr noundef %84) #10
  %86 = tail call i32 @isatty(i32 noundef %85) #10
  %.not524 = icmp eq i32 %86, 0
  br i1 %.not524, label %87, label %88

87:                                               ; preds = %83, %76
  br label %88

88:                                               ; preds = %83, %87
  %.str.5.sink548 = phi ptr [ @.str.5, %87 ], [ @.str.2, %83 ]
  store i32 %78, ptr %77, align 4, !tbaa !5
  %89 = load ptr, ptr @stderr, align 8, !tbaa !9
  %90 = load i32, ptr @test_count, align 4, !tbaa !5
  %91 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %92 = load i32, ptr %91, align 4, !tbaa !5
  %93 = tail call ptr @s2n_strerror(i32 noundef %92, ptr noundef nonnull @.str.4) #10
  %94 = load i32, ptr %91, align 4, !tbaa !5
  %95 = tail call ptr @s2n_strerror_debug(i32 noundef %94, ptr noundef nonnull @.str.4) #10
  %96 = load i32, ptr %77, align 4, !tbaa !5
  %97 = tail call ptr @strerror(i32 noundef %96) #10
  %98 = load i32, ptr %77, align 4, !tbaa !5
  %99 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %89, ptr noundef nonnull %.str.5.sink548, i32 noundef %90, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.1, i32 noundef 30, ptr noundef %93, ptr noundef %95, ptr noundef %97, i32 noundef %98) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

100:                                              ; preds = %73
  %101 = tail call zeroext i1 (...) @s2n_is_tls13_fully_supported() #10
  br i1 %101, label %177, label %102

102:                                              ; preds = %100
  %103 = tail call i32 @s2n_cleanup() #10
  %104 = icmp eq i32 %103, -1
  br i1 %104, label %105, label %129

105:                                              ; preds = %102
  %106 = tail call ptr @__errno_location() #11
  %107 = load i32, ptr %106, align 4, !tbaa !5
  %108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %109 = tail call i32 @s2n_print_stacktrace(ptr noundef %108) #10
  %110 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %111 = trunc nuw i8 %110 to i1
  br i1 %111, label %112, label %116

112:                                              ; preds = %105
  %113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %114 = tail call i32 @fileno(ptr noundef %113) #10
  %115 = tail call i32 @isatty(i32 noundef %114) #10
  %.not393 = icmp eq i32 %115, 0
  br i1 %.not393, label %116, label %117

116:                                              ; preds = %112, %105
  br label %117

117:                                              ; preds = %112, %116
  %.str.5.sink559 = phi ptr [ @.str.5, %116 ], [ @.str.2, %112 ]
  store i32 %107, ptr %106, align 4, !tbaa !5
  %118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %119 = load i32, ptr @test_count, align 4, !tbaa !5
  %120 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %121 = load i32, ptr %120, align 4, !tbaa !5
  %122 = tail call ptr @s2n_strerror(i32 noundef %121, ptr noundef nonnull @.str.4) #10
  %123 = load i32, ptr %120, align 4, !tbaa !5
  %124 = tail call ptr @s2n_strerror_debug(i32 noundef %123, ptr noundef nonnull @.str.4) #10
  %125 = load i32, ptr %106, align 4, !tbaa !5
  %126 = tail call ptr @strerror(i32 noundef %125) #10
  %127 = load i32, ptr %106, align 4, !tbaa !5
  %128 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %118, ptr noundef nonnull %.str.5.sink559, i32 noundef %119, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 33, ptr noundef %122, ptr noundef %124, ptr noundef %126, i32 noundef %127) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

129:                                              ; preds = %102
  %130 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #10
  %131 = icmp eq i32 %130, -1
  br i1 %131, label %132, label %156

132:                                              ; preds = %129
  %133 = tail call ptr @__errno_location() #11
  %134 = load i32, ptr %133, align 4, !tbaa !5
  %135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %136 = tail call i32 @s2n_print_stacktrace(ptr noundef %135) #10
  %137 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %138 = trunc nuw i8 %137 to i1
  br i1 %138, label %139, label %143

139:                                              ; preds = %132
  %140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %141 = tail call i32 @fileno(ptr noundef %140) #10
  %142 = tail call i32 @isatty(i32 noundef %141) #10
  %.not392 = icmp eq i32 %142, 0
  br i1 %.not392, label %143, label %144

143:                                              ; preds = %139, %132
  br label %144

144:                                              ; preds = %139, %143
  %.str.5.sink570 = phi ptr [ @.str.5, %143 ], [ @.str.2, %139 ]
  store i32 %134, ptr %133, align 4, !tbaa !5
  %145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %146 = load i32, ptr @test_count, align 4, !tbaa !5
  %147 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %148 = load i32, ptr %147, align 4, !tbaa !5
  %149 = tail call ptr @s2n_strerror(i32 noundef %148, ptr noundef nonnull @.str.4) #10
  %150 = load i32, ptr %147, align 4, !tbaa !5
  %151 = tail call ptr @s2n_strerror_debug(i32 noundef %150, ptr noundef nonnull @.str.4) #10
  %152 = load i32, ptr %133, align 4, !tbaa !5
  %153 = tail call ptr @strerror(i32 noundef %152) #10
  %154 = load i32, ptr %133, align 4, !tbaa !5
  %155 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %145, ptr noundef nonnull %.str.5.sink570, i32 noundef %146, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 33, ptr noundef %149, ptr noundef %151, ptr noundef %153, i32 noundef %154) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

156:                                              ; preds = %129
  %157 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %158 = trunc nuw i8 %157 to i1
  br i1 %158, label %159, label %170

159:                                              ; preds = %156
  %160 = load ptr, ptr @stdout, align 8, !tbaa !9
  %161 = tail call i32 @fileno(ptr noundef %160) #10
  %162 = tail call i32 @isatty(i32 noundef %161) #10
  %.not = icmp eq i32 %162, 0
  br i1 %.not, label %170, label %163

163:                                              ; preds = %159
  %164 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not391 = icmp eq i32 %164, 0
  %165 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not391, label %168, label %166

166:                                              ; preds = %163
  %167 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %165, ptr noundef nonnull @.str.10, i32 noundef %164) #10
  br label %3849

168:                                              ; preds = %163
  %169 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %165, ptr noundef nonnull @.str.11) #10
  br label %3849

170:                                              ; preds = %159, %156
  %171 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not390 = icmp eq i32 %171, 0
  %172 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not390, label %175, label %173

173:                                              ; preds = %170
  %174 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %172, ptr noundef nonnull @.str.12, i32 noundef %171) #10
  br label %3849

175:                                              ; preds = %170
  %176 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %172, ptr noundef nonnull @.str.13) #10
  br label %3849

177:                                              ; preds = %100
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #10
  store ptr null, ptr %3, align 8, !tbaa !9
  %178 = load i32, ptr @test_count, align 4, !tbaa !5
  %179 = add nsw i32 %178, 1
  store i32 %179, ptr @test_count, align 4, !tbaa !5
  %180 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %3, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.15) #10
  %181 = icmp eq i32 %180, -1
  br i1 %181, label %182, label %206

182:                                              ; preds = %177
  %183 = tail call ptr @__errno_location() #11
  %184 = load i32, ptr %183, align 4, !tbaa !5
  %185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %186 = call i32 @s2n_print_stacktrace(ptr noundef %185) #10
  %187 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %188 = trunc nuw i8 %187 to i1
  br i1 %188, label %189, label %193

189:                                              ; preds = %182
  %190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %191 = call i32 @fileno(ptr noundef %190) #10
  %192 = call i32 @isatty(i32 noundef %191) #10
  %.not523 = icmp eq i32 %192, 0
  br i1 %.not523, label %193, label %194

193:                                              ; preds = %189, %182
  br label %194

194:                                              ; preds = %189, %193
  %.str.5.sink581 = phi ptr [ @.str.5, %193 ], [ @.str.2, %189 ]
  store i32 %184, ptr %183, align 4, !tbaa !5
  %195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %196 = load i32, ptr @test_count, align 4, !tbaa !5
  %197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %198 = load i32, ptr %197, align 4, !tbaa !5
  %199 = call ptr @s2n_strerror(i32 noundef %198, ptr noundef nonnull @.str.4) #10
  %200 = load i32, ptr %197, align 4, !tbaa !5
  %201 = call ptr @s2n_strerror_debug(i32 noundef %200, ptr noundef nonnull @.str.4) #10
  %202 = load i32, ptr %183, align 4, !tbaa !5
  %203 = call ptr @strerror(i32 noundef %202) #10
  %204 = load i32, ptr %183, align 4, !tbaa !5
  %205 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %195, ptr noundef nonnull %.str.5.sink581, i32 noundef %196, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 38, ptr noundef %199, ptr noundef %201, ptr noundef %203, i32 noundef %204) #12
  call void @exit(i32 noundef 1) #13
  unreachable

206:                                              ; preds = %177
  %207 = call ptr @s2n_config_new() #10
  %208 = load i32, ptr @test_count, align 4, !tbaa !5
  %209 = add nsw i32 %208, 1
  store i32 %209, ptr @test_count, align 4, !tbaa !5
  %210 = icmp eq ptr %207, null
  br i1 %210, label %211, label %235

211:                                              ; preds = %206
  %212 = tail call ptr @__errno_location() #11
  %213 = load i32, ptr %212, align 4, !tbaa !5
  %214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %215 = call i32 @s2n_print_stacktrace(ptr noundef %214) #10
  %216 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %217 = trunc nuw i8 %216 to i1
  br i1 %217, label %218, label %222

218:                                              ; preds = %211
  %219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %220 = call i32 @fileno(ptr noundef %219) #10
  %221 = call i32 @isatty(i32 noundef %220) #10
  %.not522 = icmp eq i32 %221, 0
  br i1 %.not522, label %222, label %223

222:                                              ; preds = %218, %211
  br label %223

223:                                              ; preds = %218, %222
  %.str.5.sink592 = phi ptr [ @.str.5, %222 ], [ @.str.2, %218 ]
  store i32 %213, ptr %212, align 4, !tbaa !5
  %224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %225 = load i32, ptr @test_count, align 4, !tbaa !5
  %226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %227 = load i32, ptr %226, align 4, !tbaa !5
  %228 = call ptr @s2n_strerror(i32 noundef %227, ptr noundef nonnull @.str.4) #10
  %229 = load i32, ptr %226, align 4, !tbaa !5
  %230 = call ptr @s2n_strerror_debug(i32 noundef %229, ptr noundef nonnull @.str.4) #10
  %231 = load i32, ptr %212, align 4, !tbaa !5
  %232 = call ptr @strerror(i32 noundef %231) #10
  %233 = load i32, ptr %212, align 4, !tbaa !5
  %234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %224, ptr noundef nonnull %.str.5.sink592, i32 noundef %225, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 41, ptr noundef %228, ptr noundef %230, ptr noundef %232, i32 noundef %233) #12
  call void @exit(i32 noundef 1) #13
  unreachable

235:                                              ; preds = %206
  %236 = add nsw i32 %208, 2
  store i32 %236, ptr @test_count, align 4, !tbaa !5
  %237 = call i32 @s2n_config_set_cipher_preferences(ptr noundef nonnull %207, ptr noundef nonnull @.str.18) #10
  %238 = icmp eq i32 %237, -1
  br i1 %238, label %239, label %263

239:                                              ; preds = %235
  %240 = tail call ptr @__errno_location() #11
  %241 = load i32, ptr %240, align 4, !tbaa !5
  %242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %243 = call i32 @s2n_print_stacktrace(ptr noundef %242) #10
  %244 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %245 = trunc nuw i8 %244 to i1
  br i1 %245, label %246, label %250

246:                                              ; preds = %239
  %247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %248 = call i32 @fileno(ptr noundef %247) #10
  %249 = call i32 @isatty(i32 noundef %248) #10
  %.not521 = icmp eq i32 %249, 0
  br i1 %.not521, label %250, label %251

250:                                              ; preds = %246, %239
  br label %251

251:                                              ; preds = %246, %250
  %.str.5.sink603 = phi ptr [ @.str.5, %250 ], [ @.str.2, %246 ]
  store i32 %241, ptr %240, align 4, !tbaa !5
  %252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %253 = load i32, ptr @test_count, align 4, !tbaa !5
  %254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %255 = load i32, ptr %254, align 4, !tbaa !5
  %256 = call ptr @s2n_strerror(i32 noundef %255, ptr noundef nonnull @.str.4) #10
  %257 = load i32, ptr %254, align 4, !tbaa !5
  %258 = call ptr @s2n_strerror_debug(i32 noundef %257, ptr noundef nonnull @.str.4) #10
  %259 = load i32, ptr %240, align 4, !tbaa !5
  %260 = call ptr @strerror(i32 noundef %259) #10
  %261 = load i32, ptr %240, align 4, !tbaa !5
  %262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %252, ptr noundef nonnull %.str.5.sink603, i32 noundef %253, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 42, ptr noundef %256, ptr noundef %258, ptr noundef %260, i32 noundef %261) #12
  call void @exit(i32 noundef 1) #13
  unreachable

263:                                              ; preds = %235
  %264 = load i32, ptr @test_count, align 4, !tbaa !5
  %265 = add nsw i32 %264, 1
  store i32 %265, ptr @test_count, align 4, !tbaa !5
  %266 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef nonnull %207) #10
  %267 = icmp eq i32 %266, -1
  br i1 %267, label %268, label %292

268:                                              ; preds = %263
  %269 = tail call ptr @__errno_location() #11
  %270 = load i32, ptr %269, align 4, !tbaa !5
  %271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %272 = call i32 @s2n_print_stacktrace(ptr noundef %271) #10
  %273 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %274 = trunc nuw i8 %273 to i1
  br i1 %274, label %275, label %279

275:                                              ; preds = %268
  %276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %277 = call i32 @fileno(ptr noundef %276) #10
  %278 = call i32 @isatty(i32 noundef %277) #10
  %.not520 = icmp eq i32 %278, 0
  br i1 %.not520, label %279, label %280

279:                                              ; preds = %275, %268
  br label %280

280:                                              ; preds = %275, %279
  %.str.5.sink614 = phi ptr [ @.str.5, %279 ], [ @.str.2, %275 ]
  store i32 %270, ptr %269, align 4, !tbaa !5
  %281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %282 = load i32, ptr @test_count, align 4, !tbaa !5
  %283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %284 = load i32, ptr %283, align 4, !tbaa !5
  %285 = call ptr @s2n_strerror(i32 noundef %284, ptr noundef nonnull @.str.4) #10
  %286 = load i32, ptr %283, align 4, !tbaa !5
  %287 = call ptr @s2n_strerror_debug(i32 noundef %286, ptr noundef nonnull @.str.4) #10
  %288 = load i32, ptr %269, align 4, !tbaa !5
  %289 = call ptr @strerror(i32 noundef %288) #10
  %290 = load i32, ptr %269, align 4, !tbaa !5
  %291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %281, ptr noundef nonnull %.str.5.sink614, i32 noundef %282, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 43, ptr noundef %285, ptr noundef %287, ptr noundef %289, i32 noundef %290) #12
  call void @exit(i32 noundef 1) #13
  unreachable

292:                                              ; preds = %263
  %293 = load i32, ptr @test_count, align 4, !tbaa !5
  %294 = add nsw i32 %293, 1
  store i32 %294, ptr @test_count, align 4, !tbaa !5
  %295 = load ptr, ptr %3, align 8, !tbaa !9
  %296 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %207, ptr noundef %295) #10
  %297 = icmp eq i32 %296, -1
  br i1 %297, label %298, label %322

298:                                              ; preds = %292
  %299 = tail call ptr @__errno_location() #11
  %300 = load i32, ptr %299, align 4, !tbaa !5
  %301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %302 = call i32 @s2n_print_stacktrace(ptr noundef %301) #10
  %303 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %304 = trunc nuw i8 %303 to i1
  br i1 %304, label %305, label %309

305:                                              ; preds = %298
  %306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %307 = call i32 @fileno(ptr noundef %306) #10
  %308 = call i32 @isatty(i32 noundef %307) #10
  %.not519 = icmp eq i32 %308, 0
  br i1 %.not519, label %309, label %310

309:                                              ; preds = %305, %298
  br label %310

310:                                              ; preds = %305, %309
  %.str.5.sink625 = phi ptr [ @.str.5, %309 ], [ @.str.2, %305 ]
  store i32 %300, ptr %299, align 4, !tbaa !5
  %311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %312 = load i32, ptr @test_count, align 4, !tbaa !5
  %313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %314 = load i32, ptr %313, align 4, !tbaa !5
  %315 = call ptr @s2n_strerror(i32 noundef %314, ptr noundef nonnull @.str.4) #10
  %316 = load i32, ptr %313, align 4, !tbaa !5
  %317 = call ptr @s2n_strerror_debug(i32 noundef %316, ptr noundef nonnull @.str.4) #10
  %318 = load i32, ptr %299, align 4, !tbaa !5
  %319 = call ptr @strerror(i32 noundef %318) #10
  %320 = load i32, ptr %299, align 4, !tbaa !5
  %321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %311, ptr noundef nonnull %.str.5.sink625, i32 noundef %312, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 44, ptr noundef %315, ptr noundef %317, ptr noundef %319, i32 noundef %320) #12
  call void @exit(i32 noundef 1) #13
  unreachable

322:                                              ; preds = %292
  %323 = call ptr @s2n_connection_new(i32 noundef 1) #10
  %324 = load i32, ptr @test_count, align 4, !tbaa !5
  %325 = add nsw i32 %324, 1
  store i32 %325, ptr @test_count, align 4, !tbaa !5
  %326 = icmp eq ptr %323, null
  br i1 %326, label %327, label %351

327:                                              ; preds = %322
  %328 = tail call ptr @__errno_location() #11
  %329 = load i32, ptr %328, align 4, !tbaa !5
  %330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %331 = call i32 @s2n_print_stacktrace(ptr noundef %330) #10
  %332 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %333 = trunc nuw i8 %332 to i1
  br i1 %333, label %334, label %338

334:                                              ; preds = %327
  %335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %336 = call i32 @fileno(ptr noundef %335) #10
  %337 = call i32 @isatty(i32 noundef %336) #10
  %.not518 = icmp eq i32 %337, 0
  br i1 %.not518, label %338, label %339

338:                                              ; preds = %334, %327
  br label %339

339:                                              ; preds = %334, %338
  %.str.5.sink636 = phi ptr [ @.str.5, %338 ], [ @.str.2, %334 ]
  store i32 %329, ptr %328, align 4, !tbaa !5
  %340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %341 = load i32, ptr @test_count, align 4, !tbaa !5
  %342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %343 = load i32, ptr %342, align 4, !tbaa !5
  %344 = call ptr @s2n_strerror(i32 noundef %343, ptr noundef nonnull @.str.4) #10
  %345 = load i32, ptr %342, align 4, !tbaa !5
  %346 = call ptr @s2n_strerror_debug(i32 noundef %345, ptr noundef nonnull @.str.4) #10
  %347 = load i32, ptr %328, align 4, !tbaa !5
  %348 = call ptr @strerror(i32 noundef %347) #10
  %349 = load i32, ptr %328, align 4, !tbaa !5
  %350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %340, ptr noundef nonnull %.str.5.sink636, i32 noundef %341, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 49, ptr noundef %344, ptr noundef %346, ptr noundef %348, i32 noundef %349) #12
  call void @exit(i32 noundef 1) #13
  unreachable

351:                                              ; preds = %322
  %352 = add nsw i32 %324, 2
  store i32 %352, ptr @test_count, align 4, !tbaa !5
  %353 = call i32 @s2n_connection_set_config(ptr noundef nonnull %323, ptr noundef nonnull %207) #10
  %354 = icmp eq i32 %353, -1
  br i1 %354, label %355, label %379

355:                                              ; preds = %351
  %356 = tail call ptr @__errno_location() #11
  %357 = load i32, ptr %356, align 4, !tbaa !5
  %358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %359 = call i32 @s2n_print_stacktrace(ptr noundef %358) #10
  %360 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %361 = trunc nuw i8 %360 to i1
  br i1 %361, label %362, label %366

362:                                              ; preds = %355
  %363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %364 = call i32 @fileno(ptr noundef %363) #10
  %365 = call i32 @isatty(i32 noundef %364) #10
  %.not517 = icmp eq i32 %365, 0
  br i1 %.not517, label %366, label %367

366:                                              ; preds = %362, %355
  br label %367

367:                                              ; preds = %362, %366
  %.str.5.sink647 = phi ptr [ @.str.5, %366 ], [ @.str.2, %362 ]
  store i32 %357, ptr %356, align 4, !tbaa !5
  %368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %369 = load i32, ptr @test_count, align 4, !tbaa !5
  %370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %371 = load i32, ptr %370, align 4, !tbaa !5
  %372 = call ptr @s2n_strerror(i32 noundef %371, ptr noundef nonnull @.str.4) #10
  %373 = load i32, ptr %370, align 4, !tbaa !5
  %374 = call ptr @s2n_strerror_debug(i32 noundef %373, ptr noundef nonnull @.str.4) #10
  %375 = load i32, ptr %356, align 4, !tbaa !5
  %376 = call ptr @strerror(i32 noundef %375) #10
  %377 = load i32, ptr %356, align 4, !tbaa !5
  %378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %368, ptr noundef nonnull %.str.5.sink647, i32 noundef %369, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 50, ptr noundef %372, ptr noundef %374, ptr noundef %376, i32 noundef %377) #12
  call void @exit(i32 noundef 1) #13
  unreachable

379:                                              ; preds = %351
  %380 = call ptr @s2n_connection_new(i32 noundef 0) #10
  %381 = load i32, ptr @test_count, align 4, !tbaa !5
  %382 = add nsw i32 %381, 1
  store i32 %382, ptr @test_count, align 4, !tbaa !5
  %383 = icmp eq ptr %380, null
  br i1 %383, label %384, label %408

384:                                              ; preds = %379
  %385 = tail call ptr @__errno_location() #11
  %386 = load i32, ptr %385, align 4, !tbaa !5
  %387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %388 = call i32 @s2n_print_stacktrace(ptr noundef %387) #10
  %389 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %390 = trunc nuw i8 %389 to i1
  br i1 %390, label %391, label %395

391:                                              ; preds = %384
  %392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %393 = call i32 @fileno(ptr noundef %392) #10
  %394 = call i32 @isatty(i32 noundef %393) #10
  %.not516 = icmp eq i32 %394, 0
  br i1 %.not516, label %395, label %396

395:                                              ; preds = %391, %384
  br label %396

396:                                              ; preds = %391, %395
  %.str.5.sink658 = phi ptr [ @.str.5, %395 ], [ @.str.2, %391 ]
  store i32 %386, ptr %385, align 4, !tbaa !5
  %397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %398 = load i32, ptr @test_count, align 4, !tbaa !5
  %399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %400 = load i32, ptr %399, align 4, !tbaa !5
  %401 = call ptr @s2n_strerror(i32 noundef %400, ptr noundef nonnull @.str.4) #10
  %402 = load i32, ptr %399, align 4, !tbaa !5
  %403 = call ptr @s2n_strerror_debug(i32 noundef %402, ptr noundef nonnull @.str.4) #10
  %404 = load i32, ptr %385, align 4, !tbaa !5
  %405 = call ptr @strerror(i32 noundef %404) #10
  %406 = load i32, ptr %385, align 4, !tbaa !5
  %407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %397, ptr noundef nonnull %.str.5.sink658, i32 noundef %398, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 53, ptr noundef %401, ptr noundef %403, ptr noundef %405, i32 noundef %406) #12
  call void @exit(i32 noundef 1) #13
  unreachable

408:                                              ; preds = %379
  %409 = add nsw i32 %381, 2
  store i32 %409, ptr @test_count, align 4, !tbaa !5
  %410 = call i32 @s2n_connection_set_config(ptr noundef nonnull %380, ptr noundef nonnull %207) #10
  %411 = icmp eq i32 %410, -1
  br i1 %411, label %412, label %436

412:                                              ; preds = %408
  %413 = tail call ptr @__errno_location() #11
  %414 = load i32, ptr %413, align 4, !tbaa !5
  %415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %416 = call i32 @s2n_print_stacktrace(ptr noundef %415) #10
  %417 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %418 = trunc nuw i8 %417 to i1
  br i1 %418, label %419, label %423

419:                                              ; preds = %412
  %420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %421 = call i32 @fileno(ptr noundef %420) #10
  %422 = call i32 @isatty(i32 noundef %421) #10
  %.not515 = icmp eq i32 %422, 0
  br i1 %.not515, label %423, label %424

423:                                              ; preds = %419, %412
  br label %424

424:                                              ; preds = %419, %423
  %.str.5.sink669 = phi ptr [ @.str.5, %423 ], [ @.str.2, %419 ]
  store i32 %414, ptr %413, align 4, !tbaa !5
  %425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %426 = load i32, ptr @test_count, align 4, !tbaa !5
  %427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %428 = load i32, ptr %427, align 4, !tbaa !5
  %429 = call ptr @s2n_strerror(i32 noundef %428, ptr noundef nonnull @.str.4) #10
  %430 = load i32, ptr %427, align 4, !tbaa !5
  %431 = call ptr @s2n_strerror_debug(i32 noundef %430, ptr noundef nonnull @.str.4) #10
  %432 = load i32, ptr %413, align 4, !tbaa !5
  %433 = call ptr @strerror(i32 noundef %432) #10
  %434 = load i32, ptr %413, align 4, !tbaa !5
  %435 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %425, ptr noundef nonnull %.str.5.sink669, i32 noundef %426, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 54, ptr noundef %429, ptr noundef %431, ptr noundef %433, i32 noundef %434) #12
  call void @exit(i32 noundef 1) #13
  unreachable

436:                                              ; preds = %408
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #10
  store i64 0, ptr %4, align 8
  %437 = load i32, ptr @test_count, align 4, !tbaa !5
  %438 = add nsw i32 %437, 1
  store i32 %438, ptr @test_count, align 4, !tbaa !5
  %439 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %4) #10
  %440 = icmp eq i32 %439, -1
  br i1 %440, label %441, label %465

441:                                              ; preds = %436
  %442 = tail call ptr @__errno_location() #11
  %443 = load i32, ptr %442, align 4, !tbaa !5
  %444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %445 = call i32 @s2n_print_stacktrace(ptr noundef %444) #10
  %446 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %447 = trunc nuw i8 %446 to i1
  br i1 %447, label %448, label %452

448:                                              ; preds = %441
  %449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %450 = call i32 @fileno(ptr noundef %449) #10
  %451 = call i32 @isatty(i32 noundef %450) #10
  %.not514 = icmp eq i32 %451, 0
  br i1 %.not514, label %452, label %453

452:                                              ; preds = %448, %441
  br label %453

453:                                              ; preds = %448, %452
  %.str.5.sink680 = phi ptr [ @.str.5, %452 ], [ @.str.2, %448 ]
  store i32 %443, ptr %442, align 4, !tbaa !5
  %454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %455 = load i32, ptr @test_count, align 4, !tbaa !5
  %456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %457 = load i32, ptr %456, align 4, !tbaa !5
  %458 = call ptr @s2n_strerror(i32 noundef %457, ptr noundef nonnull @.str.4) #10
  %459 = load i32, ptr %456, align 4, !tbaa !5
  %460 = call ptr @s2n_strerror_debug(i32 noundef %459, ptr noundef nonnull @.str.4) #10
  %461 = load i32, ptr %442, align 4, !tbaa !5
  %462 = call ptr @strerror(i32 noundef %461) #10
  %463 = load i32, ptr %442, align 4, !tbaa !5
  %464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %454, ptr noundef nonnull %.str.5.sink680, i32 noundef %455, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 58, ptr noundef %458, ptr noundef %460, ptr noundef %462, i32 noundef %463) #12
  call void @exit(i32 noundef 1) #13
  unreachable

465:                                              ; preds = %436
  %466 = load i32, ptr @test_count, align 4, !tbaa !5
  %467 = add nsw i32 %466, 1
  store i32 %467, ptr @test_count, align 4, !tbaa !5
  %468 = call i32 @s2n_connection_set_io_pair(ptr noundef nonnull %323, ptr noundef nonnull %4) #10
  %469 = icmp eq i32 %468, -1
  br i1 %469, label %470, label %494

470:                                              ; preds = %465
  %471 = tail call ptr @__errno_location() #11
  %472 = load i32, ptr %471, align 4, !tbaa !5
  %473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %474 = call i32 @s2n_print_stacktrace(ptr noundef %473) #10
  %475 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %476 = trunc nuw i8 %475 to i1
  br i1 %476, label %477, label %481

477:                                              ; preds = %470
  %478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %479 = call i32 @fileno(ptr noundef %478) #10
  %480 = call i32 @isatty(i32 noundef %479) #10
  %.not513 = icmp eq i32 %480, 0
  br i1 %.not513, label %481, label %482

481:                                              ; preds = %477, %470
  br label %482

482:                                              ; preds = %477, %481
  %.str.5.sink691 = phi ptr [ @.str.5, %481 ], [ @.str.2, %477 ]
  store i32 %472, ptr %471, align 4, !tbaa !5
  %483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %484 = load i32, ptr @test_count, align 4, !tbaa !5
  %485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %486 = load i32, ptr %485, align 4, !tbaa !5
  %487 = call ptr @s2n_strerror(i32 noundef %486, ptr noundef nonnull @.str.4) #10
  %488 = load i32, ptr %485, align 4, !tbaa !5
  %489 = call ptr @s2n_strerror_debug(i32 noundef %488, ptr noundef nonnull @.str.4) #10
  %490 = load i32, ptr %471, align 4, !tbaa !5
  %491 = call ptr @strerror(i32 noundef %490) #10
  %492 = load i32, ptr %471, align 4, !tbaa !5
  %493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %483, ptr noundef nonnull %.str.5.sink691, i32 noundef %484, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 59, ptr noundef %487, ptr noundef %489, ptr noundef %491, i32 noundef %492) #12
  call void @exit(i32 noundef 1) #13
  unreachable

494:                                              ; preds = %465
  %495 = load i32, ptr @test_count, align 4, !tbaa !5
  %496 = add nsw i32 %495, 1
  store i32 %496, ptr @test_count, align 4, !tbaa !5
  %497 = call i32 @s2n_connection_set_io_pair(ptr noundef nonnull %380, ptr noundef nonnull %4) #10
  %498 = icmp eq i32 %497, -1
  br i1 %498, label %499, label %523

499:                                              ; preds = %494
  %500 = tail call ptr @__errno_location() #11
  %501 = load i32, ptr %500, align 4, !tbaa !5
  %502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %503 = call i32 @s2n_print_stacktrace(ptr noundef %502) #10
  %504 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %505 = trunc nuw i8 %504 to i1
  br i1 %505, label %506, label %510

506:                                              ; preds = %499
  %507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %508 = call i32 @fileno(ptr noundef %507) #10
  %509 = call i32 @isatty(i32 noundef %508) #10
  %.not512 = icmp eq i32 %509, 0
  br i1 %.not512, label %510, label %511

510:                                              ; preds = %506, %499
  br label %511

511:                                              ; preds = %506, %510
  %.str.5.sink702 = phi ptr [ @.str.5, %510 ], [ @.str.2, %506 ]
  store i32 %501, ptr %500, align 4, !tbaa !5
  %512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %513 = load i32, ptr @test_count, align 4, !tbaa !5
  %514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %515 = load i32, ptr %514, align 4, !tbaa !5
  %516 = call ptr @s2n_strerror(i32 noundef %515, ptr noundef nonnull @.str.4) #10
  %517 = load i32, ptr %514, align 4, !tbaa !5
  %518 = call ptr @s2n_strerror_debug(i32 noundef %517, ptr noundef nonnull @.str.4) #10
  %519 = load i32, ptr %500, align 4, !tbaa !5
  %520 = call ptr @strerror(i32 noundef %519) #10
  %521 = load i32, ptr %500, align 4, !tbaa !5
  %522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %512, ptr noundef nonnull %.str.5.sink702, i32 noundef %513, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 60, ptr noundef %516, ptr noundef %518, ptr noundef %520, i32 noundef %521) #12
  call void @exit(i32 noundef 1) #13
  unreachable

523:                                              ; preds = %494
  %524 = load i32, ptr @test_count, align 4, !tbaa !5
  %525 = add nsw i32 %524, 1
  store i32 %525, ptr @test_count, align 4, !tbaa !5
  %526 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef nonnull %380, ptr noundef nonnull %323, i32 noundef 2) #10
  %527 = call zeroext i1 @s2n_result_is_ok(i32 %526)
  br i1 %527, label %552, label %528

528:                                              ; preds = %523
  %529 = tail call ptr @__errno_location() #11
  %530 = load i32, ptr %529, align 4, !tbaa !5
  %531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %532 = call i32 @s2n_print_stacktrace(ptr noundef %531) #10
  %533 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %534 = trunc nuw i8 %533 to i1
  br i1 %534, label %535, label %539

535:                                              ; preds = %528
  %536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %537 = call i32 @fileno(ptr noundef %536) #10
  %538 = call i32 @isatty(i32 noundef %537) #10
  %.not394 = icmp eq i32 %538, 0
  br i1 %.not394, label %539, label %540

539:                                              ; preds = %535, %528
  br label %540

540:                                              ; preds = %535, %539
  %.str.5.sink713 = phi ptr [ @.str.5, %539 ], [ @.str.2, %535 ]
  store i32 %530, ptr %529, align 4, !tbaa !5
  %541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %542 = load i32, ptr @test_count, align 4, !tbaa !5
  %543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %544 = load i32, ptr %543, align 4, !tbaa !5
  %545 = call ptr @s2n_strerror(i32 noundef %544, ptr noundef nonnull @.str.4) #10
  %546 = load i32, ptr %543, align 4, !tbaa !5
  %547 = call ptr @s2n_strerror_debug(i32 noundef %546, ptr noundef nonnull @.str.4) #10
  %548 = load i32, ptr %529, align 4, !tbaa !5
  %549 = call ptr @strerror(i32 noundef %548) #10
  %550 = load i32, ptr %529, align 4, !tbaa !5
  %551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %541, ptr noundef nonnull %.str.5.sink713, i32 noundef %542, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 63, ptr noundef %545, ptr noundef %547, ptr noundef %549, i32 noundef %550) #12
  call void @exit(i32 noundef 1) #13
  unreachable

552:                                              ; preds = %523
  %553 = load i32, ptr @test_count, align 4, !tbaa !5
  %554 = add nsw i32 %553, 1
  store i32 %554, ptr @test_count, align 4, !tbaa !5
  %555 = getelementptr inbounds i8, ptr %323, i64 220
  %556 = load i8, ptr %555, align 4, !tbaa !15
  %557 = icmp eq i8 %556, 34
  br i1 %557, label %582, label %558

558:                                              ; preds = %552
  %559 = tail call ptr @__errno_location() #11
  %560 = load i32, ptr %559, align 4, !tbaa !5
  %561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %562 = call i32 @s2n_print_stacktrace(ptr noundef %561) #10
  %563 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %564 = trunc nuw i8 %563 to i1
  br i1 %564, label %565, label %569

565:                                              ; preds = %558
  %566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %567 = call i32 @fileno(ptr noundef %566) #10
  %568 = call i32 @isatty(i32 noundef %567) #10
  %.not395 = icmp eq i32 %568, 0
  br i1 %.not395, label %569, label %570

569:                                              ; preds = %565, %558
  br label %570

570:                                              ; preds = %565, %569
  %.str.5.sink724 = phi ptr [ @.str.5, %569 ], [ @.str.2, %565 ]
  store i32 %560, ptr %559, align 4, !tbaa !5
  %571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %572 = load i32, ptr @test_count, align 4, !tbaa !5
  %573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %574 = load i32, ptr %573, align 4, !tbaa !5
  %575 = call ptr @s2n_strerror(i32 noundef %574, ptr noundef nonnull @.str.4) #10
  %576 = load i32, ptr %573, align 4, !tbaa !5
  %577 = call ptr @s2n_strerror_debug(i32 noundef %576, ptr noundef nonnull @.str.4) #10
  %578 = load i32, ptr %559, align 4, !tbaa !5
  %579 = call ptr @strerror(i32 noundef %578) #10
  %580 = load i32, ptr %559, align 4, !tbaa !5
  %581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %571, ptr noundef nonnull %.str.5.sink724, i32 noundef %572, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 64, ptr noundef %575, ptr noundef %577, ptr noundef %579, i32 noundef %580) #12
  call void @exit(i32 noundef 1) #13
  unreachable

582:                                              ; preds = %552
  %583 = add nsw i32 %553, 2
  store i32 %583, ptr @test_count, align 4, !tbaa !5
  %584 = getelementptr inbounds i8, ptr %380, i64 220
  %585 = load i8, ptr %584, align 4, !tbaa !15
  %586 = icmp eq i8 %585, 34
  br i1 %586, label %611, label %587

587:                                              ; preds = %582
  %588 = tail call ptr @__errno_location() #11
  %589 = load i32, ptr %588, align 4, !tbaa !5
  %590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %591 = call i32 @s2n_print_stacktrace(ptr noundef %590) #10
  %592 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %593 = trunc nuw i8 %592 to i1
  br i1 %593, label %594, label %598

594:                                              ; preds = %587
  %595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %596 = call i32 @fileno(ptr noundef %595) #10
  %597 = call i32 @isatty(i32 noundef %596) #10
  %.not396 = icmp eq i32 %597, 0
  br i1 %.not396, label %598, label %599

598:                                              ; preds = %594, %587
  br label %599

599:                                              ; preds = %594, %598
  %.str.5.sink735 = phi ptr [ @.str.5, %598 ], [ @.str.2, %594 ]
  store i32 %589, ptr %588, align 4, !tbaa !5
  %600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %601 = load i32, ptr @test_count, align 4, !tbaa !5
  %602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %603 = load i32, ptr %602, align 4, !tbaa !5
  %604 = call ptr @s2n_strerror(i32 noundef %603, ptr noundef nonnull @.str.4) #10
  %605 = load i32, ptr %602, align 4, !tbaa !5
  %606 = call ptr @s2n_strerror_debug(i32 noundef %605, ptr noundef nonnull @.str.4) #10
  %607 = load i32, ptr %588, align 4, !tbaa !5
  %608 = call ptr @strerror(i32 noundef %607) #10
  %609 = load i32, ptr %588, align 4, !tbaa !5
  %610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %600, ptr noundef nonnull %.str.5.sink735, i32 noundef %601, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 65, ptr noundef %604, ptr noundef %606, ptr noundef %608, i32 noundef %609) #12
  call void @exit(i32 noundef 1) #13
  unreachable

611:                                              ; preds = %582
  %612 = add nsw i32 %553, 3
  store i32 %612, ptr @test_count, align 4, !tbaa !5
  %613 = getelementptr inbounds i8, ptr %323, i64 2208
  %614 = load i16, ptr %613, align 8, !tbaa !42
  %615 = icmp eq i16 %614, 8087
  br i1 %615, label %640, label %616

616:                                              ; preds = %611
  %617 = tail call ptr @__errno_location() #11
  %618 = load i32, ptr %617, align 4, !tbaa !5
  %619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %620 = call i32 @s2n_print_stacktrace(ptr noundef %619) #10
  %621 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %622 = trunc nuw i8 %621 to i1
  br i1 %622, label %623, label %627

623:                                              ; preds = %616
  %624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %625 = call i32 @fileno(ptr noundef %624) #10
  %626 = call i32 @isatty(i32 noundef %625) #10
  %.not397 = icmp eq i32 %626, 0
  br i1 %.not397, label %627, label %628

627:                                              ; preds = %623, %616
  br label %628

628:                                              ; preds = %623, %627
  %.str.5.sink746 = phi ptr [ @.str.5, %627 ], [ @.str.2, %623 ]
  store i32 %618, ptr %617, align 4, !tbaa !5
  %629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %630 = load i32, ptr @test_count, align 4, !tbaa !5
  %631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %632 = load i32, ptr %631, align 4, !tbaa !5
  %633 = call ptr @s2n_strerror(i32 noundef %632, ptr noundef nonnull @.str.4) #10
  %634 = load i32, ptr %631, align 4, !tbaa !5
  %635 = call ptr @s2n_strerror_debug(i32 noundef %634, ptr noundef nonnull @.str.4) #10
  %636 = load i32, ptr %617, align 4, !tbaa !5
  %637 = call ptr @strerror(i32 noundef %636) #10
  %638 = load i32, ptr %617, align 4, !tbaa !5
  %639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %629, ptr noundef nonnull %.str.5.sink746, i32 noundef %630, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 68, ptr noundef %633, ptr noundef %635, ptr noundef %637, i32 noundef %638) #12
  call void @exit(i32 noundef 1) #13
  unreachable

640:                                              ; preds = %611
  %641 = add nsw i32 %553, 4
  store i32 %641, ptr @test_count, align 4, !tbaa !5
  %642 = getelementptr inbounds i8, ptr %380, i64 2208
  %643 = load i16, ptr %642, align 8, !tbaa !42
  %644 = icmp eq i16 %643, 8087
  br i1 %644, label %669, label %645

645:                                              ; preds = %640
  %646 = tail call ptr @__errno_location() #11
  %647 = load i32, ptr %646, align 4, !tbaa !5
  %648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %649 = call i32 @s2n_print_stacktrace(ptr noundef %648) #10
  %650 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %651 = trunc nuw i8 %650 to i1
  br i1 %651, label %652, label %656

652:                                              ; preds = %645
  %653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %654 = call i32 @fileno(ptr noundef %653) #10
  %655 = call i32 @isatty(i32 noundef %654) #10
  %.not398 = icmp eq i32 %655, 0
  br i1 %.not398, label %656, label %657

656:                                              ; preds = %652, %645
  br label %657

657:                                              ; preds = %652, %656
  %.str.5.sink757 = phi ptr [ @.str.5, %656 ], [ @.str.2, %652 ]
  store i32 %647, ptr %646, align 4, !tbaa !5
  %658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %659 = load i32, ptr @test_count, align 4, !tbaa !5
  %660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %661 = load i32, ptr %660, align 4, !tbaa !5
  %662 = call ptr @s2n_strerror(i32 noundef %661, ptr noundef nonnull @.str.4) #10
  %663 = load i32, ptr %660, align 4, !tbaa !5
  %664 = call ptr @s2n_strerror_debug(i32 noundef %663, ptr noundef nonnull @.str.4) #10
  %665 = load i32, ptr %646, align 4, !tbaa !5
  %666 = call ptr @strerror(i32 noundef %665) #10
  %667 = load i32, ptr %646, align 4, !tbaa !5
  %668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %658, ptr noundef nonnull %.str.5.sink757, i32 noundef %659, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 69, ptr noundef %662, ptr noundef %664, ptr noundef %666, i32 noundef %667) #12
  call void @exit(i32 noundef 1) #13
  unreachable

669:                                              ; preds = %640
  %670 = add nsw i32 %553, 5
  store i32 %670, ptr @test_count, align 4, !tbaa !5
  %671 = getelementptr inbounds i8, ptr %323, i64 1904
  %672 = load i32, ptr %671, align 8, !tbaa !43
  %673 = icmp eq i32 %672, 9116
  br i1 %673, label %698, label %674

674:                                              ; preds = %669
  %675 = tail call ptr @__errno_location() #11
  %676 = load i32, ptr %675, align 4, !tbaa !5
  %677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %678 = call i32 @s2n_print_stacktrace(ptr noundef %677) #10
  %679 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %680 = trunc nuw i8 %679 to i1
  br i1 %680, label %681, label %685

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

685:                                              ; preds = %681, %674
  br label %686

686:                                              ; preds = %681, %685
  %.str.5.sink768 = phi ptr [ @.str.5, %685 ], [ @.str.2, %681 ]
  store i32 %676, ptr %675, align 4, !tbaa !5
  %687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %688 = load i32, ptr @test_count, align 4, !tbaa !5
  %689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %690 = load i32, ptr %689, align 4, !tbaa !5
  %691 = call ptr @s2n_strerror(i32 noundef %690, ptr noundef nonnull @.str.4) #10
  %692 = load i32, ptr %689, align 4, !tbaa !5
  %693 = call ptr @s2n_strerror_debug(i32 noundef %692, ptr noundef nonnull @.str.4) #10
  %694 = load i32, ptr %675, align 4, !tbaa !5
  %695 = call ptr @strerror(i32 noundef %694) #10
  %696 = load i32, ptr %675, align 4, !tbaa !5
  %697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %687, ptr noundef nonnull %.str.5.sink768, i32 noundef %688, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 72, ptr noundef %691, ptr noundef %693, ptr noundef %695, i32 noundef %696) #12
  call void @exit(i32 noundef 1) #13
  unreachable

698:                                              ; preds = %669
  %699 = add nsw i32 %553, 6
  store i32 %699, ptr @test_count, align 4, !tbaa !5
  %700 = getelementptr inbounds i8, ptr %380, i64 1904
  %701 = load i32, ptr %700, align 8, !tbaa !43
  %702 = icmp eq i32 %701, 8348
  br i1 %702, label %727, label %703

703:                                              ; preds = %698
  %704 = tail call ptr @__errno_location() #11
  %705 = load i32, ptr %704, align 4, !tbaa !5
  %706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %707 = call i32 @s2n_print_stacktrace(ptr noundef %706) #10
  %708 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %709 = trunc nuw i8 %708 to i1
  br i1 %709, label %710, label %714

710:                                              ; preds = %703
  %711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %712 = call i32 @fileno(ptr noundef %711) #10
  %713 = call i32 @isatty(i32 noundef %712) #10
  %.not400 = icmp eq i32 %713, 0
  br i1 %.not400, label %714, label %715

714:                                              ; preds = %710, %703
  br label %715

715:                                              ; preds = %710, %714
  %.str.5.sink779 = phi ptr [ @.str.5, %714 ], [ @.str.2, %710 ]
  store i32 %705, ptr %704, align 4, !tbaa !5
  %716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %717 = load i32, ptr @test_count, align 4, !tbaa !5
  %718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %719 = load i32, ptr %718, align 4, !tbaa !5
  %720 = call ptr @s2n_strerror(i32 noundef %719, ptr noundef nonnull @.str.4) #10
  %721 = load i32, ptr %718, align 4, !tbaa !5
  %722 = call ptr @s2n_strerror_debug(i32 noundef %721, ptr noundef nonnull @.str.4) #10
  %723 = load i32, ptr %704, align 4, !tbaa !5
  %724 = call ptr @strerror(i32 noundef %723) #10
  %725 = load i32, ptr %704, align 4, !tbaa !5
  %726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %716, ptr noundef nonnull %.str.5.sink779, i32 noundef %717, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 75, ptr noundef %720, ptr noundef %722, ptr noundef %724, i32 noundef %725) #12
  call void @exit(i32 noundef 1) #13
  unreachable

727:                                              ; preds = %698
  %728 = add nsw i32 %553, 7
  store i32 %728, ptr @test_count, align 4, !tbaa !5
  %729 = call i32 @s2n_connection_free(ptr noundef nonnull %323) #10
  %730 = icmp eq i32 %729, -1
  br i1 %730, label %731, label %755

731:                                              ; preds = %727
  %732 = tail call ptr @__errno_location() #11
  %733 = load i32, ptr %732, align 4, !tbaa !5
  %734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %735 = call i32 @s2n_print_stacktrace(ptr noundef %734) #10
  %736 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %737 = trunc nuw i8 %736 to i1
  br i1 %737, label %738, label %742

738:                                              ; preds = %731
  %739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %740 = call i32 @fileno(ptr noundef %739) #10
  %741 = call i32 @isatty(i32 noundef %740) #10
  %.not511 = icmp eq i32 %741, 0
  br i1 %.not511, label %742, label %743

742:                                              ; preds = %738, %731
  br label %743

743:                                              ; preds = %738, %742
  %.str.5.sink790 = phi ptr [ @.str.5, %742 ], [ @.str.2, %738 ]
  store i32 %733, ptr %732, align 4, !tbaa !5
  %744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %745 = load i32, ptr @test_count, align 4, !tbaa !5
  %746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %747 = load i32, ptr %746, align 4, !tbaa !5
  %748 = call ptr @s2n_strerror(i32 noundef %747, ptr noundef nonnull @.str.4) #10
  %749 = load i32, ptr %746, align 4, !tbaa !5
  %750 = call ptr @s2n_strerror_debug(i32 noundef %749, ptr noundef nonnull @.str.4) #10
  %751 = load i32, ptr %732, align 4, !tbaa !5
  %752 = call ptr @strerror(i32 noundef %751) #10
  %753 = load i32, ptr %732, align 4, !tbaa !5
  %754 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %744, ptr noundef nonnull %.str.5.sink790, i32 noundef %745, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 77, ptr noundef %748, ptr noundef %750, ptr noundef %752, i32 noundef %753) #12
  call void @exit(i32 noundef 1) #13
  unreachable

755:                                              ; preds = %727
  %756 = load i32, ptr @test_count, align 4, !tbaa !5
  %757 = add nsw i32 %756, 1
  store i32 %757, ptr @test_count, align 4, !tbaa !5
  %758 = call i32 @s2n_connection_free(ptr noundef nonnull %380) #10
  %759 = icmp eq i32 %758, -1
  br i1 %759, label %760, label %784

760:                                              ; preds = %755
  %761 = tail call ptr @__errno_location() #11
  %762 = load i32, ptr %761, align 4, !tbaa !5
  %763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %764 = call i32 @s2n_print_stacktrace(ptr noundef %763) #10
  %765 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %766 = trunc nuw i8 %765 to i1
  br i1 %766, label %767, label %771

767:                                              ; preds = %760
  %768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %769 = call i32 @fileno(ptr noundef %768) #10
  %770 = call i32 @isatty(i32 noundef %769) #10
  %.not510 = icmp eq i32 %770, 0
  br i1 %.not510, label %771, label %772

771:                                              ; preds = %767, %760
  br label %772

772:                                              ; preds = %767, %771
  %.str.5.sink801 = phi ptr [ @.str.5, %771 ], [ @.str.2, %767 ]
  store i32 %762, ptr %761, align 4, !tbaa !5
  %773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %774 = load i32, ptr @test_count, align 4, !tbaa !5
  %775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %776 = load i32, ptr %775, align 4, !tbaa !5
  %777 = call ptr @s2n_strerror(i32 noundef %776, ptr noundef nonnull @.str.4) #10
  %778 = load i32, ptr %775, align 4, !tbaa !5
  %779 = call ptr @s2n_strerror_debug(i32 noundef %778, ptr noundef nonnull @.str.4) #10
  %780 = load i32, ptr %761, align 4, !tbaa !5
  %781 = call ptr @strerror(i32 noundef %780) #10
  %782 = load i32, ptr %761, align 4, !tbaa !5
  %783 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %773, ptr noundef nonnull %.str.5.sink801, i32 noundef %774, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 78, ptr noundef %777, ptr noundef %779, ptr noundef %781, i32 noundef %782) #12
  call void @exit(i32 noundef 1) #13
  unreachable

784:                                              ; preds = %755
  %785 = call i32 @s2n_io_pair_close(ptr noundef nonnull %4) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #10
  %786 = call ptr @s2n_connection_new(i32 noundef 1) #10
  %787 = load i32, ptr @test_count, align 4, !tbaa !5
  %788 = add nsw i32 %787, 1
  store i32 %788, ptr @test_count, align 4, !tbaa !5
  %789 = icmp eq ptr %786, null
  br i1 %789, label %790, label %814

790:                                              ; preds = %784
  %791 = tail call ptr @__errno_location() #11
  %792 = load i32, ptr %791, align 4, !tbaa !5
  %793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %794 = call i32 @s2n_print_stacktrace(ptr noundef %793) #10
  %795 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %796 = trunc nuw i8 %795 to i1
  br i1 %796, label %797, label %801

797:                                              ; preds = %790
  %798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %799 = call i32 @fileno(ptr noundef %798) #10
  %800 = call i32 @isatty(i32 noundef %799) #10
  %.not509 = icmp eq i32 %800, 0
  br i1 %.not509, label %801, label %802

801:                                              ; preds = %797, %790
  br label %802

802:                                              ; preds = %797, %801
  %.str.5.sink812 = phi ptr [ @.str.5, %801 ], [ @.str.2, %797 ]
  store i32 %792, ptr %791, align 4, !tbaa !5
  %803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %804 = load i32, ptr @test_count, align 4, !tbaa !5
  %805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %806 = load i32, ptr %805, align 4, !tbaa !5
  %807 = call ptr @s2n_strerror(i32 noundef %806, ptr noundef nonnull @.str.4) #10
  %808 = load i32, ptr %805, align 4, !tbaa !5
  %809 = call ptr @s2n_strerror_debug(i32 noundef %808, ptr noundef nonnull @.str.4) #10
  %810 = load i32, ptr %791, align 4, !tbaa !5
  %811 = call ptr @strerror(i32 noundef %810) #10
  %812 = load i32, ptr %791, align 4, !tbaa !5
  %813 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %803, ptr noundef nonnull %.str.5.sink812, i32 noundef %804, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 84, ptr noundef %807, ptr noundef %809, ptr noundef %811, i32 noundef %812) #12
  call void @exit(i32 noundef 1) #13
  unreachable

814:                                              ; preds = %784
  %815 = add nsw i32 %787, 2
  store i32 %815, ptr @test_count, align 4, !tbaa !5
  %816 = call i32 @s2n_connection_set_config(ptr noundef nonnull %786, ptr noundef nonnull %207) #10
  %817 = icmp eq i32 %816, -1
  br i1 %817, label %818, label %842

818:                                              ; preds = %814
  %819 = tail call ptr @__errno_location() #11
  %820 = load i32, ptr %819, align 4, !tbaa !5
  %821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %822 = call i32 @s2n_print_stacktrace(ptr noundef %821) #10
  %823 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %824 = trunc nuw i8 %823 to i1
  br i1 %824, label %825, label %829

825:                                              ; preds = %818
  %826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %827 = call i32 @fileno(ptr noundef %826) #10
  %828 = call i32 @isatty(i32 noundef %827) #10
  %.not508 = icmp eq i32 %828, 0
  br i1 %.not508, label %829, label %830

829:                                              ; preds = %825, %818
  br label %830

830:                                              ; preds = %825, %829
  %.str.5.sink823 = phi ptr [ @.str.5, %829 ], [ @.str.2, %825 ]
  store i32 %820, ptr %819, align 4, !tbaa !5
  %831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %832 = load i32, ptr @test_count, align 4, !tbaa !5
  %833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %834 = load i32, ptr %833, align 4, !tbaa !5
  %835 = call ptr @s2n_strerror(i32 noundef %834, ptr noundef nonnull @.str.4) #10
  %836 = load i32, ptr %833, align 4, !tbaa !5
  %837 = call ptr @s2n_strerror_debug(i32 noundef %836, ptr noundef nonnull @.str.4) #10
  %838 = load i32, ptr %819, align 4, !tbaa !5
  %839 = call ptr @strerror(i32 noundef %838) #10
  %840 = load i32, ptr %819, align 4, !tbaa !5
  %841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %831, ptr noundef nonnull %.str.5.sink823, i32 noundef %832, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 85, ptr noundef %835, ptr noundef %837, ptr noundef %839, i32 noundef %840) #12
  call void @exit(i32 noundef 1) #13
  unreachable

842:                                              ; preds = %814
  %843 = call ptr @s2n_connection_new(i32 noundef 0) #10
  %844 = load i32, ptr @test_count, align 4, !tbaa !5
  %845 = add nsw i32 %844, 1
  store i32 %845, ptr @test_count, align 4, !tbaa !5
  %846 = icmp eq ptr %843, null
  br i1 %846, label %847, label %871

847:                                              ; preds = %842
  %848 = tail call ptr @__errno_location() #11
  %849 = load i32, ptr %848, align 4, !tbaa !5
  %850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %851 = call i32 @s2n_print_stacktrace(ptr noundef %850) #10
  %852 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %853 = trunc nuw i8 %852 to i1
  br i1 %853, label %854, label %858

854:                                              ; preds = %847
  %855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %856 = call i32 @fileno(ptr noundef %855) #10
  %857 = call i32 @isatty(i32 noundef %856) #10
  %.not507 = icmp eq i32 %857, 0
  br i1 %.not507, label %858, label %859

858:                                              ; preds = %854, %847
  br label %859

859:                                              ; preds = %854, %858
  %.str.5.sink834 = phi ptr [ @.str.5, %858 ], [ @.str.2, %854 ]
  store i32 %849, ptr %848, align 4, !tbaa !5
  %860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %861 = load i32, ptr @test_count, align 4, !tbaa !5
  %862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %863 = load i32, ptr %862, align 4, !tbaa !5
  %864 = call ptr @s2n_strerror(i32 noundef %863, ptr noundef nonnull @.str.4) #10
  %865 = load i32, ptr %862, align 4, !tbaa !5
  %866 = call ptr @s2n_strerror_debug(i32 noundef %865, ptr noundef nonnull @.str.4) #10
  %867 = load i32, ptr %848, align 4, !tbaa !5
  %868 = call ptr @strerror(i32 noundef %867) #10
  %869 = load i32, ptr %848, align 4, !tbaa !5
  %870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %860, ptr noundef nonnull %.str.5.sink834, i32 noundef %861, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 88, ptr noundef %864, ptr noundef %866, ptr noundef %868, i32 noundef %869) #12
  call void @exit(i32 noundef 1) #13
  unreachable

871:                                              ; preds = %842
  %872 = add nsw i32 %844, 2
  store i32 %872, ptr @test_count, align 4, !tbaa !5
  %873 = call i32 @s2n_connection_set_config(ptr noundef nonnull %843, ptr noundef nonnull %207) #10
  %874 = icmp eq i32 %873, -1
  br i1 %874, label %875, label %899

875:                                              ; preds = %871
  %876 = tail call ptr @__errno_location() #11
  %877 = load i32, ptr %876, align 4, !tbaa !5
  %878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %879 = call i32 @s2n_print_stacktrace(ptr noundef %878) #10
  %880 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %881 = trunc nuw i8 %880 to i1
  br i1 %881, label %882, label %886

882:                                              ; preds = %875
  %883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %884 = call i32 @fileno(ptr noundef %883) #10
  %885 = call i32 @isatty(i32 noundef %884) #10
  %.not506 = icmp eq i32 %885, 0
  br i1 %.not506, label %886, label %887

886:                                              ; preds = %882, %875
  br label %887

887:                                              ; preds = %882, %886
  %.str.5.sink845 = phi ptr [ @.str.5, %886 ], [ @.str.2, %882 ]
  store i32 %877, ptr %876, align 4, !tbaa !5
  %888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %889 = load i32, ptr @test_count, align 4, !tbaa !5
  %890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %891 = load i32, ptr %890, align 4, !tbaa !5
  %892 = call ptr @s2n_strerror(i32 noundef %891, ptr noundef nonnull @.str.4) #10
  %893 = load i32, ptr %890, align 4, !tbaa !5
  %894 = call ptr @s2n_strerror_debug(i32 noundef %893, ptr noundef nonnull @.str.4) #10
  %895 = load i32, ptr %876, align 4, !tbaa !5
  %896 = call ptr @strerror(i32 noundef %895) #10
  %897 = load i32, ptr %876, align 4, !tbaa !5
  %898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %888, ptr noundef nonnull %.str.5.sink845, i32 noundef %889, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 89, ptr noundef %892, ptr noundef %894, ptr noundef %896, i32 noundef %897) #12
  call void @exit(i32 noundef 1) #13
  unreachable

899:                                              ; preds = %871
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #10
  store i64 0, ptr %5, align 8
  %900 = load i32, ptr @test_count, align 4, !tbaa !5
  %901 = add nsw i32 %900, 1
  store i32 %901, ptr @test_count, align 4, !tbaa !5
  %902 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %5) #10
  %903 = icmp eq i32 %902, -1
  br i1 %903, label %904, label %928

904:                                              ; preds = %899
  %905 = tail call ptr @__errno_location() #11
  %906 = load i32, ptr %905, align 4, !tbaa !5
  %907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %908 = call i32 @s2n_print_stacktrace(ptr noundef %907) #10
  %909 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %910 = trunc nuw i8 %909 to i1
  br i1 %910, label %911, label %915

911:                                              ; preds = %904
  %912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %913 = call i32 @fileno(ptr noundef %912) #10
  %914 = call i32 @isatty(i32 noundef %913) #10
  %.not505 = icmp eq i32 %914, 0
  br i1 %.not505, label %915, label %916

915:                                              ; preds = %911, %904
  br label %916

916:                                              ; preds = %911, %915
  %.str.5.sink856 = phi ptr [ @.str.5, %915 ], [ @.str.2, %911 ]
  store i32 %906, ptr %905, align 4, !tbaa !5
  %917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %918 = load i32, ptr @test_count, align 4, !tbaa !5
  %919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %920 = load i32, ptr %919, align 4, !tbaa !5
  %921 = call ptr @s2n_strerror(i32 noundef %920, ptr noundef nonnull @.str.4) #10
  %922 = load i32, ptr %919, align 4, !tbaa !5
  %923 = call ptr @s2n_strerror_debug(i32 noundef %922, ptr noundef nonnull @.str.4) #10
  %924 = load i32, ptr %905, align 4, !tbaa !5
  %925 = call ptr @strerror(i32 noundef %924) #10
  %926 = load i32, ptr %905, align 4, !tbaa !5
  %927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %917, ptr noundef nonnull %.str.5.sink856, i32 noundef %918, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 93, ptr noundef %921, ptr noundef %923, ptr noundef %925, i32 noundef %926) #12
  call void @exit(i32 noundef 1) #13
  unreachable

928:                                              ; preds = %899
  %929 = load i32, ptr @test_count, align 4, !tbaa !5
  %930 = add nsw i32 %929, 1
  store i32 %930, ptr @test_count, align 4, !tbaa !5
  %931 = call i32 @s2n_connection_set_io_pair(ptr noundef nonnull %786, ptr noundef nonnull %5) #10
  %932 = icmp eq i32 %931, -1
  br i1 %932, label %933, label %957

933:                                              ; preds = %928
  %934 = tail call ptr @__errno_location() #11
  %935 = load i32, ptr %934, align 4, !tbaa !5
  %936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %937 = call i32 @s2n_print_stacktrace(ptr noundef %936) #10
  %938 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %939 = trunc nuw i8 %938 to i1
  br i1 %939, label %940, label %944

940:                                              ; preds = %933
  %941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %942 = call i32 @fileno(ptr noundef %941) #10
  %943 = call i32 @isatty(i32 noundef %942) #10
  %.not504 = icmp eq i32 %943, 0
  br i1 %.not504, label %944, label %945

944:                                              ; preds = %940, %933
  br label %945

945:                                              ; preds = %940, %944
  %.str.5.sink867 = phi ptr [ @.str.5, %944 ], [ @.str.2, %940 ]
  store i32 %935, ptr %934, align 4, !tbaa !5
  %946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %947 = load i32, ptr @test_count, align 4, !tbaa !5
  %948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %949 = load i32, ptr %948, align 4, !tbaa !5
  %950 = call ptr @s2n_strerror(i32 noundef %949, ptr noundef nonnull @.str.4) #10
  %951 = load i32, ptr %948, align 4, !tbaa !5
  %952 = call ptr @s2n_strerror_debug(i32 noundef %951, ptr noundef nonnull @.str.4) #10
  %953 = load i32, ptr %934, align 4, !tbaa !5
  %954 = call ptr @strerror(i32 noundef %953) #10
  %955 = load i32, ptr %934, align 4, !tbaa !5
  %956 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %946, ptr noundef nonnull %.str.5.sink867, i32 noundef %947, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 94, ptr noundef %950, ptr noundef %952, ptr noundef %954, i32 noundef %955) #12
  call void @exit(i32 noundef 1) #13
  unreachable

957:                                              ; preds = %928
  %958 = load i32, ptr @test_count, align 4, !tbaa !5
  %959 = add nsw i32 %958, 1
  store i32 %959, ptr @test_count, align 4, !tbaa !5
  %960 = call i32 @s2n_connection_set_io_pair(ptr noundef nonnull %843, ptr noundef nonnull %5) #10
  %961 = icmp eq i32 %960, -1
  br i1 %961, label %962, label %986

962:                                              ; preds = %957
  %963 = tail call ptr @__errno_location() #11
  %964 = load i32, ptr %963, align 4, !tbaa !5
  %965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %966 = call i32 @s2n_print_stacktrace(ptr noundef %965) #10
  %967 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %968 = trunc nuw i8 %967 to i1
  br i1 %968, label %969, label %973

969:                                              ; preds = %962
  %970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %971 = call i32 @fileno(ptr noundef %970) #10
  %972 = call i32 @isatty(i32 noundef %971) #10
  %.not503 = icmp eq i32 %972, 0
  br i1 %.not503, label %973, label %974

973:                                              ; preds = %969, %962
  br label %974

974:                                              ; preds = %969, %973
  %.str.5.sink878 = phi ptr [ @.str.5, %973 ], [ @.str.2, %969 ]
  store i32 %964, ptr %963, align 4, !tbaa !5
  %975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %976 = load i32, ptr @test_count, align 4, !tbaa !5
  %977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %978 = load i32, ptr %977, align 4, !tbaa !5
  %979 = call ptr @s2n_strerror(i32 noundef %978, ptr noundef nonnull @.str.4) #10
  %980 = load i32, ptr %977, align 4, !tbaa !5
  %981 = call ptr @s2n_strerror_debug(i32 noundef %980, ptr noundef nonnull @.str.4) #10
  %982 = load i32, ptr %963, align 4, !tbaa !5
  %983 = call ptr @strerror(i32 noundef %982) #10
  %984 = load i32, ptr %963, align 4, !tbaa !5
  %985 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %975, ptr noundef nonnull %.str.5.sink878, i32 noundef %976, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 95, ptr noundef %979, ptr noundef %981, ptr noundef %983, i32 noundef %984) #12
  call void @exit(i32 noundef 1) #13
  unreachable

986:                                              ; preds = %957
  %987 = load i32, ptr @test_count, align 4, !tbaa !5
  %988 = add nsw i32 %987, 1
  store i32 %988, ptr @test_count, align 4, !tbaa !5
  %989 = call i32 @s2n_connection_prefer_low_latency(ptr noundef nonnull %786) #10
  %990 = icmp eq i32 %989, -1
  br i1 %990, label %991, label %1015

991:                                              ; preds = %986
  %992 = tail call ptr @__errno_location() #11
  %993 = load i32, ptr %992, align 4, !tbaa !5
  %994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %995 = call i32 @s2n_print_stacktrace(ptr noundef %994) #10
  %996 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %997 = trunc nuw i8 %996 to i1
  br i1 %997, label %998, label %1002

998:                                              ; preds = %991
  %999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1000 = call i32 @fileno(ptr noundef %999) #10
  %1001 = call i32 @isatty(i32 noundef %1000) #10
  %.not502 = icmp eq i32 %1001, 0
  br i1 %.not502, label %1002, label %1003

1002:                                             ; preds = %998, %991
  br label %1003

1003:                                             ; preds = %998, %1002
  %.str.5.sink889 = phi ptr [ @.str.5, %1002 ], [ @.str.2, %998 ]
  store i32 %993, ptr %992, align 4, !tbaa !5
  %1004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1005 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1007, ptr noundef nonnull @.str.4) #10
  %1009 = load i32, ptr %1006, align 4, !tbaa !5
  %1010 = call ptr @s2n_strerror_debug(i32 noundef %1009, ptr noundef nonnull @.str.4) #10
  %1011 = load i32, ptr %992, align 4, !tbaa !5
  %1012 = call ptr @strerror(i32 noundef %1011) #10
  %1013 = load i32, ptr %992, align 4, !tbaa !5
  %1014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1004, ptr noundef nonnull %.str.5.sink889, i32 noundef %1005, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 98, ptr noundef %1008, ptr noundef %1010, ptr noundef %1012, i32 noundef %1013) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1015:                                             ; preds = %986
  %1016 = load i32, ptr @test_count, align 4, !tbaa !5
  %1017 = add nsw i32 %1016, 1
  store i32 %1017, ptr @test_count, align 4, !tbaa !5
  %1018 = call i32 @s2n_connection_prefer_throughput(ptr noundef nonnull %843) #10
  %1019 = icmp eq i32 %1018, -1
  br i1 %1019, label %1020, label %1044

1020:                                             ; preds = %1015
  %1021 = tail call ptr @__errno_location() #11
  %1022 = load i32, ptr %1021, align 4, !tbaa !5
  %1023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1024 = call i32 @s2n_print_stacktrace(ptr noundef %1023) #10
  %1025 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1026 = trunc nuw i8 %1025 to i1
  br i1 %1026, label %1027, label %1031

1027:                                             ; preds = %1020
  %1028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1029 = call i32 @fileno(ptr noundef %1028) #10
  %1030 = call i32 @isatty(i32 noundef %1029) #10
  %.not501 = icmp eq i32 %1030, 0
  br i1 %.not501, label %1031, label %1032

1031:                                             ; preds = %1027, %1020
  br label %1032

1032:                                             ; preds = %1027, %1031
  %.str.5.sink900 = phi ptr [ @.str.5, %1031 ], [ @.str.2, %1027 ]
  store i32 %1022, ptr %1021, align 4, !tbaa !5
  %1033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1034 = load i32, ptr @test_count, align 4, !tbaa !5
  %1035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1036 = load i32, ptr %1035, align 4, !tbaa !5
  %1037 = call ptr @s2n_strerror(i32 noundef %1036, ptr noundef nonnull @.str.4) #10
  %1038 = load i32, ptr %1035, align 4, !tbaa !5
  %1039 = call ptr @s2n_strerror_debug(i32 noundef %1038, ptr noundef nonnull @.str.4) #10
  %1040 = load i32, ptr %1021, align 4, !tbaa !5
  %1041 = call ptr @strerror(i32 noundef %1040) #10
  %1042 = load i32, ptr %1021, align 4, !tbaa !5
  %1043 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1033, ptr noundef nonnull %.str.5.sink900, i32 noundef %1034, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 99, ptr noundef %1037, ptr noundef %1039, ptr noundef %1041, i32 noundef %1042) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1044:                                             ; preds = %1015
  %1045 = load i32, ptr @test_count, align 4, !tbaa !5
  %1046 = add nsw i32 %1045, 1
  store i32 %1046, ptr @test_count, align 4, !tbaa !5
  %1047 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef nonnull %843, ptr noundef nonnull %786, i32 noundef 2) #10
  %1048 = call zeroext i1 @s2n_result_is_ok(i32 %1047)
  br i1 %1048, label %1073, label %1049

1049:                                             ; preds = %1044
  %1050 = tail call ptr @__errno_location() #11
  %1051 = load i32, ptr %1050, align 4, !tbaa !5
  %1052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1053 = call i32 @s2n_print_stacktrace(ptr noundef %1052) #10
  %1054 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1055 = trunc nuw i8 %1054 to i1
  br i1 %1055, label %1056, label %1060

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

1060:                                             ; preds = %1056, %1049
  br label %1061

1061:                                             ; preds = %1056, %1060
  %.str.5.sink911 = phi ptr [ @.str.5, %1060 ], [ @.str.2, %1056 ]
  store i32 %1051, ptr %1050, align 4, !tbaa !5
  %1062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1063 = load i32, ptr @test_count, align 4, !tbaa !5
  %1064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1065 = load i32, ptr %1064, align 4, !tbaa !5
  %1066 = call ptr @s2n_strerror(i32 noundef %1065, ptr noundef nonnull @.str.4) #10
  %1067 = load i32, ptr %1064, align 4, !tbaa !5
  %1068 = call ptr @s2n_strerror_debug(i32 noundef %1067, ptr noundef nonnull @.str.4) #10
  %1069 = load i32, ptr %1050, align 4, !tbaa !5
  %1070 = call ptr @strerror(i32 noundef %1069) #10
  %1071 = load i32, ptr %1050, align 4, !tbaa !5
  %1072 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1062, ptr noundef nonnull %.str.5.sink911, i32 noundef %1063, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 102, ptr noundef %1066, ptr noundef %1068, ptr noundef %1070, i32 noundef %1071) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1073:                                             ; preds = %1044
  %1074 = load i32, ptr @test_count, align 4, !tbaa !5
  %1075 = add nsw i32 %1074, 1
  store i32 %1075, ptr @test_count, align 4, !tbaa !5
  %1076 = getelementptr inbounds i8, ptr %786, i64 220
  %1077 = load i8, ptr %1076, align 4, !tbaa !15
  %1078 = icmp eq i8 %1077, 34
  br i1 %1078, label %1103, label %1079

1079:                                             ; preds = %1073
  %1080 = tail call ptr @__errno_location() #11
  %1081 = load i32, ptr %1080, align 4, !tbaa !5
  %1082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1083 = call i32 @s2n_print_stacktrace(ptr noundef %1082) #10
  %1084 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1085 = trunc nuw i8 %1084 to i1
  br i1 %1085, label %1086, label %1090

1086:                                             ; preds = %1079
  %1087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1088 = call i32 @fileno(ptr noundef %1087) #10
  %1089 = call i32 @isatty(i32 noundef %1088) #10
  %.not402 = icmp eq i32 %1089, 0
  br i1 %.not402, label %1090, label %1091

1090:                                             ; preds = %1086, %1079
  br label %1091

1091:                                             ; preds = %1086, %1090
  %.str.5.sink922 = phi ptr [ @.str.5, %1090 ], [ @.str.2, %1086 ]
  store i32 %1081, ptr %1080, align 4, !tbaa !5
  %1092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1093 = load i32, ptr @test_count, align 4, !tbaa !5
  %1094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1095 = load i32, ptr %1094, align 4, !tbaa !5
  %1096 = call ptr @s2n_strerror(i32 noundef %1095, ptr noundef nonnull @.str.4) #10
  %1097 = load i32, ptr %1094, align 4, !tbaa !5
  %1098 = call ptr @s2n_strerror_debug(i32 noundef %1097, ptr noundef nonnull @.str.4) #10
  %1099 = load i32, ptr %1080, align 4, !tbaa !5
  %1100 = call ptr @strerror(i32 noundef %1099) #10
  %1101 = load i32, ptr %1080, align 4, !tbaa !5
  %1102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1092, ptr noundef nonnull %.str.5.sink922, i32 noundef %1093, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 103, ptr noundef %1096, ptr noundef %1098, ptr noundef %1100, i32 noundef %1101) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1103:                                             ; preds = %1073
  %1104 = add nsw i32 %1074, 2
  store i32 %1104, ptr @test_count, align 4, !tbaa !5
  %1105 = getelementptr inbounds i8, ptr %843, i64 220
  %1106 = load i8, ptr %1105, align 4, !tbaa !15
  %1107 = icmp eq i8 %1106, 34
  br i1 %1107, label %1132, label %1108

1108:                                             ; preds = %1103
  %1109 = tail call ptr @__errno_location() #11
  %1110 = load i32, ptr %1109, align 4, !tbaa !5
  %1111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1112 = call i32 @s2n_print_stacktrace(ptr noundef %1111) #10
  %1113 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1114 = trunc nuw i8 %1113 to i1
  br i1 %1114, label %1115, label %1119

1115:                                             ; preds = %1108
  %1116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1117 = call i32 @fileno(ptr noundef %1116) #10
  %1118 = call i32 @isatty(i32 noundef %1117) #10
  %.not403 = icmp eq i32 %1118, 0
  br i1 %.not403, label %1119, label %1120

1119:                                             ; preds = %1115, %1108
  br label %1120

1120:                                             ; preds = %1115, %1119
  %.str.5.sink933 = phi ptr [ @.str.5, %1119 ], [ @.str.2, %1115 ]
  store i32 %1110, ptr %1109, align 4, !tbaa !5
  %1121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1122 = load i32, ptr @test_count, align 4, !tbaa !5
  %1123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1124 = load i32, ptr %1123, align 4, !tbaa !5
  %1125 = call ptr @s2n_strerror(i32 noundef %1124, ptr noundef nonnull @.str.4) #10
  %1126 = load i32, ptr %1123, align 4, !tbaa !5
  %1127 = call ptr @s2n_strerror_debug(i32 noundef %1126, ptr noundef nonnull @.str.4) #10
  %1128 = load i32, ptr %1109, align 4, !tbaa !5
  %1129 = call ptr @strerror(i32 noundef %1128) #10
  %1130 = load i32, ptr %1109, align 4, !tbaa !5
  %1131 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1121, ptr noundef nonnull %.str.5.sink933, i32 noundef %1122, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 104, ptr noundef %1125, ptr noundef %1127, ptr noundef %1129, i32 noundef %1130) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1132:                                             ; preds = %1103
  %1133 = add nsw i32 %1074, 3
  store i32 %1133, ptr @test_count, align 4, !tbaa !5
  %1134 = getelementptr inbounds i8, ptr %786, i64 2208
  %1135 = load i16, ptr %1134, align 8, !tbaa !42
  %1136 = icmp eq i16 %1135, 1435
  br i1 %1136, label %1161, label %1137

1137:                                             ; preds = %1132
  %1138 = tail call ptr @__errno_location() #11
  %1139 = load i32, ptr %1138, align 4, !tbaa !5
  %1140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1141 = call i32 @s2n_print_stacktrace(ptr noundef %1140) #10
  %1142 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1143 = trunc nuw i8 %1142 to i1
  br i1 %1143, label %1144, label %1148

1144:                                             ; preds = %1137
  %1145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1146 = call i32 @fileno(ptr noundef %1145) #10
  %1147 = call i32 @isatty(i32 noundef %1146) #10
  %.not404 = icmp eq i32 %1147, 0
  br i1 %.not404, label %1148, label %1149

1148:                                             ; preds = %1144, %1137
  br label %1149

1149:                                             ; preds = %1144, %1148
  %.str.5.sink944 = phi ptr [ @.str.5, %1148 ], [ @.str.2, %1144 ]
  store i32 %1139, ptr %1138, align 4, !tbaa !5
  %1150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1151 = load i32, ptr @test_count, align 4, !tbaa !5
  %1152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1153 = load i32, ptr %1152, align 4, !tbaa !5
  %1154 = call ptr @s2n_strerror(i32 noundef %1153, ptr noundef nonnull @.str.4) #10
  %1155 = load i32, ptr %1152, align 4, !tbaa !5
  %1156 = call ptr @s2n_strerror_debug(i32 noundef %1155, ptr noundef nonnull @.str.4) #10
  %1157 = load i32, ptr %1138, align 4, !tbaa !5
  %1158 = call ptr @strerror(i32 noundef %1157) #10
  %1159 = load i32, ptr %1138, align 4, !tbaa !5
  %1160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1150, ptr noundef nonnull %.str.5.sink944, i32 noundef %1151, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 107, ptr noundef %1154, ptr noundef %1156, ptr noundef %1158, i32 noundef %1159) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1161:                                             ; preds = %1132
  %1162 = add nsw i32 %1074, 4
  store i32 %1162, ptr @test_count, align 4, !tbaa !5
  %1163 = getelementptr inbounds i8, ptr %843, i64 2208
  %1164 = load i16, ptr %1163, align 8, !tbaa !42
  %1165 = icmp eq i16 %1164, 16384
  br i1 %1165, label %1190, label %1166

1166:                                             ; preds = %1161
  %1167 = tail call ptr @__errno_location() #11
  %1168 = load i32, ptr %1167, align 4, !tbaa !5
  %1169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1170 = call i32 @s2n_print_stacktrace(ptr noundef %1169) #10
  %1171 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1172 = trunc nuw i8 %1171 to i1
  br i1 %1172, label %1173, label %1177

1173:                                             ; preds = %1166
  %1174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1175 = call i32 @fileno(ptr noundef %1174) #10
  %1176 = call i32 @isatty(i32 noundef %1175) #10
  %.not405 = icmp eq i32 %1176, 0
  br i1 %.not405, label %1177, label %1178

1177:                                             ; preds = %1173, %1166
  br label %1178

1178:                                             ; preds = %1173, %1177
  %.str.5.sink955 = phi ptr [ @.str.5, %1177 ], [ @.str.2, %1173 ]
  store i32 %1168, ptr %1167, align 4, !tbaa !5
  %1179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1180 = load i32, ptr @test_count, align 4, !tbaa !5
  %1181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1182 = load i32, ptr %1181, align 4, !tbaa !5
  %1183 = call ptr @s2n_strerror(i32 noundef %1182, ptr noundef nonnull @.str.4) #10
  %1184 = load i32, ptr %1181, align 4, !tbaa !5
  %1185 = call ptr @s2n_strerror_debug(i32 noundef %1184, ptr noundef nonnull @.str.4) #10
  %1186 = load i32, ptr %1167, align 4, !tbaa !5
  %1187 = call ptr @strerror(i32 noundef %1186) #10
  %1188 = load i32, ptr %1167, align 4, !tbaa !5
  %1189 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1179, ptr noundef nonnull %.str.5.sink955, i32 noundef %1180, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 108, ptr noundef %1183, ptr noundef %1185, ptr noundef %1187, i32 noundef %1188) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1190:                                             ; preds = %1161
  %1191 = add nsw i32 %1074, 5
  store i32 %1191, ptr @test_count, align 4, !tbaa !5
  %1192 = getelementptr inbounds i8, ptr %786, i64 1904
  %1193 = load i32, ptr %1192, align 8, !tbaa !43
  %1194 = icmp eq i32 %1193, 2464
  br i1 %1194, label %1219, label %1195

1195:                                             ; preds = %1190
  %1196 = tail call ptr @__errno_location() #11
  %1197 = load i32, ptr %1196, align 4, !tbaa !5
  %1198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1199 = call i32 @s2n_print_stacktrace(ptr noundef %1198) #10
  %1200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1201 = trunc nuw i8 %1200 to i1
  br i1 %1201, label %1202, label %1206

1202:                                             ; preds = %1195
  %1203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1204 = call i32 @fileno(ptr noundef %1203) #10
  %1205 = call i32 @isatty(i32 noundef %1204) #10
  %.not406 = icmp eq i32 %1205, 0
  br i1 %.not406, label %1206, label %1207

1206:                                             ; preds = %1202, %1195
  br label %1207

1207:                                             ; preds = %1202, %1206
  %.str.5.sink966 = phi ptr [ @.str.5, %1206 ], [ @.str.2, %1202 ]
  store i32 %1197, ptr %1196, align 4, !tbaa !5
  %1208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1209 = load i32, ptr @test_count, align 4, !tbaa !5
  %1210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1211 = load i32, ptr %1210, align 4, !tbaa !5
  %1212 = call ptr @s2n_strerror(i32 noundef %1211, ptr noundef nonnull @.str.4) #10
  %1213 = load i32, ptr %1210, align 4, !tbaa !5
  %1214 = call ptr @s2n_strerror_debug(i32 noundef %1213, ptr noundef nonnull @.str.4) #10
  %1215 = load i32, ptr %1196, align 4, !tbaa !5
  %1216 = call ptr @strerror(i32 noundef %1215) #10
  %1217 = load i32, ptr %1196, align 4, !tbaa !5
  %1218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1208, ptr noundef nonnull %.str.5.sink966, i32 noundef %1209, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 109, ptr noundef %1212, ptr noundef %1214, ptr noundef %1216, i32 noundef %1217) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1219:                                             ; preds = %1190
  %1220 = add nsw i32 %1074, 6
  store i32 %1220, ptr @test_count, align 4, !tbaa !5
  %1221 = getelementptr inbounds i8, ptr %843, i64 1904
  %1222 = load i32, ptr %1221, align 8, !tbaa !43
  %1223 = icmp eq i32 %1222, 16645
  br i1 %1223, label %1248, label %1224

1224:                                             ; preds = %1219
  %1225 = tail call ptr @__errno_location() #11
  %1226 = load i32, ptr %1225, align 4, !tbaa !5
  %1227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1228 = call i32 @s2n_print_stacktrace(ptr noundef %1227) #10
  %1229 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1230 = trunc nuw i8 %1229 to i1
  br i1 %1230, label %1231, label %1235

1231:                                             ; preds = %1224
  %1232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1233 = call i32 @fileno(ptr noundef %1232) #10
  %1234 = call i32 @isatty(i32 noundef %1233) #10
  %.not407 = icmp eq i32 %1234, 0
  br i1 %.not407, label %1235, label %1236

1235:                                             ; preds = %1231, %1224
  br label %1236

1236:                                             ; preds = %1231, %1235
  %.str.5.sink977 = phi ptr [ @.str.5, %1235 ], [ @.str.2, %1231 ]
  store i32 %1226, ptr %1225, align 4, !tbaa !5
  %1237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1238 = load i32, ptr @test_count, align 4, !tbaa !5
  %1239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1240 = load i32, ptr %1239, align 4, !tbaa !5
  %1241 = call ptr @s2n_strerror(i32 noundef %1240, ptr noundef nonnull @.str.4) #10
  %1242 = load i32, ptr %1239, align 4, !tbaa !5
  %1243 = call ptr @s2n_strerror_debug(i32 noundef %1242, ptr noundef nonnull @.str.4) #10
  %1244 = load i32, ptr %1225, align 4, !tbaa !5
  %1245 = call ptr @strerror(i32 noundef %1244) #10
  %1246 = load i32, ptr %1225, align 4, !tbaa !5
  %1247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1237, ptr noundef nonnull %.str.5.sink977, i32 noundef %1238, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 110, ptr noundef %1241, ptr noundef %1243, ptr noundef %1245, i32 noundef %1246) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1248:                                             ; preds = %1219
  %1249 = add nsw i32 %1074, 7
  store i32 %1249, ptr @test_count, align 4, !tbaa !5
  %1250 = call i32 @s2n_connection_prefer_throughput(ptr noundef nonnull %786) #10
  %1251 = icmp eq i32 %1250, -1
  br i1 %1251, label %1252, label %1276

1252:                                             ; preds = %1248
  %1253 = tail call ptr @__errno_location() #11
  %1254 = load i32, ptr %1253, align 4, !tbaa !5
  %1255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1256 = call i32 @s2n_print_stacktrace(ptr noundef %1255) #10
  %1257 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1258 = trunc nuw i8 %1257 to i1
  br i1 %1258, label %1259, label %1263

1259:                                             ; preds = %1252
  %1260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1261 = call i32 @fileno(ptr noundef %1260) #10
  %1262 = call i32 @isatty(i32 noundef %1261) #10
  %.not500 = icmp eq i32 %1262, 0
  br i1 %.not500, label %1263, label %1264

1263:                                             ; preds = %1259, %1252
  br label %1264

1264:                                             ; preds = %1259, %1263
  %.str.5.sink988 = phi ptr [ @.str.5, %1263 ], [ @.str.2, %1259 ]
  store i32 %1254, ptr %1253, align 4, !tbaa !5
  %1265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1266 = load i32, ptr @test_count, align 4, !tbaa !5
  %1267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1268 = load i32, ptr %1267, align 4, !tbaa !5
  %1269 = call ptr @s2n_strerror(i32 noundef %1268, ptr noundef nonnull @.str.4) #10
  %1270 = load i32, ptr %1267, align 4, !tbaa !5
  %1271 = call ptr @s2n_strerror_debug(i32 noundef %1270, ptr noundef nonnull @.str.4) #10
  %1272 = load i32, ptr %1253, align 4, !tbaa !5
  %1273 = call ptr @strerror(i32 noundef %1272) #10
  %1274 = load i32, ptr %1253, align 4, !tbaa !5
  %1275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1265, ptr noundef nonnull %.str.5.sink988, i32 noundef %1266, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 113, ptr noundef %1269, ptr noundef %1271, ptr noundef %1273, i32 noundef %1274) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1276:                                             ; preds = %1248
  %1277 = load i32, ptr @test_count, align 4, !tbaa !5
  %1278 = add nsw i32 %1277, 1
  store i32 %1278, ptr @test_count, align 4, !tbaa !5
  %1279 = call i32 @s2n_connection_prefer_low_latency(ptr noundef nonnull %843) #10
  %1280 = icmp eq i32 %1279, -1
  br i1 %1280, label %1281, label %1305

1281:                                             ; preds = %1276
  %1282 = tail call ptr @__errno_location() #11
  %1283 = load i32, ptr %1282, align 4, !tbaa !5
  %1284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1285 = call i32 @s2n_print_stacktrace(ptr noundef %1284) #10
  %1286 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1287 = trunc nuw i8 %1286 to i1
  br i1 %1287, label %1288, label %1292

1288:                                             ; preds = %1281
  %1289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1290 = call i32 @fileno(ptr noundef %1289) #10
  %1291 = call i32 @isatty(i32 noundef %1290) #10
  %.not499 = icmp eq i32 %1291, 0
  br i1 %.not499, label %1292, label %1293

1292:                                             ; preds = %1288, %1281
  br label %1293

1293:                                             ; preds = %1288, %1292
  %.str.5.sink999 = phi ptr [ @.str.5, %1292 ], [ @.str.2, %1288 ]
  store i32 %1283, ptr %1282, align 4, !tbaa !5
  %1294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1295 = load i32, ptr @test_count, align 4, !tbaa !5
  %1296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1297 = load i32, ptr %1296, align 4, !tbaa !5
  %1298 = call ptr @s2n_strerror(i32 noundef %1297, ptr noundef nonnull @.str.4) #10
  %1299 = load i32, ptr %1296, align 4, !tbaa !5
  %1300 = call ptr @s2n_strerror_debug(i32 noundef %1299, ptr noundef nonnull @.str.4) #10
  %1301 = load i32, ptr %1282, align 4, !tbaa !5
  %1302 = call ptr @strerror(i32 noundef %1301) #10
  %1303 = load i32, ptr %1282, align 4, !tbaa !5
  %1304 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1294, ptr noundef nonnull %.str.5.sink999, i32 noundef %1295, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 114, ptr noundef %1298, ptr noundef %1300, ptr noundef %1302, i32 noundef %1303) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1305:                                             ; preds = %1276
  %1306 = load i32, ptr @test_count, align 4, !tbaa !5
  %1307 = add nsw i32 %1306, 1
  store i32 %1307, ptr @test_count, align 4, !tbaa !5
  %1308 = load i16, ptr %1134, align 8, !tbaa !42
  %1309 = icmp eq i16 %1308, 16384
  br i1 %1309, label %1334, label %1310

1310:                                             ; preds = %1305
  %1311 = tail call ptr @__errno_location() #11
  %1312 = load i32, ptr %1311, align 4, !tbaa !5
  %1313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1314 = call i32 @s2n_print_stacktrace(ptr noundef %1313) #10
  %1315 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1316 = trunc nuw i8 %1315 to i1
  br i1 %1316, label %1317, label %1321

1317:                                             ; preds = %1310
  %1318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1319 = call i32 @fileno(ptr noundef %1318) #10
  %1320 = call i32 @isatty(i32 noundef %1319) #10
  %.not408 = icmp eq i32 %1320, 0
  br i1 %.not408, label %1321, label %1322

1321:                                             ; preds = %1317, %1310
  br label %1322

1322:                                             ; preds = %1317, %1321
  %.str.5.sink1010 = phi ptr [ @.str.5, %1321 ], [ @.str.2, %1317 ]
  store i32 %1312, ptr %1311, align 4, !tbaa !5
  %1323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1324 = load i32, ptr @test_count, align 4, !tbaa !5
  %1325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1326 = load i32, ptr %1325, align 4, !tbaa !5
  %1327 = call ptr @s2n_strerror(i32 noundef %1326, ptr noundef nonnull @.str.4) #10
  %1328 = load i32, ptr %1325, align 4, !tbaa !5
  %1329 = call ptr @s2n_strerror_debug(i32 noundef %1328, ptr noundef nonnull @.str.4) #10
  %1330 = load i32, ptr %1311, align 4, !tbaa !5
  %1331 = call ptr @strerror(i32 noundef %1330) #10
  %1332 = load i32, ptr %1311, align 4, !tbaa !5
  %1333 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1323, ptr noundef nonnull %.str.5.sink1010, i32 noundef %1324, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 115, ptr noundef %1327, ptr noundef %1329, ptr noundef %1331, i32 noundef %1332) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1334:                                             ; preds = %1305
  %1335 = add nsw i32 %1306, 2
  store i32 %1335, ptr @test_count, align 4, !tbaa !5
  %1336 = load i16, ptr %1163, align 8, !tbaa !42
  %1337 = icmp eq i16 %1336, 1435
  br i1 %1337, label %1362, label %1338

1338:                                             ; preds = %1334
  %1339 = tail call ptr @__errno_location() #11
  %1340 = load i32, ptr %1339, align 4, !tbaa !5
  %1341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1342 = call i32 @s2n_print_stacktrace(ptr noundef %1341) #10
  %1343 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1344 = trunc nuw i8 %1343 to i1
  br i1 %1344, label %1345, label %1349

1345:                                             ; preds = %1338
  %1346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1347 = call i32 @fileno(ptr noundef %1346) #10
  %1348 = call i32 @isatty(i32 noundef %1347) #10
  %.not409 = icmp eq i32 %1348, 0
  br i1 %.not409, label %1349, label %1350

1349:                                             ; preds = %1345, %1338
  br label %1350

1350:                                             ; preds = %1345, %1349
  %.str.5.sink1021 = phi ptr [ @.str.5, %1349 ], [ @.str.2, %1345 ]
  store i32 %1340, ptr %1339, align 4, !tbaa !5
  %1351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1352 = load i32, ptr @test_count, align 4, !tbaa !5
  %1353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1354 = load i32, ptr %1353, align 4, !tbaa !5
  %1355 = call ptr @s2n_strerror(i32 noundef %1354, ptr noundef nonnull @.str.4) #10
  %1356 = load i32, ptr %1353, align 4, !tbaa !5
  %1357 = call ptr @s2n_strerror_debug(i32 noundef %1356, ptr noundef nonnull @.str.4) #10
  %1358 = load i32, ptr %1339, align 4, !tbaa !5
  %1359 = call ptr @strerror(i32 noundef %1358) #10
  %1360 = load i32, ptr %1339, align 4, !tbaa !5
  %1361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1351, ptr noundef nonnull %.str.5.sink1021, i32 noundef %1352, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 116, ptr noundef %1355, ptr noundef %1357, ptr noundef %1359, i32 noundef %1360) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1362:                                             ; preds = %1334
  %1363 = add nsw i32 %1306, 3
  store i32 %1363, ptr @test_count, align 4, !tbaa !5
  %1364 = load i32, ptr %1192, align 8, !tbaa !43
  %1365 = icmp eq i32 %1364, 16645
  br i1 %1365, label %1390, label %1366

1366:                                             ; preds = %1362
  %1367 = tail call ptr @__errno_location() #11
  %1368 = load i32, ptr %1367, align 4, !tbaa !5
  %1369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1370 = call i32 @s2n_print_stacktrace(ptr noundef %1369) #10
  %1371 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1372 = trunc nuw i8 %1371 to i1
  br i1 %1372, label %1373, label %1377

1373:                                             ; preds = %1366
  %1374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1375 = call i32 @fileno(ptr noundef %1374) #10
  %1376 = call i32 @isatty(i32 noundef %1375) #10
  %.not410 = icmp eq i32 %1376, 0
  br i1 %.not410, label %1377, label %1378

1377:                                             ; preds = %1373, %1366
  br label %1378

1378:                                             ; preds = %1373, %1377
  %.str.5.sink1032 = phi ptr [ @.str.5, %1377 ], [ @.str.2, %1373 ]
  store i32 %1368, ptr %1367, align 4, !tbaa !5
  %1379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1380 = load i32, ptr @test_count, align 4, !tbaa !5
  %1381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1382 = load i32, ptr %1381, align 4, !tbaa !5
  %1383 = call ptr @s2n_strerror(i32 noundef %1382, ptr noundef nonnull @.str.4) #10
  %1384 = load i32, ptr %1381, align 4, !tbaa !5
  %1385 = call ptr @s2n_strerror_debug(i32 noundef %1384, ptr noundef nonnull @.str.4) #10
  %1386 = load i32, ptr %1367, align 4, !tbaa !5
  %1387 = call ptr @strerror(i32 noundef %1386) #10
  %1388 = load i32, ptr %1367, align 4, !tbaa !5
  %1389 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1379, ptr noundef nonnull %.str.5.sink1032, i32 noundef %1380, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 117, ptr noundef %1383, ptr noundef %1385, ptr noundef %1387, i32 noundef %1388) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1390:                                             ; preds = %1362
  %1391 = add nsw i32 %1306, 4
  store i32 %1391, ptr @test_count, align 4, !tbaa !5
  %1392 = load i32, ptr %1221, align 8, !tbaa !43
  %1393 = icmp eq i32 %1392, 16645
  br i1 %1393, label %1418, label %1394

1394:                                             ; preds = %1390
  %1395 = tail call ptr @__errno_location() #11
  %1396 = load i32, ptr %1395, align 4, !tbaa !5
  %1397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1398 = call i32 @s2n_print_stacktrace(ptr noundef %1397) #10
  %1399 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1400 = trunc nuw i8 %1399 to i1
  br i1 %1400, label %1401, label %1405

1401:                                             ; preds = %1394
  %1402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1403 = call i32 @fileno(ptr noundef %1402) #10
  %1404 = call i32 @isatty(i32 noundef %1403) #10
  %.not411 = icmp eq i32 %1404, 0
  br i1 %.not411, label %1405, label %1406

1405:                                             ; preds = %1401, %1394
  br label %1406

1406:                                             ; preds = %1401, %1405
  %.str.5.sink1043 = phi ptr [ @.str.5, %1405 ], [ @.str.2, %1401 ]
  store i32 %1396, ptr %1395, align 4, !tbaa !5
  %1407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1408 = load i32, ptr @test_count, align 4, !tbaa !5
  %1409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1410 = load i32, ptr %1409, align 4, !tbaa !5
  %1411 = call ptr @s2n_strerror(i32 noundef %1410, ptr noundef nonnull @.str.4) #10
  %1412 = load i32, ptr %1409, align 4, !tbaa !5
  %1413 = call ptr @s2n_strerror_debug(i32 noundef %1412, ptr noundef nonnull @.str.4) #10
  %1414 = load i32, ptr %1395, align 4, !tbaa !5
  %1415 = call ptr @strerror(i32 noundef %1414) #10
  %1416 = load i32, ptr %1395, align 4, !tbaa !5
  %1417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1407, ptr noundef nonnull %.str.5.sink1043, i32 noundef %1408, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 118, ptr noundef %1411, ptr noundef %1413, ptr noundef %1415, i32 noundef %1416) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1418:                                             ; preds = %1390
  %1419 = add nsw i32 %1306, 5
  store i32 %1419, ptr @test_count, align 4, !tbaa !5
  %1420 = call i32 @s2n_connection_free(ptr noundef nonnull %786) #10
  %1421 = icmp eq i32 %1420, -1
  br i1 %1421, label %1422, label %1446

1422:                                             ; preds = %1418
  %1423 = tail call ptr @__errno_location() #11
  %1424 = load i32, ptr %1423, align 4, !tbaa !5
  %1425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1426 = call i32 @s2n_print_stacktrace(ptr noundef %1425) #10
  %1427 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1428 = trunc nuw i8 %1427 to i1
  br i1 %1428, label %1429, label %1433

1429:                                             ; preds = %1422
  %1430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1431 = call i32 @fileno(ptr noundef %1430) #10
  %1432 = call i32 @isatty(i32 noundef %1431) #10
  %.not498 = icmp eq i32 %1432, 0
  br i1 %.not498, label %1433, label %1434

1433:                                             ; preds = %1429, %1422
  br label %1434

1434:                                             ; preds = %1429, %1433
  %.str.5.sink1054 = phi ptr [ @.str.5, %1433 ], [ @.str.2, %1429 ]
  store i32 %1424, ptr %1423, align 4, !tbaa !5
  %1435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1436 = load i32, ptr @test_count, align 4, !tbaa !5
  %1437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1438 = load i32, ptr %1437, align 4, !tbaa !5
  %1439 = call ptr @s2n_strerror(i32 noundef %1438, ptr noundef nonnull @.str.4) #10
  %1440 = load i32, ptr %1437, align 4, !tbaa !5
  %1441 = call ptr @s2n_strerror_debug(i32 noundef %1440, ptr noundef nonnull @.str.4) #10
  %1442 = load i32, ptr %1423, align 4, !tbaa !5
  %1443 = call ptr @strerror(i32 noundef %1442) #10
  %1444 = load i32, ptr %1423, align 4, !tbaa !5
  %1445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1435, ptr noundef nonnull %.str.5.sink1054, i32 noundef %1436, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 120, ptr noundef %1439, ptr noundef %1441, ptr noundef %1443, i32 noundef %1444) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1446:                                             ; preds = %1418
  %1447 = load i32, ptr @test_count, align 4, !tbaa !5
  %1448 = add nsw i32 %1447, 1
  store i32 %1448, ptr @test_count, align 4, !tbaa !5
  %1449 = call i32 @s2n_connection_free(ptr noundef nonnull %843) #10
  %1450 = icmp eq i32 %1449, -1
  br i1 %1450, label %1451, label %1475

1451:                                             ; preds = %1446
  %1452 = tail call ptr @__errno_location() #11
  %1453 = load i32, ptr %1452, align 4, !tbaa !5
  %1454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1455 = call i32 @s2n_print_stacktrace(ptr noundef %1454) #10
  %1456 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1457 = trunc nuw i8 %1456 to i1
  br i1 %1457, label %1458, label %1462

1458:                                             ; preds = %1451
  %1459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1460 = call i32 @fileno(ptr noundef %1459) #10
  %1461 = call i32 @isatty(i32 noundef %1460) #10
  %.not497 = icmp eq i32 %1461, 0
  br i1 %.not497, label %1462, label %1463

1462:                                             ; preds = %1458, %1451
  br label %1463

1463:                                             ; preds = %1458, %1462
  %.str.5.sink1065 = phi ptr [ @.str.5, %1462 ], [ @.str.2, %1458 ]
  store i32 %1453, ptr %1452, align 4, !tbaa !5
  %1464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1465 = load i32, ptr @test_count, align 4, !tbaa !5
  %1466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1467 = load i32, ptr %1466, align 4, !tbaa !5
  %1468 = call ptr @s2n_strerror(i32 noundef %1467, ptr noundef nonnull @.str.4) #10
  %1469 = load i32, ptr %1466, align 4, !tbaa !5
  %1470 = call ptr @s2n_strerror_debug(i32 noundef %1469, ptr noundef nonnull @.str.4) #10
  %1471 = load i32, ptr %1452, align 4, !tbaa !5
  %1472 = call ptr @strerror(i32 noundef %1471) #10
  %1473 = load i32, ptr %1452, align 4, !tbaa !5
  %1474 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1464, ptr noundef nonnull %.str.5.sink1065, i32 noundef %1465, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 121, ptr noundef %1468, ptr noundef %1470, ptr noundef %1472, i32 noundef %1473) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1475:                                             ; preds = %1446
  %1476 = call i32 @s2n_io_pair_close(ptr noundef nonnull %5) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #10
  %1477 = call ptr @s2n_config_new() #10
  %1478 = load i32, ptr @test_count, align 4, !tbaa !5
  %1479 = add nsw i32 %1478, 1
  store i32 %1479, ptr @test_count, align 4, !tbaa !5
  %1480 = icmp eq ptr %1477, null
  br i1 %1480, label %1481, label %1505

1481:                                             ; preds = %1475
  %1482 = tail call ptr @__errno_location() #11
  %1483 = load i32, ptr %1482, align 4, !tbaa !5
  %1484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1485 = call i32 @s2n_print_stacktrace(ptr noundef %1484) #10
  %1486 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1487 = trunc nuw i8 %1486 to i1
  br i1 %1487, label %1488, label %1492

1488:                                             ; preds = %1481
  %1489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1490 = call i32 @fileno(ptr noundef %1489) #10
  %1491 = call i32 @isatty(i32 noundef %1490) #10
  %.not496 = icmp eq i32 %1491, 0
  br i1 %.not496, label %1492, label %1493

1492:                                             ; preds = %1488, %1481
  br label %1493

1493:                                             ; preds = %1488, %1492
  %.str.5.sink1076 = phi ptr [ @.str.5, %1492 ], [ @.str.2, %1488 ]
  store i32 %1483, ptr %1482, align 4, !tbaa !5
  %1494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1495 = load i32, ptr @test_count, align 4, !tbaa !5
  %1496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1497 = load i32, ptr %1496, align 4, !tbaa !5
  %1498 = call ptr @s2n_strerror(i32 noundef %1497, ptr noundef nonnull @.str.4) #10
  %1499 = load i32, ptr %1496, align 4, !tbaa !5
  %1500 = call ptr @s2n_strerror_debug(i32 noundef %1499, ptr noundef nonnull @.str.4) #10
  %1501 = load i32, ptr %1482, align 4, !tbaa !5
  %1502 = call ptr @strerror(i32 noundef %1501) #10
  %1503 = load i32, ptr %1482, align 4, !tbaa !5
  %1504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1494, ptr noundef nonnull %.str.5.sink1076, i32 noundef %1495, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 130, ptr noundef %1498, ptr noundef %1500, ptr noundef %1502, i32 noundef %1503) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1505:                                             ; preds = %1475
  %1506 = add nsw i32 %1478, 2
  store i32 %1506, ptr @test_count, align 4, !tbaa !5
  %1507 = call i32 @s2n_config_set_cipher_preferences(ptr noundef nonnull %1477, ptr noundef nonnull @.str.18) #10
  %1508 = icmp eq i32 %1507, -1
  br i1 %1508, label %1509, label %1533

1509:                                             ; preds = %1505
  %1510 = tail call ptr @__errno_location() #11
  %1511 = load i32, ptr %1510, align 4, !tbaa !5
  %1512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1513 = call i32 @s2n_print_stacktrace(ptr noundef %1512) #10
  %1514 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1515 = trunc nuw i8 %1514 to i1
  br i1 %1515, label %1516, label %1520

1516:                                             ; preds = %1509
  %1517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1518 = call i32 @fileno(ptr noundef %1517) #10
  %1519 = call i32 @isatty(i32 noundef %1518) #10
  %.not495 = icmp eq i32 %1519, 0
  br i1 %.not495, label %1520, label %1521

1520:                                             ; preds = %1516, %1509
  br label %1521

1521:                                             ; preds = %1516, %1520
  %.str.5.sink1087 = phi ptr [ @.str.5, %1520 ], [ @.str.2, %1516 ]
  store i32 %1511, ptr %1510, align 4, !tbaa !5
  %1522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1523 = load i32, ptr @test_count, align 4, !tbaa !5
  %1524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1525 = load i32, ptr %1524, align 4, !tbaa !5
  %1526 = call ptr @s2n_strerror(i32 noundef %1525, ptr noundef nonnull @.str.4) #10
  %1527 = load i32, ptr %1524, align 4, !tbaa !5
  %1528 = call ptr @s2n_strerror_debug(i32 noundef %1527, ptr noundef nonnull @.str.4) #10
  %1529 = load i32, ptr %1510, align 4, !tbaa !5
  %1530 = call ptr @strerror(i32 noundef %1529) #10
  %1531 = load i32, ptr %1510, align 4, !tbaa !5
  %1532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1522, ptr noundef nonnull %.str.5.sink1087, i32 noundef %1523, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 131, ptr noundef %1526, ptr noundef %1528, ptr noundef %1530, i32 noundef %1531) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1533:                                             ; preds = %1505
  %1534 = load i32, ptr @test_count, align 4, !tbaa !5
  %1535 = add nsw i32 %1534, 1
  store i32 %1535, ptr @test_count, align 4, !tbaa !5
  %1536 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef nonnull %1477) #10
  %1537 = icmp eq i32 %1536, -1
  br i1 %1537, label %1538, label %1562

1538:                                             ; preds = %1533
  %1539 = tail call ptr @__errno_location() #11
  %1540 = load i32, ptr %1539, align 4, !tbaa !5
  %1541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1542 = call i32 @s2n_print_stacktrace(ptr noundef %1541) #10
  %1543 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1544 = trunc nuw i8 %1543 to i1
  br i1 %1544, label %1545, label %1549

1545:                                             ; preds = %1538
  %1546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1547 = call i32 @fileno(ptr noundef %1546) #10
  %1548 = call i32 @isatty(i32 noundef %1547) #10
  %.not494 = icmp eq i32 %1548, 0
  br i1 %.not494, label %1549, label %1550

1549:                                             ; preds = %1545, %1538
  br label %1550

1550:                                             ; preds = %1545, %1549
  %.str.5.sink1098 = phi ptr [ @.str.5, %1549 ], [ @.str.2, %1545 ]
  store i32 %1540, ptr %1539, align 4, !tbaa !5
  %1551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1552 = load i32, ptr @test_count, align 4, !tbaa !5
  %1553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1554 = load i32, ptr %1553, align 4, !tbaa !5
  %1555 = call ptr @s2n_strerror(i32 noundef %1554, ptr noundef nonnull @.str.4) #10
  %1556 = load i32, ptr %1553, align 4, !tbaa !5
  %1557 = call ptr @s2n_strerror_debug(i32 noundef %1556, ptr noundef nonnull @.str.4) #10
  %1558 = load i32, ptr %1539, align 4, !tbaa !5
  %1559 = call ptr @strerror(i32 noundef %1558) #10
  %1560 = load i32, ptr %1539, align 4, !tbaa !5
  %1561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1551, ptr noundef nonnull %.str.5.sink1098, i32 noundef %1552, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 132, ptr noundef %1555, ptr noundef %1557, ptr noundef %1559, i32 noundef %1560) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1562:                                             ; preds = %1533
  %1563 = load i32, ptr @test_count, align 4, !tbaa !5
  %1564 = add nsw i32 %1563, 1
  store i32 %1564, ptr @test_count, align 4, !tbaa !5
  %1565 = load ptr, ptr %3, align 8, !tbaa !9
  %1566 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %1477, ptr noundef %1565) #10
  %1567 = icmp eq i32 %1566, -1
  br i1 %1567, label %1568, label %1592

1568:                                             ; preds = %1562
  %1569 = tail call ptr @__errno_location() #11
  %1570 = load i32, ptr %1569, align 4, !tbaa !5
  %1571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1572 = call i32 @s2n_print_stacktrace(ptr noundef %1571) #10
  %1573 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1574 = trunc nuw i8 %1573 to i1
  br i1 %1574, label %1575, label %1579

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

1579:                                             ; preds = %1575, %1568
  br label %1580

1580:                                             ; preds = %1575, %1579
  %.str.5.sink1109 = phi ptr [ @.str.5, %1579 ], [ @.str.2, %1575 ]
  store i32 %1570, ptr %1569, align 4, !tbaa !5
  %1581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1582 = load i32, ptr @test_count, align 4, !tbaa !5
  %1583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1584 = load i32, ptr %1583, align 4, !tbaa !5
  %1585 = call ptr @s2n_strerror(i32 noundef %1584, ptr noundef nonnull @.str.4) #10
  %1586 = load i32, ptr %1583, align 4, !tbaa !5
  %1587 = call ptr @s2n_strerror_debug(i32 noundef %1586, ptr noundef nonnull @.str.4) #10
  %1588 = load i32, ptr %1569, align 4, !tbaa !5
  %1589 = call ptr @strerror(i32 noundef %1588) #10
  %1590 = load i32, ptr %1569, align 4, !tbaa !5
  %1591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1581, ptr noundef nonnull %.str.5.sink1109, i32 noundef %1582, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 133, ptr noundef %1585, ptr noundef %1587, ptr noundef %1589, i32 noundef %1590) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1592:                                             ; preds = %1562
  %1593 = load i32, ptr @test_count, align 4, !tbaa !5
  %1594 = add nsw i32 %1593, 1
  store i32 %1594, ptr @test_count, align 4, !tbaa !5
  %1595 = call i32 @s2n_config_send_max_fragment_length(ptr noundef nonnull %1477, i32 noundef 3) #10
  %1596 = icmp eq i32 %1595, -1
  br i1 %1596, label %1597, label %1621

1597:                                             ; preds = %1592
  %1598 = tail call ptr @__errno_location() #11
  %1599 = load i32, ptr %1598, align 4, !tbaa !5
  %1600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1601 = call i32 @s2n_print_stacktrace(ptr noundef %1600) #10
  %1602 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1603 = trunc nuw i8 %1602 to i1
  br i1 %1603, label %1604, label %1608

1604:                                             ; preds = %1597
  %1605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1606 = call i32 @fileno(ptr noundef %1605) #10
  %1607 = call i32 @isatty(i32 noundef %1606) #10
  %.not492 = icmp eq i32 %1607, 0
  br i1 %.not492, label %1608, label %1609

1608:                                             ; preds = %1604, %1597
  br label %1609

1609:                                             ; preds = %1604, %1608
  %.str.5.sink1120 = phi ptr [ @.str.5, %1608 ], [ @.str.2, %1604 ]
  store i32 %1599, ptr %1598, align 4, !tbaa !5
  %1610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1611 = load i32, ptr @test_count, align 4, !tbaa !5
  %1612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1613 = load i32, ptr %1612, align 4, !tbaa !5
  %1614 = call ptr @s2n_strerror(i32 noundef %1613, ptr noundef nonnull @.str.4) #10
  %1615 = load i32, ptr %1612, align 4, !tbaa !5
  %1616 = call ptr @s2n_strerror_debug(i32 noundef %1615, ptr noundef nonnull @.str.4) #10
  %1617 = load i32, ptr %1598, align 4, !tbaa !5
  %1618 = call ptr @strerror(i32 noundef %1617) #10
  %1619 = load i32, ptr %1598, align 4, !tbaa !5
  %1620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1610, ptr noundef nonnull %.str.5.sink1120, i32 noundef %1611, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 134, ptr noundef %1614, ptr noundef %1616, ptr noundef %1618, i32 noundef %1619) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1621:                                             ; preds = %1592
  %1622 = load i32, ptr @test_count, align 4, !tbaa !5
  %1623 = add nsw i32 %1622, 1
  store i32 %1623, ptr @test_count, align 4, !tbaa !5
  %1624 = call i32 @s2n_config_accept_max_fragment_length(ptr noundef nonnull %1477) #10
  %1625 = icmp eq i32 %1624, -1
  br i1 %1625, label %1626, label %1650

1626:                                             ; preds = %1621
  %1627 = tail call ptr @__errno_location() #11
  %1628 = load i32, ptr %1627, align 4, !tbaa !5
  %1629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1630 = call i32 @s2n_print_stacktrace(ptr noundef %1629) #10
  %1631 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1632 = trunc nuw i8 %1631 to i1
  br i1 %1632, label %1633, label %1637

1633:                                             ; preds = %1626
  %1634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1635 = call i32 @fileno(ptr noundef %1634) #10
  %1636 = call i32 @isatty(i32 noundef %1635) #10
  %.not491 = icmp eq i32 %1636, 0
  br i1 %.not491, label %1637, label %1638

1637:                                             ; preds = %1633, %1626
  br label %1638

1638:                                             ; preds = %1633, %1637
  %.str.5.sink1131 = phi ptr [ @.str.5, %1637 ], [ @.str.2, %1633 ]
  store i32 %1628, ptr %1627, align 4, !tbaa !5
  %1639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1640 = load i32, ptr @test_count, align 4, !tbaa !5
  %1641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1642 = load i32, ptr %1641, align 4, !tbaa !5
  %1643 = call ptr @s2n_strerror(i32 noundef %1642, ptr noundef nonnull @.str.4) #10
  %1644 = load i32, ptr %1641, align 4, !tbaa !5
  %1645 = call ptr @s2n_strerror_debug(i32 noundef %1644, ptr noundef nonnull @.str.4) #10
  %1646 = load i32, ptr %1627, align 4, !tbaa !5
  %1647 = call ptr @strerror(i32 noundef %1646) #10
  %1648 = load i32, ptr %1627, align 4, !tbaa !5
  %1649 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1639, ptr noundef nonnull %.str.5.sink1131, i32 noundef %1640, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 135, ptr noundef %1643, ptr noundef %1645, ptr noundef %1647, i32 noundef %1648) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1650:                                             ; preds = %1621
  %1651 = call ptr @s2n_connection_new(i32 noundef 1) #10
  %1652 = load i32, ptr @test_count, align 4, !tbaa !5
  %1653 = add nsw i32 %1652, 1
  store i32 %1653, ptr @test_count, align 4, !tbaa !5
  %1654 = icmp eq ptr %1651, null
  br i1 %1654, label %1655, label %1679

1655:                                             ; preds = %1650
  %1656 = tail call ptr @__errno_location() #11
  %1657 = load i32, ptr %1656, align 4, !tbaa !5
  %1658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1659 = call i32 @s2n_print_stacktrace(ptr noundef %1658) #10
  %1660 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1661 = trunc nuw i8 %1660 to i1
  br i1 %1661, label %1662, label %1666

1662:                                             ; preds = %1655
  %1663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1664 = call i32 @fileno(ptr noundef %1663) #10
  %1665 = call i32 @isatty(i32 noundef %1664) #10
  %.not490 = icmp eq i32 %1665, 0
  br i1 %.not490, label %1666, label %1667

1666:                                             ; preds = %1662, %1655
  br label %1667

1667:                                             ; preds = %1662, %1666
  %.str.5.sink1142 = phi ptr [ @.str.5, %1666 ], [ @.str.2, %1662 ]
  store i32 %1657, ptr %1656, align 4, !tbaa !5
  %1668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1669 = load i32, ptr @test_count, align 4, !tbaa !5
  %1670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1671 = load i32, ptr %1670, align 4, !tbaa !5
  %1672 = call ptr @s2n_strerror(i32 noundef %1671, ptr noundef nonnull @.str.4) #10
  %1673 = load i32, ptr %1670, align 4, !tbaa !5
  %1674 = call ptr @s2n_strerror_debug(i32 noundef %1673, ptr noundef nonnull @.str.4) #10
  %1675 = load i32, ptr %1656, align 4, !tbaa !5
  %1676 = call ptr @strerror(i32 noundef %1675) #10
  %1677 = load i32, ptr %1656, align 4, !tbaa !5
  %1678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1668, ptr noundef nonnull %.str.5.sink1142, i32 noundef %1669, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 138, ptr noundef %1672, ptr noundef %1674, ptr noundef %1676, i32 noundef %1677) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1679:                                             ; preds = %1650
  %1680 = add nsw i32 %1652, 2
  store i32 %1680, ptr @test_count, align 4, !tbaa !5
  %1681 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1651, ptr noundef nonnull %1477) #10
  %1682 = icmp eq i32 %1681, -1
  br i1 %1682, label %1683, label %1707

1683:                                             ; preds = %1679
  %1684 = tail call ptr @__errno_location() #11
  %1685 = load i32, ptr %1684, align 4, !tbaa !5
  %1686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1687 = call i32 @s2n_print_stacktrace(ptr noundef %1686) #10
  %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 = %1683
  %1691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1692 = call i32 @fileno(ptr noundef %1691) #10
  %1693 = call i32 @isatty(i32 noundef %1692) #10
  %.not489 = icmp eq i32 %1693, 0
  br i1 %.not489, label %1694, label %1695

1694:                                             ; preds = %1690, %1683
  br label %1695

1695:                                             ; preds = %1690, %1694
  %.str.5.sink1153 = phi ptr [ @.str.5, %1694 ], [ @.str.2, %1690 ]
  store i32 %1685, ptr %1684, align 4, !tbaa !5
  %1696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1697 = load i32, ptr @test_count, align 4, !tbaa !5
  %1698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1699 = load i32, ptr %1698, align 4, !tbaa !5
  %1700 = call ptr @s2n_strerror(i32 noundef %1699, ptr noundef nonnull @.str.4) #10
  %1701 = load i32, ptr %1698, align 4, !tbaa !5
  %1702 = call ptr @s2n_strerror_debug(i32 noundef %1701, ptr noundef nonnull @.str.4) #10
  %1703 = load i32, ptr %1684, align 4, !tbaa !5
  %1704 = call ptr @strerror(i32 noundef %1703) #10
  %1705 = load i32, ptr %1684, align 4, !tbaa !5
  %1706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1696, ptr noundef nonnull %.str.5.sink1153, i32 noundef %1697, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 139, ptr noundef %1700, ptr noundef %1702, ptr noundef %1704, i32 noundef %1705) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1707:                                             ; preds = %1679
  %1708 = call ptr @s2n_connection_new(i32 noundef 0) #10
  %1709 = load i32, ptr @test_count, align 4, !tbaa !5
  %1710 = add nsw i32 %1709, 1
  store i32 %1710, ptr @test_count, align 4, !tbaa !5
  %1711 = icmp eq ptr %1708, null
  br i1 %1711, label %1712, label %1736

1712:                                             ; preds = %1707
  %1713 = tail call ptr @__errno_location() #11
  %1714 = load i32, ptr %1713, align 4, !tbaa !5
  %1715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1716 = call i32 @s2n_print_stacktrace(ptr noundef %1715) #10
  %1717 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1718 = trunc nuw i8 %1717 to i1
  br i1 %1718, label %1719, label %1723

1719:                                             ; preds = %1712
  %1720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1721 = call i32 @fileno(ptr noundef %1720) #10
  %1722 = call i32 @isatty(i32 noundef %1721) #10
  %.not488 = icmp eq i32 %1722, 0
  br i1 %.not488, label %1723, label %1724

1723:                                             ; preds = %1719, %1712
  br label %1724

1724:                                             ; preds = %1719, %1723
  %.str.5.sink1164 = phi ptr [ @.str.5, %1723 ], [ @.str.2, %1719 ]
  store i32 %1714, ptr %1713, align 4, !tbaa !5
  %1725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1726 = load i32, ptr @test_count, align 4, !tbaa !5
  %1727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1728 = load i32, ptr %1727, align 4, !tbaa !5
  %1729 = call ptr @s2n_strerror(i32 noundef %1728, ptr noundef nonnull @.str.4) #10
  %1730 = load i32, ptr %1727, align 4, !tbaa !5
  %1731 = call ptr @s2n_strerror_debug(i32 noundef %1730, ptr noundef nonnull @.str.4) #10
  %1732 = load i32, ptr %1713, align 4, !tbaa !5
  %1733 = call ptr @strerror(i32 noundef %1732) #10
  %1734 = load i32, ptr %1713, align 4, !tbaa !5
  %1735 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1725, ptr noundef nonnull %.str.5.sink1164, i32 noundef %1726, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 142, ptr noundef %1729, ptr noundef %1731, ptr noundef %1733, i32 noundef %1734) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1736:                                             ; preds = %1707
  %1737 = add nsw i32 %1709, 2
  store i32 %1737, ptr @test_count, align 4, !tbaa !5
  %1738 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1708, ptr noundef nonnull %1477) #10
  %1739 = icmp eq i32 %1738, -1
  br i1 %1739, label %1740, label %1764

1740:                                             ; preds = %1736
  %1741 = tail call ptr @__errno_location() #11
  %1742 = load i32, ptr %1741, align 4, !tbaa !5
  %1743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1744 = call i32 @s2n_print_stacktrace(ptr noundef %1743) #10
  %1745 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1746 = trunc nuw i8 %1745 to i1
  br i1 %1746, label %1747, label %1751

1747:                                             ; preds = %1740
  %1748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1749 = call i32 @fileno(ptr noundef %1748) #10
  %1750 = call i32 @isatty(i32 noundef %1749) #10
  %.not487 = icmp eq i32 %1750, 0
  br i1 %.not487, label %1751, label %1752

1751:                                             ; preds = %1747, %1740
  br label %1752

1752:                                             ; preds = %1747, %1751
  %.str.5.sink1175 = phi ptr [ @.str.5, %1751 ], [ @.str.2, %1747 ]
  store i32 %1742, ptr %1741, align 4, !tbaa !5
  %1753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1754 = load i32, ptr @test_count, align 4, !tbaa !5
  %1755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1756 = load i32, ptr %1755, align 4, !tbaa !5
  %1757 = call ptr @s2n_strerror(i32 noundef %1756, ptr noundef nonnull @.str.4) #10
  %1758 = load i32, ptr %1755, align 4, !tbaa !5
  %1759 = call ptr @s2n_strerror_debug(i32 noundef %1758, ptr noundef nonnull @.str.4) #10
  %1760 = load i32, ptr %1741, align 4, !tbaa !5
  %1761 = call ptr @strerror(i32 noundef %1760) #10
  %1762 = load i32, ptr %1741, align 4, !tbaa !5
  %1763 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1753, ptr noundef nonnull %.str.5.sink1175, i32 noundef %1754, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 143, ptr noundef %1757, ptr noundef %1759, ptr noundef %1761, i32 noundef %1762) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1764:                                             ; preds = %1736
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #10
  store i64 0, ptr %6, align 8
  %1765 = load i32, ptr @test_count, align 4, !tbaa !5
  %1766 = add nsw i32 %1765, 1
  store i32 %1766, ptr @test_count, align 4, !tbaa !5
  %1767 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %6) #10
  %1768 = icmp eq i32 %1767, -1
  br i1 %1768, label %1769, label %1793

1769:                                             ; preds = %1764
  %1770 = tail call ptr @__errno_location() #11
  %1771 = load i32, ptr %1770, align 4, !tbaa !5
  %1772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1773 = call i32 @s2n_print_stacktrace(ptr noundef %1772) #10
  %1774 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1775 = trunc nuw i8 %1774 to i1
  br i1 %1775, label %1776, label %1780

1776:                                             ; preds = %1769
  %1777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1778 = call i32 @fileno(ptr noundef %1777) #10
  %1779 = call i32 @isatty(i32 noundef %1778) #10
  %.not486 = icmp eq i32 %1779, 0
  br i1 %.not486, label %1780, label %1781

1780:                                             ; preds = %1776, %1769
  br label %1781

1781:                                             ; preds = %1776, %1780
  %.str.5.sink1186 = phi ptr [ @.str.5, %1780 ], [ @.str.2, %1776 ]
  store i32 %1771, ptr %1770, align 4, !tbaa !5
  %1782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1783 = load i32, ptr @test_count, align 4, !tbaa !5
  %1784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1785 = load i32, ptr %1784, align 4, !tbaa !5
  %1786 = call ptr @s2n_strerror(i32 noundef %1785, ptr noundef nonnull @.str.4) #10
  %1787 = load i32, ptr %1784, align 4, !tbaa !5
  %1788 = call ptr @s2n_strerror_debug(i32 noundef %1787, ptr noundef nonnull @.str.4) #10
  %1789 = load i32, ptr %1770, align 4, !tbaa !5
  %1790 = call ptr @strerror(i32 noundef %1789) #10
  %1791 = load i32, ptr %1770, align 4, !tbaa !5
  %1792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1782, ptr noundef nonnull %.str.5.sink1186, i32 noundef %1783, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 147, ptr noundef %1786, ptr noundef %1788, ptr noundef %1790, i32 noundef %1791) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1793:                                             ; preds = %1764
  %1794 = load i32, ptr @test_count, align 4, !tbaa !5
  %1795 = add nsw i32 %1794, 1
  store i32 %1795, ptr @test_count, align 4, !tbaa !5
  %1796 = call i32 @s2n_connection_set_io_pair(ptr noundef nonnull %1651, ptr noundef nonnull %6) #10
  %1797 = icmp eq i32 %1796, -1
  br i1 %1797, label %1798, label %1822

1798:                                             ; preds = %1793
  %1799 = tail call ptr @__errno_location() #11
  %1800 = load i32, ptr %1799, align 4, !tbaa !5
  %1801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1802 = call i32 @s2n_print_stacktrace(ptr noundef %1801) #10
  %1803 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1804 = trunc nuw i8 %1803 to i1
  br i1 %1804, label %1805, label %1809

1805:                                             ; preds = %1798
  %1806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1807 = call i32 @fileno(ptr noundef %1806) #10
  %1808 = call i32 @isatty(i32 noundef %1807) #10
  %.not485 = icmp eq i32 %1808, 0
  br i1 %.not485, label %1809, label %1810

1809:                                             ; preds = %1805, %1798
  br label %1810

1810:                                             ; preds = %1805, %1809
  %.str.5.sink1197 = phi ptr [ @.str.5, %1809 ], [ @.str.2, %1805 ]
  store i32 %1800, ptr %1799, align 4, !tbaa !5
  %1811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1812 = load i32, ptr @test_count, align 4, !tbaa !5
  %1813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1814 = load i32, ptr %1813, align 4, !tbaa !5
  %1815 = call ptr @s2n_strerror(i32 noundef %1814, ptr noundef nonnull @.str.4) #10
  %1816 = load i32, ptr %1813, align 4, !tbaa !5
  %1817 = call ptr @s2n_strerror_debug(i32 noundef %1816, ptr noundef nonnull @.str.4) #10
  %1818 = load i32, ptr %1799, align 4, !tbaa !5
  %1819 = call ptr @strerror(i32 noundef %1818) #10
  %1820 = load i32, ptr %1799, align 4, !tbaa !5
  %1821 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1811, ptr noundef nonnull %.str.5.sink1197, i32 noundef %1812, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 148, ptr noundef %1815, ptr noundef %1817, ptr noundef %1819, i32 noundef %1820) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1822:                                             ; preds = %1793
  %1823 = load i32, ptr @test_count, align 4, !tbaa !5
  %1824 = add nsw i32 %1823, 1
  store i32 %1824, ptr @test_count, align 4, !tbaa !5
  %1825 = call i32 @s2n_connection_set_io_pair(ptr noundef nonnull %1708, ptr noundef nonnull %6) #10
  %1826 = icmp eq i32 %1825, -1
  br i1 %1826, label %1827, label %1851

1827:                                             ; preds = %1822
  %1828 = tail call ptr @__errno_location() #11
  %1829 = load i32, ptr %1828, align 4, !tbaa !5
  %1830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1831 = call i32 @s2n_print_stacktrace(ptr noundef %1830) #10
  %1832 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1833 = trunc nuw i8 %1832 to i1
  br i1 %1833, label %1834, label %1838

1834:                                             ; preds = %1827
  %1835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1836 = call i32 @fileno(ptr noundef %1835) #10
  %1837 = call i32 @isatty(i32 noundef %1836) #10
  %.not484 = icmp eq i32 %1837, 0
  br i1 %.not484, label %1838, label %1839

1838:                                             ; preds = %1834, %1827
  br label %1839

1839:                                             ; preds = %1834, %1838
  %.str.5.sink1208 = phi ptr [ @.str.5, %1838 ], [ @.str.2, %1834 ]
  store i32 %1829, ptr %1828, align 4, !tbaa !5
  %1840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1841 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1843, ptr noundef nonnull @.str.4) #10
  %1845 = load i32, ptr %1842, align 4, !tbaa !5
  %1846 = call ptr @s2n_strerror_debug(i32 noundef %1845, ptr noundef nonnull @.str.4) #10
  %1847 = load i32, ptr %1828, align 4, !tbaa !5
  %1848 = call ptr @strerror(i32 noundef %1847) #10
  %1849 = load i32, ptr %1828, align 4, !tbaa !5
  %1850 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1840, ptr noundef nonnull %.str.5.sink1208, i32 noundef %1841, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 149, ptr noundef %1844, ptr noundef %1846, ptr noundef %1848, i32 noundef %1849) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1851:                                             ; preds = %1822
  %1852 = load i32, ptr @test_count, align 4, !tbaa !5
  %1853 = add nsw i32 %1852, 1
  store i32 %1853, ptr @test_count, align 4, !tbaa !5
  %1854 = call i32 @s2n_connection_prefer_throughput(ptr noundef nonnull %1651) #10
  %1855 = icmp eq i32 %1854, -1
  br i1 %1855, label %1856, label %1880

1856:                                             ; preds = %1851
  %1857 = tail call ptr @__errno_location() #11
  %1858 = load i32, ptr %1857, align 4, !tbaa !5
  %1859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1860 = call i32 @s2n_print_stacktrace(ptr noundef %1859) #10
  %1861 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1862 = trunc nuw i8 %1861 to i1
  br i1 %1862, label %1863, label %1867

1863:                                             ; preds = %1856
  %1864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1865 = call i32 @fileno(ptr noundef %1864) #10
  %1866 = call i32 @isatty(i32 noundef %1865) #10
  %.not483 = icmp eq i32 %1866, 0
  br i1 %.not483, label %1867, label %1868

1867:                                             ; preds = %1863, %1856
  br label %1868

1868:                                             ; preds = %1863, %1867
  %.str.5.sink1219 = phi ptr [ @.str.5, %1867 ], [ @.str.2, %1863 ]
  store i32 %1858, ptr %1857, align 4, !tbaa !5
  %1869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1870 = load i32, ptr @test_count, align 4, !tbaa !5
  %1871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1872 = load i32, ptr %1871, align 4, !tbaa !5
  %1873 = call ptr @s2n_strerror(i32 noundef %1872, ptr noundef nonnull @.str.4) #10
  %1874 = load i32, ptr %1871, align 4, !tbaa !5
  %1875 = call ptr @s2n_strerror_debug(i32 noundef %1874, ptr noundef nonnull @.str.4) #10
  %1876 = load i32, ptr %1857, align 4, !tbaa !5
  %1877 = call ptr @strerror(i32 noundef %1876) #10
  %1878 = load i32, ptr %1857, align 4, !tbaa !5
  %1879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1869, ptr noundef nonnull %.str.5.sink1219, i32 noundef %1870, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 153, ptr noundef %1873, ptr noundef %1875, ptr noundef %1877, i32 noundef %1878) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1880:                                             ; preds = %1851
  %1881 = load i32, ptr @test_count, align 4, !tbaa !5
  %1882 = add nsw i32 %1881, 1
  store i32 %1882, ptr @test_count, align 4, !tbaa !5
  %1883 = call i32 @s2n_connection_prefer_throughput(ptr noundef nonnull %1708) #10
  %1884 = icmp eq i32 %1883, -1
  br i1 %1884, label %1885, label %1909

1885:                                             ; preds = %1880
  %1886 = tail call ptr @__errno_location() #11
  %1887 = load i32, ptr %1886, align 4, !tbaa !5
  %1888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1889 = call i32 @s2n_print_stacktrace(ptr noundef %1888) #10
  %1890 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1891 = trunc nuw i8 %1890 to i1
  br i1 %1891, label %1892, label %1896

1892:                                             ; preds = %1885
  %1893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1894 = call i32 @fileno(ptr noundef %1893) #10
  %1895 = call i32 @isatty(i32 noundef %1894) #10
  %.not482 = icmp eq i32 %1895, 0
  br i1 %.not482, label %1896, label %1897

1896:                                             ; preds = %1892, %1885
  br label %1897

1897:                                             ; preds = %1892, %1896
  %.str.5.sink1230 = phi ptr [ @.str.5, %1896 ], [ @.str.2, %1892 ]
  store i32 %1887, ptr %1886, align 4, !tbaa !5
  %1898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1899 = load i32, ptr @test_count, align 4, !tbaa !5
  %1900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1901 = load i32, ptr %1900, align 4, !tbaa !5
  %1902 = call ptr @s2n_strerror(i32 noundef %1901, ptr noundef nonnull @.str.4) #10
  %1903 = load i32, ptr %1900, align 4, !tbaa !5
  %1904 = call ptr @s2n_strerror_debug(i32 noundef %1903, ptr noundef nonnull @.str.4) #10
  %1905 = load i32, ptr %1886, align 4, !tbaa !5
  %1906 = call ptr @strerror(i32 noundef %1905) #10
  %1907 = load i32, ptr %1886, align 4, !tbaa !5
  %1908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1898, ptr noundef nonnull %.str.5.sink1230, i32 noundef %1899, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 154, ptr noundef %1902, ptr noundef %1904, ptr noundef %1906, i32 noundef %1907) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1909:                                             ; preds = %1880
  %1910 = load i32, ptr @test_count, align 4, !tbaa !5
  %1911 = add nsw i32 %1910, 1
  store i32 %1911, ptr @test_count, align 4, !tbaa !5
  %1912 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef nonnull %1708, ptr noundef nonnull %1651, i32 noundef 2) #10
  %1913 = call zeroext i1 @s2n_result_is_ok(i32 %1912)
  br i1 %1913, label %1938, label %1914

1914:                                             ; preds = %1909
  %1915 = tail call ptr @__errno_location() #11
  %1916 = load i32, ptr %1915, align 4, !tbaa !5
  %1917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1918 = call i32 @s2n_print_stacktrace(ptr noundef %1917) #10
  %1919 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1920 = trunc nuw i8 %1919 to i1
  br i1 %1920, label %1921, label %1925

1921:                                             ; preds = %1914
  %1922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1923 = call i32 @fileno(ptr noundef %1922) #10
  %1924 = call i32 @isatty(i32 noundef %1923) #10
  %.not412 = icmp eq i32 %1924, 0
  br i1 %.not412, label %1925, label %1926

1925:                                             ; preds = %1921, %1914
  br label %1926

1926:                                             ; preds = %1921, %1925
  %.str.5.sink1241 = phi ptr [ @.str.5, %1925 ], [ @.str.2, %1921 ]
  store i32 %1916, ptr %1915, align 4, !tbaa !5
  %1927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1928 = load i32, ptr @test_count, align 4, !tbaa !5
  %1929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1930 = load i32, ptr %1929, align 4, !tbaa !5
  %1931 = call ptr @s2n_strerror(i32 noundef %1930, ptr noundef nonnull @.str.4) #10
  %1932 = load i32, ptr %1929, align 4, !tbaa !5
  %1933 = call ptr @s2n_strerror_debug(i32 noundef %1932, ptr noundef nonnull @.str.4) #10
  %1934 = load i32, ptr %1915, align 4, !tbaa !5
  %1935 = call ptr @strerror(i32 noundef %1934) #10
  %1936 = load i32, ptr %1915, align 4, !tbaa !5
  %1937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1927, ptr noundef nonnull %.str.5.sink1241, i32 noundef %1928, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 157, ptr noundef %1931, ptr noundef %1933, ptr noundef %1935, i32 noundef %1936) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1938:                                             ; preds = %1909
  %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 = getelementptr inbounds i8, ptr %1651, i64 220
  %1942 = load i8, ptr %1941, align 4, !tbaa !15
  %1943 = icmp eq i8 %1942, 34
  br i1 %1943, label %1968, label %1944

1944:                                             ; preds = %1938
  %1945 = tail call ptr @__errno_location() #11
  %1946 = load i32, ptr %1945, align 4, !tbaa !5
  %1947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1948 = call i32 @s2n_print_stacktrace(ptr noundef %1947) #10
  %1949 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1950 = trunc nuw i8 %1949 to i1
  br i1 %1950, label %1951, label %1955

1951:                                             ; preds = %1944
  %1952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1953 = call i32 @fileno(ptr noundef %1952) #10
  %1954 = call i32 @isatty(i32 noundef %1953) #10
  %.not413 = icmp eq i32 %1954, 0
  br i1 %.not413, label %1955, label %1956

1955:                                             ; preds = %1951, %1944
  br label %1956

1956:                                             ; preds = %1951, %1955
  %.str.5.sink1252 = phi ptr [ @.str.5, %1955 ], [ @.str.2, %1951 ]
  store i32 %1946, ptr %1945, align 4, !tbaa !5
  %1957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1958 = load i32, ptr @test_count, align 4, !tbaa !5
  %1959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1960 = load i32, ptr %1959, align 4, !tbaa !5
  %1961 = call ptr @s2n_strerror(i32 noundef %1960, ptr noundef nonnull @.str.4) #10
  %1962 = load i32, ptr %1959, align 4, !tbaa !5
  %1963 = call ptr @s2n_strerror_debug(i32 noundef %1962, ptr noundef nonnull @.str.4) #10
  %1964 = load i32, ptr %1945, align 4, !tbaa !5
  %1965 = call ptr @strerror(i32 noundef %1964) #10
  %1966 = load i32, ptr %1945, align 4, !tbaa !5
  %1967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1957, ptr noundef nonnull %.str.5.sink1252, i32 noundef %1958, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 158, ptr noundef %1961, ptr noundef %1963, ptr noundef %1965, i32 noundef %1966) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1968:                                             ; preds = %1938
  %1969 = add nsw i32 %1939, 2
  store i32 %1969, ptr @test_count, align 4, !tbaa !5
  %1970 = getelementptr inbounds i8, ptr %1708, i64 220
  %1971 = load i8, ptr %1970, align 4, !tbaa !15
  %1972 = icmp eq i8 %1971, 34
  br i1 %1972, label %1997, label %1973

1973:                                             ; preds = %1968
  %1974 = tail call ptr @__errno_location() #11
  %1975 = load i32, ptr %1974, align 4, !tbaa !5
  %1976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1977 = call i32 @s2n_print_stacktrace(ptr noundef %1976) #10
  %1978 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1979 = trunc nuw i8 %1978 to i1
  br i1 %1979, label %1980, label %1984

1980:                                             ; preds = %1973
  %1981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1982 = call i32 @fileno(ptr noundef %1981) #10
  %1983 = call i32 @isatty(i32 noundef %1982) #10
  %.not414 = icmp eq i32 %1983, 0
  br i1 %.not414, label %1984, label %1985

1984:                                             ; preds = %1980, %1973
  br label %1985

1985:                                             ; preds = %1980, %1984
  %.str.5.sink1263 = phi ptr [ @.str.5, %1984 ], [ @.str.2, %1980 ]
  store i32 %1975, ptr %1974, align 4, !tbaa !5
  %1986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1987 = load i32, ptr @test_count, align 4, !tbaa !5
  %1988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1989 = load i32, ptr %1988, align 4, !tbaa !5
  %1990 = call ptr @s2n_strerror(i32 noundef %1989, ptr noundef nonnull @.str.4) #10
  %1991 = load i32, ptr %1988, align 4, !tbaa !5
  %1992 = call ptr @s2n_strerror_debug(i32 noundef %1991, ptr noundef nonnull @.str.4) #10
  %1993 = load i32, ptr %1974, align 4, !tbaa !5
  %1994 = call ptr @strerror(i32 noundef %1993) #10
  %1995 = load i32, ptr %1974, align 4, !tbaa !5
  %1996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1986, ptr noundef nonnull %.str.5.sink1263, i32 noundef %1987, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 159, ptr noundef %1990, ptr noundef %1992, ptr noundef %1994, i32 noundef %1995) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1997:                                             ; preds = %1968
  %1998 = add nsw i32 %1939, 3
  store i32 %1998, ptr @test_count, align 4, !tbaa !5
  %1999 = getelementptr inbounds i8, ptr %1651, i64 2208
  %2000 = load i16, ptr %1999, align 8, !tbaa !42
  %2001 = icmp eq i16 %2000, 2048
  br i1 %2001, label %2026, label %2002

2002:                                             ; preds = %1997
  %2003 = tail call ptr @__errno_location() #11
  %2004 = load i32, ptr %2003, align 4, !tbaa !5
  %2005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2006 = call i32 @s2n_print_stacktrace(ptr noundef %2005) #10
  %2007 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2008 = trunc nuw i8 %2007 to i1
  br i1 %2008, label %2009, label %2013

2009:                                             ; preds = %2002
  %2010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2011 = call i32 @fileno(ptr noundef %2010) #10
  %2012 = call i32 @isatty(i32 noundef %2011) #10
  %.not415 = icmp eq i32 %2012, 0
  br i1 %.not415, label %2013, label %2014

2013:                                             ; preds = %2009, %2002
  br label %2014

2014:                                             ; preds = %2009, %2013
  %.str.5.sink1274 = phi ptr [ @.str.5, %2013 ], [ @.str.2, %2009 ]
  store i32 %2004, ptr %2003, align 4, !tbaa !5
  %2015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2016 = load i32, ptr @test_count, align 4, !tbaa !5
  %2017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2018 = load i32, ptr %2017, align 4, !tbaa !5
  %2019 = call ptr @s2n_strerror(i32 noundef %2018, ptr noundef nonnull @.str.4) #10
  %2020 = load i32, ptr %2017, align 4, !tbaa !5
  %2021 = call ptr @s2n_strerror_debug(i32 noundef %2020, ptr noundef nonnull @.str.4) #10
  %2022 = load i32, ptr %2003, align 4, !tbaa !5
  %2023 = call ptr @strerror(i32 noundef %2022) #10
  %2024 = load i32, ptr %2003, align 4, !tbaa !5
  %2025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2015, ptr noundef nonnull %.str.5.sink1274, i32 noundef %2016, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 162, ptr noundef %2019, ptr noundef %2021, ptr noundef %2023, i32 noundef %2024) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2026:                                             ; preds = %1997
  %2027 = add nsw i32 %1939, 4
  store i32 %2027, ptr @test_count, align 4, !tbaa !5
  %2028 = getelementptr inbounds i8, ptr %1708, i64 2208
  %2029 = load i16, ptr %2028, align 8, !tbaa !42
  %2030 = icmp eq i16 %2029, 2048
  br i1 %2030, label %2055, label %2031

2031:                                             ; preds = %2026
  %2032 = tail call ptr @__errno_location() #11
  %2033 = load i32, ptr %2032, align 4, !tbaa !5
  %2034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2035 = call i32 @s2n_print_stacktrace(ptr noundef %2034) #10
  %2036 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2037 = trunc nuw i8 %2036 to i1
  br i1 %2037, label %2038, label %2042

2038:                                             ; preds = %2031
  %2039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2040 = call i32 @fileno(ptr noundef %2039) #10
  %2041 = call i32 @isatty(i32 noundef %2040) #10
  %.not416 = icmp eq i32 %2041, 0
  br i1 %.not416, label %2042, label %2043

2042:                                             ; preds = %2038, %2031
  br label %2043

2043:                                             ; preds = %2038, %2042
  %.str.5.sink1285 = phi ptr [ @.str.5, %2042 ], [ @.str.2, %2038 ]
  store i32 %2033, ptr %2032, align 4, !tbaa !5
  %2044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2045 = load i32, ptr @test_count, align 4, !tbaa !5
  %2046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2047 = load i32, ptr %2046, align 4, !tbaa !5
  %2048 = call ptr @s2n_strerror(i32 noundef %2047, ptr noundef nonnull @.str.4) #10
  %2049 = load i32, ptr %2046, align 4, !tbaa !5
  %2050 = call ptr @s2n_strerror_debug(i32 noundef %2049, ptr noundef nonnull @.str.4) #10
  %2051 = load i32, ptr %2032, align 4, !tbaa !5
  %2052 = call ptr @strerror(i32 noundef %2051) #10
  %2053 = load i32, ptr %2032, align 4, !tbaa !5
  %2054 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2044, ptr noundef nonnull %.str.5.sink1285, i32 noundef %2045, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 163, ptr noundef %2048, ptr noundef %2050, ptr noundef %2052, i32 noundef %2053) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2055:                                             ; preds = %2026
  %2056 = add nsw i32 %1939, 5
  store i32 %2056, ptr @test_count, align 4, !tbaa !5
  %2057 = getelementptr inbounds i8, ptr %1651, i64 1904
  %2058 = load i32, ptr %2057, align 8, !tbaa !43
  %2059 = icmp eq i32 %2058, 17413
  br i1 %2059, label %2084, label %2060

2060:                                             ; preds = %2055
  %2061 = tail call ptr @__errno_location() #11
  %2062 = load i32, ptr %2061, align 4, !tbaa !5
  %2063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2064 = call i32 @s2n_print_stacktrace(ptr noundef %2063) #10
  %2065 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2066 = trunc nuw i8 %2065 to i1
  br i1 %2066, label %2067, label %2071

2067:                                             ; preds = %2060
  %2068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2069 = call i32 @fileno(ptr noundef %2068) #10
  %2070 = call i32 @isatty(i32 noundef %2069) #10
  %.not417 = icmp eq i32 %2070, 0
  br i1 %.not417, label %2071, label %2072

2071:                                             ; preds = %2067, %2060
  br label %2072

2072:                                             ; preds = %2067, %2071
  %.str.5.sink1296 = phi ptr [ @.str.5, %2071 ], [ @.str.2, %2067 ]
  store i32 %2062, ptr %2061, align 4, !tbaa !5
  %2073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2074 = load i32, ptr @test_count, align 4, !tbaa !5
  %2075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2076 = load i32, ptr %2075, align 4, !tbaa !5
  %2077 = call ptr @s2n_strerror(i32 noundef %2076, ptr noundef nonnull @.str.4) #10
  %2078 = load i32, ptr %2075, align 4, !tbaa !5
  %2079 = call ptr @s2n_strerror_debug(i32 noundef %2078, ptr noundef nonnull @.str.4) #10
  %2080 = load i32, ptr %2061, align 4, !tbaa !5
  %2081 = call ptr @strerror(i32 noundef %2080) #10
  %2082 = load i32, ptr %2061, align 4, !tbaa !5
  %2083 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2073, ptr noundef nonnull %.str.5.sink1296, i32 noundef %2074, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 166, ptr noundef %2077, ptr noundef %2079, ptr noundef %2081, i32 noundef %2082) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2084:                                             ; preds = %2055
  %2085 = add nsw i32 %1939, 6
  store i32 %2085, ptr @test_count, align 4, !tbaa !5
  %2086 = getelementptr inbounds i8, ptr %1708, i64 1904
  %2087 = load i32, ptr %2086, align 8, !tbaa !43
  %2088 = icmp eq i32 %2087, 2309
  br i1 %2088, label %2113, label %2089

2089:                                             ; preds = %2084
  %2090 = tail call ptr @__errno_location() #11
  %2091 = load i32, ptr %2090, align 4, !tbaa !5
  %2092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2093 = call i32 @s2n_print_stacktrace(ptr noundef %2092) #10
  %2094 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2095 = trunc nuw i8 %2094 to i1
  br i1 %2095, label %2096, label %2100

2096:                                             ; preds = %2089
  %2097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2098 = call i32 @fileno(ptr noundef %2097) #10
  %2099 = call i32 @isatty(i32 noundef %2098) #10
  %.not418 = icmp eq i32 %2099, 0
  br i1 %.not418, label %2100, label %2101

2100:                                             ; preds = %2096, %2089
  br label %2101

2101:                                             ; preds = %2096, %2100
  %.str.5.sink1307 = phi ptr [ @.str.5, %2100 ], [ @.str.2, %2096 ]
  store i32 %2091, ptr %2090, align 4, !tbaa !5
  %2102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2103 = load i32, ptr @test_count, align 4, !tbaa !5
  %2104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2105 = load i32, ptr %2104, align 4, !tbaa !5
  %2106 = call ptr @s2n_strerror(i32 noundef %2105, ptr noundef nonnull @.str.4) #10
  %2107 = load i32, ptr %2104, align 4, !tbaa !5
  %2108 = call ptr @s2n_strerror_debug(i32 noundef %2107, ptr noundef nonnull @.str.4) #10
  %2109 = load i32, ptr %2090, align 4, !tbaa !5
  %2110 = call ptr @strerror(i32 noundef %2109) #10
  %2111 = load i32, ptr %2090, align 4, !tbaa !5
  %2112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2102, ptr noundef nonnull %.str.5.sink1307, i32 noundef %2103, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 169, ptr noundef %2106, ptr noundef %2108, ptr noundef %2110, i32 noundef %2111) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2113:                                             ; preds = %2084
  %2114 = add nsw i32 %1939, 7
  store i32 %2114, ptr @test_count, align 4, !tbaa !5
  %2115 = call i32 @s2n_connection_free(ptr noundef nonnull %1651) #10
  %2116 = icmp eq i32 %2115, -1
  br i1 %2116, label %2117, label %2141

2117:                                             ; preds = %2113
  %2118 = tail call ptr @__errno_location() #11
  %2119 = load i32, ptr %2118, align 4, !tbaa !5
  %2120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2121 = call i32 @s2n_print_stacktrace(ptr noundef %2120) #10
  %2122 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2123 = trunc nuw i8 %2122 to i1
  br i1 %2123, label %2124, label %2128

2124:                                             ; preds = %2117
  %2125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2126 = call i32 @fileno(ptr noundef %2125) #10
  %2127 = call i32 @isatty(i32 noundef %2126) #10
  %.not481 = icmp eq i32 %2127, 0
  br i1 %.not481, label %2128, label %2129

2128:                                             ; preds = %2124, %2117
  br label %2129

2129:                                             ; preds = %2124, %2128
  %.str.5.sink1318 = phi ptr [ @.str.5, %2128 ], [ @.str.2, %2124 ]
  store i32 %2119, ptr %2118, align 4, !tbaa !5
  %2130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2131 = load i32, ptr @test_count, align 4, !tbaa !5
  %2132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2133 = load i32, ptr %2132, align 4, !tbaa !5
  %2134 = call ptr @s2n_strerror(i32 noundef %2133, ptr noundef nonnull @.str.4) #10
  %2135 = load i32, ptr %2132, align 4, !tbaa !5
  %2136 = call ptr @s2n_strerror_debug(i32 noundef %2135, ptr noundef nonnull @.str.4) #10
  %2137 = load i32, ptr %2118, align 4, !tbaa !5
  %2138 = call ptr @strerror(i32 noundef %2137) #10
  %2139 = load i32, ptr %2118, align 4, !tbaa !5
  %2140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2130, ptr noundef nonnull %.str.5.sink1318, i32 noundef %2131, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 171, ptr noundef %2134, ptr noundef %2136, ptr noundef %2138, i32 noundef %2139) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2141:                                             ; preds = %2113
  %2142 = load i32, ptr @test_count, align 4, !tbaa !5
  %2143 = add nsw i32 %2142, 1
  store i32 %2143, ptr @test_count, align 4, !tbaa !5
  %2144 = call i32 @s2n_connection_free(ptr noundef nonnull %1708) #10
  %2145 = icmp eq i32 %2144, -1
  br i1 %2145, label %2146, label %2170

2146:                                             ; preds = %2141
  %2147 = tail call ptr @__errno_location() #11
  %2148 = load i32, ptr %2147, align 4, !tbaa !5
  %2149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2150 = call i32 @s2n_print_stacktrace(ptr noundef %2149) #10
  %2151 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2152 = trunc nuw i8 %2151 to i1
  br i1 %2152, label %2153, label %2157

2153:                                             ; preds = %2146
  %2154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2155 = call i32 @fileno(ptr noundef %2154) #10
  %2156 = call i32 @isatty(i32 noundef %2155) #10
  %.not480 = icmp eq i32 %2156, 0
  br i1 %.not480, label %2157, label %2158

2157:                                             ; preds = %2153, %2146
  br label %2158

2158:                                             ; preds = %2153, %2157
  %.str.5.sink1329 = phi ptr [ @.str.5, %2157 ], [ @.str.2, %2153 ]
  store i32 %2148, ptr %2147, align 4, !tbaa !5
  %2159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2160 = load i32, ptr @test_count, align 4, !tbaa !5
  %2161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2162 = load i32, ptr %2161, align 4, !tbaa !5
  %2163 = call ptr @s2n_strerror(i32 noundef %2162, ptr noundef nonnull @.str.4) #10
  %2164 = load i32, ptr %2161, align 4, !tbaa !5
  %2165 = call ptr @s2n_strerror_debug(i32 noundef %2164, ptr noundef nonnull @.str.4) #10
  %2166 = load i32, ptr %2147, align 4, !tbaa !5
  %2167 = call ptr @strerror(i32 noundef %2166) #10
  %2168 = load i32, ptr %2147, align 4, !tbaa !5
  %2169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2159, ptr noundef nonnull %.str.5.sink1329, i32 noundef %2160, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 172, ptr noundef %2163, ptr noundef %2165, ptr noundef %2167, i32 noundef %2168) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2170:                                             ; preds = %2141
  %2171 = load i32, ptr @test_count, align 4, !tbaa !5
  %2172 = add nsw i32 %2171, 1
  store i32 %2172, ptr @test_count, align 4, !tbaa !5
  %2173 = call i32 @s2n_config_free(ptr noundef nonnull %1477) #10
  %2174 = icmp eq i32 %2173, -1
  br i1 %2174, label %2175, label %2199

2175:                                             ; preds = %2170
  %2176 = tail call ptr @__errno_location() #11
  %2177 = load i32, ptr %2176, align 4, !tbaa !5
  %2178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2179 = call i32 @s2n_print_stacktrace(ptr noundef %2178) #10
  %2180 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2181 = trunc nuw i8 %2180 to i1
  br i1 %2181, label %2182, label %2186

2182:                                             ; preds = %2175
  %2183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2184 = call i32 @fileno(ptr noundef %2183) #10
  %2185 = call i32 @isatty(i32 noundef %2184) #10
  %.not479 = icmp eq i32 %2185, 0
  br i1 %.not479, label %2186, label %2187

2186:                                             ; preds = %2182, %2175
  br label %2187

2187:                                             ; preds = %2182, %2186
  %.str.5.sink1340 = phi ptr [ @.str.5, %2186 ], [ @.str.2, %2182 ]
  store i32 %2177, ptr %2176, align 4, !tbaa !5
  %2188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2189 = load i32, ptr @test_count, align 4, !tbaa !5
  %2190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2191 = load i32, ptr %2190, align 4, !tbaa !5
  %2192 = call ptr @s2n_strerror(i32 noundef %2191, ptr noundef nonnull @.str.4) #10
  %2193 = load i32, ptr %2190, align 4, !tbaa !5
  %2194 = call ptr @s2n_strerror_debug(i32 noundef %2193, ptr noundef nonnull @.str.4) #10
  %2195 = load i32, ptr %2176, align 4, !tbaa !5
  %2196 = call ptr @strerror(i32 noundef %2195) #10
  %2197 = load i32, ptr %2176, align 4, !tbaa !5
  %2198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2188, ptr noundef nonnull %.str.5.sink1340, i32 noundef %2189, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 173, ptr noundef %2192, ptr noundef %2194, ptr noundef %2196, i32 noundef %2197) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2199:                                             ; preds = %2170
  %2200 = call i32 @s2n_io_pair_close(ptr noundef nonnull %6) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #10
  %2201 = call ptr @s2n_connection_new(i32 noundef 1) #10
  %2202 = load i32, ptr @test_count, align 4, !tbaa !5
  %2203 = add nsw i32 %2202, 1
  store i32 %2203, ptr @test_count, align 4, !tbaa !5
  %2204 = icmp eq ptr %2201, null
  br i1 %2204, label %2205, label %2229

2205:                                             ; preds = %2199
  %2206 = tail call ptr @__errno_location() #11
  %2207 = load i32, ptr %2206, align 4, !tbaa !5
  %2208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2209 = call i32 @s2n_print_stacktrace(ptr noundef %2208) #10
  %2210 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2211 = trunc nuw i8 %2210 to i1
  br i1 %2211, label %2212, label %2216

2212:                                             ; preds = %2205
  %2213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2214 = call i32 @fileno(ptr noundef %2213) #10
  %2215 = call i32 @isatty(i32 noundef %2214) #10
  %.not478 = icmp eq i32 %2215, 0
  br i1 %.not478, label %2216, label %2217

2216:                                             ; preds = %2212, %2205
  br label %2217

2217:                                             ; preds = %2212, %2216
  %.str.5.sink1351 = phi ptr [ @.str.5, %2216 ], [ @.str.2, %2212 ]
  store i32 %2207, ptr %2206, align 4, !tbaa !5
  %2218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2219 = load i32, ptr @test_count, align 4, !tbaa !5
  %2220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2221 = load i32, ptr %2220, align 4, !tbaa !5
  %2222 = call ptr @s2n_strerror(i32 noundef %2221, ptr noundef nonnull @.str.4) #10
  %2223 = load i32, ptr %2220, align 4, !tbaa !5
  %2224 = call ptr @s2n_strerror_debug(i32 noundef %2223, ptr noundef nonnull @.str.4) #10
  %2225 = load i32, ptr %2206, align 4, !tbaa !5
  %2226 = call ptr @strerror(i32 noundef %2225) #10
  %2227 = load i32, ptr %2206, align 4, !tbaa !5
  %2228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2218, ptr noundef nonnull %.str.5.sink1351, i32 noundef %2219, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 179, ptr noundef %2222, ptr noundef %2224, ptr noundef %2226, i32 noundef %2227) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2229:                                             ; preds = %2199
  %2230 = add nsw i32 %2202, 2
  store i32 %2230, ptr @test_count, align 4, !tbaa !5
  %2231 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2201, ptr noundef nonnull %207) #10
  %2232 = icmp eq i32 %2231, -1
  br i1 %2232, label %2233, label %2257

2233:                                             ; preds = %2229
  %2234 = tail call ptr @__errno_location() #11
  %2235 = load i32, ptr %2234, align 4, !tbaa !5
  %2236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2237 = call i32 @s2n_print_stacktrace(ptr noundef %2236) #10
  %2238 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2239 = trunc nuw i8 %2238 to i1
  br i1 %2239, label %2240, label %2244

2240:                                             ; preds = %2233
  %2241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2242 = call i32 @fileno(ptr noundef %2241) #10
  %2243 = call i32 @isatty(i32 noundef %2242) #10
  %.not477 = icmp eq i32 %2243, 0
  br i1 %.not477, label %2244, label %2245

2244:                                             ; preds = %2240, %2233
  br label %2245

2245:                                             ; preds = %2240, %2244
  %.str.5.sink1362 = phi ptr [ @.str.5, %2244 ], [ @.str.2, %2240 ]
  store i32 %2235, ptr %2234, align 4, !tbaa !5
  %2246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2247 = load i32, ptr @test_count, align 4, !tbaa !5
  %2248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2249 = load i32, ptr %2248, align 4, !tbaa !5
  %2250 = call ptr @s2n_strerror(i32 noundef %2249, ptr noundef nonnull @.str.4) #10
  %2251 = load i32, ptr %2248, align 4, !tbaa !5
  %2252 = call ptr @s2n_strerror_debug(i32 noundef %2251, ptr noundef nonnull @.str.4) #10
  %2253 = load i32, ptr %2234, align 4, !tbaa !5
  %2254 = call ptr @strerror(i32 noundef %2253) #10
  %2255 = load i32, ptr %2234, align 4, !tbaa !5
  %2256 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2246, ptr noundef nonnull %.str.5.sink1362, i32 noundef %2247, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 180, ptr noundef %2250, ptr noundef %2252, ptr noundef %2254, i32 noundef %2255) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2257:                                             ; preds = %2229
  %2258 = call ptr @s2n_connection_new(i32 noundef 0) #10
  %2259 = load i32, ptr @test_count, align 4, !tbaa !5
  %2260 = add nsw i32 %2259, 1
  store i32 %2260, ptr @test_count, align 4, !tbaa !5
  %2261 = icmp eq ptr %2258, null
  br i1 %2261, label %2262, label %2286

2262:                                             ; preds = %2257
  %2263 = tail call ptr @__errno_location() #11
  %2264 = load i32, ptr %2263, align 4, !tbaa !5
  %2265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2266 = call i32 @s2n_print_stacktrace(ptr noundef %2265) #10
  %2267 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2268 = trunc nuw i8 %2267 to i1
  br i1 %2268, label %2269, label %2273

2269:                                             ; preds = %2262
  %2270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2271 = call i32 @fileno(ptr noundef %2270) #10
  %2272 = call i32 @isatty(i32 noundef %2271) #10
  %.not476 = icmp eq i32 %2272, 0
  br i1 %.not476, label %2273, label %2274

2273:                                             ; preds = %2269, %2262
  br label %2274

2274:                                             ; preds = %2269, %2273
  %.str.5.sink1373 = phi ptr [ @.str.5, %2273 ], [ @.str.2, %2269 ]
  store i32 %2264, ptr %2263, align 4, !tbaa !5
  %2275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2276 = load i32, ptr @test_count, align 4, !tbaa !5
  %2277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2278 = load i32, ptr %2277, align 4, !tbaa !5
  %2279 = call ptr @s2n_strerror(i32 noundef %2278, ptr noundef nonnull @.str.4) #10
  %2280 = load i32, ptr %2277, align 4, !tbaa !5
  %2281 = call ptr @s2n_strerror_debug(i32 noundef %2280, ptr noundef nonnull @.str.4) #10
  %2282 = load i32, ptr %2263, align 4, !tbaa !5
  %2283 = call ptr @strerror(i32 noundef %2282) #10
  %2284 = load i32, ptr %2263, align 4, !tbaa !5
  %2285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2275, ptr noundef nonnull %.str.5.sink1373, i32 noundef %2276, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 183, ptr noundef %2279, ptr noundef %2281, ptr noundef %2283, i32 noundef %2284) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2286:                                             ; preds = %2257
  %2287 = add nsw i32 %2259, 2
  store i32 %2287, ptr @test_count, align 4, !tbaa !5
  %2288 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2258, ptr noundef nonnull %207) #10
  %2289 = icmp eq i32 %2288, -1
  br i1 %2289, label %2290, label %2314

2290:                                             ; preds = %2286
  %2291 = tail call ptr @__errno_location() #11
  %2292 = load i32, ptr %2291, align 4, !tbaa !5
  %2293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2294 = call i32 @s2n_print_stacktrace(ptr noundef %2293) #10
  %2295 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2296 = trunc nuw i8 %2295 to i1
  br i1 %2296, label %2297, label %2301

2297:                                             ; preds = %2290
  %2298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2299 = call i32 @fileno(ptr noundef %2298) #10
  %2300 = call i32 @isatty(i32 noundef %2299) #10
  %.not475 = icmp eq i32 %2300, 0
  br i1 %.not475, label %2301, label %2302

2301:                                             ; preds = %2297, %2290
  br label %2302

2302:                                             ; preds = %2297, %2301
  %.str.5.sink1384 = phi ptr [ @.str.5, %2301 ], [ @.str.2, %2297 ]
  store i32 %2292, ptr %2291, align 4, !tbaa !5
  %2303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2304 = load i32, ptr @test_count, align 4, !tbaa !5
  %2305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2306 = load i32, ptr %2305, align 4, !tbaa !5
  %2307 = call ptr @s2n_strerror(i32 noundef %2306, ptr noundef nonnull @.str.4) #10
  %2308 = load i32, ptr %2305, align 4, !tbaa !5
  %2309 = call ptr @s2n_strerror_debug(i32 noundef %2308, ptr noundef nonnull @.str.4) #10
  %2310 = load i32, ptr %2291, align 4, !tbaa !5
  %2311 = call ptr @strerror(i32 noundef %2310) #10
  %2312 = load i32, ptr %2291, align 4, !tbaa !5
  %2313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2303, ptr noundef nonnull %.str.5.sink1384, i32 noundef %2304, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 184, ptr noundef %2307, ptr noundef %2309, ptr noundef %2311, i32 noundef %2312) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2314:                                             ; preds = %2286
  %2315 = load i32, ptr @test_count, align 4, !tbaa !5
  %2316 = add nsw i32 %2315, 1
  store i32 %2316, ptr @test_count, align 4, !tbaa !5
  %2317 = getelementptr inbounds i8, ptr %2201, i64 1824
  %2318 = load i32, ptr %2317, align 8, !tbaa !44
  %2319 = icmp eq i32 %2318, 0
  br i1 %2319, label %2344, label %2320

2320:                                             ; preds = %2314
  %2321 = tail call ptr @__errno_location() #11
  %2322 = load i32, ptr %2321, align 4, !tbaa !5
  %2323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2324 = call i32 @s2n_print_stacktrace(ptr noundef %2323) #10
  %2325 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2326 = trunc nuw i8 %2325 to i1
  br i1 %2326, label %2327, label %2331

2327:                                             ; preds = %2320
  %2328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2329 = call i32 @fileno(ptr noundef %2328) #10
  %2330 = call i32 @isatty(i32 noundef %2329) #10
  %.not419 = icmp eq i32 %2330, 0
  br i1 %.not419, label %2331, label %2332

2331:                                             ; preds = %2327, %2320
  br label %2332

2332:                                             ; preds = %2327, %2331
  %.str.5.sink1395 = phi ptr [ @.str.5, %2331 ], [ @.str.2, %2327 ]
  store i32 %2322, ptr %2321, align 4, !tbaa !5
  %2333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2334 = load i32, ptr @test_count, align 4, !tbaa !5
  %2335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2336 = load i32, ptr %2335, align 4, !tbaa !5
  %2337 = call ptr @s2n_strerror(i32 noundef %2336, ptr noundef nonnull @.str.4) #10
  %2338 = load i32, ptr %2335, align 4, !tbaa !5
  %2339 = call ptr @s2n_strerror_debug(i32 noundef %2338, ptr noundef nonnull @.str.4) #10
  %2340 = load i32, ptr %2321, align 4, !tbaa !5
  %2341 = call ptr @strerror(i32 noundef %2340) #10
  %2342 = load i32, ptr %2321, align 4, !tbaa !5
  %2343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2333, ptr noundef nonnull %.str.5.sink1395, i32 noundef %2334, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 187, ptr noundef %2337, ptr noundef %2339, ptr noundef %2341, i32 noundef %2342) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2344:                                             ; preds = %2314
  %2345 = add nsw i32 %2315, 2
  store i32 %2345, ptr @test_count, align 4, !tbaa !5
  %2346 = getelementptr inbounds i8, ptr %2258, i64 1824
  %2347 = load i32, ptr %2346, align 8, !tbaa !44
  %2348 = icmp eq i32 %2347, 0
  br i1 %2348, label %2373, label %2349

2349:                                             ; preds = %2344
  %2350 = tail call ptr @__errno_location() #11
  %2351 = load i32, ptr %2350, align 4, !tbaa !5
  %2352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2353 = call i32 @s2n_print_stacktrace(ptr noundef %2352) #10
  %2354 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2355 = trunc nuw i8 %2354 to i1
  br i1 %2355, label %2356, label %2360

2356:                                             ; preds = %2349
  %2357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2358 = call i32 @fileno(ptr noundef %2357) #10
  %2359 = call i32 @isatty(i32 noundef %2358) #10
  %.not420 = icmp eq i32 %2359, 0
  br i1 %.not420, label %2360, label %2361

2360:                                             ; preds = %2356, %2349
  br label %2361

2361:                                             ; preds = %2356, %2360
  %.str.5.sink1406 = phi ptr [ @.str.5, %2360 ], [ @.str.2, %2356 ]
  store i32 %2351, ptr %2350, align 4, !tbaa !5
  %2362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2363 = load i32, ptr @test_count, align 4, !tbaa !5
  %2364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2365 = load i32, ptr %2364, align 4, !tbaa !5
  %2366 = call ptr @s2n_strerror(i32 noundef %2365, ptr noundef nonnull @.str.4) #10
  %2367 = load i32, ptr %2364, align 4, !tbaa !5
  %2368 = call ptr @s2n_strerror_debug(i32 noundef %2367, ptr noundef nonnull @.str.4) #10
  %2369 = load i32, ptr %2350, align 4, !tbaa !5
  %2370 = call ptr @strerror(i32 noundef %2369) #10
  %2371 = load i32, ptr %2350, align 4, !tbaa !5
  %2372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2362, ptr noundef nonnull %.str.5.sink1406, i32 noundef %2363, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 188, ptr noundef %2366, ptr noundef %2368, ptr noundef %2370, i32 noundef %2371) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2373:                                             ; preds = %2344
  %2374 = add nsw i32 %2315, 3
  store i32 %2374, ptr @test_count, align 4, !tbaa !5
  %2375 = getelementptr inbounds i8, ptr %2201, i64 1904
  %2376 = load i32, ptr %2375, align 8, !tbaa !43
  %2377 = icmp eq i32 %2376, 0
  br i1 %2377, label %2402, label %2378

2378:                                             ; preds = %2373
  %2379 = tail call ptr @__errno_location() #11
  %2380 = load i32, ptr %2379, align 4, !tbaa !5
  %2381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2382 = call i32 @s2n_print_stacktrace(ptr noundef %2381) #10
  %2383 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2384 = trunc nuw i8 %2383 to i1
  br i1 %2384, label %2385, label %2389

2385:                                             ; preds = %2378
  %2386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2387 = call i32 @fileno(ptr noundef %2386) #10
  %2388 = call i32 @isatty(i32 noundef %2387) #10
  %.not421 = icmp eq i32 %2388, 0
  br i1 %.not421, label %2389, label %2390

2389:                                             ; preds = %2385, %2378
  br label %2390

2390:                                             ; preds = %2385, %2389
  %.str.5.sink1417 = phi ptr [ @.str.5, %2389 ], [ @.str.2, %2385 ]
  store i32 %2380, ptr %2379, align 4, !tbaa !5
  %2391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2392 = load i32, ptr @test_count, align 4, !tbaa !5
  %2393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2394 = load i32, ptr %2393, align 4, !tbaa !5
  %2395 = call ptr @s2n_strerror(i32 noundef %2394, ptr noundef nonnull @.str.4) #10
  %2396 = load i32, ptr %2393, align 4, !tbaa !5
  %2397 = call ptr @s2n_strerror_debug(i32 noundef %2396, ptr noundef nonnull @.str.4) #10
  %2398 = load i32, ptr %2379, align 4, !tbaa !5
  %2399 = call ptr @strerror(i32 noundef %2398) #10
  %2400 = load i32, ptr %2379, align 4, !tbaa !5
  %2401 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2391, ptr noundef nonnull %.str.5.sink1417, i32 noundef %2392, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 189, ptr noundef %2395, ptr noundef %2397, ptr noundef %2399, i32 noundef %2400) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2402:                                             ; preds = %2373
  %2403 = add nsw i32 %2315, 4
  store i32 %2403, ptr @test_count, align 4, !tbaa !5
  %2404 = getelementptr inbounds i8, ptr %2258, i64 1904
  %2405 = load i32, ptr %2404, align 8, !tbaa !43
  %2406 = icmp eq i32 %2405, 0
  br i1 %2406, label %2431, label %2407

2407:                                             ; preds = %2402
  %2408 = tail call ptr @__errno_location() #11
  %2409 = load i32, ptr %2408, align 4, !tbaa !5
  %2410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2411 = call i32 @s2n_print_stacktrace(ptr noundef %2410) #10
  %2412 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2413 = trunc nuw i8 %2412 to i1
  br i1 %2413, label %2414, label %2418

2414:                                             ; preds = %2407
  %2415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2416 = call i32 @fileno(ptr noundef %2415) #10
  %2417 = call i32 @isatty(i32 noundef %2416) #10
  %.not422 = icmp eq i32 %2417, 0
  br i1 %.not422, label %2418, label %2419

2418:                                             ; preds = %2414, %2407
  br label %2419

2419:                                             ; preds = %2414, %2418
  %.str.5.sink1428 = phi ptr [ @.str.5, %2418 ], [ @.str.2, %2414 ]
  store i32 %2409, ptr %2408, align 4, !tbaa !5
  %2420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2421 = load i32, ptr @test_count, align 4, !tbaa !5
  %2422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2423 = load i32, ptr %2422, align 4, !tbaa !5
  %2424 = call ptr @s2n_strerror(i32 noundef %2423, ptr noundef nonnull @.str.4) #10
  %2425 = load i32, ptr %2422, align 4, !tbaa !5
  %2426 = call ptr @s2n_strerror_debug(i32 noundef %2425, ptr noundef nonnull @.str.4) #10
  %2427 = load i32, ptr %2408, align 4, !tbaa !5
  %2428 = call ptr @strerror(i32 noundef %2427) #10
  %2429 = load i32, ptr %2408, align 4, !tbaa !5
  %2430 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2420, ptr noundef nonnull %.str.5.sink1428, i32 noundef %2421, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 190, ptr noundef %2424, ptr noundef %2426, ptr noundef %2428, i32 noundef %2429) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2431:                                             ; preds = %2402
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #10
  store i64 0, ptr %7, align 8
  %2432 = add nsw i32 %2315, 5
  store i32 %2432, ptr @test_count, align 4, !tbaa !5
  %2433 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %7) #10
  %2434 = icmp eq i32 %2433, -1
  br i1 %2434, label %2435, label %2459

2435:                                             ; preds = %2431
  %2436 = tail call ptr @__errno_location() #11
  %2437 = load i32, ptr %2436, align 4, !tbaa !5
  %2438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2439 = call i32 @s2n_print_stacktrace(ptr noundef %2438) #10
  %2440 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2441 = trunc nuw i8 %2440 to i1
  br i1 %2441, label %2442, label %2446

2442:                                             ; preds = %2435
  %2443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2444 = call i32 @fileno(ptr noundef %2443) #10
  %2445 = call i32 @isatty(i32 noundef %2444) #10
  %.not474 = icmp eq i32 %2445, 0
  br i1 %.not474, label %2446, label %2447

2446:                                             ; preds = %2442, %2435
  br label %2447

2447:                                             ; preds = %2442, %2446
  %.str.5.sink1439 = phi ptr [ @.str.5, %2446 ], [ @.str.2, %2442 ]
  store i32 %2437, ptr %2436, align 4, !tbaa !5
  %2448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2449 = load i32, ptr @test_count, align 4, !tbaa !5
  %2450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2451 = load i32, ptr %2450, align 4, !tbaa !5
  %2452 = call ptr @s2n_strerror(i32 noundef %2451, ptr noundef nonnull @.str.4) #10
  %2453 = load i32, ptr %2450, align 4, !tbaa !5
  %2454 = call ptr @s2n_strerror_debug(i32 noundef %2453, ptr noundef nonnull @.str.4) #10
  %2455 = load i32, ptr %2436, align 4, !tbaa !5
  %2456 = call ptr @strerror(i32 noundef %2455) #10
  %2457 = load i32, ptr %2436, align 4, !tbaa !5
  %2458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2448, ptr noundef nonnull %.str.5.sink1439, i32 noundef %2449, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 194, ptr noundef %2452, ptr noundef %2454, ptr noundef %2456, i32 noundef %2457) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2459:                                             ; preds = %2431
  %2460 = load i32, ptr @test_count, align 4, !tbaa !5
  %2461 = add nsw i32 %2460, 1
  store i32 %2461, ptr @test_count, align 4, !tbaa !5
  %2462 = call i32 @s2n_connection_set_io_pair(ptr noundef nonnull %2201, ptr noundef nonnull %7) #10
  %2463 = icmp eq i32 %2462, -1
  br i1 %2463, label %2464, label %2488

2464:                                             ; preds = %2459
  %2465 = tail call ptr @__errno_location() #11
  %2466 = load i32, ptr %2465, align 4, !tbaa !5
  %2467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2468 = call i32 @s2n_print_stacktrace(ptr noundef %2467) #10
  %2469 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2470 = trunc nuw i8 %2469 to i1
  br i1 %2470, label %2471, label %2475

2471:                                             ; preds = %2464
  %2472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2473 = call i32 @fileno(ptr noundef %2472) #10
  %2474 = call i32 @isatty(i32 noundef %2473) #10
  %.not473 = icmp eq i32 %2474, 0
  br i1 %.not473, label %2475, label %2476

2475:                                             ; preds = %2471, %2464
  br label %2476

2476:                                             ; preds = %2471, %2475
  %.str.5.sink1450 = phi ptr [ @.str.5, %2475 ], [ @.str.2, %2471 ]
  store i32 %2466, ptr %2465, align 4, !tbaa !5
  %2477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2478 = load i32, ptr @test_count, align 4, !tbaa !5
  %2479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2480 = load i32, ptr %2479, align 4, !tbaa !5
  %2481 = call ptr @s2n_strerror(i32 noundef %2480, ptr noundef nonnull @.str.4) #10
  %2482 = load i32, ptr %2479, align 4, !tbaa !5
  %2483 = call ptr @s2n_strerror_debug(i32 noundef %2482, ptr noundef nonnull @.str.4) #10
  %2484 = load i32, ptr %2465, align 4, !tbaa !5
  %2485 = call ptr @strerror(i32 noundef %2484) #10
  %2486 = load i32, ptr %2465, align 4, !tbaa !5
  %2487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2477, ptr noundef nonnull %.str.5.sink1450, i32 noundef %2478, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 195, ptr noundef %2481, ptr noundef %2483, ptr noundef %2485, i32 noundef %2486) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2488:                                             ; preds = %2459
  %2489 = load i32, ptr @test_count, align 4, !tbaa !5
  %2490 = add nsw i32 %2489, 1
  store i32 %2490, ptr @test_count, align 4, !tbaa !5
  %2491 = call i32 @s2n_connection_set_io_pair(ptr noundef nonnull %2258, ptr noundef nonnull %7) #10
  %2492 = icmp eq i32 %2491, -1
  br i1 %2492, label %2493, label %2517

2493:                                             ; preds = %2488
  %2494 = tail call ptr @__errno_location() #11
  %2495 = load i32, ptr %2494, align 4, !tbaa !5
  %2496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2497 = call i32 @s2n_print_stacktrace(ptr noundef %2496) #10
  %2498 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2499 = trunc nuw i8 %2498 to i1
  br i1 %2499, label %2500, label %2504

2500:                                             ; preds = %2493
  %2501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2502 = call i32 @fileno(ptr noundef %2501) #10
  %2503 = call i32 @isatty(i32 noundef %2502) #10
  %.not472 = icmp eq i32 %2503, 0
  br i1 %.not472, label %2504, label %2505

2504:                                             ; preds = %2500, %2493
  br label %2505

2505:                                             ; preds = %2500, %2504
  %.str.5.sink1461 = phi ptr [ @.str.5, %2504 ], [ @.str.2, %2500 ]
  store i32 %2495, ptr %2494, align 4, !tbaa !5
  %2506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2507 = load i32, ptr @test_count, align 4, !tbaa !5
  %2508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2509 = load i32, ptr %2508, align 4, !tbaa !5
  %2510 = call ptr @s2n_strerror(i32 noundef %2509, ptr noundef nonnull @.str.4) #10
  %2511 = load i32, ptr %2508, align 4, !tbaa !5
  %2512 = call ptr @s2n_strerror_debug(i32 noundef %2511, ptr noundef nonnull @.str.4) #10
  %2513 = load i32, ptr %2494, align 4, !tbaa !5
  %2514 = call ptr @strerror(i32 noundef %2513) #10
  %2515 = load i32, ptr %2494, align 4, !tbaa !5
  %2516 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2506, ptr noundef nonnull %.str.5.sink1461, i32 noundef %2507, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 196, ptr noundef %2510, ptr noundef %2512, ptr noundef %2514, i32 noundef %2515) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2517:                                             ; preds = %2488
  %2518 = load i32, ptr @test_count, align 4, !tbaa !5
  %2519 = add nsw i32 %2518, 1
  store i32 %2519, ptr @test_count, align 4, !tbaa !5
  %2520 = call i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef nonnull %2258, ptr noundef nonnull %2201, i32 noundef 2) #10
  %2521 = call zeroext i1 @s2n_result_is_ok(i32 %2520)
  br i1 %2521, label %2546, label %2522

2522:                                             ; preds = %2517
  %2523 = tail call ptr @__errno_location() #11
  %2524 = load i32, ptr %2523, align 4, !tbaa !5
  %2525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2526 = call i32 @s2n_print_stacktrace(ptr noundef %2525) #10
  %2527 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2528 = trunc nuw i8 %2527 to i1
  br i1 %2528, label %2529, label %2533

2529:                                             ; preds = %2522
  %2530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2531 = call i32 @fileno(ptr noundef %2530) #10
  %2532 = call i32 @isatty(i32 noundef %2531) #10
  %.not423 = icmp eq i32 %2532, 0
  br i1 %.not423, label %2533, label %2534

2533:                                             ; preds = %2529, %2522
  br label %2534

2534:                                             ; preds = %2529, %2533
  %.str.5.sink1472 = phi ptr [ @.str.5, %2533 ], [ @.str.2, %2529 ]
  store i32 %2524, ptr %2523, 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 nonnull @.str.4) #10
  %2540 = load i32, ptr %2537, align 4, !tbaa !5
  %2541 = call ptr @s2n_strerror_debug(i32 noundef %2540, ptr noundef nonnull @.str.4) #10
  %2542 = load i32, ptr %2523, align 4, !tbaa !5
  %2543 = call ptr @strerror(i32 noundef %2542) #10
  %2544 = load i32, ptr %2523, align 4, !tbaa !5
  %2545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2535, ptr noundef nonnull %.str.5.sink1472, i32 noundef %2536, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 199, ptr noundef %2539, ptr noundef %2541, ptr noundef %2543, i32 noundef %2544) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2546:                                             ; preds = %2517
  %2547 = load i32, ptr @test_count, align 4, !tbaa !5
  %2548 = add nsw i32 %2547, 1
  store i32 %2548, ptr @test_count, align 4, !tbaa !5
  %2549 = load i32, ptr %2317, align 8, !tbaa !44
  %2550 = icmp eq i32 %2549, 0
  br i1 %2550, label %2551, label %2575

2551:                                             ; preds = %2546
  %2552 = tail call ptr @__errno_location() #11
  %2553 = load i32, ptr %2552, align 4, !tbaa !5
  %2554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2555 = call i32 @s2n_print_stacktrace(ptr noundef %2554) #10
  %2556 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2557 = trunc nuw i8 %2556 to i1
  br i1 %2557, label %2558, label %2562

2558:                                             ; preds = %2551
  %2559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2560 = call i32 @fileno(ptr noundef %2559) #10
  %2561 = call i32 @isatty(i32 noundef %2560) #10
  %.not471 = icmp eq i32 %2561, 0
  br i1 %.not471, label %2562, label %2563

2562:                                             ; preds = %2558, %2551
  br label %2563

2563:                                             ; preds = %2558, %2562
  %.str.5.sink1483 = phi ptr [ @.str.5, %2562 ], [ @.str.2, %2558 ]
  store i32 %2553, ptr %2552, align 4, !tbaa !5
  %2564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2565 = load i32, ptr @test_count, align 4, !tbaa !5
  %2566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2567 = load i32, ptr %2566, align 4, !tbaa !5
  %2568 = call ptr @s2n_strerror(i32 noundef %2567, ptr noundef nonnull @.str.4) #10
  %2569 = load i32, ptr %2566, align 4, !tbaa !5
  %2570 = call ptr @s2n_strerror_debug(i32 noundef %2569, ptr noundef nonnull @.str.4) #10
  %2571 = load i32, ptr %2552, align 4, !tbaa !5
  %2572 = call ptr @strerror(i32 noundef %2571) #10
  %2573 = load i32, ptr %2552, align 4, !tbaa !5
  %2574 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2564, ptr noundef nonnull %.str.5.sink1483, i32 noundef %2565, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 202, ptr noundef %2568, ptr noundef %2570, ptr noundef %2572, i32 noundef %2573) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2575:                                             ; preds = %2546
  %2576 = add nsw i32 %2547, 2
  store i32 %2576, ptr @test_count, align 4, !tbaa !5
  %2577 = load i32, ptr %2346, align 8, !tbaa !44
  %2578 = icmp eq i32 %2577, 0
  br i1 %2578, label %2579, label %2603

2579:                                             ; preds = %2575
  %2580 = tail call ptr @__errno_location() #11
  %2581 = load i32, ptr %2580, align 4, !tbaa !5
  %2582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2583 = call i32 @s2n_print_stacktrace(ptr noundef %2582) #10
  %2584 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2585 = trunc nuw i8 %2584 to i1
  br i1 %2585, label %2586, label %2590

2586:                                             ; preds = %2579
  %2587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2588 = call i32 @fileno(ptr noundef %2587) #10
  %2589 = call i32 @isatty(i32 noundef %2588) #10
  %.not470 = icmp eq i32 %2589, 0
  br i1 %.not470, label %2590, label %2591

2590:                                             ; preds = %2586, %2579
  br label %2591

2591:                                             ; preds = %2586, %2590
  %.str.5.sink1494 = phi ptr [ @.str.5, %2590 ], [ @.str.2, %2586 ]
  store i32 %2581, ptr %2580, align 4, !tbaa !5
  %2592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2593 = load i32, ptr @test_count, align 4, !tbaa !5
  %2594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2595 = load i32, ptr %2594, align 4, !tbaa !5
  %2596 = call ptr @s2n_strerror(i32 noundef %2595, ptr noundef nonnull @.str.4) #10
  %2597 = load i32, ptr %2594, align 4, !tbaa !5
  %2598 = call ptr @s2n_strerror_debug(i32 noundef %2597, ptr noundef nonnull @.str.4) #10
  %2599 = load i32, ptr %2580, align 4, !tbaa !5
  %2600 = call ptr @strerror(i32 noundef %2599) #10
  %2601 = load i32, ptr %2580, align 4, !tbaa !5
  %2602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2592, ptr noundef nonnull %.str.5.sink1494, i32 noundef %2593, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 203, ptr noundef %2596, ptr noundef %2598, ptr noundef %2600, i32 noundef %2601) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2603:                                             ; preds = %2575
  %2604 = add nsw i32 %2547, 3
  store i32 %2604, ptr @test_count, align 4, !tbaa !5
  %2605 = load i32, ptr %2375, align 8, !tbaa !43
  %2606 = icmp eq i32 %2605, 0
  br i1 %2606, label %2607, label %2631

2607:                                             ; preds = %2603
  %2608 = tail call ptr @__errno_location() #11
  %2609 = load i32, ptr %2608, align 4, !tbaa !5
  %2610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2611 = call i32 @s2n_print_stacktrace(ptr noundef %2610) #10
  %2612 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2613 = trunc nuw i8 %2612 to i1
  br i1 %2613, label %2614, label %2618

2614:                                             ; preds = %2607
  %2615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2616 = call i32 @fileno(ptr noundef %2615) #10
  %2617 = call i32 @isatty(i32 noundef %2616) #10
  %.not469 = icmp eq i32 %2617, 0
  br i1 %.not469, label %2618, label %2619

2618:                                             ; preds = %2614, %2607
  br label %2619

2619:                                             ; preds = %2614, %2618
  %.str.5.sink1505 = phi ptr [ @.str.5, %2618 ], [ @.str.2, %2614 ]
  store i32 %2609, ptr %2608, align 4, !tbaa !5
  %2620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2621 = load i32, ptr @test_count, align 4, !tbaa !5
  %2622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2623 = load i32, ptr %2622, align 4, !tbaa !5
  %2624 = call ptr @s2n_strerror(i32 noundef %2623, ptr noundef nonnull @.str.4) #10
  %2625 = load i32, ptr %2622, align 4, !tbaa !5
  %2626 = call ptr @s2n_strerror_debug(i32 noundef %2625, ptr noundef nonnull @.str.4) #10
  %2627 = load i32, ptr %2608, align 4, !tbaa !5
  %2628 = call ptr @strerror(i32 noundef %2627) #10
  %2629 = load i32, ptr %2608, align 4, !tbaa !5
  %2630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2620, ptr noundef nonnull %.str.5.sink1505, i32 noundef %2621, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.1, i32 noundef 204, ptr noundef %2624, ptr noundef %2626, ptr noundef %2628, i32 noundef %2629) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2631:                                             ; preds = %2603
  %2632 = add nsw i32 %2547, 4
  store i32 %2632, ptr @test_count, align 4, !tbaa !5
  %2633 = load i32, ptr %2404, align 8, !tbaa !43
  %2634 = icmp eq i32 %2633, 0
  br i1 %2634, label %2635, label %2659

2635:                                             ; preds = %2631
  %2636 = tail call ptr @__errno_location() #11
  %2637 = load i32, ptr %2636, align 4, !tbaa !5
  %2638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2639 = call i32 @s2n_print_stacktrace(ptr noundef %2638) #10
  %2640 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2641 = trunc nuw i8 %2640 to i1
  br i1 %2641, label %2642, label %2646

2642:                                             ; preds = %2635
  %2643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2644 = call i32 @fileno(ptr noundef %2643) #10
  %2645 = call i32 @isatty(i32 noundef %2644) #10
  %.not468 = icmp eq i32 %2645, 0
  br i1 %.not468, label %2646, label %2647

2646:                                             ; preds = %2642, %2635
  br label %2647

2647:                                             ; preds = %2642, %2646
  %.str.5.sink1516 = phi ptr [ @.str.5, %2646 ], [ @.str.2, %2642 ]
  store i32 %2637, ptr %2636, align 4, !tbaa !5
  %2648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2649 = load i32, ptr @test_count, align 4, !tbaa !5
  %2650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2651 = load i32, ptr %2650, align 4, !tbaa !5
  %2652 = call ptr @s2n_strerror(i32 noundef %2651, ptr noundef nonnull @.str.4) #10
  %2653 = load i32, ptr %2650, align 4, !tbaa !5
  %2654 = call ptr @s2n_strerror_debug(i32 noundef %2653, ptr noundef nonnull @.str.4) #10
  %2655 = load i32, ptr %2636, align 4, !tbaa !5
  %2656 = call ptr @strerror(i32 noundef %2655) #10
  %2657 = load i32, ptr %2636, align 4, !tbaa !5
  %2658 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2648, ptr noundef nonnull %.str.5.sink1516, i32 noundef %2649, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 205, ptr noundef %2652, ptr noundef %2654, ptr noundef %2656, i32 noundef %2657) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2659:                                             ; preds = %2631
  %2660 = add nsw i32 %2547, 5
  store i32 %2660, ptr @test_count, align 4, !tbaa !5
  %2661 = call i32 @s2n_connection_wipe(ptr noundef nonnull %2201) #10
  %2662 = icmp eq i32 %2661, -1
  br i1 %2662, label %2663, label %2687

2663:                                             ; preds = %2659
  %2664 = tail call ptr @__errno_location() #11
  %2665 = load i32, ptr %2664, align 4, !tbaa !5
  %2666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2667 = call i32 @s2n_print_stacktrace(ptr noundef %2666) #10
  %2668 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2669 = trunc nuw i8 %2668 to i1
  br i1 %2669, label %2670, label %2674

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

2674:                                             ; preds = %2670, %2663
  br label %2675

2675:                                             ; preds = %2670, %2674
  %.str.5.sink1527 = phi ptr [ @.str.5, %2674 ], [ @.str.2, %2670 ]
  store i32 %2665, ptr %2664, align 4, !tbaa !5
  %2676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2677 = load i32, ptr @test_count, align 4, !tbaa !5
  %2678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2679 = load i32, ptr %2678, align 4, !tbaa !5
  %2680 = call ptr @s2n_strerror(i32 noundef %2679, ptr noundef nonnull @.str.4) #10
  %2681 = load i32, ptr %2678, align 4, !tbaa !5
  %2682 = call ptr @s2n_strerror_debug(i32 noundef %2681, ptr noundef nonnull @.str.4) #10
  %2683 = load i32, ptr %2664, align 4, !tbaa !5
  %2684 = call ptr @strerror(i32 noundef %2683) #10
  %2685 = load i32, ptr %2664, align 4, !tbaa !5
  %2686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2676, ptr noundef nonnull %.str.5.sink1527, i32 noundef %2677, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.1, i32 noundef 208, ptr noundef %2680, ptr noundef %2682, ptr noundef %2684, i32 noundef %2685) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2687:                                             ; preds = %2659
  %2688 = load i32, ptr @test_count, align 4, !tbaa !5
  %2689 = add nsw i32 %2688, 1
  store i32 %2689, ptr @test_count, align 4, !tbaa !5
  %2690 = call i32 @s2n_connection_wipe(ptr noundef nonnull %2258) #10
  %2691 = icmp eq i32 %2690, -1
  br i1 %2691, label %2692, label %2716

2692:                                             ; preds = %2687
  %2693 = tail call ptr @__errno_location() #11
  %2694 = load i32, ptr %2693, align 4, !tbaa !5
  %2695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2696 = call i32 @s2n_print_stacktrace(ptr noundef %2695) #10
  %2697 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2698 = trunc nuw i8 %2697 to i1
  br i1 %2698, label %2699, label %2703

2699:                                             ; preds = %2692
  %2700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2701 = call i32 @fileno(ptr noundef %2700) #10
  %2702 = call i32 @isatty(i32 noundef %2701) #10
  %.not466 = icmp eq i32 %2702, 0
  br i1 %.not466, label %2703, label %2704

2703:                                             ; preds = %2699, %2692
  br label %2704

2704:                                             ; preds = %2699, %2703
  %.str.5.sink1538 = phi ptr [ @.str.5, %2703 ], [ @.str.2, %2699 ]
  store i32 %2694, ptr %2693, align 4, !tbaa !5
  %2705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2706 = load i32, ptr @test_count, align 4, !tbaa !5
  %2707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2708 = load i32, ptr %2707, align 4, !tbaa !5
  %2709 = call ptr @s2n_strerror(i32 noundef %2708, ptr noundef nonnull @.str.4) #10
  %2710 = load i32, ptr %2707, align 4, !tbaa !5
  %2711 = call ptr @s2n_strerror_debug(i32 noundef %2710, ptr noundef nonnull @.str.4) #10
  %2712 = load i32, ptr %2693, align 4, !tbaa !5
  %2713 = call ptr @strerror(i32 noundef %2712) #10
  %2714 = load i32, ptr %2693, align 4, !tbaa !5
  %2715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2705, ptr noundef nonnull %.str.5.sink1538, i32 noundef %2706, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.1, i32 noundef 209, ptr noundef %2709, ptr noundef %2711, ptr noundef %2713, i32 noundef %2714) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2716:                                             ; preds = %2687
  %2717 = load i32, ptr @test_count, align 4, !tbaa !5
  %2718 = add nsw i32 %2717, 1
  store i32 %2718, ptr @test_count, align 4, !tbaa !5
  %2719 = load i32, ptr %2317, align 8, !tbaa !44
  %2720 = icmp eq i32 %2719, 0
  br i1 %2720, label %2745, label %2721

2721:                                             ; preds = %2716
  %2722 = tail call ptr @__errno_location() #11
  %2723 = load i32, ptr %2722, align 4, !tbaa !5
  %2724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2725 = call i32 @s2n_print_stacktrace(ptr noundef %2724) #10
  %2726 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2727 = trunc nuw i8 %2726 to i1
  br i1 %2727, label %2728, label %2732

2728:                                             ; preds = %2721
  %2729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2730 = call i32 @fileno(ptr noundef %2729) #10
  %2731 = call i32 @isatty(i32 noundef %2730) #10
  %.not424 = icmp eq i32 %2731, 0
  br i1 %.not424, label %2732, label %2733

2732:                                             ; preds = %2728, %2721
  br label %2733

2733:                                             ; preds = %2728, %2732
  %.str.5.sink1549 = phi ptr [ @.str.5, %2732 ], [ @.str.2, %2728 ]
  store i32 %2723, ptr %2722, align 4, !tbaa !5
  %2734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2735 = load i32, ptr @test_count, align 4, !tbaa !5
  %2736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2737 = load i32, ptr %2736, align 4, !tbaa !5
  %2738 = call ptr @s2n_strerror(i32 noundef %2737, ptr noundef nonnull @.str.4) #10
  %2739 = load i32, ptr %2736, align 4, !tbaa !5
  %2740 = call ptr @s2n_strerror_debug(i32 noundef %2739, ptr noundef nonnull @.str.4) #10
  %2741 = load i32, ptr %2722, align 4, !tbaa !5
  %2742 = call ptr @strerror(i32 noundef %2741) #10
  %2743 = load i32, ptr %2722, align 4, !tbaa !5
  %2744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2734, ptr noundef nonnull %.str.5.sink1549, i32 noundef %2735, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 210, ptr noundef %2738, ptr noundef %2740, ptr noundef %2742, i32 noundef %2743) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2745:                                             ; preds = %2716
  %2746 = add nsw i32 %2717, 2
  store i32 %2746, ptr @test_count, align 4, !tbaa !5
  %2747 = load i32, ptr %2346, align 8, !tbaa !44
  %2748 = icmp eq i32 %2747, 0
  br i1 %2748, label %2773, label %2749

2749:                                             ; preds = %2745
  %2750 = tail call ptr @__errno_location() #11
  %2751 = load i32, ptr %2750, align 4, !tbaa !5
  %2752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2753 = call i32 @s2n_print_stacktrace(ptr noundef %2752) #10
  %2754 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2755 = trunc nuw i8 %2754 to i1
  br i1 %2755, label %2756, label %2760

2756:                                             ; preds = %2749
  %2757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2758 = call i32 @fileno(ptr noundef %2757) #10
  %2759 = call i32 @isatty(i32 noundef %2758) #10
  %.not425 = icmp eq i32 %2759, 0
  br i1 %.not425, label %2760, label %2761

2760:                                             ; preds = %2756, %2749
  br label %2761

2761:                                             ; preds = %2756, %2760
  %.str.5.sink1560 = phi ptr [ @.str.5, %2760 ], [ @.str.2, %2756 ]
  store i32 %2751, ptr %2750, align 4, !tbaa !5
  %2762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2763 = load i32, ptr @test_count, align 4, !tbaa !5
  %2764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2765 = load i32, ptr %2764, align 4, !tbaa !5
  %2766 = call ptr @s2n_strerror(i32 noundef %2765, ptr noundef nonnull @.str.4) #10
  %2767 = load i32, ptr %2764, align 4, !tbaa !5
  %2768 = call ptr @s2n_strerror_debug(i32 noundef %2767, ptr noundef nonnull @.str.4) #10
  %2769 = load i32, ptr %2750, align 4, !tbaa !5
  %2770 = call ptr @strerror(i32 noundef %2769) #10
  %2771 = load i32, ptr %2750, align 4, !tbaa !5
  %2772 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2762, ptr noundef nonnull %.str.5.sink1560, i32 noundef %2763, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 211, ptr noundef %2766, ptr noundef %2768, ptr noundef %2770, i32 noundef %2771) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2773:                                             ; preds = %2745
  %2774 = add nsw i32 %2717, 3
  store i32 %2774, ptr @test_count, align 4, !tbaa !5
  %2775 = load i32, ptr %2375, align 8, !tbaa !43
  %2776 = icmp eq i32 %2775, 0
  br i1 %2776, label %2801, label %2777

2777:                                             ; preds = %2773
  %2778 = tail call ptr @__errno_location() #11
  %2779 = load i32, ptr %2778, align 4, !tbaa !5
  %2780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2781 = call i32 @s2n_print_stacktrace(ptr noundef %2780) #10
  %2782 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2783 = trunc nuw i8 %2782 to i1
  br i1 %2783, label %2784, label %2788

2784:                                             ; preds = %2777
  %2785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2786 = call i32 @fileno(ptr noundef %2785) #10
  %2787 = call i32 @isatty(i32 noundef %2786) #10
  %.not426 = icmp eq i32 %2787, 0
  br i1 %.not426, label %2788, label %2789

2788:                                             ; preds = %2784, %2777
  br label %2789

2789:                                             ; preds = %2784, %2788
  %.str.5.sink1571 = phi ptr [ @.str.5, %2788 ], [ @.str.2, %2784 ]
  store i32 %2779, ptr %2778, align 4, !tbaa !5
  %2790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2791 = load i32, ptr @test_count, align 4, !tbaa !5
  %2792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2793 = load i32, ptr %2792, align 4, !tbaa !5
  %2794 = call ptr @s2n_strerror(i32 noundef %2793, ptr noundef nonnull @.str.4) #10
  %2795 = load i32, ptr %2792, align 4, !tbaa !5
  %2796 = call ptr @s2n_strerror_debug(i32 noundef %2795, ptr noundef nonnull @.str.4) #10
  %2797 = load i32, ptr %2778, align 4, !tbaa !5
  %2798 = call ptr @strerror(i32 noundef %2797) #10
  %2799 = load i32, ptr %2778, align 4, !tbaa !5
  %2800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2790, ptr noundef nonnull %.str.5.sink1571, i32 noundef %2791, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 212, ptr noundef %2794, ptr noundef %2796, ptr noundef %2798, i32 noundef %2799) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2801:                                             ; preds = %2773
  %2802 = add nsw i32 %2717, 4
  store i32 %2802, ptr @test_count, align 4, !tbaa !5
  %2803 = load i32, ptr %2404, align 8, !tbaa !43
  %2804 = icmp eq i32 %2803, 0
  br i1 %2804, label %2829, label %2805

2805:                                             ; preds = %2801
  %2806 = tail call ptr @__errno_location() #11
  %2807 = load i32, ptr %2806, align 4, !tbaa !5
  %2808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2809 = call i32 @s2n_print_stacktrace(ptr noundef %2808) #10
  %2810 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2811 = trunc nuw i8 %2810 to i1
  br i1 %2811, label %2812, label %2816

2812:                                             ; preds = %2805
  %2813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2814 = call i32 @fileno(ptr noundef %2813) #10
  %2815 = call i32 @isatty(i32 noundef %2814) #10
  %.not427 = icmp eq i32 %2815, 0
  br i1 %.not427, label %2816, label %2817

2816:                                             ; preds = %2812, %2805
  br label %2817

2817:                                             ; preds = %2812, %2816
  %.str.5.sink1582 = phi ptr [ @.str.5, %2816 ], [ @.str.2, %2812 ]
  store i32 %2807, ptr %2806, align 4, !tbaa !5
  %2818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2819 = load i32, ptr @test_count, align 4, !tbaa !5
  %2820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2821 = load i32, ptr %2820, align 4, !tbaa !5
  %2822 = call ptr @s2n_strerror(i32 noundef %2821, ptr noundef nonnull @.str.4) #10
  %2823 = load i32, ptr %2820, align 4, !tbaa !5
  %2824 = call ptr @s2n_strerror_debug(i32 noundef %2823, ptr noundef nonnull @.str.4) #10
  %2825 = load i32, ptr %2806, align 4, !tbaa !5
  %2826 = call ptr @strerror(i32 noundef %2825) #10
  %2827 = load i32, ptr %2806, align 4, !tbaa !5
  %2828 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2818, ptr noundef nonnull %.str.5.sink1582, i32 noundef %2819, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 213, ptr noundef %2822, ptr noundef %2824, ptr noundef %2826, i32 noundef %2827) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2829:                                             ; preds = %2801
  %2830 = add nsw i32 %2717, 5
  store i32 %2830, ptr @test_count, align 4, !tbaa !5
  %2831 = call i32 @s2n_connection_free(ptr noundef nonnull %2201) #10
  %2832 = icmp eq i32 %2831, -1
  br i1 %2832, label %2833, label %2857

2833:                                             ; preds = %2829
  %2834 = tail call ptr @__errno_location() #11
  %2835 = load i32, ptr %2834, align 4, !tbaa !5
  %2836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2837 = call i32 @s2n_print_stacktrace(ptr noundef %2836) #10
  %2838 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2839 = trunc nuw i8 %2838 to i1
  br i1 %2839, label %2840, label %2844

2840:                                             ; preds = %2833
  %2841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2842 = call i32 @fileno(ptr noundef %2841) #10
  %2843 = call i32 @isatty(i32 noundef %2842) #10
  %.not465 = icmp eq i32 %2843, 0
  br i1 %.not465, label %2844, label %2845

2844:                                             ; preds = %2840, %2833
  br label %2845

2845:                                             ; preds = %2840, %2844
  %.str.5.sink1593 = phi ptr [ @.str.5, %2844 ], [ @.str.2, %2840 ]
  store i32 %2835, ptr %2834, align 4, !tbaa !5
  %2846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2847 = load i32, ptr @test_count, align 4, !tbaa !5
  %2848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2849 = load i32, ptr %2848, align 4, !tbaa !5
  %2850 = call ptr @s2n_strerror(i32 noundef %2849, ptr noundef nonnull @.str.4) #10
  %2851 = load i32, ptr %2848, align 4, !tbaa !5
  %2852 = call ptr @s2n_strerror_debug(i32 noundef %2851, ptr noundef nonnull @.str.4) #10
  %2853 = load i32, ptr %2834, align 4, !tbaa !5
  %2854 = call ptr @strerror(i32 noundef %2853) #10
  %2855 = load i32, ptr %2834, align 4, !tbaa !5
  %2856 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2846, ptr noundef nonnull %.str.5.sink1593, i32 noundef %2847, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 215, ptr noundef %2850, ptr noundef %2852, ptr noundef %2854, i32 noundef %2855) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2857:                                             ; preds = %2829
  %2858 = load i32, ptr @test_count, align 4, !tbaa !5
  %2859 = add nsw i32 %2858, 1
  store i32 %2859, ptr @test_count, align 4, !tbaa !5
  %2860 = call i32 @s2n_connection_free(ptr noundef nonnull %2258) #10
  %2861 = icmp eq i32 %2860, -1
  br i1 %2861, label %2862, label %2886

2862:                                             ; preds = %2857
  %2863 = tail call ptr @__errno_location() #11
  %2864 = load i32, ptr %2863, align 4, !tbaa !5
  %2865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2866 = call i32 @s2n_print_stacktrace(ptr noundef %2865) #10
  %2867 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2868 = trunc nuw i8 %2867 to i1
  br i1 %2868, label %2869, label %2873

2869:                                             ; preds = %2862
  %2870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2871 = call i32 @fileno(ptr noundef %2870) #10
  %2872 = call i32 @isatty(i32 noundef %2871) #10
  %.not464 = icmp eq i32 %2872, 0
  br i1 %.not464, label %2873, label %2874

2873:                                             ; preds = %2869, %2862
  br label %2874

2874:                                             ; preds = %2869, %2873
  %.str.5.sink1604 = phi ptr [ @.str.5, %2873 ], [ @.str.2, %2869 ]
  store i32 %2864, ptr %2863, align 4, !tbaa !5
  %2875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2876 = load i32, ptr @test_count, align 4, !tbaa !5
  %2877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2878 = load i32, ptr %2877, align 4, !tbaa !5
  %2879 = call ptr @s2n_strerror(i32 noundef %2878, ptr noundef nonnull @.str.4) #10
  %2880 = load i32, ptr %2877, align 4, !tbaa !5
  %2881 = call ptr @s2n_strerror_debug(i32 noundef %2880, ptr noundef nonnull @.str.4) #10
  %2882 = load i32, ptr %2863, align 4, !tbaa !5
  %2883 = call ptr @strerror(i32 noundef %2882) #10
  %2884 = load i32, ptr %2863, align 4, !tbaa !5
  %2885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2875, ptr noundef nonnull %.str.5.sink1604, i32 noundef %2876, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 216, ptr noundef %2879, ptr noundef %2881, ptr noundef %2883, i32 noundef %2884) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2886:                                             ; preds = %2857
  %2887 = call i32 @s2n_io_pair_close(ptr noundef nonnull %7) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #10
  %2888 = call ptr @s2n_connection_new(i32 noundef 1) #10
  store ptr %2888, ptr %8, align 8, !tbaa !9
  %2889 = load i32, ptr @test_count, align 4, !tbaa !5
  %2890 = add nsw i32 %2889, 1
  store i32 %2890, ptr @test_count, align 4, !tbaa !5
  %2891 = icmp eq ptr %2888, null
  br i1 %2891, label %2892, label %2916

2892:                                             ; preds = %2886
  %2893 = tail call ptr @__errno_location() #11
  %2894 = load i32, ptr %2893, align 4, !tbaa !5
  %2895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2896 = call i32 @s2n_print_stacktrace(ptr noundef %2895) #10
  %2897 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2898 = trunc nuw i8 %2897 to i1
  br i1 %2898, label %2899, label %2903

2899:                                             ; preds = %2892
  %2900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2901 = call i32 @fileno(ptr noundef %2900) #10
  %2902 = call i32 @isatty(i32 noundef %2901) #10
  %.not463 = icmp eq i32 %2902, 0
  br i1 %.not463, label %2903, label %2904

2903:                                             ; preds = %2899, %2892
  br label %2904

2904:                                             ; preds = %2899, %2903
  %.str.5.sink1615 = phi ptr [ @.str.5, %2903 ], [ @.str.2, %2899 ]
  store i32 %2894, ptr %2893, align 4, !tbaa !5
  %2905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2906 = load i32, ptr @test_count, align 4, !tbaa !5
  %2907 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2908 = load i32, ptr %2907, align 4, !tbaa !5
  %2909 = call ptr @s2n_strerror(i32 noundef %2908, ptr noundef nonnull @.str.4) #10
  %2910 = load i32, ptr %2907, align 4, !tbaa !5
  %2911 = call ptr @s2n_strerror_debug(i32 noundef %2910, ptr noundef nonnull @.str.4) #10
  %2912 = load i32, ptr %2893, align 4, !tbaa !5
  %2913 = call ptr @strerror(i32 noundef %2912) #10
  %2914 = load i32, ptr %2893, align 4, !tbaa !5
  %2915 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2905, ptr noundef nonnull %.str.5.sink1615, i32 noundef %2906, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 222, ptr noundef %2909, ptr noundef %2911, ptr noundef %2913, i32 noundef %2914) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2916:                                             ; preds = %2886
  %2917 = add nsw i32 %2889, 2
  store i32 %2917, ptr @test_count, align 4, !tbaa !5
  %2918 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2888, ptr noundef nonnull %207) #10
  %2919 = icmp eq i32 %2918, -1
  br i1 %2919, label %2920, label %2944

2920:                                             ; preds = %2916
  %2921 = tail call ptr @__errno_location() #11
  %2922 = load i32, ptr %2921, align 4, !tbaa !5
  %2923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2924 = call i32 @s2n_print_stacktrace(ptr noundef %2923) #10
  %2925 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2926 = trunc nuw i8 %2925 to i1
  br i1 %2926, label %2927, label %2931

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

2931:                                             ; preds = %2927, %2920
  br label %2932

2932:                                             ; preds = %2927, %2931
  %.str.5.sink1626 = phi ptr [ @.str.5, %2931 ], [ @.str.2, %2927 ]
  store i32 %2922, ptr %2921, align 4, !tbaa !5
  %2933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2934 = load i32, ptr @test_count, align 4, !tbaa !5
  %2935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2936 = load i32, ptr %2935, align 4, !tbaa !5
  %2937 = call ptr @s2n_strerror(i32 noundef %2936, ptr noundef nonnull @.str.4) #10
  %2938 = load i32, ptr %2935, align 4, !tbaa !5
  %2939 = call ptr @s2n_strerror_debug(i32 noundef %2938, ptr noundef nonnull @.str.4) #10
  %2940 = load i32, ptr %2921, align 4, !tbaa !5
  %2941 = call ptr @strerror(i32 noundef %2940) #10
  %2942 = load i32, ptr %2921, align 4, !tbaa !5
  %2943 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2933, ptr noundef nonnull %.str.5.sink1626, i32 noundef %2934, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 223, ptr noundef %2937, ptr noundef %2939, ptr noundef %2941, i32 noundef %2942) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2944:                                             ; preds = %2916
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #10
  %2945 = call ptr @s2n_connection_new(i32 noundef 0) #10
  store ptr %2945, ptr %9, align 8, !tbaa !9
  %2946 = load i32, ptr @test_count, align 4, !tbaa !5
  %2947 = add nsw i32 %2946, 1
  store i32 %2947, ptr @test_count, align 4, !tbaa !5
  %2948 = icmp eq ptr %2945, null
  br i1 %2948, label %2949, label %2973

2949:                                             ; preds = %2944
  %2950 = tail call ptr @__errno_location() #11
  %2951 = load i32, ptr %2950, align 4, !tbaa !5
  %2952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2953 = call i32 @s2n_print_stacktrace(ptr noundef %2952) #10
  %2954 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2955 = trunc nuw i8 %2954 to i1
  br i1 %2955, label %2956, label %2960

2956:                                             ; preds = %2949
  %2957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2958 = call i32 @fileno(ptr noundef %2957) #10
  %2959 = call i32 @isatty(i32 noundef %2958) #10
  %.not461 = icmp eq i32 %2959, 0
  br i1 %.not461, label %2960, label %2961

2960:                                             ; preds = %2956, %2949
  br label %2961

2961:                                             ; preds = %2956, %2960
  %.str.5.sink1637 = phi ptr [ @.str.5, %2960 ], [ @.str.2, %2956 ]
  store i32 %2951, ptr %2950, align 4, !tbaa !5
  %2962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2963 = load i32, ptr @test_count, align 4, !tbaa !5
  %2964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2965 = load i32, ptr %2964, align 4, !tbaa !5
  %2966 = call ptr @s2n_strerror(i32 noundef %2965, ptr noundef nonnull @.str.4) #10
  %2967 = load i32, ptr %2964, align 4, !tbaa !5
  %2968 = call ptr @s2n_strerror_debug(i32 noundef %2967, ptr noundef nonnull @.str.4) #10
  %2969 = load i32, ptr %2950, align 4, !tbaa !5
  %2970 = call ptr @strerror(i32 noundef %2969) #10
  %2971 = load i32, ptr %2950, align 4, !tbaa !5
  %2972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2962, ptr noundef nonnull %.str.5.sink1637, i32 noundef %2963, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 226, ptr noundef %2966, ptr noundef %2968, ptr noundef %2970, i32 noundef %2971) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2973:                                             ; preds = %2944
  %2974 = add nsw i32 %2946, 2
  store i32 %2974, ptr @test_count, align 4, !tbaa !5
  %2975 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2945, ptr noundef nonnull %207) #10
  %2976 = icmp eq i32 %2975, -1
  br i1 %2976, label %2977, label %3001

2977:                                             ; preds = %2973
  %2978 = tail call ptr @__errno_location() #11
  %2979 = load i32, ptr %2978, align 4, !tbaa !5
  %2980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2981 = call i32 @s2n_print_stacktrace(ptr noundef %2980) #10
  %2982 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2983 = trunc nuw i8 %2982 to i1
  br i1 %2983, label %2984, label %2988

2984:                                             ; preds = %2977
  %2985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2986 = call i32 @fileno(ptr noundef %2985) #10
  %2987 = call i32 @isatty(i32 noundef %2986) #10
  %.not460 = icmp eq i32 %2987, 0
  br i1 %.not460, label %2988, label %2989

2988:                                             ; preds = %2984, %2977
  br label %2989

2989:                                             ; preds = %2984, %2988
  %.str.5.sink1648 = phi ptr [ @.str.5, %2988 ], [ @.str.2, %2984 ]
  store i32 %2979, ptr %2978, align 4, !tbaa !5
  %2990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2991 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %2993, ptr noundef nonnull @.str.4) #10
  %2995 = load i32, ptr %2992, align 4, !tbaa !5
  %2996 = call ptr @s2n_strerror_debug(i32 noundef %2995, ptr noundef nonnull @.str.4) #10
  %2997 = load i32, ptr %2978, align 4, !tbaa !5
  %2998 = call ptr @strerror(i32 noundef %2997) #10
  %2999 = load i32, ptr %2978, align 4, !tbaa !5
  %3000 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2990, ptr noundef nonnull %.str.5.sink1648, i32 noundef %2991, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 227, ptr noundef %2994, ptr noundef %2996, ptr noundef %2998, i32 noundef %2999) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3001:                                             ; preds = %2973
  %3002 = load i32, ptr @test_count, align 4, !tbaa !5
  %3003 = add nsw i32 %3002, 1
  store i32 %3003, ptr @test_count, align 4, !tbaa !5
  %3004 = load ptr, ptr %8, align 8, !tbaa !9
  %3005 = call i32 @s2n_connection_set_dynamic_buffers(ptr noundef %3004, i1 noundef zeroext true) #10
  %3006 = icmp eq i32 %3005, -1
  br i1 %3006, label %3007, label %3031

3007:                                             ; preds = %3001
  %3008 = tail call ptr @__errno_location() #11
  %3009 = load i32, ptr %3008, align 4, !tbaa !5
  %3010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3011 = call i32 @s2n_print_stacktrace(ptr noundef %3010) #10
  %3012 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3013 = trunc nuw i8 %3012 to i1
  br i1 %3013, label %3014, label %3018

3014:                                             ; preds = %3007
  %3015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3016 = call i32 @fileno(ptr noundef %3015) #10
  %3017 = call i32 @isatty(i32 noundef %3016) #10
  %.not459 = icmp eq i32 %3017, 0
  br i1 %.not459, label %3018, label %3019

3018:                                             ; preds = %3014, %3007
  br label %3019

3019:                                             ; preds = %3014, %3018
  %.str.5.sink1659 = phi ptr [ @.str.5, %3018 ], [ @.str.2, %3014 ]
  store i32 %3009, ptr %3008, align 4, !tbaa !5
  %3020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3021 = load i32, ptr @test_count, align 4, !tbaa !5
  %3022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3023 = load i32, ptr %3022, align 4, !tbaa !5
  %3024 = call ptr @s2n_strerror(i32 noundef %3023, ptr noundef nonnull @.str.4) #10
  %3025 = load i32, ptr %3022, align 4, !tbaa !5
  %3026 = call ptr @s2n_strerror_debug(i32 noundef %3025, ptr noundef nonnull @.str.4) #10
  %3027 = load i32, ptr %3008, align 4, !tbaa !5
  %3028 = call ptr @strerror(i32 noundef %3027) #10
  %3029 = load i32, ptr %3008, align 4, !tbaa !5
  %3030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3020, ptr noundef nonnull %.str.5.sink1659, i32 noundef %3021, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 230, ptr noundef %3024, ptr noundef %3026, ptr noundef %3028, i32 noundef %3029) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3031:                                             ; preds = %3001
  %3032 = load i32, ptr @test_count, align 4, !tbaa !5
  %3033 = add nsw i32 %3032, 1
  store i32 %3033, ptr @test_count, align 4, !tbaa !5
  %3034 = load ptr, ptr %9, align 8, !tbaa !9
  %3035 = call i32 @s2n_connection_set_dynamic_buffers(ptr noundef %3034, i1 noundef zeroext true) #10
  %3036 = icmp eq i32 %3035, -1
  br i1 %3036, label %3037, label %3061

3037:                                             ; preds = %3031
  %3038 = tail call ptr @__errno_location() #11
  %3039 = load i32, ptr %3038, align 4, !tbaa !5
  %3040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3041 = call i32 @s2n_print_stacktrace(ptr noundef %3040) #10
  %3042 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3043 = trunc nuw i8 %3042 to i1
  br i1 %3043, label %3044, label %3048

3044:                                             ; preds = %3037
  %3045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3046 = call i32 @fileno(ptr noundef %3045) #10
  %3047 = call i32 @isatty(i32 noundef %3046) #10
  %.not458 = icmp eq i32 %3047, 0
  br i1 %.not458, label %3048, label %3049

3048:                                             ; preds = %3044, %3037
  br label %3049

3049:                                             ; preds = %3044, %3048
  %.str.5.sink1670 = phi ptr [ @.str.5, %3048 ], [ @.str.2, %3044 ]
  store i32 %3039, ptr %3038, align 4, !tbaa !5
  %3050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3051 = load i32, ptr @test_count, align 4, !tbaa !5
  %3052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3053 = load i32, ptr %3052, align 4, !tbaa !5
  %3054 = call ptr @s2n_strerror(i32 noundef %3053, ptr noundef nonnull @.str.4) #10
  %3055 = load i32, ptr %3052, align 4, !tbaa !5
  %3056 = call ptr @s2n_strerror_debug(i32 noundef %3055, ptr noundef nonnull @.str.4) #10
  %3057 = load i32, ptr %3038, align 4, !tbaa !5
  %3058 = call ptr @strerror(i32 noundef %3057) #10
  %3059 = load i32, ptr %3038, align 4, !tbaa !5
  %3060 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3050, ptr noundef nonnull %.str.5.sink1670, i32 noundef %3051, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 231, ptr noundef %3054, ptr noundef %3056, ptr noundef %3058, i32 noundef %3059) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3061:                                             ; preds = %3031
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %10) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %10, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %11) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %11, i8 0, i64 40, i1 false)
  %3062 = load i32, ptr @test_count, align 4, !tbaa !5
  %3063 = add nsw i32 %3062, 1
  store i32 %3063, ptr @test_count, align 4, !tbaa !5
  %3064 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %10, i32 noundef 0) #10
  %3065 = icmp eq i32 %3064, -1
  br i1 %3065, label %3066, label %3090

3066:                                             ; preds = %3061
  %3067 = tail call ptr @__errno_location() #11
  %3068 = load i32, ptr %3067, align 4, !tbaa !5
  %3069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3070 = call i32 @s2n_print_stacktrace(ptr noundef %3069) #10
  %3071 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3072 = trunc nuw i8 %3071 to i1
  br i1 %3072, label %3073, label %3077

3073:                                             ; preds = %3066
  %3074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3075 = call i32 @fileno(ptr noundef %3074) #10
  %3076 = call i32 @isatty(i32 noundef %3075) #10
  %.not457 = icmp eq i32 %3076, 0
  br i1 %.not457, label %3077, label %3078

3077:                                             ; preds = %3073, %3066
  br label %3078

3078:                                             ; preds = %3073, %3077
  %.str.5.sink1681 = phi ptr [ @.str.5, %3077 ], [ @.str.2, %3073 ]
  store i32 %3068, ptr %3067, align 4, !tbaa !5
  %3079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3080 = load i32, ptr @test_count, align 4, !tbaa !5
  %3081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3082 = load i32, ptr %3081, align 4, !tbaa !5
  %3083 = call ptr @s2n_strerror(i32 noundef %3082, ptr noundef nonnull @.str.4) #10
  %3084 = load i32, ptr %3081, align 4, !tbaa !5
  %3085 = call ptr @s2n_strerror_debug(i32 noundef %3084, ptr noundef nonnull @.str.4) #10
  %3086 = load i32, ptr %3067, align 4, !tbaa !5
  %3087 = call ptr @strerror(i32 noundef %3086) #10
  %3088 = load i32, ptr %3067, align 4, !tbaa !5
  %3089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3079, ptr noundef nonnull %.str.5.sink1681, i32 noundef %3080, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.1, i32 noundef 238, ptr noundef %3083, ptr noundef %3085, ptr noundef %3087, i32 noundef %3088) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3090:                                             ; preds = %3061
  %3091 = load i32, ptr @test_count, align 4, !tbaa !5
  %3092 = add nsw i32 %3091, 1
  store i32 %3092, ptr @test_count, align 4, !tbaa !5
  %3093 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %11, i32 noundef 0) #10
  %3094 = icmp eq i32 %3093, -1
  br i1 %3094, label %3095, label %3119

3095:                                             ; preds = %3090
  %3096 = tail call ptr @__errno_location() #11
  %3097 = load i32, ptr %3096, align 4, !tbaa !5
  %3098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3099 = call i32 @s2n_print_stacktrace(ptr noundef %3098) #10
  %3100 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3101 = trunc nuw i8 %3100 to i1
  br i1 %3101, label %3102, label %3106

3102:                                             ; preds = %3095
  %3103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3104 = call i32 @fileno(ptr noundef %3103) #10
  %3105 = call i32 @isatty(i32 noundef %3104) #10
  %.not456 = icmp eq i32 %3105, 0
  br i1 %.not456, label %3106, label %3107

3106:                                             ; preds = %3102, %3095
  br label %3107

3107:                                             ; preds = %3102, %3106
  %.str.5.sink1692 = phi ptr [ @.str.5, %3106 ], [ @.str.2, %3102 ]
  store i32 %3097, ptr %3096, align 4, !tbaa !5
  %3108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3109 = load i32, ptr @test_count, align 4, !tbaa !5
  %3110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3111 = load i32, ptr %3110, align 4, !tbaa !5
  %3112 = call ptr @s2n_strerror(i32 noundef %3111, ptr noundef nonnull @.str.4) #10
  %3113 = load i32, ptr %3110, align 4, !tbaa !5
  %3114 = call ptr @s2n_strerror_debug(i32 noundef %3113, ptr noundef nonnull @.str.4) #10
  %3115 = load i32, ptr %3096, align 4, !tbaa !5
  %3116 = call ptr @strerror(i32 noundef %3115) #10
  %3117 = load i32, ptr %3096, align 4, !tbaa !5
  %3118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3108, ptr noundef nonnull %.str.5.sink1692, i32 noundef %3109, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 239, ptr noundef %3112, ptr noundef %3114, ptr noundef %3116, i32 noundef %3117) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3119:                                             ; preds = %3090
  %3120 = load i32, ptr @test_count, align 4, !tbaa !5
  %3121 = add nsw i32 %3120, 1
  store i32 %3121, ptr @test_count, align 4, !tbaa !5
  %3122 = load ptr, ptr %8, align 8, !tbaa !9
  %3123 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %10, ptr noundef nonnull %11, ptr noundef %3122) #10
  %3124 = icmp eq i32 %3123, -1
  br i1 %3124, label %3125, label %3149

3125:                                             ; preds = %3119
  %3126 = tail call ptr @__errno_location() #11
  %3127 = load i32, ptr %3126, align 4, !tbaa !5
  %3128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3129 = call i32 @s2n_print_stacktrace(ptr noundef %3128) #10
  %3130 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3131 = trunc nuw i8 %3130 to i1
  br i1 %3131, label %3132, label %3136

3132:                                             ; preds = %3125
  %3133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3134 = call i32 @fileno(ptr noundef %3133) #10
  %3135 = call i32 @isatty(i32 noundef %3134) #10
  %.not455 = icmp eq i32 %3135, 0
  br i1 %.not455, label %3136, label %3137

3136:                                             ; preds = %3132, %3125
  br label %3137

3137:                                             ; preds = %3132, %3136
  %.str.5.sink1703 = phi ptr [ @.str.5, %3136 ], [ @.str.2, %3132 ]
  store i32 %3127, ptr %3126, align 4, !tbaa !5
  %3138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3139 = load i32, ptr @test_count, align 4, !tbaa !5
  %3140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3141 = load i32, ptr %3140, align 4, !tbaa !5
  %3142 = call ptr @s2n_strerror(i32 noundef %3141, ptr noundef nonnull @.str.4) #10
  %3143 = load i32, ptr %3140, align 4, !tbaa !5
  %3144 = call ptr @s2n_strerror_debug(i32 noundef %3143, ptr noundef nonnull @.str.4) #10
  %3145 = load i32, ptr %3126, align 4, !tbaa !5
  %3146 = call ptr @strerror(i32 noundef %3145) #10
  %3147 = load i32, ptr %3126, align 4, !tbaa !5
  %3148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3138, ptr noundef nonnull %.str.5.sink1703, i32 noundef %3139, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 240, ptr noundef %3142, ptr noundef %3144, ptr noundef %3146, i32 noundef %3147) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3149:                                             ; preds = %3119
  %3150 = load i32, ptr @test_count, align 4, !tbaa !5
  %3151 = add nsw i32 %3150, 1
  store i32 %3151, ptr @test_count, align 4, !tbaa !5
  %3152 = load ptr, ptr %9, align 8, !tbaa !9
  %3153 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %11, ptr noundef nonnull %10, ptr noundef %3152) #10
  %3154 = icmp eq i32 %3153, -1
  br i1 %3154, label %3155, label %3179

3155:                                             ; preds = %3149
  %3156 = tail call ptr @__errno_location() #11
  %3157 = load i32, ptr %3156, align 4, !tbaa !5
  %3158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3159 = call i32 @s2n_print_stacktrace(ptr noundef %3158) #10
  %3160 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3161 = trunc nuw i8 %3160 to i1
  br i1 %3161, label %3162, label %3166

3162:                                             ; preds = %3155
  %3163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3164 = call i32 @fileno(ptr noundef %3163) #10
  %3165 = call i32 @isatty(i32 noundef %3164) #10
  %.not454 = icmp eq i32 %3165, 0
  br i1 %.not454, label %3166, label %3167

3166:                                             ; preds = %3162, %3155
  br label %3167

3167:                                             ; preds = %3162, %3166
  %.str.5.sink1714 = phi ptr [ @.str.5, %3166 ], [ @.str.2, %3162 ]
  store i32 %3157, ptr %3156, align 4, !tbaa !5
  %3168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3169 = load i32, ptr @test_count, align 4, !tbaa !5
  %3170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3171 = load i32, ptr %3170, align 4, !tbaa !5
  %3172 = call ptr @s2n_strerror(i32 noundef %3171, ptr noundef nonnull @.str.4) #10
  %3173 = load i32, ptr %3170, align 4, !tbaa !5
  %3174 = call ptr @s2n_strerror_debug(i32 noundef %3173, ptr noundef nonnull @.str.4) #10
  %3175 = load i32, ptr %3156, align 4, !tbaa !5
  %3176 = call ptr @strerror(i32 noundef %3175) #10
  %3177 = load i32, ptr %3156, align 4, !tbaa !5
  %3178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3168, ptr noundef nonnull %.str.5.sink1714, i32 noundef %3169, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 241, ptr noundef %3172, ptr noundef %3174, ptr noundef %3176, i32 noundef %3177) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3179:                                             ; preds = %3149
  %3180 = load i32, ptr @test_count, align 4, !tbaa !5
  %3181 = add nsw i32 %3180, 1
  store i32 %3181, ptr @test_count, align 4, !tbaa !5
  %3182 = load ptr, ptr %9, align 8, !tbaa !9
  %3183 = load ptr, ptr %8, align 8, !tbaa !9
  %3184 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %3182, ptr noundef %3183) #10
  %3185 = icmp eq i32 %3184, -1
  br i1 %3185, label %3186, label %3210

3186:                                             ; preds = %3179
  %3187 = tail call ptr @__errno_location() #11
  %3188 = load i32, ptr %3187, align 4, !tbaa !5
  %3189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3190 = call i32 @s2n_print_stacktrace(ptr noundef %3189) #10
  %3191 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3192 = trunc nuw i8 %3191 to i1
  br i1 %3192, label %3193, label %3197

3193:                                             ; preds = %3186
  %3194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3195 = call i32 @fileno(ptr noundef %3194) #10
  %3196 = call i32 @isatty(i32 noundef %3195) #10
  %.not453 = icmp eq i32 %3196, 0
  br i1 %.not453, label %3197, label %3198

3197:                                             ; preds = %3193, %3186
  br label %3198

3198:                                             ; preds = %3193, %3197
  %.str.5.sink1725 = phi ptr [ @.str.5, %3197 ], [ @.str.2, %3193 ]
  store i32 %3188, ptr %3187, align 4, !tbaa !5
  %3199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3200 = load i32, ptr @test_count, align 4, !tbaa !5
  %3201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3202 = load i32, ptr %3201, align 4, !tbaa !5
  %3203 = call ptr @s2n_strerror(i32 noundef %3202, ptr noundef nonnull @.str.4) #10
  %3204 = load i32, ptr %3201, align 4, !tbaa !5
  %3205 = call ptr @s2n_strerror_debug(i32 noundef %3204, ptr noundef nonnull @.str.4) #10
  %3206 = load i32, ptr %3187, align 4, !tbaa !5
  %3207 = call ptr @strerror(i32 noundef %3206) #10
  %3208 = load i32, ptr %3187, align 4, !tbaa !5
  %3209 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3199, ptr noundef nonnull %.str.5.sink1725, i32 noundef %3200, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.1, i32 noundef 244, ptr noundef %3203, ptr noundef %3205, ptr noundef %3207, i32 noundef %3208) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3210:                                             ; preds = %3179
  %3211 = load i32, ptr @test_count, align 4, !tbaa !5
  %3212 = add nsw i32 %3211, 1
  store i32 %3212, ptr @test_count, align 4, !tbaa !5
  %3213 = load ptr, ptr %8, align 8, !tbaa !9
  %3214 = getelementptr inbounds i8, ptr %3213, i64 1824
  %3215 = load i32, ptr %3214, align 8, !tbaa !44
  %3216 = icmp eq i32 %3215, 0
  br i1 %3216, label %3241, label %3217

3217:                                             ; preds = %3210
  %3218 = tail call ptr @__errno_location() #11
  %3219 = load i32, ptr %3218, align 4, !tbaa !5
  %3220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3221 = call i32 @s2n_print_stacktrace(ptr noundef %3220) #10
  %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 = %3217
  %3225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3226 = call i32 @fileno(ptr noundef %3225) #10
  %3227 = call i32 @isatty(i32 noundef %3226) #10
  %.not428 = icmp eq i32 %3227, 0
  br i1 %.not428, label %3228, label %3229

3228:                                             ; preds = %3224, %3217
  br label %3229

3229:                                             ; preds = %3224, %3228
  %.str.5.sink1736 = phi ptr [ @.str.5, %3228 ], [ @.str.2, %3224 ]
  store i32 %3219, ptr %3218, align 4, !tbaa !5
  %3230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3231 = load i32, ptr @test_count, align 4, !tbaa !5
  %3232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3233 = load i32, ptr %3232, align 4, !tbaa !5
  %3234 = call ptr @s2n_strerror(i32 noundef %3233, ptr noundef nonnull @.str.4) #10
  %3235 = load i32, ptr %3232, align 4, !tbaa !5
  %3236 = call ptr @s2n_strerror_debug(i32 noundef %3235, ptr noundef nonnull @.str.4) #10
  %3237 = load i32, ptr %3218, align 4, !tbaa !5
  %3238 = call ptr @strerror(i32 noundef %3237) #10
  %3239 = load i32, ptr %3218, align 4, !tbaa !5
  %3240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3230, ptr noundef nonnull %.str.5.sink1736, i32 noundef %3231, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 247, ptr noundef %3234, ptr noundef %3236, ptr noundef %3238, i32 noundef %3239) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3241:                                             ; preds = %3210
  %3242 = add nsw i32 %3211, 2
  store i32 %3242, ptr @test_count, align 4, !tbaa !5
  %3243 = getelementptr inbounds i8, ptr %3213, i64 1904
  %3244 = load i32, ptr %3243, align 8, !tbaa !43
  %3245 = icmp eq i32 %3244, 0
  br i1 %3245, label %3270, label %3246

3246:                                             ; preds = %3241
  %3247 = tail call ptr @__errno_location() #11
  %3248 = load i32, ptr %3247, align 4, !tbaa !5
  %3249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3250 = call i32 @s2n_print_stacktrace(ptr noundef %3249) #10
  %3251 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3252 = trunc nuw i8 %3251 to i1
  br i1 %3252, label %3253, label %3257

3253:                                             ; preds = %3246
  %3254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3255 = call i32 @fileno(ptr noundef %3254) #10
  %3256 = call i32 @isatty(i32 noundef %3255) #10
  %.not429 = icmp eq i32 %3256, 0
  br i1 %.not429, label %3257, label %3258

3257:                                             ; preds = %3253, %3246
  br label %3258

3258:                                             ; preds = %3253, %3257
  %.str.5.sink1747 = phi ptr [ @.str.5, %3257 ], [ @.str.2, %3253 ]
  store i32 %3248, ptr %3247, align 4, !tbaa !5
  %3259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3260 = load i32, ptr @test_count, align 4, !tbaa !5
  %3261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3262 = load i32, ptr %3261, align 4, !tbaa !5
  %3263 = call ptr @s2n_strerror(i32 noundef %3262, ptr noundef nonnull @.str.4) #10
  %3264 = load i32, ptr %3261, align 4, !tbaa !5
  %3265 = call ptr @s2n_strerror_debug(i32 noundef %3264, ptr noundef nonnull @.str.4) #10
  %3266 = load i32, ptr %3247, align 4, !tbaa !5
  %3267 = call ptr @strerror(i32 noundef %3266) #10
  %3268 = load i32, ptr %3247, align 4, !tbaa !5
  %3269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3259, ptr noundef nonnull %.str.5.sink1747, i32 noundef %3260, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 248, ptr noundef %3263, ptr noundef %3265, ptr noundef %3267, i32 noundef %3268) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3270:                                             ; preds = %3241
  %3271 = add nsw i32 %3211, 3
  store i32 %3271, ptr @test_count, align 4, !tbaa !5
  %3272 = load ptr, ptr %9, align 8, !tbaa !9
  %3273 = getelementptr inbounds i8, ptr %3272, i64 1824
  %3274 = load i32, ptr %3273, align 8, !tbaa !44
  %3275 = icmp eq i32 %3274, 0
  br i1 %3275, label %3300, label %3276

3276:                                             ; preds = %3270
  %3277 = tail call ptr @__errno_location() #11
  %3278 = load i32, ptr %3277, align 4, !tbaa !5
  %3279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3280 = call i32 @s2n_print_stacktrace(ptr noundef %3279) #10
  %3281 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3282 = trunc nuw i8 %3281 to i1
  br i1 %3282, label %3283, label %3287

3283:                                             ; preds = %3276
  %3284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3285 = call i32 @fileno(ptr noundef %3284) #10
  %3286 = call i32 @isatty(i32 noundef %3285) #10
  %.not430 = icmp eq i32 %3286, 0
  br i1 %.not430, label %3287, label %3288

3287:                                             ; preds = %3283, %3276
  br label %3288

3288:                                             ; preds = %3283, %3287
  %.str.5.sink1758 = phi ptr [ @.str.5, %3287 ], [ @.str.2, %3283 ]
  store i32 %3278, ptr %3277, align 4, !tbaa !5
  %3289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3290 = load i32, ptr @test_count, align 4, !tbaa !5
  %3291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3292 = load i32, ptr %3291, align 4, !tbaa !5
  %3293 = call ptr @s2n_strerror(i32 noundef %3292, ptr noundef nonnull @.str.4) #10
  %3294 = load i32, ptr %3291, align 4, !tbaa !5
  %3295 = call ptr @s2n_strerror_debug(i32 noundef %3294, ptr noundef nonnull @.str.4) #10
  %3296 = load i32, ptr %3277, align 4, !tbaa !5
  %3297 = call ptr @strerror(i32 noundef %3296) #10
  %3298 = load i32, ptr %3277, align 4, !tbaa !5
  %3299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3289, ptr noundef nonnull %.str.5.sink1758, i32 noundef %3290, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 249, ptr noundef %3293, ptr noundef %3295, ptr noundef %3297, i32 noundef %3298) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3300:                                             ; preds = %3270
  %3301 = add nsw i32 %3211, 4
  store i32 %3301, ptr @test_count, align 4, !tbaa !5
  %3302 = getelementptr inbounds i8, ptr %3272, i64 1904
  %3303 = load i32, ptr %3302, align 8, !tbaa !43
  %3304 = icmp eq i32 %3303, 0
  br i1 %3304, label %3329, label %3305

3305:                                             ; preds = %3300
  %3306 = tail call ptr @__errno_location() #11
  %3307 = load i32, ptr %3306, align 4, !tbaa !5
  %3308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3309 = call i32 @s2n_print_stacktrace(ptr noundef %3308) #10
  %3310 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3311 = trunc nuw i8 %3310 to i1
  br i1 %3311, label %3312, label %3316

3312:                                             ; preds = %3305
  %3313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3314 = call i32 @fileno(ptr noundef %3313) #10
  %3315 = call i32 @isatty(i32 noundef %3314) #10
  %.not431 = icmp eq i32 %3315, 0
  br i1 %.not431, label %3316, label %3317

3316:                                             ; preds = %3312, %3305
  br label %3317

3317:                                             ; preds = %3312, %3316
  %.str.5.sink1769 = phi ptr [ @.str.5, %3316 ], [ @.str.2, %3312 ]
  store i32 %3307, ptr %3306, align 4, !tbaa !5
  %3318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3319 = load i32, ptr @test_count, align 4, !tbaa !5
  %3320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3321 = load i32, ptr %3320, align 4, !tbaa !5
  %3322 = call ptr @s2n_strerror(i32 noundef %3321, ptr noundef nonnull @.str.4) #10
  %3323 = load i32, ptr %3320, align 4, !tbaa !5
  %3324 = call ptr @s2n_strerror_debug(i32 noundef %3323, ptr noundef nonnull @.str.4) #10
  %3325 = load i32, ptr %3306, align 4, !tbaa !5
  %3326 = call ptr @strerror(i32 noundef %3325) #10
  %3327 = load i32, ptr %3306, align 4, !tbaa !5
  %3328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3318, ptr noundef nonnull %.str.5.sink1769, i32 noundef %3319, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 250, ptr noundef %3322, ptr noundef %3324, ptr noundef %3326, i32 noundef %3327) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3329:                                             ; preds = %3300
  %3330 = add nsw i32 %3211, 5
  store i32 %3330, ptr @test_count, align 4, !tbaa !5
  %3331 = call i32 @s2n_stuffer_free(ptr noundef nonnull %10) #10
  %3332 = icmp eq i32 %3331, -1
  br i1 %3332, label %3333, label %3357

3333:                                             ; preds = %3329
  %3334 = tail call ptr @__errno_location() #11
  %3335 = load i32, ptr %3334, align 4, !tbaa !5
  %3336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3337 = call i32 @s2n_print_stacktrace(ptr noundef %3336) #10
  %3338 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3339 = trunc nuw i8 %3338 to i1
  br i1 %3339, label %3340, label %3344

3340:                                             ; preds = %3333
  %3341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3342 = call i32 @fileno(ptr noundef %3341) #10
  %3343 = call i32 @isatty(i32 noundef %3342) #10
  %.not452 = icmp eq i32 %3343, 0
  br i1 %.not452, label %3344, label %3345

3344:                                             ; preds = %3340, %3333
  br label %3345

3345:                                             ; preds = %3340, %3344
  %.str.5.sink1780 = phi ptr [ @.str.5, %3344 ], [ @.str.2, %3340 ]
  store i32 %3335, ptr %3334, align 4, !tbaa !5
  %3346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3347 = load i32, ptr @test_count, align 4, !tbaa !5
  %3348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3349 = load i32, ptr %3348, align 4, !tbaa !5
  %3350 = call ptr @s2n_strerror(i32 noundef %3349, ptr noundef nonnull @.str.4) #10
  %3351 = load i32, ptr %3348, align 4, !tbaa !5
  %3352 = call ptr @s2n_strerror_debug(i32 noundef %3351, ptr noundef nonnull @.str.4) #10
  %3353 = load i32, ptr %3334, align 4, !tbaa !5
  %3354 = call ptr @strerror(i32 noundef %3353) #10
  %3355 = load i32, ptr %3334, align 4, !tbaa !5
  %3356 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3346, ptr noundef nonnull %.str.5.sink1780, i32 noundef %3347, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 253, ptr noundef %3350, ptr noundef %3352, ptr noundef %3354, i32 noundef %3355) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3357:                                             ; preds = %3329
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %12) #10
  store i32 0, ptr %12, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4096, ptr nonnull %13) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(4096) %13, i8 0, i64 4096, i1 false)
  store i8 42, ptr %13, align 16
  %3358 = load ptr, ptr %9, align 8, !tbaa !9
  %3359 = call i64 @s2n_send(ptr noundef %3358, ptr noundef nonnull %13, i64 noundef 4096, ptr noundef nonnull %12) #10
  %3360 = load i32, ptr @test_count, align 4, !tbaa !5
  %3361 = add nsw i32 %3360, 1
  store i32 %3361, ptr @test_count, align 4, !tbaa !5
  %3362 = and i64 %3359, 4294967295
  %3363 = icmp eq i64 %3362, 4294967295
  br i1 %3363, label %3388, label %3364

3364:                                             ; preds = %3357
  %3365 = tail call ptr @__errno_location() #11
  %3366 = load i32, ptr %3365, align 4, !tbaa !5
  %3367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3368 = call i32 @s2n_print_stacktrace(ptr noundef %3367) #10
  %3369 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3370 = trunc nuw i8 %3369 to i1
  br i1 %3370, label %3371, label %3375

3371:                                             ; preds = %3364
  %3372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3373 = call i32 @fileno(ptr noundef %3372) #10
  %3374 = call i32 @isatty(i32 noundef %3373) #10
  %.not432 = icmp eq i32 %3374, 0
  br i1 %.not432, label %3375, label %3376

3375:                                             ; preds = %3371, %3364
  br label %3376

3376:                                             ; preds = %3371, %3375
  %.str.5.sink1791 = phi ptr [ @.str.5, %3375 ], [ @.str.2, %3371 ]
  store i32 %3366, ptr %3365, align 4, !tbaa !5
  %3377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3378 = load i32, ptr @test_count, align 4, !tbaa !5
  %3379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3380 = load i32, ptr %3379, align 4, !tbaa !5
  %3381 = call ptr @s2n_strerror(i32 noundef %3380, ptr noundef nonnull @.str.4) #10
  %3382 = load i32, ptr %3379, align 4, !tbaa !5
  %3383 = call ptr @s2n_strerror_debug(i32 noundef %3382, ptr noundef nonnull @.str.4) #10
  %3384 = load i32, ptr %3365, align 4, !tbaa !5
  %3385 = call ptr @strerror(i32 noundef %3384) #10
  %3386 = load i32, ptr %3365, align 4, !tbaa !5
  %3387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3377, ptr noundef nonnull %.str.5.sink1791, i32 noundef %3378, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.1, i32 noundef 264, ptr noundef %3381, ptr noundef %3383, ptr noundef %3385, i32 noundef %3386) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3388:                                             ; preds = %3357
  %3389 = add nsw i32 %3360, 2
  store i32 %3389, ptr @test_count, align 4, !tbaa !5
  %3390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3391 = load i32, ptr %3390, align 4, !tbaa !5
  %3392 = icmp eq i32 %3391, 0
  br i1 %3392, label %3393, label %3416

3393:                                             ; preds = %3388
  %3394 = tail call ptr @__errno_location() #11
  %3395 = load i32, ptr %3394, align 4, !tbaa !5
  %3396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3397 = call i32 @s2n_print_stacktrace(ptr noundef %3396) #10
  %3398 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3399 = trunc nuw i8 %3398 to i1
  br i1 %3399, label %3400, label %3404

3400:                                             ; preds = %3393
  %3401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3402 = call i32 @fileno(ptr noundef %3401) #10
  %3403 = call i32 @isatty(i32 noundef %3402) #10
  %.not451 = icmp eq i32 %3403, 0
  br i1 %.not451, label %3404, label %3405

3404:                                             ; preds = %3400, %3393
  br label %3405

3405:                                             ; preds = %3400, %3404
  %.str.5.sink1802 = phi ptr [ @.str.5, %3404 ], [ @.str.2, %3400 ]
  store i32 %3395, ptr %3394, align 4, !tbaa !5
  %3406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3407 = load i32, ptr @test_count, align 4, !tbaa !5
  %3408 = load i32, ptr %3390, align 4, !tbaa !5
  %3409 = call ptr @s2n_strerror(i32 noundef %3408, ptr noundef nonnull @.str.4) #10
  %3410 = load i32, ptr %3390, align 4, !tbaa !5
  %3411 = call ptr @s2n_strerror_debug(i32 noundef %3410, ptr noundef nonnull @.str.4) #10
  %3412 = load i32, ptr %3394, align 4, !tbaa !5
  %3413 = call ptr @strerror(i32 noundef %3412) #10
  %3414 = load i32, ptr %3394, align 4, !tbaa !5
  %3415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3406, ptr noundef nonnull %.str.5.sink1802, i32 noundef %3407, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.1, i32 noundef 264, ptr noundef %3409, ptr noundef %3411, ptr noundef %3413, i32 noundef %3414) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3416:                                             ; preds = %3388
  %3417 = add nsw i32 %3360, 3
  store i32 %3417, ptr @test_count, align 4, !tbaa !5
  %3418 = call ptr @s2n_strerror_debug(i32 noundef %3391, ptr noundef nonnull @.str.4) #10
  %3419 = icmp eq ptr %3418, null
  br i1 %3419, label %3420, label %3443

3420:                                             ; preds = %3416
  %3421 = tail call ptr @__errno_location() #11
  %3422 = load i32, ptr %3421, align 4, !tbaa !5
  %3423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3424 = call i32 @s2n_print_stacktrace(ptr noundef %3423) #10
  %3425 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3426 = trunc nuw i8 %3425 to i1
  br i1 %3426, label %3427, label %3431

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

3431:                                             ; preds = %3427, %3420
  br label %3432

3432:                                             ; preds = %3427, %3431
  %.str.5.sink1811 = phi ptr [ @.str.5, %3431 ], [ @.str.2, %3427 ]
  store i32 %3422, ptr %3421, align 4, !tbaa !5
  %3433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3434 = load i32, ptr @test_count, align 4, !tbaa !5
  %3435 = load i32, ptr %3390, align 4, !tbaa !5
  %3436 = call ptr @s2n_strerror(i32 noundef %3435, ptr noundef nonnull @.str.4) #10
  %3437 = load i32, ptr %3390, align 4, !tbaa !5
  %3438 = call ptr @s2n_strerror_debug(i32 noundef %3437, ptr noundef nonnull @.str.4) #10
  %3439 = load i32, ptr %3421, align 4, !tbaa !5
  %3440 = call ptr @strerror(i32 noundef %3439) #10
  %3441 = load i32, ptr %3421, align 4, !tbaa !5
  %3442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3433, ptr noundef nonnull %.str.5.sink1811, i32 noundef %3434, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 264, ptr noundef %3436, ptr noundef %3438, ptr noundef %3440, i32 noundef %3441) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3443:                                             ; preds = %3416
  store i32 0, ptr %3390, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #10
  %3444 = tail call ptr @__errno_location() #11
  store i32 0, ptr %3444, align 4, !tbaa !5
  %3445 = load i32, ptr @test_count, align 4, !tbaa !5
  %3446 = add nsw i32 %3445, 1
  store i32 %3446, ptr @test_count, align 4, !tbaa !5
  %3447 = load i32, ptr %12, align 4, !tbaa !5
  %3448 = icmp eq i32 %3447, 2
  br i1 %3448, label %3471, label %3449

3449:                                             ; preds = %3443
  %3450 = load i32, ptr %3444, align 4, !tbaa !5
  %3451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3452 = call i32 @s2n_print_stacktrace(ptr noundef %3451) #10
  %3453 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3454 = trunc nuw i8 %3453 to i1
  br i1 %3454, label %3455, label %3459

3455:                                             ; preds = %3449
  %3456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3457 = call i32 @fileno(ptr noundef %3456) #10
  %3458 = call i32 @isatty(i32 noundef %3457) #10
  %.not433 = icmp eq i32 %3458, 0
  br i1 %.not433, label %3459, label %3460

3459:                                             ; preds = %3455, %3449
  br label %3460

3460:                                             ; preds = %3455, %3459
  %.str.5.sink1820 = phi ptr [ @.str.5, %3459 ], [ @.str.2, %3455 ]
  store i32 %3450, ptr %3444, align 4, !tbaa !5
  %3461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3462 = load i32, ptr @test_count, align 4, !tbaa !5
  %3463 = load i32, ptr %3390, align 4, !tbaa !5
  %3464 = call ptr @s2n_strerror(i32 noundef %3463, ptr noundef nonnull @.str.4) #10
  %3465 = load i32, ptr %3390, align 4, !tbaa !5
  %3466 = call ptr @s2n_strerror_debug(i32 noundef %3465, ptr noundef nonnull @.str.4) #10
  %3467 = load i32, ptr %3444, align 4, !tbaa !5
  %3468 = call ptr @strerror(i32 noundef %3467) #10
  %3469 = load i32, ptr %3444, align 4, !tbaa !5
  %3470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3461, ptr noundef nonnull %.str.5.sink1820, i32 noundef %3462, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 265, ptr noundef %3464, ptr noundef %3466, ptr noundef %3468, i32 noundef %3469) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3471:                                             ; preds = %3443
  %3472 = add nsw i32 %3445, 2
  store i32 %3472, ptr @test_count, align 4, !tbaa !5
  %3473 = load ptr, ptr %9, align 8, !tbaa !9
  %3474 = getelementptr inbounds i8, ptr %3473, i64 1904
  %3475 = load i32, ptr %3474, align 8, !tbaa !43
  %3476 = icmp eq i32 %3475, 0
  br i1 %3476, label %3477, label %3499

3477:                                             ; preds = %3471
  %3478 = load i32, ptr %3444, align 4, !tbaa !5
  %3479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3480 = call i32 @s2n_print_stacktrace(ptr noundef %3479) #10
  %3481 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3482 = trunc nuw i8 %3481 to i1
  br i1 %3482, label %3483, label %3487

3483:                                             ; preds = %3477
  %3484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3485 = call i32 @fileno(ptr noundef %3484) #10
  %3486 = call i32 @isatty(i32 noundef %3485) #10
  %.not449 = icmp eq i32 %3486, 0
  br i1 %.not449, label %3487, label %3488

3487:                                             ; preds = %3483, %3477
  br label %3488

3488:                                             ; preds = %3483, %3487
  %.str.5.sink1829 = phi ptr [ @.str.5, %3487 ], [ @.str.2, %3483 ]
  store i32 %3478, ptr %3444, align 4, !tbaa !5
  %3489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3490 = load i32, ptr @test_count, align 4, !tbaa !5
  %3491 = load i32, ptr %3390, align 4, !tbaa !5
  %3492 = call ptr @s2n_strerror(i32 noundef %3491, ptr noundef nonnull @.str.4) #10
  %3493 = load i32, ptr %3390, align 4, !tbaa !5
  %3494 = call ptr @s2n_strerror_debug(i32 noundef %3493, ptr noundef nonnull @.str.4) #10
  %3495 = load i32, ptr %3444, align 4, !tbaa !5
  %3496 = call ptr @strerror(i32 noundef %3495) #10
  %3497 = load i32, ptr %3444, align 4, !tbaa !5
  %3498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3489, ptr noundef nonnull %.str.5.sink1829, i32 noundef %3490, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 268, ptr noundef %3492, ptr noundef %3494, ptr noundef %3496, i32 noundef %3497) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3499:                                             ; preds = %3471
  %3500 = add nsw i32 %3445, 3
  store i32 %3500, ptr @test_count, align 4, !tbaa !5
  %3501 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %10, i32 noundef 0) #10
  %3502 = icmp eq i32 %3501, -1
  br i1 %3502, label %3503, label %3525

3503:                                             ; preds = %3499
  %3504 = load i32, ptr %3444, align 4, !tbaa !5
  %3505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3506 = call i32 @s2n_print_stacktrace(ptr noundef %3505) #10
  %3507 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3508 = trunc nuw i8 %3507 to i1
  br i1 %3508, label %3509, label %3513

3509:                                             ; preds = %3503
  %3510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3511 = call i32 @fileno(ptr noundef %3510) #10
  %3512 = call i32 @isatty(i32 noundef %3511) #10
  %.not448 = icmp eq i32 %3512, 0
  br i1 %.not448, label %3513, label %3514

3513:                                             ; preds = %3509, %3503
  br label %3514

3514:                                             ; preds = %3509, %3513
  %.str.5.sink1838 = phi ptr [ @.str.5, %3513 ], [ @.str.2, %3509 ]
  store i32 %3504, ptr %3444, align 4, !tbaa !5
  %3515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3516 = load i32, ptr @test_count, align 4, !tbaa !5
  %3517 = load i32, ptr %3390, align 4, !tbaa !5
  %3518 = call ptr @s2n_strerror(i32 noundef %3517, ptr noundef nonnull @.str.4) #10
  %3519 = load i32, ptr %3390, align 4, !tbaa !5
  %3520 = call ptr @s2n_strerror_debug(i32 noundef %3519, ptr noundef nonnull @.str.4) #10
  %3521 = load i32, ptr %3444, align 4, !tbaa !5
  %3522 = call ptr @strerror(i32 noundef %3521) #10
  %3523 = load i32, ptr %3444, align 4, !tbaa !5
  %3524 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3515, ptr noundef nonnull %.str.5.sink1838, i32 noundef %3516, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.1, i32 noundef 271, ptr noundef %3518, ptr noundef %3520, ptr noundef %3522, i32 noundef %3523) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3525:                                             ; preds = %3499
  %3526 = load ptr, ptr %9, align 8, !tbaa !9
  %3527 = call i64 @s2n_send(ptr noundef %3526, ptr noundef nonnull %13, i64 noundef 4096, ptr noundef nonnull %12) #10
  %3528 = load i32, ptr @test_count, align 4, !tbaa !5
  %3529 = add nsw i32 %3528, 1
  store i32 %3529, ptr @test_count, align 4, !tbaa !5
  %3530 = and i64 %3527, 4294967295
  %3531 = icmp eq i64 %3530, 4294967295
  br i1 %3531, label %3532, label %3554

3532:                                             ; preds = %3525
  %3533 = load i32, ptr %3444, align 4, !tbaa !5
  %3534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3535 = call i32 @s2n_print_stacktrace(ptr noundef %3534) #10
  %3536 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3537 = trunc nuw i8 %3536 to i1
  br i1 %3537, label %3538, label %3542

3538:                                             ; preds = %3532
  %3539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3540 = call i32 @fileno(ptr noundef %3539) #10
  %3541 = call i32 @isatty(i32 noundef %3540) #10
  %.not447 = icmp eq i32 %3541, 0
  br i1 %.not447, label %3542, label %3543

3542:                                             ; preds = %3538, %3532
  br label %3543

3543:                                             ; preds = %3538, %3542
  %.str.5.sink1847 = phi ptr [ @.str.5, %3542 ], [ @.str.2, %3538 ]
  store i32 %3533, ptr %3444, align 4, !tbaa !5
  %3544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3545 = load i32, ptr @test_count, align 4, !tbaa !5
  %3546 = load i32, ptr %3390, align 4, !tbaa !5
  %3547 = call ptr @s2n_strerror(i32 noundef %3546, ptr noundef nonnull @.str.4) #10
  %3548 = load i32, ptr %3390, align 4, !tbaa !5
  %3549 = call ptr @s2n_strerror_debug(i32 noundef %3548, ptr noundef nonnull @.str.4) #10
  %3550 = load i32, ptr %3444, align 4, !tbaa !5
  %3551 = call ptr @strerror(i32 noundef %3550) #10
  %3552 = load i32, ptr %3444, align 4, !tbaa !5
  %3553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3544, ptr noundef nonnull %.str.5.sink1847, i32 noundef %3545, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.1, i32 noundef 274, ptr noundef %3547, ptr noundef %3549, ptr noundef %3551, i32 noundef %3552) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3554:                                             ; preds = %3525
  %3555 = add nsw i32 %3528, 2
  store i32 %3555, ptr @test_count, align 4, !tbaa !5
  %3556 = icmp eq i64 %3530, 4096
  br i1 %3556, label %3579, label %3557

3557:                                             ; preds = %3554
  %3558 = load i32, ptr %3444, align 4, !tbaa !5
  %3559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3560 = call i32 @s2n_print_stacktrace(ptr noundef %3559) #10
  %3561 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3562 = trunc nuw i8 %3561 to i1
  br i1 %3562, label %3563, label %3567

3563:                                             ; preds = %3557
  %3564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3565 = call i32 @fileno(ptr noundef %3564) #10
  %3566 = call i32 @isatty(i32 noundef %3565) #10
  %.not434 = icmp eq i32 %3566, 0
  br i1 %.not434, label %3567, label %3568

3567:                                             ; preds = %3563, %3557
  br label %3568

3568:                                             ; preds = %3563, %3567
  %.str.5.sink1856 = phi ptr [ @.str.5, %3567 ], [ @.str.2, %3563 ]
  store i32 %3558, ptr %3444, align 4, !tbaa !5
  %3569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3570 = load i32, ptr @test_count, align 4, !tbaa !5
  %3571 = load i32, ptr %3390, align 4, !tbaa !5
  %3572 = call ptr @s2n_strerror(i32 noundef %3571, ptr noundef nonnull @.str.4) #10
  %3573 = load i32, ptr %3390, align 4, !tbaa !5
  %3574 = call ptr @s2n_strerror_debug(i32 noundef %3573, ptr noundef nonnull @.str.4) #10
  %3575 = load i32, ptr %3444, align 4, !tbaa !5
  %3576 = call ptr @strerror(i32 noundef %3575) #10
  %3577 = load i32, ptr %3444, align 4, !tbaa !5
  %3578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3569, ptr noundef nonnull %.str.5.sink1856, i32 noundef %3570, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.1, i32 noundef 277, ptr noundef %3572, ptr noundef %3574, ptr noundef %3576, i32 noundef %3577) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3579:                                             ; preds = %3554
  %3580 = add nsw i32 %3528, 3
  store i32 %3580, ptr @test_count, align 4, !tbaa !5
  %3581 = load ptr, ptr %9, align 8, !tbaa !9
  %3582 = getelementptr inbounds i8, ptr %3581, i64 1904
  %3583 = load i32, ptr %3582, align 8, !tbaa !43
  %3584 = icmp eq i32 %3583, 0
  br i1 %3584, label %3607, label %3585

3585:                                             ; preds = %3579
  %3586 = load i32, ptr %3444, align 4, !tbaa !5
  %3587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3588 = call i32 @s2n_print_stacktrace(ptr noundef %3587) #10
  %3589 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3590 = trunc nuw i8 %3589 to i1
  br i1 %3590, label %3591, label %3595

3591:                                             ; preds = %3585
  %3592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3593 = call i32 @fileno(ptr noundef %3592) #10
  %3594 = call i32 @isatty(i32 noundef %3593) #10
  %.not435 = icmp eq i32 %3594, 0
  br i1 %.not435, label %3595, label %3596

3595:                                             ; preds = %3591, %3585
  br label %3596

3596:                                             ; preds = %3591, %3595
  %.str.5.sink1865 = phi ptr [ @.str.5, %3595 ], [ @.str.2, %3591 ]
  store i32 %3586, ptr %3444, align 4, !tbaa !5
  %3597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3598 = load i32, ptr @test_count, align 4, !tbaa !5
  %3599 = load i32, ptr %3390, align 4, !tbaa !5
  %3600 = call ptr @s2n_strerror(i32 noundef %3599, ptr noundef nonnull @.str.4) #10
  %3601 = load i32, ptr %3390, align 4, !tbaa !5
  %3602 = call ptr @s2n_strerror_debug(i32 noundef %3601, ptr noundef nonnull @.str.4) #10
  %3603 = load i32, ptr %3444, align 4, !tbaa !5
  %3604 = call ptr @strerror(i32 noundef %3603) #10
  %3605 = load i32, ptr %3444, align 4, !tbaa !5
  %3606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3597, ptr noundef nonnull %.str.5.sink1865, i32 noundef %3598, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 280, ptr noundef %3600, ptr noundef %3602, ptr noundef %3604, i32 noundef %3605) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3607:                                             ; preds = %3579
  %3608 = add nsw i32 %3528, 4
  store i32 %3608, ptr @test_count, align 4, !tbaa !5
  %3609 = load ptr, ptr %8, align 8, !tbaa !9
  %3610 = call i64 @s2n_recv(ptr noundef %3609, ptr noundef nonnull %13, i64 noundef 2048, ptr noundef nonnull %12) #10
  %3611 = icmp eq i64 %3610, 2048
  br i1 %3611, label %3634, label %3612

3612:                                             ; preds = %3607
  %3613 = load i32, ptr %3444, align 4, !tbaa !5
  %3614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3615 = call i32 @s2n_print_stacktrace(ptr noundef %3614) #10
  %3616 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3617 = trunc nuw i8 %3616 to i1
  br i1 %3617, label %3618, label %3622

3618:                                             ; preds = %3612
  %3619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3620 = call i32 @fileno(ptr noundef %3619) #10
  %3621 = call i32 @isatty(i32 noundef %3620) #10
  %.not436 = icmp eq i32 %3621, 0
  br i1 %.not436, label %3622, label %3623

3622:                                             ; preds = %3618, %3612
  br label %3623

3623:                                             ; preds = %3618, %3622
  %.str.5.sink1874 = phi ptr [ @.str.5, %3622 ], [ @.str.2, %3618 ]
  store i32 %3613, ptr %3444, align 4, !tbaa !5
  %3624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3625 = load i32, ptr @test_count, align 4, !tbaa !5
  %3626 = load i32, ptr %3390, align 4, !tbaa !5
  %3627 = call ptr @s2n_strerror(i32 noundef %3626, ptr noundef nonnull @.str.4) #10
  %3628 = load i32, ptr %3390, align 4, !tbaa !5
  %3629 = call ptr @s2n_strerror_debug(i32 noundef %3628, ptr noundef nonnull @.str.4) #10
  %3630 = load i32, ptr %3444, align 4, !tbaa !5
  %3631 = call ptr @strerror(i32 noundef %3630) #10
  %3632 = load i32, ptr %3444, align 4, !tbaa !5
  %3633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3624, ptr noundef nonnull %.str.5.sink1874, i32 noundef %3625, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 283, ptr noundef %3627, ptr noundef %3629, ptr noundef %3631, i32 noundef %3632) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3634:                                             ; preds = %3607
  %3635 = load i32, ptr @test_count, align 4, !tbaa !5
  %3636 = add nsw i32 %3635, 1
  store i32 %3636, ptr @test_count, align 4, !tbaa !5
  %3637 = load ptr, ptr %8, align 8, !tbaa !9
  %3638 = getelementptr inbounds i8, ptr %3637, i64 1824
  %3639 = load i32, ptr %3638, align 8, !tbaa !44
  %3640 = icmp eq i32 %3639, 0
  br i1 %3640, label %3641, label %3663

3641:                                             ; preds = %3634
  %3642 = load i32, ptr %3444, align 4, !tbaa !5
  %3643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3644 = call i32 @s2n_print_stacktrace(ptr noundef %3643) #10
  %3645 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3646 = trunc nuw i8 %3645 to i1
  br i1 %3646, label %3647, label %3651

3647:                                             ; preds = %3641
  %3648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3649 = call i32 @fileno(ptr noundef %3648) #10
  %3650 = call i32 @isatty(i32 noundef %3649) #10
  %.not446 = icmp eq i32 %3650, 0
  br i1 %.not446, label %3651, label %3652

3651:                                             ; preds = %3647, %3641
  br label %3652

3652:                                             ; preds = %3647, %3651
  %.str.5.sink1883 = phi ptr [ @.str.5, %3651 ], [ @.str.2, %3647 ]
  store i32 %3642, ptr %3444, align 4, !tbaa !5
  %3653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3654 = load i32, ptr @test_count, align 4, !tbaa !5
  %3655 = load i32, ptr %3390, align 4, !tbaa !5
  %3656 = call ptr @s2n_strerror(i32 noundef %3655, ptr noundef nonnull @.str.4) #10
  %3657 = load i32, ptr %3390, align 4, !tbaa !5
  %3658 = call ptr @s2n_strerror_debug(i32 noundef %3657, ptr noundef nonnull @.str.4) #10
  %3659 = load i32, ptr %3444, align 4, !tbaa !5
  %3660 = call ptr @strerror(i32 noundef %3659) #10
  %3661 = load i32, ptr %3444, align 4, !tbaa !5
  %3662 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3653, ptr noundef nonnull %.str.5.sink1883, i32 noundef %3654, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 286, ptr noundef %3656, ptr noundef %3658, ptr noundef %3660, i32 noundef %3661) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3663:                                             ; preds = %3634
  %3664 = add nsw i32 %3635, 2
  store i32 %3664, ptr @test_count, align 4, !tbaa !5
  %3665 = call i64 @s2n_recv(ptr noundef nonnull %3637, ptr noundef nonnull %13, i64 noundef 2048, ptr noundef nonnull %12) #10
  %3666 = icmp eq i64 %3665, 2048
  br i1 %3666, label %3689, label %3667

3667:                                             ; preds = %3663
  %3668 = load i32, ptr %3444, align 4, !tbaa !5
  %3669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3670 = call i32 @s2n_print_stacktrace(ptr noundef %3669) #10
  %3671 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3672 = trunc nuw i8 %3671 to i1
  br i1 %3672, label %3673, label %3677

3673:                                             ; preds = %3667
  %3674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3675 = call i32 @fileno(ptr noundef %3674) #10
  %3676 = call i32 @isatty(i32 noundef %3675) #10
  %.not437 = icmp eq i32 %3676, 0
  br i1 %.not437, label %3677, label %3678

3677:                                             ; preds = %3673, %3667
  br label %3678

3678:                                             ; preds = %3673, %3677
  %.str.5.sink1892 = phi ptr [ @.str.5, %3677 ], [ @.str.2, %3673 ]
  store i32 %3668, ptr %3444, align 4, !tbaa !5
  %3679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3680 = load i32, ptr @test_count, align 4, !tbaa !5
  %3681 = load i32, ptr %3390, align 4, !tbaa !5
  %3682 = call ptr @s2n_strerror(i32 noundef %3681, ptr noundef nonnull @.str.4) #10
  %3683 = load i32, ptr %3390, align 4, !tbaa !5
  %3684 = call ptr @s2n_strerror_debug(i32 noundef %3683, ptr noundef nonnull @.str.4) #10
  %3685 = load i32, ptr %3444, align 4, !tbaa !5
  %3686 = call ptr @strerror(i32 noundef %3685) #10
  %3687 = load i32, ptr %3444, align 4, !tbaa !5
  %3688 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3679, ptr noundef nonnull %.str.5.sink1892, i32 noundef %3680, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 289, ptr noundef %3682, ptr noundef %3684, ptr noundef %3686, i32 noundef %3687) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3689:                                             ; preds = %3663
  %3690 = load i32, ptr @test_count, align 4, !tbaa !5
  %3691 = add nsw i32 %3690, 1
  store i32 %3691, ptr @test_count, align 4, !tbaa !5
  %3692 = load ptr, ptr %8, align 8, !tbaa !9
  %3693 = getelementptr inbounds i8, ptr %3692, i64 1824
  %3694 = load i32, ptr %3693, align 8, !tbaa !44
  %3695 = icmp eq i32 %3694, 0
  br i1 %3695, label %3718, label %3696

3696:                                             ; preds = %3689
  %3697 = load i32, ptr %3444, align 4, !tbaa !5
  %3698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3699 = call i32 @s2n_print_stacktrace(ptr noundef %3698) #10
  %3700 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3701 = trunc nuw i8 %3700 to i1
  br i1 %3701, label %3702, label %3706

3702:                                             ; preds = %3696
  %3703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3704 = call i32 @fileno(ptr noundef %3703) #10
  %3705 = call i32 @isatty(i32 noundef %3704) #10
  %.not438 = icmp eq i32 %3705, 0
  br i1 %.not438, label %3706, label %3707

3706:                                             ; preds = %3702, %3696
  br label %3707

3707:                                             ; preds = %3702, %3706
  %.str.5.sink1901 = phi ptr [ @.str.5, %3706 ], [ @.str.2, %3702 ]
  store i32 %3697, ptr %3444, align 4, !tbaa !5
  %3708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3709 = load i32, ptr @test_count, align 4, !tbaa !5
  %3710 = load i32, ptr %3390, align 4, !tbaa !5
  %3711 = call ptr @s2n_strerror(i32 noundef %3710, ptr noundef nonnull @.str.4) #10
  %3712 = load i32, ptr %3390, align 4, !tbaa !5
  %3713 = call ptr @s2n_strerror_debug(i32 noundef %3712, ptr noundef nonnull @.str.4) #10
  %3714 = load i32, ptr %3444, align 4, !tbaa !5
  %3715 = call ptr @strerror(i32 noundef %3714) #10
  %3716 = load i32, ptr %3444, align 4, !tbaa !5
  %3717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3708, ptr noundef nonnull %.str.5.sink1901, i32 noundef %3709, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 292, ptr noundef %3711, ptr noundef %3713, ptr noundef %3715, i32 noundef %3716) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3718:                                             ; preds = %3689
  call void @llvm.lifetime.end.p0(i64 4096, ptr nonnull %13) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #10
  %3719 = call i32 @s2n_stuffer_free(ptr noundef nonnull %11) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %11) #10
  %3720 = call i32 @s2n_stuffer_free(ptr noundef nonnull %10) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %10) #10
  %3721 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %9) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #10
  %3722 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %8) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #10
  %3723 = load i32, ptr @test_count, align 4, !tbaa !5
  %3724 = add nsw i32 %3723, 1
  store i32 %3724, ptr @test_count, align 4, !tbaa !5
  %3725 = call i32 @s2n_config_free(ptr noundef nonnull %207) #10
  %3726 = icmp eq i32 %3725, -1
  br i1 %3726, label %3727, label %3749

3727:                                             ; preds = %3718
  %3728 = load i32, ptr %3444, align 4, !tbaa !5
  %3729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3730 = call i32 @s2n_print_stacktrace(ptr noundef %3729) #10
  %3731 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3732 = trunc nuw i8 %3731 to i1
  br i1 %3732, label %3733, label %3737

3733:                                             ; preds = %3727
  %3734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3735 = call i32 @fileno(ptr noundef %3734) #10
  %3736 = call i32 @isatty(i32 noundef %3735) #10
  %.not445 = icmp eq i32 %3736, 0
  br i1 %.not445, label %3737, label %3738

3737:                                             ; preds = %3733, %3727
  br label %3738

3738:                                             ; preds = %3733, %3737
  %.str.5.sink1910 = phi ptr [ @.str.5, %3737 ], [ @.str.2, %3733 ]
  store i32 %3728, ptr %3444, align 4, !tbaa !5
  %3739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3740 = load i32, ptr @test_count, align 4, !tbaa !5
  %3741 = load i32, ptr %3390, align 4, !tbaa !5
  %3742 = call ptr @s2n_strerror(i32 noundef %3741, ptr noundef nonnull @.str.4) #10
  %3743 = load i32, ptr %3390, align 4, !tbaa !5
  %3744 = call ptr @s2n_strerror_debug(i32 noundef %3743, ptr noundef nonnull @.str.4) #10
  %3745 = load i32, ptr %3444, align 4, !tbaa !5
  %3746 = call ptr @strerror(i32 noundef %3745) #10
  %3747 = load i32, ptr %3444, align 4, !tbaa !5
  %3748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3739, ptr noundef nonnull %.str.5.sink1910, i32 noundef %3740, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.1, i32 noundef 295, ptr noundef %3742, ptr noundef %3744, ptr noundef %3746, i32 noundef %3747) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3749:                                             ; preds = %3718
  %3750 = load i32, ptr @test_count, align 4, !tbaa !5
  %3751 = add nsw i32 %3750, 1
  store i32 %3751, ptr @test_count, align 4, !tbaa !5
  %3752 = load ptr, ptr %3, align 8, !tbaa !9
  %3753 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %3752) #10
  %3754 = icmp eq i32 %3753, -1
  br i1 %3754, label %3755, label %3777

3755:                                             ; preds = %3749
  %3756 = load i32, ptr %3444, align 4, !tbaa !5
  %3757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3758 = call i32 @s2n_print_stacktrace(ptr noundef %3757) #10
  %3759 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3760 = trunc nuw i8 %3759 to i1
  br i1 %3760, label %3761, label %3765

3761:                                             ; preds = %3755
  %3762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3763 = call i32 @fileno(ptr noundef %3762) #10
  %3764 = call i32 @isatty(i32 noundef %3763) #10
  %.not444 = icmp eq i32 %3764, 0
  br i1 %.not444, label %3765, label %3766

3765:                                             ; preds = %3761, %3755
  br label %3766

3766:                                             ; preds = %3761, %3765
  %.str.5.sink1919 = phi ptr [ @.str.5, %3765 ], [ @.str.2, %3761 ]
  store i32 %3756, ptr %3444, align 4, !tbaa !5
  %3767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3768 = load i32, ptr @test_count, align 4, !tbaa !5
  %3769 = load i32, ptr %3390, align 4, !tbaa !5
  %3770 = call ptr @s2n_strerror(i32 noundef %3769, ptr noundef nonnull @.str.4) #10
  %3771 = load i32, ptr %3390, align 4, !tbaa !5
  %3772 = call ptr @s2n_strerror_debug(i32 noundef %3771, ptr noundef nonnull @.str.4) #10
  %3773 = load i32, ptr %3444, align 4, !tbaa !5
  %3774 = call ptr @strerror(i32 noundef %3773) #10
  %3775 = load i32, ptr %3444, align 4, !tbaa !5
  %3776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3767, ptr noundef nonnull %.str.5.sink1919, i32 noundef %3768, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.1, i32 noundef 296, ptr noundef %3770, ptr noundef %3772, ptr noundef %3774, i32 noundef %3775) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3777:                                             ; preds = %3749
  %3778 = call i32 @s2n_cleanup() #10
  %3779 = icmp eq i32 %3778, -1
  br i1 %3779, label %3780, label %3802

3780:                                             ; preds = %3777
  %3781 = load i32, ptr %3444, align 4, !tbaa !5
  %3782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3783 = call i32 @s2n_print_stacktrace(ptr noundef %3782) #10
  %3784 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3785 = trunc nuw i8 %3784 to i1
  br i1 %3785, label %3786, label %3790

3786:                                             ; preds = %3780
  %3787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3788 = call i32 @fileno(ptr noundef %3787) #10
  %3789 = call i32 @isatty(i32 noundef %3788) #10
  %.not443 = icmp eq i32 %3789, 0
  br i1 %.not443, label %3790, label %3791

3790:                                             ; preds = %3786, %3780
  br label %3791

3791:                                             ; preds = %3786, %3790
  %.str.5.sink1928 = phi ptr [ @.str.5, %3790 ], [ @.str.2, %3786 ]
  store i32 %3781, ptr %3444, align 4, !tbaa !5
  %3792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3793 = load i32, ptr @test_count, align 4, !tbaa !5
  %3794 = load i32, ptr %3390, align 4, !tbaa !5
  %3795 = call ptr @s2n_strerror(i32 noundef %3794, ptr noundef nonnull @.str.4) #10
  %3796 = load i32, ptr %3390, align 4, !tbaa !5
  %3797 = call ptr @s2n_strerror_debug(i32 noundef %3796, ptr noundef nonnull @.str.4) #10
  %3798 = load i32, ptr %3444, align 4, !tbaa !5
  %3799 = call ptr @strerror(i32 noundef %3798) #10
  %3800 = load i32, ptr %3444, align 4, !tbaa !5
  %3801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3792, ptr noundef nonnull %.str.5.sink1928, i32 noundef %3793, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 297, ptr noundef %3795, ptr noundef %3797, ptr noundef %3799, i32 noundef %3800) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3802:                                             ; preds = %3777
  %3803 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #10
  %3804 = icmp eq i32 %3803, -1
  br i1 %3804, label %3805, label %3827

3805:                                             ; preds = %3802
  %3806 = load i32, ptr %3444, align 4, !tbaa !5
  %3807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3808 = call i32 @s2n_print_stacktrace(ptr noundef %3807) #10
  %3809 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3810 = trunc nuw i8 %3809 to i1
  br i1 %3810, label %3811, label %3815

3811:                                             ; preds = %3805
  %3812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3813 = call i32 @fileno(ptr noundef %3812) #10
  %3814 = call i32 @isatty(i32 noundef %3813) #10
  %.not442 = icmp eq i32 %3814, 0
  br i1 %.not442, label %3815, label %3816

3815:                                             ; preds = %3811, %3805
  br label %3816

3816:                                             ; preds = %3811, %3815
  %.str.5.sink1937 = phi ptr [ @.str.5, %3815 ], [ @.str.2, %3811 ]
  store i32 %3806, ptr %3444, align 4, !tbaa !5
  %3817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3818 = load i32, ptr @test_count, align 4, !tbaa !5
  %3819 = load i32, ptr %3390, align 4, !tbaa !5
  %3820 = call ptr @s2n_strerror(i32 noundef %3819, ptr noundef nonnull @.str.4) #10
  %3821 = load i32, ptr %3390, align 4, !tbaa !5
  %3822 = call ptr @s2n_strerror_debug(i32 noundef %3821, ptr noundef nonnull @.str.4) #10
  %3823 = load i32, ptr %3444, align 4, !tbaa !5
  %3824 = call ptr @strerror(i32 noundef %3823) #10
  %3825 = load i32, ptr %3444, align 4, !tbaa !5
  %3826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3817, ptr noundef nonnull %.str.5.sink1937, i32 noundef %3818, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 297, ptr noundef %3820, ptr noundef %3822, ptr noundef %3824, i32 noundef %3825) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3827:                                             ; preds = %3802
  %3828 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3829 = trunc nuw i8 %3828 to i1
  br i1 %3829, label %3830, label %3841

3830:                                             ; preds = %3827
  %3831 = load ptr, ptr @stdout, align 8, !tbaa !9
  %3832 = call i32 @fileno(ptr noundef %3831) #10
  %3833 = call i32 @isatty(i32 noundef %3832) #10
  %.not439 = icmp eq i32 %3833, 0
  br i1 %.not439, label %3841, label %3834

3834:                                             ; preds = %3830
  %3835 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not441 = icmp eq i32 %3835, 0
  %3836 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not441, label %3839, label %3837

3837:                                             ; preds = %3834
  %3838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3836, ptr noundef nonnull @.str.10, i32 noundef %3835) #10
  br label %3848

3839:                                             ; preds = %3834
  %3840 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3836, ptr noundef nonnull @.str.11) #10
  br label %3848

3841:                                             ; preds = %3830, %3827
  %3842 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not440 = icmp eq i32 %3842, 0
  %3843 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not440, label %3846, label %3844

3844:                                             ; preds = %3841
  %3845 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3843, ptr noundef nonnull @.str.12, i32 noundef %3842) #10
  br label %3848

3846:                                             ; preds = %3841
  %3847 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3843, ptr noundef nonnull @.str.13) #10
  br label %3848

3848:                                             ; preds = %3844, %3846, %3837, %3839
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #10
  br label %3849

3849:                                             ; preds = %168, %166, %175, %173, %3848
  ret i32 0
}

; Function Attrs: nofree nounwind
declare noundef i32 @fprintf(ptr nocapture noundef, ptr nocapture noundef readonly, ...) local_unnamed_addr #1

; Function Attrs: nofree nounwind
declare noundef i32 @fflush(ptr nocapture noundef) local_unnamed_addr #1

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) local_unnamed_addr #2

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

; Function Attrs: mustprogress nofree nosync nounwind willreturn memory(none)
declare ptr @__errno_location() local_unnamed_addr #4

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #2

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

; Function Attrs: nofree nounwind
declare noundef i32 @fileno(ptr nocapture noundef) local_unnamed_addr #1

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

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

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

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

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

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

declare i32 @s2n_enable_atexit() local_unnamed_addr #2

declare i32 @s2n_init() local_unnamed_addr #2

declare zeroext i1 @s2n_is_tls13_fully_supported(...) local_unnamed_addr #2

declare i32 @s2n_cleanup() local_unnamed_addr #2

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_set_cipher_preferences(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_unsafe_for_testing(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 ptr @s2n_connection_new(i32 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) #8

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_connection_set_io_pair(ptr noundef, ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_negotiate_test_server_and_client_until_message(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_prefer_low_latency(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_prefer_throughput(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_send_max_fragment_length(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_config_accept_max_fragment_length(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_wipe(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_ptr_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_dynamic_buffers(ptr noundef, i1 noundef zeroext) 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_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 void @s2n_debug_info_reset() local_unnamed_addr #2

declare i64 @s2n_recv(ptr noundef, ptr noundef, i64 noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_cert_chain_and_key_free(ptr noundef) local_unnamed_addr #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nofree nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { mustprogress nofree nosync nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #7 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #9 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #10 = { nounwind }
attributes #11 = { nounwind willreturn memory(none) }
attributes #12 = { cold nounwind }
attributes #13 = { noreturn nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !7, i64 220}
!16 = !{!"s2n_connection", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !7, i64 80, !7, i64 102, !7, i64 124, !6, i64 148, !6, i64 152, !17, i64 160, !18, i64 168, !18, i64 176, !7, i64 184, !7, i64 216, !7, i64 217, !7, i64 218, !7, i64 219, !7, i64 220, !7, i64 221, !7, i64 222, !10, i64 224, !10, i64 232, !19, i64 240, !10, i64 632, !10, i64 640, !20, i64 648, !26, i64 1144, !29, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !32, i64 1776, !32, i64 1816, !32, i64 1856, !32, i64 1896, !6, i64 1936, !18, i64 1944, !7, i64 1952, !32, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !33, i64 2004, !33, i64 2008, !34, i64 2016, !31, i64 2208, !6, i64 2212, !31, i64 2216, !18, i64 2224, !7, i64 2232, !18, i64 2240, !18, i64 2248, !18, i64 2256, !33, i64 2264, !33, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !25, i64 2792, !6, i64 2816, !25, i64 2824, !25, i64 2848, !25, i64 2872, !36, i64 2896, !38, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !25, i64 3784, !6, i64 3808, !40, i64 3816, !7, i64 3848, !32, i64 3992, !25, i64 4032, !25, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !31, i64 4084, !31, i64 4086, !6, i64 4088, !6, i64 4092, !25, i64 4096, !6, i64 4120, !41, i64 4128, !33, i64 4176, !7, i64 4180, !7, i64 4181}
!17 = !{!"s2n_timer", !18, i64 0}
!18 = !{!"long", !7, i64 0}
!19 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!20 = !{!"s2n_kex_parameters", !21, i64 0, !22, i64 8, !7, i64 24, !22, i64 56, !23, i64 72, !23, i64 184, !7, i64 296, !24, i64 360, !25, i64 448, !25, i64 472}
!21 = !{!"s2n_dh_params", !10, i64 0}
!22 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!23 = !{!"s2n_kem_group_params", !10, i64 0, !24, i64 8, !22, i64 96}
!24 = !{!"s2n_kem_params", !10, i64 0, !25, i64 8, !25, i64 32, !25, i64 56, !12, i64 80}
!25 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!26 = !{!"s2n_handshake_parameters", !27, i64 0, !27, i64 48, !25, i64 96, !6, i64 120, !28, i64 124, !10, i64 384, !10, i64 392, !10, i64 400, !7, i64 408, !7, i64 440, !7, i64 472, !7, i64 473, !7, i64 474, !7, i64 506}
!27 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!28 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!29 = !{!"s2n_psk_parameters", !6, i64 0, !30, i64 8, !31, i64 40, !31, i64 42, !10, i64 48, !6, i64 56}
!30 = !{!"s2n_array", !25, i64 0, !6, i64 24, !6, i64 28}
!31 = !{!"short", !7, i64 0}
!32 = !{!"s2n_stuffer", !25, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!33 = !{!"", !6, i64 0}
!34 = !{!"s2n_handshake", !32, i64 0, !10, i64 40, !7, i64 48, !7, i64 56, !7, i64 104, !7, i64 152, !6, i64 156, !6, i64 160, !6, i64 164, !6, i64 168, !35, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!35 = !{!"s2n_offered_early_data", !10, i64 0}
!36 = !{!"s2n_client_hello", !25, i64 0, !37, i64 24, !25, i64 728, !25, i64 752, !25, i64 776, !7, i64 800, !7, i64 801, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802}
!37 = !{!"", !7, i64 0, !25, i64 672, !31, i64 696}
!38 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !31, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !39, i64 48, !12, i64 52}
!39 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!40 = !{!"s2n_ticket_fields", !25, i64 0, !6, i64 24}
!41 = !{!"s2n_post_handshake", !32, i64 0, !7, i64 40}
!42 = !{!16, !31, i64 2208}
!43 = !{!16, !6, i64 1904}
!44 = !{!16, !6, i64 1824}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass,TailCallElimPass