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

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

%struct.s2n_result = type { i32 }
%struct.s2n_connection = type { i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, [22 x i8], [22 x i8], [22 x i8], i32, i32, %struct.s2n_timer, i64, i64, [32 x i8], i8, i8, i8, i8, i8, i8, i8, ptr, ptr, %struct.s2n_secrets, ptr, ptr, %struct.s2n_kex_parameters, %struct.s2n_handshake_parameters, %struct.s2n_psk_parameters, ptr, i8, i32, [5 x i8], %struct.s2n_stuffer, %struct.s2n_stuffer, %struct.s2n_stuffer, %struct.s2n_stuffer, i32, i64, [2 x i8], %struct.s2n_stuffer, i8, i8, i8, i8, %struct.s2n_atomic_flag, %struct.s2n_atomic_flag, %struct.s2n_handshake, i16, i32, i16, i64, i8, i64, i64, i64, %struct.s2n_atomic_flag, %struct.s2n_atomic_flag, [256 x i8], [256 x i8], i32, %struct.s2n_blob, i32, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_client_hello, %struct.s2n_x509_validator, ptr, ptr, i8, i32, %struct.s2n_blob, i32, %struct.s2n_ticket_fields, [138 x i8], %struct.s2n_stuffer, %struct.s2n_blob, %struct.s2n_blob, i8, i8, i8, i16, i16, i32, i32, %struct.s2n_blob, i32, %struct.s2n_post_handshake, %struct.s2n_atomic_flag, i8, i8 }
%struct.s2n_timer = type { i64 }
%struct.s2n_secrets = type { %union.anon, i32 }
%union.anon = type { %struct.s2n_tls13_secrets }
%struct.s2n_tls13_secrets = type { [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], i32 }
%struct.s2n_kex_parameters = type { %struct.s2n_dh_params, %struct.s2n_ecc_evp_params, [4 x ptr], %struct.s2n_ecc_evp_params, %struct.s2n_kem_group_params, %struct.s2n_kem_group_params, [8 x ptr], %struct.s2n_kem_params, %struct.s2n_blob, %struct.s2n_blob }
%struct.s2n_dh_params = type { ptr }
%struct.s2n_ecc_evp_params = type { ptr, ptr }
%struct.s2n_kem_group_params = type { ptr, %struct.s2n_kem_params, %struct.s2n_ecc_evp_params }
%struct.s2n_kem_params = type { ptr, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, i8 }
%struct.s2n_handshake_parameters = type { %struct.s2n_pkey, %struct.s2n_pkey, %struct.s2n_blob, i32, %struct.s2n_sig_scheme_list, ptr, ptr, ptr, [4 x ptr], [4 x ptr], i8, i8, [32 x i8], [32 x i8] }
%struct.s2n_pkey = type { ptr, ptr, ptr, ptr, ptr, ptr }
%struct.s2n_sig_scheme_list = type { [128 x i16], i8 }
%struct.s2n_psk_parameters = type { i32, %struct.s2n_array, i16, i16, ptr, i32 }
%struct.s2n_array = type { %struct.s2n_blob, i32, i32 }
%struct.s2n_handshake = type { %struct.s2n_stuffer, ptr, [8 x i8], [48 x i8], [48 x i8], i8, i32, i32, i32, i32, %struct.s2n_offered_early_data, i8, i32 }
%struct.s2n_offered_early_data = type { ptr }
%struct.s2n_client_hello = type { %struct.s2n_blob, %struct.s2n_parsed_extensions_list, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, i8, i8, i8 }
%struct.s2n_parsed_extensions_list = type { [21 x %struct.s2n_parsed_extension], %struct.s2n_blob, i16 }
%struct.s2n_parsed_extension = type { %struct.s2n_blob, i16, i16, i8 }
%struct.s2n_x509_validator = type { ptr, ptr, i8, i8, i16, ptr, i32, ptr, %struct.s2n_cert_validation_info, i8 }
%struct.s2n_cert_validation_info = type { i8, [3 x i8] }
%struct.s2n_ticket_fields = type { %struct.s2n_blob, i32 }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_post_handshake = type { %struct.s2n_stuffer, [4 x i8] }
%struct.s2n_atomic_flag = type { i32 }
%struct.s2n_config = type { i32, ptr, ptr, %struct.certs_by_type, %struct.s2n_blob, ptr, ptr, ptr, ptr, ptr, ptr, i32, i32, ptr, i64, ptr, i64, i64, ptr, ptr, ptr, ptr, ptr, ptr, i32, i8, i32, i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr, i8, i8, %struct.s2n_x509_trust_store, i16, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, i32, i32, i32, ptr, i32, i32, ptr, ptr, i32, %struct.s2n_blob }
%struct.certs_by_type = type { [4 x ptr] }
%struct.s2n_x509_trust_store = type { ptr, i8 }

@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 [74 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 [65 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [59 x i8], align 1
@__const.main.close_notify_alert = external hidden unnamed_addr constant [2 x i8], align 1
@__const.main.not_close_notify_alert = external hidden unnamed_addr constant [2 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [119 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [111 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [52 x i8], align 1
@__const.main.warning_alert = external hidden unnamed_addr constant [2 x i8], align 1
@__const.main.user_canceled_alert = external hidden unnamed_addr constant [2 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [113 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [25 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 i8, align 1
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca i64, align 8
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i64, align 8
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i64, align 8
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i64, align 8
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca [2 x i8], align 1
  %43 = alloca [2 x i8], align 1
  %44 = alloca ptr, align 8
  %45 = alloca i32, align 4
  %46 = alloca i32, align 4
  %47 = alloca i32, align 4
  %48 = alloca i32, align 4
  %49 = alloca i32, align 4
  %50 = alloca i32, align 4
  %51 = alloca i32, align 4
  %52 = alloca i32, align 4
  %53 = alloca ptr, align 8
  %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 ptr, align 8
  %64 = alloca i32, align 4
  %65 = alloca ptr, align 8
  %66 = alloca i32, align 4
  %67 = alloca i32, align 4
  %68 = alloca i32, align 4
  %69 = alloca i32, align 4
  %70 = alloca i32, align 4
  %71 = alloca i32, align 4
  %72 = alloca i32, align 4
  %73 = alloca i32, align 4
  %74 = alloca i32, align 4
  %75 = alloca i32, align 4
  %76 = alloca i32, align 4
  %77 = alloca i32, align 4
  %78 = alloca [2 x i8], align 1
  %79 = alloca [2 x i8], align 1
  %80 = alloca ptr, align 8
  %81 = alloca i32, align 4
  %82 = alloca i32, align 4
  %83 = alloca i32, align 4
  %84 = alloca i32, align 4
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca i32, align 4
  %88 = alloca i32, align 4
  %89 = alloca ptr, align 8
  %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 i32, align 4
  %109 = alloca ptr, align 8
  %110 = alloca i32, align 4
  %111 = alloca i32, align 4
  %112 = alloca ptr, align 8
  %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 ptr, align 8
  %123 = alloca i32, align 4
  %124 = alloca ptr, align 8
  %125 = alloca i32, align 4
  %126 = alloca i32, align 4
  %127 = alloca i32, align 4
  %128 = alloca i32, align 4
  %129 = alloca i32, align 4
  %130 = alloca i32, align 4
  %131 = alloca i32, align 4
  %132 = alloca i32, align 4
  %133 = alloca i32, align 4
  %134 = alloca i32, align 4
  %135 = alloca i32, align 4
  %136 = alloca i32, align 4
  %137 = alloca i32, align 4
  %138 = alloca ptr, align 8
  %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 %struct.s2n_result, align 4
  %147 = alloca i8, align 1
  %148 = alloca i8, align 1
  %149 = alloca ptr, align 8
  %150 = alloca i32, align 4
  %151 = alloca %struct.s2n_result, align 4
  %152 = alloca i32, align 4
  %153 = alloca i8, align 1
  %154 = alloca i8, align 1
  %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 %struct.s2n_result, align 4
  %162 = alloca ptr, align 8
  %163 = alloca i32, align 4
  %164 = alloca %struct.s2n_result, align 4
  %165 = alloca i32, align 4
  %166 = alloca i8, align 1
  %167 = alloca i8, align 1
  %168 = alloca i32, align 4
  %169 = alloca i32, align 4
  %170 = alloca i32, align 4
  %171 = alloca i32, align 4
  %172 = alloca i32, align 4
  %173 = alloca i32, align 4
  %174 = alloca %struct.s2n_result, align 4
  %175 = alloca ptr, align 8
  %176 = alloca i32, align 4
  %177 = alloca %struct.s2n_result, align 4
  %178 = alloca i32, align 4
  %179 = alloca i8, align 1
  %180 = alloca i8, align 1
  %181 = alloca i32, align 4
  %182 = alloca i32, align 4
  %183 = alloca i32, align 4
  %184 = alloca i32, align 4
  %185 = alloca i32, align 4
  %186 = alloca i32, align 4
  %187 = alloca %struct.s2n_result, align 4
  %188 = alloca ptr, align 8
  %189 = alloca i32, align 4
  %190 = alloca %struct.s2n_result, align 4
  %191 = alloca i32, align 4
  %192 = alloca i32, align 4
  %193 = alloca %struct.s2n_result, align 4
  %194 = alloca i32, align 4
  %195 = 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 %196

196:                                              ; preds = %2
  br label %197

197:                                              ; preds = %196
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %198 = load ptr, ptr @stdout, align 8, !tbaa !9
  %199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %198, ptr noundef @.str, ptr noundef @.str.1) #9
  %200 = load ptr, ptr @stdout, align 8, !tbaa !9
  %201 = call i32 @fflush(ptr noundef %200)
  br label %202

202:                                              ; preds = %197
  %203 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %204 = icmp eq i32 %203, -1
  br i1 %204, label %205, label %256

205:                                              ; preds = %202
  br label %206

206:                                              ; preds = %205
  br label %207

207:                                              ; preds = %206
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #9
  %208 = call ptr @__errno_location() #10
  %209 = load i32, ptr %208, align 4, !tbaa !5
  store i32 %209, ptr %6, align 4, !tbaa !5
  %210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %211 = call i32 @s2n_print_stacktrace(ptr noundef %210)
  %212 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %213 = trunc i8 %212 to i1
  br i1 %213, label %214, label %236

214:                                              ; preds = %207
  %215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %216 = call i32 @fileno(ptr noundef %215) #9
  %217 = call i32 @isatty(i32 noundef %216) #9
  %218 = icmp ne i32 %217, 0
  br i1 %218, label %219, label %236

219:                                              ; preds = %214
  %220 = load i32, ptr %6, align 4, !tbaa !5
  %221 = call ptr @__errno_location() #10
  store i32 %220, ptr %221, align 4, !tbaa !5
  %222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %223 = load i32, ptr @test_count, align 4, !tbaa !5
  %224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %225 = load i32, ptr %224, align 4, !tbaa !5
  %226 = call ptr @s2n_strerror(i32 noundef %225, ptr noundef @.str.4)
  %227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %228 = load i32, ptr %227, align 4, !tbaa !5
  %229 = call ptr @s2n_strerror_debug(i32 noundef %228, ptr noundef @.str.4)
  %230 = call ptr @__errno_location() #10
  %231 = load i32, ptr %230, align 4, !tbaa !5
  %232 = call ptr @strerror(i32 noundef %231) #9
  %233 = call ptr @__errno_location() #10
  %234 = load i32, ptr %233, align 4, !tbaa !5
  %235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %222, ptr noundef @.str.2, i32 noundef %223, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 28, ptr noundef %226, ptr noundef %229, ptr noundef %232, i32 noundef %234) #9
  br label %253

236:                                              ; preds = %214, %207
  %237 = load i32, ptr %6, align 4, !tbaa !5
  %238 = call ptr @__errno_location() #10
  store i32 %237, ptr %238, align 4, !tbaa !5
  %239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %240 = load i32, ptr @test_count, align 4, !tbaa !5
  %241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %242 = load i32, ptr %241, align 4, !tbaa !5
  %243 = call ptr @s2n_strerror(i32 noundef %242, ptr noundef @.str.4)
  %244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %245 = load i32, ptr %244, align 4, !tbaa !5
  %246 = call ptr @s2n_strerror_debug(i32 noundef %245, ptr noundef @.str.4)
  %247 = call ptr @__errno_location() #10
  %248 = load i32, ptr %247, align 4, !tbaa !5
  %249 = call ptr @strerror(i32 noundef %248) #9
  %250 = call ptr @__errno_location() #10
  %251 = load i32, ptr %250, align 4, !tbaa !5
  %252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %239, ptr noundef @.str.5, i32 noundef %240, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 28, ptr noundef %243, ptr noundef %246, ptr noundef %249, i32 noundef %251) #9
  br label %253

253:                                              ; preds = %236, %219
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #9
  br label %254

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

255:                                              ; No predecessors!
  br label %256

256:                                              ; preds = %255, %202
  br label %257

257:                                              ; preds = %256
  br label %258

258:                                              ; preds = %257
  %259 = load i32, ptr @test_count, align 4, !tbaa !5
  %260 = add nsw i32 %259, 1
  store i32 %260, ptr @test_count, align 4, !tbaa !5
  %261 = call i32 @s2n_enable_atexit()
  %262 = icmp eq i32 %261, -1
  br i1 %262, label %263, label %314

263:                                              ; preds = %258
  br label %264

264:                                              ; preds = %263
  br label %265

265:                                              ; preds = %264
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #9
  %266 = call ptr @__errno_location() #10
  %267 = load i32, ptr %266, align 4, !tbaa !5
  store i32 %267, ptr %7, align 4, !tbaa !5
  %268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %269 = call i32 @s2n_print_stacktrace(ptr noundef %268)
  %270 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %271 = trunc i8 %270 to i1
  br i1 %271, label %272, label %294

272:                                              ; preds = %265
  %273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %274 = call i32 @fileno(ptr noundef %273) #9
  %275 = call i32 @isatty(i32 noundef %274) #9
  %276 = icmp ne i32 %275, 0
  br i1 %276, label %277, label %294

277:                                              ; preds = %272
  %278 = load i32, ptr %7, align 4, !tbaa !5
  %279 = call ptr @__errno_location() #10
  store i32 %278, ptr %279, align 4, !tbaa !5
  %280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %281 = load i32, ptr @test_count, align 4, !tbaa !5
  %282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %283 = load i32, ptr %282, align 4, !tbaa !5
  %284 = call ptr @s2n_strerror(i32 noundef %283, ptr noundef @.str.4)
  %285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %286 = load i32, ptr %285, align 4, !tbaa !5
  %287 = call ptr @s2n_strerror_debug(i32 noundef %286, ptr noundef @.str.4)
  %288 = call ptr @__errno_location() #10
  %289 = load i32, ptr %288, align 4, !tbaa !5
  %290 = call ptr @strerror(i32 noundef %289) #9
  %291 = call ptr @__errno_location() #10
  %292 = load i32, ptr %291, align 4, !tbaa !5
  %293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %280, ptr noundef @.str.2, i32 noundef %281, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 28, ptr noundef %284, ptr noundef %287, ptr noundef %290, i32 noundef %292) #9
  br label %311

294:                                              ; preds = %272, %265
  %295 = load i32, ptr %7, align 4, !tbaa !5
  %296 = call ptr @__errno_location() #10
  store i32 %295, ptr %296, align 4, !tbaa !5
  %297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %298 = load i32, ptr @test_count, align 4, !tbaa !5
  %299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %300 = load i32, ptr %299, align 4, !tbaa !5
  %301 = call ptr @s2n_strerror(i32 noundef %300, ptr noundef @.str.4)
  %302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %303 = load i32, ptr %302, align 4, !tbaa !5
  %304 = call ptr @s2n_strerror_debug(i32 noundef %303, ptr noundef @.str.4)
  %305 = call ptr @__errno_location() #10
  %306 = load i32, ptr %305, align 4, !tbaa !5
  %307 = call ptr @strerror(i32 noundef %306) #9
  %308 = call ptr @__errno_location() #10
  %309 = load i32, ptr %308, align 4, !tbaa !5
  %310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %297, ptr noundef @.str.5, i32 noundef %298, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 28, ptr noundef %301, ptr noundef %304, ptr noundef %307, i32 noundef %309) #9
  br label %311

311:                                              ; preds = %294, %277
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #9
  br label %312

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

313:                                              ; No predecessors!
  br label %314

314:                                              ; preds = %313, %258
  br label %315

315:                                              ; preds = %314
  br label %316

316:                                              ; preds = %315
  br label %317

317:                                              ; preds = %316
  %318 = call i32 @s2n_init()
  %319 = icmp eq i32 %318, -1
  br i1 %319, label %320, label %371

320:                                              ; preds = %317
  br label %321

321:                                              ; preds = %320
  br label %322

322:                                              ; preds = %321
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #9
  %323 = call ptr @__errno_location() #10
  %324 = load i32, ptr %323, align 4, !tbaa !5
  store i32 %324, ptr %8, align 4, !tbaa !5
  %325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %326 = call i32 @s2n_print_stacktrace(ptr noundef %325)
  %327 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %328 = trunc i8 %327 to i1
  br i1 %328, label %329, label %351

329:                                              ; preds = %322
  %330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %331 = call i32 @fileno(ptr noundef %330) #9
  %332 = call i32 @isatty(i32 noundef %331) #9
  %333 = icmp ne i32 %332, 0
  br i1 %333, label %334, label %351

334:                                              ; preds = %329
  %335 = load i32, ptr %8, align 4, !tbaa !5
  %336 = call ptr @__errno_location() #10
  store i32 %335, ptr %336, align 4, !tbaa !5
  %337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %338 = load i32, ptr @test_count, align 4, !tbaa !5
  %339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %340 = load i32, ptr %339, align 4, !tbaa !5
  %341 = call ptr @s2n_strerror(i32 noundef %340, ptr noundef @.str.4)
  %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_debug(i32 noundef %343, ptr noundef @.str.4)
  %345 = call ptr @__errno_location() #10
  %346 = load i32, ptr %345, align 4, !tbaa !5
  %347 = call ptr @strerror(i32 noundef %346) #9
  %348 = call ptr @__errno_location() #10
  %349 = load i32, ptr %348, align 4, !tbaa !5
  %350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %337, ptr noundef @.str.2, i32 noundef %338, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 28, ptr noundef %341, ptr noundef %344, ptr noundef %347, i32 noundef %349) #9
  br label %368

351:                                              ; preds = %329, %322
  %352 = load i32, ptr %8, align 4, !tbaa !5
  %353 = call ptr @__errno_location() #10
  store i32 %352, ptr %353, align 4, !tbaa !5
  %354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %355 = load i32, ptr @test_count, align 4, !tbaa !5
  %356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %357 = load i32, ptr %356, align 4, !tbaa !5
  %358 = call ptr @s2n_strerror(i32 noundef %357, ptr noundef @.str.4)
  %359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %360 = load i32, ptr %359, align 4, !tbaa !5
  %361 = call ptr @s2n_strerror_debug(i32 noundef %360, ptr noundef @.str.4)
  %362 = call ptr @__errno_location() #10
  %363 = load i32, ptr %362, align 4, !tbaa !5
  %364 = call ptr @strerror(i32 noundef %363) #9
  %365 = call ptr @__errno_location() #10
  %366 = load i32, ptr %365, align 4, !tbaa !5
  %367 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %354, ptr noundef @.str.5, i32 noundef %355, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 28, ptr noundef %358, ptr noundef %361, ptr noundef %364, i32 noundef %366) #9
  br label %368

368:                                              ; preds = %351, %334
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #9
  br label %369

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

370:                                              ; No predecessors!
  br label %371

371:                                              ; preds = %370, %317
  br label %372

372:                                              ; preds = %371
  br label %373

373:                                              ; preds = %372
  call void @llvm.lifetime.start.p0(i64 1, ptr %9) #9
  store i8 0, ptr %9, align 1, !tbaa !15
  br label %374

374:                                              ; preds = %373
  br label %375

375:                                              ; preds = %374
  br label %376

376:                                              ; preds = %375
  %377 = load i32, ptr @test_count, align 4, !tbaa !5
  %378 = add nsw i32 %377, 1
  store i32 %378, ptr @test_count, align 4, !tbaa !5
  %379 = call i32 @s2n_error_get_alert(i32 noundef 0, ptr noundef %9)
  %380 = icmp eq i32 %379, -1
  br i1 %380, label %434, label %381

381:                                              ; preds = %376
  br label %382

382:                                              ; preds = %381
  br label %383

383:                                              ; preds = %382
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #9
  %384 = call ptr @__errno_location() #10
  %385 = load i32, ptr %384, align 4, !tbaa !5
  store i32 %385, ptr %10, align 4, !tbaa !5
  %386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %387 = call i32 @s2n_print_stacktrace(ptr noundef %386)
  %388 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %389 = trunc i8 %388 to i1
  br i1 %389, label %390, label %412

390:                                              ; preds = %383
  %391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %392 = call i32 @fileno(ptr noundef %391) #9
  %393 = call i32 @isatty(i32 noundef %392) #9
  %394 = icmp ne i32 %393, 0
  br i1 %394, label %395, label %412

395:                                              ; preds = %390
  %396 = load i32, ptr %10, align 4, !tbaa !5
  %397 = call ptr @__errno_location() #10
  store i32 %396, ptr %397, align 4, !tbaa !5
  %398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %399 = load i32, ptr @test_count, align 4, !tbaa !5
  %400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %401 = load i32, ptr %400, align 4, !tbaa !5
  %402 = call ptr @s2n_strerror(i32 noundef %401, ptr noundef @.str.4)
  %403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %404 = load i32, ptr %403, align 4, !tbaa !5
  %405 = call ptr @s2n_strerror_debug(i32 noundef %404, ptr noundef @.str.4)
  %406 = call ptr @__errno_location() #10
  %407 = load i32, ptr %406, align 4, !tbaa !5
  %408 = call ptr @strerror(i32 noundef %407) #9
  %409 = call ptr @__errno_location() #10
  %410 = load i32, ptr %409, align 4, !tbaa !5
  %411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %398, ptr noundef @.str.2, i32 noundef %399, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 35, ptr noundef %402, ptr noundef %405, ptr noundef %408, i32 noundef %410) #9
  br label %429

412:                                              ; preds = %390, %383
  %413 = load i32, ptr %10, align 4, !tbaa !5
  %414 = call ptr @__errno_location() #10
  store i32 %413, ptr %414, align 4, !tbaa !5
  %415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %416 = load i32, ptr @test_count, align 4, !tbaa !5
  %417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %418 = load i32, ptr %417, align 4, !tbaa !5
  %419 = call ptr @s2n_strerror(i32 noundef %418, ptr noundef @.str.4)
  %420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %421 = load i32, ptr %420, align 4, !tbaa !5
  %422 = call ptr @s2n_strerror_debug(i32 noundef %421, ptr noundef @.str.4)
  %423 = call ptr @__errno_location() #10
  %424 = load i32, ptr %423, align 4, !tbaa !5
  %425 = call ptr @strerror(i32 noundef %424) #9
  %426 = call ptr @__errno_location() #10
  %427 = load i32, ptr %426, align 4, !tbaa !5
  %428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %415, ptr noundef @.str.5, i32 noundef %416, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 35, ptr noundef %419, ptr noundef %422, ptr noundef %425, i32 noundef %427) #9
  br label %429

429:                                              ; preds = %412, %395
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #9
  br label %430

430:                                              ; preds = %429
  br label %431

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

432:                                              ; No predecessors!
  br label %433

433:                                              ; preds = %432
  br label %434

434:                                              ; preds = %433, %376
  br label %435

435:                                              ; preds = %434
  br label %436

436:                                              ; preds = %435
  br label %437

437:                                              ; preds = %436
  %438 = load i32, ptr @test_count, align 4, !tbaa !5
  %439 = add nsw i32 %438, 1
  store i32 %439, ptr @test_count, align 4, !tbaa !5
  %440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %441 = load i32, ptr %440, align 4, !tbaa !5
  %442 = icmp eq i32 %441, 469762048
  br i1 %442, label %496, label %443

443:                                              ; preds = %437
  br label %444

444:                                              ; preds = %443
  br label %445

445:                                              ; preds = %444
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #9
  %446 = call ptr @__errno_location() #10
  %447 = load i32, ptr %446, align 4, !tbaa !5
  store i32 %447, ptr %11, align 4, !tbaa !5
  %448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %449 = call i32 @s2n_print_stacktrace(ptr noundef %448)
  %450 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %451 = trunc i8 %450 to i1
  br i1 %451, label %452, label %474

452:                                              ; preds = %445
  %453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %454 = call i32 @fileno(ptr noundef %453) #9
  %455 = call i32 @isatty(i32 noundef %454) #9
  %456 = icmp ne i32 %455, 0
  br i1 %456, label %457, label %474

457:                                              ; preds = %452
  %458 = load i32, ptr %11, align 4, !tbaa !5
  %459 = call ptr @__errno_location() #10
  store i32 %458, ptr %459, align 4, !tbaa !5
  %460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %461 = load i32, ptr @test_count, align 4, !tbaa !5
  %462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %463 = load i32, ptr %462, align 4, !tbaa !5
  %464 = call ptr @s2n_strerror(i32 noundef %463, ptr noundef @.str.4)
  %465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %466 = load i32, ptr %465, align 4, !tbaa !5
  %467 = call ptr @s2n_strerror_debug(i32 noundef %466, ptr noundef @.str.4)
  %468 = call ptr @__errno_location() #10
  %469 = load i32, ptr %468, align 4, !tbaa !5
  %470 = call ptr @strerror(i32 noundef %469) #9
  %471 = call ptr @__errno_location() #10
  %472 = load i32, ptr %471, align 4, !tbaa !5
  %473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %460, ptr noundef @.str.2, i32 noundef %461, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 35, ptr noundef %464, ptr noundef %467, ptr noundef %470, i32 noundef %472) #9
  br label %491

474:                                              ; preds = %452, %445
  %475 = load i32, ptr %11, align 4, !tbaa !5
  %476 = call ptr @__errno_location() #10
  store i32 %475, ptr %476, align 4, !tbaa !5
  %477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %478 = load i32, ptr @test_count, align 4, !tbaa !5
  %479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %480 = load i32, ptr %479, align 4, !tbaa !5
  %481 = call ptr @s2n_strerror(i32 noundef %480, ptr noundef @.str.4)
  %482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %483 = load i32, ptr %482, align 4, !tbaa !5
  %484 = call ptr @s2n_strerror_debug(i32 noundef %483, ptr noundef @.str.4)
  %485 = call ptr @__errno_location() #10
  %486 = load i32, ptr %485, align 4, !tbaa !5
  %487 = call ptr @strerror(i32 noundef %486) #9
  %488 = call ptr @__errno_location() #10
  %489 = load i32, ptr %488, align 4, !tbaa !5
  %490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %477, ptr noundef @.str.5, i32 noundef %478, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 35, ptr noundef %481, ptr noundef %484, ptr noundef %487, i32 noundef %489) #9
  br label %491

491:                                              ; preds = %474, %457
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #9
  br label %492

492:                                              ; preds = %491
  br label %493

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

494:                                              ; No predecessors!
  br label %495

495:                                              ; preds = %494
  br label %496

496:                                              ; preds = %495, %437
  br label %497

497:                                              ; preds = %496
  br label %498

498:                                              ; preds = %497
  br label %499

499:                                              ; preds = %498
  %500 = load i32, ptr @test_count, align 4, !tbaa !5
  %501 = add nsw i32 %500, 1
  store i32 %501, ptr @test_count, align 4, !tbaa !5
  %502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %503 = load i32, ptr %502, align 4, !tbaa !5
  %504 = call ptr @s2n_strerror_debug(i32 noundef %503, ptr noundef @.str.4)
  %505 = icmp eq ptr %504, null
  br i1 %505, label %506, label %559

506:                                              ; preds = %499
  br label %507

507:                                              ; preds = %506
  br label %508

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

515:                                              ; preds = %508
  %516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %517 = call i32 @fileno(ptr noundef %516) #9
  %518 = call i32 @isatty(i32 noundef %517) #9
  %519 = icmp ne i32 %518, 0
  br i1 %519, label %520, label %537

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

537:                                              ; preds = %515, %508
  %538 = load i32, ptr %12, align 4, !tbaa !5
  %539 = call ptr @__errno_location() #10
  store i32 %538, ptr %539, align 4, !tbaa !5
  %540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %541 = load i32, ptr @test_count, align 4, !tbaa !5
  %542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %543 = load i32, ptr %542, align 4, !tbaa !5
  %544 = call ptr @s2n_strerror(i32 noundef %543, ptr noundef @.str.4)
  %545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %546 = load i32, ptr %545, align 4, !tbaa !5
  %547 = call ptr @s2n_strerror_debug(i32 noundef %546, ptr noundef @.str.4)
  %548 = call ptr @__errno_location() #10
  %549 = load i32, ptr %548, align 4, !tbaa !5
  %550 = call ptr @strerror(i32 noundef %549) #9
  %551 = call ptr @__errno_location() #10
  %552 = load i32, ptr %551, align 4, !tbaa !5
  %553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %540, ptr noundef @.str.5, i32 noundef %541, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 35, ptr noundef %544, ptr noundef %547, ptr noundef %550, i32 noundef %552) #9
  br label %554

554:                                              ; preds = %537, %520
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #9
  br label %555

555:                                              ; preds = %554
  br label %556

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

557:                                              ; No predecessors!
  br label %558

558:                                              ; preds = %557
  br label %559

559:                                              ; preds = %558, %499
  br label %560

560:                                              ; preds = %559
  br label %561

561:                                              ; preds = %560
  br label %562

562:                                              ; preds = %561
  br label %563

563:                                              ; preds = %562
  br label %564

564:                                              ; preds = %563
  %565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %565, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %566 = call ptr @__errno_location() #10
  store i32 0, ptr %566, align 4, !tbaa !5
  br label %567

567:                                              ; preds = %564
  br label %568

568:                                              ; preds = %567
  br label %569

569:                                              ; preds = %568
  br label %570

570:                                              ; preds = %569
  br label %571

571:                                              ; preds = %570
  br label %572

572:                                              ; preds = %571
  br label %573

573:                                              ; preds = %572
  %574 = load i32, ptr @test_count, align 4, !tbaa !5
  %575 = add nsw i32 %574, 1
  store i32 %575, ptr @test_count, align 4, !tbaa !5
  %576 = call i32 @s2n_error_get_alert(i32 noundef 134217728, ptr noundef %9)
  %577 = icmp eq i32 %576, -1
  br i1 %577, label %631, label %578

578:                                              ; preds = %573
  br label %579

579:                                              ; preds = %578
  br label %580

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

587:                                              ; preds = %580
  %588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %589 = call i32 @fileno(ptr noundef %588) #9
  %590 = call i32 @isatty(i32 noundef %589) #9
  %591 = icmp ne i32 %590, 0
  br i1 %591, label %592, label %609

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

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

626:                                              ; preds = %609, %592
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #9
  br label %627

627:                                              ; preds = %626
  br label %628

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

629:                                              ; No predecessors!
  br label %630

630:                                              ; preds = %629
  br label %631

631:                                              ; preds = %630, %573
  br label %632

632:                                              ; preds = %631
  br label %633

633:                                              ; preds = %632
  br label %634

634:                                              ; preds = %633
  %635 = load i32, ptr @test_count, align 4, !tbaa !5
  %636 = add nsw i32 %635, 1
  store i32 %636, ptr @test_count, align 4, !tbaa !5
  %637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %638 = load i32, ptr %637, align 4, !tbaa !5
  %639 = icmp eq i32 %638, 469762048
  br i1 %639, label %693, label %640

640:                                              ; preds = %634
  br label %641

641:                                              ; preds = %640
  br label %642

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

649:                                              ; preds = %642
  %650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %651 = call i32 @fileno(ptr noundef %650) #9
  %652 = call i32 @isatty(i32 noundef %651) #9
  %653 = icmp ne i32 %652, 0
  br i1 %653, label %654, label %671

654:                                              ; preds = %649
  %655 = load i32, ptr %14, align 4, !tbaa !5
  %656 = call ptr @__errno_location() #10
  store i32 %655, ptr %656, align 4, !tbaa !5
  %657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %658 = load i32, ptr @test_count, align 4, !tbaa !5
  %659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %660 = load i32, ptr %659, align 4, !tbaa !5
  %661 = call ptr @s2n_strerror(i32 noundef %660, ptr noundef @.str.4)
  %662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %663 = load i32, ptr %662, align 4, !tbaa !5
  %664 = call ptr @s2n_strerror_debug(i32 noundef %663, ptr noundef @.str.4)
  %665 = call ptr @__errno_location() #10
  %666 = load i32, ptr %665, align 4, !tbaa !5
  %667 = call ptr @strerror(i32 noundef %666) #9
  %668 = call ptr @__errno_location() #10
  %669 = load i32, ptr %668, align 4, !tbaa !5
  %670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %657, ptr noundef @.str.2, i32 noundef %658, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 38, ptr noundef %661, ptr noundef %664, ptr noundef %667, i32 noundef %669) #9
  br label %688

671:                                              ; preds = %649, %642
  %672 = load i32, ptr %14, align 4, !tbaa !5
  %673 = call ptr @__errno_location() #10
  store i32 %672, ptr %673, align 4, !tbaa !5
  %674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %675 = load i32, ptr @test_count, align 4, !tbaa !5
  %676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %677 = load i32, ptr %676, align 4, !tbaa !5
  %678 = call ptr @s2n_strerror(i32 noundef %677, ptr noundef @.str.4)
  %679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %680 = load i32, ptr %679, align 4, !tbaa !5
  %681 = call ptr @s2n_strerror_debug(i32 noundef %680, ptr noundef @.str.4)
  %682 = call ptr @__errno_location() #10
  %683 = load i32, ptr %682, align 4, !tbaa !5
  %684 = call ptr @strerror(i32 noundef %683) #9
  %685 = call ptr @__errno_location() #10
  %686 = load i32, ptr %685, align 4, !tbaa !5
  %687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %674, ptr noundef @.str.5, i32 noundef %675, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 38, ptr noundef %678, ptr noundef %681, ptr noundef %684, i32 noundef %686) #9
  br label %688

688:                                              ; preds = %671, %654
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #9
  br label %689

689:                                              ; preds = %688
  br label %690

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

691:                                              ; No predecessors!
  br label %692

692:                                              ; preds = %691
  br label %693

693:                                              ; preds = %692, %634
  br label %694

694:                                              ; preds = %693
  br label %695

695:                                              ; preds = %694
  br label %696

696:                                              ; preds = %695
  %697 = load i32, ptr @test_count, align 4, !tbaa !5
  %698 = add nsw i32 %697, 1
  store i32 %698, ptr @test_count, align 4, !tbaa !5
  %699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %700 = load i32, ptr %699, align 4, !tbaa !5
  %701 = call ptr @s2n_strerror_debug(i32 noundef %700, ptr noundef @.str.4)
  %702 = icmp eq ptr %701, null
  br i1 %702, label %703, label %756

703:                                              ; preds = %696
  br label %704

704:                                              ; preds = %703
  br label %705

705:                                              ; preds = %704
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #9
  %706 = call ptr @__errno_location() #10
  %707 = load i32, ptr %706, align 4, !tbaa !5
  store i32 %707, ptr %15, align 4, !tbaa !5
  %708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %709 = call i32 @s2n_print_stacktrace(ptr noundef %708)
  %710 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %711 = trunc i8 %710 to i1
  br i1 %711, label %712, label %734

712:                                              ; preds = %705
  %713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %714 = call i32 @fileno(ptr noundef %713) #9
  %715 = call i32 @isatty(i32 noundef %714) #9
  %716 = icmp ne i32 %715, 0
  br i1 %716, label %717, label %734

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

734:                                              ; preds = %712, %705
  %735 = load i32, ptr %15, align 4, !tbaa !5
  %736 = call ptr @__errno_location() #10
  store i32 %735, ptr %736, align 4, !tbaa !5
  %737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %738 = load i32, ptr @test_count, align 4, !tbaa !5
  %739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %740 = load i32, ptr %739, align 4, !tbaa !5
  %741 = call ptr @s2n_strerror(i32 noundef %740, ptr noundef @.str.4)
  %742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %743 = load i32, ptr %742, align 4, !tbaa !5
  %744 = call ptr @s2n_strerror_debug(i32 noundef %743, ptr noundef @.str.4)
  %745 = call ptr @__errno_location() #10
  %746 = load i32, ptr %745, align 4, !tbaa !5
  %747 = call ptr @strerror(i32 noundef %746) #9
  %748 = call ptr @__errno_location() #10
  %749 = load i32, ptr %748, align 4, !tbaa !5
  %750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %737, ptr noundef @.str.5, i32 noundef %738, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 38, ptr noundef %741, ptr noundef %744, ptr noundef %747, i32 noundef %749) #9
  br label %751

751:                                              ; preds = %734, %717
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #9
  br label %752

752:                                              ; preds = %751
  br label %753

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

754:                                              ; No predecessors!
  br label %755

755:                                              ; preds = %754
  br label %756

756:                                              ; preds = %755, %696
  br label %757

757:                                              ; preds = %756
  br label %758

758:                                              ; preds = %757
  br label %759

759:                                              ; preds = %758
  br label %760

760:                                              ; preds = %759
  br label %761

761:                                              ; preds = %760
  %762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %762, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %763 = call ptr @__errno_location() #10
  store i32 0, ptr %763, align 4, !tbaa !5
  br label %764

764:                                              ; preds = %761
  br label %765

765:                                              ; preds = %764
  br label %766

766:                                              ; preds = %765
  br label %767

767:                                              ; preds = %766
  br label %768

768:                                              ; preds = %767
  br label %769

769:                                              ; preds = %768
  br label %770

770:                                              ; preds = %769
  %771 = load i32, ptr @test_count, align 4, !tbaa !5
  %772 = add nsw i32 %771, 1
  store i32 %772, ptr @test_count, align 4, !tbaa !5
  %773 = call i32 @s2n_error_get_alert(i32 noundef 268435456, ptr noundef %9)
  %774 = icmp eq i32 %773, -1
  br i1 %774, label %828, label %775

775:                                              ; preds = %770
  br label %776

776:                                              ; preds = %775
  br label %777

777:                                              ; preds = %776
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #9
  %778 = call ptr @__errno_location() #10
  %779 = load i32, ptr %778, align 4, !tbaa !5
  store i32 %779, ptr %16, align 4, !tbaa !5
  %780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %781 = call i32 @s2n_print_stacktrace(ptr noundef %780)
  %782 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %783 = trunc i8 %782 to i1
  br i1 %783, label %784, label %806

784:                                              ; preds = %777
  %785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %786 = call i32 @fileno(ptr noundef %785) #9
  %787 = call i32 @isatty(i32 noundef %786) #9
  %788 = icmp ne i32 %787, 0
  br i1 %788, label %789, label %806

789:                                              ; preds = %784
  %790 = load i32, ptr %16, align 4, !tbaa !5
  %791 = call ptr @__errno_location() #10
  store i32 %790, ptr %791, align 4, !tbaa !5
  %792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %793 = load i32, ptr @test_count, align 4, !tbaa !5
  %794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %795 = load i32, ptr %794, align 4, !tbaa !5
  %796 = call ptr @s2n_strerror(i32 noundef %795, ptr noundef @.str.4)
  %797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %798 = load i32, ptr %797, align 4, !tbaa !5
  %799 = call ptr @s2n_strerror_debug(i32 noundef %798, ptr noundef @.str.4)
  %800 = call ptr @__errno_location() #10
  %801 = load i32, ptr %800, align 4, !tbaa !5
  %802 = call ptr @strerror(i32 noundef %801) #9
  %803 = call ptr @__errno_location() #10
  %804 = load i32, ptr %803, align 4, !tbaa !5
  %805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %792, ptr noundef @.str.2, i32 noundef %793, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 41, ptr noundef %796, ptr noundef %799, ptr noundef %802, i32 noundef %804) #9
  br label %823

806:                                              ; preds = %784, %777
  %807 = load i32, ptr %16, align 4, !tbaa !5
  %808 = call ptr @__errno_location() #10
  store i32 %807, ptr %808, align 4, !tbaa !5
  %809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %810 = load i32, ptr @test_count, align 4, !tbaa !5
  %811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %812 = load i32, ptr %811, align 4, !tbaa !5
  %813 = call ptr @s2n_strerror(i32 noundef %812, ptr noundef @.str.4)
  %814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %815 = load i32, ptr %814, align 4, !tbaa !5
  %816 = call ptr @s2n_strerror_debug(i32 noundef %815, ptr noundef @.str.4)
  %817 = call ptr @__errno_location() #10
  %818 = load i32, ptr %817, align 4, !tbaa !5
  %819 = call ptr @strerror(i32 noundef %818) #9
  %820 = call ptr @__errno_location() #10
  %821 = load i32, ptr %820, align 4, !tbaa !5
  %822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %809, ptr noundef @.str.5, i32 noundef %810, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 41, ptr noundef %813, ptr noundef %816, ptr noundef %819, i32 noundef %821) #9
  br label %823

823:                                              ; preds = %806, %789
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #9
  br label %824

824:                                              ; preds = %823
  br label %825

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

826:                                              ; No predecessors!
  br label %827

827:                                              ; preds = %826
  br label %828

828:                                              ; preds = %827, %770
  br label %829

829:                                              ; preds = %828
  br label %830

830:                                              ; preds = %829
  br label %831

831:                                              ; preds = %830
  %832 = load i32, ptr @test_count, align 4, !tbaa !5
  %833 = add nsw i32 %832, 1
  store i32 %833, ptr @test_count, align 4, !tbaa !5
  %834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %835 = load i32, ptr %834, align 4, !tbaa !5
  %836 = icmp eq i32 %835, 469762048
  br i1 %836, label %890, label %837

837:                                              ; preds = %831
  br label %838

838:                                              ; preds = %837
  br label %839

839:                                              ; preds = %838
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #9
  %840 = call ptr @__errno_location() #10
  %841 = load i32, ptr %840, align 4, !tbaa !5
  store i32 %841, ptr %17, align 4, !tbaa !5
  %842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %843 = call i32 @s2n_print_stacktrace(ptr noundef %842)
  %844 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %845 = trunc i8 %844 to i1
  br i1 %845, label %846, label %868

846:                                              ; preds = %839
  %847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %848 = call i32 @fileno(ptr noundef %847) #9
  %849 = call i32 @isatty(i32 noundef %848) #9
  %850 = icmp ne i32 %849, 0
  br i1 %850, label %851, label %868

851:                                              ; preds = %846
  %852 = load i32, ptr %17, align 4, !tbaa !5
  %853 = call ptr @__errno_location() #10
  store i32 %852, ptr %853, align 4, !tbaa !5
  %854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %855 = load i32, ptr @test_count, align 4, !tbaa !5
  %856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %857 = load i32, ptr %856, align 4, !tbaa !5
  %858 = call ptr @s2n_strerror(i32 noundef %857, ptr noundef @.str.4)
  %859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %860 = load i32, ptr %859, align 4, !tbaa !5
  %861 = call ptr @s2n_strerror_debug(i32 noundef %860, ptr noundef @.str.4)
  %862 = call ptr @__errno_location() #10
  %863 = load i32, ptr %862, align 4, !tbaa !5
  %864 = call ptr @strerror(i32 noundef %863) #9
  %865 = call ptr @__errno_location() #10
  %866 = load i32, ptr %865, align 4, !tbaa !5
  %867 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %854, ptr noundef @.str.2, i32 noundef %855, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 41, ptr noundef %858, ptr noundef %861, ptr noundef %864, i32 noundef %866) #9
  br label %885

868:                                              ; preds = %846, %839
  %869 = load i32, ptr %17, align 4, !tbaa !5
  %870 = call ptr @__errno_location() #10
  store i32 %869, ptr %870, align 4, !tbaa !5
  %871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %872 = load i32, ptr @test_count, align 4, !tbaa !5
  %873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %874 = load i32, ptr %873, align 4, !tbaa !5
  %875 = call ptr @s2n_strerror(i32 noundef %874, ptr noundef @.str.4)
  %876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %877 = load i32, ptr %876, align 4, !tbaa !5
  %878 = call ptr @s2n_strerror_debug(i32 noundef %877, ptr noundef @.str.4)
  %879 = call ptr @__errno_location() #10
  %880 = load i32, ptr %879, align 4, !tbaa !5
  %881 = call ptr @strerror(i32 noundef %880) #9
  %882 = call ptr @__errno_location() #10
  %883 = load i32, ptr %882, align 4, !tbaa !5
  %884 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %871, ptr noundef @.str.5, i32 noundef %872, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 41, ptr noundef %875, ptr noundef %878, ptr noundef %881, i32 noundef %883) #9
  br label %885

885:                                              ; preds = %868, %851
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #9
  br label %886

886:                                              ; preds = %885
  br label %887

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

888:                                              ; No predecessors!
  br label %889

889:                                              ; preds = %888
  br label %890

890:                                              ; preds = %889, %831
  br label %891

891:                                              ; preds = %890
  br label %892

892:                                              ; preds = %891
  br label %893

893:                                              ; preds = %892
  %894 = load i32, ptr @test_count, align 4, !tbaa !5
  %895 = add nsw i32 %894, 1
  store i32 %895, ptr @test_count, align 4, !tbaa !5
  %896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %897 = load i32, ptr %896, align 4, !tbaa !5
  %898 = call ptr @s2n_strerror_debug(i32 noundef %897, ptr noundef @.str.4)
  %899 = icmp eq ptr %898, null
  br i1 %899, label %900, label %953

900:                                              ; preds = %893
  br label %901

901:                                              ; preds = %900
  br label %902

902:                                              ; preds = %901
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #9
  %903 = call ptr @__errno_location() #10
  %904 = load i32, ptr %903, align 4, !tbaa !5
  store i32 %904, ptr %18, align 4, !tbaa !5
  %905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %906 = call i32 @s2n_print_stacktrace(ptr noundef %905)
  %907 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %908 = trunc i8 %907 to i1
  br i1 %908, label %909, label %931

909:                                              ; preds = %902
  %910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %911 = call i32 @fileno(ptr noundef %910) #9
  %912 = call i32 @isatty(i32 noundef %911) #9
  %913 = icmp ne i32 %912, 0
  br i1 %913, label %914, label %931

914:                                              ; preds = %909
  %915 = load i32, ptr %18, align 4, !tbaa !5
  %916 = call ptr @__errno_location() #10
  store i32 %915, ptr %916, 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 @.str.4)
  %922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %923 = load i32, ptr %922, align 4, !tbaa !5
  %924 = call ptr @s2n_strerror_debug(i32 noundef %923, ptr noundef @.str.4)
  %925 = call ptr @__errno_location() #10
  %926 = load i32, ptr %925, align 4, !tbaa !5
  %927 = call ptr @strerror(i32 noundef %926) #9
  %928 = call ptr @__errno_location() #10
  %929 = load i32, ptr %928, align 4, !tbaa !5
  %930 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %917, ptr noundef @.str.2, i32 noundef %918, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 41, ptr noundef %921, ptr noundef %924, ptr noundef %927, i32 noundef %929) #9
  br label %948

931:                                              ; preds = %909, %902
  %932 = load i32, ptr %18, align 4, !tbaa !5
  %933 = call ptr @__errno_location() #10
  store i32 %932, ptr %933, align 4, !tbaa !5
  %934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %935 = load i32, ptr @test_count, align 4, !tbaa !5
  %936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %937 = load i32, ptr %936, align 4, !tbaa !5
  %938 = call ptr @s2n_strerror(i32 noundef %937, ptr noundef @.str.4)
  %939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %940 = load i32, ptr %939, align 4, !tbaa !5
  %941 = call ptr @s2n_strerror_debug(i32 noundef %940, ptr noundef @.str.4)
  %942 = call ptr @__errno_location() #10
  %943 = load i32, ptr %942, align 4, !tbaa !5
  %944 = call ptr @strerror(i32 noundef %943) #9
  %945 = call ptr @__errno_location() #10
  %946 = load i32, ptr %945, align 4, !tbaa !5
  %947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %934, ptr noundef @.str.5, i32 noundef %935, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 41, ptr noundef %938, ptr noundef %941, ptr noundef %944, i32 noundef %946) #9
  br label %948

948:                                              ; preds = %931, %914
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #9
  br label %949

949:                                              ; preds = %948
  br label %950

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

951:                                              ; No predecessors!
  br label %952

952:                                              ; preds = %951
  br label %953

953:                                              ; preds = %952, %893
  br label %954

954:                                              ; preds = %953
  br label %955

955:                                              ; preds = %954
  br label %956

956:                                              ; preds = %955
  br label %957

957:                                              ; preds = %956
  br label %958

958:                                              ; preds = %957
  %959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %959, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %960 = call ptr @__errno_location() #10
  store i32 0, ptr %960, align 4, !tbaa !5
  br label %961

961:                                              ; preds = %958
  br label %962

962:                                              ; preds = %961
  br label %963

963:                                              ; preds = %962
  br label %964

964:                                              ; preds = %963
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #9
  store i64 201326592, ptr %19, align 8, !tbaa !16
  br label %965

965:                                              ; preds = %1169, %964
  %966 = load i64, ptr %19, align 8, !tbaa !16
  %967 = icmp ult i64 %966, 201326596
  br i1 %967, label %969, label %968

968:                                              ; preds = %965
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #9
  br label %1172

969:                                              ; preds = %965
  br label %970

970:                                              ; preds = %969
  br label %971

971:                                              ; preds = %970
  br label %972

972:                                              ; preds = %971
  %973 = load i32, ptr @test_count, align 4, !tbaa !5
  %974 = add nsw i32 %973, 1
  store i32 %974, ptr @test_count, align 4, !tbaa !5
  %975 = load i64, ptr %19, align 8, !tbaa !16
  %976 = trunc i64 %975 to i32
  %977 = call i32 @s2n_error_get_alert(i32 noundef %976, ptr noundef %9)
  %978 = icmp eq i32 %977, -1
  br i1 %978, label %1032, label %979

979:                                              ; preds = %972
  br label %980

980:                                              ; preds = %979
  br label %981

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

988:                                              ; preds = %981
  %989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %990 = call i32 @fileno(ptr noundef %989) #9
  %991 = call i32 @isatty(i32 noundef %990) #9
  %992 = icmp ne i32 %991, 0
  br i1 %992, label %993, label %1010

993:                                              ; preds = %988
  %994 = load i32, ptr %20, align 4, !tbaa !5
  %995 = call ptr @__errno_location() #10
  store i32 %994, ptr %995, align 4, !tbaa !5
  %996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %997 = load i32, ptr @test_count, align 4, !tbaa !5
  %998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %999 = load i32, ptr %998, align 4, !tbaa !5
  %1000 = call ptr @s2n_strerror(i32 noundef %999, ptr noundef @.str.4)
  %1001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1002 = load i32, ptr %1001, align 4, !tbaa !5
  %1003 = call ptr @s2n_strerror_debug(i32 noundef %1002, ptr noundef @.str.4)
  %1004 = call ptr @__errno_location() #10
  %1005 = load i32, ptr %1004, align 4, !tbaa !5
  %1006 = call ptr @strerror(i32 noundef %1005) #9
  %1007 = call ptr @__errno_location() #10
  %1008 = load i32, ptr %1007, align 4, !tbaa !5
  %1009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %996, ptr noundef @.str.2, i32 noundef %997, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 45, ptr noundef %1000, ptr noundef %1003, ptr noundef %1006, i32 noundef %1008) #9
  br label %1027

1010:                                             ; preds = %988, %981
  %1011 = load i32, ptr %20, align 4, !tbaa !5
  %1012 = call ptr @__errno_location() #10
  store i32 %1011, ptr %1012, align 4, !tbaa !5
  %1013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1014 = load i32, ptr @test_count, align 4, !tbaa !5
  %1015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1016 = load i32, ptr %1015, align 4, !tbaa !5
  %1017 = call ptr @s2n_strerror(i32 noundef %1016, ptr noundef @.str.4)
  %1018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1019 = load i32, ptr %1018, align 4, !tbaa !5
  %1020 = call ptr @s2n_strerror_debug(i32 noundef %1019, ptr noundef @.str.4)
  %1021 = call ptr @__errno_location() #10
  %1022 = load i32, ptr %1021, align 4, !tbaa !5
  %1023 = call ptr @strerror(i32 noundef %1022) #9
  %1024 = call ptr @__errno_location() #10
  %1025 = load i32, ptr %1024, align 4, !tbaa !5
  %1026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1013, ptr noundef @.str.5, i32 noundef %1014, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 45, ptr noundef %1017, ptr noundef %1020, ptr noundef %1023, i32 noundef %1025) #9
  br label %1027

1027:                                             ; preds = %1010, %993
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #9
  br label %1028

1028:                                             ; preds = %1027
  br label %1029

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

1030:                                             ; No predecessors!
  br label %1031

1031:                                             ; preds = %1030
  br label %1032

1032:                                             ; preds = %1031, %972
  br label %1033

1033:                                             ; preds = %1032
  br label %1034

1034:                                             ; preds = %1033
  br label %1035

1035:                                             ; preds = %1034
  %1036 = load i32, ptr @test_count, align 4, !tbaa !5
  %1037 = add nsw i32 %1036, 1
  store i32 %1037, ptr @test_count, align 4, !tbaa !5
  %1038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1039 = load i32, ptr %1038, align 4, !tbaa !5
  %1040 = icmp eq i32 %1039, 469762048
  br i1 %1040, label %1094, label %1041

1041:                                             ; preds = %1035
  br label %1042

1042:                                             ; preds = %1041
  br label %1043

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

1050:                                             ; preds = %1043
  %1051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1052 = call i32 @fileno(ptr noundef %1051) #9
  %1053 = call i32 @isatty(i32 noundef %1052) #9
  %1054 = icmp ne i32 %1053, 0
  br i1 %1054, label %1055, label %1072

1055:                                             ; preds = %1050
  %1056 = load i32, ptr %21, align 4, !tbaa !5
  %1057 = call ptr @__errno_location() #10
  store i32 %1056, ptr %1057, align 4, !tbaa !5
  %1058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1059 = load i32, ptr @test_count, align 4, !tbaa !5
  %1060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1061 = load i32, ptr %1060, align 4, !tbaa !5
  %1062 = call ptr @s2n_strerror(i32 noundef %1061, ptr noundef @.str.4)
  %1063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1064 = load i32, ptr %1063, align 4, !tbaa !5
  %1065 = call ptr @s2n_strerror_debug(i32 noundef %1064, ptr noundef @.str.4)
  %1066 = call ptr @__errno_location() #10
  %1067 = load i32, ptr %1066, align 4, !tbaa !5
  %1068 = call ptr @strerror(i32 noundef %1067) #9
  %1069 = call ptr @__errno_location() #10
  %1070 = load i32, ptr %1069, align 4, !tbaa !5
  %1071 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1058, ptr noundef @.str.2, i32 noundef %1059, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 45, ptr noundef %1062, ptr noundef %1065, ptr noundef %1068, i32 noundef %1070) #9
  br label %1089

1072:                                             ; preds = %1050, %1043
  %1073 = load i32, ptr %21, align 4, !tbaa !5
  %1074 = call ptr @__errno_location() #10
  store i32 %1073, ptr %1074, align 4, !tbaa !5
  %1075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1076 = load i32, ptr @test_count, align 4, !tbaa !5
  %1077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1078 = load i32, ptr %1077, align 4, !tbaa !5
  %1079 = call ptr @s2n_strerror(i32 noundef %1078, ptr noundef @.str.4)
  %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_debug(i32 noundef %1081, ptr noundef @.str.4)
  %1083 = call ptr @__errno_location() #10
  %1084 = load i32, ptr %1083, align 4, !tbaa !5
  %1085 = call ptr @strerror(i32 noundef %1084) #9
  %1086 = call ptr @__errno_location() #10
  %1087 = load i32, ptr %1086, align 4, !tbaa !5
  %1088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1075, ptr noundef @.str.5, i32 noundef %1076, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 45, ptr noundef %1079, ptr noundef %1082, ptr noundef %1085, i32 noundef %1087) #9
  br label %1089

1089:                                             ; preds = %1072, %1055
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #9
  br label %1090

1090:                                             ; preds = %1089
  br label %1091

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

1092:                                             ; No predecessors!
  br label %1093

1093:                                             ; preds = %1092
  br label %1094

1094:                                             ; preds = %1093, %1035
  br label %1095

1095:                                             ; preds = %1094
  br label %1096

1096:                                             ; preds = %1095
  br label %1097

1097:                                             ; preds = %1096
  %1098 = load i32, ptr @test_count, align 4, !tbaa !5
  %1099 = add nsw i32 %1098, 1
  store i32 %1099, ptr @test_count, align 4, !tbaa !5
  %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 = icmp eq ptr %1102, null
  br i1 %1103, label %1104, label %1157

1104:                                             ; preds = %1097
  br label %1105

1105:                                             ; preds = %1104
  br label %1106

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

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

1118:                                             ; preds = %1113
  %1119 = load i32, ptr %22, align 4, !tbaa !5
  %1120 = call ptr @__errno_location() #10
  store i32 %1119, ptr %1120, 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 @.str.4)
  %1126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1127 = load i32, ptr %1126, align 4, !tbaa !5
  %1128 = call ptr @s2n_strerror_debug(i32 noundef %1127, ptr noundef @.str.4)
  %1129 = call ptr @__errno_location() #10
  %1130 = load i32, ptr %1129, align 4, !tbaa !5
  %1131 = call ptr @strerror(i32 noundef %1130) #9
  %1132 = call ptr @__errno_location() #10
  %1133 = load i32, ptr %1132, align 4, !tbaa !5
  %1134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1121, ptr noundef @.str.2, i32 noundef %1122, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 45, ptr noundef %1125, ptr noundef %1128, ptr noundef %1131, i32 noundef %1133) #9
  br label %1152

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

1152:                                             ; preds = %1135, %1118
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #9
  br label %1153

1153:                                             ; preds = %1152
  br label %1154

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

1155:                                             ; No predecessors!
  br label %1156

1156:                                             ; preds = %1155
  br label %1157

1157:                                             ; preds = %1156, %1097
  br label %1158

1158:                                             ; preds = %1157
  br label %1159

1159:                                             ; preds = %1158
  br label %1160

1160:                                             ; preds = %1159
  br label %1161

1161:                                             ; preds = %1160
  br label %1162

1162:                                             ; preds = %1161
  %1163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1163, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1164 = call ptr @__errno_location() #10
  store i32 0, ptr %1164, align 4, !tbaa !5
  br label %1165

1165:                                             ; preds = %1162
  br label %1166

1166:                                             ; preds = %1165
  br label %1167

1167:                                             ; preds = %1166
  br label %1168

1168:                                             ; preds = %1167
  br label %1169

1169:                                             ; preds = %1168
  %1170 = load i64, ptr %19, align 8, !tbaa !16
  %1171 = add i64 %1170, 1
  store i64 %1171, ptr %19, align 8, !tbaa !16
  br label %965, !llvm.loop !18

1172:                                             ; preds = %968
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #9
  store i64 469762048, ptr %23, align 8, !tbaa !16
  br label %1173

1173:                                             ; preds = %1377, %1172
  %1174 = load i64, ptr %23, align 8, !tbaa !16
  %1175 = icmp ult i64 %1174, 469762138
  br i1 %1175, label %1177, label %1176

1176:                                             ; preds = %1173
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #9
  br label %1380

1177:                                             ; preds = %1173
  br label %1178

1178:                                             ; preds = %1177
  br label %1179

1179:                                             ; preds = %1178
  br label %1180

1180:                                             ; preds = %1179
  %1181 = load i32, ptr @test_count, align 4, !tbaa !5
  %1182 = add nsw i32 %1181, 1
  store i32 %1182, ptr @test_count, align 4, !tbaa !5
  %1183 = load i64, ptr %23, align 8, !tbaa !16
  %1184 = trunc i64 %1183 to i32
  %1185 = call i32 @s2n_error_get_alert(i32 noundef %1184, ptr noundef %9)
  %1186 = icmp eq i32 %1185, -1
  br i1 %1186, label %1240, label %1187

1187:                                             ; preds = %1180
  br label %1188

1188:                                             ; preds = %1187
  br label %1189

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

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

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

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

1235:                                             ; preds = %1218, %1201
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #9
  br label %1236

1236:                                             ; preds = %1235
  br label %1237

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

1238:                                             ; No predecessors!
  br label %1239

1239:                                             ; preds = %1238
  br label %1240

1240:                                             ; preds = %1239, %1180
  br label %1241

1241:                                             ; preds = %1240
  br label %1242

1242:                                             ; preds = %1241
  br label %1243

1243:                                             ; preds = %1242
  %1244 = load i32, ptr @test_count, align 4, !tbaa !5
  %1245 = add nsw i32 %1244, 1
  store i32 %1245, ptr @test_count, align 4, !tbaa !5
  %1246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1247 = load i32, ptr %1246, align 4, !tbaa !5
  %1248 = icmp eq i32 %1247, 469762048
  br i1 %1248, label %1302, label %1249

1249:                                             ; preds = %1243
  br label %1250

1250:                                             ; preds = %1249
  br label %1251

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

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

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

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

1297:                                             ; preds = %1280, %1263
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #9
  br label %1298

1298:                                             ; preds = %1297
  br label %1299

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

1300:                                             ; No predecessors!
  br label %1301

1301:                                             ; preds = %1300
  br label %1302

1302:                                             ; preds = %1301, %1243
  br label %1303

1303:                                             ; preds = %1302
  br label %1304

1304:                                             ; preds = %1303
  br label %1305

1305:                                             ; preds = %1304
  %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 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1309 = load i32, ptr %1308, align 4, !tbaa !5
  %1310 = call ptr @s2n_strerror_debug(i32 noundef %1309, ptr noundef @.str.4)
  %1311 = icmp eq ptr %1310, null
  br i1 %1311, label %1312, label %1365

1312:                                             ; preds = %1305
  br label %1313

1313:                                             ; preds = %1312
  br label %1314

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

1321:                                             ; preds = %1314
  %1322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1323 = call i32 @fileno(ptr noundef %1322) #9
  %1324 = call i32 @isatty(i32 noundef %1323) #9
  %1325 = icmp ne i32 %1324, 0
  br i1 %1325, label %1326, label %1343

1326:                                             ; preds = %1321
  %1327 = load i32, ptr %26, align 4, !tbaa !5
  %1328 = call ptr @__errno_location() #10
  store i32 %1327, ptr %1328, align 4, !tbaa !5
  %1329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1330 = load i32, ptr @test_count, align 4, !tbaa !5
  %1331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1332 = load i32, ptr %1331, align 4, !tbaa !5
  %1333 = call ptr @s2n_strerror(i32 noundef %1332, ptr noundef @.str.4)
  %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_debug(i32 noundef %1335, ptr noundef @.str.4)
  %1337 = call ptr @__errno_location() #10
  %1338 = load i32, ptr %1337, align 4, !tbaa !5
  %1339 = call ptr @strerror(i32 noundef %1338) #9
  %1340 = call ptr @__errno_location() #10
  %1341 = load i32, ptr %1340, align 4, !tbaa !5
  %1342 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1329, ptr noundef @.str.2, i32 noundef %1330, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 50, ptr noundef %1333, ptr noundef %1336, ptr noundef %1339, i32 noundef %1341) #9
  br label %1360

1343:                                             ; preds = %1321, %1314
  %1344 = load i32, ptr %26, align 4, !tbaa !5
  %1345 = call ptr @__errno_location() #10
  store i32 %1344, ptr %1345, align 4, !tbaa !5
  %1346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1347 = load i32, ptr @test_count, align 4, !tbaa !5
  %1348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1349 = load i32, ptr %1348, align 4, !tbaa !5
  %1350 = call ptr @s2n_strerror(i32 noundef %1349, ptr noundef @.str.4)
  %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_debug(i32 noundef %1352, ptr noundef @.str.4)
  %1354 = call ptr @__errno_location() #10
  %1355 = load i32, ptr %1354, align 4, !tbaa !5
  %1356 = call ptr @strerror(i32 noundef %1355) #9
  %1357 = call ptr @__errno_location() #10
  %1358 = load i32, ptr %1357, align 4, !tbaa !5
  %1359 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1346, ptr noundef @.str.5, i32 noundef %1347, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 50, ptr noundef %1350, ptr noundef %1353, ptr noundef %1356, i32 noundef %1358) #9
  br label %1360

1360:                                             ; preds = %1343, %1326
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #9
  br label %1361

1361:                                             ; preds = %1360
  br label %1362

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

1363:                                             ; No predecessors!
  br label %1364

1364:                                             ; preds = %1363
  br label %1365

1365:                                             ; preds = %1364, %1305
  br label %1366

1366:                                             ; preds = %1365
  br label %1367

1367:                                             ; preds = %1366
  br label %1368

1368:                                             ; preds = %1367
  br label %1369

1369:                                             ; preds = %1368
  br label %1370

1370:                                             ; preds = %1369
  %1371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1371, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1372 = call ptr @__errno_location() #10
  store i32 0, ptr %1372, align 4, !tbaa !5
  br label %1373

1373:                                             ; preds = %1370
  br label %1374

1374:                                             ; preds = %1373
  br label %1375

1375:                                             ; preds = %1374
  br label %1376

1376:                                             ; preds = %1375
  br label %1377

1377:                                             ; preds = %1376
  %1378 = load i64, ptr %23, align 8, !tbaa !16
  %1379 = add i64 %1378, 1
  store i64 %1379, ptr %23, align 8, !tbaa !16
  br label %1173, !llvm.loop !20

1380:                                             ; preds = %1176
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #9
  store i64 335544320, ptr %27, align 8, !tbaa !16
  br label %1381

1381:                                             ; preds = %1454, %1380
  %1382 = load i64, ptr %27, align 8, !tbaa !16
  %1383 = icmp ult i64 %1382, 335544400
  br i1 %1383, label %1385, label %1384

1384:                                             ; preds = %1381
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #9
  br label %1457

1385:                                             ; preds = %1381
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #9
  %1386 = load i64, ptr %27, align 8, !tbaa !16
  %1387 = trunc i64 %1386 to i32
  %1388 = call i32 @s2n_error_get_alert(i32 noundef %1387, ptr noundef %9)
  store i32 %1388, ptr %28, align 4, !tbaa !5
  %1389 = load i32, ptr %28, align 4, !tbaa !5
  %1390 = icmp ne i32 %1389, 0
  br i1 %1390, label %1391, label %1453

1391:                                             ; preds = %1385
  %1392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1393 = load i32, ptr %1392, align 4, !tbaa !5
  %1394 = icmp eq i32 %1393, 402653231
  br i1 %1394, label %1395, label %1453

1395:                                             ; preds = %1391
  %1396 = load ptr, ptr @stdout, align 8, !tbaa !9
  %1397 = load i64, ptr %27, align 8, !tbaa !16
  %1398 = trunc i64 %1397 to i32
  %1399 = call ptr @s2n_strerror_name(i32 noundef %1398)
  %1400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1396, ptr noundef @.str.14, ptr noundef %1399) #9
  br label %1401

1401:                                             ; preds = %1395
  br label %1402

1402:                                             ; preds = %1401
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #9
  %1403 = call ptr @__errno_location() #10
  %1404 = load i32, ptr %1403, align 4, !tbaa !5
  store i32 %1404, ptr %29, align 4, !tbaa !5
  %1405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1406 = call i32 @s2n_print_stacktrace(ptr noundef %1405)
  %1407 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1408 = trunc i8 %1407 to i1
  br i1 %1408, label %1409, label %1431

1409:                                             ; preds = %1402
  %1410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1411 = call i32 @fileno(ptr noundef %1410) #9
  %1412 = call i32 @isatty(i32 noundef %1411) #9
  %1413 = icmp ne i32 %1412, 0
  br i1 %1413, label %1414, label %1431

1414:                                             ; preds = %1409
  %1415 = load i32, ptr %29, align 4, !tbaa !5
  %1416 = call ptr @__errno_location() #10
  store i32 %1415, ptr %1416, align 4, !tbaa !5
  %1417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1418 = load i32, ptr @test_count, align 4, !tbaa !5
  %1419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1420 = load i32, ptr %1419, align 4, !tbaa !5
  %1421 = call ptr @s2n_strerror(i32 noundef %1420, ptr noundef @.str.4)
  %1422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1423 = load i32, ptr %1422, align 4, !tbaa !5
  %1424 = call ptr @s2n_strerror_debug(i32 noundef %1423, ptr noundef @.str.4)
  %1425 = call ptr @__errno_location() #10
  %1426 = load i32, ptr %1425, align 4, !tbaa !5
  %1427 = call ptr @strerror(i32 noundef %1426) #9
  %1428 = call ptr @__errno_location() #10
  %1429 = load i32, ptr %1428, align 4, !tbaa !5
  %1430 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1417, ptr noundef @.str.2, i32 noundef %1418, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 60, ptr noundef %1421, ptr noundef %1424, ptr noundef %1427, i32 noundef %1429) #9
  br label %1448

1431:                                             ; preds = %1409, %1402
  %1432 = load i32, ptr %29, align 4, !tbaa !5
  %1433 = call ptr @__errno_location() #10
  store i32 %1432, ptr %1433, align 4, !tbaa !5
  %1434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1435 = load i32, ptr @test_count, align 4, !tbaa !5
  %1436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1437 = load i32, ptr %1436, align 4, !tbaa !5
  %1438 = call ptr @s2n_strerror(i32 noundef %1437, ptr noundef @.str.4)
  %1439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1440 = load i32, ptr %1439, align 4, !tbaa !5
  %1441 = call ptr @s2n_strerror_debug(i32 noundef %1440, ptr noundef @.str.4)
  %1442 = call ptr @__errno_location() #10
  %1443 = load i32, ptr %1442, align 4, !tbaa !5
  %1444 = call ptr @strerror(i32 noundef %1443) #9
  %1445 = call ptr @__errno_location() #10
  %1446 = load i32, ptr %1445, align 4, !tbaa !5
  %1447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1434, ptr noundef @.str.5, i32 noundef %1435, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 60, ptr noundef %1438, ptr noundef %1441, ptr noundef %1444, i32 noundef %1446) #9
  br label %1448

1448:                                             ; preds = %1431, %1414
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #9
  br label %1449

1449:                                             ; preds = %1448
  br label %1450

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

1451:                                             ; No predecessors!
  br label %1452

1452:                                             ; preds = %1451
  br label %1453

1453:                                             ; preds = %1452, %1391, %1385
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #9
  br label %1454

1454:                                             ; preds = %1453
  %1455 = load i64, ptr %27, align 8, !tbaa !16
  %1456 = add i64 %1455, 1
  store i64 %1456, ptr %27, align 8, !tbaa !16
  br label %1381, !llvm.loop !21

1457:                                             ; preds = %1384
  br label %1458

1458:                                             ; preds = %1457
  %1459 = load i32, ptr @test_count, align 4, !tbaa !5
  %1460 = add nsw i32 %1459, 1
  store i32 %1460, ptr @test_count, align 4, !tbaa !5
  %1461 = call i32 @s2n_error_get_alert(i32 noundef 335544393, ptr noundef %9)
  %1462 = icmp eq i32 %1461, -1
  br i1 %1462, label %1463, label %1516

1463:                                             ; preds = %1458
  br label %1464

1464:                                             ; preds = %1463
  br label %1465

1465:                                             ; preds = %1464
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #9
  %1466 = call ptr @__errno_location() #10
  %1467 = load i32, ptr %1466, align 4, !tbaa !5
  store i32 %1467, ptr %30, align 4, !tbaa !5
  %1468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1469 = call i32 @s2n_print_stacktrace(ptr noundef %1468)
  %1470 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1471 = trunc i8 %1470 to i1
  br i1 %1471, label %1472, label %1494

1472:                                             ; preds = %1465
  %1473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1474 = call i32 @fileno(ptr noundef %1473) #9
  %1475 = call i32 @isatty(i32 noundef %1474) #9
  %1476 = icmp ne i32 %1475, 0
  br i1 %1476, label %1477, label %1494

1477:                                             ; preds = %1472
  %1478 = load i32, ptr %30, align 4, !tbaa !5
  %1479 = call ptr @__errno_location() #10
  store i32 %1478, ptr %1479, align 4, !tbaa !5
  %1480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1481 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1483, ptr noundef @.str.4)
  %1485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1486 = load i32, ptr %1485, align 4, !tbaa !5
  %1487 = call ptr @s2n_strerror_debug(i32 noundef %1486, ptr noundef @.str.4)
  %1488 = call ptr @__errno_location() #10
  %1489 = load i32, ptr %1488, align 4, !tbaa !5
  %1490 = call ptr @strerror(i32 noundef %1489) #9
  %1491 = call ptr @__errno_location() #10
  %1492 = load i32, ptr %1491, align 4, !tbaa !5
  %1493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1480, ptr noundef @.str.2, i32 noundef %1481, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 66, ptr noundef %1484, ptr noundef %1487, ptr noundef %1490, i32 noundef %1492) #9
  br label %1511

1494:                                             ; preds = %1472, %1465
  %1495 = load i32, ptr %30, align 4, !tbaa !5
  %1496 = call ptr @__errno_location() #10
  store i32 %1495, ptr %1496, align 4, !tbaa !5
  %1497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1498 = load i32, ptr @test_count, align 4, !tbaa !5
  %1499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1500 = load i32, ptr %1499, align 4, !tbaa !5
  %1501 = call ptr @s2n_strerror(i32 noundef %1500, ptr noundef @.str.4)
  %1502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1503 = load i32, ptr %1502, align 4, !tbaa !5
  %1504 = call ptr @s2n_strerror_debug(i32 noundef %1503, ptr noundef @.str.4)
  %1505 = call ptr @__errno_location() #10
  %1506 = load i32, ptr %1505, align 4, !tbaa !5
  %1507 = call ptr @strerror(i32 noundef %1506) #9
  %1508 = call ptr @__errno_location() #10
  %1509 = load i32, ptr %1508, align 4, !tbaa !5
  %1510 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1497, ptr noundef @.str.5, i32 noundef %1498, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 66, ptr noundef %1501, ptr noundef %1504, ptr noundef %1507, i32 noundef %1509) #9
  br label %1511

1511:                                             ; preds = %1494, %1477
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #9
  br label %1512

1512:                                             ; preds = %1511
  br label %1513

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

1514:                                             ; No predecessors!
  br label %1515

1515:                                             ; preds = %1514
  br label %1516

1516:                                             ; preds = %1515, %1458
  br label %1517

1517:                                             ; preds = %1516
  br label %1518

1518:                                             ; preds = %1517
  br label %1519

1519:                                             ; preds = %1518
  %1520 = load i32, ptr @test_count, align 4, !tbaa !5
  %1521 = add nsw i32 %1520, 1
  store i32 %1521, ptr @test_count, align 4, !tbaa !5
  %1522 = load i8, ptr %9, align 1, !tbaa !15
  %1523 = zext i8 %1522 to i32
  %1524 = icmp eq i32 109, %1523
  br i1 %1524, label %1578, label %1525

1525:                                             ; preds = %1519
  br label %1526

1526:                                             ; preds = %1525
  br label %1527

1527:                                             ; preds = %1526
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #9
  %1528 = call ptr @__errno_location() #10
  %1529 = load i32, ptr %1528, align 4, !tbaa !5
  store i32 %1529, ptr %31, align 4, !tbaa !5
  %1530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1531 = call i32 @s2n_print_stacktrace(ptr noundef %1530)
  %1532 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1533 = trunc i8 %1532 to i1
  br i1 %1533, label %1534, label %1556

1534:                                             ; preds = %1527
  %1535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1536 = call i32 @fileno(ptr noundef %1535) #9
  %1537 = call i32 @isatty(i32 noundef %1536) #9
  %1538 = icmp ne i32 %1537, 0
  br i1 %1538, label %1539, label %1556

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

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

1573:                                             ; preds = %1556, %1539
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #9
  br label %1574

1574:                                             ; preds = %1573
  br label %1575

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

1576:                                             ; No predecessors!
  br label %1577

1577:                                             ; preds = %1576
  br label %1578

1578:                                             ; preds = %1577, %1519
  br label %1579

1579:                                             ; preds = %1578
  br label %1580

1580:                                             ; preds = %1579
  br label %1581

1581:                                             ; preds = %1580
  %1582 = load i32, ptr @test_count, align 4, !tbaa !5
  %1583 = add nsw i32 %1582, 1
  store i32 %1583, ptr @test_count, align 4, !tbaa !5
  %1584 = call i32 @s2n_error_get_alert(i32 noundef 335544322, ptr noundef %9)
  %1585 = icmp eq i32 %1584, -1
  br i1 %1585, label %1586, label %1639

1586:                                             ; preds = %1581
  br label %1587

1587:                                             ; preds = %1586
  br label %1588

1588:                                             ; preds = %1587
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #9
  %1589 = call ptr @__errno_location() #10
  %1590 = load i32, ptr %1589, align 4, !tbaa !5
  store i32 %1590, ptr %32, align 4, !tbaa !5
  %1591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1592 = call i32 @s2n_print_stacktrace(ptr noundef %1591)
  %1593 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1594 = trunc i8 %1593 to i1
  br i1 %1594, label %1595, label %1617

1595:                                             ; preds = %1588
  %1596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1597 = call i32 @fileno(ptr noundef %1596) #9
  %1598 = call i32 @isatty(i32 noundef %1597) #9
  %1599 = icmp ne i32 %1598, 0
  br i1 %1599, label %1600, label %1617

1600:                                             ; preds = %1595
  %1601 = load i32, ptr %32, align 4, !tbaa !5
  %1602 = call ptr @__errno_location() #10
  store i32 %1601, ptr %1602, align 4, !tbaa !5
  %1603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1604 = load i32, ptr @test_count, align 4, !tbaa !5
  %1605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1606 = load i32, ptr %1605, align 4, !tbaa !5
  %1607 = call ptr @s2n_strerror(i32 noundef %1606, ptr noundef @.str.4)
  %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_debug(i32 noundef %1609, ptr noundef @.str.4)
  %1611 = call ptr @__errno_location() #10
  %1612 = load i32, ptr %1611, align 4, !tbaa !5
  %1613 = call ptr @strerror(i32 noundef %1612) #9
  %1614 = call ptr @__errno_location() #10
  %1615 = load i32, ptr %1614, align 4, !tbaa !5
  %1616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1603, ptr noundef @.str.2, i32 noundef %1604, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 69, ptr noundef %1607, ptr noundef %1610, ptr noundef %1613, i32 noundef %1615) #9
  br label %1634

1617:                                             ; preds = %1595, %1588
  %1618 = load i32, ptr %32, align 4, !tbaa !5
  %1619 = call ptr @__errno_location() #10
  store i32 %1618, ptr %1619, align 4, !tbaa !5
  %1620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1621 = load i32, ptr @test_count, align 4, !tbaa !5
  %1622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1623 = load i32, ptr %1622, align 4, !tbaa !5
  %1624 = call ptr @s2n_strerror(i32 noundef %1623, ptr noundef @.str.4)
  %1625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1626 = load i32, ptr %1625, align 4, !tbaa !5
  %1627 = call ptr @s2n_strerror_debug(i32 noundef %1626, ptr noundef @.str.4)
  %1628 = call ptr @__errno_location() #10
  %1629 = load i32, ptr %1628, align 4, !tbaa !5
  %1630 = call ptr @strerror(i32 noundef %1629) #9
  %1631 = call ptr @__errno_location() #10
  %1632 = load i32, ptr %1631, align 4, !tbaa !5
  %1633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1620, ptr noundef @.str.5, i32 noundef %1621, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 69, ptr noundef %1624, ptr noundef %1627, ptr noundef %1630, i32 noundef %1632) #9
  br label %1634

1634:                                             ; preds = %1617, %1600
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #9
  br label %1635

1635:                                             ; preds = %1634
  br label %1636

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

1637:                                             ; No predecessors!
  br label %1638

1638:                                             ; preds = %1637
  br label %1639

1639:                                             ; preds = %1638, %1581
  br label %1640

1640:                                             ; preds = %1639
  br label %1641

1641:                                             ; preds = %1640
  br label %1642

1642:                                             ; preds = %1641
  %1643 = load i32, ptr @test_count, align 4, !tbaa !5
  %1644 = add nsw i32 %1643, 1
  store i32 %1644, ptr @test_count, align 4, !tbaa !5
  %1645 = load i8, ptr %9, align 1, !tbaa !15
  %1646 = zext i8 %1645 to i32
  %1647 = icmp eq i32 10, %1646
  br i1 %1647, label %1701, label %1648

1648:                                             ; preds = %1642
  br label %1649

1649:                                             ; preds = %1648
  br label %1650

1650:                                             ; preds = %1649
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #9
  %1651 = call ptr @__errno_location() #10
  %1652 = load i32, ptr %1651, align 4, !tbaa !5
  store i32 %1652, ptr %33, align 4, !tbaa !5
  %1653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1654 = call i32 @s2n_print_stacktrace(ptr noundef %1653)
  %1655 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1656 = trunc i8 %1655 to i1
  br i1 %1656, label %1657, label %1679

1657:                                             ; preds = %1650
  %1658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1659 = call i32 @fileno(ptr noundef %1658) #9
  %1660 = call i32 @isatty(i32 noundef %1659) #9
  %1661 = icmp ne i32 %1660, 0
  br i1 %1661, label %1662, label %1679

1662:                                             ; preds = %1657
  %1663 = load i32, ptr %33, align 4, !tbaa !5
  %1664 = call ptr @__errno_location() #10
  store i32 %1663, ptr %1664, align 4, !tbaa !5
  %1665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1666 = load i32, ptr @test_count, align 4, !tbaa !5
  %1667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1668 = load i32, ptr %1667, align 4, !tbaa !5
  %1669 = call ptr @s2n_strerror(i32 noundef %1668, ptr noundef @.str.4)
  %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_debug(i32 noundef %1671, ptr noundef @.str.4)
  %1673 = call ptr @__errno_location() #10
  %1674 = load i32, ptr %1673, align 4, !tbaa !5
  %1675 = call ptr @strerror(i32 noundef %1674) #9
  %1676 = call ptr @__errno_location() #10
  %1677 = load i32, ptr %1676, align 4, !tbaa !5
  %1678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1665, ptr noundef @.str.2, i32 noundef %1666, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 70, ptr noundef %1669, ptr noundef %1672, ptr noundef %1675, i32 noundef %1677) #9
  br label %1696

1679:                                             ; preds = %1657, %1650
  %1680 = load i32, ptr %33, align 4, !tbaa !5
  %1681 = call ptr @__errno_location() #10
  store i32 %1680, ptr %1681, align 4, !tbaa !5
  %1682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1683 = load i32, ptr @test_count, align 4, !tbaa !5
  %1684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1685 = load i32, ptr %1684, align 4, !tbaa !5
  %1686 = call ptr @s2n_strerror(i32 noundef %1685, ptr noundef @.str.4)
  %1687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1688 = load i32, ptr %1687, align 4, !tbaa !5
  %1689 = call ptr @s2n_strerror_debug(i32 noundef %1688, ptr noundef @.str.4)
  %1690 = call ptr @__errno_location() #10
  %1691 = load i32, ptr %1690, align 4, !tbaa !5
  %1692 = call ptr @strerror(i32 noundef %1691) #9
  %1693 = call ptr @__errno_location() #10
  %1694 = load i32, ptr %1693, align 4, !tbaa !5
  %1695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1682, ptr noundef @.str.5, i32 noundef %1683, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 70, ptr noundef %1686, ptr noundef %1689, ptr noundef %1692, i32 noundef %1694) #9
  br label %1696

1696:                                             ; preds = %1679, %1662
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #9
  br label %1697

1697:                                             ; preds = %1696
  br label %1698

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

1699:                                             ; No predecessors!
  br label %1700

1700:                                             ; preds = %1699
  br label %1701

1701:                                             ; preds = %1700, %1642
  br label %1702

1702:                                             ; preds = %1701
  br label %1703

1703:                                             ; preds = %1702
  br label %1704

1704:                                             ; preds = %1703
  br label %1705

1705:                                             ; preds = %1704
  br label %1706

1706:                                             ; preds = %1705
  %1707 = load i32, ptr @test_count, align 4, !tbaa !5
  %1708 = add nsw i32 %1707, 1
  store i32 %1708, ptr @test_count, align 4, !tbaa !5
  %1709 = call i32 @s2n_error_get_alert(i32 noundef 335544397, ptr noundef %9)
  %1710 = icmp eq i32 %1709, -1
  br i1 %1710, label %1764, label %1711

1711:                                             ; preds = %1706
  br label %1712

1712:                                             ; preds = %1711
  br label %1713

1713:                                             ; preds = %1712
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #9
  %1714 = call ptr @__errno_location() #10
  %1715 = load i32, ptr %1714, align 4, !tbaa !5
  store i32 %1715, ptr %34, align 4, !tbaa !5
  %1716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1717 = call i32 @s2n_print_stacktrace(ptr noundef %1716)
  %1718 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1719 = trunc i8 %1718 to i1
  br i1 %1719, label %1720, label %1742

1720:                                             ; preds = %1713
  %1721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1722 = call i32 @fileno(ptr noundef %1721) #9
  %1723 = call i32 @isatty(i32 noundef %1722) #9
  %1724 = icmp ne i32 %1723, 0
  br i1 %1724, label %1725, label %1742

1725:                                             ; preds = %1720
  %1726 = load i32, ptr %34, align 4, !tbaa !5
  %1727 = call ptr @__errno_location() #10
  store i32 %1726, ptr %1727, align 4, !tbaa !5
  %1728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1729 = load i32, ptr @test_count, align 4, !tbaa !5
  %1730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1731 = load i32, ptr %1730, align 4, !tbaa !5
  %1732 = call ptr @s2n_strerror(i32 noundef %1731, ptr noundef @.str.4)
  %1733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1734 = load i32, ptr %1733, align 4, !tbaa !5
  %1735 = call ptr @s2n_strerror_debug(i32 noundef %1734, ptr noundef @.str.4)
  %1736 = call ptr @__errno_location() #10
  %1737 = load i32, ptr %1736, align 4, !tbaa !5
  %1738 = call ptr @strerror(i32 noundef %1737) #9
  %1739 = call ptr @__errno_location() #10
  %1740 = load i32, ptr %1739, align 4, !tbaa !5
  %1741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1728, ptr noundef @.str.2, i32 noundef %1729, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 74, ptr noundef %1732, ptr noundef %1735, ptr noundef %1738, i32 noundef %1740) #9
  br label %1759

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

1759:                                             ; preds = %1742, %1725
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #9
  br label %1760

1760:                                             ; preds = %1759
  br label %1761

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

1762:                                             ; No predecessors!
  br label %1763

1763:                                             ; preds = %1762
  br label %1764

1764:                                             ; preds = %1763, %1706
  br label %1765

1765:                                             ; preds = %1764
  br label %1766

1766:                                             ; preds = %1765
  br label %1767

1767:                                             ; preds = %1766
  %1768 = load i32, ptr @test_count, align 4, !tbaa !5
  %1769 = add nsw i32 %1768, 1
  store i32 %1769, ptr @test_count, align 4, !tbaa !5
  %1770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1771 = load i32, ptr %1770, align 4, !tbaa !5
  %1772 = icmp eq i32 %1771, 469762048
  br i1 %1772, label %1826, label %1773

1773:                                             ; preds = %1767
  br label %1774

1774:                                             ; preds = %1773
  br label %1775

1775:                                             ; preds = %1774
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #9
  %1776 = call ptr @__errno_location() #10
  %1777 = load i32, ptr %1776, align 4, !tbaa !5
  store i32 %1777, ptr %35, align 4, !tbaa !5
  %1778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1779 = call i32 @s2n_print_stacktrace(ptr noundef %1778)
  %1780 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1781 = trunc i8 %1780 to i1
  br i1 %1781, label %1782, label %1804

1782:                                             ; preds = %1775
  %1783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1784 = call i32 @fileno(ptr noundef %1783) #9
  %1785 = call i32 @isatty(i32 noundef %1784) #9
  %1786 = icmp ne i32 %1785, 0
  br i1 %1786, label %1787, label %1804

1787:                                             ; preds = %1782
  %1788 = load i32, ptr %35, align 4, !tbaa !5
  %1789 = call ptr @__errno_location() #10
  store i32 %1788, ptr %1789, align 4, !tbaa !5
  %1790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1791 = load i32, ptr @test_count, align 4, !tbaa !5
  %1792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1793 = load i32, ptr %1792, align 4, !tbaa !5
  %1794 = call ptr @s2n_strerror(i32 noundef %1793, ptr noundef @.str.4)
  %1795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1796 = load i32, ptr %1795, align 4, !tbaa !5
  %1797 = call ptr @s2n_strerror_debug(i32 noundef %1796, ptr noundef @.str.4)
  %1798 = call ptr @__errno_location() #10
  %1799 = load i32, ptr %1798, align 4, !tbaa !5
  %1800 = call ptr @strerror(i32 noundef %1799) #9
  %1801 = call ptr @__errno_location() #10
  %1802 = load i32, ptr %1801, align 4, !tbaa !5
  %1803 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1790, ptr noundef @.str.2, i32 noundef %1791, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 74, ptr noundef %1794, ptr noundef %1797, ptr noundef %1800, i32 noundef %1802) #9
  br label %1821

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

1821:                                             ; preds = %1804, %1787
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #9
  br label %1822

1822:                                             ; preds = %1821
  br label %1823

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

1824:                                             ; No predecessors!
  br label %1825

1825:                                             ; preds = %1824
  br label %1826

1826:                                             ; preds = %1825, %1767
  br label %1827

1827:                                             ; preds = %1826
  br label %1828

1828:                                             ; preds = %1827
  br label %1829

1829:                                             ; preds = %1828
  %1830 = load i32, ptr @test_count, align 4, !tbaa !5
  %1831 = add nsw i32 %1830, 1
  store i32 %1831, ptr @test_count, align 4, !tbaa !5
  %1832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1833 = load i32, ptr %1832, align 4, !tbaa !5
  %1834 = call ptr @s2n_strerror_debug(i32 noundef %1833, ptr noundef @.str.4)
  %1835 = icmp eq ptr %1834, null
  br i1 %1835, label %1836, label %1889

1836:                                             ; preds = %1829
  br label %1837

1837:                                             ; preds = %1836
  br label %1838

1838:                                             ; preds = %1837
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #9
  %1839 = call ptr @__errno_location() #10
  %1840 = load i32, ptr %1839, align 4, !tbaa !5
  store i32 %1840, ptr %36, align 4, !tbaa !5
  %1841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1842 = call i32 @s2n_print_stacktrace(ptr noundef %1841)
  %1843 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1844 = trunc i8 %1843 to i1
  br i1 %1844, label %1845, label %1867

1845:                                             ; preds = %1838
  %1846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1847 = call i32 @fileno(ptr noundef %1846) #9
  %1848 = call i32 @isatty(i32 noundef %1847) #9
  %1849 = icmp ne i32 %1848, 0
  br i1 %1849, label %1850, label %1867

1850:                                             ; preds = %1845
  %1851 = load i32, ptr %36, align 4, !tbaa !5
  %1852 = call ptr @__errno_location() #10
  store i32 %1851, ptr %1852, align 4, !tbaa !5
  %1853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1854 = load i32, ptr @test_count, align 4, !tbaa !5
  %1855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1856 = load i32, ptr %1855, align 4, !tbaa !5
  %1857 = call ptr @s2n_strerror(i32 noundef %1856, ptr noundef @.str.4)
  %1858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1859 = load i32, ptr %1858, align 4, !tbaa !5
  %1860 = call ptr @s2n_strerror_debug(i32 noundef %1859, ptr noundef @.str.4)
  %1861 = call ptr @__errno_location() #10
  %1862 = load i32, ptr %1861, align 4, !tbaa !5
  %1863 = call ptr @strerror(i32 noundef %1862) #9
  %1864 = call ptr @__errno_location() #10
  %1865 = load i32, ptr %1864, align 4, !tbaa !5
  %1866 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1853, ptr noundef @.str.2, i32 noundef %1854, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 74, ptr noundef %1857, ptr noundef %1860, ptr noundef %1863, i32 noundef %1865) #9
  br label %1884

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

1884:                                             ; preds = %1867, %1850
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #9
  br label %1885

1885:                                             ; preds = %1884
  br label %1886

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

1887:                                             ; No predecessors!
  br label %1888

1888:                                             ; preds = %1887
  br label %1889

1889:                                             ; preds = %1888, %1829
  br label %1890

1890:                                             ; preds = %1889
  br label %1891

1891:                                             ; preds = %1890
  br label %1892

1892:                                             ; preds = %1891
  br label %1893

1893:                                             ; preds = %1892
  br label %1894

1894:                                             ; preds = %1893
  %1895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1895, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1896 = call ptr @__errno_location() #10
  store i32 0, ptr %1896, align 4, !tbaa !5
  br label %1897

1897:                                             ; preds = %1894
  br label %1898

1898:                                             ; preds = %1897
  br label %1899

1899:                                             ; preds = %1898
  br label %1900

1900:                                             ; preds = %1899
  br label %1901

1901:                                             ; preds = %1900
  %1902 = load i32, ptr @test_count, align 4, !tbaa !5
  %1903 = add nsw i32 %1902, 1
  store i32 %1903, ptr @test_count, align 4, !tbaa !5
  %1904 = call i32 @s2n_error_get_alert(i32 noundef 67108864, ptr noundef %9)
  %1905 = icmp eq i32 %1904, -1
  br i1 %1905, label %1906, label %1959

1906:                                             ; preds = %1901
  br label %1907

1907:                                             ; preds = %1906
  br label %1908

1908:                                             ; preds = %1907
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #9
  %1909 = call ptr @__errno_location() #10
  %1910 = load i32, ptr %1909, align 4, !tbaa !5
  store i32 %1910, ptr %37, align 4, !tbaa !5
  %1911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1912 = call i32 @s2n_print_stacktrace(ptr noundef %1911)
  %1913 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1914 = trunc i8 %1913 to i1
  br i1 %1914, label %1915, label %1937

1915:                                             ; preds = %1908
  %1916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1917 = call i32 @fileno(ptr noundef %1916) #9
  %1918 = call i32 @isatty(i32 noundef %1917) #9
  %1919 = icmp ne i32 %1918, 0
  br i1 %1919, label %1920, label %1937

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

1937:                                             ; preds = %1915, %1908
  %1938 = load i32, ptr %37, align 4, !tbaa !5
  %1939 = call ptr @__errno_location() #10
  store i32 %1938, ptr %1939, align 4, !tbaa !5
  %1940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1941 = load i32, ptr @test_count, align 4, !tbaa !5
  %1942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1943 = load i32, ptr %1942, align 4, !tbaa !5
  %1944 = call ptr @s2n_strerror(i32 noundef %1943, ptr noundef @.str.4)
  %1945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1946 = load i32, ptr %1945, align 4, !tbaa !5
  %1947 = call ptr @s2n_strerror_debug(i32 noundef %1946, ptr noundef @.str.4)
  %1948 = call ptr @__errno_location() #10
  %1949 = load i32, ptr %1948, align 4, !tbaa !5
  %1950 = call ptr @strerror(i32 noundef %1949) #9
  %1951 = call ptr @__errno_location() #10
  %1952 = load i32, ptr %1951, align 4, !tbaa !5
  %1953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1940, ptr noundef @.str.5, i32 noundef %1941, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 79, ptr noundef %1944, ptr noundef %1947, ptr noundef %1950, i32 noundef %1952) #9
  br label %1954

1954:                                             ; preds = %1937, %1920
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #9
  br label %1955

1955:                                             ; preds = %1954
  br label %1956

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

1957:                                             ; No predecessors!
  br label %1958

1958:                                             ; preds = %1957
  br label %1959

1959:                                             ; preds = %1958, %1901
  br label %1960

1960:                                             ; preds = %1959
  br label %1961

1961:                                             ; preds = %1960
  br label %1962

1962:                                             ; preds = %1961
  %1963 = load i32, ptr @test_count, align 4, !tbaa !5
  %1964 = add nsw i32 %1963, 1
  store i32 %1964, ptr @test_count, align 4, !tbaa !5
  %1965 = load i8, ptr %9, align 1, !tbaa !15
  %1966 = zext i8 %1965 to i32
  %1967 = icmp eq i32 %1966, 80
  br i1 %1967, label %2021, label %1968

1968:                                             ; preds = %1962
  br label %1969

1969:                                             ; preds = %1968
  br label %1970

1970:                                             ; preds = %1969
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #9
  %1971 = call ptr @__errno_location() #10
  %1972 = load i32, ptr %1971, align 4, !tbaa !5
  store i32 %1972, ptr %38, align 4, !tbaa !5
  %1973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1974 = call i32 @s2n_print_stacktrace(ptr noundef %1973)
  %1975 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1976 = trunc i8 %1975 to i1
  br i1 %1976, label %1977, label %1999

1977:                                             ; preds = %1970
  %1978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1979 = call i32 @fileno(ptr noundef %1978) #9
  %1980 = call i32 @isatty(i32 noundef %1979) #9
  %1981 = icmp ne i32 %1980, 0
  br i1 %1981, label %1982, label %1999

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

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

2016:                                             ; preds = %1999, %1982
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #9
  br label %2017

2017:                                             ; preds = %2016
  br label %2018

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

2019:                                             ; No predecessors!
  br label %2020

2020:                                             ; preds = %2019
  br label %2021

2021:                                             ; preds = %2020, %1962
  br label %2022

2022:                                             ; preds = %2021
  br label %2023

2023:                                             ; preds = %2022
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #9
  store i64 402653184, ptr %39, align 8, !tbaa !16
  br label %2024

2024:                                             ; preds = %2154, %2023
  %2025 = load i64, ptr %39, align 8, !tbaa !16
  %2026 = icmp ult i64 %2025, 402653274
  br i1 %2026, label %2028, label %2027

2027:                                             ; preds = %2024
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #9
  br label %2157

2028:                                             ; preds = %2024
  br label %2029

2029:                                             ; preds = %2028
  %2030 = load i32, ptr @test_count, align 4, !tbaa !5
  %2031 = add nsw i32 %2030, 1
  store i32 %2031, ptr @test_count, align 4, !tbaa !5
  %2032 = load i64, ptr %39, align 8, !tbaa !16
  %2033 = trunc i64 %2032 to i32
  %2034 = call i32 @s2n_error_get_alert(i32 noundef %2033, ptr noundef %9)
  %2035 = icmp eq i32 %2034, -1
  br i1 %2035, label %2036, label %2089

2036:                                             ; preds = %2029
  br label %2037

2037:                                             ; preds = %2036
  br label %2038

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

2045:                                             ; preds = %2038
  %2046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2047 = call i32 @fileno(ptr noundef %2046) #9
  %2048 = call i32 @isatty(i32 noundef %2047) #9
  %2049 = icmp ne i32 %2048, 0
  br i1 %2049, label %2050, label %2067

2050:                                             ; preds = %2045
  %2051 = load i32, ptr %40, align 4, !tbaa !5
  %2052 = call ptr @__errno_location() #10
  store i32 %2051, ptr %2052, align 4, !tbaa !5
  %2053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2054 = load i32, ptr @test_count, align 4, !tbaa !5
  %2055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2056 = load i32, ptr %2055, align 4, !tbaa !5
  %2057 = call ptr @s2n_strerror(i32 noundef %2056, ptr noundef @.str.4)
  %2058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2059 = load i32, ptr %2058, align 4, !tbaa !5
  %2060 = call ptr @s2n_strerror_debug(i32 noundef %2059, ptr noundef @.str.4)
  %2061 = call ptr @__errno_location() #10
  %2062 = load i32, ptr %2061, align 4, !tbaa !5
  %2063 = call ptr @strerror(i32 noundef %2062) #9
  %2064 = call ptr @__errno_location() #10
  %2065 = load i32, ptr %2064, align 4, !tbaa !5
  %2066 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2053, ptr noundef @.str.2, i32 noundef %2054, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 85, ptr noundef %2057, ptr noundef %2060, ptr noundef %2063, i32 noundef %2065) #9
  br label %2084

2067:                                             ; preds = %2045, %2038
  %2068 = load i32, ptr %40, align 4, !tbaa !5
  %2069 = call ptr @__errno_location() #10
  store i32 %2068, ptr %2069, align 4, !tbaa !5
  %2070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2071 = load i32, ptr @test_count, align 4, !tbaa !5
  %2072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2073 = load i32, ptr %2072, align 4, !tbaa !5
  %2074 = call ptr @s2n_strerror(i32 noundef %2073, ptr noundef @.str.4)
  %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_debug(i32 noundef %2076, ptr noundef @.str.4)
  %2078 = call ptr @__errno_location() #10
  %2079 = load i32, ptr %2078, align 4, !tbaa !5
  %2080 = call ptr @strerror(i32 noundef %2079) #9
  %2081 = call ptr @__errno_location() #10
  %2082 = load i32, ptr %2081, align 4, !tbaa !5
  %2083 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2070, ptr noundef @.str.5, i32 noundef %2071, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 85, ptr noundef %2074, ptr noundef %2077, ptr noundef %2080, i32 noundef %2082) #9
  br label %2084

2084:                                             ; preds = %2067, %2050
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #9
  br label %2085

2085:                                             ; preds = %2084
  br label %2086

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

2087:                                             ; No predecessors!
  br label %2088

2088:                                             ; preds = %2087
  br label %2089

2089:                                             ; preds = %2088, %2029
  br label %2090

2090:                                             ; preds = %2089
  br label %2091

2091:                                             ; preds = %2090
  br label %2092

2092:                                             ; preds = %2091
  %2093 = load i32, ptr @test_count, align 4, !tbaa !5
  %2094 = add nsw i32 %2093, 1
  store i32 %2094, ptr @test_count, align 4, !tbaa !5
  %2095 = load i8, ptr %9, align 1, !tbaa !15
  %2096 = zext i8 %2095 to i32
  %2097 = icmp eq i32 %2096, 80
  br i1 %2097, label %2151, label %2098

2098:                                             ; preds = %2092
  br label %2099

2099:                                             ; preds = %2098
  br label %2100

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

2107:                                             ; preds = %2100
  %2108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2109 = call i32 @fileno(ptr noundef %2108) #9
  %2110 = call i32 @isatty(i32 noundef %2109) #9
  %2111 = icmp ne i32 %2110, 0
  br i1 %2111, label %2112, label %2129

2112:                                             ; preds = %2107
  %2113 = load i32, ptr %41, align 4, !tbaa !5
  %2114 = call ptr @__errno_location() #10
  store i32 %2113, ptr %2114, align 4, !tbaa !5
  %2115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2116 = load i32, ptr @test_count, align 4, !tbaa !5
  %2117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2118 = load i32, ptr %2117, align 4, !tbaa !5
  %2119 = call ptr @s2n_strerror(i32 noundef %2118, ptr noundef @.str.4)
  %2120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2121 = load i32, ptr %2120, align 4, !tbaa !5
  %2122 = call ptr @s2n_strerror_debug(i32 noundef %2121, ptr noundef @.str.4)
  %2123 = call ptr @__errno_location() #10
  %2124 = load i32, ptr %2123, align 4, !tbaa !5
  %2125 = call ptr @strerror(i32 noundef %2124) #9
  %2126 = call ptr @__errno_location() #10
  %2127 = load i32, ptr %2126, align 4, !tbaa !5
  %2128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2115, ptr noundef @.str.2, i32 noundef %2116, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 86, ptr noundef %2119, ptr noundef %2122, ptr noundef %2125, i32 noundef %2127) #9
  br label %2146

2129:                                             ; preds = %2107, %2100
  %2130 = load i32, ptr %41, align 4, !tbaa !5
  %2131 = call ptr @__errno_location() #10
  store i32 %2130, ptr %2131, align 4, !tbaa !5
  %2132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2133 = load i32, ptr @test_count, align 4, !tbaa !5
  %2134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2135 = load i32, ptr %2134, align 4, !tbaa !5
  %2136 = call ptr @s2n_strerror(i32 noundef %2135, ptr noundef @.str.4)
  %2137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2138 = load i32, ptr %2137, align 4, !tbaa !5
  %2139 = call ptr @s2n_strerror_debug(i32 noundef %2138, ptr noundef @.str.4)
  %2140 = call ptr @__errno_location() #10
  %2141 = load i32, ptr %2140, align 4, !tbaa !5
  %2142 = call ptr @strerror(i32 noundef %2141) #9
  %2143 = call ptr @__errno_location() #10
  %2144 = load i32, ptr %2143, align 4, !tbaa !5
  %2145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2132, ptr noundef @.str.5, i32 noundef %2133, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 86, ptr noundef %2136, ptr noundef %2139, ptr noundef %2142, i32 noundef %2144) #9
  br label %2146

2146:                                             ; preds = %2129, %2112
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #9
  br label %2147

2147:                                             ; preds = %2146
  br label %2148

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

2149:                                             ; No predecessors!
  br label %2150

2150:                                             ; preds = %2149
  br label %2151

2151:                                             ; preds = %2150, %2092
  br label %2152

2152:                                             ; preds = %2151
  br label %2153

2153:                                             ; preds = %2152
  br label %2154

2154:                                             ; preds = %2153
  %2155 = load i64, ptr %39, align 8, !tbaa !16
  %2156 = add i64 %2155, 1
  store i64 %2156, ptr %39, align 8, !tbaa !16
  br label %2024, !llvm.loop !22

2157:                                             ; preds = %2027
  call void @llvm.lifetime.end.p0(i64 1, ptr %9) #9
  call void @llvm.lifetime.start.p0(i64 2, ptr %42) #9
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %42, ptr align 1 @__const.main.close_notify_alert, i64 2, i1 false)
  call void @llvm.lifetime.start.p0(i64 2, ptr %43) #9
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %43, ptr align 1 @__const.main.not_close_notify_alert, i64 2, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #9
  store ptr null, ptr %44, align 8, !tbaa !9
  br label %2158

2158:                                             ; preds = %2157
  %2159 = load i32, ptr @test_count, align 4, !tbaa !5
  %2160 = add nsw i32 %2159, 1
  store i32 %2160, ptr @test_count, align 4, !tbaa !5
  %2161 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %2161, ptr %44, align 8, !tbaa !9
  %2162 = icmp eq ptr %2161, null
  br i1 %2162, label %2163, label %2216

2163:                                             ; preds = %2158
  br label %2164

2164:                                             ; preds = %2163
  br label %2165

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

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

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

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

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

2212:                                             ; preds = %2211
  br label %2213

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

2214:                                             ; No predecessors!
  br label %2215

2215:                                             ; preds = %2214
  br label %2216

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

2217:                                             ; preds = %2216
  br label %2218

2218:                                             ; preds = %2217
  br label %2219

2219:                                             ; preds = %2218
  %2220 = load i32, ptr @test_count, align 4, !tbaa !5
  %2221 = add nsw i32 %2220, 1
  store i32 %2221, ptr @test_count, align 4, !tbaa !5
  %2222 = load ptr, ptr %44, align 8, !tbaa !9
  %2223 = getelementptr inbounds %struct.s2n_connection, ptr %2222, i32 0, i32 51
  %2224 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %2223)
  br i1 %2224, label %2225, label %2278

2225:                                             ; preds = %2219
  br label %2226

2226:                                             ; preds = %2225
  br label %2227

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

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

2239:                                             ; preds = %2234
  %2240 = load i32, ptr %46, align 4, !tbaa !5
  %2241 = call ptr @__errno_location() #10
  store i32 %2240, ptr %2241, align 4, !tbaa !5
  %2242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2243 = load i32, ptr @test_count, align 4, !tbaa !5
  %2244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2245 = load i32, ptr %2244, align 4, !tbaa !5
  %2246 = call ptr @s2n_strerror(i32 noundef %2245, ptr noundef @.str.4)
  %2247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2248 = load i32, ptr %2247, align 4, !tbaa !5
  %2249 = call ptr @s2n_strerror_debug(i32 noundef %2248, ptr noundef @.str.4)
  %2250 = call ptr @__errno_location() #10
  %2251 = load i32, ptr %2250, align 4, !tbaa !5
  %2252 = call ptr @strerror(i32 noundef %2251) #9
  %2253 = call ptr @__errno_location() #10
  %2254 = load i32, ptr %2253, align 4, !tbaa !5
  %2255 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2242, ptr noundef @.str.2, i32 noundef %2243, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 108, ptr noundef %2246, ptr noundef %2249, ptr noundef %2252, i32 noundef %2254) #9
  br label %2273

2256:                                             ; preds = %2234, %2227
  %2257 = load i32, ptr %46, align 4, !tbaa !5
  %2258 = call ptr @__errno_location() #10
  store i32 %2257, ptr %2258, align 4, !tbaa !5
  %2259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2260 = load i32, ptr @test_count, align 4, !tbaa !5
  %2261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2262 = load i32, ptr %2261, align 4, !tbaa !5
  %2263 = call ptr @s2n_strerror(i32 noundef %2262, ptr noundef @.str.4)
  %2264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2265 = load i32, ptr %2264, align 4, !tbaa !5
  %2266 = call ptr @s2n_strerror_debug(i32 noundef %2265, ptr noundef @.str.4)
  %2267 = call ptr @__errno_location() #10
  %2268 = load i32, ptr %2267, align 4, !tbaa !5
  %2269 = call ptr @strerror(i32 noundef %2268) #9
  %2270 = call ptr @__errno_location() #10
  %2271 = load i32, ptr %2270, align 4, !tbaa !5
  %2272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2259, ptr noundef @.str.5, i32 noundef %2260, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 108, ptr noundef %2263, ptr noundef %2266, ptr noundef %2269, i32 noundef %2271) #9
  br label %2273

2273:                                             ; preds = %2256, %2239
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #9
  br label %2274

2274:                                             ; preds = %2273
  br label %2275

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

2276:                                             ; No predecessors!
  br label %2277

2277:                                             ; preds = %2276
  br label %2278

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

2279:                                             ; preds = %2278
  br label %2280

2280:                                             ; preds = %2279
  br label %2281

2281:                                             ; preds = %2280
  %2282 = load i32, ptr @test_count, align 4, !tbaa !5
  %2283 = add nsw i32 %2282, 1
  store i32 %2283, ptr @test_count, align 4, !tbaa !5
  %2284 = load ptr, ptr %44, align 8, !tbaa !9
  %2285 = getelementptr inbounds %struct.s2n_connection, ptr %2284, i32 0, i32 40
  %2286 = getelementptr inbounds [2 x i8], ptr %43, i64 0, i64 0
  %2287 = call i32 @s2n_stuffer_write_bytes(ptr noundef %2285, ptr noundef %2286, i32 noundef 2)
  %2288 = icmp eq i32 %2287, -1
  br i1 %2288, label %2289, label %2342

2289:                                             ; preds = %2281
  br label %2290

2290:                                             ; preds = %2289
  br label %2291

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

2298:                                             ; preds = %2291
  %2299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2300 = call i32 @fileno(ptr noundef %2299) #9
  %2301 = call i32 @isatty(i32 noundef %2300) #9
  %2302 = icmp ne i32 %2301, 0
  br i1 %2302, label %2303, label %2320

2303:                                             ; preds = %2298
  %2304 = load i32, ptr %47, align 4, !tbaa !5
  %2305 = call ptr @__errno_location() #10
  store i32 %2304, ptr %2305, align 4, !tbaa !5
  %2306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2307 = load i32, ptr @test_count, align 4, !tbaa !5
  %2308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2309 = load i32, ptr %2308, align 4, !tbaa !5
  %2310 = call ptr @s2n_strerror(i32 noundef %2309, ptr noundef @.str.4)
  %2311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2312 = load i32, ptr %2311, align 4, !tbaa !5
  %2313 = call ptr @s2n_strerror_debug(i32 noundef %2312, ptr noundef @.str.4)
  %2314 = call ptr @__errno_location() #10
  %2315 = load i32, ptr %2314, align 4, !tbaa !5
  %2316 = call ptr @strerror(i32 noundef %2315) #9
  %2317 = call ptr @__errno_location() #10
  %2318 = load i32, ptr %2317, align 4, !tbaa !5
  %2319 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2306, ptr noundef @.str.2, i32 noundef %2307, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 111, ptr noundef %2310, ptr noundef %2313, ptr noundef %2316, i32 noundef %2318) #9
  br label %2337

2320:                                             ; preds = %2298, %2291
  %2321 = load i32, ptr %47, align 4, !tbaa !5
  %2322 = call ptr @__errno_location() #10
  store i32 %2321, ptr %2322, align 4, !tbaa !5
  %2323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2324 = load i32, ptr @test_count, align 4, !tbaa !5
  %2325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2326 = load i32, ptr %2325, align 4, !tbaa !5
  %2327 = call ptr @s2n_strerror(i32 noundef %2326, ptr noundef @.str.4)
  %2328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2329 = load i32, ptr %2328, align 4, !tbaa !5
  %2330 = call ptr @s2n_strerror_debug(i32 noundef %2329, ptr noundef @.str.4)
  %2331 = call ptr @__errno_location() #10
  %2332 = load i32, ptr %2331, align 4, !tbaa !5
  %2333 = call ptr @strerror(i32 noundef %2332) #9
  %2334 = call ptr @__errno_location() #10
  %2335 = load i32, ptr %2334, align 4, !tbaa !5
  %2336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2323, ptr noundef @.str.5, i32 noundef %2324, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 111, ptr noundef %2327, ptr noundef %2330, ptr noundef %2333, i32 noundef %2335) #9
  br label %2337

2337:                                             ; preds = %2320, %2303
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #9
  br label %2338

2338:                                             ; preds = %2337
  br label %2339

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

2340:                                             ; No predecessors!
  br label %2341

2341:                                             ; preds = %2340
  br label %2342

2342:                                             ; preds = %2341, %2281
  br label %2343

2343:                                             ; preds = %2342
  br label %2344

2344:                                             ; preds = %2343
  br label %2345

2345:                                             ; preds = %2344
  br label %2346

2346:                                             ; preds = %2345
  br label %2347

2347:                                             ; preds = %2346
  %2348 = load i32, ptr @test_count, align 4, !tbaa !5
  %2349 = add nsw i32 %2348, 1
  store i32 %2349, ptr @test_count, align 4, !tbaa !5
  %2350 = load ptr, ptr %44, align 8, !tbaa !9
  %2351 = call i32 @s2n_process_alert_fragment(ptr noundef %2350)
  %2352 = icmp eq i32 %2351, -1
  br i1 %2352, label %2406, label %2353

2353:                                             ; preds = %2347
  br label %2354

2354:                                             ; preds = %2353
  br label %2355

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

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

2367:                                             ; preds = %2362
  %2368 = load i32, ptr %48, align 4, !tbaa !5
  %2369 = call ptr @__errno_location() #10
  store i32 %2368, ptr %2369, align 4, !tbaa !5
  %2370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2371 = load i32, ptr @test_count, align 4, !tbaa !5
  %2372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2373 = load i32, ptr %2372, align 4, !tbaa !5
  %2374 = call ptr @s2n_strerror(i32 noundef %2373, ptr noundef @.str.4)
  %2375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2376 = load i32, ptr %2375, align 4, !tbaa !5
  %2377 = call ptr @s2n_strerror_debug(i32 noundef %2376, ptr noundef @.str.4)
  %2378 = call ptr @__errno_location() #10
  %2379 = load i32, ptr %2378, align 4, !tbaa !5
  %2380 = call ptr @strerror(i32 noundef %2379) #9
  %2381 = call ptr @__errno_location() #10
  %2382 = load i32, ptr %2381, align 4, !tbaa !5
  %2383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2370, ptr noundef @.str.2, i32 noundef %2371, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 114, ptr noundef %2374, ptr noundef %2377, ptr noundef %2380, i32 noundef %2382) #9
  br label %2401

2384:                                             ; preds = %2362, %2355
  %2385 = load i32, ptr %48, align 4, !tbaa !5
  %2386 = call ptr @__errno_location() #10
  store i32 %2385, ptr %2386, align 4, !tbaa !5
  %2387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2388 = load i32, ptr @test_count, align 4, !tbaa !5
  %2389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2390 = load i32, ptr %2389, align 4, !tbaa !5
  %2391 = call ptr @s2n_strerror(i32 noundef %2390, ptr noundef @.str.4)
  %2392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2393 = load i32, ptr %2392, align 4, !tbaa !5
  %2394 = call ptr @s2n_strerror_debug(i32 noundef %2393, ptr noundef @.str.4)
  %2395 = call ptr @__errno_location() #10
  %2396 = load i32, ptr %2395, align 4, !tbaa !5
  %2397 = call ptr @strerror(i32 noundef %2396) #9
  %2398 = call ptr @__errno_location() #10
  %2399 = load i32, ptr %2398, align 4, !tbaa !5
  %2400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2387, ptr noundef @.str.5, i32 noundef %2388, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 114, ptr noundef %2391, ptr noundef %2394, ptr noundef %2397, i32 noundef %2399) #9
  br label %2401

2401:                                             ; preds = %2384, %2367
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #9
  br label %2402

2402:                                             ; preds = %2401
  br label %2403

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

2404:                                             ; No predecessors!
  br label %2405

2405:                                             ; preds = %2404
  br label %2406

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

2407:                                             ; preds = %2406
  br label %2408

2408:                                             ; preds = %2407
  br label %2409

2409:                                             ; preds = %2408
  %2410 = load i32, ptr @test_count, align 4, !tbaa !5
  %2411 = add nsw i32 %2410, 1
  store i32 %2411, ptr @test_count, align 4, !tbaa !5
  %2412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2413 = load i32, ptr %2412, align 4, !tbaa !5
  %2414 = icmp eq i32 %2413, 268435456
  br i1 %2414, label %2468, label %2415

2415:                                             ; preds = %2409
  br label %2416

2416:                                             ; preds = %2415
  br label %2417

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

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

2429:                                             ; preds = %2424
  %2430 = load i32, ptr %49, align 4, !tbaa !5
  %2431 = call ptr @__errno_location() #10
  store i32 %2430, ptr %2431, align 4, !tbaa !5
  %2432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2433 = load i32, ptr @test_count, align 4, !tbaa !5
  %2434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2435 = load i32, ptr %2434, align 4, !tbaa !5
  %2436 = call ptr @s2n_strerror(i32 noundef %2435, ptr noundef @.str.4)
  %2437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2438 = load i32, ptr %2437, align 4, !tbaa !5
  %2439 = call ptr @s2n_strerror_debug(i32 noundef %2438, ptr noundef @.str.4)
  %2440 = call ptr @__errno_location() #10
  %2441 = load i32, ptr %2440, align 4, !tbaa !5
  %2442 = call ptr @strerror(i32 noundef %2441) #9
  %2443 = call ptr @__errno_location() #10
  %2444 = load i32, ptr %2443, align 4, !tbaa !5
  %2445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2432, ptr noundef @.str.2, i32 noundef %2433, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 114, ptr noundef %2436, ptr noundef %2439, ptr noundef %2442, i32 noundef %2444) #9
  br label %2463

2446:                                             ; preds = %2424, %2417
  %2447 = load i32, ptr %49, align 4, !tbaa !5
  %2448 = call ptr @__errno_location() #10
  store i32 %2447, ptr %2448, align 4, !tbaa !5
  %2449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2450 = load i32, ptr @test_count, align 4, !tbaa !5
  %2451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2452 = load i32, ptr %2451, align 4, !tbaa !5
  %2453 = call ptr @s2n_strerror(i32 noundef %2452, ptr noundef @.str.4)
  %2454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2455 = load i32, ptr %2454, align 4, !tbaa !5
  %2456 = call ptr @s2n_strerror_debug(i32 noundef %2455, ptr noundef @.str.4)
  %2457 = call ptr @__errno_location() #10
  %2458 = load i32, ptr %2457, align 4, !tbaa !5
  %2459 = call ptr @strerror(i32 noundef %2458) #9
  %2460 = call ptr @__errno_location() #10
  %2461 = load i32, ptr %2460, align 4, !tbaa !5
  %2462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2449, ptr noundef @.str.5, i32 noundef %2450, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 114, ptr noundef %2453, ptr noundef %2456, ptr noundef %2459, i32 noundef %2461) #9
  br label %2463

2463:                                             ; preds = %2446, %2429
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #9
  br label %2464

2464:                                             ; preds = %2463
  br label %2465

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

2466:                                             ; No predecessors!
  br label %2467

2467:                                             ; preds = %2466
  br label %2468

2468:                                             ; preds = %2467, %2409
  br label %2469

2469:                                             ; preds = %2468
  br label %2470

2470:                                             ; preds = %2469
  br label %2471

2471:                                             ; preds = %2470
  %2472 = load i32, ptr @test_count, align 4, !tbaa !5
  %2473 = add nsw i32 %2472, 1
  store i32 %2473, ptr @test_count, align 4, !tbaa !5
  %2474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2475 = load i32, ptr %2474, align 4, !tbaa !5
  %2476 = call ptr @s2n_strerror_debug(i32 noundef %2475, ptr noundef @.str.4)
  %2477 = icmp eq ptr %2476, null
  br i1 %2477, label %2478, label %2531

2478:                                             ; preds = %2471
  br label %2479

2479:                                             ; preds = %2478
  br label %2480

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

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

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

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

2526:                                             ; preds = %2509, %2492
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #9
  br label %2527

2527:                                             ; preds = %2526
  br label %2528

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

2529:                                             ; No predecessors!
  br label %2530

2530:                                             ; preds = %2529
  br label %2531

2531:                                             ; preds = %2530, %2471
  br label %2532

2532:                                             ; preds = %2531
  br label %2533

2533:                                             ; preds = %2532
  br label %2534

2534:                                             ; preds = %2533
  br label %2535

2535:                                             ; preds = %2534
  br label %2536

2536:                                             ; preds = %2535
  %2537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2537, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2538 = call ptr @__errno_location() #10
  store i32 0, ptr %2538, align 4, !tbaa !5
  br label %2539

2539:                                             ; preds = %2536
  br label %2540

2540:                                             ; preds = %2539
  br label %2541

2541:                                             ; preds = %2540
  br label %2542

2542:                                             ; preds = %2541
  br label %2543

2543:                                             ; preds = %2542
  %2544 = load i32, ptr @test_count, align 4, !tbaa !5
  %2545 = add nsw i32 %2544, 1
  store i32 %2545, ptr @test_count, align 4, !tbaa !5
  %2546 = load ptr, ptr %44, align 8, !tbaa !9
  %2547 = getelementptr inbounds %struct.s2n_connection, ptr %2546, i32 0, i32 51
  %2548 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %2547)
  br i1 %2548, label %2549, label %2602

2549:                                             ; preds = %2543
  br label %2550

2550:                                             ; preds = %2549
  br label %2551

2551:                                             ; preds = %2550
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #9
  %2552 = call ptr @__errno_location() #10
  %2553 = load i32, ptr %2552, align 4, !tbaa !5
  store i32 %2553, ptr %51, align 4, !tbaa !5
  %2554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2555 = call i32 @s2n_print_stacktrace(ptr noundef %2554)
  %2556 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2557 = trunc i8 %2556 to i1
  br i1 %2557, label %2558, label %2580

2558:                                             ; preds = %2551
  %2559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2560 = call i32 @fileno(ptr noundef %2559) #9
  %2561 = call i32 @isatty(i32 noundef %2560) #9
  %2562 = icmp ne i32 %2561, 0
  br i1 %2562, label %2563, label %2580

2563:                                             ; preds = %2558
  %2564 = load i32, ptr %51, align 4, !tbaa !5
  %2565 = call ptr @__errno_location() #10
  store i32 %2564, ptr %2565, align 4, !tbaa !5
  %2566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2567 = load i32, ptr @test_count, align 4, !tbaa !5
  %2568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2569 = load i32, ptr %2568, align 4, !tbaa !5
  %2570 = call ptr @s2n_strerror(i32 noundef %2569, ptr noundef @.str.4)
  %2571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2572 = load i32, ptr %2571, align 4, !tbaa !5
  %2573 = call ptr @s2n_strerror_debug(i32 noundef %2572, ptr noundef @.str.4)
  %2574 = call ptr @__errno_location() #10
  %2575 = load i32, ptr %2574, align 4, !tbaa !5
  %2576 = call ptr @strerror(i32 noundef %2575) #9
  %2577 = call ptr @__errno_location() #10
  %2578 = load i32, ptr %2577, align 4, !tbaa !5
  %2579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2566, ptr noundef @.str.2, i32 noundef %2567, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 117, ptr noundef %2570, ptr noundef %2573, ptr noundef %2576, i32 noundef %2578) #9
  br label %2597

2580:                                             ; preds = %2558, %2551
  %2581 = load i32, ptr %51, align 4, !tbaa !5
  %2582 = call ptr @__errno_location() #10
  store i32 %2581, ptr %2582, align 4, !tbaa !5
  %2583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2584 = load i32, ptr @test_count, align 4, !tbaa !5
  %2585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2586 = load i32, ptr %2585, align 4, !tbaa !5
  %2587 = call ptr @s2n_strerror(i32 noundef %2586, ptr noundef @.str.4)
  %2588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2589 = load i32, ptr %2588, align 4, !tbaa !5
  %2590 = call ptr @s2n_strerror_debug(i32 noundef %2589, ptr noundef @.str.4)
  %2591 = call ptr @__errno_location() #10
  %2592 = load i32, ptr %2591, align 4, !tbaa !5
  %2593 = call ptr @strerror(i32 noundef %2592) #9
  %2594 = call ptr @__errno_location() #10
  %2595 = load i32, ptr %2594, align 4, !tbaa !5
  %2596 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2583, ptr noundef @.str.5, i32 noundef %2584, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 117, ptr noundef %2587, ptr noundef %2590, ptr noundef %2593, i32 noundef %2595) #9
  br label %2597

2597:                                             ; preds = %2580, %2563
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #9
  br label %2598

2598:                                             ; preds = %2597
  br label %2599

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

2600:                                             ; No predecessors!
  br label %2601

2601:                                             ; preds = %2600
  br label %2602

2602:                                             ; preds = %2601, %2543
  br label %2603

2603:                                             ; preds = %2602
  br label %2604

2604:                                             ; preds = %2603
  br label %2605

2605:                                             ; preds = %2604
  %2606 = load i32, ptr @test_count, align 4, !tbaa !5
  %2607 = add nsw i32 %2606, 1
  store i32 %2607, ptr @test_count, align 4, !tbaa !5
  %2608 = load ptr, ptr %44, align 8, !tbaa !9
  %2609 = call i32 @s2n_connection_free(ptr noundef %2608)
  %2610 = icmp eq i32 %2609, -1
  br i1 %2610, label %2611, label %2664

2611:                                             ; preds = %2605
  br label %2612

2612:                                             ; preds = %2611
  br label %2613

2613:                                             ; preds = %2612
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #9
  %2614 = call ptr @__errno_location() #10
  %2615 = load i32, ptr %2614, align 4, !tbaa !5
  store i32 %2615, ptr %52, align 4, !tbaa !5
  %2616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2617 = call i32 @s2n_print_stacktrace(ptr noundef %2616)
  %2618 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2619 = trunc i8 %2618 to i1
  br i1 %2619, label %2620, label %2642

2620:                                             ; preds = %2613
  %2621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2622 = call i32 @fileno(ptr noundef %2621) #9
  %2623 = call i32 @isatty(i32 noundef %2622) #9
  %2624 = icmp ne i32 %2623, 0
  br i1 %2624, label %2625, label %2642

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

2642:                                             ; preds = %2620, %2613
  %2643 = load i32, ptr %52, align 4, !tbaa !5
  %2644 = call ptr @__errno_location() #10
  store i32 %2643, ptr %2644, align 4, !tbaa !5
  %2645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2646 = load i32, ptr @test_count, align 4, !tbaa !5
  %2647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2648 = load i32, ptr %2647, align 4, !tbaa !5
  %2649 = call ptr @s2n_strerror(i32 noundef %2648, ptr noundef @.str.4)
  %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_debug(i32 noundef %2651, ptr noundef @.str.4)
  %2653 = call ptr @__errno_location() #10
  %2654 = load i32, ptr %2653, align 4, !tbaa !5
  %2655 = call ptr @strerror(i32 noundef %2654) #9
  %2656 = call ptr @__errno_location() #10
  %2657 = load i32, ptr %2656, align 4, !tbaa !5
  %2658 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2645, ptr noundef @.str.5, i32 noundef %2646, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 119, ptr noundef %2649, ptr noundef %2652, ptr noundef %2655, i32 noundef %2657) #9
  br label %2659

2659:                                             ; preds = %2642, %2625
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #9
  br label %2660

2660:                                             ; preds = %2659
  br label %2661

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

2662:                                             ; No predecessors!
  br label %2663

2663:                                             ; preds = %2662
  br label %2664

2664:                                             ; preds = %2663, %2605
  br label %2665

2665:                                             ; preds = %2664
  br label %2666

2666:                                             ; preds = %2665
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %53) #9
  store ptr null, ptr %53, align 8, !tbaa !9
  br label %2667

2667:                                             ; preds = %2666
  %2668 = load i32, ptr @test_count, align 4, !tbaa !5
  %2669 = add nsw i32 %2668, 1
  store i32 %2669, ptr @test_count, align 4, !tbaa !5
  %2670 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %2670, ptr %53, align 8, !tbaa !9
  %2671 = icmp eq ptr %2670, null
  br i1 %2671, label %2672, label %2725

2672:                                             ; preds = %2667
  br label %2673

2673:                                             ; preds = %2672
  br label %2674

2674:                                             ; preds = %2673
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #9
  %2675 = call ptr @__errno_location() #10
  %2676 = load i32, ptr %2675, align 4, !tbaa !5
  store i32 %2676, ptr %54, align 4, !tbaa !5
  %2677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2678 = call i32 @s2n_print_stacktrace(ptr noundef %2677)
  %2679 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2680 = trunc i8 %2679 to i1
  br i1 %2680, label %2681, label %2703

2681:                                             ; preds = %2674
  %2682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2683 = call i32 @fileno(ptr noundef %2682) #9
  %2684 = call i32 @isatty(i32 noundef %2683) #9
  %2685 = icmp ne i32 %2684, 0
  br i1 %2685, label %2686, label %2703

2686:                                             ; preds = %2681
  %2687 = load i32, ptr %54, align 4, !tbaa !5
  %2688 = call ptr @__errno_location() #10
  store i32 %2687, ptr %2688, align 4, !tbaa !5
  %2689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2690 = load i32, ptr @test_count, align 4, !tbaa !5
  %2691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2692 = load i32, ptr %2691, align 4, !tbaa !5
  %2693 = call ptr @s2n_strerror(i32 noundef %2692, ptr noundef @.str.4)
  %2694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2695 = load i32, ptr %2694, align 4, !tbaa !5
  %2696 = call ptr @s2n_strerror_debug(i32 noundef %2695, ptr noundef @.str.4)
  %2697 = call ptr @__errno_location() #10
  %2698 = load i32, ptr %2697, align 4, !tbaa !5
  %2699 = call ptr @strerror(i32 noundef %2698) #9
  %2700 = call ptr @__errno_location() #10
  %2701 = load i32, ptr %2700, align 4, !tbaa !5
  %2702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2689, ptr noundef @.str.2, i32 noundef %2690, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 125, ptr noundef %2693, ptr noundef %2696, ptr noundef %2699, i32 noundef %2701) #9
  br label %2720

2703:                                             ; preds = %2681, %2674
  %2704 = load i32, ptr %54, align 4, !tbaa !5
  %2705 = call ptr @__errno_location() #10
  store i32 %2704, ptr %2705, align 4, !tbaa !5
  %2706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2707 = load i32, ptr @test_count, align 4, !tbaa !5
  %2708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2709 = load i32, ptr %2708, align 4, !tbaa !5
  %2710 = call ptr @s2n_strerror(i32 noundef %2709, ptr noundef @.str.4)
  %2711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2712 = load i32, ptr %2711, align 4, !tbaa !5
  %2713 = call ptr @s2n_strerror_debug(i32 noundef %2712, ptr noundef @.str.4)
  %2714 = call ptr @__errno_location() #10
  %2715 = load i32, ptr %2714, align 4, !tbaa !5
  %2716 = call ptr @strerror(i32 noundef %2715) #9
  %2717 = call ptr @__errno_location() #10
  %2718 = load i32, ptr %2717, align 4, !tbaa !5
  %2719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2706, ptr noundef @.str.5, i32 noundef %2707, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 125, ptr noundef %2710, ptr noundef %2713, ptr noundef %2716, i32 noundef %2718) #9
  br label %2720

2720:                                             ; preds = %2703, %2686
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #9
  br label %2721

2721:                                             ; preds = %2720
  br label %2722

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

2723:                                             ; No predecessors!
  br label %2724

2724:                                             ; preds = %2723
  br label %2725

2725:                                             ; preds = %2724, %2667
  br label %2726

2726:                                             ; preds = %2725
  br label %2727

2727:                                             ; preds = %2726
  br label %2728

2728:                                             ; preds = %2727
  %2729 = load i32, ptr @test_count, align 4, !tbaa !5
  %2730 = add nsw i32 %2729, 1
  store i32 %2730, ptr @test_count, align 4, !tbaa !5
  %2731 = load ptr, ptr %53, align 8, !tbaa !9
  %2732 = getelementptr inbounds %struct.s2n_connection, ptr %2731, i32 0, i32 51
  %2733 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %2732)
  br i1 %2733, label %2734, label %2787

2734:                                             ; preds = %2728
  br label %2735

2735:                                             ; preds = %2734
  br label %2736

2736:                                             ; preds = %2735
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #9
  %2737 = call ptr @__errno_location() #10
  %2738 = load i32, ptr %2737, align 4, !tbaa !5
  store i32 %2738, ptr %55, align 4, !tbaa !5
  %2739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2740 = call i32 @s2n_print_stacktrace(ptr noundef %2739)
  %2741 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2742 = trunc i8 %2741 to i1
  br i1 %2742, label %2743, label %2765

2743:                                             ; preds = %2736
  %2744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2745 = call i32 @fileno(ptr noundef %2744) #9
  %2746 = call i32 @isatty(i32 noundef %2745) #9
  %2747 = icmp ne i32 %2746, 0
  br i1 %2747, label %2748, label %2765

2748:                                             ; preds = %2743
  %2749 = load i32, ptr %55, align 4, !tbaa !5
  %2750 = call ptr @__errno_location() #10
  store i32 %2749, ptr %2750, align 4, !tbaa !5
  %2751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2752 = load i32, ptr @test_count, align 4, !tbaa !5
  %2753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2754 = load i32, ptr %2753, align 4, !tbaa !5
  %2755 = call ptr @s2n_strerror(i32 noundef %2754, ptr noundef @.str.4)
  %2756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2757 = load i32, ptr %2756, align 4, !tbaa !5
  %2758 = call ptr @s2n_strerror_debug(i32 noundef %2757, ptr noundef @.str.4)
  %2759 = call ptr @__errno_location() #10
  %2760 = load i32, ptr %2759, align 4, !tbaa !5
  %2761 = call ptr @strerror(i32 noundef %2760) #9
  %2762 = call ptr @__errno_location() #10
  %2763 = load i32, ptr %2762, align 4, !tbaa !5
  %2764 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2751, ptr noundef @.str.2, i32 noundef %2752, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 128, ptr noundef %2755, ptr noundef %2758, ptr noundef %2761, i32 noundef %2763) #9
  br label %2782

2765:                                             ; preds = %2743, %2736
  %2766 = load i32, ptr %55, align 4, !tbaa !5
  %2767 = call ptr @__errno_location() #10
  store i32 %2766, ptr %2767, align 4, !tbaa !5
  %2768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2769 = load i32, ptr @test_count, align 4, !tbaa !5
  %2770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2771 = load i32, ptr %2770, align 4, !tbaa !5
  %2772 = call ptr @s2n_strerror(i32 noundef %2771, ptr noundef @.str.4)
  %2773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2774 = load i32, ptr %2773, align 4, !tbaa !5
  %2775 = call ptr @s2n_strerror_debug(i32 noundef %2774, ptr noundef @.str.4)
  %2776 = call ptr @__errno_location() #10
  %2777 = load i32, ptr %2776, align 4, !tbaa !5
  %2778 = call ptr @strerror(i32 noundef %2777) #9
  %2779 = call ptr @__errno_location() #10
  %2780 = load i32, ptr %2779, align 4, !tbaa !5
  %2781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2768, ptr noundef @.str.5, i32 noundef %2769, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 128, ptr noundef %2772, ptr noundef %2775, ptr noundef %2778, i32 noundef %2780) #9
  br label %2782

2782:                                             ; preds = %2765, %2748
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #9
  br label %2783

2783:                                             ; preds = %2782
  br label %2784

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

2785:                                             ; No predecessors!
  br label %2786

2786:                                             ; preds = %2785
  br label %2787

2787:                                             ; preds = %2786, %2728
  br label %2788

2788:                                             ; preds = %2787
  br label %2789

2789:                                             ; preds = %2788
  br label %2790

2790:                                             ; preds = %2789
  %2791 = load i32, ptr @test_count, align 4, !tbaa !5
  %2792 = add nsw i32 %2791, 1
  store i32 %2792, ptr @test_count, align 4, !tbaa !5
  %2793 = load ptr, ptr %53, align 8, !tbaa !9
  %2794 = getelementptr inbounds %struct.s2n_connection, ptr %2793, i32 0, i32 40
  %2795 = getelementptr inbounds [2 x i8], ptr %42, i64 0, i64 0
  %2796 = call i32 @s2n_stuffer_write_bytes(ptr noundef %2794, ptr noundef %2795, i32 noundef 2)
  %2797 = icmp eq i32 %2796, -1
  br i1 %2797, label %2798, label %2851

2798:                                             ; preds = %2790
  br label %2799

2799:                                             ; preds = %2798
  br label %2800

2800:                                             ; preds = %2799
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #9
  %2801 = call ptr @__errno_location() #10
  %2802 = load i32, ptr %2801, align 4, !tbaa !5
  store i32 %2802, ptr %56, align 4, !tbaa !5
  %2803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2804 = call i32 @s2n_print_stacktrace(ptr noundef %2803)
  %2805 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2806 = trunc i8 %2805 to i1
  br i1 %2806, label %2807, label %2829

2807:                                             ; preds = %2800
  %2808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2809 = call i32 @fileno(ptr noundef %2808) #9
  %2810 = call i32 @isatty(i32 noundef %2809) #9
  %2811 = icmp ne i32 %2810, 0
  br i1 %2811, label %2812, label %2829

2812:                                             ; preds = %2807
  %2813 = load i32, ptr %56, align 4, !tbaa !5
  %2814 = call ptr @__errno_location() #10
  store i32 %2813, ptr %2814, align 4, !tbaa !5
  %2815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2816 = load i32, ptr @test_count, align 4, !tbaa !5
  %2817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2818 = load i32, ptr %2817, align 4, !tbaa !5
  %2819 = call ptr @s2n_strerror(i32 noundef %2818, ptr noundef @.str.4)
  %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_debug(i32 noundef %2821, ptr noundef @.str.4)
  %2823 = call ptr @__errno_location() #10
  %2824 = load i32, ptr %2823, align 4, !tbaa !5
  %2825 = call ptr @strerror(i32 noundef %2824) #9
  %2826 = call ptr @__errno_location() #10
  %2827 = load i32, ptr %2826, align 4, !tbaa !5
  %2828 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2815, ptr noundef @.str.2, i32 noundef %2816, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 131, ptr noundef %2819, ptr noundef %2822, ptr noundef %2825, i32 noundef %2827) #9
  br label %2846

2829:                                             ; preds = %2807, %2800
  %2830 = load i32, ptr %56, align 4, !tbaa !5
  %2831 = call ptr @__errno_location() #10
  store i32 %2830, ptr %2831, align 4, !tbaa !5
  %2832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2833 = load i32, ptr @test_count, align 4, !tbaa !5
  %2834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2835 = load i32, ptr %2834, align 4, !tbaa !5
  %2836 = call ptr @s2n_strerror(i32 noundef %2835, ptr noundef @.str.4)
  %2837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2838 = load i32, ptr %2837, align 4, !tbaa !5
  %2839 = call ptr @s2n_strerror_debug(i32 noundef %2838, ptr noundef @.str.4)
  %2840 = call ptr @__errno_location() #10
  %2841 = load i32, ptr %2840, align 4, !tbaa !5
  %2842 = call ptr @strerror(i32 noundef %2841) #9
  %2843 = call ptr @__errno_location() #10
  %2844 = load i32, ptr %2843, align 4, !tbaa !5
  %2845 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2832, ptr noundef @.str.5, i32 noundef %2833, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 131, ptr noundef %2836, ptr noundef %2839, ptr noundef %2842, i32 noundef %2844) #9
  br label %2846

2846:                                             ; preds = %2829, %2812
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #9
  br label %2847

2847:                                             ; preds = %2846
  br label %2848

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

2849:                                             ; No predecessors!
  br label %2850

2850:                                             ; preds = %2849
  br label %2851

2851:                                             ; preds = %2850, %2790
  br label %2852

2852:                                             ; preds = %2851
  br label %2853

2853:                                             ; preds = %2852
  br label %2854

2854:                                             ; preds = %2853
  %2855 = load i32, ptr @test_count, align 4, !tbaa !5
  %2856 = add nsw i32 %2855, 1
  store i32 %2856, ptr @test_count, align 4, !tbaa !5
  %2857 = load ptr, ptr %53, align 8, !tbaa !9
  %2858 = call i32 @s2n_process_alert_fragment(ptr noundef %2857)
  %2859 = icmp eq i32 %2858, -1
  br i1 %2859, label %2860, label %2913

2860:                                             ; preds = %2854
  br label %2861

2861:                                             ; preds = %2860
  br label %2862

2862:                                             ; preds = %2861
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #9
  %2863 = call ptr @__errno_location() #10
  %2864 = load i32, ptr %2863, align 4, !tbaa !5
  store i32 %2864, ptr %57, align 4, !tbaa !5
  %2865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2866 = call i32 @s2n_print_stacktrace(ptr noundef %2865)
  %2867 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2868 = trunc i8 %2867 to i1
  br i1 %2868, label %2869, label %2891

2869:                                             ; preds = %2862
  %2870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2871 = call i32 @fileno(ptr noundef %2870) #9
  %2872 = call i32 @isatty(i32 noundef %2871) #9
  %2873 = icmp ne i32 %2872, 0
  br i1 %2873, label %2874, label %2891

2874:                                             ; preds = %2869
  %2875 = load i32, ptr %57, align 4, !tbaa !5
  %2876 = call ptr @__errno_location() #10
  store i32 %2875, ptr %2876, align 4, !tbaa !5
  %2877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2878 = load i32, ptr @test_count, align 4, !tbaa !5
  %2879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2880 = load i32, ptr %2879, align 4, !tbaa !5
  %2881 = call ptr @s2n_strerror(i32 noundef %2880, ptr noundef @.str.4)
  %2882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2883 = load i32, ptr %2882, align 4, !tbaa !5
  %2884 = call ptr @s2n_strerror_debug(i32 noundef %2883, ptr noundef @.str.4)
  %2885 = call ptr @__errno_location() #10
  %2886 = load i32, ptr %2885, align 4, !tbaa !5
  %2887 = call ptr @strerror(i32 noundef %2886) #9
  %2888 = call ptr @__errno_location() #10
  %2889 = load i32, ptr %2888, align 4, !tbaa !5
  %2890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2877, ptr noundef @.str.2, i32 noundef %2878, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 132, ptr noundef %2881, ptr noundef %2884, ptr noundef %2887, i32 noundef %2889) #9
  br label %2908

2891:                                             ; preds = %2869, %2862
  %2892 = load i32, ptr %57, align 4, !tbaa !5
  %2893 = call ptr @__errno_location() #10
  store i32 %2892, ptr %2893, align 4, !tbaa !5
  %2894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2895 = load i32, ptr @test_count, align 4, !tbaa !5
  %2896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2897 = load i32, ptr %2896, align 4, !tbaa !5
  %2898 = call ptr @s2n_strerror(i32 noundef %2897, ptr noundef @.str.4)
  %2899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2900 = load i32, ptr %2899, align 4, !tbaa !5
  %2901 = call ptr @s2n_strerror_debug(i32 noundef %2900, ptr noundef @.str.4)
  %2902 = call ptr @__errno_location() #10
  %2903 = load i32, ptr %2902, align 4, !tbaa !5
  %2904 = call ptr @strerror(i32 noundef %2903) #9
  %2905 = call ptr @__errno_location() #10
  %2906 = load i32, ptr %2905, align 4, !tbaa !5
  %2907 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2894, ptr noundef @.str.5, i32 noundef %2895, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 132, ptr noundef %2898, ptr noundef %2901, ptr noundef %2904, i32 noundef %2906) #9
  br label %2908

2908:                                             ; preds = %2891, %2874
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #9
  br label %2909

2909:                                             ; preds = %2908
  br label %2910

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

2911:                                             ; No predecessors!
  br label %2912

2912:                                             ; preds = %2911
  br label %2913

2913:                                             ; preds = %2912, %2854
  br label %2914

2914:                                             ; preds = %2913
  br label %2915

2915:                                             ; preds = %2914
  br label %2916

2916:                                             ; preds = %2915
  %2917 = load i32, ptr @test_count, align 4, !tbaa !5
  %2918 = add nsw i32 %2917, 1
  store i32 %2918, ptr @test_count, align 4, !tbaa !5
  %2919 = load ptr, ptr %53, align 8, !tbaa !9
  %2920 = getelementptr inbounds %struct.s2n_connection, ptr %2919, i32 0, i32 51
  %2921 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %2920)
  br i1 %2921, label %2975, label %2922

2922:                                             ; preds = %2916
  br label %2923

2923:                                             ; preds = %2922
  br label %2924

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

2931:                                             ; preds = %2924
  %2932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2933 = call i32 @fileno(ptr noundef %2932) #9
  %2934 = call i32 @isatty(i32 noundef %2933) #9
  %2935 = icmp ne i32 %2934, 0
  br i1 %2935, label %2936, label %2953

2936:                                             ; preds = %2931
  %2937 = load i32, ptr %58, align 4, !tbaa !5
  %2938 = call ptr @__errno_location() #10
  store i32 %2937, ptr %2938, align 4, !tbaa !5
  %2939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2940 = load i32, ptr @test_count, align 4, !tbaa !5
  %2941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2942 = load i32, ptr %2941, align 4, !tbaa !5
  %2943 = call ptr @s2n_strerror(i32 noundef %2942, ptr noundef @.str.4)
  %2944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2945 = load i32, ptr %2944, align 4, !tbaa !5
  %2946 = call ptr @s2n_strerror_debug(i32 noundef %2945, ptr noundef @.str.4)
  %2947 = call ptr @__errno_location() #10
  %2948 = load i32, ptr %2947, align 4, !tbaa !5
  %2949 = call ptr @strerror(i32 noundef %2948) #9
  %2950 = call ptr @__errno_location() #10
  %2951 = load i32, ptr %2950, align 4, !tbaa !5
  %2952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2939, ptr noundef @.str.2, i32 noundef %2940, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 135, ptr noundef %2943, ptr noundef %2946, ptr noundef %2949, i32 noundef %2951) #9
  br label %2970

2953:                                             ; preds = %2931, %2924
  %2954 = load i32, ptr %58, align 4, !tbaa !5
  %2955 = call ptr @__errno_location() #10
  store i32 %2954, ptr %2955, align 4, !tbaa !5
  %2956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2957 = load i32, ptr @test_count, align 4, !tbaa !5
  %2958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2959 = load i32, ptr %2958, align 4, !tbaa !5
  %2960 = call ptr @s2n_strerror(i32 noundef %2959, ptr noundef @.str.4)
  %2961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2962 = load i32, ptr %2961, align 4, !tbaa !5
  %2963 = call ptr @s2n_strerror_debug(i32 noundef %2962, ptr noundef @.str.4)
  %2964 = call ptr @__errno_location() #10
  %2965 = load i32, ptr %2964, align 4, !tbaa !5
  %2966 = call ptr @strerror(i32 noundef %2965) #9
  %2967 = call ptr @__errno_location() #10
  %2968 = load i32, ptr %2967, align 4, !tbaa !5
  %2969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2956, ptr noundef @.str.5, i32 noundef %2957, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 135, ptr noundef %2960, ptr noundef %2963, ptr noundef %2966, i32 noundef %2968) #9
  br label %2970

2970:                                             ; preds = %2953, %2936
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #9
  br label %2971

2971:                                             ; preds = %2970
  br label %2972

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

2973:                                             ; No predecessors!
  br label %2974

2974:                                             ; preds = %2973
  br label %2975

2975:                                             ; preds = %2974, %2916
  br label %2976

2976:                                             ; preds = %2975
  br label %2977

2977:                                             ; preds = %2976
  br label %2978

2978:                                             ; preds = %2977
  %2979 = load i32, ptr @test_count, align 4, !tbaa !5
  %2980 = add nsw i32 %2979, 1
  store i32 %2980, ptr @test_count, align 4, !tbaa !5
  %2981 = load ptr, ptr %53, align 8, !tbaa !9
  %2982 = call i32 @s2n_connection_free(ptr noundef %2981)
  %2983 = icmp eq i32 %2982, -1
  br i1 %2983, label %2984, label %3037

2984:                                             ; preds = %2978
  br label %2985

2985:                                             ; preds = %2984
  br label %2986

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

2993:                                             ; preds = %2986
  %2994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2995 = call i32 @fileno(ptr noundef %2994) #9
  %2996 = call i32 @isatty(i32 noundef %2995) #9
  %2997 = icmp ne i32 %2996, 0
  br i1 %2997, label %2998, label %3015

2998:                                             ; preds = %2993
  %2999 = load i32, ptr %59, align 4, !tbaa !5
  %3000 = call ptr @__errno_location() #10
  store i32 %2999, ptr %3000, align 4, !tbaa !5
  %3001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3002 = load i32, ptr @test_count, align 4, !tbaa !5
  %3003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3004 = load i32, ptr %3003, align 4, !tbaa !5
  %3005 = call ptr @s2n_strerror(i32 noundef %3004, ptr noundef @.str.4)
  %3006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3007 = load i32, ptr %3006, align 4, !tbaa !5
  %3008 = call ptr @s2n_strerror_debug(i32 noundef %3007, ptr noundef @.str.4)
  %3009 = call ptr @__errno_location() #10
  %3010 = load i32, ptr %3009, align 4, !tbaa !5
  %3011 = call ptr @strerror(i32 noundef %3010) #9
  %3012 = call ptr @__errno_location() #10
  %3013 = load i32, ptr %3012, align 4, !tbaa !5
  %3014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3001, ptr noundef @.str.2, i32 noundef %3002, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 137, ptr noundef %3005, ptr noundef %3008, ptr noundef %3011, i32 noundef %3013) #9
  br label %3032

3015:                                             ; preds = %2993, %2986
  %3016 = load i32, ptr %59, align 4, !tbaa !5
  %3017 = call ptr @__errno_location() #10
  store i32 %3016, ptr %3017, align 4, !tbaa !5
  %3018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3019 = load i32, ptr @test_count, align 4, !tbaa !5
  %3020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3021 = load i32, ptr %3020, align 4, !tbaa !5
  %3022 = call ptr @s2n_strerror(i32 noundef %3021, ptr noundef @.str.4)
  %3023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3024 = load i32, ptr %3023, align 4, !tbaa !5
  %3025 = call ptr @s2n_strerror_debug(i32 noundef %3024, ptr noundef @.str.4)
  %3026 = call ptr @__errno_location() #10
  %3027 = load i32, ptr %3026, align 4, !tbaa !5
  %3028 = call ptr @strerror(i32 noundef %3027) #9
  %3029 = call ptr @__errno_location() #10
  %3030 = load i32, ptr %3029, align 4, !tbaa !5
  %3031 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3018, ptr noundef @.str.5, i32 noundef %3019, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 137, ptr noundef %3022, ptr noundef %3025, ptr noundef %3028, i32 noundef %3030) #9
  br label %3032

3032:                                             ; preds = %3015, %2998
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #9
  br label %3033

3033:                                             ; preds = %3032
  br label %3034

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

3035:                                             ; No predecessors!
  br label %3036

3036:                                             ; preds = %3035
  br label %3037

3037:                                             ; preds = %3036, %2978
  br label %3038

3038:                                             ; preds = %3037
  br label %3039

3039:                                             ; preds = %3038
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #9
  call void @llvm.lifetime.end.p0(i64 2, ptr %43) #9
  call void @llvm.lifetime.end.p0(i64 2, ptr %42) #9
  br label %3040

3040:                                             ; preds = %3039
  br label %3041

3041:                                             ; preds = %3040
  br label %3042

3042:                                             ; preds = %3041
  %3043 = load i32, ptr @test_count, align 4, !tbaa !5
  %3044 = add nsw i32 %3043, 1
  store i32 %3044, ptr @test_count, align 4, !tbaa !5
  %3045 = call i32 @s2n_process_alert_fragment(ptr noundef null)
  %3046 = icmp eq i32 %3045, -1
  br i1 %3046, label %3098, label %3047

3047:                                             ; preds = %3042
  br label %3048

3048:                                             ; preds = %3047
  br label %3049

3049:                                             ; preds = %3048
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #9
  %3050 = call ptr @__errno_location() #10
  %3051 = load i32, ptr %3050, align 4, !tbaa !5
  store i32 %3051, ptr %60, align 4, !tbaa !5
  %3052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3053 = call i32 @s2n_print_stacktrace(ptr noundef %3052)
  %3054 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3055 = trunc i8 %3054 to i1
  br i1 %3055, label %3056, label %3078

3056:                                             ; preds = %3049
  %3057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3058 = call i32 @fileno(ptr noundef %3057) #9
  %3059 = call i32 @isatty(i32 noundef %3058) #9
  %3060 = icmp ne i32 %3059, 0
  br i1 %3060, label %3061, label %3078

3061:                                             ; preds = %3056
  %3062 = load i32, ptr %60, align 4, !tbaa !5
  %3063 = call ptr @__errno_location() #10
  store i32 %3062, ptr %3063, align 4, !tbaa !5
  %3064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3065 = load i32, ptr @test_count, align 4, !tbaa !5
  %3066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3067 = load i32, ptr %3066, align 4, !tbaa !5
  %3068 = call ptr @s2n_strerror(i32 noundef %3067, ptr noundef @.str.4)
  %3069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3070 = load i32, ptr %3069, align 4, !tbaa !5
  %3071 = call ptr @s2n_strerror_debug(i32 noundef %3070, ptr noundef @.str.4)
  %3072 = call ptr @__errno_location() #10
  %3073 = load i32, ptr %3072, align 4, !tbaa !5
  %3074 = call ptr @strerror(i32 noundef %3073) #9
  %3075 = call ptr @__errno_location() #10
  %3076 = load i32, ptr %3075, align 4, !tbaa !5
  %3077 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3064, ptr noundef @.str.2, i32 noundef %3065, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 144, ptr noundef %3068, ptr noundef %3071, ptr noundef %3074, i32 noundef %3076) #9
  br label %3095

3078:                                             ; preds = %3056, %3049
  %3079 = load i32, ptr %60, align 4, !tbaa !5
  %3080 = call ptr @__errno_location() #10
  store i32 %3079, ptr %3080, align 4, !tbaa !5
  %3081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3082 = load i32, ptr @test_count, align 4, !tbaa !5
  %3083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3084 = load i32, ptr %3083, align 4, !tbaa !5
  %3085 = call ptr @s2n_strerror(i32 noundef %3084, ptr noundef @.str.4)
  %3086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3087 = load i32, ptr %3086, align 4, !tbaa !5
  %3088 = call ptr @s2n_strerror_debug(i32 noundef %3087, ptr noundef @.str.4)
  %3089 = call ptr @__errno_location() #10
  %3090 = load i32, ptr %3089, align 4, !tbaa !5
  %3091 = call ptr @strerror(i32 noundef %3090) #9
  %3092 = call ptr @__errno_location() #10
  %3093 = load i32, ptr %3092, align 4, !tbaa !5
  %3094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3081, ptr noundef @.str.5, i32 noundef %3082, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 144, ptr noundef %3085, ptr noundef %3088, ptr noundef %3091, i32 noundef %3093) #9
  br label %3095

3095:                                             ; preds = %3078, %3061
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #9
  br label %3096

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

3097:                                             ; No predecessors!
  br label %3098

3098:                                             ; preds = %3097, %3042
  br label %3099

3099:                                             ; preds = %3098
  br label %3100

3100:                                             ; preds = %3099
  %3101 = load i32, ptr @test_count, align 4, !tbaa !5
  %3102 = add nsw i32 %3101, 1
  store i32 %3102, ptr @test_count, align 4, !tbaa !5
  %3103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3104 = load i32, ptr %3103, align 4, !tbaa !5
  %3105 = icmp eq i32 %3104, 402653193
  br i1 %3105, label %3157, label %3106

3106:                                             ; preds = %3100
  br label %3107

3107:                                             ; preds = %3106
  br label %3108

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

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

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

3137:                                             ; preds = %3115, %3108
  %3138 = load i32, ptr %61, align 4, !tbaa !5
  %3139 = call ptr @__errno_location() #10
  store i32 %3138, ptr %3139, align 4, !tbaa !5
  %3140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3141 = load i32, ptr @test_count, align 4, !tbaa !5
  %3142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3143 = load i32, ptr %3142, align 4, !tbaa !5
  %3144 = call ptr @s2n_strerror(i32 noundef %3143, ptr noundef @.str.4)
  %3145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3146 = load i32, ptr %3145, align 4, !tbaa !5
  %3147 = call ptr @s2n_strerror_debug(i32 noundef %3146, ptr noundef @.str.4)
  %3148 = call ptr @__errno_location() #10
  %3149 = load i32, ptr %3148, align 4, !tbaa !5
  %3150 = call ptr @strerror(i32 noundef %3149) #9
  %3151 = call ptr @__errno_location() #10
  %3152 = load i32, ptr %3151, align 4, !tbaa !5
  %3153 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3140, ptr noundef @.str.5, i32 noundef %3141, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 144, ptr noundef %3144, ptr noundef %3147, ptr noundef %3150, i32 noundef %3152) #9
  br label %3154

3154:                                             ; preds = %3137, %3120
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #9
  br label %3155

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

3156:                                             ; No predecessors!
  br label %3157

3157:                                             ; preds = %3156, %3100
  br label %3158

3158:                                             ; preds = %3157
  br label %3159

3159:                                             ; preds = %3158
  %3160 = load i32, ptr @test_count, align 4, !tbaa !5
  %3161 = add nsw i32 %3160, 1
  store i32 %3161, ptr @test_count, align 4, !tbaa !5
  %3162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3163 = load i32, ptr %3162, align 4, !tbaa !5
  %3164 = call ptr @s2n_strerror_debug(i32 noundef %3163, ptr noundef @.str.4)
  %3165 = icmp eq ptr %3164, null
  br i1 %3165, label %3166, label %3217

3166:                                             ; preds = %3159
  br label %3167

3167:                                             ; preds = %3166
  br label %3168

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

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

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

3197:                                             ; preds = %3175, %3168
  %3198 = load i32, ptr %62, align 4, !tbaa !5
  %3199 = call ptr @__errno_location() #10
  store i32 %3198, ptr %3199, align 4, !tbaa !5
  %3200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3201 = load i32, ptr @test_count, align 4, !tbaa !5
  %3202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3203 = load i32, ptr %3202, align 4, !tbaa !5
  %3204 = call ptr @s2n_strerror(i32 noundef %3203, ptr noundef @.str.4)
  %3205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3206 = load i32, ptr %3205, align 4, !tbaa !5
  %3207 = call ptr @s2n_strerror_debug(i32 noundef %3206, ptr noundef @.str.4)
  %3208 = call ptr @__errno_location() #10
  %3209 = load i32, ptr %3208, align 4, !tbaa !5
  %3210 = call ptr @strerror(i32 noundef %3209) #9
  %3211 = call ptr @__errno_location() #10
  %3212 = load i32, ptr %3211, align 4, !tbaa !5
  %3213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3200, ptr noundef @.str.5, i32 noundef %3201, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 144, ptr noundef %3204, ptr noundef %3207, ptr noundef %3210, i32 noundef %3212) #9
  br label %3214

3214:                                             ; preds = %3197, %3180
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #9
  br label %3215

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

3216:                                             ; No predecessors!
  br label %3217

3217:                                             ; preds = %3216, %3159
  br label %3218

3218:                                             ; preds = %3217
  br label %3219

3219:                                             ; preds = %3218
  br label %3220

3220:                                             ; preds = %3219
  %3221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3221, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3222 = call ptr @__errno_location() #10
  store i32 0, ptr %3222, align 4, !tbaa !5
  br label %3223

3223:                                             ; preds = %3220
  br label %3224

3224:                                             ; preds = %3223
  %3225 = call zeroext i1 (...) @s2n_is_tls13_fully_supported()
  br i1 %3225, label %3226, label %4047

3226:                                             ; preds = %3224
  call void @llvm.lifetime.start.p0(i64 8, ptr %63) #9
  store ptr null, ptr %63, align 8, !tbaa !9
  br label %3227

3227:                                             ; preds = %3226
  %3228 = load i32, ptr @test_count, align 4, !tbaa !5
  %3229 = add nsw i32 %3228, 1
  store i32 %3229, ptr @test_count, align 4, !tbaa !5
  %3230 = call ptr @s2n_config_new()
  store ptr %3230, ptr %63, align 8, !tbaa !9
  %3231 = icmp eq ptr %3230, null
  br i1 %3231, label %3232, label %3285

3232:                                             ; preds = %3227
  br label %3233

3233:                                             ; preds = %3232
  br label %3234

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

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

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

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

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

3281:                                             ; preds = %3280
  br label %3282

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

3283:                                             ; No predecessors!
  br label %3284

3284:                                             ; preds = %3283
  br label %3285

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

3286:                                             ; preds = %3285
  br label %3287

3287:                                             ; preds = %3286
  call void @llvm.lifetime.start.p0(i64 8, ptr %65) #9
  store ptr null, ptr %65, align 8, !tbaa !9
  br label %3288

3288:                                             ; preds = %3287
  %3289 = load i32, ptr @test_count, align 4, !tbaa !5
  %3290 = add nsw i32 %3289, 1
  store i32 %3290, ptr @test_count, align 4, !tbaa !5
  %3291 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %3291, ptr %65, align 8, !tbaa !9
  %3292 = icmp eq ptr %3291, null
  br i1 %3292, label %3293, label %3346

3293:                                             ; preds = %3288
  br label %3294

3294:                                             ; preds = %3293
  br label %3295

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

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

3307:                                             ; preds = %3302
  %3308 = load i32, ptr %66, align 4, !tbaa !5
  %3309 = call ptr @__errno_location() #10
  store i32 %3308, ptr %3309, align 4, !tbaa !5
  %3310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3311 = load i32, ptr @test_count, align 4, !tbaa !5
  %3312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3313 = load i32, ptr %3312, align 4, !tbaa !5
  %3314 = call ptr @s2n_strerror(i32 noundef %3313, ptr noundef @.str.4)
  %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_debug(i32 noundef %3316, ptr noundef @.str.4)
  %3318 = call ptr @__errno_location() #10
  %3319 = load i32, ptr %3318, align 4, !tbaa !5
  %3320 = call ptr @strerror(i32 noundef %3319) #9
  %3321 = call ptr @__errno_location() #10
  %3322 = load i32, ptr %3321, align 4, !tbaa !5
  %3323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3310, ptr noundef @.str.2, i32 noundef %3311, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 152, ptr noundef %3314, ptr noundef %3317, ptr noundef %3320, i32 noundef %3322) #9
  br label %3341

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

3341:                                             ; preds = %3324, %3307
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #9
  br label %3342

3342:                                             ; preds = %3341
  br label %3343

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

3344:                                             ; No predecessors!
  br label %3345

3345:                                             ; preds = %3344
  br label %3346

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

3347:                                             ; preds = %3346
  br label %3348

3348:                                             ; preds = %3347
  br label %3349

3349:                                             ; preds = %3348
  %3350 = load i32, ptr @test_count, align 4, !tbaa !5
  %3351 = add nsw i32 %3350, 1
  store i32 %3351, ptr @test_count, align 4, !tbaa !5
  %3352 = load ptr, ptr %65, align 8, !tbaa !9
  %3353 = load ptr, ptr %63, align 8, !tbaa !9
  %3354 = call i32 @s2n_connection_set_config(ptr noundef %3352, ptr noundef %3353)
  %3355 = icmp eq i32 %3354, -1
  br i1 %3355, label %3356, label %3409

3356:                                             ; preds = %3349
  br label %3357

3357:                                             ; preds = %3356
  br label %3358

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

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

3370:                                             ; preds = %3365
  %3371 = load i32, ptr %67, align 4, !tbaa !5
  %3372 = call ptr @__errno_location() #10
  store i32 %3371, ptr %3372, align 4, !tbaa !5
  %3373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3374 = load i32, ptr @test_count, align 4, !tbaa !5
  %3375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3376 = load i32, ptr %3375, align 4, !tbaa !5
  %3377 = call ptr @s2n_strerror(i32 noundef %3376, ptr noundef @.str.4)
  %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_debug(i32 noundef %3379, ptr noundef @.str.4)
  %3381 = call ptr @__errno_location() #10
  %3382 = load i32, ptr %3381, align 4, !tbaa !5
  %3383 = call ptr @strerror(i32 noundef %3382) #9
  %3384 = call ptr @__errno_location() #10
  %3385 = load i32, ptr %3384, align 4, !tbaa !5
  %3386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3373, ptr noundef @.str.2, i32 noundef %3374, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 153, ptr noundef %3377, ptr noundef %3380, ptr noundef %3383, i32 noundef %3385) #9
  br label %3404

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

3404:                                             ; preds = %3387, %3370
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #9
  br label %3405

3405:                                             ; preds = %3404
  br label %3406

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

3407:                                             ; No predecessors!
  br label %3408

3408:                                             ; preds = %3407
  br label %3409

3409:                                             ; preds = %3408, %3349
  br label %3410

3410:                                             ; preds = %3409
  br label %3411

3411:                                             ; preds = %3410
  br label %3412

3412:                                             ; preds = %3411
  %3413 = load i32, ptr @test_count, align 4, !tbaa !5
  %3414 = add nsw i32 %3413, 1
  store i32 %3414, ptr @test_count, align 4, !tbaa !5
  %3415 = load ptr, ptr %65, align 8, !tbaa !9
  %3416 = getelementptr inbounds %struct.s2n_connection, ptr %3415, i32 0, i32 40
  %3417 = call i32 @s2n_stuffer_write_uint16(ptr noundef %3416, i16 noundef zeroext 0)
  %3418 = icmp eq i32 %3417, -1
  br i1 %3418, label %3419, label %3472

3419:                                             ; preds = %3412
  br label %3420

3420:                                             ; preds = %3419
  br label %3421

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

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

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

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

3467:                                             ; preds = %3450, %3433
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #9
  br label %3468

3468:                                             ; preds = %3467
  br label %3469

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

3470:                                             ; No predecessors!
  br label %3471

3471:                                             ; preds = %3470
  br label %3472

3472:                                             ; preds = %3471, %3412
  br label %3473

3473:                                             ; preds = %3472
  br label %3474

3474:                                             ; preds = %3473
  br label %3475

3475:                                             ; preds = %3474
  %3476 = load i32, ptr @test_count, align 4, !tbaa !5
  %3477 = add nsw i32 %3476, 1
  store i32 %3477, ptr @test_count, align 4, !tbaa !5
  %3478 = load ptr, ptr %65, align 8, !tbaa !9
  %3479 = call i32 @s2n_process_alert_fragment(ptr noundef %3478)
  %3480 = icmp eq i32 %3479, -1
  br i1 %3480, label %3481, label %3534

3481:                                             ; preds = %3475
  br label %3482

3482:                                             ; preds = %3481
  br label %3483

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

3490:                                             ; preds = %3483
  %3491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3492 = call i32 @fileno(ptr noundef %3491) #9
  %3493 = call i32 @isatty(i32 noundef %3492) #9
  %3494 = icmp ne i32 %3493, 0
  br i1 %3494, label %3495, label %3512

3495:                                             ; preds = %3490
  %3496 = load i32, ptr %69, align 4, !tbaa !5
  %3497 = call ptr @__errno_location() #10
  store i32 %3496, ptr %3497, align 4, !tbaa !5
  %3498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3499 = load i32, ptr @test_count, align 4, !tbaa !5
  %3500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3501 = load i32, ptr %3500, align 4, !tbaa !5
  %3502 = call ptr @s2n_strerror(i32 noundef %3501, ptr noundef @.str.4)
  %3503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3504 = load i32, ptr %3503, align 4, !tbaa !5
  %3505 = call ptr @s2n_strerror_debug(i32 noundef %3504, ptr noundef @.str.4)
  %3506 = call ptr @__errno_location() #10
  %3507 = load i32, ptr %3506, align 4, !tbaa !5
  %3508 = call ptr @strerror(i32 noundef %3507) #9
  %3509 = call ptr @__errno_location() #10
  %3510 = load i32, ptr %3509, align 4, !tbaa !5
  %3511 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3498, ptr noundef @.str.2, i32 noundef %3499, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 157, ptr noundef %3502, ptr noundef %3505, ptr noundef %3508, i32 noundef %3510) #9
  br label %3529

3512:                                             ; preds = %3490, %3483
  %3513 = load i32, ptr %69, align 4, !tbaa !5
  %3514 = call ptr @__errno_location() #10
  store i32 %3513, ptr %3514, align 4, !tbaa !5
  %3515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3516 = load i32, ptr @test_count, align 4, !tbaa !5
  %3517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3518 = load i32, ptr %3517, align 4, !tbaa !5
  %3519 = call ptr @s2n_strerror(i32 noundef %3518, ptr noundef @.str.4)
  %3520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3521 = load i32, ptr %3520, align 4, !tbaa !5
  %3522 = call ptr @s2n_strerror_debug(i32 noundef %3521, ptr noundef @.str.4)
  %3523 = call ptr @__errno_location() #10
  %3524 = load i32, ptr %3523, align 4, !tbaa !5
  %3525 = call ptr @strerror(i32 noundef %3524) #9
  %3526 = call ptr @__errno_location() #10
  %3527 = load i32, ptr %3526, align 4, !tbaa !5
  %3528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3515, ptr noundef @.str.5, i32 noundef %3516, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 157, ptr noundef %3519, ptr noundef %3522, ptr noundef %3525, i32 noundef %3527) #9
  br label %3529

3529:                                             ; preds = %3512, %3495
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #9
  br label %3530

3530:                                             ; preds = %3529
  br label %3531

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

3532:                                             ; No predecessors!
  br label %3533

3533:                                             ; preds = %3532
  br label %3534

3534:                                             ; preds = %3533, %3475
  br label %3535

3535:                                             ; preds = %3534
  br label %3536

3536:                                             ; preds = %3535
  br label %3537

3537:                                             ; preds = %3536
  %3538 = load i32, ptr @test_count, align 4, !tbaa !5
  %3539 = add nsw i32 %3538, 1
  store i32 %3539, ptr @test_count, align 4, !tbaa !5
  %3540 = load ptr, ptr %65, align 8, !tbaa !9
  %3541 = getelementptr inbounds %struct.s2n_connection, ptr %3540, i32 0, i32 45
  %3542 = call i32 @s2n_stuffer_wipe(ptr noundef %3541)
  %3543 = icmp eq i32 %3542, -1
  br i1 %3543, label %3544, label %3597

3544:                                             ; preds = %3537
  br label %3545

3545:                                             ; preds = %3544
  br label %3546

3546:                                             ; preds = %3545
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #9
  %3547 = call ptr @__errno_location() #10
  %3548 = load i32, ptr %3547, align 4, !tbaa !5
  store i32 %3548, ptr %70, align 4, !tbaa !5
  %3549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3550 = call i32 @s2n_print_stacktrace(ptr noundef %3549)
  %3551 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3552 = trunc i8 %3551 to i1
  br i1 %3552, label %3553, label %3575

3553:                                             ; preds = %3546
  %3554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3555 = call i32 @fileno(ptr noundef %3554) #9
  %3556 = call i32 @isatty(i32 noundef %3555) #9
  %3557 = icmp ne i32 %3556, 0
  br i1 %3557, label %3558, label %3575

3558:                                             ; preds = %3553
  %3559 = load i32, ptr %70, align 4, !tbaa !5
  %3560 = call ptr @__errno_location() #10
  store i32 %3559, ptr %3560, align 4, !tbaa !5
  %3561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3562 = load i32, ptr @test_count, align 4, !tbaa !5
  %3563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3564 = load i32, ptr %3563, align 4, !tbaa !5
  %3565 = call ptr @s2n_strerror(i32 noundef %3564, ptr noundef @.str.4)
  %3566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3567 = load i32, ptr %3566, align 4, !tbaa !5
  %3568 = call ptr @s2n_strerror_debug(i32 noundef %3567, ptr noundef @.str.4)
  %3569 = call ptr @__errno_location() #10
  %3570 = load i32, ptr %3569, align 4, !tbaa !5
  %3571 = call ptr @strerror(i32 noundef %3570) #9
  %3572 = call ptr @__errno_location() #10
  %3573 = load i32, ptr %3572, align 4, !tbaa !5
  %3574 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3561, ptr noundef @.str.2, i32 noundef %3562, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 160, ptr noundef %3565, ptr noundef %3568, ptr noundef %3571, i32 noundef %3573) #9
  br label %3592

3575:                                             ; preds = %3553, %3546
  %3576 = load i32, ptr %70, align 4, !tbaa !5
  %3577 = call ptr @__errno_location() #10
  store i32 %3576, ptr %3577, align 4, !tbaa !5
  %3578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3579 = load i32, ptr @test_count, align 4, !tbaa !5
  %3580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3581 = load i32, ptr %3580, align 4, !tbaa !5
  %3582 = call ptr @s2n_strerror(i32 noundef %3581, ptr noundef @.str.4)
  %3583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3584 = load i32, ptr %3583, align 4, !tbaa !5
  %3585 = call ptr @s2n_strerror_debug(i32 noundef %3584, ptr noundef @.str.4)
  %3586 = call ptr @__errno_location() #10
  %3587 = load i32, ptr %3586, align 4, !tbaa !5
  %3588 = call ptr @strerror(i32 noundef %3587) #9
  %3589 = call ptr @__errno_location() #10
  %3590 = load i32, ptr %3589, align 4, !tbaa !5
  %3591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3578, ptr noundef @.str.5, i32 noundef %3579, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 160, ptr noundef %3582, ptr noundef %3585, ptr noundef %3588, i32 noundef %3590) #9
  br label %3592

3592:                                             ; preds = %3575, %3558
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #9
  br label %3593

3593:                                             ; preds = %3592
  br label %3594

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

3595:                                             ; No predecessors!
  br label %3596

3596:                                             ; preds = %3595
  br label %3597

3597:                                             ; preds = %3596, %3537
  br label %3598

3598:                                             ; preds = %3597
  br label %3599

3599:                                             ; preds = %3598
  br label %3600

3600:                                             ; preds = %3599
  %3601 = load i32, ptr @test_count, align 4, !tbaa !5
  %3602 = add nsw i32 %3601, 1
  store i32 %3602, ptr @test_count, align 4, !tbaa !5
  %3603 = load ptr, ptr %63, align 8, !tbaa !9
  %3604 = call i32 @s2n_config_enable_quic(ptr noundef %3603)
  %3605 = icmp eq i32 %3604, -1
  br i1 %3605, label %3606, label %3659

3606:                                             ; preds = %3600
  br label %3607

3607:                                             ; preds = %3606
  br label %3608

3608:                                             ; preds = %3607
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #9
  %3609 = call ptr @__errno_location() #10
  %3610 = load i32, ptr %3609, align 4, !tbaa !5
  store i32 %3610, ptr %71, align 4, !tbaa !5
  %3611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3612 = call i32 @s2n_print_stacktrace(ptr noundef %3611)
  %3613 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3614 = trunc i8 %3613 to i1
  br i1 %3614, label %3615, label %3637

3615:                                             ; preds = %3608
  %3616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3617 = call i32 @fileno(ptr noundef %3616) #9
  %3618 = call i32 @isatty(i32 noundef %3617) #9
  %3619 = icmp ne i32 %3618, 0
  br i1 %3619, label %3620, label %3637

3620:                                             ; preds = %3615
  %3621 = load i32, ptr %71, align 4, !tbaa !5
  %3622 = call ptr @__errno_location() #10
  store i32 %3621, ptr %3622, align 4, !tbaa !5
  %3623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3624 = load i32, ptr @test_count, align 4, !tbaa !5
  %3625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3626 = load i32, ptr %3625, align 4, !tbaa !5
  %3627 = call ptr @s2n_strerror(i32 noundef %3626, ptr noundef @.str.4)
  %3628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3629 = load i32, ptr %3628, align 4, !tbaa !5
  %3630 = call ptr @s2n_strerror_debug(i32 noundef %3629, ptr noundef @.str.4)
  %3631 = call ptr @__errno_location() #10
  %3632 = load i32, ptr %3631, align 4, !tbaa !5
  %3633 = call ptr @strerror(i32 noundef %3632) #9
  %3634 = call ptr @__errno_location() #10
  %3635 = load i32, ptr %3634, align 4, !tbaa !5
  %3636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3623, ptr noundef @.str.2, i32 noundef %3624, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 163, ptr noundef %3627, ptr noundef %3630, ptr noundef %3633, i32 noundef %3635) #9
  br label %3654

3637:                                             ; preds = %3615, %3608
  %3638 = load i32, ptr %71, align 4, !tbaa !5
  %3639 = call ptr @__errno_location() #10
  store i32 %3638, ptr %3639, align 4, !tbaa !5
  %3640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3641 = load i32, ptr @test_count, align 4, !tbaa !5
  %3642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3643 = load i32, ptr %3642, align 4, !tbaa !5
  %3644 = call ptr @s2n_strerror(i32 noundef %3643, ptr noundef @.str.4)
  %3645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3646 = load i32, ptr %3645, align 4, !tbaa !5
  %3647 = call ptr @s2n_strerror_debug(i32 noundef %3646, ptr noundef @.str.4)
  %3648 = call ptr @__errno_location() #10
  %3649 = load i32, ptr %3648, align 4, !tbaa !5
  %3650 = call ptr @strerror(i32 noundef %3649) #9
  %3651 = call ptr @__errno_location() #10
  %3652 = load i32, ptr %3651, align 4, !tbaa !5
  %3653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3640, ptr noundef @.str.5, i32 noundef %3641, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 163, ptr noundef %3644, ptr noundef %3647, ptr noundef %3650, i32 noundef %3652) #9
  br label %3654

3654:                                             ; preds = %3637, %3620
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #9
  br label %3655

3655:                                             ; preds = %3654
  br label %3656

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

3657:                                             ; No predecessors!
  br label %3658

3658:                                             ; preds = %3657
  br label %3659

3659:                                             ; preds = %3658, %3600
  br label %3660

3660:                                             ; preds = %3659
  br label %3661

3661:                                             ; preds = %3660
  br label %3662

3662:                                             ; preds = %3661
  %3663 = load i32, ptr @test_count, align 4, !tbaa !5
  %3664 = add nsw i32 %3663, 1
  store i32 %3664, ptr @test_count, align 4, !tbaa !5
  %3665 = load ptr, ptr %65, align 8, !tbaa !9
  %3666 = getelementptr inbounds %struct.s2n_connection, ptr %3665, i32 0, i32 40
  %3667 = call i32 @s2n_stuffer_write_uint16(ptr noundef %3666, i16 noundef zeroext 0)
  %3668 = icmp eq i32 %3667, -1
  br i1 %3668, label %3669, label %3722

3669:                                             ; preds = %3662
  br label %3670

3670:                                             ; preds = %3669
  br label %3671

3671:                                             ; preds = %3670
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #9
  %3672 = call ptr @__errno_location() #10
  %3673 = load i32, ptr %3672, align 4, !tbaa !5
  store i32 %3673, ptr %72, align 4, !tbaa !5
  %3674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3675 = call i32 @s2n_print_stacktrace(ptr noundef %3674)
  %3676 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3677 = trunc i8 %3676 to i1
  br i1 %3677, label %3678, label %3700

3678:                                             ; preds = %3671
  %3679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3680 = call i32 @fileno(ptr noundef %3679) #9
  %3681 = call i32 @isatty(i32 noundef %3680) #9
  %3682 = icmp ne i32 %3681, 0
  br i1 %3682, label %3683, label %3700

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

3700:                                             ; preds = %3678, %3671
  %3701 = load i32, ptr %72, align 4, !tbaa !5
  %3702 = call ptr @__errno_location() #10
  store i32 %3701, ptr %3702, align 4, !tbaa !5
  %3703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3704 = load i32, ptr @test_count, align 4, !tbaa !5
  %3705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3706 = load i32, ptr %3705, align 4, !tbaa !5
  %3707 = call ptr @s2n_strerror(i32 noundef %3706, ptr noundef @.str.4)
  %3708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3709 = load i32, ptr %3708, align 4, !tbaa !5
  %3710 = call ptr @s2n_strerror_debug(i32 noundef %3709, ptr noundef @.str.4)
  %3711 = call ptr @__errno_location() #10
  %3712 = load i32, ptr %3711, align 4, !tbaa !5
  %3713 = call ptr @strerror(i32 noundef %3712) #9
  %3714 = call ptr @__errno_location() #10
  %3715 = load i32, ptr %3714, align 4, !tbaa !5
  %3716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3703, ptr noundef @.str.5, i32 noundef %3704, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 164, ptr noundef %3707, ptr noundef %3710, ptr noundef %3713, i32 noundef %3715) #9
  br label %3717

3717:                                             ; preds = %3700, %3683
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #9
  br label %3718

3718:                                             ; preds = %3717
  br label %3719

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

3720:                                             ; No predecessors!
  br label %3721

3721:                                             ; preds = %3720
  br label %3722

3722:                                             ; preds = %3721, %3662
  br label %3723

3723:                                             ; preds = %3722
  br label %3724

3724:                                             ; preds = %3723
  br label %3725

3725:                                             ; preds = %3724
  br label %3726

3726:                                             ; preds = %3725
  br label %3727

3727:                                             ; preds = %3726
  %3728 = load i32, ptr @test_count, align 4, !tbaa !5
  %3729 = add nsw i32 %3728, 1
  store i32 %3729, ptr @test_count, align 4, !tbaa !5
  %3730 = load ptr, ptr %65, align 8, !tbaa !9
  %3731 = call i32 @s2n_process_alert_fragment(ptr noundef %3730)
  %3732 = icmp eq i32 %3731, -1
  br i1 %3732, label %3786, label %3733

3733:                                             ; preds = %3727
  br label %3734

3734:                                             ; preds = %3733
  br label %3735

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

3742:                                             ; preds = %3735
  %3743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3744 = call i32 @fileno(ptr noundef %3743) #9
  %3745 = call i32 @isatty(i32 noundef %3744) #9
  %3746 = icmp ne i32 %3745, 0
  br i1 %3746, label %3747, label %3764

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

3764:                                             ; preds = %3742, %3735
  %3765 = load i32, ptr %73, align 4, !tbaa !5
  %3766 = call ptr @__errno_location() #10
  store i32 %3765, ptr %3766, align 4, !tbaa !5
  %3767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3768 = load i32, ptr @test_count, align 4, !tbaa !5
  %3769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3770 = load i32, ptr %3769, align 4, !tbaa !5
  %3771 = call ptr @s2n_strerror(i32 noundef %3770, ptr noundef @.str.4)
  %3772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3773 = load i32, ptr %3772, align 4, !tbaa !5
  %3774 = call ptr @s2n_strerror_debug(i32 noundef %3773, ptr noundef @.str.4)
  %3775 = call ptr @__errno_location() #10
  %3776 = load i32, ptr %3775, align 4, !tbaa !5
  %3777 = call ptr @strerror(i32 noundef %3776) #9
  %3778 = call ptr @__errno_location() #10
  %3779 = load i32, ptr %3778, align 4, !tbaa !5
  %3780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3767, ptr noundef @.str.5, i32 noundef %3768, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 165, ptr noundef %3771, ptr noundef %3774, ptr noundef %3777, i32 noundef %3779) #9
  br label %3781

3781:                                             ; preds = %3764, %3747
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #9
  br label %3782

3782:                                             ; preds = %3781
  br label %3783

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

3784:                                             ; No predecessors!
  br label %3785

3785:                                             ; preds = %3784
  br label %3786

3786:                                             ; preds = %3785, %3727
  br label %3787

3787:                                             ; preds = %3786
  br label %3788

3788:                                             ; preds = %3787
  br label %3789

3789:                                             ; preds = %3788
  %3790 = load i32, ptr @test_count, align 4, !tbaa !5
  %3791 = add nsw i32 %3790, 1
  store i32 %3791, ptr @test_count, align 4, !tbaa !5
  %3792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3793 = load i32, ptr %3792, align 4, !tbaa !5
  %3794 = icmp eq i32 %3793, 335544322
  br i1 %3794, label %3848, label %3795

3795:                                             ; preds = %3789
  br label %3796

3796:                                             ; preds = %3795
  br label %3797

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

3804:                                             ; preds = %3797
  %3805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3806 = call i32 @fileno(ptr noundef %3805) #9
  %3807 = call i32 @isatty(i32 noundef %3806) #9
  %3808 = icmp ne i32 %3807, 0
  br i1 %3808, label %3809, label %3826

3809:                                             ; preds = %3804
  %3810 = load i32, ptr %74, 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.2, i32 noundef %3813, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 165, ptr noundef %3816, ptr noundef %3819, ptr noundef %3822, i32 noundef %3824) #9
  br label %3843

3826:                                             ; preds = %3804, %3797
  %3827 = load i32, ptr %74, align 4, !tbaa !5
  %3828 = call ptr @__errno_location() #10
  store i32 %3827, ptr %3828, align 4, !tbaa !5
  %3829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3830 = load i32, ptr @test_count, align 4, !tbaa !5
  %3831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3832 = load i32, ptr %3831, align 4, !tbaa !5
  %3833 = call ptr @s2n_strerror(i32 noundef %3832, ptr noundef @.str.4)
  %3834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3835 = load i32, ptr %3834, align 4, !tbaa !5
  %3836 = call ptr @s2n_strerror_debug(i32 noundef %3835, ptr noundef @.str.4)
  %3837 = call ptr @__errno_location() #10
  %3838 = load i32, ptr %3837, align 4, !tbaa !5
  %3839 = call ptr @strerror(i32 noundef %3838) #9
  %3840 = call ptr @__errno_location() #10
  %3841 = load i32, ptr %3840, align 4, !tbaa !5
  %3842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3829, ptr noundef @.str.5, i32 noundef %3830, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 165, ptr noundef %3833, ptr noundef %3836, ptr noundef %3839, i32 noundef %3841) #9
  br label %3843

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

3844:                                             ; preds = %3843
  br label %3845

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

3846:                                             ; No predecessors!
  br label %3847

3847:                                             ; preds = %3846
  br label %3848

3848:                                             ; preds = %3847, %3789
  br label %3849

3849:                                             ; preds = %3848
  br label %3850

3850:                                             ; preds = %3849
  br label %3851

3851:                                             ; preds = %3850
  %3852 = load i32, ptr @test_count, align 4, !tbaa !5
  %3853 = add nsw i32 %3852, 1
  store i32 %3853, ptr @test_count, align 4, !tbaa !5
  %3854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3855 = load i32, ptr %3854, align 4, !tbaa !5
  %3856 = call ptr @s2n_strerror_debug(i32 noundef %3855, ptr noundef @.str.4)
  %3857 = icmp eq ptr %3856, null
  br i1 %3857, label %3858, label %3911

3858:                                             ; preds = %3851
  br label %3859

3859:                                             ; preds = %3858
  br label %3860

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

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

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

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

3906:                                             ; preds = %3889, %3872
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #9
  br label %3907

3907:                                             ; preds = %3906
  br label %3908

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

3909:                                             ; No predecessors!
  br label %3910

3910:                                             ; preds = %3909
  br label %3911

3911:                                             ; preds = %3910, %3851
  br label %3912

3912:                                             ; preds = %3911
  br label %3913

3913:                                             ; preds = %3912
  br label %3914

3914:                                             ; preds = %3913
  br label %3915

3915:                                             ; preds = %3914
  br label %3916

3916:                                             ; preds = %3915
  %3917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3917, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3918 = call ptr @__errno_location() #10
  store i32 0, ptr %3918, align 4, !tbaa !5
  br label %3919

3919:                                             ; preds = %3916
  br label %3920

3920:                                             ; preds = %3919
  br label %3921

3921:                                             ; preds = %3920
  br label %3922

3922:                                             ; preds = %3921
  br label %3923

3923:                                             ; preds = %3922
  %3924 = load i32, ptr @test_count, align 4, !tbaa !5
  %3925 = add nsw i32 %3924, 1
  store i32 %3925, ptr @test_count, align 4, !tbaa !5
  %3926 = load ptr, ptr %65, align 8, !tbaa !9
  %3927 = call i32 @s2n_connection_free(ptr noundef %3926)
  %3928 = icmp eq i32 %3927, -1
  br i1 %3928, label %3929, label %3982

3929:                                             ; preds = %3923
  br label %3930

3930:                                             ; preds = %3929
  br label %3931

3931:                                             ; preds = %3930
  call void @llvm.lifetime.start.p0(i64 4, ptr %76) #9
  %3932 = call ptr @__errno_location() #10
  %3933 = load i32, ptr %3932, align 4, !tbaa !5
  store i32 %3933, ptr %76, align 4, !tbaa !5
  %3934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3935 = call i32 @s2n_print_stacktrace(ptr noundef %3934)
  %3936 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3937 = trunc i8 %3936 to i1
  br i1 %3937, label %3938, label %3960

3938:                                             ; preds = %3931
  %3939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3940 = call i32 @fileno(ptr noundef %3939) #9
  %3941 = call i32 @isatty(i32 noundef %3940) #9
  %3942 = icmp ne i32 %3941, 0
  br i1 %3942, label %3943, label %3960

3943:                                             ; preds = %3938
  %3944 = load i32, ptr %76, align 4, !tbaa !5
  %3945 = call ptr @__errno_location() #10
  store i32 %3944, ptr %3945, align 4, !tbaa !5
  %3946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3947 = load i32, ptr @test_count, align 4, !tbaa !5
  %3948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3949 = load i32, ptr %3948, align 4, !tbaa !5
  %3950 = call ptr @s2n_strerror(i32 noundef %3949, ptr noundef @.str.4)
  %3951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3952 = load i32, ptr %3951, align 4, !tbaa !5
  %3953 = call ptr @s2n_strerror_debug(i32 noundef %3952, ptr noundef @.str.4)
  %3954 = call ptr @__errno_location() #10
  %3955 = load i32, ptr %3954, align 4, !tbaa !5
  %3956 = call ptr @strerror(i32 noundef %3955) #9
  %3957 = call ptr @__errno_location() #10
  %3958 = load i32, ptr %3957, align 4, !tbaa !5
  %3959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3946, ptr noundef @.str.2, i32 noundef %3947, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 167, ptr noundef %3950, ptr noundef %3953, ptr noundef %3956, i32 noundef %3958) #9
  br label %3977

3960:                                             ; preds = %3938, %3931
  %3961 = load i32, ptr %76, align 4, !tbaa !5
  %3962 = call ptr @__errno_location() #10
  store i32 %3961, ptr %3962, align 4, !tbaa !5
  %3963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3964 = load i32, ptr @test_count, align 4, !tbaa !5
  %3965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3966 = load i32, ptr %3965, align 4, !tbaa !5
  %3967 = call ptr @s2n_strerror(i32 noundef %3966, ptr noundef @.str.4)
  %3968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3969 = load i32, ptr %3968, align 4, !tbaa !5
  %3970 = call ptr @s2n_strerror_debug(i32 noundef %3969, ptr noundef @.str.4)
  %3971 = call ptr @__errno_location() #10
  %3972 = load i32, ptr %3971, align 4, !tbaa !5
  %3973 = call ptr @strerror(i32 noundef %3972) #9
  %3974 = call ptr @__errno_location() #10
  %3975 = load i32, ptr %3974, align 4, !tbaa !5
  %3976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3963, ptr noundef @.str.5, i32 noundef %3964, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 167, ptr noundef %3967, ptr noundef %3970, ptr noundef %3973, i32 noundef %3975) #9
  br label %3977

3977:                                             ; preds = %3960, %3943
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #9
  br label %3978

3978:                                             ; preds = %3977
  br label %3979

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

3980:                                             ; No predecessors!
  br label %3981

3981:                                             ; preds = %3980
  br label %3982

3982:                                             ; preds = %3981, %3923
  br label %3983

3983:                                             ; preds = %3982
  br label %3984

3984:                                             ; preds = %3983
  br label %3985

3985:                                             ; preds = %3984
  %3986 = load i32, ptr @test_count, align 4, !tbaa !5
  %3987 = add nsw i32 %3986, 1
  store i32 %3987, ptr @test_count, align 4, !tbaa !5
  %3988 = load ptr, ptr %63, align 8, !tbaa !9
  %3989 = call i32 @s2n_config_free(ptr noundef %3988)
  %3990 = icmp eq i32 %3989, -1
  br i1 %3990, label %3991, label %4044

3991:                                             ; preds = %3985
  br label %3992

3992:                                             ; preds = %3991
  br label %3993

3993:                                             ; preds = %3992
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #9
  %3994 = call ptr @__errno_location() #10
  %3995 = load i32, ptr %3994, align 4, !tbaa !5
  store i32 %3995, ptr %77, align 4, !tbaa !5
  %3996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3997 = call i32 @s2n_print_stacktrace(ptr noundef %3996)
  %3998 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3999 = trunc i8 %3998 to i1
  br i1 %3999, label %4000, label %4022

4000:                                             ; preds = %3993
  %4001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4002 = call i32 @fileno(ptr noundef %4001) #9
  %4003 = call i32 @isatty(i32 noundef %4002) #9
  %4004 = icmp ne i32 %4003, 0
  br i1 %4004, label %4005, label %4022

4005:                                             ; preds = %4000
  %4006 = load i32, ptr %77, align 4, !tbaa !5
  %4007 = call ptr @__errno_location() #10
  store i32 %4006, ptr %4007, align 4, !tbaa !5
  %4008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4009 = load i32, ptr @test_count, align 4, !tbaa !5
  %4010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4011 = load i32, ptr %4010, align 4, !tbaa !5
  %4012 = call ptr @s2n_strerror(i32 noundef %4011, ptr noundef @.str.4)
  %4013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4014 = load i32, ptr %4013, align 4, !tbaa !5
  %4015 = call ptr @s2n_strerror_debug(i32 noundef %4014, ptr noundef @.str.4)
  %4016 = call ptr @__errno_location() #10
  %4017 = load i32, ptr %4016, align 4, !tbaa !5
  %4018 = call ptr @strerror(i32 noundef %4017) #9
  %4019 = call ptr @__errno_location() #10
  %4020 = load i32, ptr %4019, align 4, !tbaa !5
  %4021 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4008, ptr noundef @.str.2, i32 noundef %4009, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 168, ptr noundef %4012, ptr noundef %4015, ptr noundef %4018, i32 noundef %4020) #9
  br label %4039

4022:                                             ; preds = %4000, %3993
  %4023 = load i32, ptr %77, align 4, !tbaa !5
  %4024 = call ptr @__errno_location() #10
  store i32 %4023, ptr %4024, align 4, !tbaa !5
  %4025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4026 = load i32, ptr @test_count, align 4, !tbaa !5
  %4027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4028 = load i32, ptr %4027, align 4, !tbaa !5
  %4029 = call ptr @s2n_strerror(i32 noundef %4028, ptr noundef @.str.4)
  %4030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4031 = load i32, ptr %4030, align 4, !tbaa !5
  %4032 = call ptr @s2n_strerror_debug(i32 noundef %4031, ptr noundef @.str.4)
  %4033 = call ptr @__errno_location() #10
  %4034 = load i32, ptr %4033, align 4, !tbaa !5
  %4035 = call ptr @strerror(i32 noundef %4034) #9
  %4036 = call ptr @__errno_location() #10
  %4037 = load i32, ptr %4036, align 4, !tbaa !5
  %4038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4025, ptr noundef @.str.5, i32 noundef %4026, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 168, ptr noundef %4029, ptr noundef %4032, ptr noundef %4035, i32 noundef %4037) #9
  br label %4039

4039:                                             ; preds = %4022, %4005
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #9
  br label %4040

4040:                                             ; preds = %4039
  br label %4041

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

4042:                                             ; No predecessors!
  br label %4043

4043:                                             ; preds = %4042
  br label %4044

4044:                                             ; preds = %4043, %3985
  br label %4045

4045:                                             ; preds = %4044
  br label %4046

4046:                                             ; preds = %4045
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #9
  br label %4047

4047:                                             ; preds = %4046, %3224
  call void @llvm.lifetime.start.p0(i64 2, ptr %78) #9
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %78, ptr align 1 @__const.main.warning_alert, i64 2, i1 false)
  call void @llvm.lifetime.start.p0(i64 2, ptr %79) #9
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %79, ptr align 1 @__const.main.user_canceled_alert, i64 2, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #9
  store ptr null, ptr %80, align 8, !tbaa !9
  br label %4048

4048:                                             ; preds = %4047
  %4049 = load i32, ptr @test_count, align 4, !tbaa !5
  %4050 = add nsw i32 %4049, 1
  store i32 %4050, ptr @test_count, align 4, !tbaa !5
  %4051 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %4051, ptr %80, align 8, !tbaa !9
  %4052 = icmp eq ptr %4051, null
  br i1 %4052, label %4053, label %4106

4053:                                             ; preds = %4048
  br label %4054

4054:                                             ; preds = %4053
  br label %4055

4055:                                             ; preds = %4054
  call void @llvm.lifetime.start.p0(i64 4, ptr %81) #9
  %4056 = call ptr @__errno_location() #10
  %4057 = load i32, ptr %4056, align 4, !tbaa !5
  store i32 %4057, ptr %81, align 4, !tbaa !5
  %4058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4059 = call i32 @s2n_print_stacktrace(ptr noundef %4058)
  %4060 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4061 = trunc i8 %4060 to i1
  br i1 %4061, label %4062, label %4084

4062:                                             ; preds = %4055
  %4063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4064 = call i32 @fileno(ptr noundef %4063) #9
  %4065 = call i32 @isatty(i32 noundef %4064) #9
  %4066 = icmp ne i32 %4065, 0
  br i1 %4066, label %4067, label %4084

4067:                                             ; preds = %4062
  %4068 = load i32, ptr %81, align 4, !tbaa !5
  %4069 = call ptr @__errno_location() #10
  store i32 %4068, ptr %4069, align 4, !tbaa !5
  %4070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4071 = load i32, ptr @test_count, align 4, !tbaa !5
  %4072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4073 = load i32, ptr %4072, align 4, !tbaa !5
  %4074 = call ptr @s2n_strerror(i32 noundef %4073, ptr noundef @.str.4)
  %4075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4076 = load i32, ptr %4075, align 4, !tbaa !5
  %4077 = call ptr @s2n_strerror_debug(i32 noundef %4076, ptr noundef @.str.4)
  %4078 = call ptr @__errno_location() #10
  %4079 = load i32, ptr %4078, align 4, !tbaa !5
  %4080 = call ptr @strerror(i32 noundef %4079) #9
  %4081 = call ptr @__errno_location() #10
  %4082 = load i32, ptr %4081, align 4, !tbaa !5
  %4083 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4070, ptr noundef @.str.2, i32 noundef %4071, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 186, ptr noundef %4074, ptr noundef %4077, ptr noundef %4080, i32 noundef %4082) #9
  br label %4101

4084:                                             ; preds = %4062, %4055
  %4085 = load i32, ptr %81, align 4, !tbaa !5
  %4086 = call ptr @__errno_location() #10
  store i32 %4085, ptr %4086, align 4, !tbaa !5
  %4087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4088 = load i32, ptr @test_count, align 4, !tbaa !5
  %4089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4090 = load i32, ptr %4089, align 4, !tbaa !5
  %4091 = call ptr @s2n_strerror(i32 noundef %4090, ptr noundef @.str.4)
  %4092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4093 = load i32, ptr %4092, align 4, !tbaa !5
  %4094 = call ptr @s2n_strerror_debug(i32 noundef %4093, ptr noundef @.str.4)
  %4095 = call ptr @__errno_location() #10
  %4096 = load i32, ptr %4095, align 4, !tbaa !5
  %4097 = call ptr @strerror(i32 noundef %4096) #9
  %4098 = call ptr @__errno_location() #10
  %4099 = load i32, ptr %4098, align 4, !tbaa !5
  %4100 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4087, ptr noundef @.str.5, i32 noundef %4088, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 186, ptr noundef %4091, ptr noundef %4094, ptr noundef %4097, i32 noundef %4099) #9
  br label %4101

4101:                                             ; preds = %4084, %4067
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #9
  br label %4102

4102:                                             ; preds = %4101
  br label %4103

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

4104:                                             ; No predecessors!
  br label %4105

4105:                                             ; preds = %4104
  br label %4106

4106:                                             ; preds = %4105, %4048
  br label %4107

4107:                                             ; preds = %4106
  br label %4108

4108:                                             ; preds = %4107
  br label %4109

4109:                                             ; preds = %4108
  %4110 = load i32, ptr @test_count, align 4, !tbaa !5
  %4111 = add nsw i32 %4110, 1
  store i32 %4111, ptr @test_count, align 4, !tbaa !5
  %4112 = load ptr, ptr %80, align 8, !tbaa !9
  %4113 = getelementptr inbounds %struct.s2n_connection, ptr %4112, i32 0, i32 1
  %4114 = load ptr, ptr %4113, align 8, !tbaa !23
  %4115 = getelementptr inbounds %struct.s2n_config, ptr %4114, i32 0, i32 27
  %4116 = load i32, ptr %4115, align 4, !tbaa !49
  %4117 = icmp eq i32 %4116, 0
  br i1 %4117, label %4171, label %4118

4118:                                             ; preds = %4109
  br label %4119

4119:                                             ; preds = %4118
  br label %4120

4120:                                             ; preds = %4119
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #9
  %4121 = call ptr @__errno_location() #10
  %4122 = load i32, ptr %4121, align 4, !tbaa !5
  store i32 %4122, ptr %82, align 4, !tbaa !5
  %4123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4124 = call i32 @s2n_print_stacktrace(ptr noundef %4123)
  %4125 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4126 = trunc i8 %4125 to i1
  br i1 %4126, label %4127, label %4149

4127:                                             ; preds = %4120
  %4128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4129 = call i32 @fileno(ptr noundef %4128) #9
  %4130 = call i32 @isatty(i32 noundef %4129) #9
  %4131 = icmp ne i32 %4130, 0
  br i1 %4131, label %4132, label %4149

4132:                                             ; preds = %4127
  %4133 = load i32, ptr %82, align 4, !tbaa !5
  %4134 = call ptr @__errno_location() #10
  store i32 %4133, ptr %4134, align 4, !tbaa !5
  %4135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4136 = load i32, ptr @test_count, align 4, !tbaa !5
  %4137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4138 = load i32, ptr %4137, align 4, !tbaa !5
  %4139 = call ptr @s2n_strerror(i32 noundef %4138, ptr noundef @.str.4)
  %4140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4141 = load i32, ptr %4140, align 4, !tbaa !5
  %4142 = call ptr @s2n_strerror_debug(i32 noundef %4141, ptr noundef @.str.4)
  %4143 = call ptr @__errno_location() #10
  %4144 = load i32, ptr %4143, align 4, !tbaa !5
  %4145 = call ptr @strerror(i32 noundef %4144) #9
  %4146 = call ptr @__errno_location() #10
  %4147 = load i32, ptr %4146, align 4, !tbaa !5
  %4148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4135, ptr noundef @.str.2, i32 noundef %4136, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 187, ptr noundef %4139, ptr noundef %4142, ptr noundef %4145, i32 noundef %4147) #9
  br label %4166

4149:                                             ; preds = %4127, %4120
  %4150 = load i32, ptr %82, align 4, !tbaa !5
  %4151 = call ptr @__errno_location() #10
  store i32 %4150, ptr %4151, align 4, !tbaa !5
  %4152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4153 = load i32, ptr @test_count, align 4, !tbaa !5
  %4154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4155 = load i32, ptr %4154, align 4, !tbaa !5
  %4156 = call ptr @s2n_strerror(i32 noundef %4155, ptr noundef @.str.4)
  %4157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4158 = load i32, ptr %4157, align 4, !tbaa !5
  %4159 = call ptr @s2n_strerror_debug(i32 noundef %4158, ptr noundef @.str.4)
  %4160 = call ptr @__errno_location() #10
  %4161 = load i32, ptr %4160, align 4, !tbaa !5
  %4162 = call ptr @strerror(i32 noundef %4161) #9
  %4163 = call ptr @__errno_location() #10
  %4164 = load i32, ptr %4163, align 4, !tbaa !5
  %4165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4152, ptr noundef @.str.5, i32 noundef %4153, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 187, ptr noundef %4156, ptr noundef %4159, ptr noundef %4162, i32 noundef %4164) #9
  br label %4166

4166:                                             ; preds = %4149, %4132
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #9
  br label %4167

4167:                                             ; preds = %4166
  br label %4168

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

4169:                                             ; No predecessors!
  br label %4170

4170:                                             ; preds = %4169
  br label %4171

4171:                                             ; preds = %4170, %4109
  br label %4172

4172:                                             ; preds = %4171
  br label %4173

4173:                                             ; preds = %4172
  %4174 = load ptr, ptr %80, align 8, !tbaa !9
  %4175 = getelementptr inbounds %struct.s2n_connection, ptr %4174, i32 0, i32 23
  store i8 33, ptr %4175, align 4, !tbaa !53
  br label %4176

4176:                                             ; preds = %4173
  %4177 = load i32, ptr @test_count, align 4, !tbaa !5
  %4178 = add nsw i32 %4177, 1
  store i32 %4178, ptr @test_count, align 4, !tbaa !5
  %4179 = load ptr, ptr %80, align 8, !tbaa !9
  %4180 = getelementptr inbounds %struct.s2n_connection, ptr %4179, i32 0, i32 40
  %4181 = getelementptr inbounds [2 x i8], ptr %78, i64 0, i64 0
  %4182 = call i32 @s2n_stuffer_write_bytes(ptr noundef %4180, ptr noundef %4181, i32 noundef 2)
  %4183 = icmp eq i32 %4182, -1
  br i1 %4183, label %4184, label %4237

4184:                                             ; preds = %4176
  br label %4185

4185:                                             ; preds = %4184
  br label %4186

4186:                                             ; preds = %4185
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #9
  %4187 = call ptr @__errno_location() #10
  %4188 = load i32, ptr %4187, align 4, !tbaa !5
  store i32 %4188, ptr %83, align 4, !tbaa !5
  %4189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4190 = call i32 @s2n_print_stacktrace(ptr noundef %4189)
  %4191 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4192 = trunc i8 %4191 to i1
  br i1 %4192, label %4193, label %4215

4193:                                             ; preds = %4186
  %4194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4195 = call i32 @fileno(ptr noundef %4194) #9
  %4196 = call i32 @isatty(i32 noundef %4195) #9
  %4197 = icmp ne i32 %4196, 0
  br i1 %4197, label %4198, label %4215

4198:                                             ; preds = %4193
  %4199 = load i32, ptr %83, align 4, !tbaa !5
  %4200 = call ptr @__errno_location() #10
  store i32 %4199, ptr %4200, align 4, !tbaa !5
  %4201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4202 = load i32, ptr @test_count, align 4, !tbaa !5
  %4203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4204 = load i32, ptr %4203, align 4, !tbaa !5
  %4205 = call ptr @s2n_strerror(i32 noundef %4204, ptr noundef @.str.4)
  %4206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4207 = load i32, ptr %4206, align 4, !tbaa !5
  %4208 = call ptr @s2n_strerror_debug(i32 noundef %4207, ptr noundef @.str.4)
  %4209 = call ptr @__errno_location() #10
  %4210 = load i32, ptr %4209, align 4, !tbaa !5
  %4211 = call ptr @strerror(i32 noundef %4210) #9
  %4212 = call ptr @__errno_location() #10
  %4213 = load i32, ptr %4212, align 4, !tbaa !5
  %4214 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4201, ptr noundef @.str.2, i32 noundef %4202, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 190, ptr noundef %4205, ptr noundef %4208, ptr noundef %4211, i32 noundef %4213) #9
  br label %4232

4215:                                             ; preds = %4193, %4186
  %4216 = load i32, ptr %83, align 4, !tbaa !5
  %4217 = call ptr @__errno_location() #10
  store i32 %4216, ptr %4217, align 4, !tbaa !5
  %4218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4219 = load i32, ptr @test_count, align 4, !tbaa !5
  %4220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4221 = load i32, ptr %4220, align 4, !tbaa !5
  %4222 = call ptr @s2n_strerror(i32 noundef %4221, ptr noundef @.str.4)
  %4223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4224 = load i32, ptr %4223, align 4, !tbaa !5
  %4225 = call ptr @s2n_strerror_debug(i32 noundef %4224, ptr noundef @.str.4)
  %4226 = call ptr @__errno_location() #10
  %4227 = load i32, ptr %4226, align 4, !tbaa !5
  %4228 = call ptr @strerror(i32 noundef %4227) #9
  %4229 = call ptr @__errno_location() #10
  %4230 = load i32, ptr %4229, align 4, !tbaa !5
  %4231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4218, ptr noundef @.str.5, i32 noundef %4219, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 190, ptr noundef %4222, ptr noundef %4225, ptr noundef %4228, i32 noundef %4230) #9
  br label %4232

4232:                                             ; preds = %4215, %4198
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #9
  br label %4233

4233:                                             ; preds = %4232
  br label %4234

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

4235:                                             ; No predecessors!
  br label %4236

4236:                                             ; preds = %4235
  br label %4237

4237:                                             ; preds = %4236, %4176
  br label %4238

4238:                                             ; preds = %4237
  br label %4239

4239:                                             ; preds = %4238
  br label %4240

4240:                                             ; preds = %4239
  br label %4241

4241:                                             ; preds = %4240
  br label %4242

4242:                                             ; preds = %4241
  %4243 = load i32, ptr @test_count, align 4, !tbaa !5
  %4244 = add nsw i32 %4243, 1
  store i32 %4244, ptr @test_count, align 4, !tbaa !5
  %4245 = load ptr, ptr %80, align 8, !tbaa !9
  %4246 = call i32 @s2n_process_alert_fragment(ptr noundef %4245)
  %4247 = icmp eq i32 %4246, -1
  br i1 %4247, label %4301, label %4248

4248:                                             ; preds = %4242
  br label %4249

4249:                                             ; preds = %4248
  br label %4250

4250:                                             ; preds = %4249
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #9
  %4251 = call ptr @__errno_location() #10
  %4252 = load i32, ptr %4251, align 4, !tbaa !5
  store i32 %4252, ptr %84, align 4, !tbaa !5
  %4253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4254 = call i32 @s2n_print_stacktrace(ptr noundef %4253)
  %4255 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4256 = trunc i8 %4255 to i1
  br i1 %4256, label %4257, label %4279

4257:                                             ; preds = %4250
  %4258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4259 = call i32 @fileno(ptr noundef %4258) #9
  %4260 = call i32 @isatty(i32 noundef %4259) #9
  %4261 = icmp ne i32 %4260, 0
  br i1 %4261, label %4262, label %4279

4262:                                             ; preds = %4257
  %4263 = load i32, ptr %84, align 4, !tbaa !5
  %4264 = call ptr @__errno_location() #10
  store i32 %4263, ptr %4264, align 4, !tbaa !5
  %4265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4266 = load i32, ptr @test_count, align 4, !tbaa !5
  %4267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4268 = load i32, ptr %4267, align 4, !tbaa !5
  %4269 = call ptr @s2n_strerror(i32 noundef %4268, ptr noundef @.str.4)
  %4270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4271 = load i32, ptr %4270, align 4, !tbaa !5
  %4272 = call ptr @s2n_strerror_debug(i32 noundef %4271, ptr noundef @.str.4)
  %4273 = call ptr @__errno_location() #10
  %4274 = load i32, ptr %4273, align 4, !tbaa !5
  %4275 = call ptr @strerror(i32 noundef %4274) #9
  %4276 = call ptr @__errno_location() #10
  %4277 = load i32, ptr %4276, align 4, !tbaa !5
  %4278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4265, ptr noundef @.str.2, i32 noundef %4266, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 192, ptr noundef %4269, ptr noundef %4272, ptr noundef %4275, i32 noundef %4277) #9
  br label %4296

4279:                                             ; preds = %4257, %4250
  %4280 = load i32, ptr %84, align 4, !tbaa !5
  %4281 = call ptr @__errno_location() #10
  store i32 %4280, ptr %4281, align 4, !tbaa !5
  %4282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4283 = load i32, ptr @test_count, align 4, !tbaa !5
  %4284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4285 = load i32, ptr %4284, align 4, !tbaa !5
  %4286 = call ptr @s2n_strerror(i32 noundef %4285, ptr noundef @.str.4)
  %4287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4288 = load i32, ptr %4287, align 4, !tbaa !5
  %4289 = call ptr @s2n_strerror_debug(i32 noundef %4288, ptr noundef @.str.4)
  %4290 = call ptr @__errno_location() #10
  %4291 = load i32, ptr %4290, align 4, !tbaa !5
  %4292 = call ptr @strerror(i32 noundef %4291) #9
  %4293 = call ptr @__errno_location() #10
  %4294 = load i32, ptr %4293, align 4, !tbaa !5
  %4295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4282, ptr noundef @.str.5, i32 noundef %4283, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 192, ptr noundef %4286, ptr noundef %4289, ptr noundef %4292, i32 noundef %4294) #9
  br label %4296

4296:                                             ; preds = %4279, %4262
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #9
  br label %4297

4297:                                             ; preds = %4296
  br label %4298

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

4299:                                             ; No predecessors!
  br label %4300

4300:                                             ; preds = %4299
  br label %4301

4301:                                             ; preds = %4300, %4242
  br label %4302

4302:                                             ; preds = %4301
  br label %4303

4303:                                             ; preds = %4302
  br label %4304

4304:                                             ; preds = %4303
  %4305 = load i32, ptr @test_count, align 4, !tbaa !5
  %4306 = add nsw i32 %4305, 1
  store i32 %4306, ptr @test_count, align 4, !tbaa !5
  %4307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4308 = load i32, ptr %4307, align 4, !tbaa !5
  %4309 = icmp eq i32 %4308, 268435456
  br i1 %4309, label %4363, label %4310

4310:                                             ; preds = %4304
  br label %4311

4311:                                             ; preds = %4310
  br label %4312

4312:                                             ; preds = %4311
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #9
  %4313 = call ptr @__errno_location() #10
  %4314 = load i32, ptr %4313, align 4, !tbaa !5
  store i32 %4314, ptr %85, align 4, !tbaa !5
  %4315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4316 = call i32 @s2n_print_stacktrace(ptr noundef %4315)
  %4317 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4318 = trunc i8 %4317 to i1
  br i1 %4318, label %4319, label %4341

4319:                                             ; preds = %4312
  %4320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4321 = call i32 @fileno(ptr noundef %4320) #9
  %4322 = call i32 @isatty(i32 noundef %4321) #9
  %4323 = icmp ne i32 %4322, 0
  br i1 %4323, label %4324, label %4341

4324:                                             ; preds = %4319
  %4325 = load i32, ptr %85, align 4, !tbaa !5
  %4326 = call ptr @__errno_location() #10
  store i32 %4325, ptr %4326, align 4, !tbaa !5
  %4327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4328 = load i32, ptr @test_count, align 4, !tbaa !5
  %4329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4330 = load i32, ptr %4329, align 4, !tbaa !5
  %4331 = call ptr @s2n_strerror(i32 noundef %4330, ptr noundef @.str.4)
  %4332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4333 = load i32, ptr %4332, align 4, !tbaa !5
  %4334 = call ptr @s2n_strerror_debug(i32 noundef %4333, ptr noundef @.str.4)
  %4335 = call ptr @__errno_location() #10
  %4336 = load i32, ptr %4335, align 4, !tbaa !5
  %4337 = call ptr @strerror(i32 noundef %4336) #9
  %4338 = call ptr @__errno_location() #10
  %4339 = load i32, ptr %4338, align 4, !tbaa !5
  %4340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4327, ptr noundef @.str.2, i32 noundef %4328, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 192, ptr noundef %4331, ptr noundef %4334, ptr noundef %4337, i32 noundef %4339) #9
  br label %4358

4341:                                             ; preds = %4319, %4312
  %4342 = load i32, ptr %85, align 4, !tbaa !5
  %4343 = call ptr @__errno_location() #10
  store i32 %4342, ptr %4343, align 4, !tbaa !5
  %4344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4345 = load i32, ptr @test_count, align 4, !tbaa !5
  %4346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4347 = load i32, ptr %4346, align 4, !tbaa !5
  %4348 = call ptr @s2n_strerror(i32 noundef %4347, ptr noundef @.str.4)
  %4349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4350 = load i32, ptr %4349, align 4, !tbaa !5
  %4351 = call ptr @s2n_strerror_debug(i32 noundef %4350, ptr noundef @.str.4)
  %4352 = call ptr @__errno_location() #10
  %4353 = load i32, ptr %4352, align 4, !tbaa !5
  %4354 = call ptr @strerror(i32 noundef %4353) #9
  %4355 = call ptr @__errno_location() #10
  %4356 = load i32, ptr %4355, align 4, !tbaa !5
  %4357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4344, ptr noundef @.str.5, i32 noundef %4345, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 192, ptr noundef %4348, ptr noundef %4351, ptr noundef %4354, i32 noundef %4356) #9
  br label %4358

4358:                                             ; preds = %4341, %4324
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #9
  br label %4359

4359:                                             ; preds = %4358
  br label %4360

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

4361:                                             ; No predecessors!
  br label %4362

4362:                                             ; preds = %4361
  br label %4363

4363:                                             ; preds = %4362, %4304
  br label %4364

4364:                                             ; preds = %4363
  br label %4365

4365:                                             ; preds = %4364
  br label %4366

4366:                                             ; preds = %4365
  %4367 = load i32, ptr @test_count, align 4, !tbaa !5
  %4368 = add nsw i32 %4367, 1
  store i32 %4368, ptr @test_count, align 4, !tbaa !5
  %4369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4370 = load i32, ptr %4369, align 4, !tbaa !5
  %4371 = call ptr @s2n_strerror_debug(i32 noundef %4370, ptr noundef @.str.4)
  %4372 = icmp eq ptr %4371, null
  br i1 %4372, label %4373, label %4426

4373:                                             ; preds = %4366
  br label %4374

4374:                                             ; preds = %4373
  br label %4375

4375:                                             ; preds = %4374
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #9
  %4376 = call ptr @__errno_location() #10
  %4377 = load i32, ptr %4376, align 4, !tbaa !5
  store i32 %4377, ptr %86, align 4, !tbaa !5
  %4378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4379 = call i32 @s2n_print_stacktrace(ptr noundef %4378)
  %4380 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4381 = trunc i8 %4380 to i1
  br i1 %4381, label %4382, label %4404

4382:                                             ; preds = %4375
  %4383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4384 = call i32 @fileno(ptr noundef %4383) #9
  %4385 = call i32 @isatty(i32 noundef %4384) #9
  %4386 = icmp ne i32 %4385, 0
  br i1 %4386, label %4387, label %4404

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

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

4421:                                             ; preds = %4404, %4387
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #9
  br label %4422

4422:                                             ; preds = %4421
  br label %4423

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

4424:                                             ; No predecessors!
  br label %4425

4425:                                             ; preds = %4424
  br label %4426

4426:                                             ; preds = %4425, %4366
  br label %4427

4427:                                             ; preds = %4426
  br label %4428

4428:                                             ; preds = %4427
  br label %4429

4429:                                             ; preds = %4428
  br label %4430

4430:                                             ; preds = %4429
  br label %4431

4431:                                             ; preds = %4430
  %4432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4432, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4433 = call ptr @__errno_location() #10
  store i32 0, ptr %4433, align 4, !tbaa !5
  br label %4434

4434:                                             ; preds = %4431
  br label %4435

4435:                                             ; preds = %4434
  br label %4436

4436:                                             ; preds = %4435
  br label %4437

4437:                                             ; preds = %4436
  br label %4438

4438:                                             ; preds = %4437
  %4439 = load i32, ptr @test_count, align 4, !tbaa !5
  %4440 = add nsw i32 %4439, 1
  store i32 %4440, ptr @test_count, align 4, !tbaa !5
  %4441 = load ptr, ptr %80, align 8, !tbaa !9
  %4442 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %4441, i32 noundef 3)
  br i1 %4442, label %4496, label %4443

4443:                                             ; preds = %4438
  br label %4444

4444:                                             ; preds = %4443
  br label %4445

4445:                                             ; preds = %4444
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #9
  %4446 = call ptr @__errno_location() #10
  %4447 = load i32, ptr %4446, align 4, !tbaa !5
  store i32 %4447, ptr %87, align 4, !tbaa !5
  %4448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4449 = call i32 @s2n_print_stacktrace(ptr noundef %4448)
  %4450 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4451 = trunc i8 %4450 to i1
  br i1 %4451, label %4452, label %4474

4452:                                             ; preds = %4445
  %4453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4454 = call i32 @fileno(ptr noundef %4453) #9
  %4455 = call i32 @isatty(i32 noundef %4454) #9
  %4456 = icmp ne i32 %4455, 0
  br i1 %4456, label %4457, label %4474

4457:                                             ; preds = %4452
  %4458 = load i32, ptr %87, align 4, !tbaa !5
  %4459 = call ptr @__errno_location() #10
  store i32 %4458, ptr %4459, align 4, !tbaa !5
  %4460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4461 = load i32, ptr @test_count, align 4, !tbaa !5
  %4462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4463 = load i32, ptr %4462, align 4, !tbaa !5
  %4464 = call ptr @s2n_strerror(i32 noundef %4463, ptr noundef @.str.4)
  %4465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4466 = load i32, ptr %4465, align 4, !tbaa !5
  %4467 = call ptr @s2n_strerror_debug(i32 noundef %4466, ptr noundef @.str.4)
  %4468 = call ptr @__errno_location() #10
  %4469 = load i32, ptr %4468, align 4, !tbaa !5
  %4470 = call ptr @strerror(i32 noundef %4469) #9
  %4471 = call ptr @__errno_location() #10
  %4472 = load i32, ptr %4471, align 4, !tbaa !5
  %4473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4460, ptr noundef @.str.2, i32 noundef %4461, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 193, ptr noundef %4464, ptr noundef %4467, ptr noundef %4470, i32 noundef %4472) #9
  br label %4491

4474:                                             ; preds = %4452, %4445
  %4475 = load i32, ptr %87, align 4, !tbaa !5
  %4476 = call ptr @__errno_location() #10
  store i32 %4475, ptr %4476, align 4, !tbaa !5
  %4477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4478 = load i32, ptr @test_count, align 4, !tbaa !5
  %4479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4480 = load i32, ptr %4479, align 4, !tbaa !5
  %4481 = call ptr @s2n_strerror(i32 noundef %4480, ptr noundef @.str.4)
  %4482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4483 = load i32, ptr %4482, align 4, !tbaa !5
  %4484 = call ptr @s2n_strerror_debug(i32 noundef %4483, ptr noundef @.str.4)
  %4485 = call ptr @__errno_location() #10
  %4486 = load i32, ptr %4485, align 4, !tbaa !5
  %4487 = call ptr @strerror(i32 noundef %4486) #9
  %4488 = call ptr @__errno_location() #10
  %4489 = load i32, ptr %4488, align 4, !tbaa !5
  %4490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4477, ptr noundef @.str.5, i32 noundef %4478, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 193, ptr noundef %4481, ptr noundef %4484, ptr noundef %4487, i32 noundef %4489) #9
  br label %4491

4491:                                             ; preds = %4474, %4457
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #9
  br label %4492

4492:                                             ; preds = %4491
  br label %4493

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

4494:                                             ; No predecessors!
  br label %4495

4495:                                             ; preds = %4494
  br label %4496

4496:                                             ; preds = %4495, %4438
  br label %4497

4497:                                             ; preds = %4496
  br label %4498

4498:                                             ; preds = %4497
  br label %4499

4499:                                             ; preds = %4498
  %4500 = load i32, ptr @test_count, align 4, !tbaa !5
  %4501 = add nsw i32 %4500, 1
  store i32 %4501, ptr @test_count, align 4, !tbaa !5
  %4502 = load ptr, ptr %80, align 8, !tbaa !9
  %4503 = call i32 @s2n_connection_free(ptr noundef %4502)
  %4504 = icmp eq i32 %4503, -1
  br i1 %4504, label %4505, label %4558

4505:                                             ; preds = %4499
  br label %4506

4506:                                             ; preds = %4505
  br label %4507

4507:                                             ; preds = %4506
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #9
  %4508 = call ptr @__errno_location() #10
  %4509 = load i32, ptr %4508, align 4, !tbaa !5
  store i32 %4509, ptr %88, align 4, !tbaa !5
  %4510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4511 = call i32 @s2n_print_stacktrace(ptr noundef %4510)
  %4512 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4513 = trunc i8 %4512 to i1
  br i1 %4513, label %4514, label %4536

4514:                                             ; preds = %4507
  %4515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4516 = call i32 @fileno(ptr noundef %4515) #9
  %4517 = call i32 @isatty(i32 noundef %4516) #9
  %4518 = icmp ne i32 %4517, 0
  br i1 %4518, label %4519, label %4536

4519:                                             ; preds = %4514
  %4520 = load i32, ptr %88, align 4, !tbaa !5
  %4521 = call ptr @__errno_location() #10
  store i32 %4520, ptr %4521, align 4, !tbaa !5
  %4522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4523 = load i32, ptr @test_count, align 4, !tbaa !5
  %4524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4525 = load i32, ptr %4524, align 4, !tbaa !5
  %4526 = call ptr @s2n_strerror(i32 noundef %4525, ptr noundef @.str.4)
  %4527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4528 = load i32, ptr %4527, align 4, !tbaa !5
  %4529 = call ptr @s2n_strerror_debug(i32 noundef %4528, ptr noundef @.str.4)
  %4530 = call ptr @__errno_location() #10
  %4531 = load i32, ptr %4530, align 4, !tbaa !5
  %4532 = call ptr @strerror(i32 noundef %4531) #9
  %4533 = call ptr @__errno_location() #10
  %4534 = load i32, ptr %4533, align 4, !tbaa !5
  %4535 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4522, ptr noundef @.str.2, i32 noundef %4523, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 195, ptr noundef %4526, ptr noundef %4529, ptr noundef %4532, i32 noundef %4534) #9
  br label %4553

4536:                                             ; preds = %4514, %4507
  %4537 = load i32, ptr %88, align 4, !tbaa !5
  %4538 = call ptr @__errno_location() #10
  store i32 %4537, ptr %4538, align 4, !tbaa !5
  %4539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4540 = load i32, ptr @test_count, align 4, !tbaa !5
  %4541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4542 = load i32, ptr %4541, align 4, !tbaa !5
  %4543 = call ptr @s2n_strerror(i32 noundef %4542, ptr noundef @.str.4)
  %4544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4545 = load i32, ptr %4544, align 4, !tbaa !5
  %4546 = call ptr @s2n_strerror_debug(i32 noundef %4545, ptr noundef @.str.4)
  %4547 = call ptr @__errno_location() #10
  %4548 = load i32, ptr %4547, align 4, !tbaa !5
  %4549 = call ptr @strerror(i32 noundef %4548) #9
  %4550 = call ptr @__errno_location() #10
  %4551 = load i32, ptr %4550, align 4, !tbaa !5
  %4552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4539, ptr noundef @.str.5, i32 noundef %4540, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 195, ptr noundef %4543, ptr noundef %4546, ptr noundef %4549, i32 noundef %4551) #9
  br label %4553

4553:                                             ; preds = %4536, %4519
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #9
  br label %4554

4554:                                             ; preds = %4553
  br label %4555

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

4556:                                             ; No predecessors!
  br label %4557

4557:                                             ; preds = %4556
  br label %4558

4558:                                             ; preds = %4557, %4499
  br label %4559

4559:                                             ; preds = %4558
  br label %4560

4560:                                             ; preds = %4559
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %89) #9
  store ptr null, ptr %89, align 8, !tbaa !9
  br label %4561

4561:                                             ; preds = %4560
  %4562 = load i32, ptr @test_count, align 4, !tbaa !5
  %4563 = add nsw i32 %4562, 1
  store i32 %4563, ptr @test_count, align 4, !tbaa !5
  %4564 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %4564, ptr %89, align 8, !tbaa !9
  %4565 = icmp eq ptr %4564, null
  br i1 %4565, label %4566, label %4619

4566:                                             ; preds = %4561
  br label %4567

4567:                                             ; preds = %4566
  br label %4568

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

4575:                                             ; preds = %4568
  %4576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4577 = call i32 @fileno(ptr noundef %4576) #9
  %4578 = call i32 @isatty(i32 noundef %4577) #9
  %4579 = icmp ne i32 %4578, 0
  br i1 %4579, label %4580, label %4597

4580:                                             ; preds = %4575
  %4581 = load i32, ptr %90, align 4, !tbaa !5
  %4582 = call ptr @__errno_location() #10
  store i32 %4581, ptr %4582, align 4, !tbaa !5
  %4583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4584 = load i32, ptr @test_count, align 4, !tbaa !5
  %4585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4586 = load i32, ptr %4585, align 4, !tbaa !5
  %4587 = call ptr @s2n_strerror(i32 noundef %4586, ptr noundef @.str.4)
  %4588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4589 = load i32, ptr %4588, align 4, !tbaa !5
  %4590 = call ptr @s2n_strerror_debug(i32 noundef %4589, ptr noundef @.str.4)
  %4591 = call ptr @__errno_location() #10
  %4592 = load i32, ptr %4591, align 4, !tbaa !5
  %4593 = call ptr @strerror(i32 noundef %4592) #9
  %4594 = call ptr @__errno_location() #10
  %4595 = load i32, ptr %4594, align 4, !tbaa !5
  %4596 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4583, ptr noundef @.str.2, i32 noundef %4584, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 201, ptr noundef %4587, ptr noundef %4590, ptr noundef %4593, i32 noundef %4595) #9
  br label %4614

4597:                                             ; preds = %4575, %4568
  %4598 = load i32, ptr %90, align 4, !tbaa !5
  %4599 = call ptr @__errno_location() #10
  store i32 %4598, ptr %4599, align 4, !tbaa !5
  %4600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4601 = load i32, ptr @test_count, align 4, !tbaa !5
  %4602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4603 = load i32, ptr %4602, align 4, !tbaa !5
  %4604 = call ptr @s2n_strerror(i32 noundef %4603, ptr noundef @.str.4)
  %4605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4606 = load i32, ptr %4605, align 4, !tbaa !5
  %4607 = call ptr @s2n_strerror_debug(i32 noundef %4606, ptr noundef @.str.4)
  %4608 = call ptr @__errno_location() #10
  %4609 = load i32, ptr %4608, align 4, !tbaa !5
  %4610 = call ptr @strerror(i32 noundef %4609) #9
  %4611 = call ptr @__errno_location() #10
  %4612 = load i32, ptr %4611, align 4, !tbaa !5
  %4613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4600, ptr noundef @.str.5, i32 noundef %4601, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 201, ptr noundef %4604, ptr noundef %4607, ptr noundef %4610, i32 noundef %4612) #9
  br label %4614

4614:                                             ; preds = %4597, %4580
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #9
  br label %4615

4615:                                             ; preds = %4614
  br label %4616

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

4617:                                             ; No predecessors!
  br label %4618

4618:                                             ; preds = %4617
  br label %4619

4619:                                             ; preds = %4618, %4561
  br label %4620

4620:                                             ; preds = %4619
  br label %4621

4621:                                             ; preds = %4620
  br label %4622

4622:                                             ; preds = %4621
  %4623 = load i32, ptr @test_count, align 4, !tbaa !5
  %4624 = add nsw i32 %4623, 1
  store i32 %4624, ptr @test_count, align 4, !tbaa !5
  %4625 = load ptr, ptr %89, align 8, !tbaa !9
  %4626 = getelementptr inbounds %struct.s2n_connection, ptr %4625, i32 0, i32 1
  %4627 = load ptr, ptr %4626, align 8, !tbaa !23
  %4628 = getelementptr inbounds %struct.s2n_config, ptr %4627, i32 0, i32 27
  %4629 = load i32, ptr %4628, align 4, !tbaa !49
  %4630 = icmp eq i32 %4629, 0
  br i1 %4630, label %4684, label %4631

4631:                                             ; preds = %4622
  br label %4632

4632:                                             ; preds = %4631
  br label %4633

4633:                                             ; preds = %4632
  call void @llvm.lifetime.start.p0(i64 4, ptr %91) #9
  %4634 = call ptr @__errno_location() #10
  %4635 = load i32, ptr %4634, align 4, !tbaa !5
  store i32 %4635, ptr %91, align 4, !tbaa !5
  %4636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4637 = call i32 @s2n_print_stacktrace(ptr noundef %4636)
  %4638 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4639 = trunc i8 %4638 to i1
  br i1 %4639, label %4640, label %4662

4640:                                             ; preds = %4633
  %4641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4642 = call i32 @fileno(ptr noundef %4641) #9
  %4643 = call i32 @isatty(i32 noundef %4642) #9
  %4644 = icmp ne i32 %4643, 0
  br i1 %4644, label %4645, label %4662

4645:                                             ; preds = %4640
  %4646 = load i32, ptr %91, align 4, !tbaa !5
  %4647 = call ptr @__errno_location() #10
  store i32 %4646, ptr %4647, align 4, !tbaa !5
  %4648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4649 = load i32, ptr @test_count, align 4, !tbaa !5
  %4650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4651 = load i32, ptr %4650, align 4, !tbaa !5
  %4652 = call ptr @s2n_strerror(i32 noundef %4651, ptr noundef @.str.4)
  %4653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4654 = load i32, ptr %4653, align 4, !tbaa !5
  %4655 = call ptr @s2n_strerror_debug(i32 noundef %4654, ptr noundef @.str.4)
  %4656 = call ptr @__errno_location() #10
  %4657 = load i32, ptr %4656, align 4, !tbaa !5
  %4658 = call ptr @strerror(i32 noundef %4657) #9
  %4659 = call ptr @__errno_location() #10
  %4660 = load i32, ptr %4659, align 4, !tbaa !5
  %4661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4648, ptr noundef @.str.2, i32 noundef %4649, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 202, ptr noundef %4652, ptr noundef %4655, ptr noundef %4658, i32 noundef %4660) #9
  br label %4679

4662:                                             ; preds = %4640, %4633
  %4663 = load i32, ptr %91, align 4, !tbaa !5
  %4664 = call ptr @__errno_location() #10
  store i32 %4663, ptr %4664, align 4, !tbaa !5
  %4665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4666 = load i32, ptr @test_count, align 4, !tbaa !5
  %4667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4668 = load i32, ptr %4667, align 4, !tbaa !5
  %4669 = call ptr @s2n_strerror(i32 noundef %4668, ptr noundef @.str.4)
  %4670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4671 = load i32, ptr %4670, align 4, !tbaa !5
  %4672 = call ptr @s2n_strerror_debug(i32 noundef %4671, ptr noundef @.str.4)
  %4673 = call ptr @__errno_location() #10
  %4674 = load i32, ptr %4673, align 4, !tbaa !5
  %4675 = call ptr @strerror(i32 noundef %4674) #9
  %4676 = call ptr @__errno_location() #10
  %4677 = load i32, ptr %4676, align 4, !tbaa !5
  %4678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4665, ptr noundef @.str.5, i32 noundef %4666, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 202, ptr noundef %4669, ptr noundef %4672, ptr noundef %4675, i32 noundef %4677) #9
  br label %4679

4679:                                             ; preds = %4662, %4645
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #9
  br label %4680

4680:                                             ; preds = %4679
  br label %4681

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

4682:                                             ; No predecessors!
  br label %4683

4683:                                             ; preds = %4682
  br label %4684

4684:                                             ; preds = %4683, %4622
  br label %4685

4685:                                             ; preds = %4684
  br label %4686

4686:                                             ; preds = %4685
  %4687 = load ptr, ptr %89, align 8, !tbaa !9
  %4688 = getelementptr inbounds %struct.s2n_connection, ptr %4687, i32 0, i32 23
  store i8 34, ptr %4688, align 4, !tbaa !53
  br label %4689

4689:                                             ; preds = %4686
  %4690 = load i32, ptr @test_count, align 4, !tbaa !5
  %4691 = add nsw i32 %4690, 1
  store i32 %4691, ptr @test_count, align 4, !tbaa !5
  %4692 = load ptr, ptr %89, align 8, !tbaa !9
  %4693 = getelementptr inbounds %struct.s2n_connection, ptr %4692, i32 0, i32 40
  %4694 = getelementptr inbounds [2 x i8], ptr %78, i64 0, i64 0
  %4695 = call i32 @s2n_stuffer_write_bytes(ptr noundef %4693, ptr noundef %4694, i32 noundef 2)
  %4696 = icmp eq i32 %4695, -1
  br i1 %4696, label %4697, label %4750

4697:                                             ; preds = %4689
  br label %4698

4698:                                             ; preds = %4697
  br label %4699

4699:                                             ; preds = %4698
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #9
  %4700 = call ptr @__errno_location() #10
  %4701 = load i32, ptr %4700, align 4, !tbaa !5
  store i32 %4701, ptr %92, align 4, !tbaa !5
  %4702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4703 = call i32 @s2n_print_stacktrace(ptr noundef %4702)
  %4704 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4705 = trunc i8 %4704 to i1
  br i1 %4705, label %4706, label %4728

4706:                                             ; preds = %4699
  %4707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4708 = call i32 @fileno(ptr noundef %4707) #9
  %4709 = call i32 @isatty(i32 noundef %4708) #9
  %4710 = icmp ne i32 %4709, 0
  br i1 %4710, label %4711, label %4728

4711:                                             ; preds = %4706
  %4712 = load i32, ptr %92, align 4, !tbaa !5
  %4713 = call ptr @__errno_location() #10
  store i32 %4712, ptr %4713, align 4, !tbaa !5
  %4714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4715 = load i32, ptr @test_count, align 4, !tbaa !5
  %4716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4717 = load i32, ptr %4716, align 4, !tbaa !5
  %4718 = call ptr @s2n_strerror(i32 noundef %4717, ptr noundef @.str.4)
  %4719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4720 = load i32, ptr %4719, align 4, !tbaa !5
  %4721 = call ptr @s2n_strerror_debug(i32 noundef %4720, ptr noundef @.str.4)
  %4722 = call ptr @__errno_location() #10
  %4723 = load i32, ptr %4722, align 4, !tbaa !5
  %4724 = call ptr @strerror(i32 noundef %4723) #9
  %4725 = call ptr @__errno_location() #10
  %4726 = load i32, ptr %4725, align 4, !tbaa !5
  %4727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4714, ptr noundef @.str.2, i32 noundef %4715, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 205, ptr noundef %4718, ptr noundef %4721, ptr noundef %4724, i32 noundef %4726) #9
  br label %4745

4728:                                             ; preds = %4706, %4699
  %4729 = load i32, ptr %92, align 4, !tbaa !5
  %4730 = call ptr @__errno_location() #10
  store i32 %4729, ptr %4730, align 4, !tbaa !5
  %4731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4732 = load i32, ptr @test_count, align 4, !tbaa !5
  %4733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4734 = load i32, ptr %4733, align 4, !tbaa !5
  %4735 = call ptr @s2n_strerror(i32 noundef %4734, ptr noundef @.str.4)
  %4736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4737 = load i32, ptr %4736, align 4, !tbaa !5
  %4738 = call ptr @s2n_strerror_debug(i32 noundef %4737, ptr noundef @.str.4)
  %4739 = call ptr @__errno_location() #10
  %4740 = load i32, ptr %4739, align 4, !tbaa !5
  %4741 = call ptr @strerror(i32 noundef %4740) #9
  %4742 = call ptr @__errno_location() #10
  %4743 = load i32, ptr %4742, align 4, !tbaa !5
  %4744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4731, ptr noundef @.str.5, i32 noundef %4732, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 205, ptr noundef %4735, ptr noundef %4738, ptr noundef %4741, i32 noundef %4743) #9
  br label %4745

4745:                                             ; preds = %4728, %4711
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #9
  br label %4746

4746:                                             ; preds = %4745
  br label %4747

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

4748:                                             ; No predecessors!
  br label %4749

4749:                                             ; preds = %4748
  br label %4750

4750:                                             ; preds = %4749, %4689
  br label %4751

4751:                                             ; preds = %4750
  br label %4752

4752:                                             ; preds = %4751
  br label %4753

4753:                                             ; preds = %4752
  br label %4754

4754:                                             ; preds = %4753
  br label %4755

4755:                                             ; preds = %4754
  %4756 = load i32, ptr @test_count, align 4, !tbaa !5
  %4757 = add nsw i32 %4756, 1
  store i32 %4757, ptr @test_count, align 4, !tbaa !5
  %4758 = load ptr, ptr %89, align 8, !tbaa !9
  %4759 = call i32 @s2n_process_alert_fragment(ptr noundef %4758)
  %4760 = icmp eq i32 %4759, -1
  br i1 %4760, label %4814, label %4761

4761:                                             ; preds = %4755
  br label %4762

4762:                                             ; preds = %4761
  br label %4763

4763:                                             ; preds = %4762
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #9
  %4764 = call ptr @__errno_location() #10
  %4765 = load i32, ptr %4764, align 4, !tbaa !5
  store i32 %4765, ptr %93, align 4, !tbaa !5
  %4766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4767 = call i32 @s2n_print_stacktrace(ptr noundef %4766)
  %4768 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4769 = trunc i8 %4768 to i1
  br i1 %4769, label %4770, label %4792

4770:                                             ; preds = %4763
  %4771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4772 = call i32 @fileno(ptr noundef %4771) #9
  %4773 = call i32 @isatty(i32 noundef %4772) #9
  %4774 = icmp ne i32 %4773, 0
  br i1 %4774, label %4775, label %4792

4775:                                             ; preds = %4770
  %4776 = load i32, ptr %93, align 4, !tbaa !5
  %4777 = call ptr @__errno_location() #10
  store i32 %4776, ptr %4777, align 4, !tbaa !5
  %4778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4779 = load i32, ptr @test_count, align 4, !tbaa !5
  %4780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4781 = load i32, ptr %4780, align 4, !tbaa !5
  %4782 = call ptr @s2n_strerror(i32 noundef %4781, ptr noundef @.str.4)
  %4783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4784 = load i32, ptr %4783, align 4, !tbaa !5
  %4785 = call ptr @s2n_strerror_debug(i32 noundef %4784, ptr noundef @.str.4)
  %4786 = call ptr @__errno_location() #10
  %4787 = load i32, ptr %4786, align 4, !tbaa !5
  %4788 = call ptr @strerror(i32 noundef %4787) #9
  %4789 = call ptr @__errno_location() #10
  %4790 = load i32, ptr %4789, align 4, !tbaa !5
  %4791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4778, ptr noundef @.str.2, i32 noundef %4779, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 207, ptr noundef %4782, ptr noundef %4785, ptr noundef %4788, i32 noundef %4790) #9
  br label %4809

4792:                                             ; preds = %4770, %4763
  %4793 = load i32, ptr %93, align 4, !tbaa !5
  %4794 = call ptr @__errno_location() #10
  store i32 %4793, ptr %4794, align 4, !tbaa !5
  %4795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4796 = load i32, ptr @test_count, align 4, !tbaa !5
  %4797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4798 = load i32, ptr %4797, align 4, !tbaa !5
  %4799 = call ptr @s2n_strerror(i32 noundef %4798, ptr noundef @.str.4)
  %4800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4801 = load i32, ptr %4800, align 4, !tbaa !5
  %4802 = call ptr @s2n_strerror_debug(i32 noundef %4801, ptr noundef @.str.4)
  %4803 = call ptr @__errno_location() #10
  %4804 = load i32, ptr %4803, align 4, !tbaa !5
  %4805 = call ptr @strerror(i32 noundef %4804) #9
  %4806 = call ptr @__errno_location() #10
  %4807 = load i32, ptr %4806, align 4, !tbaa !5
  %4808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4795, ptr noundef @.str.5, i32 noundef %4796, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 207, ptr noundef %4799, ptr noundef %4802, ptr noundef %4805, i32 noundef %4807) #9
  br label %4809

4809:                                             ; preds = %4792, %4775
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #9
  br label %4810

4810:                                             ; preds = %4809
  br label %4811

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

4812:                                             ; No predecessors!
  br label %4813

4813:                                             ; preds = %4812
  br label %4814

4814:                                             ; preds = %4813, %4755
  br label %4815

4815:                                             ; preds = %4814
  br label %4816

4816:                                             ; preds = %4815
  br label %4817

4817:                                             ; preds = %4816
  %4818 = load i32, ptr @test_count, align 4, !tbaa !5
  %4819 = add nsw i32 %4818, 1
  store i32 %4819, ptr @test_count, align 4, !tbaa !5
  %4820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4821 = load i32, ptr %4820, align 4, !tbaa !5
  %4822 = icmp eq i32 %4821, 268435456
  br i1 %4822, label %4876, label %4823

4823:                                             ; preds = %4817
  br label %4824

4824:                                             ; preds = %4823
  br label %4825

4825:                                             ; preds = %4824
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #9
  %4826 = call ptr @__errno_location() #10
  %4827 = load i32, ptr %4826, align 4, !tbaa !5
  store i32 %4827, ptr %94, align 4, !tbaa !5
  %4828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4829 = call i32 @s2n_print_stacktrace(ptr noundef %4828)
  %4830 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4831 = trunc i8 %4830 to i1
  br i1 %4831, label %4832, label %4854

4832:                                             ; preds = %4825
  %4833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4834 = call i32 @fileno(ptr noundef %4833) #9
  %4835 = call i32 @isatty(i32 noundef %4834) #9
  %4836 = icmp ne i32 %4835, 0
  br i1 %4836, label %4837, label %4854

4837:                                             ; preds = %4832
  %4838 = load i32, ptr %94, align 4, !tbaa !5
  %4839 = call ptr @__errno_location() #10
  store i32 %4838, ptr %4839, align 4, !tbaa !5
  %4840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4841 = load i32, ptr @test_count, align 4, !tbaa !5
  %4842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4843 = load i32, ptr %4842, align 4, !tbaa !5
  %4844 = call ptr @s2n_strerror(i32 noundef %4843, ptr noundef @.str.4)
  %4845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4846 = load i32, ptr %4845, align 4, !tbaa !5
  %4847 = call ptr @s2n_strerror_debug(i32 noundef %4846, ptr noundef @.str.4)
  %4848 = call ptr @__errno_location() #10
  %4849 = load i32, ptr %4848, align 4, !tbaa !5
  %4850 = call ptr @strerror(i32 noundef %4849) #9
  %4851 = call ptr @__errno_location() #10
  %4852 = load i32, ptr %4851, align 4, !tbaa !5
  %4853 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4840, ptr noundef @.str.2, i32 noundef %4841, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 207, ptr noundef %4844, ptr noundef %4847, ptr noundef %4850, i32 noundef %4852) #9
  br label %4871

4854:                                             ; preds = %4832, %4825
  %4855 = load i32, ptr %94, align 4, !tbaa !5
  %4856 = call ptr @__errno_location() #10
  store i32 %4855, ptr %4856, align 4, !tbaa !5
  %4857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4858 = load i32, ptr @test_count, align 4, !tbaa !5
  %4859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4860 = load i32, ptr %4859, align 4, !tbaa !5
  %4861 = call ptr @s2n_strerror(i32 noundef %4860, ptr noundef @.str.4)
  %4862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4863 = load i32, ptr %4862, align 4, !tbaa !5
  %4864 = call ptr @s2n_strerror_debug(i32 noundef %4863, ptr noundef @.str.4)
  %4865 = call ptr @__errno_location() #10
  %4866 = load i32, ptr %4865, align 4, !tbaa !5
  %4867 = call ptr @strerror(i32 noundef %4866) #9
  %4868 = call ptr @__errno_location() #10
  %4869 = load i32, ptr %4868, align 4, !tbaa !5
  %4870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4857, ptr noundef @.str.5, i32 noundef %4858, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 207, ptr noundef %4861, ptr noundef %4864, ptr noundef %4867, i32 noundef %4869) #9
  br label %4871

4871:                                             ; preds = %4854, %4837
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #9
  br label %4872

4872:                                             ; preds = %4871
  br label %4873

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

4874:                                             ; No predecessors!
  br label %4875

4875:                                             ; preds = %4874
  br label %4876

4876:                                             ; preds = %4875, %4817
  br label %4877

4877:                                             ; preds = %4876
  br label %4878

4878:                                             ; preds = %4877
  br label %4879

4879:                                             ; preds = %4878
  %4880 = load i32, ptr @test_count, align 4, !tbaa !5
  %4881 = add nsw i32 %4880, 1
  store i32 %4881, ptr @test_count, align 4, !tbaa !5
  %4882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4883 = load i32, ptr %4882, align 4, !tbaa !5
  %4884 = call ptr @s2n_strerror_debug(i32 noundef %4883, ptr noundef @.str.4)
  %4885 = icmp eq ptr %4884, null
  br i1 %4885, label %4886, label %4939

4886:                                             ; preds = %4879
  br label %4887

4887:                                             ; preds = %4886
  br label %4888

4888:                                             ; preds = %4887
  call void @llvm.lifetime.start.p0(i64 4, ptr %95) #9
  %4889 = call ptr @__errno_location() #10
  %4890 = load i32, ptr %4889, align 4, !tbaa !5
  store i32 %4890, ptr %95, align 4, !tbaa !5
  %4891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4892 = call i32 @s2n_print_stacktrace(ptr noundef %4891)
  %4893 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4894 = trunc i8 %4893 to i1
  br i1 %4894, label %4895, label %4917

4895:                                             ; preds = %4888
  %4896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4897 = call i32 @fileno(ptr noundef %4896) #9
  %4898 = call i32 @isatty(i32 noundef %4897) #9
  %4899 = icmp ne i32 %4898, 0
  br i1 %4899, label %4900, label %4917

4900:                                             ; preds = %4895
  %4901 = load i32, ptr %95, align 4, !tbaa !5
  %4902 = call ptr @__errno_location() #10
  store i32 %4901, ptr %4902, align 4, !tbaa !5
  %4903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4904 = load i32, ptr @test_count, align 4, !tbaa !5
  %4905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4906 = load i32, ptr %4905, align 4, !tbaa !5
  %4907 = call ptr @s2n_strerror(i32 noundef %4906, ptr noundef @.str.4)
  %4908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4909 = load i32, ptr %4908, align 4, !tbaa !5
  %4910 = call ptr @s2n_strerror_debug(i32 noundef %4909, ptr noundef @.str.4)
  %4911 = call ptr @__errno_location() #10
  %4912 = load i32, ptr %4911, align 4, !tbaa !5
  %4913 = call ptr @strerror(i32 noundef %4912) #9
  %4914 = call ptr @__errno_location() #10
  %4915 = load i32, ptr %4914, align 4, !tbaa !5
  %4916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4903, ptr noundef @.str.2, i32 noundef %4904, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 207, ptr noundef %4907, ptr noundef %4910, ptr noundef %4913, i32 noundef %4915) #9
  br label %4934

4917:                                             ; preds = %4895, %4888
  %4918 = load i32, ptr %95, align 4, !tbaa !5
  %4919 = call ptr @__errno_location() #10
  store i32 %4918, ptr %4919, align 4, !tbaa !5
  %4920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4921 = load i32, ptr @test_count, align 4, !tbaa !5
  %4922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4923 = load i32, ptr %4922, align 4, !tbaa !5
  %4924 = call ptr @s2n_strerror(i32 noundef %4923, ptr noundef @.str.4)
  %4925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4926 = load i32, ptr %4925, align 4, !tbaa !5
  %4927 = call ptr @s2n_strerror_debug(i32 noundef %4926, ptr noundef @.str.4)
  %4928 = call ptr @__errno_location() #10
  %4929 = load i32, ptr %4928, align 4, !tbaa !5
  %4930 = call ptr @strerror(i32 noundef %4929) #9
  %4931 = call ptr @__errno_location() #10
  %4932 = load i32, ptr %4931, align 4, !tbaa !5
  %4933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4920, ptr noundef @.str.5, i32 noundef %4921, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 207, ptr noundef %4924, ptr noundef %4927, ptr noundef %4930, i32 noundef %4932) #9
  br label %4934

4934:                                             ; preds = %4917, %4900
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #9
  br label %4935

4935:                                             ; preds = %4934
  br label %4936

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

4937:                                             ; No predecessors!
  br label %4938

4938:                                             ; preds = %4937
  br label %4939

4939:                                             ; preds = %4938, %4879
  br label %4940

4940:                                             ; preds = %4939
  br label %4941

4941:                                             ; preds = %4940
  br label %4942

4942:                                             ; preds = %4941
  br label %4943

4943:                                             ; preds = %4942
  br label %4944

4944:                                             ; preds = %4943
  %4945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4945, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4946 = call ptr @__errno_location() #10
  store i32 0, ptr %4946, align 4, !tbaa !5
  br label %4947

4947:                                             ; preds = %4944
  br label %4948

4948:                                             ; preds = %4947
  br label %4949

4949:                                             ; preds = %4948
  br label %4950

4950:                                             ; preds = %4949
  br label %4951

4951:                                             ; preds = %4950
  %4952 = load i32, ptr @test_count, align 4, !tbaa !5
  %4953 = add nsw i32 %4952, 1
  store i32 %4953, ptr @test_count, align 4, !tbaa !5
  %4954 = load ptr, ptr %89, align 8, !tbaa !9
  %4955 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %4954, i32 noundef 3)
  br i1 %4955, label %5009, label %4956

4956:                                             ; preds = %4951
  br label %4957

4957:                                             ; preds = %4956
  br label %4958

4958:                                             ; preds = %4957
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #9
  %4959 = call ptr @__errno_location() #10
  %4960 = load i32, ptr %4959, align 4, !tbaa !5
  store i32 %4960, ptr %96, align 4, !tbaa !5
  %4961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4962 = call i32 @s2n_print_stacktrace(ptr noundef %4961)
  %4963 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4964 = trunc i8 %4963 to i1
  br i1 %4964, label %4965, label %4987

4965:                                             ; preds = %4958
  %4966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4967 = call i32 @fileno(ptr noundef %4966) #9
  %4968 = call i32 @isatty(i32 noundef %4967) #9
  %4969 = icmp ne i32 %4968, 0
  br i1 %4969, label %4970, label %4987

4970:                                             ; preds = %4965
  %4971 = load i32, ptr %96, align 4, !tbaa !5
  %4972 = call ptr @__errno_location() #10
  store i32 %4971, ptr %4972, align 4, !tbaa !5
  %4973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4974 = load i32, ptr @test_count, align 4, !tbaa !5
  %4975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4976 = load i32, ptr %4975, align 4, !tbaa !5
  %4977 = call ptr @s2n_strerror(i32 noundef %4976, ptr noundef @.str.4)
  %4978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4979 = load i32, ptr %4978, align 4, !tbaa !5
  %4980 = call ptr @s2n_strerror_debug(i32 noundef %4979, ptr noundef @.str.4)
  %4981 = call ptr @__errno_location() #10
  %4982 = load i32, ptr %4981, align 4, !tbaa !5
  %4983 = call ptr @strerror(i32 noundef %4982) #9
  %4984 = call ptr @__errno_location() #10
  %4985 = load i32, ptr %4984, align 4, !tbaa !5
  %4986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4973, ptr noundef @.str.2, i32 noundef %4974, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 208, ptr noundef %4977, ptr noundef %4980, ptr noundef %4983, i32 noundef %4985) #9
  br label %5004

4987:                                             ; preds = %4965, %4958
  %4988 = load i32, ptr %96, align 4, !tbaa !5
  %4989 = call ptr @__errno_location() #10
  store i32 %4988, ptr %4989, align 4, !tbaa !5
  %4990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4991 = load i32, ptr @test_count, align 4, !tbaa !5
  %4992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4993 = load i32, ptr %4992, align 4, !tbaa !5
  %4994 = call ptr @s2n_strerror(i32 noundef %4993, ptr noundef @.str.4)
  %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_debug(i32 noundef %4996, ptr noundef @.str.4)
  %4998 = call ptr @__errno_location() #10
  %4999 = load i32, ptr %4998, align 4, !tbaa !5
  %5000 = call ptr @strerror(i32 noundef %4999) #9
  %5001 = call ptr @__errno_location() #10
  %5002 = load i32, ptr %5001, align 4, !tbaa !5
  %5003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4990, ptr noundef @.str.5, i32 noundef %4991, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 208, ptr noundef %4994, ptr noundef %4997, ptr noundef %5000, i32 noundef %5002) #9
  br label %5004

5004:                                             ; preds = %4987, %4970
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #9
  br label %5005

5005:                                             ; preds = %5004
  br label %5006

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

5007:                                             ; No predecessors!
  br label %5008

5008:                                             ; preds = %5007
  br label %5009

5009:                                             ; preds = %5008, %4951
  br label %5010

5010:                                             ; preds = %5009
  br label %5011

5011:                                             ; preds = %5010
  br label %5012

5012:                                             ; preds = %5011
  %5013 = load i32, ptr @test_count, align 4, !tbaa !5
  %5014 = add nsw i32 %5013, 1
  store i32 %5014, ptr @test_count, align 4, !tbaa !5
  %5015 = load ptr, ptr %89, align 8, !tbaa !9
  %5016 = call i32 @s2n_connection_free(ptr noundef %5015)
  %5017 = icmp eq i32 %5016, -1
  br i1 %5017, label %5018, label %5071

5018:                                             ; preds = %5012
  br label %5019

5019:                                             ; preds = %5018
  br label %5020

5020:                                             ; preds = %5019
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #9
  %5021 = call ptr @__errno_location() #10
  %5022 = load i32, ptr %5021, align 4, !tbaa !5
  store i32 %5022, ptr %97, align 4, !tbaa !5
  %5023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5024 = call i32 @s2n_print_stacktrace(ptr noundef %5023)
  %5025 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5026 = trunc i8 %5025 to i1
  br i1 %5026, label %5027, label %5049

5027:                                             ; preds = %5020
  %5028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5029 = call i32 @fileno(ptr noundef %5028) #9
  %5030 = call i32 @isatty(i32 noundef %5029) #9
  %5031 = icmp ne i32 %5030, 0
  br i1 %5031, label %5032, label %5049

5032:                                             ; preds = %5027
  %5033 = load i32, ptr %97, align 4, !tbaa !5
  %5034 = call ptr @__errno_location() #10
  store i32 %5033, ptr %5034, align 4, !tbaa !5
  %5035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5036 = load i32, ptr @test_count, align 4, !tbaa !5
  %5037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5038 = load i32, ptr %5037, align 4, !tbaa !5
  %5039 = call ptr @s2n_strerror(i32 noundef %5038, ptr noundef @.str.4)
  %5040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5041 = load i32, ptr %5040, align 4, !tbaa !5
  %5042 = call ptr @s2n_strerror_debug(i32 noundef %5041, ptr noundef @.str.4)
  %5043 = call ptr @__errno_location() #10
  %5044 = load i32, ptr %5043, align 4, !tbaa !5
  %5045 = call ptr @strerror(i32 noundef %5044) #9
  %5046 = call ptr @__errno_location() #10
  %5047 = load i32, ptr %5046, align 4, !tbaa !5
  %5048 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5035, ptr noundef @.str.2, i32 noundef %5036, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 210, ptr noundef %5039, ptr noundef %5042, ptr noundef %5045, i32 noundef %5047) #9
  br label %5066

5049:                                             ; preds = %5027, %5020
  %5050 = load i32, ptr %97, align 4, !tbaa !5
  %5051 = call ptr @__errno_location() #10
  store i32 %5050, ptr %5051, align 4, !tbaa !5
  %5052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5053 = load i32, ptr @test_count, align 4, !tbaa !5
  %5054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5055 = load i32, ptr %5054, align 4, !tbaa !5
  %5056 = call ptr @s2n_strerror(i32 noundef %5055, ptr noundef @.str.4)
  %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_debug(i32 noundef %5058, ptr noundef @.str.4)
  %5060 = call ptr @__errno_location() #10
  %5061 = load i32, ptr %5060, align 4, !tbaa !5
  %5062 = call ptr @strerror(i32 noundef %5061) #9
  %5063 = call ptr @__errno_location() #10
  %5064 = load i32, ptr %5063, align 4, !tbaa !5
  %5065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5052, ptr noundef @.str.5, i32 noundef %5053, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 210, ptr noundef %5056, ptr noundef %5059, ptr noundef %5062, i32 noundef %5064) #9
  br label %5066

5066:                                             ; preds = %5049, %5032
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #9
  br label %5067

5067:                                             ; preds = %5066
  br label %5068

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

5069:                                             ; No predecessors!
  br label %5070

5070:                                             ; preds = %5069
  br label %5071

5071:                                             ; preds = %5070, %5012
  br label %5072

5072:                                             ; preds = %5071
  br label %5073

5073:                                             ; preds = %5072
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %98) #9
  store ptr null, ptr %98, align 8, !tbaa !9
  br label %5074

5074:                                             ; preds = %5073
  %5075 = load i32, ptr @test_count, align 4, !tbaa !5
  %5076 = add nsw i32 %5075, 1
  store i32 %5076, ptr @test_count, align 4, !tbaa !5
  %5077 = call ptr @s2n_config_new()
  store ptr %5077, ptr %98, align 8, !tbaa !9
  %5078 = icmp eq ptr %5077, null
  br i1 %5078, label %5079, label %5132

5079:                                             ; preds = %5074
  br label %5080

5080:                                             ; preds = %5079
  br label %5081

5081:                                             ; preds = %5080
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #9
  %5082 = call ptr @__errno_location() #10
  %5083 = load i32, ptr %5082, align 4, !tbaa !5
  store i32 %5083, ptr %99, align 4, !tbaa !5
  %5084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5085 = call i32 @s2n_print_stacktrace(ptr noundef %5084)
  %5086 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5087 = trunc i8 %5086 to i1
  br i1 %5087, label %5088, label %5110

5088:                                             ; preds = %5081
  %5089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5090 = call i32 @fileno(ptr noundef %5089) #9
  %5091 = call i32 @isatty(i32 noundef %5090) #9
  %5092 = icmp ne i32 %5091, 0
  br i1 %5092, label %5093, label %5110

5093:                                             ; preds = %5088
  %5094 = load i32, ptr %99, align 4, !tbaa !5
  %5095 = call ptr @__errno_location() #10
  store i32 %5094, ptr %5095, align 4, !tbaa !5
  %5096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5097 = load i32, ptr @test_count, align 4, !tbaa !5
  %5098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5099 = load i32, ptr %5098, align 4, !tbaa !5
  %5100 = call ptr @s2n_strerror(i32 noundef %5099, ptr noundef @.str.4)
  %5101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5102 = load i32, ptr %5101, align 4, !tbaa !5
  %5103 = call ptr @s2n_strerror_debug(i32 noundef %5102, ptr noundef @.str.4)
  %5104 = call ptr @__errno_location() #10
  %5105 = load i32, ptr %5104, align 4, !tbaa !5
  %5106 = call ptr @strerror(i32 noundef %5105) #9
  %5107 = call ptr @__errno_location() #10
  %5108 = load i32, ptr %5107, align 4, !tbaa !5
  %5109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5096, ptr noundef @.str.2, i32 noundef %5097, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 216, ptr noundef %5100, ptr noundef %5103, ptr noundef %5106, i32 noundef %5108) #9
  br label %5127

5110:                                             ; preds = %5088, %5081
  %5111 = load i32, ptr %99, align 4, !tbaa !5
  %5112 = call ptr @__errno_location() #10
  store i32 %5111, ptr %5112, align 4, !tbaa !5
  %5113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5114 = load i32, ptr @test_count, align 4, !tbaa !5
  %5115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5116 = load i32, ptr %5115, align 4, !tbaa !5
  %5117 = call ptr @s2n_strerror(i32 noundef %5116, ptr noundef @.str.4)
  %5118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5119 = load i32, ptr %5118, align 4, !tbaa !5
  %5120 = call ptr @s2n_strerror_debug(i32 noundef %5119, ptr noundef @.str.4)
  %5121 = call ptr @__errno_location() #10
  %5122 = load i32, ptr %5121, align 4, !tbaa !5
  %5123 = call ptr @strerror(i32 noundef %5122) #9
  %5124 = call ptr @__errno_location() #10
  %5125 = load i32, ptr %5124, align 4, !tbaa !5
  %5126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5113, ptr noundef @.str.5, i32 noundef %5114, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 216, ptr noundef %5117, ptr noundef %5120, ptr noundef %5123, i32 noundef %5125) #9
  br label %5127

5127:                                             ; preds = %5110, %5093
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #9
  br label %5128

5128:                                             ; preds = %5127
  br label %5129

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

5130:                                             ; No predecessors!
  br label %5131

5131:                                             ; preds = %5130
  br label %5132

5132:                                             ; preds = %5131, %5074
  br label %5133

5133:                                             ; preds = %5132
  br label %5134

5134:                                             ; preds = %5133
  br label %5135

5135:                                             ; preds = %5134
  %5136 = load i32, ptr @test_count, align 4, !tbaa !5
  %5137 = add nsw i32 %5136, 1
  store i32 %5137, ptr @test_count, align 4, !tbaa !5
  %5138 = load ptr, ptr %98, align 8, !tbaa !9
  %5139 = call i32 @s2n_config_set_alert_behavior(ptr noundef %5138, i32 noundef 1)
  %5140 = icmp eq i32 %5139, -1
  br i1 %5140, label %5141, label %5194

5141:                                             ; preds = %5135
  br label %5142

5142:                                             ; preds = %5141
  br label %5143

5143:                                             ; preds = %5142
  call void @llvm.lifetime.start.p0(i64 4, ptr %100) #9
  %5144 = call ptr @__errno_location() #10
  %5145 = load i32, ptr %5144, align 4, !tbaa !5
  store i32 %5145, ptr %100, align 4, !tbaa !5
  %5146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5147 = call i32 @s2n_print_stacktrace(ptr noundef %5146)
  %5148 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5149 = trunc i8 %5148 to i1
  br i1 %5149, label %5150, label %5172

5150:                                             ; preds = %5143
  %5151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5152 = call i32 @fileno(ptr noundef %5151) #9
  %5153 = call i32 @isatty(i32 noundef %5152) #9
  %5154 = icmp ne i32 %5153, 0
  br i1 %5154, label %5155, label %5172

5155:                                             ; preds = %5150
  %5156 = load i32, ptr %100, align 4, !tbaa !5
  %5157 = call ptr @__errno_location() #10
  store i32 %5156, ptr %5157, align 4, !tbaa !5
  %5158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5159 = load i32, ptr @test_count, align 4, !tbaa !5
  %5160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5161 = load i32, ptr %5160, align 4, !tbaa !5
  %5162 = call ptr @s2n_strerror(i32 noundef %5161, ptr noundef @.str.4)
  %5163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5164 = load i32, ptr %5163, align 4, !tbaa !5
  %5165 = call ptr @s2n_strerror_debug(i32 noundef %5164, ptr noundef @.str.4)
  %5166 = call ptr @__errno_location() #10
  %5167 = load i32, ptr %5166, align 4, !tbaa !5
  %5168 = call ptr @strerror(i32 noundef %5167) #9
  %5169 = call ptr @__errno_location() #10
  %5170 = load i32, ptr %5169, align 4, !tbaa !5
  %5171 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5158, ptr noundef @.str.2, i32 noundef %5159, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 217, ptr noundef %5162, ptr noundef %5165, ptr noundef %5168, i32 noundef %5170) #9
  br label %5189

5172:                                             ; preds = %5150, %5143
  %5173 = load i32, ptr %100, align 4, !tbaa !5
  %5174 = call ptr @__errno_location() #10
  store i32 %5173, ptr %5174, align 4, !tbaa !5
  %5175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5176 = load i32, ptr @test_count, align 4, !tbaa !5
  %5177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5178 = load i32, ptr %5177, align 4, !tbaa !5
  %5179 = call ptr @s2n_strerror(i32 noundef %5178, ptr noundef @.str.4)
  %5180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5181 = load i32, ptr %5180, align 4, !tbaa !5
  %5182 = call ptr @s2n_strerror_debug(i32 noundef %5181, ptr noundef @.str.4)
  %5183 = call ptr @__errno_location() #10
  %5184 = load i32, ptr %5183, align 4, !tbaa !5
  %5185 = call ptr @strerror(i32 noundef %5184) #9
  %5186 = call ptr @__errno_location() #10
  %5187 = load i32, ptr %5186, align 4, !tbaa !5
  %5188 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5175, ptr noundef @.str.5, i32 noundef %5176, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 217, ptr noundef %5179, ptr noundef %5182, ptr noundef %5185, i32 noundef %5187) #9
  br label %5189

5189:                                             ; preds = %5172, %5155
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #9
  br label %5190

5190:                                             ; preds = %5189
  br label %5191

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

5192:                                             ; No predecessors!
  br label %5193

5193:                                             ; preds = %5192
  br label %5194

5194:                                             ; preds = %5193, %5135
  br label %5195

5195:                                             ; preds = %5194
  br label %5196

5196:                                             ; preds = %5195
  call void @llvm.lifetime.start.p0(i64 8, ptr %101) #9
  store ptr null, ptr %101, align 8, !tbaa !9
  br label %5197

5197:                                             ; preds = %5196
  %5198 = load i32, ptr @test_count, align 4, !tbaa !5
  %5199 = add nsw i32 %5198, 1
  store i32 %5199, ptr @test_count, align 4, !tbaa !5
  %5200 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %5200, ptr %101, align 8, !tbaa !9
  %5201 = icmp eq ptr %5200, null
  br i1 %5201, label %5202, label %5255

5202:                                             ; preds = %5197
  br label %5203

5203:                                             ; preds = %5202
  br label %5204

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

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

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

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

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

5251:                                             ; preds = %5250
  br label %5252

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

5253:                                             ; No predecessors!
  br label %5254

5254:                                             ; preds = %5253
  br label %5255

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

5256:                                             ; preds = %5255
  br label %5257

5257:                                             ; preds = %5256
  br label %5258

5258:                                             ; preds = %5257
  %5259 = load i32, ptr @test_count, align 4, !tbaa !5
  %5260 = add nsw i32 %5259, 1
  store i32 %5260, ptr @test_count, align 4, !tbaa !5
  %5261 = load ptr, ptr %101, align 8, !tbaa !9
  %5262 = load ptr, ptr %98, align 8, !tbaa !9
  %5263 = call i32 @s2n_connection_set_config(ptr noundef %5261, ptr noundef %5262)
  %5264 = icmp eq i32 %5263, -1
  br i1 %5264, label %5265, label %5318

5265:                                             ; preds = %5258
  br label %5266

5266:                                             ; preds = %5265
  br label %5267

5267:                                             ; preds = %5266
  call void @llvm.lifetime.start.p0(i64 4, ptr %103) #9
  %5268 = call ptr @__errno_location() #10
  %5269 = load i32, ptr %5268, align 4, !tbaa !5
  store i32 %5269, ptr %103, align 4, !tbaa !5
  %5270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5271 = call i32 @s2n_print_stacktrace(ptr noundef %5270)
  %5272 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5273 = trunc i8 %5272 to i1
  br i1 %5273, label %5274, label %5296

5274:                                             ; preds = %5267
  %5275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5276 = call i32 @fileno(ptr noundef %5275) #9
  %5277 = call i32 @isatty(i32 noundef %5276) #9
  %5278 = icmp ne i32 %5277, 0
  br i1 %5278, label %5279, label %5296

5279:                                             ; preds = %5274
  %5280 = load i32, ptr %103, align 4, !tbaa !5
  %5281 = call ptr @__errno_location() #10
  store i32 %5280, ptr %5281, align 4, !tbaa !5
  %5282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5283 = load i32, ptr @test_count, align 4, !tbaa !5
  %5284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5285 = load i32, ptr %5284, align 4, !tbaa !5
  %5286 = call ptr @s2n_strerror(i32 noundef %5285, ptr noundef @.str.4)
  %5287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5288 = load i32, ptr %5287, align 4, !tbaa !5
  %5289 = call ptr @s2n_strerror_debug(i32 noundef %5288, ptr noundef @.str.4)
  %5290 = call ptr @__errno_location() #10
  %5291 = load i32, ptr %5290, align 4, !tbaa !5
  %5292 = call ptr @strerror(i32 noundef %5291) #9
  %5293 = call ptr @__errno_location() #10
  %5294 = load i32, ptr %5293, align 4, !tbaa !5
  %5295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5282, ptr noundef @.str.2, i32 noundef %5283, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 221, ptr noundef %5286, ptr noundef %5289, ptr noundef %5292, i32 noundef %5294) #9
  br label %5313

5296:                                             ; preds = %5274, %5267
  %5297 = load i32, ptr %103, align 4, !tbaa !5
  %5298 = call ptr @__errno_location() #10
  store i32 %5297, ptr %5298, align 4, !tbaa !5
  %5299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5300 = load i32, ptr @test_count, align 4, !tbaa !5
  %5301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5302 = load i32, ptr %5301, align 4, !tbaa !5
  %5303 = call ptr @s2n_strerror(i32 noundef %5302, ptr noundef @.str.4)
  %5304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5305 = load i32, ptr %5304, align 4, !tbaa !5
  %5306 = call ptr @s2n_strerror_debug(i32 noundef %5305, ptr noundef @.str.4)
  %5307 = call ptr @__errno_location() #10
  %5308 = load i32, ptr %5307, align 4, !tbaa !5
  %5309 = call ptr @strerror(i32 noundef %5308) #9
  %5310 = call ptr @__errno_location() #10
  %5311 = load i32, ptr %5310, align 4, !tbaa !5
  %5312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5299, ptr noundef @.str.5, i32 noundef %5300, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 221, ptr noundef %5303, ptr noundef %5306, ptr noundef %5309, i32 noundef %5311) #9
  br label %5313

5313:                                             ; preds = %5296, %5279
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #9
  br label %5314

5314:                                             ; preds = %5313
  br label %5315

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

5316:                                             ; No predecessors!
  br label %5317

5317:                                             ; preds = %5316
  br label %5318

5318:                                             ; preds = %5317, %5258
  br label %5319

5319:                                             ; preds = %5318
  br label %5320

5320:                                             ; preds = %5319
  %5321 = load ptr, ptr %101, align 8, !tbaa !9
  %5322 = getelementptr inbounds %struct.s2n_connection, ptr %5321, i32 0, i32 23
  store i8 33, ptr %5322, align 4, !tbaa !53
  br label %5323

5323:                                             ; preds = %5320
  %5324 = load i32, ptr @test_count, align 4, !tbaa !5
  %5325 = add nsw i32 %5324, 1
  store i32 %5325, ptr @test_count, align 4, !tbaa !5
  %5326 = load ptr, ptr %101, align 8, !tbaa !9
  %5327 = getelementptr inbounds %struct.s2n_connection, ptr %5326, i32 0, i32 40
  %5328 = getelementptr inbounds [2 x i8], ptr %78, i64 0, i64 0
  %5329 = call i32 @s2n_stuffer_write_bytes(ptr noundef %5327, ptr noundef %5328, i32 noundef 2)
  %5330 = icmp eq i32 %5329, -1
  br i1 %5330, label %5331, label %5384

5331:                                             ; preds = %5323
  br label %5332

5332:                                             ; preds = %5331
  br label %5333

5333:                                             ; preds = %5332
  call void @llvm.lifetime.start.p0(i64 4, ptr %104) #9
  %5334 = call ptr @__errno_location() #10
  %5335 = load i32, ptr %5334, align 4, !tbaa !5
  store i32 %5335, ptr %104, align 4, !tbaa !5
  %5336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5337 = call i32 @s2n_print_stacktrace(ptr noundef %5336)
  %5338 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5339 = trunc i8 %5338 to i1
  br i1 %5339, label %5340, label %5362

5340:                                             ; preds = %5333
  %5341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5342 = call i32 @fileno(ptr noundef %5341) #9
  %5343 = call i32 @isatty(i32 noundef %5342) #9
  %5344 = icmp ne i32 %5343, 0
  br i1 %5344, label %5345, label %5362

5345:                                             ; preds = %5340
  %5346 = load i32, ptr %104, align 4, !tbaa !5
  %5347 = call ptr @__errno_location() #10
  store i32 %5346, ptr %5347, align 4, !tbaa !5
  %5348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5349 = load i32, ptr @test_count, align 4, !tbaa !5
  %5350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5351 = load i32, ptr %5350, align 4, !tbaa !5
  %5352 = call ptr @s2n_strerror(i32 noundef %5351, ptr noundef @.str.4)
  %5353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5354 = load i32, ptr %5353, align 4, !tbaa !5
  %5355 = call ptr @s2n_strerror_debug(i32 noundef %5354, ptr noundef @.str.4)
  %5356 = call ptr @__errno_location() #10
  %5357 = load i32, ptr %5356, align 4, !tbaa !5
  %5358 = call ptr @strerror(i32 noundef %5357) #9
  %5359 = call ptr @__errno_location() #10
  %5360 = load i32, ptr %5359, align 4, !tbaa !5
  %5361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5348, ptr noundef @.str.2, i32 noundef %5349, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 224, ptr noundef %5352, ptr noundef %5355, ptr noundef %5358, i32 noundef %5360) #9
  br label %5379

5362:                                             ; preds = %5340, %5333
  %5363 = load i32, ptr %104, align 4, !tbaa !5
  %5364 = call ptr @__errno_location() #10
  store i32 %5363, ptr %5364, align 4, !tbaa !5
  %5365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5366 = load i32, ptr @test_count, align 4, !tbaa !5
  %5367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5368 = load i32, ptr %5367, align 4, !tbaa !5
  %5369 = call ptr @s2n_strerror(i32 noundef %5368, ptr noundef @.str.4)
  %5370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5371 = load i32, ptr %5370, align 4, !tbaa !5
  %5372 = call ptr @s2n_strerror_debug(i32 noundef %5371, ptr noundef @.str.4)
  %5373 = call ptr @__errno_location() #10
  %5374 = load i32, ptr %5373, align 4, !tbaa !5
  %5375 = call ptr @strerror(i32 noundef %5374) #9
  %5376 = call ptr @__errno_location() #10
  %5377 = load i32, ptr %5376, align 4, !tbaa !5
  %5378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5365, ptr noundef @.str.5, i32 noundef %5366, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 224, ptr noundef %5369, ptr noundef %5372, ptr noundef %5375, i32 noundef %5377) #9
  br label %5379

5379:                                             ; preds = %5362, %5345
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #9
  br label %5380

5380:                                             ; preds = %5379
  br label %5381

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

5382:                                             ; No predecessors!
  br label %5383

5383:                                             ; preds = %5382
  br label %5384

5384:                                             ; preds = %5383, %5323
  br label %5385

5385:                                             ; preds = %5384
  br label %5386

5386:                                             ; preds = %5385
  br label %5387

5387:                                             ; preds = %5386
  %5388 = load i32, ptr @test_count, align 4, !tbaa !5
  %5389 = add nsw i32 %5388, 1
  store i32 %5389, ptr @test_count, align 4, !tbaa !5
  %5390 = load ptr, ptr %101, align 8, !tbaa !9
  %5391 = call i32 @s2n_process_alert_fragment(ptr noundef %5390)
  %5392 = icmp eq i32 %5391, -1
  br i1 %5392, label %5393, label %5446

5393:                                             ; preds = %5387
  br label %5394

5394:                                             ; preds = %5393
  br label %5395

5395:                                             ; preds = %5394
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #9
  %5396 = call ptr @__errno_location() #10
  %5397 = load i32, ptr %5396, align 4, !tbaa !5
  store i32 %5397, ptr %105, align 4, !tbaa !5
  %5398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5399 = call i32 @s2n_print_stacktrace(ptr noundef %5398)
  %5400 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5401 = trunc i8 %5400 to i1
  br i1 %5401, label %5402, label %5424

5402:                                             ; preds = %5395
  %5403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5404 = call i32 @fileno(ptr noundef %5403) #9
  %5405 = call i32 @isatty(i32 noundef %5404) #9
  %5406 = icmp ne i32 %5405, 0
  br i1 %5406, label %5407, label %5424

5407:                                             ; preds = %5402
  %5408 = load i32, ptr %105, align 4, !tbaa !5
  %5409 = call ptr @__errno_location() #10
  store i32 %5408, ptr %5409, align 4, !tbaa !5
  %5410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5411 = load i32, ptr @test_count, align 4, !tbaa !5
  %5412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5413 = load i32, ptr %5412, align 4, !tbaa !5
  %5414 = call ptr @s2n_strerror(i32 noundef %5413, ptr noundef @.str.4)
  %5415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5416 = load i32, ptr %5415, align 4, !tbaa !5
  %5417 = call ptr @s2n_strerror_debug(i32 noundef %5416, ptr noundef @.str.4)
  %5418 = call ptr @__errno_location() #10
  %5419 = load i32, ptr %5418, align 4, !tbaa !5
  %5420 = call ptr @strerror(i32 noundef %5419) #9
  %5421 = call ptr @__errno_location() #10
  %5422 = load i32, ptr %5421, align 4, !tbaa !5
  %5423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5410, ptr noundef @.str.2, i32 noundef %5411, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 226, ptr noundef %5414, ptr noundef %5417, ptr noundef %5420, i32 noundef %5422) #9
  br label %5441

5424:                                             ; preds = %5402, %5395
  %5425 = load i32, ptr %105, align 4, !tbaa !5
  %5426 = call ptr @__errno_location() #10
  store i32 %5425, ptr %5426, align 4, !tbaa !5
  %5427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5428 = load i32, ptr @test_count, align 4, !tbaa !5
  %5429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5430 = load i32, ptr %5429, align 4, !tbaa !5
  %5431 = call ptr @s2n_strerror(i32 noundef %5430, ptr noundef @.str.4)
  %5432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5433 = load i32, ptr %5432, align 4, !tbaa !5
  %5434 = call ptr @s2n_strerror_debug(i32 noundef %5433, ptr noundef @.str.4)
  %5435 = call ptr @__errno_location() #10
  %5436 = load i32, ptr %5435, align 4, !tbaa !5
  %5437 = call ptr @strerror(i32 noundef %5436) #9
  %5438 = call ptr @__errno_location() #10
  %5439 = load i32, ptr %5438, align 4, !tbaa !5
  %5440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5427, ptr noundef @.str.5, i32 noundef %5428, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 226, ptr noundef %5431, ptr noundef %5434, ptr noundef %5437, i32 noundef %5439) #9
  br label %5441

5441:                                             ; preds = %5424, %5407
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #9
  br label %5442

5442:                                             ; preds = %5441
  br label %5443

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

5444:                                             ; No predecessors!
  br label %5445

5445:                                             ; preds = %5444
  br label %5446

5446:                                             ; preds = %5445, %5387
  br label %5447

5447:                                             ; preds = %5446
  br label %5448

5448:                                             ; preds = %5447
  br label %5449

5449:                                             ; preds = %5448
  %5450 = load i32, ptr @test_count, align 4, !tbaa !5
  %5451 = add nsw i32 %5450, 1
  store i32 %5451, ptr @test_count, align 4, !tbaa !5
  %5452 = load ptr, ptr %101, align 8, !tbaa !9
  %5453 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %5452, i32 noundef 2)
  br i1 %5453, label %5507, label %5454

5454:                                             ; preds = %5449
  br label %5455

5455:                                             ; preds = %5454
  br label %5456

5456:                                             ; preds = %5455
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #9
  %5457 = call ptr @__errno_location() #10
  %5458 = load i32, ptr %5457, align 4, !tbaa !5
  store i32 %5458, ptr %106, align 4, !tbaa !5
  %5459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5460 = call i32 @s2n_print_stacktrace(ptr noundef %5459)
  %5461 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5462 = trunc i8 %5461 to i1
  br i1 %5462, label %5463, label %5485

5463:                                             ; preds = %5456
  %5464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5465 = call i32 @fileno(ptr noundef %5464) #9
  %5466 = call i32 @isatty(i32 noundef %5465) #9
  %5467 = icmp ne i32 %5466, 0
  br i1 %5467, label %5468, label %5485

5468:                                             ; preds = %5463
  %5469 = load i32, ptr %106, align 4, !tbaa !5
  %5470 = call ptr @__errno_location() #10
  store i32 %5469, ptr %5470, align 4, !tbaa !5
  %5471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5472 = load i32, ptr @test_count, align 4, !tbaa !5
  %5473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5474 = load i32, ptr %5473, align 4, !tbaa !5
  %5475 = call ptr @s2n_strerror(i32 noundef %5474, ptr noundef @.str.4)
  %5476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5477 = load i32, ptr %5476, align 4, !tbaa !5
  %5478 = call ptr @s2n_strerror_debug(i32 noundef %5477, ptr noundef @.str.4)
  %5479 = call ptr @__errno_location() #10
  %5480 = load i32, ptr %5479, align 4, !tbaa !5
  %5481 = call ptr @strerror(i32 noundef %5480) #9
  %5482 = call ptr @__errno_location() #10
  %5483 = load i32, ptr %5482, align 4, !tbaa !5
  %5484 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5471, ptr noundef @.str.2, i32 noundef %5472, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 227, ptr noundef %5475, ptr noundef %5478, ptr noundef %5481, i32 noundef %5483) #9
  br label %5502

5485:                                             ; preds = %5463, %5456
  %5486 = load i32, ptr %106, align 4, !tbaa !5
  %5487 = call ptr @__errno_location() #10
  store i32 %5486, ptr %5487, align 4, !tbaa !5
  %5488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5489 = load i32, ptr @test_count, align 4, !tbaa !5
  %5490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5491 = load i32, ptr %5490, align 4, !tbaa !5
  %5492 = call ptr @s2n_strerror(i32 noundef %5491, ptr noundef @.str.4)
  %5493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5494 = load i32, ptr %5493, align 4, !tbaa !5
  %5495 = call ptr @s2n_strerror_debug(i32 noundef %5494, ptr noundef @.str.4)
  %5496 = call ptr @__errno_location() #10
  %5497 = load i32, ptr %5496, align 4, !tbaa !5
  %5498 = call ptr @strerror(i32 noundef %5497) #9
  %5499 = call ptr @__errno_location() #10
  %5500 = load i32, ptr %5499, align 4, !tbaa !5
  %5501 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5488, ptr noundef @.str.5, i32 noundef %5489, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 227, ptr noundef %5492, ptr noundef %5495, ptr noundef %5498, i32 noundef %5500) #9
  br label %5502

5502:                                             ; preds = %5485, %5468
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #9
  br label %5503

5503:                                             ; preds = %5502
  br label %5504

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

5505:                                             ; No predecessors!
  br label %5506

5506:                                             ; preds = %5505
  br label %5507

5507:                                             ; preds = %5506, %5449
  br label %5508

5508:                                             ; preds = %5507
  br label %5509

5509:                                             ; preds = %5508
  br label %5510

5510:                                             ; preds = %5509
  %5511 = load i32, ptr @test_count, align 4, !tbaa !5
  %5512 = add nsw i32 %5511, 1
  store i32 %5512, ptr @test_count, align 4, !tbaa !5
  %5513 = load ptr, ptr %101, align 8, !tbaa !9
  %5514 = call i32 @s2n_connection_free(ptr noundef %5513)
  %5515 = icmp eq i32 %5514, -1
  br i1 %5515, label %5516, label %5569

5516:                                             ; preds = %5510
  br label %5517

5517:                                             ; preds = %5516
  br label %5518

5518:                                             ; preds = %5517
  call void @llvm.lifetime.start.p0(i64 4, ptr %107) #9
  %5519 = call ptr @__errno_location() #10
  %5520 = load i32, ptr %5519, align 4, !tbaa !5
  store i32 %5520, ptr %107, align 4, !tbaa !5
  %5521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5522 = call i32 @s2n_print_stacktrace(ptr noundef %5521)
  %5523 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5524 = trunc i8 %5523 to i1
  br i1 %5524, label %5525, label %5547

5525:                                             ; preds = %5518
  %5526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5527 = call i32 @fileno(ptr noundef %5526) #9
  %5528 = call i32 @isatty(i32 noundef %5527) #9
  %5529 = icmp ne i32 %5528, 0
  br i1 %5529, label %5530, label %5547

5530:                                             ; preds = %5525
  %5531 = load i32, ptr %107, align 4, !tbaa !5
  %5532 = call ptr @__errno_location() #10
  store i32 %5531, ptr %5532, align 4, !tbaa !5
  %5533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5534 = load i32, ptr @test_count, align 4, !tbaa !5
  %5535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5536 = load i32, ptr %5535, align 4, !tbaa !5
  %5537 = call ptr @s2n_strerror(i32 noundef %5536, ptr noundef @.str.4)
  %5538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5539 = load i32, ptr %5538, align 4, !tbaa !5
  %5540 = call ptr @s2n_strerror_debug(i32 noundef %5539, ptr noundef @.str.4)
  %5541 = call ptr @__errno_location() #10
  %5542 = load i32, ptr %5541, align 4, !tbaa !5
  %5543 = call ptr @strerror(i32 noundef %5542) #9
  %5544 = call ptr @__errno_location() #10
  %5545 = load i32, ptr %5544, align 4, !tbaa !5
  %5546 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5533, ptr noundef @.str.2, i32 noundef %5534, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 229, ptr noundef %5537, ptr noundef %5540, ptr noundef %5543, i32 noundef %5545) #9
  br label %5564

5547:                                             ; preds = %5525, %5518
  %5548 = load i32, ptr %107, align 4, !tbaa !5
  %5549 = call ptr @__errno_location() #10
  store i32 %5548, ptr %5549, align 4, !tbaa !5
  %5550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5551 = load i32, ptr @test_count, align 4, !tbaa !5
  %5552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5553 = load i32, ptr %5552, align 4, !tbaa !5
  %5554 = call ptr @s2n_strerror(i32 noundef %5553, ptr noundef @.str.4)
  %5555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5556 = load i32, ptr %5555, align 4, !tbaa !5
  %5557 = call ptr @s2n_strerror_debug(i32 noundef %5556, ptr noundef @.str.4)
  %5558 = call ptr @__errno_location() #10
  %5559 = load i32, ptr %5558, align 4, !tbaa !5
  %5560 = call ptr @strerror(i32 noundef %5559) #9
  %5561 = call ptr @__errno_location() #10
  %5562 = load i32, ptr %5561, align 4, !tbaa !5
  %5563 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5550, ptr noundef @.str.5, i32 noundef %5551, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 229, ptr noundef %5554, ptr noundef %5557, ptr noundef %5560, i32 noundef %5562) #9
  br label %5564

5564:                                             ; preds = %5547, %5530
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #9
  br label %5565

5565:                                             ; preds = %5564
  br label %5566

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

5567:                                             ; No predecessors!
  br label %5568

5568:                                             ; preds = %5567
  br label %5569

5569:                                             ; preds = %5568, %5510
  br label %5570

5570:                                             ; preds = %5569
  br label %5571

5571:                                             ; preds = %5570
  br label %5572

5572:                                             ; preds = %5571
  %5573 = load i32, ptr @test_count, align 4, !tbaa !5
  %5574 = add nsw i32 %5573, 1
  store i32 %5574, ptr @test_count, align 4, !tbaa !5
  %5575 = load ptr, ptr %98, align 8, !tbaa !9
  %5576 = call i32 @s2n_config_free(ptr noundef %5575)
  %5577 = icmp eq i32 %5576, -1
  br i1 %5577, label %5578, label %5631

5578:                                             ; preds = %5572
  br label %5579

5579:                                             ; preds = %5578
  br label %5580

5580:                                             ; preds = %5579
  call void @llvm.lifetime.start.p0(i64 4, ptr %108) #9
  %5581 = call ptr @__errno_location() #10
  %5582 = load i32, ptr %5581, align 4, !tbaa !5
  store i32 %5582, ptr %108, align 4, !tbaa !5
  %5583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5584 = call i32 @s2n_print_stacktrace(ptr noundef %5583)
  %5585 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5586 = trunc i8 %5585 to i1
  br i1 %5586, label %5587, label %5609

5587:                                             ; preds = %5580
  %5588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5589 = call i32 @fileno(ptr noundef %5588) #9
  %5590 = call i32 @isatty(i32 noundef %5589) #9
  %5591 = icmp ne i32 %5590, 0
  br i1 %5591, label %5592, label %5609

5592:                                             ; preds = %5587
  %5593 = load i32, ptr %108, align 4, !tbaa !5
  %5594 = call ptr @__errno_location() #10
  store i32 %5593, ptr %5594, align 4, !tbaa !5
  %5595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5596 = load i32, ptr @test_count, align 4, !tbaa !5
  %5597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5598 = load i32, ptr %5597, align 4, !tbaa !5
  %5599 = call ptr @s2n_strerror(i32 noundef %5598, ptr noundef @.str.4)
  %5600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5601 = load i32, ptr %5600, align 4, !tbaa !5
  %5602 = call ptr @s2n_strerror_debug(i32 noundef %5601, ptr noundef @.str.4)
  %5603 = call ptr @__errno_location() #10
  %5604 = load i32, ptr %5603, align 4, !tbaa !5
  %5605 = call ptr @strerror(i32 noundef %5604) #9
  %5606 = call ptr @__errno_location() #10
  %5607 = load i32, ptr %5606, align 4, !tbaa !5
  %5608 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5595, ptr noundef @.str.2, i32 noundef %5596, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 230, ptr noundef %5599, ptr noundef %5602, ptr noundef %5605, i32 noundef %5607) #9
  br label %5626

5609:                                             ; preds = %5587, %5580
  %5610 = load i32, ptr %108, align 4, !tbaa !5
  %5611 = call ptr @__errno_location() #10
  store i32 %5610, ptr %5611, align 4, !tbaa !5
  %5612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5613 = load i32, ptr @test_count, align 4, !tbaa !5
  %5614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5615 = load i32, ptr %5614, align 4, !tbaa !5
  %5616 = call ptr @s2n_strerror(i32 noundef %5615, ptr noundef @.str.4)
  %5617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5618 = load i32, ptr %5617, align 4, !tbaa !5
  %5619 = call ptr @s2n_strerror_debug(i32 noundef %5618, ptr noundef @.str.4)
  %5620 = call ptr @__errno_location() #10
  %5621 = load i32, ptr %5620, align 4, !tbaa !5
  %5622 = call ptr @strerror(i32 noundef %5621) #9
  %5623 = call ptr @__errno_location() #10
  %5624 = load i32, ptr %5623, align 4, !tbaa !5
  %5625 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5612, ptr noundef @.str.5, i32 noundef %5613, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 230, ptr noundef %5616, ptr noundef %5619, ptr noundef %5622, i32 noundef %5624) #9
  br label %5626

5626:                                             ; preds = %5609, %5592
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #9
  br label %5627

5627:                                             ; preds = %5626
  br label %5628

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

5629:                                             ; No predecessors!
  br label %5630

5630:                                             ; preds = %5629
  br label %5631

5631:                                             ; preds = %5630, %5572
  br label %5632

5632:                                             ; preds = %5631
  br label %5633

5633:                                             ; preds = %5632
  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 %109) #9
  store ptr null, ptr %109, align 8, !tbaa !9
  br label %5634

5634:                                             ; preds = %5633
  %5635 = load i32, ptr @test_count, align 4, !tbaa !5
  %5636 = add nsw i32 %5635, 1
  store i32 %5636, ptr @test_count, align 4, !tbaa !5
  %5637 = call ptr @s2n_config_new()
  store ptr %5637, ptr %109, align 8, !tbaa !9
  %5638 = icmp eq ptr %5637, null
  br i1 %5638, label %5639, label %5692

5639:                                             ; preds = %5634
  br label %5640

5640:                                             ; preds = %5639
  br label %5641

5641:                                             ; preds = %5640
  call void @llvm.lifetime.start.p0(i64 4, ptr %110) #9
  %5642 = call ptr @__errno_location() #10
  %5643 = load i32, ptr %5642, align 4, !tbaa !5
  store i32 %5643, ptr %110, align 4, !tbaa !5
  %5644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5645 = call i32 @s2n_print_stacktrace(ptr noundef %5644)
  %5646 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5647 = trunc i8 %5646 to i1
  br i1 %5647, label %5648, label %5670

5648:                                             ; preds = %5641
  %5649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5650 = call i32 @fileno(ptr noundef %5649) #9
  %5651 = call i32 @isatty(i32 noundef %5650) #9
  %5652 = icmp ne i32 %5651, 0
  br i1 %5652, label %5653, label %5670

5653:                                             ; preds = %5648
  %5654 = load i32, ptr %110, align 4, !tbaa !5
  %5655 = call ptr @__errno_location() #10
  store i32 %5654, ptr %5655, align 4, !tbaa !5
  %5656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5657 = load i32, ptr @test_count, align 4, !tbaa !5
  %5658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5659 = load i32, ptr %5658, align 4, !tbaa !5
  %5660 = call ptr @s2n_strerror(i32 noundef %5659, ptr noundef @.str.4)
  %5661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5662 = load i32, ptr %5661, align 4, !tbaa !5
  %5663 = call ptr @s2n_strerror_debug(i32 noundef %5662, ptr noundef @.str.4)
  %5664 = call ptr @__errno_location() #10
  %5665 = load i32, ptr %5664, align 4, !tbaa !5
  %5666 = call ptr @strerror(i32 noundef %5665) #9
  %5667 = call ptr @__errno_location() #10
  %5668 = load i32, ptr %5667, align 4, !tbaa !5
  %5669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5656, ptr noundef @.str.2, i32 noundef %5657, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 236, ptr noundef %5660, ptr noundef %5663, ptr noundef %5666, i32 noundef %5668) #9
  br label %5687

5670:                                             ; preds = %5648, %5641
  %5671 = load i32, ptr %110, align 4, !tbaa !5
  %5672 = call ptr @__errno_location() #10
  store i32 %5671, ptr %5672, align 4, !tbaa !5
  %5673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5674 = load i32, ptr @test_count, align 4, !tbaa !5
  %5675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5676 = load i32, ptr %5675, align 4, !tbaa !5
  %5677 = call ptr @s2n_strerror(i32 noundef %5676, ptr noundef @.str.4)
  %5678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5679 = load i32, ptr %5678, align 4, !tbaa !5
  %5680 = call ptr @s2n_strerror_debug(i32 noundef %5679, ptr noundef @.str.4)
  %5681 = call ptr @__errno_location() #10
  %5682 = load i32, ptr %5681, align 4, !tbaa !5
  %5683 = call ptr @strerror(i32 noundef %5682) #9
  %5684 = call ptr @__errno_location() #10
  %5685 = load i32, ptr %5684, align 4, !tbaa !5
  %5686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5673, ptr noundef @.str.5, i32 noundef %5674, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 236, ptr noundef %5677, ptr noundef %5680, ptr noundef %5683, i32 noundef %5685) #9
  br label %5687

5687:                                             ; preds = %5670, %5653
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #9
  br label %5688

5688:                                             ; preds = %5687
  br label %5689

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

5690:                                             ; No predecessors!
  br label %5691

5691:                                             ; preds = %5690
  br label %5692

5692:                                             ; preds = %5691, %5634
  br label %5693

5693:                                             ; preds = %5692
  br label %5694

5694:                                             ; preds = %5693
  br label %5695

5695:                                             ; preds = %5694
  %5696 = load i32, ptr @test_count, align 4, !tbaa !5
  %5697 = add nsw i32 %5696, 1
  store i32 %5697, ptr @test_count, align 4, !tbaa !5
  %5698 = load ptr, ptr %109, align 8, !tbaa !9
  %5699 = call i32 @s2n_config_set_alert_behavior(ptr noundef %5698, i32 noundef 1)
  %5700 = icmp eq i32 %5699, -1
  br i1 %5700, label %5701, label %5754

5701:                                             ; preds = %5695
  br label %5702

5702:                                             ; preds = %5701
  br label %5703

5703:                                             ; preds = %5702
  call void @llvm.lifetime.start.p0(i64 4, ptr %111) #9
  %5704 = call ptr @__errno_location() #10
  %5705 = load i32, ptr %5704, align 4, !tbaa !5
  store i32 %5705, ptr %111, align 4, !tbaa !5
  %5706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5707 = call i32 @s2n_print_stacktrace(ptr noundef %5706)
  %5708 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5709 = trunc i8 %5708 to i1
  br i1 %5709, label %5710, label %5732

5710:                                             ; preds = %5703
  %5711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5712 = call i32 @fileno(ptr noundef %5711) #9
  %5713 = call i32 @isatty(i32 noundef %5712) #9
  %5714 = icmp ne i32 %5713, 0
  br i1 %5714, label %5715, label %5732

5715:                                             ; preds = %5710
  %5716 = load i32, ptr %111, align 4, !tbaa !5
  %5717 = call ptr @__errno_location() #10
  store i32 %5716, ptr %5717, align 4, !tbaa !5
  %5718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5719 = load i32, ptr @test_count, align 4, !tbaa !5
  %5720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5721 = load i32, ptr %5720, align 4, !tbaa !5
  %5722 = call ptr @s2n_strerror(i32 noundef %5721, ptr noundef @.str.4)
  %5723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5724 = load i32, ptr %5723, align 4, !tbaa !5
  %5725 = call ptr @s2n_strerror_debug(i32 noundef %5724, ptr noundef @.str.4)
  %5726 = call ptr @__errno_location() #10
  %5727 = load i32, ptr %5726, align 4, !tbaa !5
  %5728 = call ptr @strerror(i32 noundef %5727) #9
  %5729 = call ptr @__errno_location() #10
  %5730 = load i32, ptr %5729, align 4, !tbaa !5
  %5731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5718, ptr noundef @.str.2, i32 noundef %5719, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 237, ptr noundef %5722, ptr noundef %5725, ptr noundef %5728, i32 noundef %5730) #9
  br label %5749

5732:                                             ; preds = %5710, %5703
  %5733 = load i32, ptr %111, align 4, !tbaa !5
  %5734 = call ptr @__errno_location() #10
  store i32 %5733, ptr %5734, align 4, !tbaa !5
  %5735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5736 = load i32, ptr @test_count, align 4, !tbaa !5
  %5737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5738 = load i32, ptr %5737, align 4, !tbaa !5
  %5739 = call ptr @s2n_strerror(i32 noundef %5738, ptr noundef @.str.4)
  %5740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5741 = load i32, ptr %5740, align 4, !tbaa !5
  %5742 = call ptr @s2n_strerror_debug(i32 noundef %5741, ptr noundef @.str.4)
  %5743 = call ptr @__errno_location() #10
  %5744 = load i32, ptr %5743, align 4, !tbaa !5
  %5745 = call ptr @strerror(i32 noundef %5744) #9
  %5746 = call ptr @__errno_location() #10
  %5747 = load i32, ptr %5746, align 4, !tbaa !5
  %5748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5735, ptr noundef @.str.5, i32 noundef %5736, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 237, ptr noundef %5739, ptr noundef %5742, ptr noundef %5745, i32 noundef %5747) #9
  br label %5749

5749:                                             ; preds = %5732, %5715
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #9
  br label %5750

5750:                                             ; preds = %5749
  br label %5751

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

5752:                                             ; No predecessors!
  br label %5753

5753:                                             ; preds = %5752
  br label %5754

5754:                                             ; preds = %5753, %5695
  br label %5755

5755:                                             ; preds = %5754
  br label %5756

5756:                                             ; preds = %5755
  call void @llvm.lifetime.start.p0(i64 8, ptr %112) #9
  store ptr null, ptr %112, align 8, !tbaa !9
  br label %5757

5757:                                             ; preds = %5756
  %5758 = load i32, ptr @test_count, align 4, !tbaa !5
  %5759 = add nsw i32 %5758, 1
  store i32 %5759, ptr @test_count, align 4, !tbaa !5
  %5760 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %5760, ptr %112, align 8, !tbaa !9
  %5761 = icmp eq ptr %5760, null
  br i1 %5761, label %5762, label %5815

5762:                                             ; preds = %5757
  br label %5763

5763:                                             ; preds = %5762
  br label %5764

5764:                                             ; preds = %5763
  call void @llvm.lifetime.start.p0(i64 4, ptr %113) #9
  %5765 = call ptr @__errno_location() #10
  %5766 = load i32, ptr %5765, align 4, !tbaa !5
  store i32 %5766, ptr %113, align 4, !tbaa !5
  %5767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5768 = call i32 @s2n_print_stacktrace(ptr noundef %5767)
  %5769 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5770 = trunc i8 %5769 to i1
  br i1 %5770, label %5771, label %5793

5771:                                             ; preds = %5764
  %5772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5773 = call i32 @fileno(ptr noundef %5772) #9
  %5774 = call i32 @isatty(i32 noundef %5773) #9
  %5775 = icmp ne i32 %5774, 0
  br i1 %5775, label %5776, label %5793

5776:                                             ; preds = %5771
  %5777 = load i32, ptr %113, align 4, !tbaa !5
  %5778 = call ptr @__errno_location() #10
  store i32 %5777, ptr %5778, align 4, !tbaa !5
  %5779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5780 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %5782, ptr noundef @.str.4)
  %5784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5785 = load i32, ptr %5784, align 4, !tbaa !5
  %5786 = call ptr @s2n_strerror_debug(i32 noundef %5785, ptr noundef @.str.4)
  %5787 = call ptr @__errno_location() #10
  %5788 = load i32, ptr %5787, align 4, !tbaa !5
  %5789 = call ptr @strerror(i32 noundef %5788) #9
  %5790 = call ptr @__errno_location() #10
  %5791 = load i32, ptr %5790, align 4, !tbaa !5
  %5792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5779, ptr noundef @.str.2, i32 noundef %5780, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 240, ptr noundef %5783, ptr noundef %5786, ptr noundef %5789, i32 noundef %5791) #9
  br label %5810

5793:                                             ; preds = %5771, %5764
  %5794 = load i32, ptr %113, align 4, !tbaa !5
  %5795 = call ptr @__errno_location() #10
  store i32 %5794, ptr %5795, align 4, !tbaa !5
  %5796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5797 = load i32, ptr @test_count, align 4, !tbaa !5
  %5798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5799 = load i32, ptr %5798, align 4, !tbaa !5
  %5800 = call ptr @s2n_strerror(i32 noundef %5799, ptr noundef @.str.4)
  %5801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5802 = load i32, ptr %5801, align 4, !tbaa !5
  %5803 = call ptr @s2n_strerror_debug(i32 noundef %5802, ptr noundef @.str.4)
  %5804 = call ptr @__errno_location() #10
  %5805 = load i32, ptr %5804, align 4, !tbaa !5
  %5806 = call ptr @strerror(i32 noundef %5805) #9
  %5807 = call ptr @__errno_location() #10
  %5808 = load i32, ptr %5807, align 4, !tbaa !5
  %5809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5796, ptr noundef @.str.5, i32 noundef %5797, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 240, ptr noundef %5800, ptr noundef %5803, ptr noundef %5806, i32 noundef %5808) #9
  br label %5810

5810:                                             ; preds = %5793, %5776
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #9
  br label %5811

5811:                                             ; preds = %5810
  br label %5812

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

5813:                                             ; No predecessors!
  br label %5814

5814:                                             ; preds = %5813
  br label %5815

5815:                                             ; preds = %5814, %5757
  br label %5816

5816:                                             ; preds = %5815
  br label %5817

5817:                                             ; preds = %5816
  br label %5818

5818:                                             ; preds = %5817
  %5819 = load i32, ptr @test_count, align 4, !tbaa !5
  %5820 = add nsw i32 %5819, 1
  store i32 %5820, ptr @test_count, align 4, !tbaa !5
  %5821 = load ptr, ptr %112, align 8, !tbaa !9
  %5822 = load ptr, ptr %109, align 8, !tbaa !9
  %5823 = call i32 @s2n_connection_set_config(ptr noundef %5821, ptr noundef %5822)
  %5824 = icmp eq i32 %5823, -1
  br i1 %5824, label %5825, label %5878

5825:                                             ; preds = %5818
  br label %5826

5826:                                             ; preds = %5825
  br label %5827

5827:                                             ; preds = %5826
  call void @llvm.lifetime.start.p0(i64 4, ptr %114) #9
  %5828 = call ptr @__errno_location() #10
  %5829 = load i32, ptr %5828, align 4, !tbaa !5
  store i32 %5829, ptr %114, align 4, !tbaa !5
  %5830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5831 = call i32 @s2n_print_stacktrace(ptr noundef %5830)
  %5832 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5833 = trunc i8 %5832 to i1
  br i1 %5833, label %5834, label %5856

5834:                                             ; preds = %5827
  %5835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5836 = call i32 @fileno(ptr noundef %5835) #9
  %5837 = call i32 @isatty(i32 noundef %5836) #9
  %5838 = icmp ne i32 %5837, 0
  br i1 %5838, label %5839, label %5856

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

5856:                                             ; preds = %5834, %5827
  %5857 = load i32, ptr %114, align 4, !tbaa !5
  %5858 = call ptr @__errno_location() #10
  store i32 %5857, ptr %5858, align 4, !tbaa !5
  %5859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5860 = load i32, ptr @test_count, align 4, !tbaa !5
  %5861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5862 = load i32, ptr %5861, align 4, !tbaa !5
  %5863 = call ptr @s2n_strerror(i32 noundef %5862, ptr noundef @.str.4)
  %5864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5865 = load i32, ptr %5864, align 4, !tbaa !5
  %5866 = call ptr @s2n_strerror_debug(i32 noundef %5865, ptr noundef @.str.4)
  %5867 = call ptr @__errno_location() #10
  %5868 = load i32, ptr %5867, align 4, !tbaa !5
  %5869 = call ptr @strerror(i32 noundef %5868) #9
  %5870 = call ptr @__errno_location() #10
  %5871 = load i32, ptr %5870, align 4, !tbaa !5
  %5872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5859, ptr noundef @.str.5, i32 noundef %5860, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 241, ptr noundef %5863, ptr noundef %5866, ptr noundef %5869, i32 noundef %5871) #9
  br label %5873

5873:                                             ; preds = %5856, %5839
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #9
  br label %5874

5874:                                             ; preds = %5873
  br label %5875

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

5876:                                             ; No predecessors!
  br label %5877

5877:                                             ; preds = %5876
  br label %5878

5878:                                             ; preds = %5877, %5818
  br label %5879

5879:                                             ; preds = %5878
  br label %5880

5880:                                             ; preds = %5879
  %5881 = load ptr, ptr %112, align 8, !tbaa !9
  %5882 = getelementptr inbounds %struct.s2n_connection, ptr %5881, i32 0, i32 23
  store i8 34, ptr %5882, align 4, !tbaa !53
  br label %5883

5883:                                             ; preds = %5880
  %5884 = load i32, ptr @test_count, align 4, !tbaa !5
  %5885 = add nsw i32 %5884, 1
  store i32 %5885, ptr @test_count, align 4, !tbaa !5
  %5886 = load ptr, ptr %112, align 8, !tbaa !9
  %5887 = getelementptr inbounds %struct.s2n_connection, ptr %5886, i32 0, i32 40
  %5888 = getelementptr inbounds [2 x i8], ptr %78, i64 0, i64 0
  %5889 = call i32 @s2n_stuffer_write_bytes(ptr noundef %5887, ptr noundef %5888, i32 noundef 2)
  %5890 = icmp eq i32 %5889, -1
  br i1 %5890, label %5891, label %5944

5891:                                             ; preds = %5883
  br label %5892

5892:                                             ; preds = %5891
  br label %5893

5893:                                             ; preds = %5892
  call void @llvm.lifetime.start.p0(i64 4, ptr %115) #9
  %5894 = call ptr @__errno_location() #10
  %5895 = load i32, ptr %5894, align 4, !tbaa !5
  store i32 %5895, ptr %115, align 4, !tbaa !5
  %5896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5897 = call i32 @s2n_print_stacktrace(ptr noundef %5896)
  %5898 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5899 = trunc i8 %5898 to i1
  br i1 %5899, label %5900, label %5922

5900:                                             ; preds = %5893
  %5901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5902 = call i32 @fileno(ptr noundef %5901) #9
  %5903 = call i32 @isatty(i32 noundef %5902) #9
  %5904 = icmp ne i32 %5903, 0
  br i1 %5904, label %5905, label %5922

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

5922:                                             ; preds = %5900, %5893
  %5923 = load i32, ptr %115, align 4, !tbaa !5
  %5924 = call ptr @__errno_location() #10
  store i32 %5923, ptr %5924, align 4, !tbaa !5
  %5925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5926 = load i32, ptr @test_count, align 4, !tbaa !5
  %5927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5928 = load i32, ptr %5927, align 4, !tbaa !5
  %5929 = call ptr @s2n_strerror(i32 noundef %5928, ptr noundef @.str.4)
  %5930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5931 = load i32, ptr %5930, align 4, !tbaa !5
  %5932 = call ptr @s2n_strerror_debug(i32 noundef %5931, ptr noundef @.str.4)
  %5933 = call ptr @__errno_location() #10
  %5934 = load i32, ptr %5933, align 4, !tbaa !5
  %5935 = call ptr @strerror(i32 noundef %5934) #9
  %5936 = call ptr @__errno_location() #10
  %5937 = load i32, ptr %5936, align 4, !tbaa !5
  %5938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5925, ptr noundef @.str.5, i32 noundef %5926, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 244, ptr noundef %5929, ptr noundef %5932, ptr noundef %5935, i32 noundef %5937) #9
  br label %5939

5939:                                             ; preds = %5922, %5905
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #9
  br label %5940

5940:                                             ; preds = %5939
  br label %5941

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

5942:                                             ; No predecessors!
  br label %5943

5943:                                             ; preds = %5942
  br label %5944

5944:                                             ; preds = %5943, %5883
  br label %5945

5945:                                             ; preds = %5944
  br label %5946

5946:                                             ; preds = %5945
  br label %5947

5947:                                             ; preds = %5946
  br label %5948

5948:                                             ; preds = %5947
  br label %5949

5949:                                             ; preds = %5948
  %5950 = load i32, ptr @test_count, align 4, !tbaa !5
  %5951 = add nsw i32 %5950, 1
  store i32 %5951, ptr @test_count, align 4, !tbaa !5
  %5952 = load ptr, ptr %112, align 8, !tbaa !9
  %5953 = call i32 @s2n_process_alert_fragment(ptr noundef %5952)
  %5954 = icmp eq i32 %5953, -1
  br i1 %5954, label %6008, label %5955

5955:                                             ; preds = %5949
  br label %5956

5956:                                             ; preds = %5955
  br label %5957

5957:                                             ; preds = %5956
  call void @llvm.lifetime.start.p0(i64 4, ptr %116) #9
  %5958 = call ptr @__errno_location() #10
  %5959 = load i32, ptr %5958, align 4, !tbaa !5
  store i32 %5959, ptr %116, align 4, !tbaa !5
  %5960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5961 = call i32 @s2n_print_stacktrace(ptr noundef %5960)
  %5962 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5963 = trunc i8 %5962 to i1
  br i1 %5963, label %5964, label %5986

5964:                                             ; preds = %5957
  %5965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5966 = call i32 @fileno(ptr noundef %5965) #9
  %5967 = call i32 @isatty(i32 noundef %5966) #9
  %5968 = icmp ne i32 %5967, 0
  br i1 %5968, label %5969, label %5986

5969:                                             ; preds = %5964
  %5970 = load i32, ptr %116, align 4, !tbaa !5
  %5971 = call ptr @__errno_location() #10
  store i32 %5970, ptr %5971, align 4, !tbaa !5
  %5972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5973 = load i32, ptr @test_count, align 4, !tbaa !5
  %5974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5975 = load i32, ptr %5974, align 4, !tbaa !5
  %5976 = call ptr @s2n_strerror(i32 noundef %5975, ptr noundef @.str.4)
  %5977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5978 = load i32, ptr %5977, align 4, !tbaa !5
  %5979 = call ptr @s2n_strerror_debug(i32 noundef %5978, ptr noundef @.str.4)
  %5980 = call ptr @__errno_location() #10
  %5981 = load i32, ptr %5980, align 4, !tbaa !5
  %5982 = call ptr @strerror(i32 noundef %5981) #9
  %5983 = call ptr @__errno_location() #10
  %5984 = load i32, ptr %5983, align 4, !tbaa !5
  %5985 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5972, ptr noundef @.str.2, i32 noundef %5973, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 246, ptr noundef %5976, ptr noundef %5979, ptr noundef %5982, i32 noundef %5984) #9
  br label %6003

5986:                                             ; preds = %5964, %5957
  %5987 = load i32, ptr %116, align 4, !tbaa !5
  %5988 = call ptr @__errno_location() #10
  store i32 %5987, ptr %5988, align 4, !tbaa !5
  %5989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5990 = load i32, ptr @test_count, align 4, !tbaa !5
  %5991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5992 = load i32, ptr %5991, align 4, !tbaa !5
  %5993 = call ptr @s2n_strerror(i32 noundef %5992, ptr noundef @.str.4)
  %5994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5995 = load i32, ptr %5994, align 4, !tbaa !5
  %5996 = call ptr @s2n_strerror_debug(i32 noundef %5995, ptr noundef @.str.4)
  %5997 = call ptr @__errno_location() #10
  %5998 = load i32, ptr %5997, align 4, !tbaa !5
  %5999 = call ptr @strerror(i32 noundef %5998) #9
  %6000 = call ptr @__errno_location() #10
  %6001 = load i32, ptr %6000, align 4, !tbaa !5
  %6002 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5989, ptr noundef @.str.5, i32 noundef %5990, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 246, ptr noundef %5993, ptr noundef %5996, ptr noundef %5999, i32 noundef %6001) #9
  br label %6003

6003:                                             ; preds = %5986, %5969
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #9
  br label %6004

6004:                                             ; preds = %6003
  br label %6005

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

6006:                                             ; No predecessors!
  br label %6007

6007:                                             ; preds = %6006
  br label %6008

6008:                                             ; preds = %6007, %5949
  br label %6009

6009:                                             ; preds = %6008
  br label %6010

6010:                                             ; preds = %6009
  br label %6011

6011:                                             ; preds = %6010
  %6012 = load i32, ptr @test_count, align 4, !tbaa !5
  %6013 = add nsw i32 %6012, 1
  store i32 %6013, ptr @test_count, align 4, !tbaa !5
  %6014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6015 = load i32, ptr %6014, align 4, !tbaa !5
  %6016 = icmp eq i32 %6015, 268435456
  br i1 %6016, label %6070, label %6017

6017:                                             ; preds = %6011
  br label %6018

6018:                                             ; preds = %6017
  br label %6019

6019:                                             ; preds = %6018
  call void @llvm.lifetime.start.p0(i64 4, ptr %117) #9
  %6020 = call ptr @__errno_location() #10
  %6021 = load i32, ptr %6020, align 4, !tbaa !5
  store i32 %6021, ptr %117, align 4, !tbaa !5
  %6022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6023 = call i32 @s2n_print_stacktrace(ptr noundef %6022)
  %6024 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6025 = trunc i8 %6024 to i1
  br i1 %6025, label %6026, label %6048

6026:                                             ; preds = %6019
  %6027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6028 = call i32 @fileno(ptr noundef %6027) #9
  %6029 = call i32 @isatty(i32 noundef %6028) #9
  %6030 = icmp ne i32 %6029, 0
  br i1 %6030, label %6031, label %6048

6031:                                             ; preds = %6026
  %6032 = load i32, ptr %117, align 4, !tbaa !5
  %6033 = call ptr @__errno_location() #10
  store i32 %6032, ptr %6033, align 4, !tbaa !5
  %6034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6035 = load i32, ptr @test_count, align 4, !tbaa !5
  %6036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6037 = load i32, ptr %6036, align 4, !tbaa !5
  %6038 = call ptr @s2n_strerror(i32 noundef %6037, ptr noundef @.str.4)
  %6039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6040 = load i32, ptr %6039, align 4, !tbaa !5
  %6041 = call ptr @s2n_strerror_debug(i32 noundef %6040, ptr noundef @.str.4)
  %6042 = call ptr @__errno_location() #10
  %6043 = load i32, ptr %6042, align 4, !tbaa !5
  %6044 = call ptr @strerror(i32 noundef %6043) #9
  %6045 = call ptr @__errno_location() #10
  %6046 = load i32, ptr %6045, align 4, !tbaa !5
  %6047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6034, ptr noundef @.str.2, i32 noundef %6035, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 246, ptr noundef %6038, ptr noundef %6041, ptr noundef %6044, i32 noundef %6046) #9
  br label %6065

6048:                                             ; preds = %6026, %6019
  %6049 = load i32, ptr %117, align 4, !tbaa !5
  %6050 = call ptr @__errno_location() #10
  store i32 %6049, ptr %6050, align 4, !tbaa !5
  %6051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6052 = load i32, ptr @test_count, align 4, !tbaa !5
  %6053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6054 = load i32, ptr %6053, align 4, !tbaa !5
  %6055 = call ptr @s2n_strerror(i32 noundef %6054, ptr noundef @.str.4)
  %6056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6057 = load i32, ptr %6056, align 4, !tbaa !5
  %6058 = call ptr @s2n_strerror_debug(i32 noundef %6057, ptr noundef @.str.4)
  %6059 = call ptr @__errno_location() #10
  %6060 = load i32, ptr %6059, align 4, !tbaa !5
  %6061 = call ptr @strerror(i32 noundef %6060) #9
  %6062 = call ptr @__errno_location() #10
  %6063 = load i32, ptr %6062, align 4, !tbaa !5
  %6064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6051, ptr noundef @.str.5, i32 noundef %6052, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 246, ptr noundef %6055, ptr noundef %6058, ptr noundef %6061, i32 noundef %6063) #9
  br label %6065

6065:                                             ; preds = %6048, %6031
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #9
  br label %6066

6066:                                             ; preds = %6065
  br label %6067

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

6068:                                             ; No predecessors!
  br label %6069

6069:                                             ; preds = %6068
  br label %6070

6070:                                             ; preds = %6069, %6011
  br label %6071

6071:                                             ; preds = %6070
  br label %6072

6072:                                             ; preds = %6071
  br label %6073

6073:                                             ; preds = %6072
  %6074 = load i32, ptr @test_count, align 4, !tbaa !5
  %6075 = add nsw i32 %6074, 1
  store i32 %6075, ptr @test_count, align 4, !tbaa !5
  %6076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6077 = load i32, ptr %6076, align 4, !tbaa !5
  %6078 = call ptr @s2n_strerror_debug(i32 noundef %6077, ptr noundef @.str.4)
  %6079 = icmp eq ptr %6078, null
  br i1 %6079, label %6080, label %6133

6080:                                             ; preds = %6073
  br label %6081

6081:                                             ; preds = %6080
  br label %6082

6082:                                             ; preds = %6081
  call void @llvm.lifetime.start.p0(i64 4, ptr %118) #9
  %6083 = call ptr @__errno_location() #10
  %6084 = load i32, ptr %6083, align 4, !tbaa !5
  store i32 %6084, ptr %118, align 4, !tbaa !5
  %6085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6086 = call i32 @s2n_print_stacktrace(ptr noundef %6085)
  %6087 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6088 = trunc i8 %6087 to i1
  br i1 %6088, label %6089, label %6111

6089:                                             ; preds = %6082
  %6090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6091 = call i32 @fileno(ptr noundef %6090) #9
  %6092 = call i32 @isatty(i32 noundef %6091) #9
  %6093 = icmp ne i32 %6092, 0
  br i1 %6093, label %6094, label %6111

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

6111:                                             ; preds = %6089, %6082
  %6112 = load i32, ptr %118, align 4, !tbaa !5
  %6113 = call ptr @__errno_location() #10
  store i32 %6112, ptr %6113, align 4, !tbaa !5
  %6114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6115 = load i32, ptr @test_count, align 4, !tbaa !5
  %6116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6117 = load i32, ptr %6116, align 4, !tbaa !5
  %6118 = call ptr @s2n_strerror(i32 noundef %6117, ptr noundef @.str.4)
  %6119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6120 = load i32, ptr %6119, align 4, !tbaa !5
  %6121 = call ptr @s2n_strerror_debug(i32 noundef %6120, ptr noundef @.str.4)
  %6122 = call ptr @__errno_location() #10
  %6123 = load i32, ptr %6122, align 4, !tbaa !5
  %6124 = call ptr @strerror(i32 noundef %6123) #9
  %6125 = call ptr @__errno_location() #10
  %6126 = load i32, ptr %6125, align 4, !tbaa !5
  %6127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6114, ptr noundef @.str.5, i32 noundef %6115, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 246, ptr noundef %6118, ptr noundef %6121, ptr noundef %6124, i32 noundef %6126) #9
  br label %6128

6128:                                             ; preds = %6111, %6094
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #9
  br label %6129

6129:                                             ; preds = %6128
  br label %6130

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

6131:                                             ; No predecessors!
  br label %6132

6132:                                             ; preds = %6131
  br label %6133

6133:                                             ; preds = %6132, %6073
  br label %6134

6134:                                             ; preds = %6133
  br label %6135

6135:                                             ; preds = %6134
  br label %6136

6136:                                             ; preds = %6135
  br label %6137

6137:                                             ; preds = %6136
  br label %6138

6138:                                             ; preds = %6137
  %6139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6139, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6140 = call ptr @__errno_location() #10
  store i32 0, ptr %6140, align 4, !tbaa !5
  br label %6141

6141:                                             ; preds = %6138
  br label %6142

6142:                                             ; preds = %6141
  br label %6143

6143:                                             ; preds = %6142
  br label %6144

6144:                                             ; preds = %6143
  br label %6145

6145:                                             ; preds = %6144
  %6146 = load i32, ptr @test_count, align 4, !tbaa !5
  %6147 = add nsw i32 %6146, 1
  store i32 %6147, ptr @test_count, align 4, !tbaa !5
  %6148 = load ptr, ptr %112, align 8, !tbaa !9
  %6149 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %6148, i32 noundef 3)
  br i1 %6149, label %6203, label %6150

6150:                                             ; preds = %6145
  br label %6151

6151:                                             ; preds = %6150
  br label %6152

6152:                                             ; preds = %6151
  call void @llvm.lifetime.start.p0(i64 4, ptr %119) #9
  %6153 = call ptr @__errno_location() #10
  %6154 = load i32, ptr %6153, align 4, !tbaa !5
  store i32 %6154, ptr %119, align 4, !tbaa !5
  %6155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6156 = call i32 @s2n_print_stacktrace(ptr noundef %6155)
  %6157 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6158 = trunc i8 %6157 to i1
  br i1 %6158, label %6159, label %6181

6159:                                             ; preds = %6152
  %6160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6161 = call i32 @fileno(ptr noundef %6160) #9
  %6162 = call i32 @isatty(i32 noundef %6161) #9
  %6163 = icmp ne i32 %6162, 0
  br i1 %6163, label %6164, label %6181

6164:                                             ; preds = %6159
  %6165 = load i32, ptr %119, align 4, !tbaa !5
  %6166 = call ptr @__errno_location() #10
  store i32 %6165, ptr %6166, align 4, !tbaa !5
  %6167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6168 = load i32, ptr @test_count, align 4, !tbaa !5
  %6169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6170 = load i32, ptr %6169, align 4, !tbaa !5
  %6171 = call ptr @s2n_strerror(i32 noundef %6170, ptr noundef @.str.4)
  %6172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6173 = load i32, ptr %6172, align 4, !tbaa !5
  %6174 = call ptr @s2n_strerror_debug(i32 noundef %6173, ptr noundef @.str.4)
  %6175 = call ptr @__errno_location() #10
  %6176 = load i32, ptr %6175, align 4, !tbaa !5
  %6177 = call ptr @strerror(i32 noundef %6176) #9
  %6178 = call ptr @__errno_location() #10
  %6179 = load i32, ptr %6178, align 4, !tbaa !5
  %6180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6167, ptr noundef @.str.2, i32 noundef %6168, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 247, ptr noundef %6171, ptr noundef %6174, ptr noundef %6177, i32 noundef %6179) #9
  br label %6198

6181:                                             ; preds = %6159, %6152
  %6182 = load i32, ptr %119, align 4, !tbaa !5
  %6183 = call ptr @__errno_location() #10
  store i32 %6182, ptr %6183, align 4, !tbaa !5
  %6184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6185 = load i32, ptr @test_count, align 4, !tbaa !5
  %6186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6187 = load i32, ptr %6186, align 4, !tbaa !5
  %6188 = call ptr @s2n_strerror(i32 noundef %6187, ptr noundef @.str.4)
  %6189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6190 = load i32, ptr %6189, align 4, !tbaa !5
  %6191 = call ptr @s2n_strerror_debug(i32 noundef %6190, ptr noundef @.str.4)
  %6192 = call ptr @__errno_location() #10
  %6193 = load i32, ptr %6192, align 4, !tbaa !5
  %6194 = call ptr @strerror(i32 noundef %6193) #9
  %6195 = call ptr @__errno_location() #10
  %6196 = load i32, ptr %6195, align 4, !tbaa !5
  %6197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6184, ptr noundef @.str.5, i32 noundef %6185, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 247, ptr noundef %6188, ptr noundef %6191, ptr noundef %6194, i32 noundef %6196) #9
  br label %6198

6198:                                             ; preds = %6181, %6164
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #9
  br label %6199

6199:                                             ; preds = %6198
  br label %6200

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

6201:                                             ; No predecessors!
  br label %6202

6202:                                             ; preds = %6201
  br label %6203

6203:                                             ; preds = %6202, %6145
  br label %6204

6204:                                             ; preds = %6203
  br label %6205

6205:                                             ; preds = %6204
  br label %6206

6206:                                             ; preds = %6205
  %6207 = load i32, ptr @test_count, align 4, !tbaa !5
  %6208 = add nsw i32 %6207, 1
  store i32 %6208, ptr @test_count, align 4, !tbaa !5
  %6209 = load ptr, ptr %112, align 8, !tbaa !9
  %6210 = call i32 @s2n_connection_free(ptr noundef %6209)
  %6211 = icmp eq i32 %6210, -1
  br i1 %6211, label %6212, label %6265

6212:                                             ; preds = %6206
  br label %6213

6213:                                             ; preds = %6212
  br label %6214

6214:                                             ; preds = %6213
  call void @llvm.lifetime.start.p0(i64 4, ptr %120) #9
  %6215 = call ptr @__errno_location() #10
  %6216 = load i32, ptr %6215, align 4, !tbaa !5
  store i32 %6216, ptr %120, align 4, !tbaa !5
  %6217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6218 = call i32 @s2n_print_stacktrace(ptr noundef %6217)
  %6219 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6220 = trunc i8 %6219 to i1
  br i1 %6220, label %6221, label %6243

6221:                                             ; preds = %6214
  %6222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6223 = call i32 @fileno(ptr noundef %6222) #9
  %6224 = call i32 @isatty(i32 noundef %6223) #9
  %6225 = icmp ne i32 %6224, 0
  br i1 %6225, label %6226, label %6243

6226:                                             ; preds = %6221
  %6227 = load i32, ptr %120, align 4, !tbaa !5
  %6228 = call ptr @__errno_location() #10
  store i32 %6227, ptr %6228, align 4, !tbaa !5
  %6229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6230 = load i32, ptr @test_count, align 4, !tbaa !5
  %6231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6232 = load i32, ptr %6231, align 4, !tbaa !5
  %6233 = call ptr @s2n_strerror(i32 noundef %6232, ptr noundef @.str.4)
  %6234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6235 = load i32, ptr %6234, align 4, !tbaa !5
  %6236 = call ptr @s2n_strerror_debug(i32 noundef %6235, ptr noundef @.str.4)
  %6237 = call ptr @__errno_location() #10
  %6238 = load i32, ptr %6237, align 4, !tbaa !5
  %6239 = call ptr @strerror(i32 noundef %6238) #9
  %6240 = call ptr @__errno_location() #10
  %6241 = load i32, ptr %6240, align 4, !tbaa !5
  %6242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6229, ptr noundef @.str.2, i32 noundef %6230, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 249, ptr noundef %6233, ptr noundef %6236, ptr noundef %6239, i32 noundef %6241) #9
  br label %6260

6243:                                             ; preds = %6221, %6214
  %6244 = load i32, ptr %120, align 4, !tbaa !5
  %6245 = call ptr @__errno_location() #10
  store i32 %6244, ptr %6245, align 4, !tbaa !5
  %6246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6247 = load i32, ptr @test_count, align 4, !tbaa !5
  %6248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6249 = load i32, ptr %6248, align 4, !tbaa !5
  %6250 = call ptr @s2n_strerror(i32 noundef %6249, ptr noundef @.str.4)
  %6251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6252 = load i32, ptr %6251, align 4, !tbaa !5
  %6253 = call ptr @s2n_strerror_debug(i32 noundef %6252, ptr noundef @.str.4)
  %6254 = call ptr @__errno_location() #10
  %6255 = load i32, ptr %6254, align 4, !tbaa !5
  %6256 = call ptr @strerror(i32 noundef %6255) #9
  %6257 = call ptr @__errno_location() #10
  %6258 = load i32, ptr %6257, align 4, !tbaa !5
  %6259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6246, ptr noundef @.str.5, i32 noundef %6247, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 249, ptr noundef %6250, ptr noundef %6253, ptr noundef %6256, i32 noundef %6258) #9
  br label %6260

6260:                                             ; preds = %6243, %6226
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #9
  br label %6261

6261:                                             ; preds = %6260
  br label %6262

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

6263:                                             ; No predecessors!
  br label %6264

6264:                                             ; preds = %6263
  br label %6265

6265:                                             ; preds = %6264, %6206
  br label %6266

6266:                                             ; preds = %6265
  br label %6267

6267:                                             ; preds = %6266
  br label %6268

6268:                                             ; preds = %6267
  %6269 = load i32, ptr @test_count, align 4, !tbaa !5
  %6270 = add nsw i32 %6269, 1
  store i32 %6270, ptr @test_count, align 4, !tbaa !5
  %6271 = load ptr, ptr %109, align 8, !tbaa !9
  %6272 = call i32 @s2n_config_free(ptr noundef %6271)
  %6273 = icmp eq i32 %6272, -1
  br i1 %6273, label %6274, label %6327

6274:                                             ; preds = %6268
  br label %6275

6275:                                             ; preds = %6274
  br label %6276

6276:                                             ; preds = %6275
  call void @llvm.lifetime.start.p0(i64 4, ptr %121) #9
  %6277 = call ptr @__errno_location() #10
  %6278 = load i32, ptr %6277, align 4, !tbaa !5
  store i32 %6278, ptr %121, align 4, !tbaa !5
  %6279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6280 = call i32 @s2n_print_stacktrace(ptr noundef %6279)
  %6281 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6282 = trunc i8 %6281 to i1
  br i1 %6282, label %6283, label %6305

6283:                                             ; preds = %6276
  %6284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6285 = call i32 @fileno(ptr noundef %6284) #9
  %6286 = call i32 @isatty(i32 noundef %6285) #9
  %6287 = icmp ne i32 %6286, 0
  br i1 %6287, label %6288, label %6305

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

6305:                                             ; preds = %6283, %6276
  %6306 = load i32, ptr %121, align 4, !tbaa !5
  %6307 = call ptr @__errno_location() #10
  store i32 %6306, ptr %6307, align 4, !tbaa !5
  %6308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6309 = load i32, ptr @test_count, align 4, !tbaa !5
  %6310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6311 = load i32, ptr %6310, align 4, !tbaa !5
  %6312 = call ptr @s2n_strerror(i32 noundef %6311, ptr noundef @.str.4)
  %6313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6314 = load i32, ptr %6313, align 4, !tbaa !5
  %6315 = call ptr @s2n_strerror_debug(i32 noundef %6314, ptr noundef @.str.4)
  %6316 = call ptr @__errno_location() #10
  %6317 = load i32, ptr %6316, align 4, !tbaa !5
  %6318 = call ptr @strerror(i32 noundef %6317) #9
  %6319 = call ptr @__errno_location() #10
  %6320 = load i32, ptr %6319, align 4, !tbaa !5
  %6321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6308, ptr noundef @.str.5, i32 noundef %6309, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 250, ptr noundef %6312, ptr noundef %6315, ptr noundef %6318, i32 noundef %6320) #9
  br label %6322

6322:                                             ; preds = %6305, %6288
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #9
  br label %6323

6323:                                             ; preds = %6322
  br label %6324

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

6325:                                             ; No predecessors!
  br label %6326

6326:                                             ; preds = %6325
  br label %6327

6327:                                             ; preds = %6326, %6268
  br label %6328

6328:                                             ; preds = %6327
  br label %6329

6329:                                             ; preds = %6328
  call void @llvm.lifetime.end.p0(i64 8, ptr %112) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %109) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %122) #9
  store ptr null, ptr %122, align 8, !tbaa !9
  br label %6330

6330:                                             ; preds = %6329
  %6331 = load i32, ptr @test_count, align 4, !tbaa !5
  %6332 = add nsw i32 %6331, 1
  store i32 %6332, ptr @test_count, align 4, !tbaa !5
  %6333 = call ptr @s2n_config_new()
  store ptr %6333, ptr %122, align 8, !tbaa !9
  %6334 = icmp eq ptr %6333, null
  br i1 %6334, label %6335, label %6388

6335:                                             ; preds = %6330
  br label %6336

6336:                                             ; preds = %6335
  br label %6337

6337:                                             ; preds = %6336
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #9
  %6338 = call ptr @__errno_location() #10
  %6339 = load i32, ptr %6338, align 4, !tbaa !5
  store i32 %6339, ptr %123, align 4, !tbaa !5
  %6340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6341 = call i32 @s2n_print_stacktrace(ptr noundef %6340)
  %6342 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6343 = trunc i8 %6342 to i1
  br i1 %6343, label %6344, label %6366

6344:                                             ; preds = %6337
  %6345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6346 = call i32 @fileno(ptr noundef %6345) #9
  %6347 = call i32 @isatty(i32 noundef %6346) #9
  %6348 = icmp ne i32 %6347, 0
  br i1 %6348, label %6349, label %6366

6349:                                             ; preds = %6344
  %6350 = load i32, ptr %123, 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.2, i32 noundef %6353, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 256, ptr noundef %6356, ptr noundef %6359, ptr noundef %6362, i32 noundef %6364) #9
  br label %6383

6366:                                             ; preds = %6344, %6337
  %6367 = load i32, ptr %123, align 4, !tbaa !5
  %6368 = call ptr @__errno_location() #10
  store i32 %6367, ptr %6368, align 4, !tbaa !5
  %6369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6370 = load i32, ptr @test_count, align 4, !tbaa !5
  %6371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6372 = load i32, ptr %6371, align 4, !tbaa !5
  %6373 = call ptr @s2n_strerror(i32 noundef %6372, ptr noundef @.str.4)
  %6374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6375 = load i32, ptr %6374, align 4, !tbaa !5
  %6376 = call ptr @s2n_strerror_debug(i32 noundef %6375, ptr noundef @.str.4)
  %6377 = call ptr @__errno_location() #10
  %6378 = load i32, ptr %6377, align 4, !tbaa !5
  %6379 = call ptr @strerror(i32 noundef %6378) #9
  %6380 = call ptr @__errno_location() #10
  %6381 = load i32, ptr %6380, align 4, !tbaa !5
  %6382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6369, ptr noundef @.str.5, i32 noundef %6370, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 256, ptr noundef %6373, ptr noundef %6376, ptr noundef %6379, i32 noundef %6381) #9
  br label %6383

6383:                                             ; preds = %6366, %6349
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #9
  br label %6384

6384:                                             ; preds = %6383
  br label %6385

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

6386:                                             ; No predecessors!
  br label %6387

6387:                                             ; preds = %6386
  br label %6388

6388:                                             ; preds = %6387, %6330
  br label %6389

6389:                                             ; preds = %6388
  br label %6390

6390:                                             ; preds = %6389
  call void @llvm.lifetime.start.p0(i64 8, ptr %124) #9
  store ptr null, ptr %124, align 8, !tbaa !9
  br label %6391

6391:                                             ; preds = %6390
  %6392 = load i32, ptr @test_count, align 4, !tbaa !5
  %6393 = add nsw i32 %6392, 1
  store i32 %6393, ptr @test_count, align 4, !tbaa !5
  %6394 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %6394, ptr %124, align 8, !tbaa !9
  %6395 = icmp eq ptr %6394, null
  br i1 %6395, label %6396, label %6449

6396:                                             ; preds = %6391
  br label %6397

6397:                                             ; preds = %6396
  br label %6398

6398:                                             ; preds = %6397
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #9
  %6399 = call ptr @__errno_location() #10
  %6400 = load i32, ptr %6399, align 4, !tbaa !5
  store i32 %6400, ptr %125, align 4, !tbaa !5
  %6401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6402 = call i32 @s2n_print_stacktrace(ptr noundef %6401)
  %6403 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6404 = trunc i8 %6403 to i1
  br i1 %6404, label %6405, label %6427

6405:                                             ; preds = %6398
  %6406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6407 = call i32 @fileno(ptr noundef %6406) #9
  %6408 = call i32 @isatty(i32 noundef %6407) #9
  %6409 = icmp ne i32 %6408, 0
  br i1 %6409, label %6410, label %6427

6410:                                             ; preds = %6405
  %6411 = load i32, ptr %125, align 4, !tbaa !5
  %6412 = call ptr @__errno_location() #10
  store i32 %6411, ptr %6412, align 4, !tbaa !5
  %6413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6414 = load i32, ptr @test_count, align 4, !tbaa !5
  %6415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6416 = load i32, ptr %6415, align 4, !tbaa !5
  %6417 = call ptr @s2n_strerror(i32 noundef %6416, ptr noundef @.str.4)
  %6418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6419 = load i32, ptr %6418, align 4, !tbaa !5
  %6420 = call ptr @s2n_strerror_debug(i32 noundef %6419, ptr noundef @.str.4)
  %6421 = call ptr @__errno_location() #10
  %6422 = load i32, ptr %6421, align 4, !tbaa !5
  %6423 = call ptr @strerror(i32 noundef %6422) #9
  %6424 = call ptr @__errno_location() #10
  %6425 = load i32, ptr %6424, align 4, !tbaa !5
  %6426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6413, ptr noundef @.str.2, i32 noundef %6414, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 259, ptr noundef %6417, ptr noundef %6420, ptr noundef %6423, i32 noundef %6425) #9
  br label %6444

6427:                                             ; preds = %6405, %6398
  %6428 = load i32, ptr %125, align 4, !tbaa !5
  %6429 = call ptr @__errno_location() #10
  store i32 %6428, ptr %6429, align 4, !tbaa !5
  %6430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6431 = load i32, ptr @test_count, align 4, !tbaa !5
  %6432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6433 = load i32, ptr %6432, align 4, !tbaa !5
  %6434 = call ptr @s2n_strerror(i32 noundef %6433, ptr noundef @.str.4)
  %6435 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6436 = load i32, ptr %6435, align 4, !tbaa !5
  %6437 = call ptr @s2n_strerror_debug(i32 noundef %6436, ptr noundef @.str.4)
  %6438 = call ptr @__errno_location() #10
  %6439 = load i32, ptr %6438, align 4, !tbaa !5
  %6440 = call ptr @strerror(i32 noundef %6439) #9
  %6441 = call ptr @__errno_location() #10
  %6442 = load i32, ptr %6441, align 4, !tbaa !5
  %6443 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6430, ptr noundef @.str.5, i32 noundef %6431, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 259, ptr noundef %6434, ptr noundef %6437, ptr noundef %6440, i32 noundef %6442) #9
  br label %6444

6444:                                             ; preds = %6427, %6410
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #9
  br label %6445

6445:                                             ; preds = %6444
  br label %6446

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

6447:                                             ; No predecessors!
  br label %6448

6448:                                             ; preds = %6447
  br label %6449

6449:                                             ; preds = %6448, %6391
  br label %6450

6450:                                             ; preds = %6449
  br label %6451

6451:                                             ; preds = %6450
  br label %6452

6452:                                             ; preds = %6451
  %6453 = load i32, ptr @test_count, align 4, !tbaa !5
  %6454 = add nsw i32 %6453, 1
  store i32 %6454, ptr @test_count, align 4, !tbaa !5
  %6455 = load ptr, ptr %124, align 8, !tbaa !9
  %6456 = load ptr, ptr %122, align 8, !tbaa !9
  %6457 = call i32 @s2n_connection_set_config(ptr noundef %6455, ptr noundef %6456)
  %6458 = icmp eq i32 %6457, -1
  br i1 %6458, label %6459, label %6512

6459:                                             ; preds = %6452
  br label %6460

6460:                                             ; preds = %6459
  br label %6461

6461:                                             ; preds = %6460
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #9
  %6462 = call ptr @__errno_location() #10
  %6463 = load i32, ptr %6462, align 4, !tbaa !5
  store i32 %6463, ptr %126, align 4, !tbaa !5
  %6464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6465 = call i32 @s2n_print_stacktrace(ptr noundef %6464)
  %6466 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6467 = trunc i8 %6466 to i1
  br i1 %6467, label %6468, label %6490

6468:                                             ; preds = %6461
  %6469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6470 = call i32 @fileno(ptr noundef %6469) #9
  %6471 = call i32 @isatty(i32 noundef %6470) #9
  %6472 = icmp ne i32 %6471, 0
  br i1 %6472, label %6473, label %6490

6473:                                             ; preds = %6468
  %6474 = load i32, ptr %126, align 4, !tbaa !5
  %6475 = call ptr @__errno_location() #10
  store i32 %6474, ptr %6475, align 4, !tbaa !5
  %6476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6477 = load i32, ptr @test_count, align 4, !tbaa !5
  %6478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6479 = load i32, ptr %6478, align 4, !tbaa !5
  %6480 = call ptr @s2n_strerror(i32 noundef %6479, ptr noundef @.str.4)
  %6481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6482 = load i32, ptr %6481, align 4, !tbaa !5
  %6483 = call ptr @s2n_strerror_debug(i32 noundef %6482, ptr noundef @.str.4)
  %6484 = call ptr @__errno_location() #10
  %6485 = load i32, ptr %6484, align 4, !tbaa !5
  %6486 = call ptr @strerror(i32 noundef %6485) #9
  %6487 = call ptr @__errno_location() #10
  %6488 = load i32, ptr %6487, align 4, !tbaa !5
  %6489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6476, ptr noundef @.str.2, i32 noundef %6477, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 260, ptr noundef %6480, ptr noundef %6483, ptr noundef %6486, i32 noundef %6488) #9
  br label %6507

6490:                                             ; preds = %6468, %6461
  %6491 = load i32, ptr %126, align 4, !tbaa !5
  %6492 = call ptr @__errno_location() #10
  store i32 %6491, ptr %6492, align 4, !tbaa !5
  %6493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6494 = load i32, ptr @test_count, align 4, !tbaa !5
  %6495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6496 = load i32, ptr %6495, align 4, !tbaa !5
  %6497 = call ptr @s2n_strerror(i32 noundef %6496, ptr noundef @.str.4)
  %6498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6499 = load i32, ptr %6498, align 4, !tbaa !5
  %6500 = call ptr @s2n_strerror_debug(i32 noundef %6499, ptr noundef @.str.4)
  %6501 = call ptr @__errno_location() #10
  %6502 = load i32, ptr %6501, align 4, !tbaa !5
  %6503 = call ptr @strerror(i32 noundef %6502) #9
  %6504 = call ptr @__errno_location() #10
  %6505 = load i32, ptr %6504, align 4, !tbaa !5
  %6506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6493, ptr noundef @.str.5, i32 noundef %6494, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 260, ptr noundef %6497, ptr noundef %6500, ptr noundef %6503, i32 noundef %6505) #9
  br label %6507

6507:                                             ; preds = %6490, %6473
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #9
  br label %6508

6508:                                             ; preds = %6507
  br label %6509

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

6510:                                             ; No predecessors!
  br label %6511

6511:                                             ; preds = %6510
  br label %6512

6512:                                             ; preds = %6511, %6452
  br label %6513

6513:                                             ; preds = %6512
  br label %6514

6514:                                             ; preds = %6513
  %6515 = load ptr, ptr %124, align 8, !tbaa !9
  %6516 = getelementptr inbounds %struct.s2n_connection, ptr %6515, i32 0, i32 23
  store i8 34, ptr %6516, align 4, !tbaa !53
  br label %6517

6517:                                             ; preds = %6514
  %6518 = load i32, ptr @test_count, align 4, !tbaa !5
  %6519 = add nsw i32 %6518, 1
  store i32 %6519, ptr @test_count, align 4, !tbaa !5
  %6520 = load ptr, ptr %124, align 8, !tbaa !9
  %6521 = getelementptr inbounds %struct.s2n_connection, ptr %6520, i32 0, i32 40
  %6522 = getelementptr inbounds [2 x i8], ptr %79, i64 0, i64 0
  %6523 = call i32 @s2n_stuffer_write_bytes(ptr noundef %6521, ptr noundef %6522, i32 noundef 2)
  %6524 = icmp eq i32 %6523, -1
  br i1 %6524, label %6525, label %6578

6525:                                             ; preds = %6517
  br label %6526

6526:                                             ; preds = %6525
  br label %6527

6527:                                             ; preds = %6526
  call void @llvm.lifetime.start.p0(i64 4, ptr %127) #9
  %6528 = call ptr @__errno_location() #10
  %6529 = load i32, ptr %6528, align 4, !tbaa !5
  store i32 %6529, ptr %127, align 4, !tbaa !5
  %6530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6531 = call i32 @s2n_print_stacktrace(ptr noundef %6530)
  %6532 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6533 = trunc i8 %6532 to i1
  br i1 %6533, label %6534, label %6556

6534:                                             ; preds = %6527
  %6535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6536 = call i32 @fileno(ptr noundef %6535) #9
  %6537 = call i32 @isatty(i32 noundef %6536) #9
  %6538 = icmp ne i32 %6537, 0
  br i1 %6538, label %6539, label %6556

6539:                                             ; preds = %6534
  %6540 = load i32, ptr %127, align 4, !tbaa !5
  %6541 = call ptr @__errno_location() #10
  store i32 %6540, ptr %6541, align 4, !tbaa !5
  %6542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6543 = load i32, ptr @test_count, align 4, !tbaa !5
  %6544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6545 = load i32, ptr %6544, align 4, !tbaa !5
  %6546 = call ptr @s2n_strerror(i32 noundef %6545, ptr noundef @.str.4)
  %6547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6548 = load i32, ptr %6547, align 4, !tbaa !5
  %6549 = call ptr @s2n_strerror_debug(i32 noundef %6548, ptr noundef @.str.4)
  %6550 = call ptr @__errno_location() #10
  %6551 = load i32, ptr %6550, align 4, !tbaa !5
  %6552 = call ptr @strerror(i32 noundef %6551) #9
  %6553 = call ptr @__errno_location() #10
  %6554 = load i32, ptr %6553, align 4, !tbaa !5
  %6555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6542, ptr noundef @.str.2, i32 noundef %6543, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 263, ptr noundef %6546, ptr noundef %6549, ptr noundef %6552, i32 noundef %6554) #9
  br label %6573

6556:                                             ; preds = %6534, %6527
  %6557 = load i32, ptr %127, align 4, !tbaa !5
  %6558 = call ptr @__errno_location() #10
  store i32 %6557, ptr %6558, align 4, !tbaa !5
  %6559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6560 = load i32, ptr @test_count, align 4, !tbaa !5
  %6561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6562 = load i32, ptr %6561, align 4, !tbaa !5
  %6563 = call ptr @s2n_strerror(i32 noundef %6562, ptr noundef @.str.4)
  %6564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6565 = load i32, ptr %6564, align 4, !tbaa !5
  %6566 = call ptr @s2n_strerror_debug(i32 noundef %6565, ptr noundef @.str.4)
  %6567 = call ptr @__errno_location() #10
  %6568 = load i32, ptr %6567, align 4, !tbaa !5
  %6569 = call ptr @strerror(i32 noundef %6568) #9
  %6570 = call ptr @__errno_location() #10
  %6571 = load i32, ptr %6570, align 4, !tbaa !5
  %6572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6559, ptr noundef @.str.5, i32 noundef %6560, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 263, ptr noundef %6563, ptr noundef %6566, ptr noundef %6569, i32 noundef %6571) #9
  br label %6573

6573:                                             ; preds = %6556, %6539
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #9
  br label %6574

6574:                                             ; preds = %6573
  br label %6575

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

6576:                                             ; No predecessors!
  br label %6577

6577:                                             ; preds = %6576
  br label %6578

6578:                                             ; preds = %6577, %6517
  br label %6579

6579:                                             ; preds = %6578
  br label %6580

6580:                                             ; preds = %6579
  br label %6581

6581:                                             ; preds = %6580
  %6582 = load i32, ptr @test_count, align 4, !tbaa !5
  %6583 = add nsw i32 %6582, 1
  store i32 %6583, ptr @test_count, align 4, !tbaa !5
  %6584 = load ptr, ptr %124, align 8, !tbaa !9
  %6585 = call i32 @s2n_process_alert_fragment(ptr noundef %6584)
  %6586 = icmp eq i32 %6585, -1
  br i1 %6586, label %6587, label %6640

6587:                                             ; preds = %6581
  br label %6588

6588:                                             ; preds = %6587
  br label %6589

6589:                                             ; preds = %6588
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #9
  %6590 = call ptr @__errno_location() #10
  %6591 = load i32, ptr %6590, align 4, !tbaa !5
  store i32 %6591, ptr %128, align 4, !tbaa !5
  %6592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6593 = call i32 @s2n_print_stacktrace(ptr noundef %6592)
  %6594 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6595 = trunc i8 %6594 to i1
  br i1 %6595, label %6596, label %6618

6596:                                             ; preds = %6589
  %6597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6598 = call i32 @fileno(ptr noundef %6597) #9
  %6599 = call i32 @isatty(i32 noundef %6598) #9
  %6600 = icmp ne i32 %6599, 0
  br i1 %6600, label %6601, label %6618

6601:                                             ; preds = %6596
  %6602 = load i32, ptr %128, align 4, !tbaa !5
  %6603 = call ptr @__errno_location() #10
  store i32 %6602, ptr %6603, align 4, !tbaa !5
  %6604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6605 = load i32, ptr @test_count, align 4, !tbaa !5
  %6606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6607 = load i32, ptr %6606, align 4, !tbaa !5
  %6608 = call ptr @s2n_strerror(i32 noundef %6607, ptr noundef @.str.4)
  %6609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6610 = load i32, ptr %6609, align 4, !tbaa !5
  %6611 = call ptr @s2n_strerror_debug(i32 noundef %6610, ptr noundef @.str.4)
  %6612 = call ptr @__errno_location() #10
  %6613 = load i32, ptr %6612, align 4, !tbaa !5
  %6614 = call ptr @strerror(i32 noundef %6613) #9
  %6615 = call ptr @__errno_location() #10
  %6616 = load i32, ptr %6615, align 4, !tbaa !5
  %6617 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6604, ptr noundef @.str.2, i32 noundef %6605, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 265, ptr noundef %6608, ptr noundef %6611, ptr noundef %6614, i32 noundef %6616) #9
  br label %6635

6618:                                             ; preds = %6596, %6589
  %6619 = load i32, ptr %128, align 4, !tbaa !5
  %6620 = call ptr @__errno_location() #10
  store i32 %6619, ptr %6620, align 4, !tbaa !5
  %6621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6622 = load i32, ptr @test_count, align 4, !tbaa !5
  %6623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6624 = load i32, ptr %6623, align 4, !tbaa !5
  %6625 = call ptr @s2n_strerror(i32 noundef %6624, ptr noundef @.str.4)
  %6626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6627 = load i32, ptr %6626, align 4, !tbaa !5
  %6628 = call ptr @s2n_strerror_debug(i32 noundef %6627, ptr noundef @.str.4)
  %6629 = call ptr @__errno_location() #10
  %6630 = load i32, ptr %6629, align 4, !tbaa !5
  %6631 = call ptr @strerror(i32 noundef %6630) #9
  %6632 = call ptr @__errno_location() #10
  %6633 = load i32, ptr %6632, align 4, !tbaa !5
  %6634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6621, ptr noundef @.str.5, i32 noundef %6622, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 265, ptr noundef %6625, ptr noundef %6628, ptr noundef %6631, i32 noundef %6633) #9
  br label %6635

6635:                                             ; preds = %6618, %6601
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #9
  br label %6636

6636:                                             ; preds = %6635
  br label %6637

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

6638:                                             ; No predecessors!
  br label %6639

6639:                                             ; preds = %6638
  br label %6640

6640:                                             ; preds = %6639, %6581
  br label %6641

6641:                                             ; preds = %6640
  br label %6642

6642:                                             ; preds = %6641
  br label %6643

6643:                                             ; preds = %6642
  %6644 = load i32, ptr @test_count, align 4, !tbaa !5
  %6645 = add nsw i32 %6644, 1
  store i32 %6645, ptr @test_count, align 4, !tbaa !5
  %6646 = load ptr, ptr %124, align 8, !tbaa !9
  %6647 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %6646, i32 noundef 2)
  br i1 %6647, label %6701, label %6648

6648:                                             ; preds = %6643
  br label %6649

6649:                                             ; preds = %6648
  br label %6650

6650:                                             ; preds = %6649
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #9
  %6651 = call ptr @__errno_location() #10
  %6652 = load i32, ptr %6651, align 4, !tbaa !5
  store i32 %6652, ptr %129, align 4, !tbaa !5
  %6653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6654 = call i32 @s2n_print_stacktrace(ptr noundef %6653)
  %6655 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6656 = trunc i8 %6655 to i1
  br i1 %6656, label %6657, label %6679

6657:                                             ; preds = %6650
  %6658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6659 = call i32 @fileno(ptr noundef %6658) #9
  %6660 = call i32 @isatty(i32 noundef %6659) #9
  %6661 = icmp ne i32 %6660, 0
  br i1 %6661, label %6662, label %6679

6662:                                             ; preds = %6657
  %6663 = load i32, ptr %129, 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.2, i32 noundef %6666, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 268, ptr noundef %6669, ptr noundef %6672, ptr noundef %6675, i32 noundef %6677) #9
  br label %6696

6679:                                             ; preds = %6657, %6650
  %6680 = load i32, ptr %129, align 4, !tbaa !5
  %6681 = call ptr @__errno_location() #10
  store i32 %6680, ptr %6681, align 4, !tbaa !5
  %6682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6683 = load i32, ptr @test_count, align 4, !tbaa !5
  %6684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6685 = load i32, ptr %6684, align 4, !tbaa !5
  %6686 = call ptr @s2n_strerror(i32 noundef %6685, ptr noundef @.str.4)
  %6687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6688 = load i32, ptr %6687, align 4, !tbaa !5
  %6689 = call ptr @s2n_strerror_debug(i32 noundef %6688, ptr noundef @.str.4)
  %6690 = call ptr @__errno_location() #10
  %6691 = load i32, ptr %6690, align 4, !tbaa !5
  %6692 = call ptr @strerror(i32 noundef %6691) #9
  %6693 = call ptr @__errno_location() #10
  %6694 = load i32, ptr %6693, align 4, !tbaa !5
  %6695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6682, ptr noundef @.str.5, i32 noundef %6683, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 268, ptr noundef %6686, ptr noundef %6689, ptr noundef %6692, i32 noundef %6694) #9
  br label %6696

6696:                                             ; preds = %6679, %6662
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #9
  br label %6697

6697:                                             ; preds = %6696
  br label %6698

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

6699:                                             ; No predecessors!
  br label %6700

6700:                                             ; preds = %6699
  br label %6701

6701:                                             ; preds = %6700, %6643
  br label %6702

6702:                                             ; preds = %6701
  br label %6703

6703:                                             ; preds = %6702
  br label %6704

6704:                                             ; preds = %6703
  %6705 = load i32, ptr @test_count, align 4, !tbaa !5
  %6706 = add nsw i32 %6705, 1
  store i32 %6706, ptr @test_count, align 4, !tbaa !5
  %6707 = load ptr, ptr %124, align 8, !tbaa !9
  %6708 = call i32 @s2n_connection_free(ptr noundef %6707)
  %6709 = icmp eq i32 %6708, -1
  br i1 %6709, label %6710, label %6763

6710:                                             ; preds = %6704
  br label %6711

6711:                                             ; preds = %6710
  br label %6712

6712:                                             ; preds = %6711
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #9
  %6713 = call ptr @__errno_location() #10
  %6714 = load i32, ptr %6713, align 4, !tbaa !5
  store i32 %6714, ptr %130, align 4, !tbaa !5
  %6715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6716 = call i32 @s2n_print_stacktrace(ptr noundef %6715)
  %6717 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6718 = trunc i8 %6717 to i1
  br i1 %6718, label %6719, label %6741

6719:                                             ; preds = %6712
  %6720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6721 = call i32 @fileno(ptr noundef %6720) #9
  %6722 = call i32 @isatty(i32 noundef %6721) #9
  %6723 = icmp ne i32 %6722, 0
  br i1 %6723, label %6724, label %6741

6724:                                             ; preds = %6719
  %6725 = load i32, ptr %130, 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.2, i32 noundef %6728, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 270, ptr noundef %6731, ptr noundef %6734, ptr noundef %6737, i32 noundef %6739) #9
  br label %6758

6741:                                             ; preds = %6719, %6712
  %6742 = load i32, ptr %130, align 4, !tbaa !5
  %6743 = call ptr @__errno_location() #10
  store i32 %6742, ptr %6743, align 4, !tbaa !5
  %6744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6745 = load i32, ptr @test_count, align 4, !tbaa !5
  %6746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6747 = load i32, ptr %6746, align 4, !tbaa !5
  %6748 = call ptr @s2n_strerror(i32 noundef %6747, ptr noundef @.str.4)
  %6749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6750 = load i32, ptr %6749, align 4, !tbaa !5
  %6751 = call ptr @s2n_strerror_debug(i32 noundef %6750, ptr noundef @.str.4)
  %6752 = call ptr @__errno_location() #10
  %6753 = load i32, ptr %6752, align 4, !tbaa !5
  %6754 = call ptr @strerror(i32 noundef %6753) #9
  %6755 = call ptr @__errno_location() #10
  %6756 = load i32, ptr %6755, align 4, !tbaa !5
  %6757 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6744, ptr noundef @.str.5, i32 noundef %6745, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 270, ptr noundef %6748, ptr noundef %6751, ptr noundef %6754, i32 noundef %6756) #9
  br label %6758

6758:                                             ; preds = %6741, %6724
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #9
  br label %6759

6759:                                             ; preds = %6758
  br label %6760

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

6761:                                             ; No predecessors!
  br label %6762

6762:                                             ; preds = %6761
  br label %6763

6763:                                             ; preds = %6762, %6704
  br label %6764

6764:                                             ; preds = %6763
  br label %6765

6765:                                             ; preds = %6764
  br label %6766

6766:                                             ; preds = %6765
  %6767 = load i32, ptr @test_count, align 4, !tbaa !5
  %6768 = add nsw i32 %6767, 1
  store i32 %6768, ptr @test_count, align 4, !tbaa !5
  %6769 = load ptr, ptr %122, align 8, !tbaa !9
  %6770 = call i32 @s2n_config_free(ptr noundef %6769)
  %6771 = icmp eq i32 %6770, -1
  br i1 %6771, label %6772, label %6825

6772:                                             ; preds = %6766
  br label %6773

6773:                                             ; preds = %6772
  br label %6774

6774:                                             ; preds = %6773
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #9
  %6775 = call ptr @__errno_location() #10
  %6776 = load i32, ptr %6775, align 4, !tbaa !5
  store i32 %6776, ptr %131, align 4, !tbaa !5
  %6777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6778 = call i32 @s2n_print_stacktrace(ptr noundef %6777)
  %6779 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6780 = trunc i8 %6779 to i1
  br i1 %6780, label %6781, label %6803

6781:                                             ; preds = %6774
  %6782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6783 = call i32 @fileno(ptr noundef %6782) #9
  %6784 = call i32 @isatty(i32 noundef %6783) #9
  %6785 = icmp ne i32 %6784, 0
  br i1 %6785, label %6786, label %6803

6786:                                             ; preds = %6781
  %6787 = load i32, ptr %131, 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.2, i32 noundef %6790, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 271, ptr noundef %6793, ptr noundef %6796, ptr noundef %6799, i32 noundef %6801) #9
  br label %6820

6803:                                             ; preds = %6781, %6774
  %6804 = load i32, ptr %131, align 4, !tbaa !5
  %6805 = call ptr @__errno_location() #10
  store i32 %6804, ptr %6805, align 4, !tbaa !5
  %6806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6807 = load i32, ptr @test_count, align 4, !tbaa !5
  %6808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6809 = load i32, ptr %6808, align 4, !tbaa !5
  %6810 = call ptr @s2n_strerror(i32 noundef %6809, ptr noundef @.str.4)
  %6811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6812 = load i32, ptr %6811, align 4, !tbaa !5
  %6813 = call ptr @s2n_strerror_debug(i32 noundef %6812, ptr noundef @.str.4)
  %6814 = call ptr @__errno_location() #10
  %6815 = load i32, ptr %6814, align 4, !tbaa !5
  %6816 = call ptr @strerror(i32 noundef %6815) #9
  %6817 = call ptr @__errno_location() #10
  %6818 = load i32, ptr %6817, align 4, !tbaa !5
  %6819 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6806, ptr noundef @.str.5, i32 noundef %6807, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 271, ptr noundef %6810, ptr noundef %6813, ptr noundef %6816, i32 noundef %6818) #9
  br label %6820

6820:                                             ; preds = %6803, %6786
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #9
  br label %6821

6821:                                             ; preds = %6820
  br label %6822

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

6823:                                             ; No predecessors!
  br label %6824

6824:                                             ; preds = %6823
  br label %6825

6825:                                             ; preds = %6824, %6766
  br label %6826

6826:                                             ; preds = %6825
  br label %6827

6827:                                             ; preds = %6826
  call void @llvm.lifetime.end.p0(i64 8, ptr %124) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %122) #9
  call void @llvm.lifetime.end.p0(i64 2, ptr %79) #9
  call void @llvm.lifetime.end.p0(i64 2, ptr %78) #9
  br label %6828

6828:                                             ; preds = %6827
  br label %6829

6829:                                             ; preds = %6828
  br label %6830

6830:                                             ; preds = %6829
  %6831 = load i32, ptr @test_count, align 4, !tbaa !5
  %6832 = add nsw i32 %6831, 1
  store i32 %6832, ptr @test_count, align 4, !tbaa !5
  %6833 = call i32 @s2n_queue_reader_unsupported_protocol_version_alert(ptr noundef null)
  %6834 = icmp eq i32 %6833, -1
  br i1 %6834, label %6886, label %6835

6835:                                             ; preds = %6830
  br label %6836

6836:                                             ; preds = %6835
  br label %6837

6837:                                             ; preds = %6836
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #9
  %6838 = call ptr @__errno_location() #10
  %6839 = load i32, ptr %6838, align 4, !tbaa !5
  store i32 %6839, ptr %132, align 4, !tbaa !5
  %6840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6841 = call i32 @s2n_print_stacktrace(ptr noundef %6840)
  %6842 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6843 = trunc i8 %6842 to i1
  br i1 %6843, label %6844, label %6866

6844:                                             ; preds = %6837
  %6845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6846 = call i32 @fileno(ptr noundef %6845) #9
  %6847 = call i32 @isatty(i32 noundef %6846) #9
  %6848 = icmp ne i32 %6847, 0
  br i1 %6848, label %6849, label %6866

6849:                                             ; preds = %6844
  %6850 = load i32, ptr %132, align 4, !tbaa !5
  %6851 = call ptr @__errno_location() #10
  store i32 %6850, ptr %6851, align 4, !tbaa !5
  %6852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6853 = load i32, ptr @test_count, align 4, !tbaa !5
  %6854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6855 = load i32, ptr %6854, align 4, !tbaa !5
  %6856 = call ptr @s2n_strerror(i32 noundef %6855, ptr noundef @.str.4)
  %6857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6858 = load i32, ptr %6857, align 4, !tbaa !5
  %6859 = call ptr @s2n_strerror_debug(i32 noundef %6858, ptr noundef @.str.4)
  %6860 = call ptr @__errno_location() #10
  %6861 = load i32, ptr %6860, align 4, !tbaa !5
  %6862 = call ptr @strerror(i32 noundef %6861) #9
  %6863 = call ptr @__errno_location() #10
  %6864 = load i32, ptr %6863, align 4, !tbaa !5
  %6865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6852, ptr noundef @.str.2, i32 noundef %6853, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 280, ptr noundef %6856, ptr noundef %6859, ptr noundef %6862, i32 noundef %6864) #9
  br label %6883

6866:                                             ; preds = %6844, %6837
  %6867 = load i32, ptr %132, align 4, !tbaa !5
  %6868 = call ptr @__errno_location() #10
  store i32 %6867, ptr %6868, align 4, !tbaa !5
  %6869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6870 = load i32, ptr @test_count, align 4, !tbaa !5
  %6871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6872 = load i32, ptr %6871, align 4, !tbaa !5
  %6873 = call ptr @s2n_strerror(i32 noundef %6872, ptr noundef @.str.4)
  %6874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6875 = load i32, ptr %6874, align 4, !tbaa !5
  %6876 = call ptr @s2n_strerror_debug(i32 noundef %6875, ptr noundef @.str.4)
  %6877 = call ptr @__errno_location() #10
  %6878 = load i32, ptr %6877, align 4, !tbaa !5
  %6879 = call ptr @strerror(i32 noundef %6878) #9
  %6880 = call ptr @__errno_location() #10
  %6881 = load i32, ptr %6880, align 4, !tbaa !5
  %6882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6869, ptr noundef @.str.5, i32 noundef %6870, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 280, ptr noundef %6873, ptr noundef %6876, ptr noundef %6879, i32 noundef %6881) #9
  br label %6883

6883:                                             ; preds = %6866, %6849
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #9
  br label %6884

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

6885:                                             ; No predecessors!
  br label %6886

6886:                                             ; preds = %6885, %6830
  br label %6887

6887:                                             ; preds = %6886
  br label %6888

6888:                                             ; preds = %6887
  %6889 = load i32, ptr @test_count, align 4, !tbaa !5
  %6890 = add nsw i32 %6889, 1
  store i32 %6890, ptr @test_count, align 4, !tbaa !5
  %6891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6892 = load i32, ptr %6891, align 4, !tbaa !5
  %6893 = icmp eq i32 %6892, 402653193
  br i1 %6893, label %6945, label %6894

6894:                                             ; preds = %6888
  br label %6895

6895:                                             ; preds = %6894
  br label %6896

6896:                                             ; preds = %6895
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #9
  %6897 = call ptr @__errno_location() #10
  %6898 = load i32, ptr %6897, align 4, !tbaa !5
  store i32 %6898, ptr %133, align 4, !tbaa !5
  %6899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6900 = call i32 @s2n_print_stacktrace(ptr noundef %6899)
  %6901 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6902 = trunc i8 %6901 to i1
  br i1 %6902, label %6903, label %6925

6903:                                             ; preds = %6896
  %6904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6905 = call i32 @fileno(ptr noundef %6904) #9
  %6906 = call i32 @isatty(i32 noundef %6905) #9
  %6907 = icmp ne i32 %6906, 0
  br i1 %6907, label %6908, label %6925

6908:                                             ; preds = %6903
  %6909 = load i32, ptr %133, 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.2, i32 noundef %6912, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 280, ptr noundef %6915, ptr noundef %6918, ptr noundef %6921, i32 noundef %6923) #9
  br label %6942

6925:                                             ; preds = %6903, %6896
  %6926 = load i32, ptr %133, align 4, !tbaa !5
  %6927 = call ptr @__errno_location() #10
  store i32 %6926, ptr %6927, align 4, !tbaa !5
  %6928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6929 = load i32, ptr @test_count, align 4, !tbaa !5
  %6930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6931 = load i32, ptr %6930, align 4, !tbaa !5
  %6932 = call ptr @s2n_strerror(i32 noundef %6931, ptr noundef @.str.4)
  %6933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6934 = load i32, ptr %6933, align 4, !tbaa !5
  %6935 = call ptr @s2n_strerror_debug(i32 noundef %6934, ptr noundef @.str.4)
  %6936 = call ptr @__errno_location() #10
  %6937 = load i32, ptr %6936, align 4, !tbaa !5
  %6938 = call ptr @strerror(i32 noundef %6937) #9
  %6939 = call ptr @__errno_location() #10
  %6940 = load i32, ptr %6939, align 4, !tbaa !5
  %6941 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6928, ptr noundef @.str.5, i32 noundef %6929, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 280, ptr noundef %6932, ptr noundef %6935, ptr noundef %6938, i32 noundef %6940) #9
  br label %6942

6942:                                             ; preds = %6925, %6908
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #9
  br label %6943

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

6944:                                             ; No predecessors!
  br label %6945

6945:                                             ; preds = %6944, %6888
  br label %6946

6946:                                             ; preds = %6945
  br label %6947

6947:                                             ; preds = %6946
  %6948 = load i32, ptr @test_count, align 4, !tbaa !5
  %6949 = add nsw i32 %6948, 1
  store i32 %6949, ptr @test_count, align 4, !tbaa !5
  %6950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6951 = load i32, ptr %6950, align 4, !tbaa !5
  %6952 = call ptr @s2n_strerror_debug(i32 noundef %6951, ptr noundef @.str.4)
  %6953 = icmp eq ptr %6952, null
  br i1 %6953, label %6954, label %7005

6954:                                             ; preds = %6947
  br label %6955

6955:                                             ; preds = %6954
  br label %6956

6956:                                             ; preds = %6955
  call void @llvm.lifetime.start.p0(i64 4, ptr %134) #9
  %6957 = call ptr @__errno_location() #10
  %6958 = load i32, ptr %6957, align 4, !tbaa !5
  store i32 %6958, ptr %134, align 4, !tbaa !5
  %6959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6960 = call i32 @s2n_print_stacktrace(ptr noundef %6959)
  %6961 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6962 = trunc i8 %6961 to i1
  br i1 %6962, label %6963, label %6985

6963:                                             ; preds = %6956
  %6964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6965 = call i32 @fileno(ptr noundef %6964) #9
  %6966 = call i32 @isatty(i32 noundef %6965) #9
  %6967 = icmp ne i32 %6966, 0
  br i1 %6967, label %6968, label %6985

6968:                                             ; preds = %6963
  %6969 = load i32, ptr %134, align 4, !tbaa !5
  %6970 = call ptr @__errno_location() #10
  store i32 %6969, ptr %6970, align 4, !tbaa !5
  %6971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6972 = load i32, ptr @test_count, align 4, !tbaa !5
  %6973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6974 = load i32, ptr %6973, align 4, !tbaa !5
  %6975 = call ptr @s2n_strerror(i32 noundef %6974, ptr noundef @.str.4)
  %6976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6977 = load i32, ptr %6976, align 4, !tbaa !5
  %6978 = call ptr @s2n_strerror_debug(i32 noundef %6977, ptr noundef @.str.4)
  %6979 = call ptr @__errno_location() #10
  %6980 = load i32, ptr %6979, align 4, !tbaa !5
  %6981 = call ptr @strerror(i32 noundef %6980) #9
  %6982 = call ptr @__errno_location() #10
  %6983 = load i32, ptr %6982, align 4, !tbaa !5
  %6984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6971, ptr noundef @.str.2, i32 noundef %6972, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 280, ptr noundef %6975, ptr noundef %6978, ptr noundef %6981, i32 noundef %6983) #9
  br label %7002

6985:                                             ; preds = %6963, %6956
  %6986 = load i32, ptr %134, align 4, !tbaa !5
  %6987 = call ptr @__errno_location() #10
  store i32 %6986, ptr %6987, align 4, !tbaa !5
  %6988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6989 = load i32, ptr @test_count, align 4, !tbaa !5
  %6990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6991 = load i32, ptr %6990, align 4, !tbaa !5
  %6992 = call ptr @s2n_strerror(i32 noundef %6991, ptr noundef @.str.4)
  %6993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6994 = load i32, ptr %6993, align 4, !tbaa !5
  %6995 = call ptr @s2n_strerror_debug(i32 noundef %6994, ptr noundef @.str.4)
  %6996 = call ptr @__errno_location() #10
  %6997 = load i32, ptr %6996, align 4, !tbaa !5
  %6998 = call ptr @strerror(i32 noundef %6997) #9
  %6999 = call ptr @__errno_location() #10
  %7000 = load i32, ptr %6999, align 4, !tbaa !5
  %7001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6988, ptr noundef @.str.5, i32 noundef %6989, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 280, ptr noundef %6992, ptr noundef %6995, ptr noundef %6998, i32 noundef %7000) #9
  br label %7002

7002:                                             ; preds = %6985, %6968
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #9
  br label %7003

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

7004:                                             ; No predecessors!
  br label %7005

7005:                                             ; preds = %7004, %6947
  br label %7006

7006:                                             ; preds = %7005
  br label %7007

7007:                                             ; preds = %7006
  br label %7008

7008:                                             ; preds = %7007
  %7009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %7009, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %7010 = call ptr @__errno_location() #10
  store i32 0, ptr %7010, align 4, !tbaa !5
  br label %7011

7011:                                             ; preds = %7008
  br label %7012

7012:                                             ; preds = %7011
  br label %7013

7013:                                             ; preds = %7012
  br label %7014

7014:                                             ; preds = %7013
  br label %7015

7015:                                             ; preds = %7014
  %7016 = load i32, ptr @test_count, align 4, !tbaa !5
  %7017 = add nsw i32 %7016, 1
  store i32 %7017, ptr @test_count, align 4, !tbaa !5
  %7018 = call i32 @s2n_queue_reader_handshake_failure_alert(ptr noundef null)
  %7019 = icmp eq i32 %7018, -1
  br i1 %7019, label %7071, label %7020

7020:                                             ; preds = %7015
  br label %7021

7021:                                             ; preds = %7020
  br label %7022

7022:                                             ; preds = %7021
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #9
  %7023 = call ptr @__errno_location() #10
  %7024 = load i32, ptr %7023, align 4, !tbaa !5
  store i32 %7024, ptr %135, align 4, !tbaa !5
  %7025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7026 = call i32 @s2n_print_stacktrace(ptr noundef %7025)
  %7027 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7028 = trunc i8 %7027 to i1
  br i1 %7028, label %7029, label %7051

7029:                                             ; preds = %7022
  %7030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7031 = call i32 @fileno(ptr noundef %7030) #9
  %7032 = call i32 @isatty(i32 noundef %7031) #9
  %7033 = icmp ne i32 %7032, 0
  br i1 %7033, label %7034, label %7051

7034:                                             ; preds = %7029
  %7035 = load i32, ptr %135, align 4, !tbaa !5
  %7036 = call ptr @__errno_location() #10
  store i32 %7035, ptr %7036, align 4, !tbaa !5
  %7037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7038 = load i32, ptr @test_count, align 4, !tbaa !5
  %7039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7040 = load i32, ptr %7039, align 4, !tbaa !5
  %7041 = call ptr @s2n_strerror(i32 noundef %7040, ptr noundef @.str.4)
  %7042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7043 = load i32, ptr %7042, align 4, !tbaa !5
  %7044 = call ptr @s2n_strerror_debug(i32 noundef %7043, ptr noundef @.str.4)
  %7045 = call ptr @__errno_location() #10
  %7046 = load i32, ptr %7045, align 4, !tbaa !5
  %7047 = call ptr @strerror(i32 noundef %7046) #9
  %7048 = call ptr @__errno_location() #10
  %7049 = load i32, ptr %7048, align 4, !tbaa !5
  %7050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7037, ptr noundef @.str.2, i32 noundef %7038, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 282, ptr noundef %7041, ptr noundef %7044, ptr noundef %7047, i32 noundef %7049) #9
  br label %7068

7051:                                             ; preds = %7029, %7022
  %7052 = load i32, ptr %135, align 4, !tbaa !5
  %7053 = call ptr @__errno_location() #10
  store i32 %7052, ptr %7053, align 4, !tbaa !5
  %7054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7055 = load i32, ptr @test_count, align 4, !tbaa !5
  %7056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7057 = load i32, ptr %7056, align 4, !tbaa !5
  %7058 = call ptr @s2n_strerror(i32 noundef %7057, ptr noundef @.str.4)
  %7059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7060 = load i32, ptr %7059, align 4, !tbaa !5
  %7061 = call ptr @s2n_strerror_debug(i32 noundef %7060, ptr noundef @.str.4)
  %7062 = call ptr @__errno_location() #10
  %7063 = load i32, ptr %7062, align 4, !tbaa !5
  %7064 = call ptr @strerror(i32 noundef %7063) #9
  %7065 = call ptr @__errno_location() #10
  %7066 = load i32, ptr %7065, align 4, !tbaa !5
  %7067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7054, ptr noundef @.str.5, i32 noundef %7055, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 282, ptr noundef %7058, ptr noundef %7061, ptr noundef %7064, i32 noundef %7066) #9
  br label %7068

7068:                                             ; preds = %7051, %7034
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #9
  br label %7069

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

7070:                                             ; No predecessors!
  br label %7071

7071:                                             ; preds = %7070, %7015
  br label %7072

7072:                                             ; preds = %7071
  br label %7073

7073:                                             ; preds = %7072
  %7074 = load i32, ptr @test_count, align 4, !tbaa !5
  %7075 = add nsw i32 %7074, 1
  store i32 %7075, ptr @test_count, align 4, !tbaa !5
  %7076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7077 = load i32, ptr %7076, align 4, !tbaa !5
  %7078 = icmp eq i32 %7077, 402653193
  br i1 %7078, label %7130, label %7079

7079:                                             ; preds = %7073
  br label %7080

7080:                                             ; preds = %7079
  br label %7081

7081:                                             ; preds = %7080
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #9
  %7082 = call ptr @__errno_location() #10
  %7083 = load i32, ptr %7082, align 4, !tbaa !5
  store i32 %7083, ptr %136, align 4, !tbaa !5
  %7084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7085 = call i32 @s2n_print_stacktrace(ptr noundef %7084)
  %7086 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7087 = trunc i8 %7086 to i1
  br i1 %7087, label %7088, label %7110

7088:                                             ; preds = %7081
  %7089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7090 = call i32 @fileno(ptr noundef %7089) #9
  %7091 = call i32 @isatty(i32 noundef %7090) #9
  %7092 = icmp ne i32 %7091, 0
  br i1 %7092, label %7093, label %7110

7093:                                             ; preds = %7088
  %7094 = load i32, ptr %136, align 4, !tbaa !5
  %7095 = call ptr @__errno_location() #10
  store i32 %7094, ptr %7095, align 4, !tbaa !5
  %7096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7097 = load i32, ptr @test_count, align 4, !tbaa !5
  %7098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7099 = load i32, ptr %7098, align 4, !tbaa !5
  %7100 = call ptr @s2n_strerror(i32 noundef %7099, ptr noundef @.str.4)
  %7101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7102 = load i32, ptr %7101, align 4, !tbaa !5
  %7103 = call ptr @s2n_strerror_debug(i32 noundef %7102, ptr noundef @.str.4)
  %7104 = call ptr @__errno_location() #10
  %7105 = load i32, ptr %7104, align 4, !tbaa !5
  %7106 = call ptr @strerror(i32 noundef %7105) #9
  %7107 = call ptr @__errno_location() #10
  %7108 = load i32, ptr %7107, align 4, !tbaa !5
  %7109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7096, ptr noundef @.str.2, i32 noundef %7097, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 282, ptr noundef %7100, ptr noundef %7103, ptr noundef %7106, i32 noundef %7108) #9
  br label %7127

7110:                                             ; preds = %7088, %7081
  %7111 = load i32, ptr %136, align 4, !tbaa !5
  %7112 = call ptr @__errno_location() #10
  store i32 %7111, ptr %7112, align 4, !tbaa !5
  %7113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7114 = load i32, ptr @test_count, align 4, !tbaa !5
  %7115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7116 = load i32, ptr %7115, align 4, !tbaa !5
  %7117 = call ptr @s2n_strerror(i32 noundef %7116, ptr noundef @.str.4)
  %7118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7119 = load i32, ptr %7118, align 4, !tbaa !5
  %7120 = call ptr @s2n_strerror_debug(i32 noundef %7119, ptr noundef @.str.4)
  %7121 = call ptr @__errno_location() #10
  %7122 = load i32, ptr %7121, align 4, !tbaa !5
  %7123 = call ptr @strerror(i32 noundef %7122) #9
  %7124 = call ptr @__errno_location() #10
  %7125 = load i32, ptr %7124, align 4, !tbaa !5
  %7126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7113, ptr noundef @.str.5, i32 noundef %7114, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 282, ptr noundef %7117, ptr noundef %7120, ptr noundef %7123, i32 noundef %7125) #9
  br label %7127

7127:                                             ; preds = %7110, %7093
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #9
  br label %7128

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

7129:                                             ; No predecessors!
  br label %7130

7130:                                             ; preds = %7129, %7073
  br label %7131

7131:                                             ; preds = %7130
  br label %7132

7132:                                             ; preds = %7131
  %7133 = load i32, ptr @test_count, align 4, !tbaa !5
  %7134 = add nsw i32 %7133, 1
  store i32 %7134, ptr @test_count, align 4, !tbaa !5
  %7135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7136 = load i32, ptr %7135, align 4, !tbaa !5
  %7137 = call ptr @s2n_strerror_debug(i32 noundef %7136, ptr noundef @.str.4)
  %7138 = icmp eq ptr %7137, null
  br i1 %7138, label %7139, label %7190

7139:                                             ; preds = %7132
  br label %7140

7140:                                             ; preds = %7139
  br label %7141

7141:                                             ; preds = %7140
  call void @llvm.lifetime.start.p0(i64 4, ptr %137) #9
  %7142 = call ptr @__errno_location() #10
  %7143 = load i32, ptr %7142, align 4, !tbaa !5
  store i32 %7143, ptr %137, align 4, !tbaa !5
  %7144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7145 = call i32 @s2n_print_stacktrace(ptr noundef %7144)
  %7146 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7147 = trunc i8 %7146 to i1
  br i1 %7147, label %7148, label %7170

7148:                                             ; preds = %7141
  %7149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7150 = call i32 @fileno(ptr noundef %7149) #9
  %7151 = call i32 @isatty(i32 noundef %7150) #9
  %7152 = icmp ne i32 %7151, 0
  br i1 %7152, label %7153, label %7170

7153:                                             ; preds = %7148
  %7154 = load i32, ptr %137, align 4, !tbaa !5
  %7155 = call ptr @__errno_location() #10
  store i32 %7154, ptr %7155, align 4, !tbaa !5
  %7156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7157 = load i32, ptr @test_count, align 4, !tbaa !5
  %7158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7159 = load i32, ptr %7158, align 4, !tbaa !5
  %7160 = call ptr @s2n_strerror(i32 noundef %7159, ptr noundef @.str.4)
  %7161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7162 = load i32, ptr %7161, align 4, !tbaa !5
  %7163 = call ptr @s2n_strerror_debug(i32 noundef %7162, ptr noundef @.str.4)
  %7164 = call ptr @__errno_location() #10
  %7165 = load i32, ptr %7164, align 4, !tbaa !5
  %7166 = call ptr @strerror(i32 noundef %7165) #9
  %7167 = call ptr @__errno_location() #10
  %7168 = load i32, ptr %7167, align 4, !tbaa !5
  %7169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7156, ptr noundef @.str.2, i32 noundef %7157, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 282, ptr noundef %7160, ptr noundef %7163, ptr noundef %7166, i32 noundef %7168) #9
  br label %7187

7170:                                             ; preds = %7148, %7141
  %7171 = load i32, ptr %137, align 4, !tbaa !5
  %7172 = call ptr @__errno_location() #10
  store i32 %7171, ptr %7172, align 4, !tbaa !5
  %7173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7174 = load i32, ptr @test_count, align 4, !tbaa !5
  %7175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7176 = load i32, ptr %7175, align 4, !tbaa !5
  %7177 = call ptr @s2n_strerror(i32 noundef %7176, ptr noundef @.str.4)
  %7178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7179 = load i32, ptr %7178, align 4, !tbaa !5
  %7180 = call ptr @s2n_strerror_debug(i32 noundef %7179, ptr noundef @.str.4)
  %7181 = call ptr @__errno_location() #10
  %7182 = load i32, ptr %7181, align 4, !tbaa !5
  %7183 = call ptr @strerror(i32 noundef %7182) #9
  %7184 = call ptr @__errno_location() #10
  %7185 = load i32, ptr %7184, align 4, !tbaa !5
  %7186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7173, ptr noundef @.str.5, i32 noundef %7174, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 282, ptr noundef %7177, ptr noundef %7180, ptr noundef %7183, i32 noundef %7185) #9
  br label %7187

7187:                                             ; preds = %7170, %7153
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #9
  br label %7188

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

7189:                                             ; No predecessors!
  br label %7190

7190:                                             ; preds = %7189, %7132
  br label %7191

7191:                                             ; preds = %7190
  br label %7192

7192:                                             ; preds = %7191
  br label %7193

7193:                                             ; preds = %7192
  %7194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %7194, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %7195 = call ptr @__errno_location() #10
  store i32 0, ptr %7195, align 4, !tbaa !5
  br label %7196

7196:                                             ; preds = %7193
  br label %7197

7197:                                             ; preds = %7196
  call void @llvm.lifetime.start.p0(i64 8, ptr %138) #9
  %7198 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %7198, ptr %138, align 8, !tbaa !9
  br label %7199

7199:                                             ; preds = %7197
  %7200 = load i32, ptr @test_count, align 4, !tbaa !5
  %7201 = add nsw i32 %7200, 1
  store i32 %7201, ptr @test_count, align 4, !tbaa !5
  %7202 = load ptr, ptr %138, align 8, !tbaa !9
  %7203 = icmp eq ptr %7202, null
  br i1 %7203, label %7204, label %7257

7204:                                             ; preds = %7199
  br label %7205

7205:                                             ; preds = %7204
  br label %7206

7206:                                             ; preds = %7205
  call void @llvm.lifetime.start.p0(i64 4, ptr %139) #9
  %7207 = call ptr @__errno_location() #10
  %7208 = load i32, ptr %7207, align 4, !tbaa !5
  store i32 %7208, ptr %139, align 4, !tbaa !5
  %7209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7210 = call i32 @s2n_print_stacktrace(ptr noundef %7209)
  %7211 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7212 = trunc i8 %7211 to i1
  br i1 %7212, label %7213, label %7235

7213:                                             ; preds = %7206
  %7214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7215 = call i32 @fileno(ptr noundef %7214) #9
  %7216 = call i32 @isatty(i32 noundef %7215) #9
  %7217 = icmp ne i32 %7216, 0
  br i1 %7217, label %7218, label %7235

7218:                                             ; preds = %7213
  %7219 = load i32, ptr %139, align 4, !tbaa !5
  %7220 = call ptr @__errno_location() #10
  store i32 %7219, ptr %7220, align 4, !tbaa !5
  %7221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7222 = load i32, ptr @test_count, align 4, !tbaa !5
  %7223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7224 = load i32, ptr %7223, align 4, !tbaa !5
  %7225 = call ptr @s2n_strerror(i32 noundef %7224, ptr noundef @.str.4)
  %7226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7227 = load i32, ptr %7226, align 4, !tbaa !5
  %7228 = call ptr @s2n_strerror_debug(i32 noundef %7227, ptr noundef @.str.4)
  %7229 = call ptr @__errno_location() #10
  %7230 = load i32, ptr %7229, align 4, !tbaa !5
  %7231 = call ptr @strerror(i32 noundef %7230) #9
  %7232 = call ptr @__errno_location() #10
  %7233 = load i32, ptr %7232, align 4, !tbaa !5
  %7234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7221, ptr noundef @.str.2, i32 noundef %7222, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 286, ptr noundef %7225, ptr noundef %7228, ptr noundef %7231, i32 noundef %7233) #9
  br label %7252

7235:                                             ; preds = %7213, %7206
  %7236 = load i32, ptr %139, align 4, !tbaa !5
  %7237 = call ptr @__errno_location() #10
  store i32 %7236, ptr %7237, align 4, !tbaa !5
  %7238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7239 = load i32, ptr @test_count, align 4, !tbaa !5
  %7240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7241 = load i32, ptr %7240, align 4, !tbaa !5
  %7242 = call ptr @s2n_strerror(i32 noundef %7241, ptr noundef @.str.4)
  %7243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7244 = load i32, ptr %7243, align 4, !tbaa !5
  %7245 = call ptr @s2n_strerror_debug(i32 noundef %7244, ptr noundef @.str.4)
  %7246 = call ptr @__errno_location() #10
  %7247 = load i32, ptr %7246, align 4, !tbaa !5
  %7248 = call ptr @strerror(i32 noundef %7247) #9
  %7249 = call ptr @__errno_location() #10
  %7250 = load i32, ptr %7249, align 4, !tbaa !5
  %7251 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7238, ptr noundef @.str.5, i32 noundef %7239, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 286, ptr noundef %7242, ptr noundef %7245, ptr noundef %7248, i32 noundef %7250) #9
  br label %7252

7252:                                             ; preds = %7235, %7218
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #9
  br label %7253

7253:                                             ; preds = %7252
  br label %7254

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

7255:                                             ; No predecessors!
  br label %7256

7256:                                             ; preds = %7255
  br label %7257

7257:                                             ; preds = %7256, %7199
  br label %7258

7258:                                             ; preds = %7257
  br label %7259

7259:                                             ; preds = %7258
  br label %7260

7260:                                             ; preds = %7259
  %7261 = load i32, ptr @test_count, align 4, !tbaa !5
  %7262 = add nsw i32 %7261, 1
  store i32 %7262, ptr @test_count, align 4, !tbaa !5
  %7263 = load ptr, ptr %138, align 8, !tbaa !9
  %7264 = call i32 @s2n_queue_reader_unsupported_protocol_version_alert(ptr noundef %7263)
  %7265 = icmp eq i32 %7264, -1
  br i1 %7265, label %7266, label %7319

7266:                                             ; preds = %7260
  br label %7267

7267:                                             ; preds = %7266
  br label %7268

7268:                                             ; preds = %7267
  call void @llvm.lifetime.start.p0(i64 4, ptr %140) #9
  %7269 = call ptr @__errno_location() #10
  %7270 = load i32, ptr %7269, align 4, !tbaa !5
  store i32 %7270, ptr %140, align 4, !tbaa !5
  %7271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7272 = call i32 @s2n_print_stacktrace(ptr noundef %7271)
  %7273 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7274 = trunc i8 %7273 to i1
  br i1 %7274, label %7275, label %7297

7275:                                             ; preds = %7268
  %7276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7277 = call i32 @fileno(ptr noundef %7276) #9
  %7278 = call i32 @isatty(i32 noundef %7277) #9
  %7279 = icmp ne i32 %7278, 0
  br i1 %7279, label %7280, label %7297

7280:                                             ; preds = %7275
  %7281 = load i32, ptr %140, align 4, !tbaa !5
  %7282 = call ptr @__errno_location() #10
  store i32 %7281, ptr %7282, align 4, !tbaa !5
  %7283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7284 = load i32, ptr @test_count, align 4, !tbaa !5
  %7285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7286 = load i32, ptr %7285, align 4, !tbaa !5
  %7287 = call ptr @s2n_strerror(i32 noundef %7286, ptr noundef @.str.4)
  %7288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7289 = load i32, ptr %7288, align 4, !tbaa !5
  %7290 = call ptr @s2n_strerror_debug(i32 noundef %7289, ptr noundef @.str.4)
  %7291 = call ptr @__errno_location() #10
  %7292 = load i32, ptr %7291, align 4, !tbaa !5
  %7293 = call ptr @strerror(i32 noundef %7292) #9
  %7294 = call ptr @__errno_location() #10
  %7295 = load i32, ptr %7294, align 4, !tbaa !5
  %7296 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7283, ptr noundef @.str.2, i32 noundef %7284, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 289, ptr noundef %7287, ptr noundef %7290, ptr noundef %7293, i32 noundef %7295) #9
  br label %7314

7297:                                             ; preds = %7275, %7268
  %7298 = load i32, ptr %140, align 4, !tbaa !5
  %7299 = call ptr @__errno_location() #10
  store i32 %7298, ptr %7299, align 4, !tbaa !5
  %7300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7301 = load i32, ptr @test_count, align 4, !tbaa !5
  %7302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7303 = load i32, ptr %7302, align 4, !tbaa !5
  %7304 = call ptr @s2n_strerror(i32 noundef %7303, ptr noundef @.str.4)
  %7305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7306 = load i32, ptr %7305, align 4, !tbaa !5
  %7307 = call ptr @s2n_strerror_debug(i32 noundef %7306, ptr noundef @.str.4)
  %7308 = call ptr @__errno_location() #10
  %7309 = load i32, ptr %7308, align 4, !tbaa !5
  %7310 = call ptr @strerror(i32 noundef %7309) #9
  %7311 = call ptr @__errno_location() #10
  %7312 = load i32, ptr %7311, align 4, !tbaa !5
  %7313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7300, ptr noundef @.str.5, i32 noundef %7301, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 289, ptr noundef %7304, ptr noundef %7307, ptr noundef %7310, i32 noundef %7312) #9
  br label %7314

7314:                                             ; preds = %7297, %7280
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #9
  br label %7315

7315:                                             ; preds = %7314
  br label %7316

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

7317:                                             ; No predecessors!
  br label %7318

7318:                                             ; preds = %7317
  br label %7319

7319:                                             ; preds = %7318, %7260
  br label %7320

7320:                                             ; preds = %7319
  br label %7321

7321:                                             ; preds = %7320
  br label %7322

7322:                                             ; preds = %7321
  %7323 = load i32, ptr @test_count, align 4, !tbaa !5
  %7324 = add nsw i32 %7323, 1
  store i32 %7324, ptr @test_count, align 4, !tbaa !5
  %7325 = load ptr, ptr %138, align 8, !tbaa !9
  %7326 = getelementptr inbounds %struct.s2n_connection, ptr %7325, i32 0, i32 47
  %7327 = load i8, ptr %7326, align 1, !tbaa !54
  %7328 = zext i8 %7327 to i32
  %7329 = icmp eq i32 %7328, 70
  br i1 %7329, label %7383, label %7330

7330:                                             ; preds = %7322
  br label %7331

7331:                                             ; preds = %7330
  br label %7332

7332:                                             ; preds = %7331
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #9
  %7333 = call ptr @__errno_location() #10
  %7334 = load i32, ptr %7333, align 4, !tbaa !5
  store i32 %7334, ptr %141, align 4, !tbaa !5
  %7335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7336 = call i32 @s2n_print_stacktrace(ptr noundef %7335)
  %7337 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7338 = trunc i8 %7337 to i1
  br i1 %7338, label %7339, label %7361

7339:                                             ; preds = %7332
  %7340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7341 = call i32 @fileno(ptr noundef %7340) #9
  %7342 = call i32 @isatty(i32 noundef %7341) #9
  %7343 = icmp ne i32 %7342, 0
  br i1 %7343, label %7344, label %7361

7344:                                             ; preds = %7339
  %7345 = load i32, ptr %141, align 4, !tbaa !5
  %7346 = call ptr @__errno_location() #10
  store i32 %7345, ptr %7346, align 4, !tbaa !5
  %7347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7348 = load i32, ptr @test_count, align 4, !tbaa !5
  %7349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7350 = load i32, ptr %7349, align 4, !tbaa !5
  %7351 = call ptr @s2n_strerror(i32 noundef %7350, ptr noundef @.str.4)
  %7352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7353 = load i32, ptr %7352, align 4, !tbaa !5
  %7354 = call ptr @s2n_strerror_debug(i32 noundef %7353, ptr noundef @.str.4)
  %7355 = call ptr @__errno_location() #10
  %7356 = load i32, ptr %7355, align 4, !tbaa !5
  %7357 = call ptr @strerror(i32 noundef %7356) #9
  %7358 = call ptr @__errno_location() #10
  %7359 = load i32, ptr %7358, align 4, !tbaa !5
  %7360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7347, ptr noundef @.str.2, i32 noundef %7348, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 290, ptr noundef %7351, ptr noundef %7354, ptr noundef %7357, i32 noundef %7359) #9
  br label %7378

7361:                                             ; preds = %7339, %7332
  %7362 = load i32, ptr %141, align 4, !tbaa !5
  %7363 = call ptr @__errno_location() #10
  store i32 %7362, ptr %7363, align 4, !tbaa !5
  %7364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7365 = load i32, ptr @test_count, align 4, !tbaa !5
  %7366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7367 = load i32, ptr %7366, align 4, !tbaa !5
  %7368 = call ptr @s2n_strerror(i32 noundef %7367, ptr noundef @.str.4)
  %7369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7370 = load i32, ptr %7369, align 4, !tbaa !5
  %7371 = call ptr @s2n_strerror_debug(i32 noundef %7370, ptr noundef @.str.4)
  %7372 = call ptr @__errno_location() #10
  %7373 = load i32, ptr %7372, align 4, !tbaa !5
  %7374 = call ptr @strerror(i32 noundef %7373) #9
  %7375 = call ptr @__errno_location() #10
  %7376 = load i32, ptr %7375, align 4, !tbaa !5
  %7377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7364, ptr noundef @.str.5, i32 noundef %7365, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 290, ptr noundef %7368, ptr noundef %7371, ptr noundef %7374, i32 noundef %7376) #9
  br label %7378

7378:                                             ; preds = %7361, %7344
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #9
  br label %7379

7379:                                             ; preds = %7378
  br label %7380

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

7381:                                             ; No predecessors!
  br label %7382

7382:                                             ; preds = %7381
  br label %7383

7383:                                             ; preds = %7382, %7322
  br label %7384

7384:                                             ; preds = %7383
  br label %7385

7385:                                             ; preds = %7384
  br label %7386

7386:                                             ; preds = %7385
  %7387 = load i32, ptr @test_count, align 4, !tbaa !5
  %7388 = add nsw i32 %7387, 1
  store i32 %7388, ptr @test_count, align 4, !tbaa !5
  %7389 = load ptr, ptr %138, align 8, !tbaa !9
  %7390 = call i32 @s2n_queue_reader_handshake_failure_alert(ptr noundef %7389)
  %7391 = icmp eq i32 %7390, -1
  br i1 %7391, label %7392, label %7445

7392:                                             ; preds = %7386
  br label %7393

7393:                                             ; preds = %7392
  br label %7394

7394:                                             ; preds = %7393
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #9
  %7395 = call ptr @__errno_location() #10
  %7396 = load i32, ptr %7395, align 4, !tbaa !5
  store i32 %7396, ptr %142, align 4, !tbaa !5
  %7397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7398 = call i32 @s2n_print_stacktrace(ptr noundef %7397)
  %7399 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7400 = trunc i8 %7399 to i1
  br i1 %7400, label %7401, label %7423

7401:                                             ; preds = %7394
  %7402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7403 = call i32 @fileno(ptr noundef %7402) #9
  %7404 = call i32 @isatty(i32 noundef %7403) #9
  %7405 = icmp ne i32 %7404, 0
  br i1 %7405, label %7406, label %7423

7406:                                             ; preds = %7401
  %7407 = load i32, ptr %142, align 4, !tbaa !5
  %7408 = call ptr @__errno_location() #10
  store i32 %7407, ptr %7408, align 4, !tbaa !5
  %7409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7410 = load i32, ptr @test_count, align 4, !tbaa !5
  %7411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7412 = load i32, ptr %7411, align 4, !tbaa !5
  %7413 = call ptr @s2n_strerror(i32 noundef %7412, ptr noundef @.str.4)
  %7414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7415 = load i32, ptr %7414, align 4, !tbaa !5
  %7416 = call ptr @s2n_strerror_debug(i32 noundef %7415, ptr noundef @.str.4)
  %7417 = call ptr @__errno_location() #10
  %7418 = load i32, ptr %7417, align 4, !tbaa !5
  %7419 = call ptr @strerror(i32 noundef %7418) #9
  %7420 = call ptr @__errno_location() #10
  %7421 = load i32, ptr %7420, align 4, !tbaa !5
  %7422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7409, ptr noundef @.str.2, i32 noundef %7410, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 293, ptr noundef %7413, ptr noundef %7416, ptr noundef %7419, i32 noundef %7421) #9
  br label %7440

7423:                                             ; preds = %7401, %7394
  %7424 = load i32, ptr %142, align 4, !tbaa !5
  %7425 = call ptr @__errno_location() #10
  store i32 %7424, ptr %7425, align 4, !tbaa !5
  %7426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7427 = load i32, ptr @test_count, align 4, !tbaa !5
  %7428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7429 = load i32, ptr %7428, align 4, !tbaa !5
  %7430 = call ptr @s2n_strerror(i32 noundef %7429, ptr noundef @.str.4)
  %7431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7432 = load i32, ptr %7431, align 4, !tbaa !5
  %7433 = call ptr @s2n_strerror_debug(i32 noundef %7432, ptr noundef @.str.4)
  %7434 = call ptr @__errno_location() #10
  %7435 = load i32, ptr %7434, align 4, !tbaa !5
  %7436 = call ptr @strerror(i32 noundef %7435) #9
  %7437 = call ptr @__errno_location() #10
  %7438 = load i32, ptr %7437, align 4, !tbaa !5
  %7439 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7426, ptr noundef @.str.5, i32 noundef %7427, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 293, ptr noundef %7430, ptr noundef %7433, ptr noundef %7436, i32 noundef %7438) #9
  br label %7440

7440:                                             ; preds = %7423, %7406
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #9
  br label %7441

7441:                                             ; preds = %7440
  br label %7442

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

7443:                                             ; No predecessors!
  br label %7444

7444:                                             ; preds = %7443
  br label %7445

7445:                                             ; preds = %7444, %7386
  br label %7446

7446:                                             ; preds = %7445
  br label %7447

7447:                                             ; preds = %7446
  br label %7448

7448:                                             ; preds = %7447
  %7449 = load i32, ptr @test_count, align 4, !tbaa !5
  %7450 = add nsw i32 %7449, 1
  store i32 %7450, ptr @test_count, align 4, !tbaa !5
  %7451 = load ptr, ptr %138, align 8, !tbaa !9
  %7452 = getelementptr inbounds %struct.s2n_connection, ptr %7451, i32 0, i32 47
  %7453 = load i8, ptr %7452, align 1, !tbaa !54
  %7454 = zext i8 %7453 to i32
  %7455 = icmp eq i32 %7454, 70
  br i1 %7455, label %7509, label %7456

7456:                                             ; preds = %7448
  br label %7457

7457:                                             ; preds = %7456
  br label %7458

7458:                                             ; preds = %7457
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #9
  %7459 = call ptr @__errno_location() #10
  %7460 = load i32, ptr %7459, align 4, !tbaa !5
  store i32 %7460, ptr %143, align 4, !tbaa !5
  %7461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7462 = call i32 @s2n_print_stacktrace(ptr noundef %7461)
  %7463 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7464 = trunc i8 %7463 to i1
  br i1 %7464, label %7465, label %7487

7465:                                             ; preds = %7458
  %7466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7467 = call i32 @fileno(ptr noundef %7466) #9
  %7468 = call i32 @isatty(i32 noundef %7467) #9
  %7469 = icmp ne i32 %7468, 0
  br i1 %7469, label %7470, label %7487

7470:                                             ; preds = %7465
  %7471 = load i32, ptr %143, align 4, !tbaa !5
  %7472 = call ptr @__errno_location() #10
  store i32 %7471, ptr %7472, align 4, !tbaa !5
  %7473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7474 = load i32, ptr @test_count, align 4, !tbaa !5
  %7475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7476 = load i32, ptr %7475, align 4, !tbaa !5
  %7477 = call ptr @s2n_strerror(i32 noundef %7476, ptr noundef @.str.4)
  %7478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7479 = load i32, ptr %7478, align 4, !tbaa !5
  %7480 = call ptr @s2n_strerror_debug(i32 noundef %7479, ptr noundef @.str.4)
  %7481 = call ptr @__errno_location() #10
  %7482 = load i32, ptr %7481, align 4, !tbaa !5
  %7483 = call ptr @strerror(i32 noundef %7482) #9
  %7484 = call ptr @__errno_location() #10
  %7485 = load i32, ptr %7484, align 4, !tbaa !5
  %7486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7473, ptr noundef @.str.2, i32 noundef %7474, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 294, ptr noundef %7477, ptr noundef %7480, ptr noundef %7483, i32 noundef %7485) #9
  br label %7504

7487:                                             ; preds = %7465, %7458
  %7488 = load i32, ptr %143, align 4, !tbaa !5
  %7489 = call ptr @__errno_location() #10
  store i32 %7488, ptr %7489, align 4, !tbaa !5
  %7490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7491 = load i32, ptr @test_count, align 4, !tbaa !5
  %7492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7493 = load i32, ptr %7492, align 4, !tbaa !5
  %7494 = call ptr @s2n_strerror(i32 noundef %7493, ptr noundef @.str.4)
  %7495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7496 = load i32, ptr %7495, align 4, !tbaa !5
  %7497 = call ptr @s2n_strerror_debug(i32 noundef %7496, ptr noundef @.str.4)
  %7498 = call ptr @__errno_location() #10
  %7499 = load i32, ptr %7498, align 4, !tbaa !5
  %7500 = call ptr @strerror(i32 noundef %7499) #9
  %7501 = call ptr @__errno_location() #10
  %7502 = load i32, ptr %7501, align 4, !tbaa !5
  %7503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7490, ptr noundef @.str.5, i32 noundef %7491, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 294, ptr noundef %7494, ptr noundef %7497, ptr noundef %7500, i32 noundef %7502) #9
  br label %7504

7504:                                             ; preds = %7487, %7470
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #9
  br label %7505

7505:                                             ; preds = %7504
  br label %7506

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

7507:                                             ; No predecessors!
  br label %7508

7508:                                             ; preds = %7507
  br label %7509

7509:                                             ; preds = %7508, %7448
  br label %7510

7510:                                             ; preds = %7509
  br label %7511

7511:                                             ; preds = %7510
  %7512 = load ptr, ptr %138, align 8, !tbaa !9
  %7513 = getelementptr inbounds %struct.s2n_connection, ptr %7512, i32 0, i32 47
  store i8 0, ptr %7513, align 1, !tbaa !54
  br label %7514

7514:                                             ; preds = %7511
  %7515 = load i32, ptr @test_count, align 4, !tbaa !5
  %7516 = add nsw i32 %7515, 1
  store i32 %7516, ptr @test_count, align 4, !tbaa !5
  %7517 = load ptr, ptr %138, align 8, !tbaa !9
  %7518 = call i32 @s2n_queue_reader_handshake_failure_alert(ptr noundef %7517)
  %7519 = icmp eq i32 %7518, -1
  br i1 %7519, label %7520, label %7573

7520:                                             ; preds = %7514
  br label %7521

7521:                                             ; preds = %7520
  br label %7522

7522:                                             ; preds = %7521
  call void @llvm.lifetime.start.p0(i64 4, ptr %144) #9
  %7523 = call ptr @__errno_location() #10
  %7524 = load i32, ptr %7523, align 4, !tbaa !5
  store i32 %7524, ptr %144, align 4, !tbaa !5
  %7525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7526 = call i32 @s2n_print_stacktrace(ptr noundef %7525)
  %7527 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7528 = trunc i8 %7527 to i1
  br i1 %7528, label %7529, label %7551

7529:                                             ; preds = %7522
  %7530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7531 = call i32 @fileno(ptr noundef %7530) #9
  %7532 = call i32 @isatty(i32 noundef %7531) #9
  %7533 = icmp ne i32 %7532, 0
  br i1 %7533, label %7534, label %7551

7534:                                             ; preds = %7529
  %7535 = load i32, ptr %144, align 4, !tbaa !5
  %7536 = call ptr @__errno_location() #10
  store i32 %7535, ptr %7536, align 4, !tbaa !5
  %7537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7538 = load i32, ptr @test_count, align 4, !tbaa !5
  %7539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7540 = load i32, ptr %7539, align 4, !tbaa !5
  %7541 = call ptr @s2n_strerror(i32 noundef %7540, ptr noundef @.str.4)
  %7542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7543 = load i32, ptr %7542, align 4, !tbaa !5
  %7544 = call ptr @s2n_strerror_debug(i32 noundef %7543, ptr noundef @.str.4)
  %7545 = call ptr @__errno_location() #10
  %7546 = load i32, ptr %7545, align 4, !tbaa !5
  %7547 = call ptr @strerror(i32 noundef %7546) #9
  %7548 = call ptr @__errno_location() #10
  %7549 = load i32, ptr %7548, align 4, !tbaa !5
  %7550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7537, ptr noundef @.str.2, i32 noundef %7538, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 298, ptr noundef %7541, ptr noundef %7544, ptr noundef %7547, i32 noundef %7549) #9
  br label %7568

7551:                                             ; preds = %7529, %7522
  %7552 = load i32, ptr %144, align 4, !tbaa !5
  %7553 = call ptr @__errno_location() #10
  store i32 %7552, ptr %7553, align 4, !tbaa !5
  %7554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7555 = load i32, ptr @test_count, align 4, !tbaa !5
  %7556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7557 = load i32, ptr %7556, align 4, !tbaa !5
  %7558 = call ptr @s2n_strerror(i32 noundef %7557, ptr noundef @.str.4)
  %7559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7560 = load i32, ptr %7559, align 4, !tbaa !5
  %7561 = call ptr @s2n_strerror_debug(i32 noundef %7560, ptr noundef @.str.4)
  %7562 = call ptr @__errno_location() #10
  %7563 = load i32, ptr %7562, align 4, !tbaa !5
  %7564 = call ptr @strerror(i32 noundef %7563) #9
  %7565 = call ptr @__errno_location() #10
  %7566 = load i32, ptr %7565, align 4, !tbaa !5
  %7567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7554, ptr noundef @.str.5, i32 noundef %7555, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 298, ptr noundef %7558, ptr noundef %7561, ptr noundef %7564, i32 noundef %7566) #9
  br label %7568

7568:                                             ; preds = %7551, %7534
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #9
  br label %7569

7569:                                             ; preds = %7568
  br label %7570

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

7571:                                             ; No predecessors!
  br label %7572

7572:                                             ; preds = %7571
  br label %7573

7573:                                             ; preds = %7572, %7514
  br label %7574

7574:                                             ; preds = %7573
  br label %7575

7575:                                             ; preds = %7574
  br label %7576

7576:                                             ; preds = %7575
  %7577 = load i32, ptr @test_count, align 4, !tbaa !5
  %7578 = add nsw i32 %7577, 1
  store i32 %7578, ptr @test_count, align 4, !tbaa !5
  %7579 = load ptr, ptr %138, align 8, !tbaa !9
  %7580 = getelementptr inbounds %struct.s2n_connection, ptr %7579, i32 0, i32 47
  %7581 = load i8, ptr %7580, align 1, !tbaa !54
  %7582 = zext i8 %7581 to i32
  %7583 = icmp eq i32 %7582, 40
  br i1 %7583, label %7637, label %7584

7584:                                             ; preds = %7576
  br label %7585

7585:                                             ; preds = %7584
  br label %7586

7586:                                             ; preds = %7585
  call void @llvm.lifetime.start.p0(i64 4, ptr %145) #9
  %7587 = call ptr @__errno_location() #10
  %7588 = load i32, ptr %7587, align 4, !tbaa !5
  store i32 %7588, ptr %145, align 4, !tbaa !5
  %7589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7590 = call i32 @s2n_print_stacktrace(ptr noundef %7589)
  %7591 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7592 = trunc i8 %7591 to i1
  br i1 %7592, label %7593, label %7615

7593:                                             ; preds = %7586
  %7594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7595 = call i32 @fileno(ptr noundef %7594) #9
  %7596 = call i32 @isatty(i32 noundef %7595) #9
  %7597 = icmp ne i32 %7596, 0
  br i1 %7597, label %7598, label %7615

7598:                                             ; preds = %7593
  %7599 = load i32, ptr %145, align 4, !tbaa !5
  %7600 = call ptr @__errno_location() #10
  store i32 %7599, ptr %7600, align 4, !tbaa !5
  %7601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7602 = load i32, ptr @test_count, align 4, !tbaa !5
  %7603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7604 = load i32, ptr %7603, align 4, !tbaa !5
  %7605 = call ptr @s2n_strerror(i32 noundef %7604, ptr noundef @.str.4)
  %7606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7607 = load i32, ptr %7606, align 4, !tbaa !5
  %7608 = call ptr @s2n_strerror_debug(i32 noundef %7607, ptr noundef @.str.4)
  %7609 = call ptr @__errno_location() #10
  %7610 = load i32, ptr %7609, align 4, !tbaa !5
  %7611 = call ptr @strerror(i32 noundef %7610) #9
  %7612 = call ptr @__errno_location() #10
  %7613 = load i32, ptr %7612, align 4, !tbaa !5
  %7614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7601, ptr noundef @.str.2, i32 noundef %7602, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 299, ptr noundef %7605, ptr noundef %7608, ptr noundef %7611, i32 noundef %7613) #9
  br label %7632

7615:                                             ; preds = %7593, %7586
  %7616 = load i32, ptr %145, align 4, !tbaa !5
  %7617 = call ptr @__errno_location() #10
  store i32 %7616, ptr %7617, align 4, !tbaa !5
  %7618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7619 = load i32, ptr @test_count, align 4, !tbaa !5
  %7620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7621 = load i32, ptr %7620, align 4, !tbaa !5
  %7622 = call ptr @s2n_strerror(i32 noundef %7621, ptr noundef @.str.4)
  %7623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7624 = load i32, ptr %7623, align 4, !tbaa !5
  %7625 = call ptr @s2n_strerror_debug(i32 noundef %7624, ptr noundef @.str.4)
  %7626 = call ptr @__errno_location() #10
  %7627 = load i32, ptr %7626, align 4, !tbaa !5
  %7628 = call ptr @strerror(i32 noundef %7627) #9
  %7629 = call ptr @__errno_location() #10
  %7630 = load i32, ptr %7629, align 4, !tbaa !5
  %7631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7618, ptr noundef @.str.5, i32 noundef %7619, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 299, ptr noundef %7622, ptr noundef %7625, ptr noundef %7628, i32 noundef %7630) #9
  br label %7632

7632:                                             ; preds = %7615, %7598
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #9
  br label %7633

7633:                                             ; preds = %7632
  br label %7634

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

7635:                                             ; No predecessors!
  br label %7636

7636:                                             ; preds = %7635
  br label %7637

7637:                                             ; preds = %7636, %7576
  br label %7638

7638:                                             ; preds = %7637
  br label %7639

7639:                                             ; preds = %7638
  %7640 = call i32 @s2n_connection_ptr_free(ptr noundef %138)
  %7641 = getelementptr inbounds %struct.s2n_result, ptr %146, i32 0, i32 0
  store i32 %7640, ptr %7641, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %138) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %147) #9
  store i8 80, ptr %147, align 1, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 1, ptr %148) #9
  store i8 46, ptr %148, align 1, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %149) #9
  %7642 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %7642, ptr %149, align 8, !tbaa !9
  br label %7643

7643:                                             ; preds = %7639
  %7644 = load i32, ptr @test_count, align 4, !tbaa !5
  %7645 = add nsw i32 %7644, 1
  store i32 %7645, ptr @test_count, align 4, !tbaa !5
  %7646 = load ptr, ptr %149, align 8, !tbaa !9
  %7647 = icmp eq ptr %7646, null
  br i1 %7647, label %7648, label %7701

7648:                                             ; preds = %7643
  br label %7649

7649:                                             ; preds = %7648
  br label %7650

7650:                                             ; preds = %7649
  call void @llvm.lifetime.start.p0(i64 4, ptr %150) #9
  %7651 = call ptr @__errno_location() #10
  %7652 = load i32, ptr %7651, align 4, !tbaa !5
  store i32 %7652, ptr %150, align 4, !tbaa !5
  %7653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7654 = call i32 @s2n_print_stacktrace(ptr noundef %7653)
  %7655 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7656 = trunc i8 %7655 to i1
  br i1 %7656, label %7657, label %7679

7657:                                             ; preds = %7650
  %7658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7659 = call i32 @fileno(ptr noundef %7658) #9
  %7660 = call i32 @isatty(i32 noundef %7659) #9
  %7661 = icmp ne i32 %7660, 0
  br i1 %7661, label %7662, label %7679

7662:                                             ; preds = %7657
  %7663 = load i32, ptr %150, align 4, !tbaa !5
  %7664 = call ptr @__errno_location() #10
  store i32 %7663, ptr %7664, align 4, !tbaa !5
  %7665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7666 = load i32, ptr @test_count, align 4, !tbaa !5
  %7667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7668 = load i32, ptr %7667, align 4, !tbaa !5
  %7669 = call ptr @s2n_strerror(i32 noundef %7668, ptr noundef @.str.4)
  %7670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7671 = load i32, ptr %7670, align 4, !tbaa !5
  %7672 = call ptr @s2n_strerror_debug(i32 noundef %7671, ptr noundef @.str.4)
  %7673 = call ptr @__errno_location() #10
  %7674 = load i32, ptr %7673, align 4, !tbaa !5
  %7675 = call ptr @strerror(i32 noundef %7674) #9
  %7676 = call ptr @__errno_location() #10
  %7677 = load i32, ptr %7676, align 4, !tbaa !5
  %7678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7665, ptr noundef @.str.2, i32 noundef %7666, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 311, ptr noundef %7669, ptr noundef %7672, ptr noundef %7675, i32 noundef %7677) #9
  br label %7696

7679:                                             ; preds = %7657, %7650
  %7680 = load i32, ptr %150, align 4, !tbaa !5
  %7681 = call ptr @__errno_location() #10
  store i32 %7680, ptr %7681, align 4, !tbaa !5
  %7682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7683 = load i32, ptr @test_count, align 4, !tbaa !5
  %7684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7685 = load i32, ptr %7684, align 4, !tbaa !5
  %7686 = call ptr @s2n_strerror(i32 noundef %7685, ptr noundef @.str.4)
  %7687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7688 = load i32, ptr %7687, align 4, !tbaa !5
  %7689 = call ptr @s2n_strerror_debug(i32 noundef %7688, ptr noundef @.str.4)
  %7690 = call ptr @__errno_location() #10
  %7691 = load i32, ptr %7690, align 4, !tbaa !5
  %7692 = call ptr @strerror(i32 noundef %7691) #9
  %7693 = call ptr @__errno_location() #10
  %7694 = load i32, ptr %7693, align 4, !tbaa !5
  %7695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7682, ptr noundef @.str.5, i32 noundef %7683, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 311, ptr noundef %7686, ptr noundef %7689, ptr noundef %7692, i32 noundef %7694) #9
  br label %7696

7696:                                             ; preds = %7679, %7662
  call void @llvm.lifetime.end.p0(i64 4, ptr %150) #9
  br label %7697

7697:                                             ; preds = %7696
  br label %7698

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

7699:                                             ; No predecessors!
  br label %7700

7700:                                             ; preds = %7699
  br label %7701

7701:                                             ; preds = %7700, %7643
  br label %7702

7702:                                             ; preds = %7701
  br label %7703

7703:                                             ; preds = %7702
  br label %7704

7704:                                             ; preds = %7703
  %7705 = load i32, ptr @test_count, align 4, !tbaa !5
  %7706 = add nsw i32 %7705, 1
  store i32 %7706, ptr @test_count, align 4, !tbaa !5
  %7707 = load ptr, ptr %149, align 8, !tbaa !9
  %7708 = call i32 @s2n_alerts_write_error_or_close_notify(ptr noundef %7707)
  %7709 = getelementptr inbounds %struct.s2n_result, ptr %151, i32 0, i32 0
  store i32 %7708, ptr %7709, align 4
  %7710 = getelementptr inbounds %struct.s2n_result, ptr %151, i32 0, i32 0
  %7711 = load i32, ptr %7710, align 4
  %7712 = call zeroext i1 @s2n_result_is_ok(i32 %7711)
  br i1 %7712, label %7766, label %7713

7713:                                             ; preds = %7704
  br label %7714

7714:                                             ; preds = %7713
  br label %7715

7715:                                             ; preds = %7714
  call void @llvm.lifetime.start.p0(i64 4, ptr %152) #9
  %7716 = call ptr @__errno_location() #10
  %7717 = load i32, ptr %7716, align 4, !tbaa !5
  store i32 %7717, ptr %152, align 4, !tbaa !5
  %7718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7719 = call i32 @s2n_print_stacktrace(ptr noundef %7718)
  %7720 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7721 = trunc i8 %7720 to i1
  br i1 %7721, label %7722, label %7744

7722:                                             ; preds = %7715
  %7723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7724 = call i32 @fileno(ptr noundef %7723) #9
  %7725 = call i32 @isatty(i32 noundef %7724) #9
  %7726 = icmp ne i32 %7725, 0
  br i1 %7726, label %7727, label %7744

7727:                                             ; preds = %7722
  %7728 = load i32, ptr %152, align 4, !tbaa !5
  %7729 = call ptr @__errno_location() #10
  store i32 %7728, ptr %7729, align 4, !tbaa !5
  %7730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7731 = load i32, ptr @test_count, align 4, !tbaa !5
  %7732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7733 = load i32, ptr %7732, align 4, !tbaa !5
  %7734 = call ptr @s2n_strerror(i32 noundef %7733, ptr noundef @.str.4)
  %7735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7736 = load i32, ptr %7735, align 4, !tbaa !5
  %7737 = call ptr @s2n_strerror_debug(i32 noundef %7736, ptr noundef @.str.4)
  %7738 = call ptr @__errno_location() #10
  %7739 = load i32, ptr %7738, align 4, !tbaa !5
  %7740 = call ptr @strerror(i32 noundef %7739) #9
  %7741 = call ptr @__errno_location() #10
  %7742 = load i32, ptr %7741, align 4, !tbaa !5
  %7743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7730, ptr noundef @.str.2, i32 noundef %7731, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 313, ptr noundef %7734, ptr noundef %7737, ptr noundef %7740, i32 noundef %7742) #9
  br label %7761

7744:                                             ; preds = %7722, %7715
  %7745 = load i32, ptr %152, align 4, !tbaa !5
  %7746 = call ptr @__errno_location() #10
  store i32 %7745, ptr %7746, align 4, !tbaa !5
  %7747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7748 = load i32, ptr @test_count, align 4, !tbaa !5
  %7749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7750 = load i32, ptr %7749, align 4, !tbaa !5
  %7751 = call ptr @s2n_strerror(i32 noundef %7750, ptr noundef @.str.4)
  %7752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7753 = load i32, ptr %7752, align 4, !tbaa !5
  %7754 = call ptr @s2n_strerror_debug(i32 noundef %7753, ptr noundef @.str.4)
  %7755 = call ptr @__errno_location() #10
  %7756 = load i32, ptr %7755, align 4, !tbaa !5
  %7757 = call ptr @strerror(i32 noundef %7756) #9
  %7758 = call ptr @__errno_location() #10
  %7759 = load i32, ptr %7758, align 4, !tbaa !5
  %7760 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7747, ptr noundef @.str.5, i32 noundef %7748, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 313, ptr noundef %7751, ptr noundef %7754, ptr noundef %7757, i32 noundef %7759) #9
  br label %7761

7761:                                             ; preds = %7744, %7727
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #9
  br label %7762

7762:                                             ; preds = %7761
  br label %7763

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

7764:                                             ; No predecessors!
  br label %7765

7765:                                             ; preds = %7764
  br label %7766

7766:                                             ; preds = %7765, %7704
  br label %7767

7767:                                             ; preds = %7766
  br label %7768

7768:                                             ; preds = %7767
  call void @llvm.lifetime.start.p0(i64 1, ptr %153) #9
  store i8 0, ptr %153, align 1, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 1, ptr %154) #9
  store i8 0, ptr %154, align 1, !tbaa !15
  br label %7769

7769:                                             ; preds = %7768
  %7770 = load i32, ptr @test_count, align 4, !tbaa !5
  %7771 = add nsw i32 %7770, 1
  store i32 %7771, ptr @test_count, align 4, !tbaa !5
  %7772 = load ptr, ptr %149, align 8, !tbaa !9
  %7773 = getelementptr inbounds %struct.s2n_connection, ptr %7772, i32 0, i32 41
  %7774 = call i32 @s2n_stuffer_skip_read(ptr noundef %7773, i32 noundef 5)
  %7775 = icmp eq i32 %7774, -1
  br i1 %7775, label %7776, label %7829

7776:                                             ; preds = %7769
  br label %7777

7777:                                             ; preds = %7776
  br label %7778

7778:                                             ; preds = %7777
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #9
  %7779 = call ptr @__errno_location() #10
  %7780 = load i32, ptr %7779, align 4, !tbaa !5
  store i32 %7780, ptr %155, align 4, !tbaa !5
  %7781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7782 = call i32 @s2n_print_stacktrace(ptr noundef %7781)
  %7783 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7784 = trunc i8 %7783 to i1
  br i1 %7784, label %7785, label %7807

7785:                                             ; preds = %7778
  %7786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7787 = call i32 @fileno(ptr noundef %7786) #9
  %7788 = call i32 @isatty(i32 noundef %7787) #9
  %7789 = icmp ne i32 %7788, 0
  br i1 %7789, label %7790, label %7807

7790:                                             ; preds = %7785
  %7791 = load i32, ptr %155, align 4, !tbaa !5
  %7792 = call ptr @__errno_location() #10
  store i32 %7791, ptr %7792, align 4, !tbaa !5
  %7793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7794 = load i32, ptr @test_count, align 4, !tbaa !5
  %7795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7796 = load i32, ptr %7795, align 4, !tbaa !5
  %7797 = call ptr @s2n_strerror(i32 noundef %7796, ptr noundef @.str.4)
  %7798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7799 = load i32, ptr %7798, align 4, !tbaa !5
  %7800 = call ptr @s2n_strerror_debug(i32 noundef %7799, ptr noundef @.str.4)
  %7801 = call ptr @__errno_location() #10
  %7802 = load i32, ptr %7801, align 4, !tbaa !5
  %7803 = call ptr @strerror(i32 noundef %7802) #9
  %7804 = call ptr @__errno_location() #10
  %7805 = load i32, ptr %7804, align 4, !tbaa !5
  %7806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7793, ptr noundef @.str.2, i32 noundef %7794, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 317, ptr noundef %7797, ptr noundef %7800, ptr noundef %7803, i32 noundef %7805) #9
  br label %7824

7807:                                             ; preds = %7785, %7778
  %7808 = load i32, ptr %155, align 4, !tbaa !5
  %7809 = call ptr @__errno_location() #10
  store i32 %7808, ptr %7809, align 4, !tbaa !5
  %7810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7811 = load i32, ptr @test_count, align 4, !tbaa !5
  %7812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7813 = load i32, ptr %7812, align 4, !tbaa !5
  %7814 = call ptr @s2n_strerror(i32 noundef %7813, ptr noundef @.str.4)
  %7815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7816 = load i32, ptr %7815, align 4, !tbaa !5
  %7817 = call ptr @s2n_strerror_debug(i32 noundef %7816, ptr noundef @.str.4)
  %7818 = call ptr @__errno_location() #10
  %7819 = load i32, ptr %7818, align 4, !tbaa !5
  %7820 = call ptr @strerror(i32 noundef %7819) #9
  %7821 = call ptr @__errno_location() #10
  %7822 = load i32, ptr %7821, align 4, !tbaa !5
  %7823 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7810, ptr noundef @.str.5, i32 noundef %7811, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 317, ptr noundef %7814, ptr noundef %7817, ptr noundef %7820, i32 noundef %7822) #9
  br label %7824

7824:                                             ; preds = %7807, %7790
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #9
  br label %7825

7825:                                             ; preds = %7824
  br label %7826

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

7827:                                             ; No predecessors!
  br label %7828

7828:                                             ; preds = %7827
  br label %7829

7829:                                             ; preds = %7828, %7769
  br label %7830

7830:                                             ; preds = %7829
  br label %7831

7831:                                             ; preds = %7830
  br label %7832

7832:                                             ; preds = %7831
  %7833 = load i32, ptr @test_count, align 4, !tbaa !5
  %7834 = add nsw i32 %7833, 1
  store i32 %7834, ptr @test_count, align 4, !tbaa !5
  %7835 = load ptr, ptr %149, align 8, !tbaa !9
  %7836 = getelementptr inbounds %struct.s2n_connection, ptr %7835, i32 0, i32 41
  %7837 = call i32 @s2n_stuffer_read_uint8(ptr noundef %7836, ptr noundef %153)
  %7838 = icmp eq i32 %7837, -1
  br i1 %7838, label %7839, label %7892

7839:                                             ; preds = %7832
  br label %7840

7840:                                             ; preds = %7839
  br label %7841

7841:                                             ; preds = %7840
  call void @llvm.lifetime.start.p0(i64 4, ptr %156) #9
  %7842 = call ptr @__errno_location() #10
  %7843 = load i32, ptr %7842, align 4, !tbaa !5
  store i32 %7843, ptr %156, align 4, !tbaa !5
  %7844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7845 = call i32 @s2n_print_stacktrace(ptr noundef %7844)
  %7846 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7847 = trunc i8 %7846 to i1
  br i1 %7847, label %7848, label %7870

7848:                                             ; preds = %7841
  %7849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7850 = call i32 @fileno(ptr noundef %7849) #9
  %7851 = call i32 @isatty(i32 noundef %7850) #9
  %7852 = icmp ne i32 %7851, 0
  br i1 %7852, label %7853, label %7870

7853:                                             ; preds = %7848
  %7854 = load i32, ptr %156, align 4, !tbaa !5
  %7855 = call ptr @__errno_location() #10
  store i32 %7854, ptr %7855, align 4, !tbaa !5
  %7856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7857 = load i32, ptr @test_count, align 4, !tbaa !5
  %7858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7859 = load i32, ptr %7858, align 4, !tbaa !5
  %7860 = call ptr @s2n_strerror(i32 noundef %7859, ptr noundef @.str.4)
  %7861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7862 = load i32, ptr %7861, align 4, !tbaa !5
  %7863 = call ptr @s2n_strerror_debug(i32 noundef %7862, ptr noundef @.str.4)
  %7864 = call ptr @__errno_location() #10
  %7865 = load i32, ptr %7864, align 4, !tbaa !5
  %7866 = call ptr @strerror(i32 noundef %7865) #9
  %7867 = call ptr @__errno_location() #10
  %7868 = load i32, ptr %7867, align 4, !tbaa !5
  %7869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7856, ptr noundef @.str.2, i32 noundef %7857, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 318, ptr noundef %7860, ptr noundef %7863, ptr noundef %7866, i32 noundef %7868) #9
  br label %7887

7870:                                             ; preds = %7848, %7841
  %7871 = load i32, ptr %156, align 4, !tbaa !5
  %7872 = call ptr @__errno_location() #10
  store i32 %7871, ptr %7872, align 4, !tbaa !5
  %7873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7874 = load i32, ptr @test_count, align 4, !tbaa !5
  %7875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7876 = load i32, ptr %7875, align 4, !tbaa !5
  %7877 = call ptr @s2n_strerror(i32 noundef %7876, ptr noundef @.str.4)
  %7878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7879 = load i32, ptr %7878, align 4, !tbaa !5
  %7880 = call ptr @s2n_strerror_debug(i32 noundef %7879, ptr noundef @.str.4)
  %7881 = call ptr @__errno_location() #10
  %7882 = load i32, ptr %7881, align 4, !tbaa !5
  %7883 = call ptr @strerror(i32 noundef %7882) #9
  %7884 = call ptr @__errno_location() #10
  %7885 = load i32, ptr %7884, align 4, !tbaa !5
  %7886 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7873, ptr noundef @.str.5, i32 noundef %7874, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 318, ptr noundef %7877, ptr noundef %7880, ptr noundef %7883, i32 noundef %7885) #9
  br label %7887

7887:                                             ; preds = %7870, %7853
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #9
  br label %7888

7888:                                             ; preds = %7887
  br label %7889

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

7890:                                             ; No predecessors!
  br label %7891

7891:                                             ; preds = %7890
  br label %7892

7892:                                             ; preds = %7891, %7832
  br label %7893

7893:                                             ; preds = %7892
  br label %7894

7894:                                             ; preds = %7893
  br label %7895

7895:                                             ; preds = %7894
  %7896 = load i32, ptr @test_count, align 4, !tbaa !5
  %7897 = add nsw i32 %7896, 1
  store i32 %7897, ptr @test_count, align 4, !tbaa !5
  %7898 = load i8, ptr %153, align 1, !tbaa !15
  %7899 = zext i8 %7898 to i32
  %7900 = icmp eq i32 %7899, 1
  br i1 %7900, label %7954, label %7901

7901:                                             ; preds = %7895
  br label %7902

7902:                                             ; preds = %7901
  br label %7903

7903:                                             ; preds = %7902
  call void @llvm.lifetime.start.p0(i64 4, ptr %157) #9
  %7904 = call ptr @__errno_location() #10
  %7905 = load i32, ptr %7904, align 4, !tbaa !5
  store i32 %7905, ptr %157, align 4, !tbaa !5
  %7906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7907 = call i32 @s2n_print_stacktrace(ptr noundef %7906)
  %7908 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7909 = trunc i8 %7908 to i1
  br i1 %7909, label %7910, label %7932

7910:                                             ; preds = %7903
  %7911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7912 = call i32 @fileno(ptr noundef %7911) #9
  %7913 = call i32 @isatty(i32 noundef %7912) #9
  %7914 = icmp ne i32 %7913, 0
  br i1 %7914, label %7915, label %7932

7915:                                             ; preds = %7910
  %7916 = load i32, ptr %157, align 4, !tbaa !5
  %7917 = call ptr @__errno_location() #10
  store i32 %7916, ptr %7917, align 4, !tbaa !5
  %7918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7919 = load i32, ptr @test_count, align 4, !tbaa !5
  %7920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7921 = load i32, ptr %7920, align 4, !tbaa !5
  %7922 = call ptr @s2n_strerror(i32 noundef %7921, ptr noundef @.str.4)
  %7923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7924 = load i32, ptr %7923, align 4, !tbaa !5
  %7925 = call ptr @s2n_strerror_debug(i32 noundef %7924, ptr noundef @.str.4)
  %7926 = call ptr @__errno_location() #10
  %7927 = load i32, ptr %7926, align 4, !tbaa !5
  %7928 = call ptr @strerror(i32 noundef %7927) #9
  %7929 = call ptr @__errno_location() #10
  %7930 = load i32, ptr %7929, align 4, !tbaa !5
  %7931 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7918, ptr noundef @.str.2, i32 noundef %7919, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 319, ptr noundef %7922, ptr noundef %7925, ptr noundef %7928, i32 noundef %7930) #9
  br label %7949

7932:                                             ; preds = %7910, %7903
  %7933 = load i32, ptr %157, align 4, !tbaa !5
  %7934 = call ptr @__errno_location() #10
  store i32 %7933, ptr %7934, align 4, !tbaa !5
  %7935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7936 = load i32, ptr @test_count, align 4, !tbaa !5
  %7937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7938 = load i32, ptr %7937, align 4, !tbaa !5
  %7939 = call ptr @s2n_strerror(i32 noundef %7938, ptr noundef @.str.4)
  %7940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7941 = load i32, ptr %7940, align 4, !tbaa !5
  %7942 = call ptr @s2n_strerror_debug(i32 noundef %7941, ptr noundef @.str.4)
  %7943 = call ptr @__errno_location() #10
  %7944 = load i32, ptr %7943, align 4, !tbaa !5
  %7945 = call ptr @strerror(i32 noundef %7944) #9
  %7946 = call ptr @__errno_location() #10
  %7947 = load i32, ptr %7946, align 4, !tbaa !5
  %7948 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7935, ptr noundef @.str.5, i32 noundef %7936, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 319, ptr noundef %7939, ptr noundef %7942, ptr noundef %7945, i32 noundef %7947) #9
  br label %7949

7949:                                             ; preds = %7932, %7915
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #9
  br label %7950

7950:                                             ; preds = %7949
  br label %7951

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

7952:                                             ; No predecessors!
  br label %7953

7953:                                             ; preds = %7952
  br label %7954

7954:                                             ; preds = %7953, %7895
  br label %7955

7955:                                             ; preds = %7954
  br label %7956

7956:                                             ; preds = %7955
  br label %7957

7957:                                             ; preds = %7956
  %7958 = load i32, ptr @test_count, align 4, !tbaa !5
  %7959 = add nsw i32 %7958, 1
  store i32 %7959, ptr @test_count, align 4, !tbaa !5
  %7960 = load ptr, ptr %149, align 8, !tbaa !9
  %7961 = getelementptr inbounds %struct.s2n_connection, ptr %7960, i32 0, i32 41
  %7962 = call i32 @s2n_stuffer_read_uint8(ptr noundef %7961, ptr noundef %154)
  %7963 = icmp eq i32 %7962, -1
  br i1 %7963, label %7964, label %8017

7964:                                             ; preds = %7957
  br label %7965

7965:                                             ; preds = %7964
  br label %7966

7966:                                             ; preds = %7965
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #9
  %7967 = call ptr @__errno_location() #10
  %7968 = load i32, ptr %7967, align 4, !tbaa !5
  store i32 %7968, ptr %158, align 4, !tbaa !5
  %7969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7970 = call i32 @s2n_print_stacktrace(ptr noundef %7969)
  %7971 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7972 = trunc i8 %7971 to i1
  br i1 %7972, label %7973, label %7995

7973:                                             ; preds = %7966
  %7974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7975 = call i32 @fileno(ptr noundef %7974) #9
  %7976 = call i32 @isatty(i32 noundef %7975) #9
  %7977 = icmp ne i32 %7976, 0
  br i1 %7977, label %7978, label %7995

7978:                                             ; preds = %7973
  %7979 = load i32, ptr %158, align 4, !tbaa !5
  %7980 = call ptr @__errno_location() #10
  store i32 %7979, ptr %7980, align 4, !tbaa !5
  %7981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7982 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %7984, ptr noundef @.str.4)
  %7986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7987 = load i32, ptr %7986, align 4, !tbaa !5
  %7988 = call ptr @s2n_strerror_debug(i32 noundef %7987, ptr noundef @.str.4)
  %7989 = call ptr @__errno_location() #10
  %7990 = load i32, ptr %7989, align 4, !tbaa !5
  %7991 = call ptr @strerror(i32 noundef %7990) #9
  %7992 = call ptr @__errno_location() #10
  %7993 = load i32, ptr %7992, align 4, !tbaa !5
  %7994 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7981, ptr noundef @.str.2, i32 noundef %7982, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 320, ptr noundef %7985, ptr noundef %7988, ptr noundef %7991, i32 noundef %7993) #9
  br label %8012

7995:                                             ; preds = %7973, %7966
  %7996 = load i32, ptr %158, align 4, !tbaa !5
  %7997 = call ptr @__errno_location() #10
  store i32 %7996, ptr %7997, align 4, !tbaa !5
  %7998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7999 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %8001, ptr noundef @.str.4)
  %8003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8004 = load i32, ptr %8003, align 4, !tbaa !5
  %8005 = call ptr @s2n_strerror_debug(i32 noundef %8004, ptr noundef @.str.4)
  %8006 = call ptr @__errno_location() #10
  %8007 = load i32, ptr %8006, align 4, !tbaa !5
  %8008 = call ptr @strerror(i32 noundef %8007) #9
  %8009 = call ptr @__errno_location() #10
  %8010 = load i32, ptr %8009, align 4, !tbaa !5
  %8011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7998, ptr noundef @.str.5, i32 noundef %7999, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 320, ptr noundef %8002, ptr noundef %8005, ptr noundef %8008, i32 noundef %8010) #9
  br label %8012

8012:                                             ; preds = %7995, %7978
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #9
  br label %8013

8013:                                             ; preds = %8012
  br label %8014

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

8015:                                             ; No predecessors!
  br label %8016

8016:                                             ; preds = %8015
  br label %8017

8017:                                             ; preds = %8016, %7957
  br label %8018

8018:                                             ; preds = %8017
  br label %8019

8019:                                             ; preds = %8018
  br label %8020

8020:                                             ; preds = %8019
  %8021 = load i32, ptr @test_count, align 4, !tbaa !5
  %8022 = add nsw i32 %8021, 1
  store i32 %8022, ptr @test_count, align 4, !tbaa !5
  %8023 = load i8, ptr %154, align 1, !tbaa !15
  %8024 = zext i8 %8023 to i32
  %8025 = icmp eq i32 %8024, 0
  br i1 %8025, label %8079, label %8026

8026:                                             ; preds = %8020
  br label %8027

8027:                                             ; preds = %8026
  br label %8028

8028:                                             ; preds = %8027
  call void @llvm.lifetime.start.p0(i64 4, ptr %159) #9
  %8029 = call ptr @__errno_location() #10
  %8030 = load i32, ptr %8029, align 4, !tbaa !5
  store i32 %8030, ptr %159, align 4, !tbaa !5
  %8031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8032 = call i32 @s2n_print_stacktrace(ptr noundef %8031)
  %8033 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8034 = trunc i8 %8033 to i1
  br i1 %8034, label %8035, label %8057

8035:                                             ; preds = %8028
  %8036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8037 = call i32 @fileno(ptr noundef %8036) #9
  %8038 = call i32 @isatty(i32 noundef %8037) #9
  %8039 = icmp ne i32 %8038, 0
  br i1 %8039, label %8040, label %8057

8040:                                             ; preds = %8035
  %8041 = load i32, ptr %159, align 4, !tbaa !5
  %8042 = call ptr @__errno_location() #10
  store i32 %8041, ptr %8042, align 4, !tbaa !5
  %8043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8044 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %8046, ptr noundef @.str.4)
  %8048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8049 = load i32, ptr %8048, align 4, !tbaa !5
  %8050 = call ptr @s2n_strerror_debug(i32 noundef %8049, ptr noundef @.str.4)
  %8051 = call ptr @__errno_location() #10
  %8052 = load i32, ptr %8051, align 4, !tbaa !5
  %8053 = call ptr @strerror(i32 noundef %8052) #9
  %8054 = call ptr @__errno_location() #10
  %8055 = load i32, ptr %8054, align 4, !tbaa !5
  %8056 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8043, ptr noundef @.str.2, i32 noundef %8044, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 321, ptr noundef %8047, ptr noundef %8050, ptr noundef %8053, i32 noundef %8055) #9
  br label %8074

8057:                                             ; preds = %8035, %8028
  %8058 = load i32, ptr %159, align 4, !tbaa !5
  %8059 = call ptr @__errno_location() #10
  store i32 %8058, ptr %8059, align 4, !tbaa !5
  %8060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8061 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %8063, ptr noundef @.str.4)
  %8065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8066 = load i32, ptr %8065, align 4, !tbaa !5
  %8067 = call ptr @s2n_strerror_debug(i32 noundef %8066, ptr noundef @.str.4)
  %8068 = call ptr @__errno_location() #10
  %8069 = load i32, ptr %8068, align 4, !tbaa !5
  %8070 = call ptr @strerror(i32 noundef %8069) #9
  %8071 = call ptr @__errno_location() #10
  %8072 = load i32, ptr %8071, align 4, !tbaa !5
  %8073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8060, ptr noundef @.str.5, i32 noundef %8061, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 321, ptr noundef %8064, ptr noundef %8067, ptr noundef %8070, i32 noundef %8072) #9
  br label %8074

8074:                                             ; preds = %8057, %8040
  call void @llvm.lifetime.end.p0(i64 4, ptr %159) #9
  br label %8075

8075:                                             ; preds = %8074
  br label %8076

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

8077:                                             ; No predecessors!
  br label %8078

8078:                                             ; preds = %8077
  br label %8079

8079:                                             ; preds = %8078, %8020
  br label %8080

8080:                                             ; preds = %8079
  br label %8081

8081:                                             ; preds = %8080
  br label %8082

8082:                                             ; preds = %8081
  %8083 = load i32, ptr @test_count, align 4, !tbaa !5
  %8084 = add nsw i32 %8083, 1
  store i32 %8084, ptr @test_count, align 4, !tbaa !5
  %8085 = load ptr, ptr %149, align 8, !tbaa !9
  %8086 = getelementptr inbounds %struct.s2n_connection, ptr %8085, i32 0, i32 41
  %8087 = getelementptr inbounds %struct.s2n_stuffer, ptr %8086, i32 0, i32 2
  %8088 = load i32, ptr %8087, align 4, !tbaa !55
  %8089 = load ptr, ptr %149, align 8, !tbaa !9
  %8090 = getelementptr inbounds %struct.s2n_connection, ptr %8089, i32 0, i32 41
  %8091 = getelementptr inbounds %struct.s2n_stuffer, ptr %8090, i32 0, i32 1
  %8092 = load i32, ptr %8091, align 8, !tbaa !56
  %8093 = sub i32 %8088, %8092
  %8094 = icmp eq i32 %8093, 0
  br i1 %8094, label %8148, label %8095

8095:                                             ; preds = %8082
  br label %8096

8096:                                             ; preds = %8095
  br label %8097

8097:                                             ; preds = %8096
  call void @llvm.lifetime.start.p0(i64 4, ptr %160) #9
  %8098 = call ptr @__errno_location() #10
  %8099 = load i32, ptr %8098, align 4, !tbaa !5
  store i32 %8099, ptr %160, align 4, !tbaa !5
  %8100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8101 = call i32 @s2n_print_stacktrace(ptr noundef %8100)
  %8102 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8103 = trunc i8 %8102 to i1
  br i1 %8103, label %8104, label %8126

8104:                                             ; preds = %8097
  %8105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8106 = call i32 @fileno(ptr noundef %8105) #9
  %8107 = call i32 @isatty(i32 noundef %8106) #9
  %8108 = icmp ne i32 %8107, 0
  br i1 %8108, label %8109, label %8126

8109:                                             ; preds = %8104
  %8110 = load i32, ptr %160, align 4, !tbaa !5
  %8111 = call ptr @__errno_location() #10
  store i32 %8110, ptr %8111, align 4, !tbaa !5
  %8112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8113 = load i32, ptr @test_count, align 4, !tbaa !5
  %8114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8115 = load i32, ptr %8114, align 4, !tbaa !5
  %8116 = call ptr @s2n_strerror(i32 noundef %8115, ptr noundef @.str.4)
  %8117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8118 = load i32, ptr %8117, align 4, !tbaa !5
  %8119 = call ptr @s2n_strerror_debug(i32 noundef %8118, ptr noundef @.str.4)
  %8120 = call ptr @__errno_location() #10
  %8121 = load i32, ptr %8120, align 4, !tbaa !5
  %8122 = call ptr @strerror(i32 noundef %8121) #9
  %8123 = call ptr @__errno_location() #10
  %8124 = load i32, ptr %8123, align 4, !tbaa !5
  %8125 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8112, ptr noundef @.str.2, i32 noundef %8113, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 322, ptr noundef %8116, ptr noundef %8119, ptr noundef %8122, i32 noundef %8124) #9
  br label %8143

8126:                                             ; preds = %8104, %8097
  %8127 = load i32, ptr %160, align 4, !tbaa !5
  %8128 = call ptr @__errno_location() #10
  store i32 %8127, ptr %8128, align 4, !tbaa !5
  %8129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8130 = load i32, ptr @test_count, align 4, !tbaa !5
  %8131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8132 = load i32, ptr %8131, align 4, !tbaa !5
  %8133 = call ptr @s2n_strerror(i32 noundef %8132, ptr noundef @.str.4)
  %8134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8135 = load i32, ptr %8134, align 4, !tbaa !5
  %8136 = call ptr @s2n_strerror_debug(i32 noundef %8135, ptr noundef @.str.4)
  %8137 = call ptr @__errno_location() #10
  %8138 = load i32, ptr %8137, align 4, !tbaa !5
  %8139 = call ptr @strerror(i32 noundef %8138) #9
  %8140 = call ptr @__errno_location() #10
  %8141 = load i32, ptr %8140, align 4, !tbaa !5
  %8142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8129, ptr noundef @.str.5, i32 noundef %8130, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 322, ptr noundef %8133, ptr noundef %8136, ptr noundef %8139, i32 noundef %8141) #9
  br label %8143

8143:                                             ; preds = %8126, %8109
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #9
  br label %8144

8144:                                             ; preds = %8143
  br label %8145

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

8146:                                             ; No predecessors!
  br label %8147

8147:                                             ; preds = %8146
  br label %8148

8148:                                             ; preds = %8147, %8082
  br label %8149

8149:                                             ; preds = %8148
  br label %8150

8150:                                             ; preds = %8149
  call void @llvm.lifetime.end.p0(i64 1, ptr %154) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %153) #9
  %8151 = call i32 @s2n_connection_ptr_free(ptr noundef %149)
  %8152 = getelementptr inbounds %struct.s2n_result, ptr %161, i32 0, i32 0
  store i32 %8151, ptr %8152, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %149) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %162) #9
  %8153 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %8153, ptr %162, align 8, !tbaa !9
  br label %8154

8154:                                             ; preds = %8150
  %8155 = load i32, ptr @test_count, align 4, !tbaa !5
  %8156 = add nsw i32 %8155, 1
  store i32 %8156, ptr @test_count, align 4, !tbaa !5
  %8157 = load ptr, ptr %162, align 8, !tbaa !9
  %8158 = icmp eq ptr %8157, null
  br i1 %8158, label %8159, label %8212

8159:                                             ; preds = %8154
  br label %8160

8160:                                             ; preds = %8159
  br label %8161

8161:                                             ; preds = %8160
  call void @llvm.lifetime.start.p0(i64 4, ptr %163) #9
  %8162 = call ptr @__errno_location() #10
  %8163 = load i32, ptr %8162, align 4, !tbaa !5
  store i32 %8163, ptr %163, align 4, !tbaa !5
  %8164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8165 = call i32 @s2n_print_stacktrace(ptr noundef %8164)
  %8166 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8167 = trunc i8 %8166 to i1
  br i1 %8167, label %8168, label %8190

8168:                                             ; preds = %8161
  %8169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8170 = call i32 @fileno(ptr noundef %8169) #9
  %8171 = call i32 @isatty(i32 noundef %8170) #9
  %8172 = icmp ne i32 %8171, 0
  br i1 %8172, label %8173, label %8190

8173:                                             ; preds = %8168
  %8174 = load i32, ptr %163, align 4, !tbaa !5
  %8175 = call ptr @__errno_location() #10
  store i32 %8174, ptr %8175, align 4, !tbaa !5
  %8176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8177 = load i32, ptr @test_count, align 4, !tbaa !5
  %8178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8179 = load i32, ptr %8178, align 4, !tbaa !5
  %8180 = call ptr @s2n_strerror(i32 noundef %8179, ptr noundef @.str.4)
  %8181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8182 = load i32, ptr %8181, align 4, !tbaa !5
  %8183 = call ptr @s2n_strerror_debug(i32 noundef %8182, ptr noundef @.str.4)
  %8184 = call ptr @__errno_location() #10
  %8185 = load i32, ptr %8184, align 4, !tbaa !5
  %8186 = call ptr @strerror(i32 noundef %8185) #9
  %8187 = call ptr @__errno_location() #10
  %8188 = load i32, ptr %8187, align 4, !tbaa !5
  %8189 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8176, ptr noundef @.str.2, i32 noundef %8177, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 329, ptr noundef %8180, ptr noundef %8183, ptr noundef %8186, i32 noundef %8188) #9
  br label %8207

8190:                                             ; preds = %8168, %8161
  %8191 = load i32, ptr %163, align 4, !tbaa !5
  %8192 = call ptr @__errno_location() #10
  store i32 %8191, ptr %8192, align 4, !tbaa !5
  %8193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8194 = load i32, ptr @test_count, align 4, !tbaa !5
  %8195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8196 = load i32, ptr %8195, align 4, !tbaa !5
  %8197 = call ptr @s2n_strerror(i32 noundef %8196, ptr noundef @.str.4)
  %8198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8199 = load i32, ptr %8198, align 4, !tbaa !5
  %8200 = call ptr @s2n_strerror_debug(i32 noundef %8199, ptr noundef @.str.4)
  %8201 = call ptr @__errno_location() #10
  %8202 = load i32, ptr %8201, align 4, !tbaa !5
  %8203 = call ptr @strerror(i32 noundef %8202) #9
  %8204 = call ptr @__errno_location() #10
  %8205 = load i32, ptr %8204, align 4, !tbaa !5
  %8206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8193, ptr noundef @.str.5, i32 noundef %8194, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 329, ptr noundef %8197, ptr noundef %8200, ptr noundef %8203, i32 noundef %8205) #9
  br label %8207

8207:                                             ; preds = %8190, %8173
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #9
  br label %8208

8208:                                             ; preds = %8207
  br label %8209

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

8210:                                             ; No predecessors!
  br label %8211

8211:                                             ; preds = %8210
  br label %8212

8212:                                             ; preds = %8211, %8154
  br label %8213

8213:                                             ; preds = %8212
  br label %8214

8214:                                             ; preds = %8213
  %8215 = load ptr, ptr %162, align 8, !tbaa !9
  %8216 = getelementptr inbounds %struct.s2n_connection, ptr %8215, i32 0, i32 47
  store i8 80, ptr %8216, align 1, !tbaa !54
  br label %8217

8217:                                             ; preds = %8214
  %8218 = load i32, ptr @test_count, align 4, !tbaa !5
  %8219 = add nsw i32 %8218, 1
  store i32 %8219, ptr @test_count, align 4, !tbaa !5
  %8220 = load ptr, ptr %162, align 8, !tbaa !9
  %8221 = call i32 @s2n_alerts_write_error_or_close_notify(ptr noundef %8220)
  %8222 = getelementptr inbounds %struct.s2n_result, ptr %164, i32 0, i32 0
  store i32 %8221, ptr %8222, align 4
  %8223 = getelementptr inbounds %struct.s2n_result, ptr %164, i32 0, i32 0
  %8224 = load i32, ptr %8223, align 4
  %8225 = call zeroext i1 @s2n_result_is_ok(i32 %8224)
  br i1 %8225, label %8279, label %8226

8226:                                             ; preds = %8217
  br label %8227

8227:                                             ; preds = %8226
  br label %8228

8228:                                             ; preds = %8227
  call void @llvm.lifetime.start.p0(i64 4, ptr %165) #9
  %8229 = call ptr @__errno_location() #10
  %8230 = load i32, ptr %8229, align 4, !tbaa !5
  store i32 %8230, ptr %165, align 4, !tbaa !5
  %8231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8232 = call i32 @s2n_print_stacktrace(ptr noundef %8231)
  %8233 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8234 = trunc i8 %8233 to i1
  br i1 %8234, label %8235, label %8257

8235:                                             ; preds = %8228
  %8236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8237 = call i32 @fileno(ptr noundef %8236) #9
  %8238 = call i32 @isatty(i32 noundef %8237) #9
  %8239 = icmp ne i32 %8238, 0
  br i1 %8239, label %8240, label %8257

8240:                                             ; preds = %8235
  %8241 = load i32, ptr %165, align 4, !tbaa !5
  %8242 = call ptr @__errno_location() #10
  store i32 %8241, ptr %8242, align 4, !tbaa !5
  %8243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8244 = load i32, ptr @test_count, align 4, !tbaa !5
  %8245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8246 = load i32, ptr %8245, align 4, !tbaa !5
  %8247 = call ptr @s2n_strerror(i32 noundef %8246, ptr noundef @.str.4)
  %8248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8249 = load i32, ptr %8248, align 4, !tbaa !5
  %8250 = call ptr @s2n_strerror_debug(i32 noundef %8249, ptr noundef @.str.4)
  %8251 = call ptr @__errno_location() #10
  %8252 = load i32, ptr %8251, align 4, !tbaa !5
  %8253 = call ptr @strerror(i32 noundef %8252) #9
  %8254 = call ptr @__errno_location() #10
  %8255 = load i32, ptr %8254, align 4, !tbaa !5
  %8256 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8243, ptr noundef @.str.2, i32 noundef %8244, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 332, ptr noundef %8247, ptr noundef %8250, ptr noundef %8253, i32 noundef %8255) #9
  br label %8274

8257:                                             ; preds = %8235, %8228
  %8258 = load i32, ptr %165, align 4, !tbaa !5
  %8259 = call ptr @__errno_location() #10
  store i32 %8258, ptr %8259, align 4, !tbaa !5
  %8260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8261 = load i32, ptr @test_count, align 4, !tbaa !5
  %8262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8263 = load i32, ptr %8262, align 4, !tbaa !5
  %8264 = call ptr @s2n_strerror(i32 noundef %8263, ptr noundef @.str.4)
  %8265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8266 = load i32, ptr %8265, align 4, !tbaa !5
  %8267 = call ptr @s2n_strerror_debug(i32 noundef %8266, ptr noundef @.str.4)
  %8268 = call ptr @__errno_location() #10
  %8269 = load i32, ptr %8268, align 4, !tbaa !5
  %8270 = call ptr @strerror(i32 noundef %8269) #9
  %8271 = call ptr @__errno_location() #10
  %8272 = load i32, ptr %8271, align 4, !tbaa !5
  %8273 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8260, ptr noundef @.str.5, i32 noundef %8261, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 332, ptr noundef %8264, ptr noundef %8267, ptr noundef %8270, i32 noundef %8272) #9
  br label %8274

8274:                                             ; preds = %8257, %8240
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #9
  br label %8275

8275:                                             ; preds = %8274
  br label %8276

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

8277:                                             ; No predecessors!
  br label %8278

8278:                                             ; preds = %8277
  br label %8279

8279:                                             ; preds = %8278, %8217
  br label %8280

8280:                                             ; preds = %8279
  br label %8281

8281:                                             ; preds = %8280
  call void @llvm.lifetime.start.p0(i64 1, ptr %166) #9
  store i8 0, ptr %166, align 1, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 1, ptr %167) #9
  store i8 0, ptr %167, align 1, !tbaa !15
  br label %8282

8282:                                             ; preds = %8281
  %8283 = load i32, ptr @test_count, align 4, !tbaa !5
  %8284 = add nsw i32 %8283, 1
  store i32 %8284, ptr @test_count, align 4, !tbaa !5
  %8285 = load ptr, ptr %162, align 8, !tbaa !9
  %8286 = getelementptr inbounds %struct.s2n_connection, ptr %8285, i32 0, i32 41
  %8287 = call i32 @s2n_stuffer_skip_read(ptr noundef %8286, i32 noundef 5)
  %8288 = icmp eq i32 %8287, -1
  br i1 %8288, label %8289, label %8342

8289:                                             ; preds = %8282
  br label %8290

8290:                                             ; preds = %8289
  br label %8291

8291:                                             ; preds = %8290
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #9
  %8292 = call ptr @__errno_location() #10
  %8293 = load i32, ptr %8292, align 4, !tbaa !5
  store i32 %8293, ptr %168, align 4, !tbaa !5
  %8294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8295 = call i32 @s2n_print_stacktrace(ptr noundef %8294)
  %8296 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8297 = trunc i8 %8296 to i1
  br i1 %8297, label %8298, label %8320

8298:                                             ; preds = %8291
  %8299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8300 = call i32 @fileno(ptr noundef %8299) #9
  %8301 = call i32 @isatty(i32 noundef %8300) #9
  %8302 = icmp ne i32 %8301, 0
  br i1 %8302, label %8303, label %8320

8303:                                             ; preds = %8298
  %8304 = load i32, ptr %168, align 4, !tbaa !5
  %8305 = call ptr @__errno_location() #10
  store i32 %8304, ptr %8305, align 4, !tbaa !5
  %8306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8307 = load i32, ptr @test_count, align 4, !tbaa !5
  %8308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8309 = load i32, ptr %8308, align 4, !tbaa !5
  %8310 = call ptr @s2n_strerror(i32 noundef %8309, ptr noundef @.str.4)
  %8311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8312 = load i32, ptr %8311, align 4, !tbaa !5
  %8313 = call ptr @s2n_strerror_debug(i32 noundef %8312, ptr noundef @.str.4)
  %8314 = call ptr @__errno_location() #10
  %8315 = load i32, ptr %8314, align 4, !tbaa !5
  %8316 = call ptr @strerror(i32 noundef %8315) #9
  %8317 = call ptr @__errno_location() #10
  %8318 = load i32, ptr %8317, align 4, !tbaa !5
  %8319 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8306, ptr noundef @.str.2, i32 noundef %8307, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 336, ptr noundef %8310, ptr noundef %8313, ptr noundef %8316, i32 noundef %8318) #9
  br label %8337

8320:                                             ; preds = %8298, %8291
  %8321 = load i32, ptr %168, align 4, !tbaa !5
  %8322 = call ptr @__errno_location() #10
  store i32 %8321, ptr %8322, align 4, !tbaa !5
  %8323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8324 = load i32, ptr @test_count, align 4, !tbaa !5
  %8325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8326 = load i32, ptr %8325, align 4, !tbaa !5
  %8327 = call ptr @s2n_strerror(i32 noundef %8326, ptr noundef @.str.4)
  %8328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8329 = load i32, ptr %8328, align 4, !tbaa !5
  %8330 = call ptr @s2n_strerror_debug(i32 noundef %8329, ptr noundef @.str.4)
  %8331 = call ptr @__errno_location() #10
  %8332 = load i32, ptr %8331, align 4, !tbaa !5
  %8333 = call ptr @strerror(i32 noundef %8332) #9
  %8334 = call ptr @__errno_location() #10
  %8335 = load i32, ptr %8334, align 4, !tbaa !5
  %8336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8323, ptr noundef @.str.5, i32 noundef %8324, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 336, ptr noundef %8327, ptr noundef %8330, ptr noundef %8333, i32 noundef %8335) #9
  br label %8337

8337:                                             ; preds = %8320, %8303
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #9
  br label %8338

8338:                                             ; preds = %8337
  br label %8339

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

8340:                                             ; No predecessors!
  br label %8341

8341:                                             ; preds = %8340
  br label %8342

8342:                                             ; preds = %8341, %8282
  br label %8343

8343:                                             ; preds = %8342
  br label %8344

8344:                                             ; preds = %8343
  br label %8345

8345:                                             ; preds = %8344
  %8346 = load i32, ptr @test_count, align 4, !tbaa !5
  %8347 = add nsw i32 %8346, 1
  store i32 %8347, ptr @test_count, align 4, !tbaa !5
  %8348 = load ptr, ptr %162, align 8, !tbaa !9
  %8349 = getelementptr inbounds %struct.s2n_connection, ptr %8348, i32 0, i32 41
  %8350 = call i32 @s2n_stuffer_read_uint8(ptr noundef %8349, ptr noundef %166)
  %8351 = icmp eq i32 %8350, -1
  br i1 %8351, label %8352, label %8405

8352:                                             ; preds = %8345
  br label %8353

8353:                                             ; preds = %8352
  br label %8354

8354:                                             ; preds = %8353
  call void @llvm.lifetime.start.p0(i64 4, ptr %169) #9
  %8355 = call ptr @__errno_location() #10
  %8356 = load i32, ptr %8355, align 4, !tbaa !5
  store i32 %8356, ptr %169, align 4, !tbaa !5
  %8357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8358 = call i32 @s2n_print_stacktrace(ptr noundef %8357)
  %8359 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8360 = trunc i8 %8359 to i1
  br i1 %8360, label %8361, label %8383

8361:                                             ; preds = %8354
  %8362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8363 = call i32 @fileno(ptr noundef %8362) #9
  %8364 = call i32 @isatty(i32 noundef %8363) #9
  %8365 = icmp ne i32 %8364, 0
  br i1 %8365, label %8366, label %8383

8366:                                             ; preds = %8361
  %8367 = load i32, ptr %169, align 4, !tbaa !5
  %8368 = call ptr @__errno_location() #10
  store i32 %8367, ptr %8368, align 4, !tbaa !5
  %8369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8370 = load i32, ptr @test_count, align 4, !tbaa !5
  %8371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8372 = load i32, ptr %8371, align 4, !tbaa !5
  %8373 = call ptr @s2n_strerror(i32 noundef %8372, ptr noundef @.str.4)
  %8374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8375 = load i32, ptr %8374, align 4, !tbaa !5
  %8376 = call ptr @s2n_strerror_debug(i32 noundef %8375, ptr noundef @.str.4)
  %8377 = call ptr @__errno_location() #10
  %8378 = load i32, ptr %8377, align 4, !tbaa !5
  %8379 = call ptr @strerror(i32 noundef %8378) #9
  %8380 = call ptr @__errno_location() #10
  %8381 = load i32, ptr %8380, align 4, !tbaa !5
  %8382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8369, ptr noundef @.str.2, i32 noundef %8370, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 337, ptr noundef %8373, ptr noundef %8376, ptr noundef %8379, i32 noundef %8381) #9
  br label %8400

8383:                                             ; preds = %8361, %8354
  %8384 = load i32, ptr %169, align 4, !tbaa !5
  %8385 = call ptr @__errno_location() #10
  store i32 %8384, ptr %8385, align 4, !tbaa !5
  %8386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8387 = load i32, ptr @test_count, align 4, !tbaa !5
  %8388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8389 = load i32, ptr %8388, align 4, !tbaa !5
  %8390 = call ptr @s2n_strerror(i32 noundef %8389, ptr noundef @.str.4)
  %8391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8392 = load i32, ptr %8391, align 4, !tbaa !5
  %8393 = call ptr @s2n_strerror_debug(i32 noundef %8392, ptr noundef @.str.4)
  %8394 = call ptr @__errno_location() #10
  %8395 = load i32, ptr %8394, align 4, !tbaa !5
  %8396 = call ptr @strerror(i32 noundef %8395) #9
  %8397 = call ptr @__errno_location() #10
  %8398 = load i32, ptr %8397, align 4, !tbaa !5
  %8399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8386, ptr noundef @.str.5, i32 noundef %8387, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 337, ptr noundef %8390, ptr noundef %8393, ptr noundef %8396, i32 noundef %8398) #9
  br label %8400

8400:                                             ; preds = %8383, %8366
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #9
  br label %8401

8401:                                             ; preds = %8400
  br label %8402

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

8403:                                             ; No predecessors!
  br label %8404

8404:                                             ; preds = %8403
  br label %8405

8405:                                             ; preds = %8404, %8345
  br label %8406

8406:                                             ; preds = %8405
  br label %8407

8407:                                             ; preds = %8406
  br label %8408

8408:                                             ; preds = %8407
  %8409 = load i32, ptr @test_count, align 4, !tbaa !5
  %8410 = add nsw i32 %8409, 1
  store i32 %8410, ptr @test_count, align 4, !tbaa !5
  %8411 = load i8, ptr %166, align 1, !tbaa !15
  %8412 = zext i8 %8411 to i32
  %8413 = icmp eq i32 %8412, 2
  br i1 %8413, label %8467, label %8414

8414:                                             ; preds = %8408
  br label %8415

8415:                                             ; preds = %8414
  br label %8416

8416:                                             ; preds = %8415
  call void @llvm.lifetime.start.p0(i64 4, ptr %170) #9
  %8417 = call ptr @__errno_location() #10
  %8418 = load i32, ptr %8417, align 4, !tbaa !5
  store i32 %8418, ptr %170, align 4, !tbaa !5
  %8419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8420 = call i32 @s2n_print_stacktrace(ptr noundef %8419)
  %8421 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8422 = trunc i8 %8421 to i1
  br i1 %8422, label %8423, label %8445

8423:                                             ; preds = %8416
  %8424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8425 = call i32 @fileno(ptr noundef %8424) #9
  %8426 = call i32 @isatty(i32 noundef %8425) #9
  %8427 = icmp ne i32 %8426, 0
  br i1 %8427, label %8428, label %8445

8428:                                             ; preds = %8423
  %8429 = load i32, ptr %170, align 4, !tbaa !5
  %8430 = call ptr @__errno_location() #10
  store i32 %8429, ptr %8430, align 4, !tbaa !5
  %8431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8432 = load i32, ptr @test_count, align 4, !tbaa !5
  %8433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8434 = load i32, ptr %8433, align 4, !tbaa !5
  %8435 = call ptr @s2n_strerror(i32 noundef %8434, ptr noundef @.str.4)
  %8436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8437 = load i32, ptr %8436, align 4, !tbaa !5
  %8438 = call ptr @s2n_strerror_debug(i32 noundef %8437, ptr noundef @.str.4)
  %8439 = call ptr @__errno_location() #10
  %8440 = load i32, ptr %8439, align 4, !tbaa !5
  %8441 = call ptr @strerror(i32 noundef %8440) #9
  %8442 = call ptr @__errno_location() #10
  %8443 = load i32, ptr %8442, align 4, !tbaa !5
  %8444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8431, ptr noundef @.str.2, i32 noundef %8432, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 338, ptr noundef %8435, ptr noundef %8438, ptr noundef %8441, i32 noundef %8443) #9
  br label %8462

8445:                                             ; preds = %8423, %8416
  %8446 = load i32, ptr %170, align 4, !tbaa !5
  %8447 = call ptr @__errno_location() #10
  store i32 %8446, ptr %8447, align 4, !tbaa !5
  %8448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8449 = load i32, ptr @test_count, align 4, !tbaa !5
  %8450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8451 = load i32, ptr %8450, align 4, !tbaa !5
  %8452 = call ptr @s2n_strerror(i32 noundef %8451, ptr noundef @.str.4)
  %8453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8454 = load i32, ptr %8453, align 4, !tbaa !5
  %8455 = call ptr @s2n_strerror_debug(i32 noundef %8454, ptr noundef @.str.4)
  %8456 = call ptr @__errno_location() #10
  %8457 = load i32, ptr %8456, align 4, !tbaa !5
  %8458 = call ptr @strerror(i32 noundef %8457) #9
  %8459 = call ptr @__errno_location() #10
  %8460 = load i32, ptr %8459, align 4, !tbaa !5
  %8461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8448, ptr noundef @.str.5, i32 noundef %8449, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 338, ptr noundef %8452, ptr noundef %8455, ptr noundef %8458, i32 noundef %8460) #9
  br label %8462

8462:                                             ; preds = %8445, %8428
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #9
  br label %8463

8463:                                             ; preds = %8462
  br label %8464

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

8465:                                             ; No predecessors!
  br label %8466

8466:                                             ; preds = %8465
  br label %8467

8467:                                             ; preds = %8466, %8408
  br label %8468

8468:                                             ; preds = %8467
  br label %8469

8469:                                             ; preds = %8468
  br label %8470

8470:                                             ; preds = %8469
  %8471 = load i32, ptr @test_count, align 4, !tbaa !5
  %8472 = add nsw i32 %8471, 1
  store i32 %8472, ptr @test_count, align 4, !tbaa !5
  %8473 = load ptr, ptr %162, align 8, !tbaa !9
  %8474 = getelementptr inbounds %struct.s2n_connection, ptr %8473, i32 0, i32 41
  %8475 = call i32 @s2n_stuffer_read_uint8(ptr noundef %8474, ptr noundef %167)
  %8476 = icmp eq i32 %8475, -1
  br i1 %8476, label %8477, label %8530

8477:                                             ; preds = %8470
  br label %8478

8478:                                             ; preds = %8477
  br label %8479

8479:                                             ; preds = %8478
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #9
  %8480 = call ptr @__errno_location() #10
  %8481 = load i32, ptr %8480, align 4, !tbaa !5
  store i32 %8481, ptr %171, align 4, !tbaa !5
  %8482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8483 = call i32 @s2n_print_stacktrace(ptr noundef %8482)
  %8484 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8485 = trunc i8 %8484 to i1
  br i1 %8485, label %8486, label %8508

8486:                                             ; preds = %8479
  %8487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8488 = call i32 @fileno(ptr noundef %8487) #9
  %8489 = call i32 @isatty(i32 noundef %8488) #9
  %8490 = icmp ne i32 %8489, 0
  br i1 %8490, label %8491, label %8508

8491:                                             ; preds = %8486
  %8492 = load i32, ptr %171, align 4, !tbaa !5
  %8493 = call ptr @__errno_location() #10
  store i32 %8492, ptr %8493, align 4, !tbaa !5
  %8494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8495 = load i32, ptr @test_count, align 4, !tbaa !5
  %8496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8497 = load i32, ptr %8496, align 4, !tbaa !5
  %8498 = call ptr @s2n_strerror(i32 noundef %8497, ptr noundef @.str.4)
  %8499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8500 = load i32, ptr %8499, align 4, !tbaa !5
  %8501 = call ptr @s2n_strerror_debug(i32 noundef %8500, ptr noundef @.str.4)
  %8502 = call ptr @__errno_location() #10
  %8503 = load i32, ptr %8502, align 4, !tbaa !5
  %8504 = call ptr @strerror(i32 noundef %8503) #9
  %8505 = call ptr @__errno_location() #10
  %8506 = load i32, ptr %8505, align 4, !tbaa !5
  %8507 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8494, ptr noundef @.str.2, i32 noundef %8495, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 339, ptr noundef %8498, ptr noundef %8501, ptr noundef %8504, i32 noundef %8506) #9
  br label %8525

8508:                                             ; preds = %8486, %8479
  %8509 = load i32, ptr %171, align 4, !tbaa !5
  %8510 = call ptr @__errno_location() #10
  store i32 %8509, ptr %8510, align 4, !tbaa !5
  %8511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8512 = load i32, ptr @test_count, align 4, !tbaa !5
  %8513 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8514 = load i32, ptr %8513, align 4, !tbaa !5
  %8515 = call ptr @s2n_strerror(i32 noundef %8514, ptr noundef @.str.4)
  %8516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8517 = load i32, ptr %8516, align 4, !tbaa !5
  %8518 = call ptr @s2n_strerror_debug(i32 noundef %8517, ptr noundef @.str.4)
  %8519 = call ptr @__errno_location() #10
  %8520 = load i32, ptr %8519, align 4, !tbaa !5
  %8521 = call ptr @strerror(i32 noundef %8520) #9
  %8522 = call ptr @__errno_location() #10
  %8523 = load i32, ptr %8522, align 4, !tbaa !5
  %8524 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8511, ptr noundef @.str.5, i32 noundef %8512, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 339, ptr noundef %8515, ptr noundef %8518, ptr noundef %8521, i32 noundef %8523) #9
  br label %8525

8525:                                             ; preds = %8508, %8491
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #9
  br label %8526

8526:                                             ; preds = %8525
  br label %8527

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

8528:                                             ; No predecessors!
  br label %8529

8529:                                             ; preds = %8528
  br label %8530

8530:                                             ; preds = %8529, %8470
  br label %8531

8531:                                             ; preds = %8530
  br label %8532

8532:                                             ; preds = %8531
  br label %8533

8533:                                             ; preds = %8532
  %8534 = load i32, ptr @test_count, align 4, !tbaa !5
  %8535 = add nsw i32 %8534, 1
  store i32 %8535, ptr @test_count, align 4, !tbaa !5
  %8536 = load i8, ptr %167, align 1, !tbaa !15
  %8537 = zext i8 %8536 to i32
  %8538 = icmp eq i32 %8537, 80
  br i1 %8538, label %8592, label %8539

8539:                                             ; preds = %8533
  br label %8540

8540:                                             ; preds = %8539
  br label %8541

8541:                                             ; preds = %8540
  call void @llvm.lifetime.start.p0(i64 4, ptr %172) #9
  %8542 = call ptr @__errno_location() #10
  %8543 = load i32, ptr %8542, align 4, !tbaa !5
  store i32 %8543, ptr %172, align 4, !tbaa !5
  %8544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8545 = call i32 @s2n_print_stacktrace(ptr noundef %8544)
  %8546 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8547 = trunc i8 %8546 to i1
  br i1 %8547, label %8548, label %8570

8548:                                             ; preds = %8541
  %8549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8550 = call i32 @fileno(ptr noundef %8549) #9
  %8551 = call i32 @isatty(i32 noundef %8550) #9
  %8552 = icmp ne i32 %8551, 0
  br i1 %8552, label %8553, label %8570

8553:                                             ; preds = %8548
  %8554 = load i32, ptr %172, align 4, !tbaa !5
  %8555 = call ptr @__errno_location() #10
  store i32 %8554, ptr %8555, align 4, !tbaa !5
  %8556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8557 = load i32, ptr @test_count, align 4, !tbaa !5
  %8558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8559 = load i32, ptr %8558, align 4, !tbaa !5
  %8560 = call ptr @s2n_strerror(i32 noundef %8559, ptr noundef @.str.4)
  %8561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8562 = load i32, ptr %8561, align 4, !tbaa !5
  %8563 = call ptr @s2n_strerror_debug(i32 noundef %8562, ptr noundef @.str.4)
  %8564 = call ptr @__errno_location() #10
  %8565 = load i32, ptr %8564, align 4, !tbaa !5
  %8566 = call ptr @strerror(i32 noundef %8565) #9
  %8567 = call ptr @__errno_location() #10
  %8568 = load i32, ptr %8567, align 4, !tbaa !5
  %8569 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8556, ptr noundef @.str.2, i32 noundef %8557, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 340, ptr noundef %8560, ptr noundef %8563, ptr noundef %8566, i32 noundef %8568) #9
  br label %8587

8570:                                             ; preds = %8548, %8541
  %8571 = load i32, ptr %172, align 4, !tbaa !5
  %8572 = call ptr @__errno_location() #10
  store i32 %8571, ptr %8572, align 4, !tbaa !5
  %8573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8574 = load i32, ptr @test_count, align 4, !tbaa !5
  %8575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8576 = load i32, ptr %8575, align 4, !tbaa !5
  %8577 = call ptr @s2n_strerror(i32 noundef %8576, ptr noundef @.str.4)
  %8578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8579 = load i32, ptr %8578, align 4, !tbaa !5
  %8580 = call ptr @s2n_strerror_debug(i32 noundef %8579, ptr noundef @.str.4)
  %8581 = call ptr @__errno_location() #10
  %8582 = load i32, ptr %8581, align 4, !tbaa !5
  %8583 = call ptr @strerror(i32 noundef %8582) #9
  %8584 = call ptr @__errno_location() #10
  %8585 = load i32, ptr %8584, align 4, !tbaa !5
  %8586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8573, ptr noundef @.str.5, i32 noundef %8574, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 340, ptr noundef %8577, ptr noundef %8580, ptr noundef %8583, i32 noundef %8585) #9
  br label %8587

8587:                                             ; preds = %8570, %8553
  call void @llvm.lifetime.end.p0(i64 4, ptr %172) #9
  br label %8588

8588:                                             ; preds = %8587
  br label %8589

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

8590:                                             ; No predecessors!
  br label %8591

8591:                                             ; preds = %8590
  br label %8592

8592:                                             ; preds = %8591, %8533
  br label %8593

8593:                                             ; preds = %8592
  br label %8594

8594:                                             ; preds = %8593
  br label %8595

8595:                                             ; preds = %8594
  %8596 = load i32, ptr @test_count, align 4, !tbaa !5
  %8597 = add nsw i32 %8596, 1
  store i32 %8597, ptr @test_count, align 4, !tbaa !5
  %8598 = load ptr, ptr %162, align 8, !tbaa !9
  %8599 = getelementptr inbounds %struct.s2n_connection, ptr %8598, i32 0, i32 41
  %8600 = getelementptr inbounds %struct.s2n_stuffer, ptr %8599, i32 0, i32 2
  %8601 = load i32, ptr %8600, align 4, !tbaa !55
  %8602 = load ptr, ptr %162, align 8, !tbaa !9
  %8603 = getelementptr inbounds %struct.s2n_connection, ptr %8602, i32 0, i32 41
  %8604 = getelementptr inbounds %struct.s2n_stuffer, ptr %8603, i32 0, i32 1
  %8605 = load i32, ptr %8604, align 8, !tbaa !56
  %8606 = sub i32 %8601, %8605
  %8607 = icmp eq i32 %8606, 0
  br i1 %8607, label %8661, label %8608

8608:                                             ; preds = %8595
  br label %8609

8609:                                             ; preds = %8608
  br label %8610

8610:                                             ; preds = %8609
  call void @llvm.lifetime.start.p0(i64 4, ptr %173) #9
  %8611 = call ptr @__errno_location() #10
  %8612 = load i32, ptr %8611, align 4, !tbaa !5
  store i32 %8612, ptr %173, align 4, !tbaa !5
  %8613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8614 = call i32 @s2n_print_stacktrace(ptr noundef %8613)
  %8615 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8616 = trunc i8 %8615 to i1
  br i1 %8616, label %8617, label %8639

8617:                                             ; preds = %8610
  %8618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8619 = call i32 @fileno(ptr noundef %8618) #9
  %8620 = call i32 @isatty(i32 noundef %8619) #9
  %8621 = icmp ne i32 %8620, 0
  br i1 %8621, label %8622, label %8639

8622:                                             ; preds = %8617
  %8623 = load i32, ptr %173, align 4, !tbaa !5
  %8624 = call ptr @__errno_location() #10
  store i32 %8623, ptr %8624, align 4, !tbaa !5
  %8625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8626 = load i32, ptr @test_count, align 4, !tbaa !5
  %8627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8628 = load i32, ptr %8627, align 4, !tbaa !5
  %8629 = call ptr @s2n_strerror(i32 noundef %8628, ptr noundef @.str.4)
  %8630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8631 = load i32, ptr %8630, align 4, !tbaa !5
  %8632 = call ptr @s2n_strerror_debug(i32 noundef %8631, ptr noundef @.str.4)
  %8633 = call ptr @__errno_location() #10
  %8634 = load i32, ptr %8633, align 4, !tbaa !5
  %8635 = call ptr @strerror(i32 noundef %8634) #9
  %8636 = call ptr @__errno_location() #10
  %8637 = load i32, ptr %8636, align 4, !tbaa !5
  %8638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8625, ptr noundef @.str.2, i32 noundef %8626, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 341, ptr noundef %8629, ptr noundef %8632, ptr noundef %8635, i32 noundef %8637) #9
  br label %8656

8639:                                             ; preds = %8617, %8610
  %8640 = load i32, ptr %173, align 4, !tbaa !5
  %8641 = call ptr @__errno_location() #10
  store i32 %8640, ptr %8641, align 4, !tbaa !5
  %8642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8643 = load i32, ptr @test_count, align 4, !tbaa !5
  %8644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8645 = load i32, ptr %8644, align 4, !tbaa !5
  %8646 = call ptr @s2n_strerror(i32 noundef %8645, ptr noundef @.str.4)
  %8647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8648 = load i32, ptr %8647, align 4, !tbaa !5
  %8649 = call ptr @s2n_strerror_debug(i32 noundef %8648, ptr noundef @.str.4)
  %8650 = call ptr @__errno_location() #10
  %8651 = load i32, ptr %8650, align 4, !tbaa !5
  %8652 = call ptr @strerror(i32 noundef %8651) #9
  %8653 = call ptr @__errno_location() #10
  %8654 = load i32, ptr %8653, align 4, !tbaa !5
  %8655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8642, ptr noundef @.str.5, i32 noundef %8643, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 341, ptr noundef %8646, ptr noundef %8649, ptr noundef %8652, i32 noundef %8654) #9
  br label %8656

8656:                                             ; preds = %8639, %8622
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #9
  br label %8657

8657:                                             ; preds = %8656
  br label %8658

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

8659:                                             ; No predecessors!
  br label %8660

8660:                                             ; preds = %8659
  br label %8661

8661:                                             ; preds = %8660, %8595
  br label %8662

8662:                                             ; preds = %8661
  br label %8663

8663:                                             ; preds = %8662
  call void @llvm.lifetime.end.p0(i64 1, ptr %167) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %166) #9
  %8664 = call i32 @s2n_connection_ptr_free(ptr noundef %162)
  %8665 = getelementptr inbounds %struct.s2n_result, ptr %174, i32 0, i32 0
  store i32 %8664, ptr %8665, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %162) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %175) #9
  %8666 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %8666, ptr %175, align 8, !tbaa !9
  br label %8667

8667:                                             ; preds = %8663
  %8668 = load i32, ptr @test_count, align 4, !tbaa !5
  %8669 = add nsw i32 %8668, 1
  store i32 %8669, ptr @test_count, align 4, !tbaa !5
  %8670 = load ptr, ptr %175, align 8, !tbaa !9
  %8671 = icmp eq ptr %8670, null
  br i1 %8671, label %8672, label %8725

8672:                                             ; preds = %8667
  br label %8673

8673:                                             ; preds = %8672
  br label %8674

8674:                                             ; preds = %8673
  call void @llvm.lifetime.start.p0(i64 4, ptr %176) #9
  %8675 = call ptr @__errno_location() #10
  %8676 = load i32, ptr %8675, align 4, !tbaa !5
  store i32 %8676, ptr %176, align 4, !tbaa !5
  %8677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8678 = call i32 @s2n_print_stacktrace(ptr noundef %8677)
  %8679 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8680 = trunc i8 %8679 to i1
  br i1 %8680, label %8681, label %8703

8681:                                             ; preds = %8674
  %8682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8683 = call i32 @fileno(ptr noundef %8682) #9
  %8684 = call i32 @isatty(i32 noundef %8683) #9
  %8685 = icmp ne i32 %8684, 0
  br i1 %8685, label %8686, label %8703

8686:                                             ; preds = %8681
  %8687 = load i32, ptr %176, align 4, !tbaa !5
  %8688 = call ptr @__errno_location() #10
  store i32 %8687, ptr %8688, align 4, !tbaa !5
  %8689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8690 = load i32, ptr @test_count, align 4, !tbaa !5
  %8691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8692 = load i32, ptr %8691, align 4, !tbaa !5
  %8693 = call ptr @s2n_strerror(i32 noundef %8692, ptr noundef @.str.4)
  %8694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8695 = load i32, ptr %8694, align 4, !tbaa !5
  %8696 = call ptr @s2n_strerror_debug(i32 noundef %8695, ptr noundef @.str.4)
  %8697 = call ptr @__errno_location() #10
  %8698 = load i32, ptr %8697, align 4, !tbaa !5
  %8699 = call ptr @strerror(i32 noundef %8698) #9
  %8700 = call ptr @__errno_location() #10
  %8701 = load i32, ptr %8700, align 4, !tbaa !5
  %8702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8689, ptr noundef @.str.2, i32 noundef %8690, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 348, ptr noundef %8693, ptr noundef %8696, ptr noundef %8699, i32 noundef %8701) #9
  br label %8720

8703:                                             ; preds = %8681, %8674
  %8704 = load i32, ptr %176, align 4, !tbaa !5
  %8705 = call ptr @__errno_location() #10
  store i32 %8704, ptr %8705, align 4, !tbaa !5
  %8706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8707 = load i32, ptr @test_count, align 4, !tbaa !5
  %8708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8709 = load i32, ptr %8708, align 4, !tbaa !5
  %8710 = call ptr @s2n_strerror(i32 noundef %8709, ptr noundef @.str.4)
  %8711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8712 = load i32, ptr %8711, align 4, !tbaa !5
  %8713 = call ptr @s2n_strerror_debug(i32 noundef %8712, ptr noundef @.str.4)
  %8714 = call ptr @__errno_location() #10
  %8715 = load i32, ptr %8714, align 4, !tbaa !5
  %8716 = call ptr @strerror(i32 noundef %8715) #9
  %8717 = call ptr @__errno_location() #10
  %8718 = load i32, ptr %8717, align 4, !tbaa !5
  %8719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8706, ptr noundef @.str.5, i32 noundef %8707, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 348, ptr noundef %8710, ptr noundef %8713, ptr noundef %8716, i32 noundef %8718) #9
  br label %8720

8720:                                             ; preds = %8703, %8686
  call void @llvm.lifetime.end.p0(i64 4, ptr %176) #9
  br label %8721

8721:                                             ; preds = %8720
  br label %8722

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

8723:                                             ; No predecessors!
  br label %8724

8724:                                             ; preds = %8723
  br label %8725

8725:                                             ; preds = %8724, %8667
  br label %8726

8726:                                             ; preds = %8725
  br label %8727

8727:                                             ; preds = %8726
  %8728 = load ptr, ptr %175, align 8, !tbaa !9
  %8729 = getelementptr inbounds %struct.s2n_connection, ptr %8728, i32 0, i32 46
  store i8 80, ptr %8729, align 8, !tbaa !57
  %8730 = load ptr, ptr %175, align 8, !tbaa !9
  %8731 = getelementptr inbounds %struct.s2n_connection, ptr %8730, i32 0, i32 47
  store i8 46, ptr %8731, align 1, !tbaa !54
  br label %8732

8732:                                             ; preds = %8727
  %8733 = load i32, ptr @test_count, align 4, !tbaa !5
  %8734 = add nsw i32 %8733, 1
  store i32 %8734, ptr @test_count, align 4, !tbaa !5
  %8735 = load ptr, ptr %175, align 8, !tbaa !9
  %8736 = call i32 @s2n_alerts_write_error_or_close_notify(ptr noundef %8735)
  %8737 = getelementptr inbounds %struct.s2n_result, ptr %177, i32 0, i32 0
  store i32 %8736, ptr %8737, align 4
  %8738 = getelementptr inbounds %struct.s2n_result, ptr %177, i32 0, i32 0
  %8739 = load i32, ptr %8738, align 4
  %8740 = call zeroext i1 @s2n_result_is_ok(i32 %8739)
  br i1 %8740, label %8794, label %8741

8741:                                             ; preds = %8732
  br label %8742

8742:                                             ; preds = %8741
  br label %8743

8743:                                             ; preds = %8742
  call void @llvm.lifetime.start.p0(i64 4, ptr %178) #9
  %8744 = call ptr @__errno_location() #10
  %8745 = load i32, ptr %8744, align 4, !tbaa !5
  store i32 %8745, ptr %178, align 4, !tbaa !5
  %8746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8747 = call i32 @s2n_print_stacktrace(ptr noundef %8746)
  %8748 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8749 = trunc i8 %8748 to i1
  br i1 %8749, label %8750, label %8772

8750:                                             ; preds = %8743
  %8751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8752 = call i32 @fileno(ptr noundef %8751) #9
  %8753 = call i32 @isatty(i32 noundef %8752) #9
  %8754 = icmp ne i32 %8753, 0
  br i1 %8754, label %8755, label %8772

8755:                                             ; preds = %8750
  %8756 = load i32, ptr %178, align 4, !tbaa !5
  %8757 = call ptr @__errno_location() #10
  store i32 %8756, ptr %8757, align 4, !tbaa !5
  %8758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8759 = load i32, ptr @test_count, align 4, !tbaa !5
  %8760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8761 = load i32, ptr %8760, align 4, !tbaa !5
  %8762 = call ptr @s2n_strerror(i32 noundef %8761, ptr noundef @.str.4)
  %8763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8764 = load i32, ptr %8763, align 4, !tbaa !5
  %8765 = call ptr @s2n_strerror_debug(i32 noundef %8764, ptr noundef @.str.4)
  %8766 = call ptr @__errno_location() #10
  %8767 = load i32, ptr %8766, align 4, !tbaa !5
  %8768 = call ptr @strerror(i32 noundef %8767) #9
  %8769 = call ptr @__errno_location() #10
  %8770 = load i32, ptr %8769, align 4, !tbaa !5
  %8771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8758, ptr noundef @.str.2, i32 noundef %8759, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 352, ptr noundef %8762, ptr noundef %8765, ptr noundef %8768, i32 noundef %8770) #9
  br label %8789

8772:                                             ; preds = %8750, %8743
  %8773 = load i32, ptr %178, align 4, !tbaa !5
  %8774 = call ptr @__errno_location() #10
  store i32 %8773, ptr %8774, align 4, !tbaa !5
  %8775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8776 = load i32, ptr @test_count, align 4, !tbaa !5
  %8777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8778 = load i32, ptr %8777, align 4, !tbaa !5
  %8779 = call ptr @s2n_strerror(i32 noundef %8778, ptr noundef @.str.4)
  %8780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8781 = load i32, ptr %8780, align 4, !tbaa !5
  %8782 = call ptr @s2n_strerror_debug(i32 noundef %8781, ptr noundef @.str.4)
  %8783 = call ptr @__errno_location() #10
  %8784 = load i32, ptr %8783, align 4, !tbaa !5
  %8785 = call ptr @strerror(i32 noundef %8784) #9
  %8786 = call ptr @__errno_location() #10
  %8787 = load i32, ptr %8786, align 4, !tbaa !5
  %8788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8775, ptr noundef @.str.5, i32 noundef %8776, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 352, ptr noundef %8779, ptr noundef %8782, ptr noundef %8785, i32 noundef %8787) #9
  br label %8789

8789:                                             ; preds = %8772, %8755
  call void @llvm.lifetime.end.p0(i64 4, ptr %178) #9
  br label %8790

8790:                                             ; preds = %8789
  br label %8791

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

8792:                                             ; No predecessors!
  br label %8793

8793:                                             ; preds = %8792
  br label %8794

8794:                                             ; preds = %8793, %8732
  br label %8795

8795:                                             ; preds = %8794
  br label %8796

8796:                                             ; preds = %8795
  call void @llvm.lifetime.start.p0(i64 1, ptr %179) #9
  store i8 0, ptr %179, align 1, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 1, ptr %180) #9
  store i8 0, ptr %180, align 1, !tbaa !15
  br label %8797

8797:                                             ; preds = %8796
  %8798 = load i32, ptr @test_count, align 4, !tbaa !5
  %8799 = add nsw i32 %8798, 1
  store i32 %8799, ptr @test_count, align 4, !tbaa !5
  %8800 = load ptr, ptr %175, align 8, !tbaa !9
  %8801 = getelementptr inbounds %struct.s2n_connection, ptr %8800, i32 0, i32 41
  %8802 = call i32 @s2n_stuffer_skip_read(ptr noundef %8801, i32 noundef 5)
  %8803 = icmp eq i32 %8802, -1
  br i1 %8803, label %8804, label %8857

8804:                                             ; preds = %8797
  br label %8805

8805:                                             ; preds = %8804
  br label %8806

8806:                                             ; preds = %8805
  call void @llvm.lifetime.start.p0(i64 4, ptr %181) #9
  %8807 = call ptr @__errno_location() #10
  %8808 = load i32, ptr %8807, align 4, !tbaa !5
  store i32 %8808, ptr %181, align 4, !tbaa !5
  %8809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8810 = call i32 @s2n_print_stacktrace(ptr noundef %8809)
  %8811 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8812 = trunc i8 %8811 to i1
  br i1 %8812, label %8813, label %8835

8813:                                             ; preds = %8806
  %8814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8815 = call i32 @fileno(ptr noundef %8814) #9
  %8816 = call i32 @isatty(i32 noundef %8815) #9
  %8817 = icmp ne i32 %8816, 0
  br i1 %8817, label %8818, label %8835

8818:                                             ; preds = %8813
  %8819 = load i32, ptr %181, align 4, !tbaa !5
  %8820 = call ptr @__errno_location() #10
  store i32 %8819, ptr %8820, align 4, !tbaa !5
  %8821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8822 = load i32, ptr @test_count, align 4, !tbaa !5
  %8823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8824 = load i32, ptr %8823, align 4, !tbaa !5
  %8825 = call ptr @s2n_strerror(i32 noundef %8824, ptr noundef @.str.4)
  %8826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8827 = load i32, ptr %8826, align 4, !tbaa !5
  %8828 = call ptr @s2n_strerror_debug(i32 noundef %8827, ptr noundef @.str.4)
  %8829 = call ptr @__errno_location() #10
  %8830 = load i32, ptr %8829, align 4, !tbaa !5
  %8831 = call ptr @strerror(i32 noundef %8830) #9
  %8832 = call ptr @__errno_location() #10
  %8833 = load i32, ptr %8832, align 4, !tbaa !5
  %8834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8821, ptr noundef @.str.2, i32 noundef %8822, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 356, ptr noundef %8825, ptr noundef %8828, ptr noundef %8831, i32 noundef %8833) #9
  br label %8852

8835:                                             ; preds = %8813, %8806
  %8836 = load i32, ptr %181, align 4, !tbaa !5
  %8837 = call ptr @__errno_location() #10
  store i32 %8836, ptr %8837, align 4, !tbaa !5
  %8838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8839 = load i32, ptr @test_count, align 4, !tbaa !5
  %8840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8841 = load i32, ptr %8840, align 4, !tbaa !5
  %8842 = call ptr @s2n_strerror(i32 noundef %8841, ptr noundef @.str.4)
  %8843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8844 = load i32, ptr %8843, align 4, !tbaa !5
  %8845 = call ptr @s2n_strerror_debug(i32 noundef %8844, ptr noundef @.str.4)
  %8846 = call ptr @__errno_location() #10
  %8847 = load i32, ptr %8846, align 4, !tbaa !5
  %8848 = call ptr @strerror(i32 noundef %8847) #9
  %8849 = call ptr @__errno_location() #10
  %8850 = load i32, ptr %8849, align 4, !tbaa !5
  %8851 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8838, ptr noundef @.str.5, i32 noundef %8839, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 356, ptr noundef %8842, ptr noundef %8845, ptr noundef %8848, i32 noundef %8850) #9
  br label %8852

8852:                                             ; preds = %8835, %8818
  call void @llvm.lifetime.end.p0(i64 4, ptr %181) #9
  br label %8853

8853:                                             ; preds = %8852
  br label %8854

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

8855:                                             ; No predecessors!
  br label %8856

8856:                                             ; preds = %8855
  br label %8857

8857:                                             ; preds = %8856, %8797
  br label %8858

8858:                                             ; preds = %8857
  br label %8859

8859:                                             ; preds = %8858
  br label %8860

8860:                                             ; preds = %8859
  %8861 = load i32, ptr @test_count, align 4, !tbaa !5
  %8862 = add nsw i32 %8861, 1
  store i32 %8862, ptr @test_count, align 4, !tbaa !5
  %8863 = load ptr, ptr %175, align 8, !tbaa !9
  %8864 = getelementptr inbounds %struct.s2n_connection, ptr %8863, i32 0, i32 41
  %8865 = call i32 @s2n_stuffer_read_uint8(ptr noundef %8864, ptr noundef %179)
  %8866 = icmp eq i32 %8865, -1
  br i1 %8866, label %8867, label %8920

8867:                                             ; preds = %8860
  br label %8868

8868:                                             ; preds = %8867
  br label %8869

8869:                                             ; preds = %8868
  call void @llvm.lifetime.start.p0(i64 4, ptr %182) #9
  %8870 = call ptr @__errno_location() #10
  %8871 = load i32, ptr %8870, align 4, !tbaa !5
  store i32 %8871, ptr %182, align 4, !tbaa !5
  %8872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8873 = call i32 @s2n_print_stacktrace(ptr noundef %8872)
  %8874 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8875 = trunc i8 %8874 to i1
  br i1 %8875, label %8876, label %8898

8876:                                             ; preds = %8869
  %8877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8878 = call i32 @fileno(ptr noundef %8877) #9
  %8879 = call i32 @isatty(i32 noundef %8878) #9
  %8880 = icmp ne i32 %8879, 0
  br i1 %8880, label %8881, label %8898

8881:                                             ; preds = %8876
  %8882 = load i32, ptr %182, align 4, !tbaa !5
  %8883 = call ptr @__errno_location() #10
  store i32 %8882, ptr %8883, align 4, !tbaa !5
  %8884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8885 = load i32, ptr @test_count, align 4, !tbaa !5
  %8886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8887 = load i32, ptr %8886, align 4, !tbaa !5
  %8888 = call ptr @s2n_strerror(i32 noundef %8887, ptr noundef @.str.4)
  %8889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8890 = load i32, ptr %8889, align 4, !tbaa !5
  %8891 = call ptr @s2n_strerror_debug(i32 noundef %8890, ptr noundef @.str.4)
  %8892 = call ptr @__errno_location() #10
  %8893 = load i32, ptr %8892, align 4, !tbaa !5
  %8894 = call ptr @strerror(i32 noundef %8893) #9
  %8895 = call ptr @__errno_location() #10
  %8896 = load i32, ptr %8895, align 4, !tbaa !5
  %8897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8884, ptr noundef @.str.2, i32 noundef %8885, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 357, ptr noundef %8888, ptr noundef %8891, ptr noundef %8894, i32 noundef %8896) #9
  br label %8915

8898:                                             ; preds = %8876, %8869
  %8899 = load i32, ptr %182, align 4, !tbaa !5
  %8900 = call ptr @__errno_location() #10
  store i32 %8899, ptr %8900, align 4, !tbaa !5
  %8901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8902 = load i32, ptr @test_count, align 4, !tbaa !5
  %8903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8904 = load i32, ptr %8903, align 4, !tbaa !5
  %8905 = call ptr @s2n_strerror(i32 noundef %8904, ptr noundef @.str.4)
  %8906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8907 = load i32, ptr %8906, align 4, !tbaa !5
  %8908 = call ptr @s2n_strerror_debug(i32 noundef %8907, ptr noundef @.str.4)
  %8909 = call ptr @__errno_location() #10
  %8910 = load i32, ptr %8909, align 4, !tbaa !5
  %8911 = call ptr @strerror(i32 noundef %8910) #9
  %8912 = call ptr @__errno_location() #10
  %8913 = load i32, ptr %8912, align 4, !tbaa !5
  %8914 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8901, ptr noundef @.str.5, i32 noundef %8902, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 357, ptr noundef %8905, ptr noundef %8908, ptr noundef %8911, i32 noundef %8913) #9
  br label %8915

8915:                                             ; preds = %8898, %8881
  call void @llvm.lifetime.end.p0(i64 4, ptr %182) #9
  br label %8916

8916:                                             ; preds = %8915
  br label %8917

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

8918:                                             ; No predecessors!
  br label %8919

8919:                                             ; preds = %8918
  br label %8920

8920:                                             ; preds = %8919, %8860
  br label %8921

8921:                                             ; preds = %8920
  br label %8922

8922:                                             ; preds = %8921
  br label %8923

8923:                                             ; preds = %8922
  %8924 = load i32, ptr @test_count, align 4, !tbaa !5
  %8925 = add nsw i32 %8924, 1
  store i32 %8925, ptr @test_count, align 4, !tbaa !5
  %8926 = load i8, ptr %179, align 1, !tbaa !15
  %8927 = zext i8 %8926 to i32
  %8928 = icmp eq i32 %8927, 2
  br i1 %8928, label %8982, label %8929

8929:                                             ; preds = %8923
  br label %8930

8930:                                             ; preds = %8929
  br label %8931

8931:                                             ; preds = %8930
  call void @llvm.lifetime.start.p0(i64 4, ptr %183) #9
  %8932 = call ptr @__errno_location() #10
  %8933 = load i32, ptr %8932, align 4, !tbaa !5
  store i32 %8933, ptr %183, align 4, !tbaa !5
  %8934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8935 = call i32 @s2n_print_stacktrace(ptr noundef %8934)
  %8936 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8937 = trunc i8 %8936 to i1
  br i1 %8937, label %8938, label %8960

8938:                                             ; preds = %8931
  %8939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8940 = call i32 @fileno(ptr noundef %8939) #9
  %8941 = call i32 @isatty(i32 noundef %8940) #9
  %8942 = icmp ne i32 %8941, 0
  br i1 %8942, label %8943, label %8960

8943:                                             ; preds = %8938
  %8944 = load i32, ptr %183, align 4, !tbaa !5
  %8945 = call ptr @__errno_location() #10
  store i32 %8944, ptr %8945, align 4, !tbaa !5
  %8946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8947 = load i32, ptr @test_count, align 4, !tbaa !5
  %8948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8949 = load i32, ptr %8948, align 4, !tbaa !5
  %8950 = call ptr @s2n_strerror(i32 noundef %8949, ptr noundef @.str.4)
  %8951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8952 = load i32, ptr %8951, align 4, !tbaa !5
  %8953 = call ptr @s2n_strerror_debug(i32 noundef %8952, ptr noundef @.str.4)
  %8954 = call ptr @__errno_location() #10
  %8955 = load i32, ptr %8954, align 4, !tbaa !5
  %8956 = call ptr @strerror(i32 noundef %8955) #9
  %8957 = call ptr @__errno_location() #10
  %8958 = load i32, ptr %8957, align 4, !tbaa !5
  %8959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8946, ptr noundef @.str.2, i32 noundef %8947, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 358, ptr noundef %8950, ptr noundef %8953, ptr noundef %8956, i32 noundef %8958) #9
  br label %8977

8960:                                             ; preds = %8938, %8931
  %8961 = load i32, ptr %183, align 4, !tbaa !5
  %8962 = call ptr @__errno_location() #10
  store i32 %8961, ptr %8962, align 4, !tbaa !5
  %8963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8964 = load i32, ptr @test_count, align 4, !tbaa !5
  %8965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8966 = load i32, ptr %8965, align 4, !tbaa !5
  %8967 = call ptr @s2n_strerror(i32 noundef %8966, ptr noundef @.str.4)
  %8968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8969 = load i32, ptr %8968, align 4, !tbaa !5
  %8970 = call ptr @s2n_strerror_debug(i32 noundef %8969, ptr noundef @.str.4)
  %8971 = call ptr @__errno_location() #10
  %8972 = load i32, ptr %8971, align 4, !tbaa !5
  %8973 = call ptr @strerror(i32 noundef %8972) #9
  %8974 = call ptr @__errno_location() #10
  %8975 = load i32, ptr %8974, align 4, !tbaa !5
  %8976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8963, ptr noundef @.str.5, i32 noundef %8964, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 358, ptr noundef %8967, ptr noundef %8970, ptr noundef %8973, i32 noundef %8975) #9
  br label %8977

8977:                                             ; preds = %8960, %8943
  call void @llvm.lifetime.end.p0(i64 4, ptr %183) #9
  br label %8978

8978:                                             ; preds = %8977
  br label %8979

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

8980:                                             ; No predecessors!
  br label %8981

8981:                                             ; preds = %8980
  br label %8982

8982:                                             ; preds = %8981, %8923
  br label %8983

8983:                                             ; preds = %8982
  br label %8984

8984:                                             ; preds = %8983
  br label %8985

8985:                                             ; preds = %8984
  %8986 = load i32, ptr @test_count, align 4, !tbaa !5
  %8987 = add nsw i32 %8986, 1
  store i32 %8987, ptr @test_count, align 4, !tbaa !5
  %8988 = load ptr, ptr %175, align 8, !tbaa !9
  %8989 = getelementptr inbounds %struct.s2n_connection, ptr %8988, i32 0, i32 41
  %8990 = call i32 @s2n_stuffer_read_uint8(ptr noundef %8989, ptr noundef %180)
  %8991 = icmp eq i32 %8990, -1
  br i1 %8991, label %8992, label %9045

8992:                                             ; preds = %8985
  br label %8993

8993:                                             ; preds = %8992
  br label %8994

8994:                                             ; preds = %8993
  call void @llvm.lifetime.start.p0(i64 4, ptr %184) #9
  %8995 = call ptr @__errno_location() #10
  %8996 = load i32, ptr %8995, align 4, !tbaa !5
  store i32 %8996, ptr %184, align 4, !tbaa !5
  %8997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8998 = call i32 @s2n_print_stacktrace(ptr noundef %8997)
  %8999 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9000 = trunc i8 %8999 to i1
  br i1 %9000, label %9001, label %9023

9001:                                             ; preds = %8994
  %9002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9003 = call i32 @fileno(ptr noundef %9002) #9
  %9004 = call i32 @isatty(i32 noundef %9003) #9
  %9005 = icmp ne i32 %9004, 0
  br i1 %9005, label %9006, label %9023

9006:                                             ; preds = %9001
  %9007 = load i32, ptr %184, align 4, !tbaa !5
  %9008 = call ptr @__errno_location() #10
  store i32 %9007, ptr %9008, align 4, !tbaa !5
  %9009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9010 = load i32, ptr @test_count, align 4, !tbaa !5
  %9011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9012 = load i32, ptr %9011, align 4, !tbaa !5
  %9013 = call ptr @s2n_strerror(i32 noundef %9012, ptr noundef @.str.4)
  %9014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9015 = load i32, ptr %9014, align 4, !tbaa !5
  %9016 = call ptr @s2n_strerror_debug(i32 noundef %9015, ptr noundef @.str.4)
  %9017 = call ptr @__errno_location() #10
  %9018 = load i32, ptr %9017, align 4, !tbaa !5
  %9019 = call ptr @strerror(i32 noundef %9018) #9
  %9020 = call ptr @__errno_location() #10
  %9021 = load i32, ptr %9020, align 4, !tbaa !5
  %9022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9009, ptr noundef @.str.2, i32 noundef %9010, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 359, ptr noundef %9013, ptr noundef %9016, ptr noundef %9019, i32 noundef %9021) #9
  br label %9040

9023:                                             ; preds = %9001, %8994
  %9024 = load i32, ptr %184, align 4, !tbaa !5
  %9025 = call ptr @__errno_location() #10
  store i32 %9024, ptr %9025, align 4, !tbaa !5
  %9026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9027 = load i32, ptr @test_count, align 4, !tbaa !5
  %9028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9029 = load i32, ptr %9028, align 4, !tbaa !5
  %9030 = call ptr @s2n_strerror(i32 noundef %9029, ptr noundef @.str.4)
  %9031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9032 = load i32, ptr %9031, align 4, !tbaa !5
  %9033 = call ptr @s2n_strerror_debug(i32 noundef %9032, ptr noundef @.str.4)
  %9034 = call ptr @__errno_location() #10
  %9035 = load i32, ptr %9034, align 4, !tbaa !5
  %9036 = call ptr @strerror(i32 noundef %9035) #9
  %9037 = call ptr @__errno_location() #10
  %9038 = load i32, ptr %9037, align 4, !tbaa !5
  %9039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9026, ptr noundef @.str.5, i32 noundef %9027, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 359, ptr noundef %9030, ptr noundef %9033, ptr noundef %9036, i32 noundef %9038) #9
  br label %9040

9040:                                             ; preds = %9023, %9006
  call void @llvm.lifetime.end.p0(i64 4, ptr %184) #9
  br label %9041

9041:                                             ; preds = %9040
  br label %9042

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

9043:                                             ; No predecessors!
  br label %9044

9044:                                             ; preds = %9043
  br label %9045

9045:                                             ; preds = %9044, %8985
  br label %9046

9046:                                             ; preds = %9045
  br label %9047

9047:                                             ; preds = %9046
  br label %9048

9048:                                             ; preds = %9047
  %9049 = load i32, ptr @test_count, align 4, !tbaa !5
  %9050 = add nsw i32 %9049, 1
  store i32 %9050, ptr @test_count, align 4, !tbaa !5
  %9051 = load i8, ptr %180, align 1, !tbaa !15
  %9052 = zext i8 %9051 to i32
  %9053 = icmp eq i32 %9052, 80
  br i1 %9053, label %9107, label %9054

9054:                                             ; preds = %9048
  br label %9055

9055:                                             ; preds = %9054
  br label %9056

9056:                                             ; preds = %9055
  call void @llvm.lifetime.start.p0(i64 4, ptr %185) #9
  %9057 = call ptr @__errno_location() #10
  %9058 = load i32, ptr %9057, align 4, !tbaa !5
  store i32 %9058, ptr %185, align 4, !tbaa !5
  %9059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9060 = call i32 @s2n_print_stacktrace(ptr noundef %9059)
  %9061 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9062 = trunc i8 %9061 to i1
  br i1 %9062, label %9063, label %9085

9063:                                             ; preds = %9056
  %9064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9065 = call i32 @fileno(ptr noundef %9064) #9
  %9066 = call i32 @isatty(i32 noundef %9065) #9
  %9067 = icmp ne i32 %9066, 0
  br i1 %9067, label %9068, label %9085

9068:                                             ; preds = %9063
  %9069 = load i32, ptr %185, align 4, !tbaa !5
  %9070 = call ptr @__errno_location() #10
  store i32 %9069, ptr %9070, align 4, !tbaa !5
  %9071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9072 = load i32, ptr @test_count, align 4, !tbaa !5
  %9073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9074 = load i32, ptr %9073, align 4, !tbaa !5
  %9075 = call ptr @s2n_strerror(i32 noundef %9074, ptr noundef @.str.4)
  %9076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9077 = load i32, ptr %9076, align 4, !tbaa !5
  %9078 = call ptr @s2n_strerror_debug(i32 noundef %9077, ptr noundef @.str.4)
  %9079 = call ptr @__errno_location() #10
  %9080 = load i32, ptr %9079, align 4, !tbaa !5
  %9081 = call ptr @strerror(i32 noundef %9080) #9
  %9082 = call ptr @__errno_location() #10
  %9083 = load i32, ptr %9082, align 4, !tbaa !5
  %9084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9071, ptr noundef @.str.2, i32 noundef %9072, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 360, ptr noundef %9075, ptr noundef %9078, ptr noundef %9081, i32 noundef %9083) #9
  br label %9102

9085:                                             ; preds = %9063, %9056
  %9086 = load i32, ptr %185, align 4, !tbaa !5
  %9087 = call ptr @__errno_location() #10
  store i32 %9086, ptr %9087, align 4, !tbaa !5
  %9088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9089 = load i32, ptr @test_count, align 4, !tbaa !5
  %9090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9091 = load i32, ptr %9090, align 4, !tbaa !5
  %9092 = call ptr @s2n_strerror(i32 noundef %9091, ptr noundef @.str.4)
  %9093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9094 = load i32, ptr %9093, align 4, !tbaa !5
  %9095 = call ptr @s2n_strerror_debug(i32 noundef %9094, ptr noundef @.str.4)
  %9096 = call ptr @__errno_location() #10
  %9097 = load i32, ptr %9096, align 4, !tbaa !5
  %9098 = call ptr @strerror(i32 noundef %9097) #9
  %9099 = call ptr @__errno_location() #10
  %9100 = load i32, ptr %9099, align 4, !tbaa !5
  %9101 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9088, ptr noundef @.str.5, i32 noundef %9089, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 360, ptr noundef %9092, ptr noundef %9095, ptr noundef %9098, i32 noundef %9100) #9
  br label %9102

9102:                                             ; preds = %9085, %9068
  call void @llvm.lifetime.end.p0(i64 4, ptr %185) #9
  br label %9103

9103:                                             ; preds = %9102
  br label %9104

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

9105:                                             ; No predecessors!
  br label %9106

9106:                                             ; preds = %9105
  br label %9107

9107:                                             ; preds = %9106, %9048
  br label %9108

9108:                                             ; preds = %9107
  br label %9109

9109:                                             ; preds = %9108
  br label %9110

9110:                                             ; preds = %9109
  %9111 = load i32, ptr @test_count, align 4, !tbaa !5
  %9112 = add nsw i32 %9111, 1
  store i32 %9112, ptr @test_count, align 4, !tbaa !5
  %9113 = load ptr, ptr %175, align 8, !tbaa !9
  %9114 = getelementptr inbounds %struct.s2n_connection, ptr %9113, i32 0, i32 41
  %9115 = getelementptr inbounds %struct.s2n_stuffer, ptr %9114, i32 0, i32 2
  %9116 = load i32, ptr %9115, align 4, !tbaa !55
  %9117 = load ptr, ptr %175, align 8, !tbaa !9
  %9118 = getelementptr inbounds %struct.s2n_connection, ptr %9117, i32 0, i32 41
  %9119 = getelementptr inbounds %struct.s2n_stuffer, ptr %9118, i32 0, i32 1
  %9120 = load i32, ptr %9119, align 8, !tbaa !56
  %9121 = sub i32 %9116, %9120
  %9122 = icmp eq i32 %9121, 0
  br i1 %9122, label %9176, label %9123

9123:                                             ; preds = %9110
  br label %9124

9124:                                             ; preds = %9123
  br label %9125

9125:                                             ; preds = %9124
  call void @llvm.lifetime.start.p0(i64 4, ptr %186) #9
  %9126 = call ptr @__errno_location() #10
  %9127 = load i32, ptr %9126, align 4, !tbaa !5
  store i32 %9127, ptr %186, align 4, !tbaa !5
  %9128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9129 = call i32 @s2n_print_stacktrace(ptr noundef %9128)
  %9130 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9131 = trunc i8 %9130 to i1
  br i1 %9131, label %9132, label %9154

9132:                                             ; preds = %9125
  %9133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9134 = call i32 @fileno(ptr noundef %9133) #9
  %9135 = call i32 @isatty(i32 noundef %9134) #9
  %9136 = icmp ne i32 %9135, 0
  br i1 %9136, label %9137, label %9154

9137:                                             ; preds = %9132
  %9138 = load i32, ptr %186, align 4, !tbaa !5
  %9139 = call ptr @__errno_location() #10
  store i32 %9138, ptr %9139, align 4, !tbaa !5
  %9140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9141 = load i32, ptr @test_count, align 4, !tbaa !5
  %9142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9143 = load i32, ptr %9142, align 4, !tbaa !5
  %9144 = call ptr @s2n_strerror(i32 noundef %9143, ptr noundef @.str.4)
  %9145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9146 = load i32, ptr %9145, align 4, !tbaa !5
  %9147 = call ptr @s2n_strerror_debug(i32 noundef %9146, ptr noundef @.str.4)
  %9148 = call ptr @__errno_location() #10
  %9149 = load i32, ptr %9148, align 4, !tbaa !5
  %9150 = call ptr @strerror(i32 noundef %9149) #9
  %9151 = call ptr @__errno_location() #10
  %9152 = load i32, ptr %9151, align 4, !tbaa !5
  %9153 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9140, ptr noundef @.str.2, i32 noundef %9141, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 361, ptr noundef %9144, ptr noundef %9147, ptr noundef %9150, i32 noundef %9152) #9
  br label %9171

9154:                                             ; preds = %9132, %9125
  %9155 = load i32, ptr %186, align 4, !tbaa !5
  %9156 = call ptr @__errno_location() #10
  store i32 %9155, ptr %9156, align 4, !tbaa !5
  %9157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9158 = load i32, ptr @test_count, align 4, !tbaa !5
  %9159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9160 = load i32, ptr %9159, align 4, !tbaa !5
  %9161 = call ptr @s2n_strerror(i32 noundef %9160, ptr noundef @.str.4)
  %9162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9163 = load i32, ptr %9162, align 4, !tbaa !5
  %9164 = call ptr @s2n_strerror_debug(i32 noundef %9163, ptr noundef @.str.4)
  %9165 = call ptr @__errno_location() #10
  %9166 = load i32, ptr %9165, align 4, !tbaa !5
  %9167 = call ptr @strerror(i32 noundef %9166) #9
  %9168 = call ptr @__errno_location() #10
  %9169 = load i32, ptr %9168, align 4, !tbaa !5
  %9170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9157, ptr noundef @.str.5, i32 noundef %9158, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 361, ptr noundef %9161, ptr noundef %9164, ptr noundef %9167, i32 noundef %9169) #9
  br label %9171

9171:                                             ; preds = %9154, %9137
  call void @llvm.lifetime.end.p0(i64 4, ptr %186) #9
  br label %9172

9172:                                             ; preds = %9171
  br label %9173

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

9174:                                             ; No predecessors!
  br label %9175

9175:                                             ; preds = %9174
  br label %9176

9176:                                             ; preds = %9175, %9110
  br label %9177

9177:                                             ; preds = %9176
  br label %9178

9178:                                             ; preds = %9177
  call void @llvm.lifetime.end.p0(i64 1, ptr %180) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %179) #9
  %9179 = call i32 @s2n_connection_ptr_free(ptr noundef %175)
  %9180 = getelementptr inbounds %struct.s2n_result, ptr %187, i32 0, i32 0
  store i32 %9179, ptr %9180, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %175) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %188) #9
  %9181 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %9181, ptr %188, align 8, !tbaa !9
  br label %9182

9182:                                             ; preds = %9178
  %9183 = load i32, ptr @test_count, align 4, !tbaa !5
  %9184 = add nsw i32 %9183, 1
  store i32 %9184, ptr @test_count, align 4, !tbaa !5
  %9185 = load ptr, ptr %188, align 8, !tbaa !9
  %9186 = icmp eq ptr %9185, null
  br i1 %9186, label %9187, label %9240

9187:                                             ; preds = %9182
  br label %9188

9188:                                             ; preds = %9187
  br label %9189

9189:                                             ; preds = %9188
  call void @llvm.lifetime.start.p0(i64 4, ptr %189) #9
  %9190 = call ptr @__errno_location() #10
  %9191 = load i32, ptr %9190, align 4, !tbaa !5
  store i32 %9191, ptr %189, align 4, !tbaa !5
  %9192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9193 = call i32 @s2n_print_stacktrace(ptr noundef %9192)
  %9194 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9195 = trunc i8 %9194 to i1
  br i1 %9195, label %9196, label %9218

9196:                                             ; preds = %9189
  %9197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9198 = call i32 @fileno(ptr noundef %9197) #9
  %9199 = call i32 @isatty(i32 noundef %9198) #9
  %9200 = icmp ne i32 %9199, 0
  br i1 %9200, label %9201, label %9218

9201:                                             ; preds = %9196
  %9202 = load i32, ptr %189, align 4, !tbaa !5
  %9203 = call ptr @__errno_location() #10
  store i32 %9202, ptr %9203, align 4, !tbaa !5
  %9204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9205 = load i32, ptr @test_count, align 4, !tbaa !5
  %9206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9207 = load i32, ptr %9206, align 4, !tbaa !5
  %9208 = call ptr @s2n_strerror(i32 noundef %9207, ptr noundef @.str.4)
  %9209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9210 = load i32, ptr %9209, align 4, !tbaa !5
  %9211 = call ptr @s2n_strerror_debug(i32 noundef %9210, ptr noundef @.str.4)
  %9212 = call ptr @__errno_location() #10
  %9213 = load i32, ptr %9212, align 4, !tbaa !5
  %9214 = call ptr @strerror(i32 noundef %9213) #9
  %9215 = call ptr @__errno_location() #10
  %9216 = load i32, ptr %9215, align 4, !tbaa !5
  %9217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9204, ptr noundef @.str.2, i32 noundef %9205, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 368, ptr noundef %9208, ptr noundef %9211, ptr noundef %9214, i32 noundef %9216) #9
  br label %9235

9218:                                             ; preds = %9196, %9189
  %9219 = load i32, ptr %189, align 4, !tbaa !5
  %9220 = call ptr @__errno_location() #10
  store i32 %9219, ptr %9220, align 4, !tbaa !5
  %9221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9222 = load i32, ptr @test_count, align 4, !tbaa !5
  %9223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9224 = load i32, ptr %9223, align 4, !tbaa !5
  %9225 = call ptr @s2n_strerror(i32 noundef %9224, ptr noundef @.str.4)
  %9226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9227 = load i32, ptr %9226, align 4, !tbaa !5
  %9228 = call ptr @s2n_strerror_debug(i32 noundef %9227, ptr noundef @.str.4)
  %9229 = call ptr @__errno_location() #10
  %9230 = load i32, ptr %9229, align 4, !tbaa !5
  %9231 = call ptr @strerror(i32 noundef %9230) #9
  %9232 = call ptr @__errno_location() #10
  %9233 = load i32, ptr %9232, align 4, !tbaa !5
  %9234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9221, ptr noundef @.str.5, i32 noundef %9222, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 368, ptr noundef %9225, ptr noundef %9228, ptr noundef %9231, i32 noundef %9233) #9
  br label %9235

9235:                                             ; preds = %9218, %9201
  call void @llvm.lifetime.end.p0(i64 4, ptr %189) #9
  br label %9236

9236:                                             ; preds = %9235
  br label %9237

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

9238:                                             ; No predecessors!
  br label %9239

9239:                                             ; preds = %9238
  br label %9240

9240:                                             ; preds = %9239, %9182
  br label %9241

9241:                                             ; preds = %9240
  br label %9242

9242:                                             ; preds = %9241
  %9243 = load ptr, ptr %188, align 8, !tbaa !9
  %9244 = load i32, ptr %9243, align 8
  %9245 = and i32 %9244, -5
  %9246 = or i32 %9245, 4
  store i32 %9246, ptr %9243, align 8
  %9247 = load ptr, ptr %188, align 8, !tbaa !9
  %9248 = getelementptr inbounds %struct.s2n_connection, ptr %9247, i32 0, i32 46
  store i8 80, ptr %9248, align 8, !tbaa !57
  %9249 = load ptr, ptr %188, align 8, !tbaa !9
  %9250 = getelementptr inbounds %struct.s2n_connection, ptr %9249, i32 0, i32 47
  store i8 46, ptr %9250, align 1, !tbaa !54
  br label %9251

9251:                                             ; preds = %9242
  %9252 = load i32, ptr @test_count, align 4, !tbaa !5
  %9253 = add nsw i32 %9252, 1
  store i32 %9253, ptr @test_count, align 4, !tbaa !5
  %9254 = load ptr, ptr %188, align 8, !tbaa !9
  %9255 = call i32 @s2n_alerts_write_error_or_close_notify(ptr noundef %9254)
  %9256 = getelementptr inbounds %struct.s2n_result, ptr %190, i32 0, i32 0
  store i32 %9255, ptr %9256, align 4
  %9257 = getelementptr inbounds %struct.s2n_result, ptr %190, i32 0, i32 0
  %9258 = load i32, ptr %9257, align 4
  %9259 = call zeroext i1 @s2n_result_is_ok(i32 %9258)
  br i1 %9259, label %9313, label %9260

9260:                                             ; preds = %9251
  br label %9261

9261:                                             ; preds = %9260
  br label %9262

9262:                                             ; preds = %9261
  call void @llvm.lifetime.start.p0(i64 4, ptr %191) #9
  %9263 = call ptr @__errno_location() #10
  %9264 = load i32, ptr %9263, align 4, !tbaa !5
  store i32 %9264, ptr %191, align 4, !tbaa !5
  %9265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9266 = call i32 @s2n_print_stacktrace(ptr noundef %9265)
  %9267 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9268 = trunc i8 %9267 to i1
  br i1 %9268, label %9269, label %9291

9269:                                             ; preds = %9262
  %9270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9271 = call i32 @fileno(ptr noundef %9270) #9
  %9272 = call i32 @isatty(i32 noundef %9271) #9
  %9273 = icmp ne i32 %9272, 0
  br i1 %9273, label %9274, label %9291

9274:                                             ; preds = %9269
  %9275 = load i32, ptr %191, align 4, !tbaa !5
  %9276 = call ptr @__errno_location() #10
  store i32 %9275, ptr %9276, align 4, !tbaa !5
  %9277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9278 = load i32, ptr @test_count, align 4, !tbaa !5
  %9279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9280 = load i32, ptr %9279, align 4, !tbaa !5
  %9281 = call ptr @s2n_strerror(i32 noundef %9280, ptr noundef @.str.4)
  %9282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9283 = load i32, ptr %9282, align 4, !tbaa !5
  %9284 = call ptr @s2n_strerror_debug(i32 noundef %9283, ptr noundef @.str.4)
  %9285 = call ptr @__errno_location() #10
  %9286 = load i32, ptr %9285, align 4, !tbaa !5
  %9287 = call ptr @strerror(i32 noundef %9286) #9
  %9288 = call ptr @__errno_location() #10
  %9289 = load i32, ptr %9288, align 4, !tbaa !5
  %9290 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9277, ptr noundef @.str.2, i32 noundef %9278, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 373, ptr noundef %9281, ptr noundef %9284, ptr noundef %9287, i32 noundef %9289) #9
  br label %9308

9291:                                             ; preds = %9269, %9262
  %9292 = load i32, ptr %191, align 4, !tbaa !5
  %9293 = call ptr @__errno_location() #10
  store i32 %9292, ptr %9293, align 4, !tbaa !5
  %9294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9295 = load i32, ptr @test_count, align 4, !tbaa !5
  %9296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9297 = load i32, ptr %9296, align 4, !tbaa !5
  %9298 = call ptr @s2n_strerror(i32 noundef %9297, ptr noundef @.str.4)
  %9299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9300 = load i32, ptr %9299, align 4, !tbaa !5
  %9301 = call ptr @s2n_strerror_debug(i32 noundef %9300, ptr noundef @.str.4)
  %9302 = call ptr @__errno_location() #10
  %9303 = load i32, ptr %9302, align 4, !tbaa !5
  %9304 = call ptr @strerror(i32 noundef %9303) #9
  %9305 = call ptr @__errno_location() #10
  %9306 = load i32, ptr %9305, align 4, !tbaa !5
  %9307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9294, ptr noundef @.str.5, i32 noundef %9295, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 373, ptr noundef %9298, ptr noundef %9301, ptr noundef %9304, i32 noundef %9306) #9
  br label %9308

9308:                                             ; preds = %9291, %9274
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #9
  br label %9309

9309:                                             ; preds = %9308
  br label %9310

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

9311:                                             ; No predecessors!
  br label %9312

9312:                                             ; preds = %9311
  br label %9313

9313:                                             ; preds = %9312, %9251
  br label %9314

9314:                                             ; preds = %9313
  br label %9315

9315:                                             ; preds = %9314
  br label %9316

9316:                                             ; preds = %9315
  %9317 = load i32, ptr @test_count, align 4, !tbaa !5
  %9318 = add nsw i32 %9317, 1
  store i32 %9318, ptr @test_count, align 4, !tbaa !5
  %9319 = load ptr, ptr %188, align 8, !tbaa !9
  %9320 = getelementptr inbounds %struct.s2n_connection, ptr %9319, i32 0, i32 41
  %9321 = getelementptr inbounds %struct.s2n_stuffer, ptr %9320, i32 0, i32 2
  %9322 = load i32, ptr %9321, align 4, !tbaa !55
  %9323 = load ptr, ptr %188, align 8, !tbaa !9
  %9324 = getelementptr inbounds %struct.s2n_connection, ptr %9323, i32 0, i32 41
  %9325 = getelementptr inbounds %struct.s2n_stuffer, ptr %9324, i32 0, i32 1
  %9326 = load i32, ptr %9325, align 8, !tbaa !56
  %9327 = sub i32 %9322, %9326
  %9328 = icmp eq i32 %9327, 0
  br i1 %9328, label %9382, label %9329

9329:                                             ; preds = %9316
  br label %9330

9330:                                             ; preds = %9329
  br label %9331

9331:                                             ; preds = %9330
  call void @llvm.lifetime.start.p0(i64 4, ptr %192) #9
  %9332 = call ptr @__errno_location() #10
  %9333 = load i32, ptr %9332, align 4, !tbaa !5
  store i32 %9333, ptr %192, align 4, !tbaa !5
  %9334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9335 = call i32 @s2n_print_stacktrace(ptr noundef %9334)
  %9336 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9337 = trunc i8 %9336 to i1
  br i1 %9337, label %9338, label %9360

9338:                                             ; preds = %9331
  %9339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9340 = call i32 @fileno(ptr noundef %9339) #9
  %9341 = call i32 @isatty(i32 noundef %9340) #9
  %9342 = icmp ne i32 %9341, 0
  br i1 %9342, label %9343, label %9360

9343:                                             ; preds = %9338
  %9344 = load i32, ptr %192, align 4, !tbaa !5
  %9345 = call ptr @__errno_location() #10
  store i32 %9344, ptr %9345, align 4, !tbaa !5
  %9346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9347 = load i32, ptr @test_count, align 4, !tbaa !5
  %9348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9349 = load i32, ptr %9348, align 4, !tbaa !5
  %9350 = call ptr @s2n_strerror(i32 noundef %9349, ptr noundef @.str.4)
  %9351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9352 = load i32, ptr %9351, align 4, !tbaa !5
  %9353 = call ptr @s2n_strerror_debug(i32 noundef %9352, ptr noundef @.str.4)
  %9354 = call ptr @__errno_location() #10
  %9355 = load i32, ptr %9354, align 4, !tbaa !5
  %9356 = call ptr @strerror(i32 noundef %9355) #9
  %9357 = call ptr @__errno_location() #10
  %9358 = load i32, ptr %9357, align 4, !tbaa !5
  %9359 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9346, ptr noundef @.str.2, i32 noundef %9347, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 374, ptr noundef %9350, ptr noundef %9353, ptr noundef %9356, i32 noundef %9358) #9
  br label %9377

9360:                                             ; preds = %9338, %9331
  %9361 = load i32, ptr %192, align 4, !tbaa !5
  %9362 = call ptr @__errno_location() #10
  store i32 %9361, ptr %9362, align 4, !tbaa !5
  %9363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9364 = load i32, ptr @test_count, align 4, !tbaa !5
  %9365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9366 = load i32, ptr %9365, align 4, !tbaa !5
  %9367 = call ptr @s2n_strerror(i32 noundef %9366, ptr noundef @.str.4)
  %9368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9369 = load i32, ptr %9368, align 4, !tbaa !5
  %9370 = call ptr @s2n_strerror_debug(i32 noundef %9369, ptr noundef @.str.4)
  %9371 = call ptr @__errno_location() #10
  %9372 = load i32, ptr %9371, align 4, !tbaa !5
  %9373 = call ptr @strerror(i32 noundef %9372) #9
  %9374 = call ptr @__errno_location() #10
  %9375 = load i32, ptr %9374, align 4, !tbaa !5
  %9376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9363, ptr noundef @.str.5, i32 noundef %9364, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 374, ptr noundef %9367, ptr noundef %9370, ptr noundef %9373, i32 noundef %9375) #9
  br label %9377

9377:                                             ; preds = %9360, %9343
  call void @llvm.lifetime.end.p0(i64 4, ptr %192) #9
  br label %9378

9378:                                             ; preds = %9377
  br label %9379

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

9380:                                             ; No predecessors!
  br label %9381

9381:                                             ; preds = %9380
  br label %9382

9382:                                             ; preds = %9381, %9316
  br label %9383

9383:                                             ; preds = %9382
  br label %9384

9384:                                             ; preds = %9383
  %9385 = call i32 @s2n_connection_ptr_free(ptr noundef %188)
  %9386 = getelementptr inbounds %struct.s2n_result, ptr %193, i32 0, i32 0
  store i32 %9385, ptr %9386, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %188) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %148) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %147) #9
  br label %9387

9387:                                             ; preds = %9384
  br label %9388

9388:                                             ; preds = %9387
  %9389 = call i32 @s2n_cleanup()
  %9390 = icmp eq i32 %9389, -1
  br i1 %9390, label %9391, label %9442

9391:                                             ; preds = %9388
  br label %9392

9392:                                             ; preds = %9391
  br label %9393

9393:                                             ; preds = %9392
  call void @llvm.lifetime.start.p0(i64 4, ptr %194) #9
  %9394 = call ptr @__errno_location() #10
  %9395 = load i32, ptr %9394, align 4, !tbaa !5
  store i32 %9395, ptr %194, align 4, !tbaa !5
  %9396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9397 = call i32 @s2n_print_stacktrace(ptr noundef %9396)
  %9398 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9399 = trunc i8 %9398 to i1
  br i1 %9399, label %9400, label %9422

9400:                                             ; preds = %9393
  %9401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9402 = call i32 @fileno(ptr noundef %9401) #9
  %9403 = call i32 @isatty(i32 noundef %9402) #9
  %9404 = icmp ne i32 %9403, 0
  br i1 %9404, label %9405, label %9422

9405:                                             ; preds = %9400
  %9406 = load i32, ptr %194, align 4, !tbaa !5
  %9407 = call ptr @__errno_location() #10
  store i32 %9406, ptr %9407, align 4, !tbaa !5
  %9408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9409 = load i32, ptr @test_count, align 4, !tbaa !5
  %9410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9411 = load i32, ptr %9410, align 4, !tbaa !5
  %9412 = call ptr @s2n_strerror(i32 noundef %9411, ptr noundef @.str.4)
  %9413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9414 = load i32, ptr %9413, align 4, !tbaa !5
  %9415 = call ptr @s2n_strerror_debug(i32 noundef %9414, ptr noundef @.str.4)
  %9416 = call ptr @__errno_location() #10
  %9417 = load i32, ptr %9416, align 4, !tbaa !5
  %9418 = call ptr @strerror(i32 noundef %9417) #9
  %9419 = call ptr @__errno_location() #10
  %9420 = load i32, ptr %9419, align 4, !tbaa !5
  %9421 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9408, ptr noundef @.str.2, i32 noundef %9409, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 378, ptr noundef %9412, ptr noundef %9415, ptr noundef %9418, i32 noundef %9420) #9
  br label %9439

9422:                                             ; preds = %9400, %9393
  %9423 = load i32, ptr %194, align 4, !tbaa !5
  %9424 = call ptr @__errno_location() #10
  store i32 %9423, ptr %9424, align 4, !tbaa !5
  %9425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9426 = load i32, ptr @test_count, align 4, !tbaa !5
  %9427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9428 = load i32, ptr %9427, align 4, !tbaa !5
  %9429 = call ptr @s2n_strerror(i32 noundef %9428, ptr noundef @.str.4)
  %9430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9431 = load i32, ptr %9430, align 4, !tbaa !5
  %9432 = call ptr @s2n_strerror_debug(i32 noundef %9431, ptr noundef @.str.4)
  %9433 = call ptr @__errno_location() #10
  %9434 = load i32, ptr %9433, align 4, !tbaa !5
  %9435 = call ptr @strerror(i32 noundef %9434) #9
  %9436 = call ptr @__errno_location() #10
  %9437 = load i32, ptr %9436, align 4, !tbaa !5
  %9438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9425, ptr noundef @.str.5, i32 noundef %9426, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 378, ptr noundef %9429, ptr noundef %9432, ptr noundef %9435, i32 noundef %9437) #9
  br label %9439

9439:                                             ; preds = %9422, %9405
  call void @llvm.lifetime.end.p0(i64 4, ptr %194) #9
  br label %9440

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

9441:                                             ; No predecessors!
  br label %9442

9442:                                             ; preds = %9441, %9388
  br label %9443

9443:                                             ; preds = %9442
  br label %9444

9444:                                             ; preds = %9443
  br label %9445

9445:                                             ; preds = %9444
  %9446 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %9447 = icmp eq i32 %9446, -1
  br i1 %9447, label %9448, label %9499

9448:                                             ; preds = %9445
  br label %9449

9449:                                             ; preds = %9448
  br label %9450

9450:                                             ; preds = %9449
  call void @llvm.lifetime.start.p0(i64 4, ptr %195) #9
  %9451 = call ptr @__errno_location() #10
  %9452 = load i32, ptr %9451, align 4, !tbaa !5
  store i32 %9452, ptr %195, align 4, !tbaa !5
  %9453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9454 = call i32 @s2n_print_stacktrace(ptr noundef %9453)
  %9455 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9456 = trunc i8 %9455 to i1
  br i1 %9456, label %9457, label %9479

9457:                                             ; preds = %9450
  %9458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9459 = call i32 @fileno(ptr noundef %9458) #9
  %9460 = call i32 @isatty(i32 noundef %9459) #9
  %9461 = icmp ne i32 %9460, 0
  br i1 %9461, label %9462, label %9479

9462:                                             ; preds = %9457
  %9463 = load i32, ptr %195, align 4, !tbaa !5
  %9464 = call ptr @__errno_location() #10
  store i32 %9463, ptr %9464, align 4, !tbaa !5
  %9465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9466 = load i32, ptr @test_count, align 4, !tbaa !5
  %9467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9468 = load i32, ptr %9467, align 4, !tbaa !5
  %9469 = call ptr @s2n_strerror(i32 noundef %9468, ptr noundef @.str.4)
  %9470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9471 = load i32, ptr %9470, align 4, !tbaa !5
  %9472 = call ptr @s2n_strerror_debug(i32 noundef %9471, ptr noundef @.str.4)
  %9473 = call ptr @__errno_location() #10
  %9474 = load i32, ptr %9473, align 4, !tbaa !5
  %9475 = call ptr @strerror(i32 noundef %9474) #9
  %9476 = call ptr @__errno_location() #10
  %9477 = load i32, ptr %9476, align 4, !tbaa !5
  %9478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9465, ptr noundef @.str.2, i32 noundef %9466, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 378, ptr noundef %9469, ptr noundef %9472, ptr noundef %9475, i32 noundef %9477) #9
  br label %9496

9479:                                             ; preds = %9457, %9450
  %9480 = load i32, ptr %195, align 4, !tbaa !5
  %9481 = call ptr @__errno_location() #10
  store i32 %9480, ptr %9481, align 4, !tbaa !5
  %9482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9483 = load i32, ptr @test_count, align 4, !tbaa !5
  %9484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9485 = load i32, ptr %9484, align 4, !tbaa !5
  %9486 = call ptr @s2n_strerror(i32 noundef %9485, ptr noundef @.str.4)
  %9487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9488 = load i32, ptr %9487, align 4, !tbaa !5
  %9489 = call ptr @s2n_strerror_debug(i32 noundef %9488, ptr noundef @.str.4)
  %9490 = call ptr @__errno_location() #10
  %9491 = load i32, ptr %9490, align 4, !tbaa !5
  %9492 = call ptr @strerror(i32 noundef %9491) #9
  %9493 = call ptr @__errno_location() #10
  %9494 = load i32, ptr %9493, align 4, !tbaa !5
  %9495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9482, ptr noundef @.str.5, i32 noundef %9483, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 378, ptr noundef %9486, ptr noundef %9489, ptr noundef %9492, i32 noundef %9494) #9
  br label %9496

9496:                                             ; preds = %9479, %9462
  call void @llvm.lifetime.end.p0(i64 4, ptr %195) #9
  br label %9497

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

9498:                                             ; No predecessors!
  br label %9499

9499:                                             ; preds = %9498, %9445
  br label %9500

9500:                                             ; preds = %9499
  %9501 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9502 = trunc i8 %9501 to i1
  br i1 %9502, label %9503, label %9519

9503:                                             ; preds = %9500
  %9504 = load ptr, ptr @stdout, align 8, !tbaa !9
  %9505 = call i32 @fileno(ptr noundef %9504) #9
  %9506 = call i32 @isatty(i32 noundef %9505) #9
  %9507 = icmp ne i32 %9506, 0
  br i1 %9507, label %9508, label %9519

9508:                                             ; preds = %9503
  %9509 = load i32, ptr @test_count, align 4, !tbaa !5
  %9510 = icmp ne i32 %9509, 0
  br i1 %9510, label %9511, label %9515

9511:                                             ; preds = %9508
  %9512 = load ptr, ptr @stdout, align 8, !tbaa !9
  %9513 = load i32, ptr @test_count, align 4, !tbaa !5
  %9514 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9512, ptr noundef @.str.66, i32 noundef %9513) #9
  br label %9518

9515:                                             ; preds = %9508
  %9516 = load ptr, ptr @stdout, align 8, !tbaa !9
  %9517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9516, ptr noundef @.str.67) #9
  br label %9518

9518:                                             ; preds = %9515, %9511
  br label %9530

9519:                                             ; preds = %9503, %9500
  %9520 = load i32, ptr @test_count, align 4, !tbaa !5
  %9521 = icmp ne i32 %9520, 0
  br i1 %9521, label %9522, label %9526

9522:                                             ; preds = %9519
  %9523 = load ptr, ptr @stdout, align 8, !tbaa !9
  %9524 = load i32, ptr @test_count, align 4, !tbaa !5
  %9525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9523, ptr noundef @.str.68, i32 noundef %9524) #9
  br label %9529

9526:                                             ; preds = %9519
  %9527 = load ptr, ptr @stdout, align 8, !tbaa !9
  %9528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9527, ptr noundef @.str.69) #9
  br label %9529

9529:                                             ; preds = %9526, %9522
  br label %9530

9530:                                             ; preds = %9529, %9518
  store i32 0, ptr %3, align 4
  br label %9532

9531:                                             ; No predecessors!
  br label %9532

9532:                                             ; preds = %9531, %9530
  %9533 = load i32, ptr %3, align 4
  ret i32 %9533
}

; 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 i32 @s2n_error_get_alert(i32 noundef, ptr noundef) #2

declare void @s2n_debug_info_reset() #2

declare ptr @s2n_strerror_name(i32 noundef) #2

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #7

declare ptr @s2n_connection_new(i32 noundef) #2

declare zeroext i1 @s2n_atomic_flag_test(ptr noundef) #2

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

declare i32 @s2n_process_alert_fragment(ptr noundef) #2

declare i32 @s2n_connection_free(ptr noundef) #2

declare zeroext i1 @s2n_is_tls13_fully_supported(...) #2

declare ptr @s2n_config_new() #2

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

declare i32 @s2n_stuffer_write_uint16(ptr noundef, i16 noundef zeroext) #2

declare i32 @s2n_stuffer_wipe(ptr noundef) #2

declare i32 @s2n_config_enable_quic(ptr noundef) #2

declare i32 @s2n_config_free(ptr noundef) #2

declare zeroext i1 @s2n_connection_check_io_status(ptr noundef, i32 noundef) #2

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

declare i32 @s2n_queue_reader_unsupported_protocol_version_alert(ptr noundef) #2

declare i32 @s2n_queue_reader_handshake_failure_alert(ptr noundef) #2

declare i32 @s2n_connection_ptr_free(ptr noundef) #2

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

declare i32 @s2n_alerts_write_error_or_close_notify(ptr noundef) #2

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

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

declare i32 @s2n_cleanup() #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #6 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #8 = { 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 = !{!7, !7, i64 0}
!16 = !{!17, !17, i64 0}
!17 = !{!"long", !7, i64 0}
!18 = distinct !{!18, !19}
!19 = !{!"llvm.loop.mustprogress"}
!20 = distinct !{!20, !19}
!21 = distinct !{!21, !19}
!22 = distinct !{!22, !19}
!23 = !{!24, !10, i64 8}
!24 = !{!"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, !25, i64 160, !17, i64 168, !17, 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, !26, i64 240, !10, i64 632, !10, i64 640, !27, i64 648, !33, i64 1144, !36, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !39, i64 1776, !39, i64 1816, !39, i64 1856, !39, i64 1896, !6, i64 1936, !17, i64 1944, !7, i64 1952, !39, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !40, i64 2004, !40, i64 2008, !41, i64 2016, !38, i64 2208, !6, i64 2212, !38, i64 2216, !17, i64 2224, !7, i64 2232, !17, i64 2240, !17, i64 2248, !17, i64 2256, !40, i64 2264, !40, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !32, i64 2792, !6, i64 2816, !32, i64 2824, !32, i64 2848, !32, i64 2872, !43, i64 2896, !45, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !32, i64 3784, !6, i64 3808, !47, i64 3816, !7, i64 3848, !39, i64 3992, !32, i64 4032, !32, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !38, i64 4084, !38, i64 4086, !6, i64 4088, !6, i64 4092, !32, i64 4096, !6, i64 4120, !48, i64 4128, !40, i64 4176, !7, i64 4180, !7, i64 4181}
!25 = !{!"s2n_timer", !17, i64 0}
!26 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!27 = !{!"s2n_kex_parameters", !28, i64 0, !29, i64 8, !7, i64 24, !29, i64 56, !30, i64 72, !30, i64 184, !7, i64 296, !31, i64 360, !32, i64 448, !32, i64 472}
!28 = !{!"s2n_dh_params", !10, i64 0}
!29 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!30 = !{!"s2n_kem_group_params", !10, i64 0, !31, i64 8, !29, i64 96}
!31 = !{!"s2n_kem_params", !10, i64 0, !32, i64 8, !32, i64 32, !32, i64 56, !12, i64 80}
!32 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!33 = !{!"s2n_handshake_parameters", !34, i64 0, !34, i64 48, !32, i64 96, !6, i64 120, !35, 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}
!34 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!35 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!36 = !{!"s2n_psk_parameters", !6, i64 0, !37, i64 8, !38, i64 40, !38, i64 42, !10, i64 48, !6, i64 56}
!37 = !{!"s2n_array", !32, i64 0, !6, i64 24, !6, i64 28}
!38 = !{!"short", !7, i64 0}
!39 = !{!"s2n_stuffer", !32, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!40 = !{!"", !6, i64 0}
!41 = !{!"s2n_handshake", !39, 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, !42, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!42 = !{!"s2n_offered_early_data", !10, i64 0}
!43 = !{!"s2n_client_hello", !32, i64 0, !44, i64 24, !32, i64 728, !32, i64 752, !32, 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}
!44 = !{!"", !7, i64 0, !32, i64 672, !38, i64 696}
!45 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !38, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !46, i64 48, !12, i64 52}
!46 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!47 = !{!"s2n_ticket_fields", !32, i64 0, !6, i64 24}
!48 = !{!"s2n_post_handshake", !39, i64 0, !7, i64 40}
!49 = !{!50, !6, i64 236}
!50 = !{!"s2n_config", !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, !10, i64 8, !10, i64 16, !51, i64 24, !32, i64 56, !10, i64 80, !10, i64 88, !10, i64 96, !10, i64 104, !10, i64 112, !10, i64 120, !6, i64 128, !6, i64 132, !10, i64 136, !17, i64 144, !10, i64 152, !17, i64 160, !17, i64 168, !10, i64 176, !10, i64 184, !10, i64 192, !10, i64 200, !10, i64 208, !10, i64 216, !6, i64 224, !7, i64 228, !6, i64 232, !6, i64 236, !10, i64 240, !10, i64 248, !10, i64 256, !10, i64 264, !10, i64 272, !10, i64 280, !10, i64 288, !7, i64 296, !7, i64 297, !52, i64 304, !38, i64 320, !10, i64 328, !10, i64 336, !10, i64 344, !10, i64 352, !10, i64 360, !10, i64 368, !10, i64 376, !10, i64 384, !6, i64 392, !6, i64 396, !6, i64 400, !10, i64 408, !6, i64 416, !6, i64 420, !10, i64 424, !10, i64 432, !6, i64 440, !32, i64 448}
!51 = !{!"certs_by_type", !7, i64 0}
!52 = !{!"s2n_x509_trust_store", !10, i64 0, !6, i64 8}
!53 = !{!24, !7, i64 220}
!54 = !{!24, !7, i64 2001}
!55 = !{!24, !6, i64 1924}
!56 = !{!24, !6, i64 1920}
!57 = !{!24, !7, i64 2000}


; 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"

@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 [74 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 [65 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [59 x i8], align 1
@__const.main.close_notify_alert = external hidden unnamed_addr constant [2 x i8], align 1
@__const.main.not_close_notify_alert = external hidden unnamed_addr constant [2 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [119 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [111 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [52 x i8], align 1
@__const.main.warning_alert = external hidden unnamed_addr constant [2 x i8], align 1
@__const.main.user_canceled_alert = external hidden unnamed_addr constant [2 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [113 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [25 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 i8, align 1
  %4 = alloca [2 x i8], align 2
  %5 = alloca [2 x i8], align 2
  %6 = alloca [2 x i8], align 2
  %7 = alloca [2 x i8], align 2
  %8 = alloca ptr, align 8
  %9 = alloca ptr, align 8
  %10 = alloca i8, align 1
  %11 = alloca i8, align 1
  %12 = alloca ptr, align 8
  %13 = alloca i8, align 1
  %14 = alloca i8, align 1
  %15 = alloca ptr, align 8
  %16 = alloca i8, align 1
  %17 = alloca i8, align 1
  %18 = alloca ptr, align 8
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %19 = load ptr, ptr @stdout, align 8, !tbaa !9
  %20 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19, ptr noundef nonnull @.str, ptr noundef nonnull @.str.1) #9
  %21 = load ptr, ptr @stdout, align 8, !tbaa !9
  %22 = tail call i32 @fflush(ptr noundef %21)
  %23 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #9
  %24 = icmp eq i32 %23, -1
  br i1 %24, label %25, label %49

25:                                               ; preds = %2
  %26 = tail call ptr @__errno_location() #10
  %27 = load i32, ptr %26, align 4, !tbaa !5
  %28 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29 = tail call i32 @s2n_print_stacktrace(ptr noundef %28) #9
  %30 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31 = trunc nuw i8 %30 to i1
  br i1 %31, label %32, label %36

32:                                               ; preds = %25
  %33 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34 = tail call i32 @fileno(ptr noundef %33) #9
  %35 = tail call i32 @isatty(i32 noundef %34) #9
  %.not541 = icmp eq i32 %35, 0
  br i1 %.not541, label %36, label %37

36:                                               ; preds = %32, %25
  br label %37

37:                                               ; preds = %32, %36
  %.str.5.sink = phi ptr [ @.str.5, %36 ], [ @.str.2, %32 ]
  store i32 %27, ptr %26, align 4, !tbaa !5
  %38 = load ptr, ptr @stderr, align 8, !tbaa !9
  %39 = load i32, ptr @test_count, align 4, !tbaa !5
  %40 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %41 = load i32, ptr %40, align 4, !tbaa !5
  %42 = tail call ptr @s2n_strerror(i32 noundef %41, ptr noundef nonnull @.str.4) #9
  %43 = load i32, ptr %40, align 4, !tbaa !5
  %44 = tail call ptr @s2n_strerror_debug(i32 noundef %43, ptr noundef nonnull @.str.4) #9
  %45 = load i32, ptr %26, align 4, !tbaa !5
  %46 = tail call ptr @strerror(i32 noundef %45) #9
  %47 = load i32, ptr %26, align 4, !tbaa !5
  %48 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %38, ptr noundef nonnull %.str.5.sink, i32 noundef %39, ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.1, i32 noundef 28, ptr noundef %42, ptr noundef %44, ptr noundef %46, i32 noundef %47) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

49:                                               ; preds = %2
  %50 = load i32, ptr @test_count, align 4, !tbaa !5
  %51 = add nsw i32 %50, 1
  store i32 %51, ptr @test_count, align 4, !tbaa !5
  %52 = tail call i32 @s2n_enable_atexit() #9
  %53 = icmp eq i32 %52, -1
  br i1 %53, label %54, label %78

54:                                               ; preds = %49
  %55 = tail call ptr @__errno_location() #10
  %56 = load i32, ptr %55, align 4, !tbaa !5
  %57 = load ptr, ptr @stderr, align 8, !tbaa !9
  %58 = tail call i32 @s2n_print_stacktrace(ptr noundef %57) #9
  %59 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %60 = trunc nuw i8 %59 to i1
  br i1 %60, label %61, label %65

61:                                               ; preds = %54
  %62 = load ptr, ptr @stderr, align 8, !tbaa !9
  %63 = tail call i32 @fileno(ptr noundef %62) #9
  %64 = tail call i32 @isatty(i32 noundef %63) #9
  %.not540 = icmp eq i32 %64, 0
  br i1 %.not540, label %65, label %66

65:                                               ; preds = %61, %54
  br label %66

66:                                               ; preds = %61, %65
  %.str.5.sink563 = phi ptr [ @.str.5, %65 ], [ @.str.2, %61 ]
  store i32 %56, ptr %55, align 4, !tbaa !5
  %67 = load ptr, ptr @stderr, align 8, !tbaa !9
  %68 = load i32, ptr @test_count, align 4, !tbaa !5
  %69 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %70 = load i32, ptr %69, align 4, !tbaa !5
  %71 = tail call ptr @s2n_strerror(i32 noundef %70, ptr noundef nonnull @.str.4) #9
  %72 = load i32, ptr %69, align 4, !tbaa !5
  %73 = tail call ptr @s2n_strerror_debug(i32 noundef %72, ptr noundef nonnull @.str.4) #9
  %74 = load i32, ptr %55, align 4, !tbaa !5
  %75 = tail call ptr @strerror(i32 noundef %74) #9
  %76 = load i32, ptr %55, align 4, !tbaa !5
  %77 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %67, ptr noundef nonnull %.str.5.sink563, i32 noundef %68, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.1, i32 noundef 28, ptr noundef %71, ptr noundef %73, ptr noundef %75, i32 noundef %76) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

78:                                               ; preds = %49
  %79 = tail call i32 @s2n_init() #9
  %80 = icmp eq i32 %79, -1
  br i1 %80, label %81, label %105

81:                                               ; preds = %78
  %82 = tail call ptr @__errno_location() #10
  %83 = load i32, ptr %82, align 4, !tbaa !5
  %84 = load ptr, ptr @stderr, align 8, !tbaa !9
  %85 = tail call i32 @s2n_print_stacktrace(ptr noundef %84) #9
  %86 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %87 = trunc nuw i8 %86 to i1
  br i1 %87, label %88, label %92

88:                                               ; preds = %81
  %89 = load ptr, ptr @stderr, align 8, !tbaa !9
  %90 = tail call i32 @fileno(ptr noundef %89) #9
  %91 = tail call i32 @isatty(i32 noundef %90) #9
  %.not539 = icmp eq i32 %91, 0
  br i1 %.not539, label %92, label %93

92:                                               ; preds = %88, %81
  br label %93

93:                                               ; preds = %88, %92
  %.str.5.sink574 = phi ptr [ @.str.5, %92 ], [ @.str.2, %88 ]
  store i32 %83, ptr %82, align 4, !tbaa !5
  %94 = load ptr, ptr @stderr, align 8, !tbaa !9
  %95 = load i32, ptr @test_count, align 4, !tbaa !5
  %96 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %97 = load i32, ptr %96, align 4, !tbaa !5
  %98 = tail call ptr @s2n_strerror(i32 noundef %97, ptr noundef nonnull @.str.4) #9
  %99 = load i32, ptr %96, align 4, !tbaa !5
  %100 = tail call ptr @s2n_strerror_debug(i32 noundef %99, ptr noundef nonnull @.str.4) #9
  %101 = load i32, ptr %82, align 4, !tbaa !5
  %102 = tail call ptr @strerror(i32 noundef %101) #9
  %103 = load i32, ptr %82, align 4, !tbaa !5
  %104 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %94, ptr noundef nonnull %.str.5.sink574, i32 noundef %95, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.1, i32 noundef 28, ptr noundef %98, ptr noundef %100, ptr noundef %102, i32 noundef %103) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

105:                                              ; preds = %78
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %3) #9
  store i8 0, ptr %3, align 1, !tbaa !15
  %106 = load i32, ptr @test_count, align 4, !tbaa !5
  %107 = add nsw i32 %106, 1
  store i32 %107, ptr @test_count, align 4, !tbaa !5
  %108 = call i32 @s2n_error_get_alert(i32 noundef 0, ptr noundef nonnull %3) #9
  %109 = icmp eq i32 %108, -1
  br i1 %109, label %134, label %110

110:                                              ; preds = %105
  %111 = tail call ptr @__errno_location() #10
  %112 = load i32, ptr %111, align 4, !tbaa !5
  %113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %114 = call i32 @s2n_print_stacktrace(ptr noundef %113) #9
  %115 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %116 = trunc nuw i8 %115 to i1
  br i1 %116, label %117, label %121

117:                                              ; preds = %110
  %118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %119 = call i32 @fileno(ptr noundef %118) #9
  %120 = call i32 @isatty(i32 noundef %119) #9
  %.not = icmp eq i32 %120, 0
  br i1 %.not, label %121, label %122

121:                                              ; preds = %117, %110
  br label %122

122:                                              ; preds = %117, %121
  %.str.5.sink585 = phi ptr [ @.str.5, %121 ], [ @.str.2, %117 ]
  store i32 %112, ptr %111, align 4, !tbaa !5
  %123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %124 = load i32, ptr @test_count, align 4, !tbaa !5
  %125 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %126 = load i32, ptr %125, align 4, !tbaa !5
  %127 = call ptr @s2n_strerror(i32 noundef %126, ptr noundef nonnull @.str.4) #9
  %128 = load i32, ptr %125, align 4, !tbaa !5
  %129 = call ptr @s2n_strerror_debug(i32 noundef %128, ptr noundef nonnull @.str.4) #9
  %130 = load i32, ptr %111, align 4, !tbaa !5
  %131 = call ptr @strerror(i32 noundef %130) #9
  %132 = load i32, ptr %111, align 4, !tbaa !5
  %133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %123, ptr noundef nonnull %.str.5.sink585, i32 noundef %124, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 35, ptr noundef %127, ptr noundef %129, ptr noundef %131, i32 noundef %132) #11
  call void @exit(i32 noundef 1) #12
  unreachable

134:                                              ; preds = %105
  %135 = load i32, ptr @test_count, align 4, !tbaa !5
  %136 = add nsw i32 %135, 1
  store i32 %136, ptr @test_count, align 4, !tbaa !5
  %137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %138 = load i32, ptr %137, align 4, !tbaa !5
  %139 = icmp eq i32 %138, 469762048
  br i1 %139, label %163, label %140

140:                                              ; preds = %134
  %141 = tail call ptr @__errno_location() #10
  %142 = load i32, ptr %141, align 4, !tbaa !5
  %143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %144 = call i32 @s2n_print_stacktrace(ptr noundef %143) #9
  %145 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %146 = trunc nuw i8 %145 to i1
  br i1 %146, label %147, label %151

147:                                              ; preds = %140
  %148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %149 = call i32 @fileno(ptr noundef %148) #9
  %150 = call i32 @isatty(i32 noundef %149) #9
  %.not394 = icmp eq i32 %150, 0
  br i1 %.not394, label %151, label %152

151:                                              ; preds = %147, %140
  br label %152

152:                                              ; preds = %147, %151
  %.str.5.sink596 = phi ptr [ @.str.5, %151 ], [ @.str.2, %147 ]
  store i32 %142, ptr %141, align 4, !tbaa !5
  %153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %154 = load i32, ptr @test_count, align 4, !tbaa !5
  %155 = load i32, ptr %137, align 4, !tbaa !5
  %156 = call ptr @s2n_strerror(i32 noundef %155, ptr noundef nonnull @.str.4) #9
  %157 = load i32, ptr %137, align 4, !tbaa !5
  %158 = call ptr @s2n_strerror_debug(i32 noundef %157, ptr noundef nonnull @.str.4) #9
  %159 = load i32, ptr %141, align 4, !tbaa !5
  %160 = call ptr @strerror(i32 noundef %159) #9
  %161 = load i32, ptr %141, align 4, !tbaa !5
  %162 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %153, ptr noundef nonnull %.str.5.sink596, i32 noundef %154, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 35, ptr noundef %156, ptr noundef %158, ptr noundef %160, i32 noundef %161) #11
  call void @exit(i32 noundef 1) #12
  unreachable

163:                                              ; preds = %134
  %164 = add nsw i32 %135, 2
  store i32 %164, ptr @test_count, align 4, !tbaa !5
  %165 = call ptr @s2n_strerror_debug(i32 noundef 469762048, ptr noundef nonnull @.str.4) #9
  %166 = icmp eq ptr %165, null
  br i1 %166, label %167, label %190

167:                                              ; preds = %163
  %168 = tail call ptr @__errno_location() #10
  %169 = load i32, ptr %168, align 4, !tbaa !5
  %170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %171 = call i32 @s2n_print_stacktrace(ptr noundef %170) #9
  %172 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %173 = trunc nuw i8 %172 to i1
  br i1 %173, label %174, label %178

174:                                              ; preds = %167
  %175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %176 = call i32 @fileno(ptr noundef %175) #9
  %177 = call i32 @isatty(i32 noundef %176) #9
  %.not538 = icmp eq i32 %177, 0
  br i1 %.not538, label %178, label %179

178:                                              ; preds = %174, %167
  br label %179

179:                                              ; preds = %174, %178
  %.str.5.sink605 = phi ptr [ @.str.5, %178 ], [ @.str.2, %174 ]
  store i32 %169, ptr %168, align 4, !tbaa !5
  %180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %181 = load i32, ptr @test_count, align 4, !tbaa !5
  %182 = load i32, ptr %137, align 4, !tbaa !5
  %183 = call ptr @s2n_strerror(i32 noundef %182, ptr noundef nonnull @.str.4) #9
  %184 = load i32, ptr %137, align 4, !tbaa !5
  %185 = call ptr @s2n_strerror_debug(i32 noundef %184, ptr noundef nonnull @.str.4) #9
  %186 = load i32, ptr %168, align 4, !tbaa !5
  %187 = call ptr @strerror(i32 noundef %186) #9
  %188 = load i32, ptr %168, align 4, !tbaa !5
  %189 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %180, ptr noundef nonnull %.str.5.sink605, i32 noundef %181, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 35, ptr noundef %183, ptr noundef %185, ptr noundef %187, i32 noundef %188) #11
  call void @exit(i32 noundef 1) #12
  unreachable

190:                                              ; preds = %163
  store i32 0, ptr %137, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  %191 = tail call ptr @__errno_location() #10
  store i32 0, ptr %191, align 4, !tbaa !5
  %192 = load i32, ptr @test_count, align 4, !tbaa !5
  %193 = add nsw i32 %192, 1
  store i32 %193, ptr @test_count, align 4, !tbaa !5
  %194 = call i32 @s2n_error_get_alert(i32 noundef 134217728, ptr noundef nonnull %3) #9
  %195 = icmp eq i32 %194, -1
  br i1 %195, label %218, label %196

196:                                              ; preds = %190
  %197 = load i32, ptr %191, align 4, !tbaa !5
  %198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %199 = call i32 @s2n_print_stacktrace(ptr noundef %198) #9
  %200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %201 = trunc nuw i8 %200 to i1
  br i1 %201, label %202, label %206

202:                                              ; preds = %196
  %203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %204 = call i32 @fileno(ptr noundef %203) #9
  %205 = call i32 @isatty(i32 noundef %204) #9
  %.not395 = icmp eq i32 %205, 0
  br i1 %.not395, label %206, label %207

206:                                              ; preds = %202, %196
  br label %207

207:                                              ; preds = %202, %206
  %.str.5.sink614 = phi ptr [ @.str.5, %206 ], [ @.str.2, %202 ]
  store i32 %197, ptr %191, align 4, !tbaa !5
  %208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %209 = load i32, ptr @test_count, align 4, !tbaa !5
  %210 = load i32, ptr %137, align 4, !tbaa !5
  %211 = call ptr @s2n_strerror(i32 noundef %210, ptr noundef nonnull @.str.4) #9
  %212 = load i32, ptr %137, align 4, !tbaa !5
  %213 = call ptr @s2n_strerror_debug(i32 noundef %212, ptr noundef nonnull @.str.4) #9
  %214 = load i32, ptr %191, align 4, !tbaa !5
  %215 = call ptr @strerror(i32 noundef %214) #9
  %216 = load i32, ptr %191, align 4, !tbaa !5
  %217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %208, ptr noundef nonnull %.str.5.sink614, i32 noundef %209, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 38, ptr noundef %211, ptr noundef %213, ptr noundef %215, i32 noundef %216) #11
  call void @exit(i32 noundef 1) #12
  unreachable

218:                                              ; preds = %190
  %219 = load i32, ptr @test_count, align 4, !tbaa !5
  %220 = add nsw i32 %219, 1
  store i32 %220, ptr @test_count, align 4, !tbaa !5
  %221 = load i32, ptr %137, align 4, !tbaa !5
  %222 = icmp eq i32 %221, 469762048
  br i1 %222, label %245, label %223

223:                                              ; preds = %218
  %224 = load i32, ptr %191, align 4, !tbaa !5
  %225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %226 = call i32 @s2n_print_stacktrace(ptr noundef %225) #9
  %227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %228 = trunc nuw i8 %227 to i1
  br i1 %228, label %229, label %233

229:                                              ; preds = %223
  %230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %231 = call i32 @fileno(ptr noundef %230) #9
  %232 = call i32 @isatty(i32 noundef %231) #9
  %.not396 = icmp eq i32 %232, 0
  br i1 %.not396, label %233, label %234

233:                                              ; preds = %229, %223
  br label %234

234:                                              ; preds = %229, %233
  %.str.5.sink623 = phi ptr [ @.str.5, %233 ], [ @.str.2, %229 ]
  store i32 %224, ptr %191, align 4, !tbaa !5
  %235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %236 = load i32, ptr @test_count, align 4, !tbaa !5
  %237 = load i32, ptr %137, align 4, !tbaa !5
  %238 = call ptr @s2n_strerror(i32 noundef %237, ptr noundef nonnull @.str.4) #9
  %239 = load i32, ptr %137, align 4, !tbaa !5
  %240 = call ptr @s2n_strerror_debug(i32 noundef %239, ptr noundef nonnull @.str.4) #9
  %241 = load i32, ptr %191, align 4, !tbaa !5
  %242 = call ptr @strerror(i32 noundef %241) #9
  %243 = load i32, ptr %191, align 4, !tbaa !5
  %244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %235, ptr noundef nonnull %.str.5.sink623, i32 noundef %236, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 38, ptr noundef %238, ptr noundef %240, ptr noundef %242, i32 noundef %243) #11
  call void @exit(i32 noundef 1) #12
  unreachable

245:                                              ; preds = %218
  %246 = add nsw i32 %219, 2
  store i32 %246, ptr @test_count, align 4, !tbaa !5
  %247 = call ptr @s2n_strerror_debug(i32 noundef 469762048, ptr noundef nonnull @.str.4) #9
  %248 = icmp eq ptr %247, null
  br i1 %248, label %249, label %271

249:                                              ; preds = %245
  %250 = load i32, ptr %191, align 4, !tbaa !5
  %251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %252 = call i32 @s2n_print_stacktrace(ptr noundef %251) #9
  %253 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %254 = trunc nuw i8 %253 to i1
  br i1 %254, label %255, label %259

255:                                              ; preds = %249
  %256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %257 = call i32 @fileno(ptr noundef %256) #9
  %258 = call i32 @isatty(i32 noundef %257) #9
  %.not537 = icmp eq i32 %258, 0
  br i1 %.not537, label %259, label %260

259:                                              ; preds = %255, %249
  br label %260

260:                                              ; preds = %255, %259
  %.str.5.sink632 = phi ptr [ @.str.5, %259 ], [ @.str.2, %255 ]
  store i32 %250, ptr %191, align 4, !tbaa !5
  %261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %262 = load i32, ptr @test_count, align 4, !tbaa !5
  %263 = load i32, ptr %137, align 4, !tbaa !5
  %264 = call ptr @s2n_strerror(i32 noundef %263, ptr noundef nonnull @.str.4) #9
  %265 = load i32, ptr %137, align 4, !tbaa !5
  %266 = call ptr @s2n_strerror_debug(i32 noundef %265, ptr noundef nonnull @.str.4) #9
  %267 = load i32, ptr %191, align 4, !tbaa !5
  %268 = call ptr @strerror(i32 noundef %267) #9
  %269 = load i32, ptr %191, align 4, !tbaa !5
  %270 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %261, ptr noundef nonnull %.str.5.sink632, i32 noundef %262, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 38, ptr noundef %264, ptr noundef %266, ptr noundef %268, i32 noundef %269) #11
  call void @exit(i32 noundef 1) #12
  unreachable

271:                                              ; preds = %245
  store i32 0, ptr %137, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %191, align 4, !tbaa !5
  %272 = load i32, ptr @test_count, align 4, !tbaa !5
  %273 = add nsw i32 %272, 1
  store i32 %273, ptr @test_count, align 4, !tbaa !5
  %274 = call i32 @s2n_error_get_alert(i32 noundef 268435456, ptr noundef nonnull %3) #9
  %275 = icmp eq i32 %274, -1
  br i1 %275, label %298, label %276

276:                                              ; preds = %271
  %277 = load i32, ptr %191, align 4, !tbaa !5
  %278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %279 = call i32 @s2n_print_stacktrace(ptr noundef %278) #9
  %280 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %281 = trunc nuw i8 %280 to i1
  br i1 %281, label %282, label %286

282:                                              ; preds = %276
  %283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %284 = call i32 @fileno(ptr noundef %283) #9
  %285 = call i32 @isatty(i32 noundef %284) #9
  %.not397 = icmp eq i32 %285, 0
  br i1 %.not397, label %286, label %287

286:                                              ; preds = %282, %276
  br label %287

287:                                              ; preds = %282, %286
  %.str.5.sink641 = phi ptr [ @.str.5, %286 ], [ @.str.2, %282 ]
  store i32 %277, ptr %191, align 4, !tbaa !5
  %288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %289 = load i32, ptr @test_count, align 4, !tbaa !5
  %290 = load i32, ptr %137, align 4, !tbaa !5
  %291 = call ptr @s2n_strerror(i32 noundef %290, ptr noundef nonnull @.str.4) #9
  %292 = load i32, ptr %137, align 4, !tbaa !5
  %293 = call ptr @s2n_strerror_debug(i32 noundef %292, ptr noundef nonnull @.str.4) #9
  %294 = load i32, ptr %191, align 4, !tbaa !5
  %295 = call ptr @strerror(i32 noundef %294) #9
  %296 = load i32, ptr %191, align 4, !tbaa !5
  %297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %288, ptr noundef nonnull %.str.5.sink641, i32 noundef %289, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 41, ptr noundef %291, ptr noundef %293, ptr noundef %295, i32 noundef %296) #11
  call void @exit(i32 noundef 1) #12
  unreachable

298:                                              ; preds = %271
  %299 = load i32, ptr @test_count, align 4, !tbaa !5
  %300 = add nsw i32 %299, 1
  store i32 %300, ptr @test_count, align 4, !tbaa !5
  %301 = load i32, ptr %137, align 4, !tbaa !5
  %302 = icmp eq i32 %301, 469762048
  br i1 %302, label %325, label %303

303:                                              ; preds = %298
  %304 = load i32, ptr %191, align 4, !tbaa !5
  %305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %306 = call i32 @s2n_print_stacktrace(ptr noundef %305) #9
  %307 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %308 = trunc nuw i8 %307 to i1
  br i1 %308, label %309, label %313

309:                                              ; preds = %303
  %310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %311 = call i32 @fileno(ptr noundef %310) #9
  %312 = call i32 @isatty(i32 noundef %311) #9
  %.not398 = icmp eq i32 %312, 0
  br i1 %.not398, label %313, label %314

313:                                              ; preds = %309, %303
  br label %314

314:                                              ; preds = %309, %313
  %.str.5.sink650 = phi ptr [ @.str.5, %313 ], [ @.str.2, %309 ]
  store i32 %304, ptr %191, align 4, !tbaa !5
  %315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %316 = load i32, ptr @test_count, align 4, !tbaa !5
  %317 = load i32, ptr %137, align 4, !tbaa !5
  %318 = call ptr @s2n_strerror(i32 noundef %317, ptr noundef nonnull @.str.4) #9
  %319 = load i32, ptr %137, align 4, !tbaa !5
  %320 = call ptr @s2n_strerror_debug(i32 noundef %319, ptr noundef nonnull @.str.4) #9
  %321 = load i32, ptr %191, align 4, !tbaa !5
  %322 = call ptr @strerror(i32 noundef %321) #9
  %323 = load i32, ptr %191, align 4, !tbaa !5
  %324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %315, ptr noundef nonnull %.str.5.sink650, i32 noundef %316, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 41, ptr noundef %318, ptr noundef %320, ptr noundef %322, i32 noundef %323) #11
  call void @exit(i32 noundef 1) #12
  unreachable

325:                                              ; preds = %298
  %326 = add nsw i32 %299, 2
  store i32 %326, ptr @test_count, align 4, !tbaa !5
  %327 = call ptr @s2n_strerror_debug(i32 noundef 469762048, ptr noundef nonnull @.str.4) #9
  %328 = icmp eq ptr %327, null
  br i1 %328, label %329, label %351

329:                                              ; preds = %325
  %330 = load i32, ptr %191, align 4, !tbaa !5
  %331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %332 = call i32 @s2n_print_stacktrace(ptr noundef %331) #9
  %333 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %334 = trunc nuw i8 %333 to i1
  br i1 %334, label %335, label %339

335:                                              ; preds = %329
  %336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %337 = call i32 @fileno(ptr noundef %336) #9
  %338 = call i32 @isatty(i32 noundef %337) #9
  %.not536 = icmp eq i32 %338, 0
  br i1 %.not536, label %339, label %340

339:                                              ; preds = %335, %329
  br label %340

340:                                              ; preds = %335, %339
  %.str.5.sink659 = phi ptr [ @.str.5, %339 ], [ @.str.2, %335 ]
  store i32 %330, ptr %191, align 4, !tbaa !5
  %341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %342 = load i32, ptr @test_count, align 4, !tbaa !5
  %343 = load i32, ptr %137, align 4, !tbaa !5
  %344 = call ptr @s2n_strerror(i32 noundef %343, ptr noundef nonnull @.str.4) #9
  %345 = load i32, ptr %137, align 4, !tbaa !5
  %346 = call ptr @s2n_strerror_debug(i32 noundef %345, ptr noundef nonnull @.str.4) #9
  %347 = load i32, ptr %191, align 4, !tbaa !5
  %348 = call ptr @strerror(i32 noundef %347) #9
  %349 = load i32, ptr %191, align 4, !tbaa !5
  %350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %341, ptr noundef nonnull %.str.5.sink659, i32 noundef %342, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 41, ptr noundef %344, ptr noundef %346, ptr noundef %348, i32 noundef %349) #11
  call void @exit(i32 noundef 1) #12
  unreachable

351:                                              ; preds = %325
  store i32 0, ptr %137, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %191, align 4, !tbaa !5
  %352 = load i32, ptr @test_count, align 4, !tbaa !5
  %353 = add nsw i32 %352, 1
  store i32 %353, ptr @test_count, align 4, !tbaa !5
  %354 = call i32 @s2n_error_get_alert(i32 noundef 201326592, ptr noundef nonnull %3) #9
  %355 = icmp eq i32 %354, -1
  br i1 %355, label %378, label %356

356:                                              ; preds = %459, %445, %431, %351
  %357 = load i32, ptr %191, align 4, !tbaa !5
  %358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %359 = call i32 @s2n_print_stacktrace(ptr noundef %358) #9
  %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 = %356
  %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
  %.not533 = icmp eq i32 %365, 0
  br i1 %.not533, label %366, label %367

366:                                              ; preds = %362, %356
  br label %367

367:                                              ; preds = %362, %366
  %.str.5.sink668 = phi ptr [ @.str.5, %366 ], [ @.str.2, %362 ]
  store i32 %357, ptr %191, align 4, !tbaa !5
  %368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %369 = load i32, ptr @test_count, align 4, !tbaa !5
  %370 = load i32, ptr %137, align 4, !tbaa !5
  %371 = call ptr @s2n_strerror(i32 noundef %370, ptr noundef nonnull @.str.4) #9
  %372 = load i32, ptr %137, align 4, !tbaa !5
  %373 = call ptr @s2n_strerror_debug(i32 noundef %372, ptr noundef nonnull @.str.4) #9
  %374 = load i32, ptr %191, align 4, !tbaa !5
  %375 = call ptr @strerror(i32 noundef %374) #9
  %376 = load i32, ptr %191, align 4, !tbaa !5
  %377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %368, ptr noundef nonnull %.str.5.sink668, i32 noundef %369, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 45, ptr noundef %371, ptr noundef %373, ptr noundef %375, i32 noundef %376) #11
  call void @exit(i32 noundef 1) #12
  unreachable

378:                                              ; preds = %351
  %379 = load i32, ptr @test_count, align 4, !tbaa !5
  %380 = add nsw i32 %379, 1
  store i32 %380, ptr @test_count, align 4, !tbaa !5
  %381 = load i32, ptr %137, align 4, !tbaa !5
  %382 = icmp eq i32 %381, 469762048
  br i1 %382, label %405, label %383

383:                                              ; preds = %464, %450, %436, %378
  %384 = load i32, ptr %191, align 4, !tbaa !5
  %385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %386 = call i32 @s2n_print_stacktrace(ptr noundef %385) #9
  %387 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %388 = trunc nuw i8 %387 to i1
  br i1 %388, label %389, label %393

389:                                              ; preds = %383
  %390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %391 = call i32 @fileno(ptr noundef %390) #9
  %392 = call i32 @isatty(i32 noundef %391) #9
  %.not534 = icmp eq i32 %392, 0
  br i1 %.not534, label %393, label %394

393:                                              ; preds = %389, %383
  br label %394

394:                                              ; preds = %389, %393
  %.str.5.sink677 = phi ptr [ @.str.5, %393 ], [ @.str.2, %389 ]
  store i32 %384, ptr %191, align 4, !tbaa !5
  %395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %396 = load i32, ptr @test_count, align 4, !tbaa !5
  %397 = load i32, ptr %137, align 4, !tbaa !5
  %398 = call ptr @s2n_strerror(i32 noundef %397, ptr noundef nonnull @.str.4) #9
  %399 = load i32, ptr %137, align 4, !tbaa !5
  %400 = call ptr @s2n_strerror_debug(i32 noundef %399, ptr noundef nonnull @.str.4) #9
  %401 = load i32, ptr %191, align 4, !tbaa !5
  %402 = call ptr @strerror(i32 noundef %401) #9
  %403 = load i32, ptr %191, align 4, !tbaa !5
  %404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %395, ptr noundef nonnull %.str.5.sink677, i32 noundef %396, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 45, ptr noundef %398, ptr noundef %400, ptr noundef %402, i32 noundef %403) #11
  call void @exit(i32 noundef 1) #12
  unreachable

405:                                              ; preds = %378
  %406 = add nsw i32 %379, 2
  store i32 %406, ptr @test_count, align 4, !tbaa !5
  %407 = call ptr @s2n_strerror_debug(i32 noundef 469762048, ptr noundef nonnull @.str.4) #9
  %408 = icmp eq ptr %407, null
  br i1 %408, label %409, label %431

409:                                              ; preds = %469, %455, %441, %405
  %410 = load i32, ptr %191, align 4, !tbaa !5
  %411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %412 = call i32 @s2n_print_stacktrace(ptr noundef %411) #9
  %413 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %414 = trunc nuw i8 %413 to i1
  br i1 %414, label %415, label %419

415:                                              ; preds = %409
  %416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %417 = call i32 @fileno(ptr noundef %416) #9
  %418 = call i32 @isatty(i32 noundef %417) #9
  %.not535 = icmp eq i32 %418, 0
  br i1 %.not535, label %419, label %420

419:                                              ; preds = %415, %409
  br label %420

420:                                              ; preds = %415, %419
  %.str.5.sink686 = phi ptr [ @.str.5, %419 ], [ @.str.2, %415 ]
  store i32 %410, ptr %191, align 4, !tbaa !5
  %421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %422 = load i32, ptr @test_count, align 4, !tbaa !5
  %423 = load i32, ptr %137, align 4, !tbaa !5
  %424 = call ptr @s2n_strerror(i32 noundef %423, ptr noundef nonnull @.str.4) #9
  %425 = load i32, ptr %137, align 4, !tbaa !5
  %426 = call ptr @s2n_strerror_debug(i32 noundef %425, ptr noundef nonnull @.str.4) #9
  %427 = load i32, ptr %191, align 4, !tbaa !5
  %428 = call ptr @strerror(i32 noundef %427) #9
  %429 = load i32, ptr %191, align 4, !tbaa !5
  %430 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %421, ptr noundef nonnull %.str.5.sink686, i32 noundef %422, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 45, ptr noundef %424, ptr noundef %426, ptr noundef %428, i32 noundef %429) #11
  call void @exit(i32 noundef 1) #12
  unreachable

431:                                              ; preds = %405
  store i32 0, ptr %137, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %191, align 4, !tbaa !5
  %432 = load i32, ptr @test_count, align 4, !tbaa !5
  %433 = add nsw i32 %432, 1
  store i32 %433, ptr @test_count, align 4, !tbaa !5
  %434 = call i32 @s2n_error_get_alert(i32 noundef 201326593, ptr noundef nonnull %3) #9
  %435 = icmp eq i32 %434, -1
  br i1 %435, label %436, label %356

436:                                              ; preds = %431
  %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 = load i32, ptr %137, align 4, !tbaa !5
  %440 = icmp eq i32 %439, 469762048
  br i1 %440, label %441, label %383

441:                                              ; preds = %436
  %442 = add nsw i32 %437, 2
  store i32 %442, ptr @test_count, align 4, !tbaa !5
  %443 = call ptr @s2n_strerror_debug(i32 noundef 469762048, ptr noundef nonnull @.str.4) #9
  %444 = icmp eq ptr %443, null
  br i1 %444, label %409, label %445

445:                                              ; preds = %441
  store i32 0, ptr %137, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %191, align 4, !tbaa !5
  %446 = load i32, ptr @test_count, align 4, !tbaa !5
  %447 = add nsw i32 %446, 1
  store i32 %447, ptr @test_count, align 4, !tbaa !5
  %448 = call i32 @s2n_error_get_alert(i32 noundef 201326594, ptr noundef nonnull %3) #9
  %449 = icmp eq i32 %448, -1
  br i1 %449, label %450, label %356

450:                                              ; preds = %445
  %451 = load i32, ptr @test_count, align 4, !tbaa !5
  %452 = add nsw i32 %451, 1
  store i32 %452, ptr @test_count, align 4, !tbaa !5
  %453 = load i32, ptr %137, align 4, !tbaa !5
  %454 = icmp eq i32 %453, 469762048
  br i1 %454, label %455, label %383

455:                                              ; preds = %450
  %456 = add nsw i32 %451, 2
  store i32 %456, ptr @test_count, align 4, !tbaa !5
  %457 = call ptr @s2n_strerror_debug(i32 noundef 469762048, ptr noundef nonnull @.str.4) #9
  %458 = icmp eq ptr %457, null
  br i1 %458, label %409, label %459

459:                                              ; preds = %455
  store i32 0, ptr %137, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %191, align 4, !tbaa !5
  %460 = load i32, ptr @test_count, align 4, !tbaa !5
  %461 = add nsw i32 %460, 1
  store i32 %461, ptr @test_count, align 4, !tbaa !5
  %462 = call i32 @s2n_error_get_alert(i32 noundef 201326595, ptr noundef nonnull %3) #9
  %463 = icmp eq i32 %462, -1
  br i1 %463, label %464, label %356

464:                                              ; preds = %459
  %465 = load i32, ptr @test_count, align 4, !tbaa !5
  %466 = add nsw i32 %465, 1
  store i32 %466, ptr @test_count, align 4, !tbaa !5
  %467 = load i32, ptr %137, align 4, !tbaa !5
  %468 = icmp eq i32 %467, 469762048
  br i1 %468, label %469, label %383

469:                                              ; preds = %464
  %470 = add nsw i32 %465, 2
  store i32 %470, ptr @test_count, align 4, !tbaa !5
  %471 = call ptr @s2n_strerror_debug(i32 noundef 469762048, ptr noundef nonnull @.str.4) #9
  %472 = icmp eq ptr %471, null
  br i1 %472, label %409, label %.preheader543.preheader

.preheader543.preheader:                          ; preds = %469
  store i32 0, ptr %137, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %191, align 4, !tbaa !5
  br label %.preheader543

.preheader543:                                    ; preds = %.preheader543.preheader, %553
  %.0374545 = phi i64 [ %554, %553 ], [ 469762048, %.preheader543.preheader ]
  %473 = load i32, ptr @test_count, align 4, !tbaa !5
  %474 = add nsw i32 %473, 1
  store i32 %474, ptr @test_count, align 4, !tbaa !5
  %475 = trunc nuw nsw i64 %.0374545 to i32
  %476 = call i32 @s2n_error_get_alert(i32 noundef %475, ptr noundef nonnull %3) #9
  %477 = icmp eq i32 %476, -1
  br i1 %477, label %500, label %478

478:                                              ; preds = %.preheader543
  %479 = load i32, ptr %191, align 4, !tbaa !5
  %480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %481 = call i32 @s2n_print_stacktrace(ptr noundef %480) #9
  %482 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %483 = trunc nuw i8 %482 to i1
  br i1 %483, label %484, label %488

484:                                              ; preds = %478
  %485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %486 = call i32 @fileno(ptr noundef %485) #9
  %487 = call i32 @isatty(i32 noundef %486) #9
  %.not530 = icmp eq i32 %487, 0
  br i1 %.not530, label %488, label %489

488:                                              ; preds = %484, %478
  br label %489

489:                                              ; preds = %484, %488
  %.str.5.sink695 = phi ptr [ @.str.5, %488 ], [ @.str.2, %484 ]
  store i32 %479, ptr %191, align 4, !tbaa !5
  %490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %491 = load i32, ptr @test_count, align 4, !tbaa !5
  %492 = load i32, ptr %137, align 4, !tbaa !5
  %493 = call ptr @s2n_strerror(i32 noundef %492, ptr noundef nonnull @.str.4) #9
  %494 = load i32, ptr %137, align 4, !tbaa !5
  %495 = call ptr @s2n_strerror_debug(i32 noundef %494, ptr noundef nonnull @.str.4) #9
  %496 = load i32, ptr %191, align 4, !tbaa !5
  %497 = call ptr @strerror(i32 noundef %496) #9
  %498 = load i32, ptr %191, align 4, !tbaa !5
  %499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %490, ptr noundef nonnull %.str.5.sink695, i32 noundef %491, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 50, ptr noundef %493, ptr noundef %495, ptr noundef %497, i32 noundef %498) #11
  call void @exit(i32 noundef 1) #12
  unreachable

500:                                              ; preds = %.preheader543
  %501 = load i32, ptr @test_count, align 4, !tbaa !5
  %502 = add nsw i32 %501, 1
  store i32 %502, ptr @test_count, align 4, !tbaa !5
  %503 = load i32, ptr %137, align 4, !tbaa !5
  %504 = icmp eq i32 %503, 469762048
  br i1 %504, label %527, label %505

505:                                              ; preds = %500
  %506 = load i32, ptr %191, align 4, !tbaa !5
  %507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %508 = call i32 @s2n_print_stacktrace(ptr noundef %507) #9
  %509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %510 = trunc nuw i8 %509 to i1
  br i1 %510, label %511, label %515

511:                                              ; preds = %505
  %512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %513 = call i32 @fileno(ptr noundef %512) #9
  %514 = call i32 @isatty(i32 noundef %513) #9
  %.not531 = icmp eq i32 %514, 0
  br i1 %.not531, label %515, label %516

515:                                              ; preds = %511, %505
  br label %516

516:                                              ; preds = %511, %515
  %.str.5.sink704 = phi ptr [ @.str.5, %515 ], [ @.str.2, %511 ]
  store i32 %506, ptr %191, align 4, !tbaa !5
  %517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %518 = load i32, ptr @test_count, align 4, !tbaa !5
  %519 = load i32, ptr %137, align 4, !tbaa !5
  %520 = call ptr @s2n_strerror(i32 noundef %519, ptr noundef nonnull @.str.4) #9
  %521 = load i32, ptr %137, align 4, !tbaa !5
  %522 = call ptr @s2n_strerror_debug(i32 noundef %521, ptr noundef nonnull @.str.4) #9
  %523 = load i32, ptr %191, align 4, !tbaa !5
  %524 = call ptr @strerror(i32 noundef %523) #9
  %525 = load i32, ptr %191, align 4, !tbaa !5
  %526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %517, ptr noundef nonnull %.str.5.sink704, i32 noundef %518, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 50, ptr noundef %520, ptr noundef %522, ptr noundef %524, i32 noundef %525) #11
  call void @exit(i32 noundef 1) #12
  unreachable

527:                                              ; preds = %500
  %528 = add nsw i32 %501, 2
  store i32 %528, ptr @test_count, align 4, !tbaa !5
  %529 = call ptr @s2n_strerror_debug(i32 noundef 469762048, ptr noundef nonnull @.str.4) #9
  %530 = icmp eq ptr %529, null
  br i1 %530, label %531, label %553

531:                                              ; preds = %527
  %532 = load i32, ptr %191, align 4, !tbaa !5
  %533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %534 = call i32 @s2n_print_stacktrace(ptr noundef %533) #9
  %535 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %536 = trunc nuw i8 %535 to i1
  br i1 %536, label %537, label %541

537:                                              ; preds = %531
  %538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %539 = call i32 @fileno(ptr noundef %538) #9
  %540 = call i32 @isatty(i32 noundef %539) #9
  %.not532 = icmp eq i32 %540, 0
  br i1 %.not532, label %541, label %542

541:                                              ; preds = %537, %531
  br label %542

542:                                              ; preds = %537, %541
  %.str.5.sink713 = phi ptr [ @.str.5, %541 ], [ @.str.2, %537 ]
  store i32 %532, ptr %191, align 4, !tbaa !5
  %543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %544 = load i32, ptr @test_count, align 4, !tbaa !5
  %545 = load i32, ptr %137, align 4, !tbaa !5
  %546 = call ptr @s2n_strerror(i32 noundef %545, ptr noundef nonnull @.str.4) #9
  %547 = load i32, ptr %137, align 4, !tbaa !5
  %548 = call ptr @s2n_strerror_debug(i32 noundef %547, ptr noundef nonnull @.str.4) #9
  %549 = load i32, ptr %191, align 4, !tbaa !5
  %550 = call ptr @strerror(i32 noundef %549) #9
  %551 = load i32, ptr %191, align 4, !tbaa !5
  %552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %543, ptr noundef nonnull %.str.5.sink713, i32 noundef %544, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 50, ptr noundef %546, ptr noundef %548, ptr noundef %550, i32 noundef %551) #11
  call void @exit(i32 noundef 1) #12
  unreachable

553:                                              ; preds = %527
  store i32 0, ptr %137, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %191, align 4, !tbaa !5
  %554 = add nuw nsw i64 %.0374545, 1
  %exitcond.not = icmp eq i64 %554, 469762138
  br i1 %exitcond.not, label %.preheader542, label %.preheader543, !llvm.loop !16

555:                                              ; preds = %.preheader542
  %556 = add nuw nsw i64 %.0375546, 1
  %exitcond549.not = icmp eq i64 %556, 335544400
  br i1 %exitcond549.not, label %557, label %.preheader542, !llvm.loop !18

557:                                              ; preds = %555
  %558 = load i32, ptr @test_count, align 4, !tbaa !5
  %559 = add nsw i32 %558, 1
  store i32 %559, ptr @test_count, align 4, !tbaa !5
  %560 = call i32 @s2n_error_get_alert(i32 noundef 335544393, ptr noundef nonnull %3) #9
  %561 = icmp eq i32 %560, -1
  br i1 %561, label %592, label %614

.preheader542:                                    ; preds = %553, %555
  %.0375546 = phi i64 [ %556, %555 ], [ 335544320, %553 ]
  %562 = trunc nuw nsw i64 %.0375546 to i32
  %563 = call i32 @s2n_error_get_alert(i32 noundef %562, ptr noundef nonnull %3) #9
  %564 = icmp ne i32 %563, 0
  %565 = load i32, ptr %137, align 4
  %566 = icmp eq i32 %565, 402653231
  %or.cond = select i1 %564, i1 %566, i1 false
  br i1 %or.cond, label %567, label %555

567:                                              ; preds = %.preheader542
  %568 = load ptr, ptr @stdout, align 8, !tbaa !9
  %569 = call ptr @s2n_strerror_name(i32 noundef %562) #9
  %570 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %568, ptr noundef nonnull @.str.14, ptr noundef %569) #9
  %571 = load i32, ptr %191, align 4, !tbaa !5
  %572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %573 = call i32 @s2n_print_stacktrace(ptr noundef %572) #9
  %574 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %575 = trunc nuw i8 %574 to i1
  br i1 %575, label %576, label %580

576:                                              ; preds = %567
  %577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %578 = call i32 @fileno(ptr noundef %577) #9
  %579 = call i32 @isatty(i32 noundef %578) #9
  %.not529 = icmp eq i32 %579, 0
  br i1 %.not529, label %580, label %581

580:                                              ; preds = %576, %567
  br label %581

581:                                              ; preds = %576, %580
  %.str.5.sink722 = phi ptr [ @.str.5, %580 ], [ @.str.2, %576 ]
  store i32 %571, ptr %191, align 4, !tbaa !5
  %582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %583 = load i32, ptr @test_count, align 4, !tbaa !5
  %584 = load i32, ptr %137, align 4, !tbaa !5
  %585 = call ptr @s2n_strerror(i32 noundef %584, ptr noundef nonnull @.str.4) #9
  %586 = load i32, ptr %137, align 4, !tbaa !5
  %587 = call ptr @s2n_strerror_debug(i32 noundef %586, ptr noundef nonnull @.str.4) #9
  %588 = load i32, ptr %191, align 4, !tbaa !5
  %589 = call ptr @strerror(i32 noundef %588) #9
  %590 = load i32, ptr %191, align 4, !tbaa !5
  %591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %582, ptr noundef nonnull %.str.5.sink722, i32 noundef %583, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 60, ptr noundef %585, ptr noundef %587, ptr noundef %589, i32 noundef %590) #11
  call void @exit(i32 noundef 1) #12
  unreachable

592:                                              ; preds = %557
  %593 = load i32, ptr %191, align 4, !tbaa !5
  %594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %595 = call i32 @s2n_print_stacktrace(ptr noundef %594) #9
  %596 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %597 = trunc nuw i8 %596 to i1
  br i1 %597, label %598, label %602

598:                                              ; preds = %592
  %599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %600 = call i32 @fileno(ptr noundef %599) #9
  %601 = call i32 @isatty(i32 noundef %600) #9
  %.not528 = icmp eq i32 %601, 0
  br i1 %.not528, label %602, label %603

602:                                              ; preds = %598, %592
  br label %603

603:                                              ; preds = %598, %602
  %.str.5.sink731 = phi ptr [ @.str.5, %602 ], [ @.str.2, %598 ]
  store i32 %593, ptr %191, align 4, !tbaa !5
  %604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %605 = load i32, ptr @test_count, align 4, !tbaa !5
  %606 = load i32, ptr %137, align 4, !tbaa !5
  %607 = call ptr @s2n_strerror(i32 noundef %606, ptr noundef nonnull @.str.4) #9
  %608 = load i32, ptr %137, align 4, !tbaa !5
  %609 = call ptr @s2n_strerror_debug(i32 noundef %608, ptr noundef nonnull @.str.4) #9
  %610 = load i32, ptr %191, align 4, !tbaa !5
  %611 = call ptr @strerror(i32 noundef %610) #9
  %612 = load i32, ptr %191, align 4, !tbaa !5
  %613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %604, ptr noundef nonnull %.str.5.sink731, i32 noundef %605, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 66, ptr noundef %607, ptr noundef %609, ptr noundef %611, i32 noundef %612) #11
  call void @exit(i32 noundef 1) #12
  unreachable

614:                                              ; preds = %557
  %615 = load i32, ptr @test_count, align 4, !tbaa !5
  %616 = add nsw i32 %615, 1
  store i32 %616, ptr @test_count, align 4, !tbaa !5
  %617 = load i8, ptr %3, align 1, !tbaa !15
  %618 = icmp eq i8 %617, 109
  br i1 %618, label %641, label %619

619:                                              ; preds = %614
  %620 = load i32, ptr %191, align 4, !tbaa !5
  %621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %622 = call i32 @s2n_print_stacktrace(ptr noundef %621) #9
  %623 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %624 = trunc nuw i8 %623 to i1
  br i1 %624, label %625, label %629

625:                                              ; preds = %619
  %626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %627 = call i32 @fileno(ptr noundef %626) #9
  %628 = call i32 @isatty(i32 noundef %627) #9
  %.not399 = icmp eq i32 %628, 0
  br i1 %.not399, label %629, label %630

629:                                              ; preds = %625, %619
  br label %630

630:                                              ; preds = %625, %629
  %.str.5.sink740 = phi ptr [ @.str.5, %629 ], [ @.str.2, %625 ]
  store i32 %620, ptr %191, align 4, !tbaa !5
  %631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %632 = load i32, ptr @test_count, align 4, !tbaa !5
  %633 = load i32, ptr %137, align 4, !tbaa !5
  %634 = call ptr @s2n_strerror(i32 noundef %633, ptr noundef nonnull @.str.4) #9
  %635 = load i32, ptr %137, align 4, !tbaa !5
  %636 = call ptr @s2n_strerror_debug(i32 noundef %635, ptr noundef nonnull @.str.4) #9
  %637 = load i32, ptr %191, align 4, !tbaa !5
  %638 = call ptr @strerror(i32 noundef %637) #9
  %639 = load i32, ptr %191, align 4, !tbaa !5
  %640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %631, ptr noundef nonnull %.str.5.sink740, i32 noundef %632, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 67, ptr noundef %634, ptr noundef %636, ptr noundef %638, i32 noundef %639) #11
  call void @exit(i32 noundef 1) #12
  unreachable

641:                                              ; preds = %614
  %642 = add nsw i32 %615, 2
  store i32 %642, ptr @test_count, align 4, !tbaa !5
  %643 = call i32 @s2n_error_get_alert(i32 noundef 335544322, ptr noundef nonnull %3) #9
  %644 = icmp eq i32 %643, -1
  br i1 %644, label %645, label %667

645:                                              ; preds = %641
  %646 = load i32, ptr %191, align 4, !tbaa !5
  %647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %648 = call i32 @s2n_print_stacktrace(ptr noundef %647) #9
  %649 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %650 = trunc nuw i8 %649 to i1
  br i1 %650, label %651, label %655

651:                                              ; preds = %645
  %652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %653 = call i32 @fileno(ptr noundef %652) #9
  %654 = call i32 @isatty(i32 noundef %653) #9
  %.not527 = icmp eq i32 %654, 0
  br i1 %.not527, label %655, label %656

655:                                              ; preds = %651, %645
  br label %656

656:                                              ; preds = %651, %655
  %.str.5.sink749 = phi ptr [ @.str.5, %655 ], [ @.str.2, %651 ]
  store i32 %646, ptr %191, align 4, !tbaa !5
  %657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %658 = load i32, ptr @test_count, align 4, !tbaa !5
  %659 = load i32, ptr %137, align 4, !tbaa !5
  %660 = call ptr @s2n_strerror(i32 noundef %659, ptr noundef nonnull @.str.4) #9
  %661 = load i32, ptr %137, align 4, !tbaa !5
  %662 = call ptr @s2n_strerror_debug(i32 noundef %661, ptr noundef nonnull @.str.4) #9
  %663 = load i32, ptr %191, align 4, !tbaa !5
  %664 = call ptr @strerror(i32 noundef %663) #9
  %665 = load i32, ptr %191, align 4, !tbaa !5
  %666 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %657, ptr noundef nonnull %.str.5.sink749, i32 noundef %658, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 69, ptr noundef %660, ptr noundef %662, ptr noundef %664, i32 noundef %665) #11
  call void @exit(i32 noundef 1) #12
  unreachable

667:                                              ; preds = %641
  %668 = load i32, ptr @test_count, align 4, !tbaa !5
  %669 = add nsw i32 %668, 1
  store i32 %669, ptr @test_count, align 4, !tbaa !5
  %670 = load i8, ptr %3, align 1, !tbaa !15
  %671 = icmp eq i8 %670, 10
  br i1 %671, label %694, label %672

672:                                              ; preds = %667
  %673 = load i32, ptr %191, align 4, !tbaa !5
  %674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %675 = call i32 @s2n_print_stacktrace(ptr noundef %674) #9
  %676 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %677 = trunc nuw i8 %676 to i1
  br i1 %677, label %678, label %682

678:                                              ; preds = %672
  %679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %680 = call i32 @fileno(ptr noundef %679) #9
  %681 = call i32 @isatty(i32 noundef %680) #9
  %.not400 = icmp eq i32 %681, 0
  br i1 %.not400, label %682, label %683

682:                                              ; preds = %678, %672
  br label %683

683:                                              ; preds = %678, %682
  %.str.5.sink758 = phi ptr [ @.str.5, %682 ], [ @.str.2, %678 ]
  store i32 %673, ptr %191, align 4, !tbaa !5
  %684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %685 = load i32, ptr @test_count, align 4, !tbaa !5
  %686 = load i32, ptr %137, align 4, !tbaa !5
  %687 = call ptr @s2n_strerror(i32 noundef %686, ptr noundef nonnull @.str.4) #9
  %688 = load i32, ptr %137, align 4, !tbaa !5
  %689 = call ptr @s2n_strerror_debug(i32 noundef %688, ptr noundef nonnull @.str.4) #9
  %690 = load i32, ptr %191, align 4, !tbaa !5
  %691 = call ptr @strerror(i32 noundef %690) #9
  %692 = load i32, ptr %191, align 4, !tbaa !5
  %693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %684, ptr noundef nonnull %.str.5.sink758, i32 noundef %685, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 70, ptr noundef %687, ptr noundef %689, ptr noundef %691, i32 noundef %692) #11
  call void @exit(i32 noundef 1) #12
  unreachable

694:                                              ; preds = %667
  %695 = add nsw i32 %668, 2
  store i32 %695, ptr @test_count, align 4, !tbaa !5
  %696 = call i32 @s2n_error_get_alert(i32 noundef 335544397, ptr noundef nonnull %3) #9
  %697 = icmp eq i32 %696, -1
  br i1 %697, label %720, label %698

698:                                              ; preds = %694
  %699 = load i32, ptr %191, align 4, !tbaa !5
  %700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %701 = call i32 @s2n_print_stacktrace(ptr noundef %700) #9
  %702 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %703 = trunc nuw i8 %702 to i1
  br i1 %703, label %704, label %708

704:                                              ; preds = %698
  %705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %706 = call i32 @fileno(ptr noundef %705) #9
  %707 = call i32 @isatty(i32 noundef %706) #9
  %.not401 = icmp eq i32 %707, 0
  br i1 %.not401, label %708, label %709

708:                                              ; preds = %704, %698
  br label %709

709:                                              ; preds = %704, %708
  %.str.5.sink767 = phi ptr [ @.str.5, %708 ], [ @.str.2, %704 ]
  store i32 %699, ptr %191, align 4, !tbaa !5
  %710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %711 = load i32, ptr @test_count, align 4, !tbaa !5
  %712 = load i32, ptr %137, align 4, !tbaa !5
  %713 = call ptr @s2n_strerror(i32 noundef %712, ptr noundef nonnull @.str.4) #9
  %714 = load i32, ptr %137, align 4, !tbaa !5
  %715 = call ptr @s2n_strerror_debug(i32 noundef %714, ptr noundef nonnull @.str.4) #9
  %716 = load i32, ptr %191, align 4, !tbaa !5
  %717 = call ptr @strerror(i32 noundef %716) #9
  %718 = load i32, ptr %191, align 4, !tbaa !5
  %719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %710, ptr noundef nonnull %.str.5.sink767, i32 noundef %711, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 74, ptr noundef %713, ptr noundef %715, ptr noundef %717, i32 noundef %718) #11
  call void @exit(i32 noundef 1) #12
  unreachable

720:                                              ; preds = %694
  %721 = load i32, ptr @test_count, align 4, !tbaa !5
  %722 = add nsw i32 %721, 1
  store i32 %722, ptr @test_count, align 4, !tbaa !5
  %723 = load i32, ptr %137, align 4, !tbaa !5
  %724 = icmp eq i32 %723, 469762048
  br i1 %724, label %747, label %725

725:                                              ; preds = %720
  %726 = load i32, ptr %191, align 4, !tbaa !5
  %727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %728 = call i32 @s2n_print_stacktrace(ptr noundef %727) #9
  %729 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %730 = trunc nuw i8 %729 to i1
  br i1 %730, label %731, label %735

731:                                              ; preds = %725
  %732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %733 = call i32 @fileno(ptr noundef %732) #9
  %734 = call i32 @isatty(i32 noundef %733) #9
  %.not402 = icmp eq i32 %734, 0
  br i1 %.not402, label %735, label %736

735:                                              ; preds = %731, %725
  br label %736

736:                                              ; preds = %731, %735
  %.str.5.sink776 = phi ptr [ @.str.5, %735 ], [ @.str.2, %731 ]
  store i32 %726, ptr %191, align 4, !tbaa !5
  %737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %738 = load i32, ptr @test_count, align 4, !tbaa !5
  %739 = load i32, ptr %137, align 4, !tbaa !5
  %740 = call ptr @s2n_strerror(i32 noundef %739, ptr noundef nonnull @.str.4) #9
  %741 = load i32, ptr %137, align 4, !tbaa !5
  %742 = call ptr @s2n_strerror_debug(i32 noundef %741, ptr noundef nonnull @.str.4) #9
  %743 = load i32, ptr %191, align 4, !tbaa !5
  %744 = call ptr @strerror(i32 noundef %743) #9
  %745 = load i32, ptr %191, align 4, !tbaa !5
  %746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %737, ptr noundef nonnull %.str.5.sink776, i32 noundef %738, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 74, ptr noundef %740, ptr noundef %742, ptr noundef %744, i32 noundef %745) #11
  call void @exit(i32 noundef 1) #12
  unreachable

747:                                              ; preds = %720
  %748 = add nsw i32 %721, 2
  store i32 %748, ptr @test_count, align 4, !tbaa !5
  %749 = call ptr @s2n_strerror_debug(i32 noundef 469762048, ptr noundef nonnull @.str.4) #9
  %750 = icmp eq ptr %749, null
  br i1 %750, label %751, label %773

751:                                              ; preds = %747
  %752 = load i32, ptr %191, align 4, !tbaa !5
  %753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %754 = call i32 @s2n_print_stacktrace(ptr noundef %753) #9
  %755 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %756 = trunc nuw i8 %755 to i1
  br i1 %756, label %757, label %761

757:                                              ; preds = %751
  %758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %759 = call i32 @fileno(ptr noundef %758) #9
  %760 = call i32 @isatty(i32 noundef %759) #9
  %.not526 = icmp eq i32 %760, 0
  br i1 %.not526, label %761, label %762

761:                                              ; preds = %757, %751
  br label %762

762:                                              ; preds = %757, %761
  %.str.5.sink785 = phi ptr [ @.str.5, %761 ], [ @.str.2, %757 ]
  store i32 %752, ptr %191, align 4, !tbaa !5
  %763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %764 = load i32, ptr @test_count, align 4, !tbaa !5
  %765 = load i32, ptr %137, align 4, !tbaa !5
  %766 = call ptr @s2n_strerror(i32 noundef %765, ptr noundef nonnull @.str.4) #9
  %767 = load i32, ptr %137, align 4, !tbaa !5
  %768 = call ptr @s2n_strerror_debug(i32 noundef %767, ptr noundef nonnull @.str.4) #9
  %769 = load i32, ptr %191, align 4, !tbaa !5
  %770 = call ptr @strerror(i32 noundef %769) #9
  %771 = load i32, ptr %191, align 4, !tbaa !5
  %772 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %763, ptr noundef nonnull %.str.5.sink785, i32 noundef %764, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 74, ptr noundef %766, ptr noundef %768, ptr noundef %770, i32 noundef %771) #11
  call void @exit(i32 noundef 1) #12
  unreachable

773:                                              ; preds = %747
  store i32 0, ptr %137, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %191, align 4, !tbaa !5
  %774 = load i32, ptr @test_count, align 4, !tbaa !5
  %775 = add nsw i32 %774, 1
  store i32 %775, ptr @test_count, align 4, !tbaa !5
  %776 = call i32 @s2n_error_get_alert(i32 noundef 67108864, ptr noundef nonnull %3) #9
  %777 = icmp eq i32 %776, -1
  br i1 %777, label %778, label %800

778:                                              ; preds = %773
  %779 = load i32, ptr %191, align 4, !tbaa !5
  %780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %781 = call i32 @s2n_print_stacktrace(ptr noundef %780) #9
  %782 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %783 = trunc nuw i8 %782 to i1
  br i1 %783, label %784, label %788

784:                                              ; preds = %778
  %785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %786 = call i32 @fileno(ptr noundef %785) #9
  %787 = call i32 @isatty(i32 noundef %786) #9
  %.not525 = icmp eq i32 %787, 0
  br i1 %.not525, label %788, label %789

788:                                              ; preds = %784, %778
  br label %789

789:                                              ; preds = %784, %788
  %.str.5.sink794 = phi ptr [ @.str.5, %788 ], [ @.str.2, %784 ]
  store i32 %779, ptr %191, align 4, !tbaa !5
  %790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %791 = load i32, ptr @test_count, align 4, !tbaa !5
  %792 = load i32, ptr %137, align 4, !tbaa !5
  %793 = call ptr @s2n_strerror(i32 noundef %792, ptr noundef nonnull @.str.4) #9
  %794 = load i32, ptr %137, align 4, !tbaa !5
  %795 = call ptr @s2n_strerror_debug(i32 noundef %794, ptr noundef nonnull @.str.4) #9
  %796 = load i32, ptr %191, align 4, !tbaa !5
  %797 = call ptr @strerror(i32 noundef %796) #9
  %798 = load i32, ptr %191, align 4, !tbaa !5
  %799 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %790, ptr noundef nonnull %.str.5.sink794, i32 noundef %791, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 79, ptr noundef %793, ptr noundef %795, ptr noundef %797, i32 noundef %798) #11
  call void @exit(i32 noundef 1) #12
  unreachable

800:                                              ; preds = %773
  %801 = load i32, ptr @test_count, align 4, !tbaa !5
  %802 = add nsw i32 %801, 1
  store i32 %802, ptr @test_count, align 4, !tbaa !5
  %803 = load i8, ptr %3, align 1, !tbaa !15
  %804 = icmp eq i8 %803, 80
  br i1 %804, label %.preheader, label %805

805:                                              ; preds = %800
  %806 = load i32, ptr %191, align 4, !tbaa !5
  %807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %808 = call i32 @s2n_print_stacktrace(ptr noundef %807) #9
  %809 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %810 = trunc nuw i8 %809 to i1
  br i1 %810, label %811, label %815

811:                                              ; preds = %805
  %812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %813 = call i32 @fileno(ptr noundef %812) #9
  %814 = call i32 @isatty(i32 noundef %813) #9
  %.not403 = icmp eq i32 %814, 0
  br i1 %.not403, label %815, label %816

815:                                              ; preds = %811, %805
  br label %816

816:                                              ; preds = %811, %815
  %.str.5.sink803 = phi ptr [ @.str.5, %815 ], [ @.str.2, %811 ]
  store i32 %806, ptr %191, align 4, !tbaa !5
  %817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %818 = load i32, ptr @test_count, align 4, !tbaa !5
  %819 = load i32, ptr %137, align 4, !tbaa !5
  %820 = call ptr @s2n_strerror(i32 noundef %819, ptr noundef nonnull @.str.4) #9
  %821 = load i32, ptr %137, align 4, !tbaa !5
  %822 = call ptr @s2n_strerror_debug(i32 noundef %821, ptr noundef nonnull @.str.4) #9
  %823 = load i32, ptr %191, align 4, !tbaa !5
  %824 = call ptr @strerror(i32 noundef %823) #9
  %825 = load i32, ptr %191, align 4, !tbaa !5
  %826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %817, ptr noundef nonnull %.str.5.sink803, i32 noundef %818, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 80, ptr noundef %820, ptr noundef %822, ptr noundef %824, i32 noundef %825) #11
  call void @exit(i32 noundef 1) #12
  unreachable

827:                                              ; preds = %862
  %828 = add nuw nsw i64 %.0376547, 1
  %exitcond550.not = icmp eq i64 %828, 402653274
  br i1 %exitcond550.not, label %829, label %.preheader, !llvm.loop !19

829:                                              ; preds = %827
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %3) #9
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %4) #9
  %830 = load i16, ptr @__const.main.close_notify_alert, align 1
  store i16 %830, ptr %4, align 2
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %5) #9
  %831 = load i16, ptr @__const.main.not_close_notify_alert, align 1
  store i16 %831, ptr %5, align 2
  %832 = add nsw i32 %863, 2
  store i32 %832, ptr @test_count, align 4, !tbaa !5
  %833 = call ptr @s2n_connection_new(i32 noundef 1) #9
  %834 = icmp eq ptr %833, null
  br i1 %834, label %889, label %911

.preheader:                                       ; preds = %800, %827
  %835 = phi i32 [ %864, %827 ], [ %802, %800 ]
  %.0376547 = phi i64 [ %828, %827 ], [ 402653184, %800 ]
  %836 = add nsw i32 %835, 1
  store i32 %836, ptr @test_count, align 4, !tbaa !5
  %837 = trunc nuw nsw i64 %.0376547 to i32
  %838 = call i32 @s2n_error_get_alert(i32 noundef %837, ptr noundef nonnull %3) #9
  %839 = icmp eq i32 %838, -1
  br i1 %839, label %840, label %862

840:                                              ; preds = %.preheader
  %841 = load i32, ptr %191, align 4, !tbaa !5
  %842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %843 = call i32 @s2n_print_stacktrace(ptr noundef %842) #9
  %844 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %845 = trunc nuw i8 %844 to i1
  br i1 %845, label %846, label %850

846:                                              ; preds = %840
  %847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %848 = call i32 @fileno(ptr noundef %847) #9
  %849 = call i32 @isatty(i32 noundef %848) #9
  %.not524 = icmp eq i32 %849, 0
  br i1 %.not524, label %850, label %851

850:                                              ; preds = %846, %840
  br label %851

851:                                              ; preds = %846, %850
  %.str.5.sink812 = phi ptr [ @.str.5, %850 ], [ @.str.2, %846 ]
  store i32 %841, ptr %191, align 4, !tbaa !5
  %852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %853 = load i32, ptr @test_count, align 4, !tbaa !5
  %854 = load i32, ptr %137, align 4, !tbaa !5
  %855 = call ptr @s2n_strerror(i32 noundef %854, ptr noundef nonnull @.str.4) #9
  %856 = load i32, ptr %137, align 4, !tbaa !5
  %857 = call ptr @s2n_strerror_debug(i32 noundef %856, ptr noundef nonnull @.str.4) #9
  %858 = load i32, ptr %191, align 4, !tbaa !5
  %859 = call ptr @strerror(i32 noundef %858) #9
  %860 = load i32, ptr %191, align 4, !tbaa !5
  %861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %852, ptr noundef nonnull %.str.5.sink812, i32 noundef %853, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 85, ptr noundef %855, ptr noundef %857, ptr noundef %859, i32 noundef %860) #11
  call void @exit(i32 noundef 1) #12
  unreachable

862:                                              ; preds = %.preheader
  %863 = load i32, ptr @test_count, align 4, !tbaa !5
  %864 = add nsw i32 %863, 1
  store i32 %864, ptr @test_count, align 4, !tbaa !5
  %865 = load i8, ptr %3, align 1, !tbaa !15
  %866 = icmp eq i8 %865, 80
  br i1 %866, label %827, label %867

867:                                              ; preds = %862
  %868 = load i32, ptr %191, align 4, !tbaa !5
  %869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %870 = call i32 @s2n_print_stacktrace(ptr noundef %869) #9
  %871 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %872 = trunc nuw i8 %871 to i1
  br i1 %872, label %873, label %877

873:                                              ; preds = %867
  %874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %875 = call i32 @fileno(ptr noundef %874) #9
  %876 = call i32 @isatty(i32 noundef %875) #9
  %.not523 = icmp eq i32 %876, 0
  br i1 %.not523, label %877, label %878

877:                                              ; preds = %873, %867
  br label %878

878:                                              ; preds = %873, %877
  %.str.5.sink821 = phi ptr [ @.str.5, %877 ], [ @.str.2, %873 ]
  store i32 %868, ptr %191, align 4, !tbaa !5
  %879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %880 = load i32, ptr @test_count, align 4, !tbaa !5
  %881 = load i32, ptr %137, align 4, !tbaa !5
  %882 = call ptr @s2n_strerror(i32 noundef %881, ptr noundef nonnull @.str.4) #9
  %883 = load i32, ptr %137, align 4, !tbaa !5
  %884 = call ptr @s2n_strerror_debug(i32 noundef %883, ptr noundef nonnull @.str.4) #9
  %885 = load i32, ptr %191, align 4, !tbaa !5
  %886 = call ptr @strerror(i32 noundef %885) #9
  %887 = load i32, ptr %191, align 4, !tbaa !5
  %888 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %879, ptr noundef nonnull %.str.5.sink821, i32 noundef %880, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 86, ptr noundef %882, ptr noundef %884, ptr noundef %886, i32 noundef %887) #11
  call void @exit(i32 noundef 1) #12
  unreachable

889:                                              ; preds = %829
  %890 = load i32, ptr %191, align 4, !tbaa !5
  %891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %892 = call i32 @s2n_print_stacktrace(ptr noundef %891) #9
  %893 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %894 = trunc nuw i8 %893 to i1
  br i1 %894, label %895, label %899

895:                                              ; preds = %889
  %896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %897 = call i32 @fileno(ptr noundef %896) #9
  %898 = call i32 @isatty(i32 noundef %897) #9
  %.not522 = icmp eq i32 %898, 0
  br i1 %.not522, label %899, label %900

899:                                              ; preds = %895, %889
  br label %900

900:                                              ; preds = %895, %899
  %.str.5.sink830 = phi ptr [ @.str.5, %899 ], [ @.str.2, %895 ]
  store i32 %890, ptr %191, align 4, !tbaa !5
  %901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %902 = load i32, ptr @test_count, align 4, !tbaa !5
  %903 = load i32, ptr %137, align 4, !tbaa !5
  %904 = call ptr @s2n_strerror(i32 noundef %903, ptr noundef nonnull @.str.4) #9
  %905 = load i32, ptr %137, align 4, !tbaa !5
  %906 = call ptr @s2n_strerror_debug(i32 noundef %905, ptr noundef nonnull @.str.4) #9
  %907 = load i32, ptr %191, align 4, !tbaa !5
  %908 = call ptr @strerror(i32 noundef %907) #9
  %909 = load i32, ptr %191, align 4, !tbaa !5
  %910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %901, ptr noundef nonnull %.str.5.sink830, i32 noundef %902, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 105, ptr noundef %904, ptr noundef %906, ptr noundef %908, i32 noundef %909) #11
  call void @exit(i32 noundef 1) #12
  unreachable

911:                                              ; preds = %829
  %912 = load i32, ptr @test_count, align 4, !tbaa !5
  %913 = add nsw i32 %912, 1
  store i32 %913, ptr @test_count, align 4, !tbaa !5
  %914 = getelementptr inbounds i8, ptr %833, i64 2008
  %915 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %914) #9
  br i1 %915, label %916, label %938

916:                                              ; preds = %911
  %917 = load i32, ptr %191, align 4, !tbaa !5
  %918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %919 = call i32 @s2n_print_stacktrace(ptr noundef %918) #9
  %920 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %921 = trunc nuw i8 %920 to i1
  br i1 %921, label %922, label %926

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

926:                                              ; preds = %922, %916
  br label %927

927:                                              ; preds = %922, %926
  %.str.5.sink839 = phi ptr [ @.str.5, %926 ], [ @.str.2, %922 ]
  store i32 %917, ptr %191, align 4, !tbaa !5
  %928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %929 = load i32, ptr @test_count, align 4, !tbaa !5
  %930 = load i32, ptr %137, align 4, !tbaa !5
  %931 = call ptr @s2n_strerror(i32 noundef %930, ptr noundef nonnull @.str.4) #9
  %932 = load i32, ptr %137, align 4, !tbaa !5
  %933 = call ptr @s2n_strerror_debug(i32 noundef %932, ptr noundef nonnull @.str.4) #9
  %934 = load i32, ptr %191, align 4, !tbaa !5
  %935 = call ptr @strerror(i32 noundef %934) #9
  %936 = load i32, ptr %191, align 4, !tbaa !5
  %937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %928, ptr noundef nonnull %.str.5.sink839, i32 noundef %929, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 108, ptr noundef %931, ptr noundef %933, ptr noundef %935, i32 noundef %936) #11
  call void @exit(i32 noundef 1) #12
  unreachable

938:                                              ; preds = %911
  %939 = load i32, ptr @test_count, align 4, !tbaa !5
  %940 = add nsw i32 %939, 1
  store i32 %940, ptr @test_count, align 4, !tbaa !5
  %941 = getelementptr inbounds i8, ptr %833, i64 1856
  %942 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %941, ptr noundef nonnull %5, i32 noundef 2) #9
  %943 = icmp eq i32 %942, -1
  br i1 %943, label %944, label %966

944:                                              ; preds = %938
  %945 = load i32, ptr %191, align 4, !tbaa !5
  %946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %947 = call i32 @s2n_print_stacktrace(ptr noundef %946) #9
  %948 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %949 = trunc nuw i8 %948 to i1
  br i1 %949, label %950, label %954

950:                                              ; preds = %944
  %951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %952 = call i32 @fileno(ptr noundef %951) #9
  %953 = call i32 @isatty(i32 noundef %952) #9
  %.not520 = icmp eq i32 %953, 0
  br i1 %.not520, label %954, label %955

954:                                              ; preds = %950, %944
  br label %955

955:                                              ; preds = %950, %954
  %.str.5.sink848 = phi ptr [ @.str.5, %954 ], [ @.str.2, %950 ]
  store i32 %945, ptr %191, align 4, !tbaa !5
  %956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %957 = load i32, ptr @test_count, align 4, !tbaa !5
  %958 = load i32, ptr %137, align 4, !tbaa !5
  %959 = call ptr @s2n_strerror(i32 noundef %958, ptr noundef nonnull @.str.4) #9
  %960 = load i32, ptr %137, align 4, !tbaa !5
  %961 = call ptr @s2n_strerror_debug(i32 noundef %960, ptr noundef nonnull @.str.4) #9
  %962 = load i32, ptr %191, align 4, !tbaa !5
  %963 = call ptr @strerror(i32 noundef %962) #9
  %964 = load i32, ptr %191, align 4, !tbaa !5
  %965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %956, ptr noundef nonnull %.str.5.sink848, i32 noundef %957, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 111, ptr noundef %959, ptr noundef %961, ptr noundef %963, i32 noundef %964) #11
  call void @exit(i32 noundef 1) #12
  unreachable

966:                                              ; preds = %938
  %967 = load i32, ptr @test_count, align 4, !tbaa !5
  %968 = add nsw i32 %967, 1
  store i32 %968, ptr @test_count, align 4, !tbaa !5
  %969 = call i32 @s2n_process_alert_fragment(ptr noundef nonnull %833) #9
  %970 = icmp eq i32 %969, -1
  br i1 %970, label %993, label %971

971:                                              ; preds = %966
  %972 = load i32, ptr %191, align 4, !tbaa !5
  %973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %974 = call i32 @s2n_print_stacktrace(ptr noundef %973) #9
  %975 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %976 = trunc nuw i8 %975 to i1
  br i1 %976, label %977, label %981

977:                                              ; preds = %971
  %978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %979 = call i32 @fileno(ptr noundef %978) #9
  %980 = call i32 @isatty(i32 noundef %979) #9
  %.not404 = icmp eq i32 %980, 0
  br i1 %.not404, label %981, label %982

981:                                              ; preds = %977, %971
  br label %982

982:                                              ; preds = %977, %981
  %.str.5.sink857 = phi ptr [ @.str.5, %981 ], [ @.str.2, %977 ]
  store i32 %972, ptr %191, align 4, !tbaa !5
  %983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %984 = load i32, ptr @test_count, align 4, !tbaa !5
  %985 = load i32, ptr %137, align 4, !tbaa !5
  %986 = call ptr @s2n_strerror(i32 noundef %985, ptr noundef nonnull @.str.4) #9
  %987 = load i32, ptr %137, align 4, !tbaa !5
  %988 = call ptr @s2n_strerror_debug(i32 noundef %987, ptr noundef nonnull @.str.4) #9
  %989 = load i32, ptr %191, align 4, !tbaa !5
  %990 = call ptr @strerror(i32 noundef %989) #9
  %991 = load i32, ptr %191, align 4, !tbaa !5
  %992 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %983, ptr noundef nonnull %.str.5.sink857, i32 noundef %984, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 114, ptr noundef %986, ptr noundef %988, ptr noundef %990, i32 noundef %991) #11
  call void @exit(i32 noundef 1) #12
  unreachable

993:                                              ; preds = %966
  %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 i32, ptr %137, align 4, !tbaa !5
  %997 = icmp eq i32 %996, 268435456
  br i1 %997, label %1020, label %998

998:                                              ; preds = %993
  %999 = load i32, ptr %191, align 4, !tbaa !5
  %1000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1001 = call i32 @s2n_print_stacktrace(ptr noundef %1000) #9
  %1002 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1003 = trunc nuw i8 %1002 to i1
  br i1 %1003, label %1004, label %1008

1004:                                             ; preds = %998
  %1005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1006 = call i32 @fileno(ptr noundef %1005) #9
  %1007 = call i32 @isatty(i32 noundef %1006) #9
  %.not405 = icmp eq i32 %1007, 0
  br i1 %.not405, label %1008, label %1009

1008:                                             ; preds = %1004, %998
  br label %1009

1009:                                             ; preds = %1004, %1008
  %.str.5.sink866 = phi ptr [ @.str.5, %1008 ], [ @.str.2, %1004 ]
  store i32 %999, ptr %191, align 4, !tbaa !5
  %1010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1011 = load i32, ptr @test_count, align 4, !tbaa !5
  %1012 = load i32, ptr %137, align 4, !tbaa !5
  %1013 = call ptr @s2n_strerror(i32 noundef %1012, ptr noundef nonnull @.str.4) #9
  %1014 = load i32, ptr %137, align 4, !tbaa !5
  %1015 = call ptr @s2n_strerror_debug(i32 noundef %1014, ptr noundef nonnull @.str.4) #9
  %1016 = load i32, ptr %191, align 4, !tbaa !5
  %1017 = call ptr @strerror(i32 noundef %1016) #9
  %1018 = load i32, ptr %191, align 4, !tbaa !5
  %1019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1010, ptr noundef nonnull %.str.5.sink866, i32 noundef %1011, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 114, ptr noundef %1013, ptr noundef %1015, ptr noundef %1017, i32 noundef %1018) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1020:                                             ; preds = %993
  %1021 = add nsw i32 %994, 2
  store i32 %1021, ptr @test_count, align 4, !tbaa !5
  %1022 = call ptr @s2n_strerror_debug(i32 noundef 268435456, ptr noundef nonnull @.str.4) #9
  %1023 = icmp eq ptr %1022, null
  br i1 %1023, label %1024, label %1046

1024:                                             ; preds = %1020
  %1025 = load i32, ptr %191, align 4, !tbaa !5
  %1026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1027 = call i32 @s2n_print_stacktrace(ptr noundef %1026) #9
  %1028 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1029 = trunc nuw i8 %1028 to i1
  br i1 %1029, label %1030, label %1034

1030:                                             ; preds = %1024
  %1031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1032 = call i32 @fileno(ptr noundef %1031) #9
  %1033 = call i32 @isatty(i32 noundef %1032) #9
  %.not519 = icmp eq i32 %1033, 0
  br i1 %.not519, label %1034, label %1035

1034:                                             ; preds = %1030, %1024
  br label %1035

1035:                                             ; preds = %1030, %1034
  %.str.5.sink875 = phi ptr [ @.str.5, %1034 ], [ @.str.2, %1030 ]
  store i32 %1025, ptr %191, align 4, !tbaa !5
  %1036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1037 = load i32, ptr @test_count, align 4, !tbaa !5
  %1038 = load i32, ptr %137, align 4, !tbaa !5
  %1039 = call ptr @s2n_strerror(i32 noundef %1038, ptr noundef nonnull @.str.4) #9
  %1040 = load i32, ptr %137, align 4, !tbaa !5
  %1041 = call ptr @s2n_strerror_debug(i32 noundef %1040, ptr noundef nonnull @.str.4) #9
  %1042 = load i32, ptr %191, align 4, !tbaa !5
  %1043 = call ptr @strerror(i32 noundef %1042) #9
  %1044 = load i32, ptr %191, align 4, !tbaa !5
  %1045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1036, ptr noundef nonnull %.str.5.sink875, i32 noundef %1037, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 114, ptr noundef %1039, ptr noundef %1041, ptr noundef %1043, i32 noundef %1044) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1046:                                             ; preds = %1020
  store i32 0, ptr %137, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %191, align 4, !tbaa !5
  %1047 = load i32, ptr @test_count, align 4, !tbaa !5
  %1048 = add nsw i32 %1047, 1
  store i32 %1048, ptr @test_count, align 4, !tbaa !5
  %1049 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %914) #9
  br i1 %1049, label %1050, label %1072

1050:                                             ; preds = %1046
  %1051 = load i32, ptr %191, align 4, !tbaa !5
  %1052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1053 = call i32 @s2n_print_stacktrace(ptr noundef %1052) #9
  %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 = %1050
  %1057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1058 = call i32 @fileno(ptr noundef %1057) #9
  %1059 = call i32 @isatty(i32 noundef %1058) #9
  %.not518 = icmp eq i32 %1059, 0
  br i1 %.not518, label %1060, label %1061

1060:                                             ; preds = %1056, %1050
  br label %1061

1061:                                             ; preds = %1056, %1060
  %.str.5.sink884 = phi ptr [ @.str.5, %1060 ], [ @.str.2, %1056 ]
  store i32 %1051, ptr %191, align 4, !tbaa !5
  %1062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1063 = load i32, ptr @test_count, align 4, !tbaa !5
  %1064 = load i32, ptr %137, align 4, !tbaa !5
  %1065 = call ptr @s2n_strerror(i32 noundef %1064, ptr noundef nonnull @.str.4) #9
  %1066 = load i32, ptr %137, align 4, !tbaa !5
  %1067 = call ptr @s2n_strerror_debug(i32 noundef %1066, ptr noundef nonnull @.str.4) #9
  %1068 = load i32, ptr %191, align 4, !tbaa !5
  %1069 = call ptr @strerror(i32 noundef %1068) #9
  %1070 = load i32, ptr %191, align 4, !tbaa !5
  %1071 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1062, ptr noundef nonnull %.str.5.sink884, i32 noundef %1063, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 117, ptr noundef %1065, ptr noundef %1067, ptr noundef %1069, i32 noundef %1070) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1072:                                             ; preds = %1046
  %1073 = load i32, ptr @test_count, align 4, !tbaa !5
  %1074 = add nsw i32 %1073, 1
  store i32 %1074, ptr @test_count, align 4, !tbaa !5
  %1075 = call i32 @s2n_connection_free(ptr noundef nonnull %833) #9
  %1076 = icmp eq i32 %1075, -1
  br i1 %1076, label %1077, label %1099

1077:                                             ; preds = %1072
  %1078 = load i32, ptr %191, align 4, !tbaa !5
  %1079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1080 = call i32 @s2n_print_stacktrace(ptr noundef %1079) #9
  %1081 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1082 = trunc nuw i8 %1081 to i1
  br i1 %1082, label %1083, label %1087

1083:                                             ; preds = %1077
  %1084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1085 = call i32 @fileno(ptr noundef %1084) #9
  %1086 = call i32 @isatty(i32 noundef %1085) #9
  %.not517 = icmp eq i32 %1086, 0
  br i1 %.not517, label %1087, label %1088

1087:                                             ; preds = %1083, %1077
  br label %1088

1088:                                             ; preds = %1083, %1087
  %.str.5.sink893 = phi ptr [ @.str.5, %1087 ], [ @.str.2, %1083 ]
  store i32 %1078, ptr %191, align 4, !tbaa !5
  %1089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1090 = load i32, ptr @test_count, align 4, !tbaa !5
  %1091 = load i32, ptr %137, align 4, !tbaa !5
  %1092 = call ptr @s2n_strerror(i32 noundef %1091, ptr noundef nonnull @.str.4) #9
  %1093 = load i32, ptr %137, align 4, !tbaa !5
  %1094 = call ptr @s2n_strerror_debug(i32 noundef %1093, ptr noundef nonnull @.str.4) #9
  %1095 = load i32, ptr %191, align 4, !tbaa !5
  %1096 = call ptr @strerror(i32 noundef %1095) #9
  %1097 = load i32, ptr %191, align 4, !tbaa !5
  %1098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1089, ptr noundef nonnull %.str.5.sink893, i32 noundef %1090, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 119, ptr noundef %1092, ptr noundef %1094, ptr noundef %1096, i32 noundef %1097) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1099:                                             ; preds = %1072
  %1100 = load i32, ptr @test_count, align 4, !tbaa !5
  %1101 = add nsw i32 %1100, 1
  store i32 %1101, ptr @test_count, align 4, !tbaa !5
  %1102 = call ptr @s2n_connection_new(i32 noundef 1) #9
  %1103 = icmp eq ptr %1102, null
  br i1 %1103, label %1104, label %1126

1104:                                             ; preds = %1099
  %1105 = load i32, ptr %191, align 4, !tbaa !5
  %1106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1107 = call i32 @s2n_print_stacktrace(ptr noundef %1106) #9
  %1108 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1109 = trunc nuw i8 %1108 to i1
  br i1 %1109, label %1110, label %1114

1110:                                             ; preds = %1104
  %1111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1112 = call i32 @fileno(ptr noundef %1111) #9
  %1113 = call i32 @isatty(i32 noundef %1112) #9
  %.not516 = icmp eq i32 %1113, 0
  br i1 %.not516, label %1114, label %1115

1114:                                             ; preds = %1110, %1104
  br label %1115

1115:                                             ; preds = %1110, %1114
  %.str.5.sink902 = phi ptr [ @.str.5, %1114 ], [ @.str.2, %1110 ]
  store i32 %1105, ptr %191, align 4, !tbaa !5
  %1116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1117 = load i32, ptr @test_count, align 4, !tbaa !5
  %1118 = load i32, ptr %137, align 4, !tbaa !5
  %1119 = call ptr @s2n_strerror(i32 noundef %1118, ptr noundef nonnull @.str.4) #9
  %1120 = load i32, ptr %137, align 4, !tbaa !5
  %1121 = call ptr @s2n_strerror_debug(i32 noundef %1120, ptr noundef nonnull @.str.4) #9
  %1122 = load i32, ptr %191, align 4, !tbaa !5
  %1123 = call ptr @strerror(i32 noundef %1122) #9
  %1124 = load i32, ptr %191, align 4, !tbaa !5
  %1125 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1116, ptr noundef nonnull %.str.5.sink902, i32 noundef %1117, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 125, ptr noundef %1119, ptr noundef %1121, ptr noundef %1123, i32 noundef %1124) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1126:                                             ; preds = %1099
  %1127 = load i32, ptr @test_count, align 4, !tbaa !5
  %1128 = add nsw i32 %1127, 1
  store i32 %1128, ptr @test_count, align 4, !tbaa !5
  %1129 = getelementptr inbounds i8, ptr %1102, i64 2008
  %1130 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %1129) #9
  br i1 %1130, label %1131, label %1153

1131:                                             ; preds = %1126
  %1132 = load i32, ptr %191, align 4, !tbaa !5
  %1133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1134 = call i32 @s2n_print_stacktrace(ptr noundef %1133) #9
  %1135 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1136 = trunc nuw i8 %1135 to i1
  br i1 %1136, label %1137, label %1141

1137:                                             ; preds = %1131
  %1138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1139 = call i32 @fileno(ptr noundef %1138) #9
  %1140 = call i32 @isatty(i32 noundef %1139) #9
  %.not515 = icmp eq i32 %1140, 0
  br i1 %.not515, label %1141, label %1142

1141:                                             ; preds = %1137, %1131
  br label %1142

1142:                                             ; preds = %1137, %1141
  %.str.5.sink911 = phi ptr [ @.str.5, %1141 ], [ @.str.2, %1137 ]
  store i32 %1132, ptr %191, align 4, !tbaa !5
  %1143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1144 = load i32, ptr @test_count, align 4, !tbaa !5
  %1145 = load i32, ptr %137, align 4, !tbaa !5
  %1146 = call ptr @s2n_strerror(i32 noundef %1145, ptr noundef nonnull @.str.4) #9
  %1147 = load i32, ptr %137, align 4, !tbaa !5
  %1148 = call ptr @s2n_strerror_debug(i32 noundef %1147, ptr noundef nonnull @.str.4) #9
  %1149 = load i32, ptr %191, align 4, !tbaa !5
  %1150 = call ptr @strerror(i32 noundef %1149) #9
  %1151 = load i32, ptr %191, align 4, !tbaa !5
  %1152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1143, ptr noundef nonnull %.str.5.sink911, i32 noundef %1144, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 128, ptr noundef %1146, ptr noundef %1148, ptr noundef %1150, i32 noundef %1151) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1153:                                             ; preds = %1126
  %1154 = load i32, ptr @test_count, align 4, !tbaa !5
  %1155 = add nsw i32 %1154, 1
  store i32 %1155, ptr @test_count, align 4, !tbaa !5
  %1156 = getelementptr inbounds i8, ptr %1102, i64 1856
  %1157 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %1156, ptr noundef nonnull %4, i32 noundef 2) #9
  %1158 = icmp eq i32 %1157, -1
  br i1 %1158, label %1159, label %1181

1159:                                             ; preds = %1153
  %1160 = load i32, ptr %191, align 4, !tbaa !5
  %1161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1162 = call i32 @s2n_print_stacktrace(ptr noundef %1161) #9
  %1163 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1164 = trunc nuw i8 %1163 to i1
  br i1 %1164, label %1165, label %1169

1165:                                             ; preds = %1159
  %1166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1167 = call i32 @fileno(ptr noundef %1166) #9
  %1168 = call i32 @isatty(i32 noundef %1167) #9
  %.not514 = icmp eq i32 %1168, 0
  br i1 %.not514, label %1169, label %1170

1169:                                             ; preds = %1165, %1159
  br label %1170

1170:                                             ; preds = %1165, %1169
  %.str.5.sink920 = phi ptr [ @.str.5, %1169 ], [ @.str.2, %1165 ]
  store i32 %1160, ptr %191, align 4, !tbaa !5
  %1171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1172 = load i32, ptr @test_count, align 4, !tbaa !5
  %1173 = load i32, ptr %137, align 4, !tbaa !5
  %1174 = call ptr @s2n_strerror(i32 noundef %1173, ptr noundef nonnull @.str.4) #9
  %1175 = load i32, ptr %137, align 4, !tbaa !5
  %1176 = call ptr @s2n_strerror_debug(i32 noundef %1175, ptr noundef nonnull @.str.4) #9
  %1177 = load i32, ptr %191, align 4, !tbaa !5
  %1178 = call ptr @strerror(i32 noundef %1177) #9
  %1179 = load i32, ptr %191, align 4, !tbaa !5
  %1180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1171, ptr noundef nonnull %.str.5.sink920, i32 noundef %1172, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 131, ptr noundef %1174, ptr noundef %1176, ptr noundef %1178, i32 noundef %1179) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1181:                                             ; preds = %1153
  %1182 = load i32, ptr @test_count, align 4, !tbaa !5
  %1183 = add nsw i32 %1182, 1
  store i32 %1183, ptr @test_count, align 4, !tbaa !5
  %1184 = call i32 @s2n_process_alert_fragment(ptr noundef nonnull %1102) #9
  %1185 = icmp eq i32 %1184, -1
  br i1 %1185, label %1186, label %1208

1186:                                             ; preds = %1181
  %1187 = load i32, ptr %191, align 4, !tbaa !5
  %1188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1189 = call i32 @s2n_print_stacktrace(ptr noundef %1188) #9
  %1190 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1191 = trunc nuw i8 %1190 to i1
  br i1 %1191, label %1192, label %1196

1192:                                             ; preds = %1186
  %1193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1194 = call i32 @fileno(ptr noundef %1193) #9
  %1195 = call i32 @isatty(i32 noundef %1194) #9
  %.not513 = icmp eq i32 %1195, 0
  br i1 %.not513, label %1196, label %1197

1196:                                             ; preds = %1192, %1186
  br label %1197

1197:                                             ; preds = %1192, %1196
  %.str.5.sink929 = phi ptr [ @.str.5, %1196 ], [ @.str.2, %1192 ]
  store i32 %1187, ptr %191, align 4, !tbaa !5
  %1198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1199 = load i32, ptr @test_count, align 4, !tbaa !5
  %1200 = load i32, ptr %137, align 4, !tbaa !5
  %1201 = call ptr @s2n_strerror(i32 noundef %1200, ptr noundef nonnull @.str.4) #9
  %1202 = load i32, ptr %137, align 4, !tbaa !5
  %1203 = call ptr @s2n_strerror_debug(i32 noundef %1202, ptr noundef nonnull @.str.4) #9
  %1204 = load i32, ptr %191, align 4, !tbaa !5
  %1205 = call ptr @strerror(i32 noundef %1204) #9
  %1206 = load i32, ptr %191, align 4, !tbaa !5
  %1207 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1198, ptr noundef nonnull %.str.5.sink929, i32 noundef %1199, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 132, ptr noundef %1201, ptr noundef %1203, ptr noundef %1205, i32 noundef %1206) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1208:                                             ; preds = %1181
  %1209 = load i32, ptr @test_count, align 4, !tbaa !5
  %1210 = add nsw i32 %1209, 1
  store i32 %1210, ptr @test_count, align 4, !tbaa !5
  %1211 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %1129) #9
  br i1 %1211, label %1234, label %1212

1212:                                             ; preds = %1208
  %1213 = load i32, ptr %191, align 4, !tbaa !5
  %1214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1215 = call i32 @s2n_print_stacktrace(ptr noundef %1214) #9
  %1216 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1217 = trunc nuw i8 %1216 to i1
  br i1 %1217, label %1218, label %1222

1218:                                             ; preds = %1212
  %1219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1220 = call i32 @fileno(ptr noundef %1219) #9
  %1221 = call i32 @isatty(i32 noundef %1220) #9
  %.not406 = icmp eq i32 %1221, 0
  br i1 %.not406, label %1222, label %1223

1222:                                             ; preds = %1218, %1212
  br label %1223

1223:                                             ; preds = %1218, %1222
  %.str.5.sink938 = phi ptr [ @.str.5, %1222 ], [ @.str.2, %1218 ]
  store i32 %1213, ptr %191, align 4, !tbaa !5
  %1224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1225 = load i32, ptr @test_count, align 4, !tbaa !5
  %1226 = load i32, ptr %137, align 4, !tbaa !5
  %1227 = call ptr @s2n_strerror(i32 noundef %1226, ptr noundef nonnull @.str.4) #9
  %1228 = load i32, ptr %137, align 4, !tbaa !5
  %1229 = call ptr @s2n_strerror_debug(i32 noundef %1228, ptr noundef nonnull @.str.4) #9
  %1230 = load i32, ptr %191, align 4, !tbaa !5
  %1231 = call ptr @strerror(i32 noundef %1230) #9
  %1232 = load i32, ptr %191, align 4, !tbaa !5
  %1233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1224, ptr noundef nonnull %.str.5.sink938, i32 noundef %1225, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 135, ptr noundef %1227, ptr noundef %1229, ptr noundef %1231, i32 noundef %1232) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1234:                                             ; preds = %1208
  %1235 = load i32, ptr @test_count, align 4, !tbaa !5
  %1236 = add nsw i32 %1235, 1
  store i32 %1236, ptr @test_count, align 4, !tbaa !5
  %1237 = call i32 @s2n_connection_free(ptr noundef nonnull %1102) #9
  %1238 = icmp eq i32 %1237, -1
  br i1 %1238, label %1239, label %1261

1239:                                             ; preds = %1234
  %1240 = load i32, ptr %191, align 4, !tbaa !5
  %1241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1242 = call i32 @s2n_print_stacktrace(ptr noundef %1241) #9
  %1243 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1244 = trunc nuw i8 %1243 to i1
  br i1 %1244, label %1245, label %1249

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

1249:                                             ; preds = %1245, %1239
  br label %1250

1250:                                             ; preds = %1245, %1249
  %.str.5.sink947 = phi ptr [ @.str.5, %1249 ], [ @.str.2, %1245 ]
  store i32 %1240, ptr %191, align 4, !tbaa !5
  %1251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1252 = load i32, ptr @test_count, align 4, !tbaa !5
  %1253 = load i32, ptr %137, align 4, !tbaa !5
  %1254 = call ptr @s2n_strerror(i32 noundef %1253, ptr noundef nonnull @.str.4) #9
  %1255 = load i32, ptr %137, align 4, !tbaa !5
  %1256 = call ptr @s2n_strerror_debug(i32 noundef %1255, ptr noundef nonnull @.str.4) #9
  %1257 = load i32, ptr %191, align 4, !tbaa !5
  %1258 = call ptr @strerror(i32 noundef %1257) #9
  %1259 = load i32, ptr %191, align 4, !tbaa !5
  %1260 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1251, ptr noundef nonnull %.str.5.sink947, i32 noundef %1252, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 137, ptr noundef %1254, ptr noundef %1256, ptr noundef %1258, i32 noundef %1259) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1261:                                             ; preds = %1234
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %5) #9
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %4) #9
  %1262 = load i32, ptr @test_count, align 4, !tbaa !5
  %1263 = add nsw i32 %1262, 1
  store i32 %1263, ptr @test_count, align 4, !tbaa !5
  %1264 = call i32 @s2n_process_alert_fragment(ptr noundef null) #9
  %1265 = icmp eq i32 %1264, -1
  br i1 %1265, label %1288, label %1266

1266:                                             ; preds = %1261
  %1267 = load i32, ptr %191, align 4, !tbaa !5
  %1268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1269 = call i32 @s2n_print_stacktrace(ptr noundef %1268) #9
  %1270 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1271 = trunc nuw i8 %1270 to i1
  br i1 %1271, label %1272, label %1276

1272:                                             ; preds = %1266
  %1273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1274 = call i32 @fileno(ptr noundef %1273) #9
  %1275 = call i32 @isatty(i32 noundef %1274) #9
  %.not407 = icmp eq i32 %1275, 0
  br i1 %.not407, label %1276, label %1277

1276:                                             ; preds = %1272, %1266
  br label %1277

1277:                                             ; preds = %1272, %1276
  %.str.5.sink956 = phi ptr [ @.str.5, %1276 ], [ @.str.2, %1272 ]
  store i32 %1267, ptr %191, align 4, !tbaa !5
  %1278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1279 = load i32, ptr @test_count, align 4, !tbaa !5
  %1280 = load i32, ptr %137, align 4, !tbaa !5
  %1281 = call ptr @s2n_strerror(i32 noundef %1280, ptr noundef nonnull @.str.4) #9
  %1282 = load i32, ptr %137, align 4, !tbaa !5
  %1283 = call ptr @s2n_strerror_debug(i32 noundef %1282, ptr noundef nonnull @.str.4) #9
  %1284 = load i32, ptr %191, align 4, !tbaa !5
  %1285 = call ptr @strerror(i32 noundef %1284) #9
  %1286 = load i32, ptr %191, align 4, !tbaa !5
  %1287 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1278, ptr noundef nonnull %.str.5.sink956, i32 noundef %1279, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 144, ptr noundef %1281, ptr noundef %1283, ptr noundef %1285, i32 noundef %1286) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1288:                                             ; preds = %1261
  %1289 = load i32, ptr @test_count, align 4, !tbaa !5
  %1290 = add nsw i32 %1289, 1
  store i32 %1290, ptr @test_count, align 4, !tbaa !5
  %1291 = load i32, ptr %137, align 4, !tbaa !5
  %1292 = icmp eq i32 %1291, 402653193
  br i1 %1292, label %1315, label %1293

1293:                                             ; preds = %1288
  %1294 = load i32, ptr %191, align 4, !tbaa !5
  %1295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1296 = call i32 @s2n_print_stacktrace(ptr noundef %1295) #9
  %1297 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1298 = trunc nuw i8 %1297 to i1
  br i1 %1298, label %1299, label %1303

1299:                                             ; preds = %1293
  %1300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1301 = call i32 @fileno(ptr noundef %1300) #9
  %1302 = call i32 @isatty(i32 noundef %1301) #9
  %.not408 = icmp eq i32 %1302, 0
  br i1 %.not408, label %1303, label %1304

1303:                                             ; preds = %1299, %1293
  br label %1304

1304:                                             ; preds = %1299, %1303
  %.str.5.sink965 = phi ptr [ @.str.5, %1303 ], [ @.str.2, %1299 ]
  store i32 %1294, ptr %191, align 4, !tbaa !5
  %1305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1306 = load i32, ptr @test_count, align 4, !tbaa !5
  %1307 = load i32, ptr %137, align 4, !tbaa !5
  %1308 = call ptr @s2n_strerror(i32 noundef %1307, ptr noundef nonnull @.str.4) #9
  %1309 = load i32, ptr %137, align 4, !tbaa !5
  %1310 = call ptr @s2n_strerror_debug(i32 noundef %1309, ptr noundef nonnull @.str.4) #9
  %1311 = load i32, ptr %191, align 4, !tbaa !5
  %1312 = call ptr @strerror(i32 noundef %1311) #9
  %1313 = load i32, ptr %191, align 4, !tbaa !5
  %1314 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1305, ptr noundef nonnull %.str.5.sink965, i32 noundef %1306, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 144, ptr noundef %1308, ptr noundef %1310, ptr noundef %1312, i32 noundef %1313) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1315:                                             ; preds = %1288
  %1316 = add nsw i32 %1289, 2
  store i32 %1316, ptr @test_count, align 4, !tbaa !5
  %1317 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #9
  %1318 = icmp eq ptr %1317, null
  br i1 %1318, label %1319, label %1341

1319:                                             ; preds = %1315
  %1320 = load i32, ptr %191, align 4, !tbaa !5
  %1321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1322 = call i32 @s2n_print_stacktrace(ptr noundef %1321) #9
  %1323 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1324 = trunc nuw i8 %1323 to i1
  br i1 %1324, label %1325, label %1329

1325:                                             ; preds = %1319
  %1326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1327 = call i32 @fileno(ptr noundef %1326) #9
  %1328 = call i32 @isatty(i32 noundef %1327) #9
  %.not511 = icmp eq i32 %1328, 0
  br i1 %.not511, label %1329, label %1330

1329:                                             ; preds = %1325, %1319
  br label %1330

1330:                                             ; preds = %1325, %1329
  %.str.5.sink974 = phi ptr [ @.str.5, %1329 ], [ @.str.2, %1325 ]
  store i32 %1320, ptr %191, align 4, !tbaa !5
  %1331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1332 = load i32, ptr @test_count, align 4, !tbaa !5
  %1333 = load i32, ptr %137, align 4, !tbaa !5
  %1334 = call ptr @s2n_strerror(i32 noundef %1333, ptr noundef nonnull @.str.4) #9
  %1335 = load i32, ptr %137, align 4, !tbaa !5
  %1336 = call ptr @s2n_strerror_debug(i32 noundef %1335, ptr noundef nonnull @.str.4) #9
  %1337 = load i32, ptr %191, align 4, !tbaa !5
  %1338 = call ptr @strerror(i32 noundef %1337) #9
  %1339 = load i32, ptr %191, align 4, !tbaa !5
  %1340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1331, ptr noundef nonnull %.str.5.sink974, i32 noundef %1332, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 144, ptr noundef %1334, ptr noundef %1336, ptr noundef %1338, i32 noundef %1339) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1341:                                             ; preds = %1315
  store i32 0, ptr %137, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %191, align 4, !tbaa !5
  %1342 = call zeroext i1 (...) @s2n_is_tls13_fully_supported() #9
  br i1 %1342, label %1343, label %1695

1343:                                             ; preds = %1341
  %1344 = load i32, ptr @test_count, align 4, !tbaa !5
  %1345 = add nsw i32 %1344, 1
  store i32 %1345, ptr @test_count, align 4, !tbaa !5
  %1346 = call ptr @s2n_config_new() #9
  %1347 = icmp eq ptr %1346, null
  br i1 %1347, label %1348, label %1370

1348:                                             ; preds = %1343
  %1349 = load i32, ptr %191, align 4, !tbaa !5
  %1350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1351 = call i32 @s2n_print_stacktrace(ptr noundef %1350) #9
  %1352 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1353 = trunc nuw i8 %1352 to i1
  br i1 %1353, label %1354, label %1358

1354:                                             ; preds = %1348
  %1355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1356 = call i32 @fileno(ptr noundef %1355) #9
  %1357 = call i32 @isatty(i32 noundef %1356) #9
  %.not510 = icmp eq i32 %1357, 0
  br i1 %.not510, label %1358, label %1359

1358:                                             ; preds = %1354, %1348
  br label %1359

1359:                                             ; preds = %1354, %1358
  %.str.5.sink983 = phi ptr [ @.str.5, %1358 ], [ @.str.2, %1354 ]
  store i32 %1349, ptr %191, align 4, !tbaa !5
  %1360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1361 = load i32, ptr @test_count, align 4, !tbaa !5
  %1362 = load i32, ptr %137, align 4, !tbaa !5
  %1363 = call ptr @s2n_strerror(i32 noundef %1362, ptr noundef nonnull @.str.4) #9
  %1364 = load i32, ptr %137, align 4, !tbaa !5
  %1365 = call ptr @s2n_strerror_debug(i32 noundef %1364, ptr noundef nonnull @.str.4) #9
  %1366 = load i32, ptr %191, align 4, !tbaa !5
  %1367 = call ptr @strerror(i32 noundef %1366) #9
  %1368 = load i32, ptr %191, align 4, !tbaa !5
  %1369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1360, ptr noundef nonnull %.str.5.sink983, i32 noundef %1361, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 149, ptr noundef %1363, ptr noundef %1365, ptr noundef %1367, i32 noundef %1368) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1370:                                             ; preds = %1343
  %1371 = load i32, ptr @test_count, align 4, !tbaa !5
  %1372 = add nsw i32 %1371, 1
  store i32 %1372, ptr @test_count, align 4, !tbaa !5
  %1373 = call ptr @s2n_connection_new(i32 noundef 1) #9
  %1374 = icmp eq ptr %1373, null
  br i1 %1374, label %1375, label %1397

1375:                                             ; preds = %1370
  %1376 = load i32, ptr %191, align 4, !tbaa !5
  %1377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1378 = call i32 @s2n_print_stacktrace(ptr noundef %1377) #9
  %1379 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1380 = trunc nuw i8 %1379 to i1
  br i1 %1380, label %1381, label %1385

1381:                                             ; preds = %1375
  %1382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1383 = call i32 @fileno(ptr noundef %1382) #9
  %1384 = call i32 @isatty(i32 noundef %1383) #9
  %.not509 = icmp eq i32 %1384, 0
  br i1 %.not509, label %1385, label %1386

1385:                                             ; preds = %1381, %1375
  br label %1386

1386:                                             ; preds = %1381, %1385
  %.str.5.sink992 = phi ptr [ @.str.5, %1385 ], [ @.str.2, %1381 ]
  store i32 %1376, ptr %191, align 4, !tbaa !5
  %1387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1388 = load i32, ptr @test_count, align 4, !tbaa !5
  %1389 = load i32, ptr %137, align 4, !tbaa !5
  %1390 = call ptr @s2n_strerror(i32 noundef %1389, ptr noundef nonnull @.str.4) #9
  %1391 = load i32, ptr %137, align 4, !tbaa !5
  %1392 = call ptr @s2n_strerror_debug(i32 noundef %1391, ptr noundef nonnull @.str.4) #9
  %1393 = load i32, ptr %191, align 4, !tbaa !5
  %1394 = call ptr @strerror(i32 noundef %1393) #9
  %1395 = load i32, ptr %191, align 4, !tbaa !5
  %1396 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1387, ptr noundef nonnull %.str.5.sink992, i32 noundef %1388, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 152, ptr noundef %1390, ptr noundef %1392, ptr noundef %1394, i32 noundef %1395) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1397:                                             ; preds = %1370
  %1398 = load i32, ptr @test_count, align 4, !tbaa !5
  %1399 = add nsw i32 %1398, 1
  store i32 %1399, ptr @test_count, align 4, !tbaa !5
  %1400 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1373, ptr noundef nonnull %1346) #9
  %1401 = icmp eq i32 %1400, -1
  br i1 %1401, label %1402, label %1424

1402:                                             ; preds = %1397
  %1403 = load i32, ptr %191, align 4, !tbaa !5
  %1404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1405 = call i32 @s2n_print_stacktrace(ptr noundef %1404) #9
  %1406 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1407 = trunc nuw i8 %1406 to i1
  br i1 %1407, label %1408, label %1412

1408:                                             ; preds = %1402
  %1409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1410 = call i32 @fileno(ptr noundef %1409) #9
  %1411 = call i32 @isatty(i32 noundef %1410) #9
  %.not508 = icmp eq i32 %1411, 0
  br i1 %.not508, label %1412, label %1413

1412:                                             ; preds = %1408, %1402
  br label %1413

1413:                                             ; preds = %1408, %1412
  %.str.5.sink1001 = phi ptr [ @.str.5, %1412 ], [ @.str.2, %1408 ]
  store i32 %1403, ptr %191, align 4, !tbaa !5
  %1414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1415 = load i32, ptr @test_count, align 4, !tbaa !5
  %1416 = load i32, ptr %137, align 4, !tbaa !5
  %1417 = call ptr @s2n_strerror(i32 noundef %1416, ptr noundef nonnull @.str.4) #9
  %1418 = load i32, ptr %137, align 4, !tbaa !5
  %1419 = call ptr @s2n_strerror_debug(i32 noundef %1418, ptr noundef nonnull @.str.4) #9
  %1420 = load i32, ptr %191, align 4, !tbaa !5
  %1421 = call ptr @strerror(i32 noundef %1420) #9
  %1422 = load i32, ptr %191, align 4, !tbaa !5
  %1423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1414, ptr noundef nonnull %.str.5.sink1001, i32 noundef %1415, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 153, ptr noundef %1417, ptr noundef %1419, ptr noundef %1421, i32 noundef %1422) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1424:                                             ; preds = %1397
  %1425 = load i32, ptr @test_count, align 4, !tbaa !5
  %1426 = add nsw i32 %1425, 1
  store i32 %1426, ptr @test_count, align 4, !tbaa !5
  %1427 = getelementptr inbounds i8, ptr %1373, i64 1856
  %1428 = call i32 @s2n_stuffer_write_uint16(ptr noundef nonnull %1427, i16 noundef zeroext 0) #9
  %1429 = icmp eq i32 %1428, -1
  br i1 %1429, label %1430, label %1452

1430:                                             ; preds = %1424
  %1431 = load i32, ptr %191, align 4, !tbaa !5
  %1432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1433 = call i32 @s2n_print_stacktrace(ptr noundef %1432) #9
  %1434 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1435 = trunc nuw i8 %1434 to i1
  br i1 %1435, label %1436, label %1440

1436:                                             ; preds = %1430
  %1437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1438 = call i32 @fileno(ptr noundef %1437) #9
  %1439 = call i32 @isatty(i32 noundef %1438) #9
  %.not507 = icmp eq i32 %1439, 0
  br i1 %.not507, label %1440, label %1441

1440:                                             ; preds = %1436, %1430
  br label %1441

1441:                                             ; preds = %1436, %1440
  %.str.5.sink1010 = phi ptr [ @.str.5, %1440 ], [ @.str.2, %1436 ]
  store i32 %1431, ptr %191, align 4, !tbaa !5
  %1442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1443 = load i32, ptr @test_count, align 4, !tbaa !5
  %1444 = load i32, ptr %137, align 4, !tbaa !5
  %1445 = call ptr @s2n_strerror(i32 noundef %1444, ptr noundef nonnull @.str.4) #9
  %1446 = load i32, ptr %137, align 4, !tbaa !5
  %1447 = call ptr @s2n_strerror_debug(i32 noundef %1446, ptr noundef nonnull @.str.4) #9
  %1448 = load i32, ptr %191, align 4, !tbaa !5
  %1449 = call ptr @strerror(i32 noundef %1448) #9
  %1450 = load i32, ptr %191, align 4, !tbaa !5
  %1451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1442, ptr noundef nonnull %.str.5.sink1010, i32 noundef %1443, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 156, ptr noundef %1445, ptr noundef %1447, ptr noundef %1449, i32 noundef %1450) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1452:                                             ; preds = %1424
  %1453 = load i32, ptr @test_count, align 4, !tbaa !5
  %1454 = add nsw i32 %1453, 1
  store i32 %1454, ptr @test_count, align 4, !tbaa !5
  %1455 = call i32 @s2n_process_alert_fragment(ptr noundef nonnull %1373) #9
  %1456 = icmp eq i32 %1455, -1
  br i1 %1456, label %1457, label %1479

1457:                                             ; preds = %1452
  %1458 = load i32, ptr %191, align 4, !tbaa !5
  %1459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1460 = call i32 @s2n_print_stacktrace(ptr noundef %1459) #9
  %1461 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1462 = trunc nuw i8 %1461 to i1
  br i1 %1462, label %1463, label %1467

1463:                                             ; preds = %1457
  %1464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1465 = call i32 @fileno(ptr noundef %1464) #9
  %1466 = call i32 @isatty(i32 noundef %1465) #9
  %.not506 = icmp eq i32 %1466, 0
  br i1 %.not506, label %1467, label %1468

1467:                                             ; preds = %1463, %1457
  br label %1468

1468:                                             ; preds = %1463, %1467
  %.str.5.sink1019 = phi ptr [ @.str.5, %1467 ], [ @.str.2, %1463 ]
  store i32 %1458, ptr %191, align 4, !tbaa !5
  %1469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1470 = load i32, ptr @test_count, align 4, !tbaa !5
  %1471 = load i32, ptr %137, align 4, !tbaa !5
  %1472 = call ptr @s2n_strerror(i32 noundef %1471, ptr noundef nonnull @.str.4) #9
  %1473 = load i32, ptr %137, align 4, !tbaa !5
  %1474 = call ptr @s2n_strerror_debug(i32 noundef %1473, ptr noundef nonnull @.str.4) #9
  %1475 = load i32, ptr %191, align 4, !tbaa !5
  %1476 = call ptr @strerror(i32 noundef %1475) #9
  %1477 = load i32, ptr %191, align 4, !tbaa !5
  %1478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1469, ptr noundef nonnull %.str.5.sink1019, i32 noundef %1470, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 157, ptr noundef %1472, ptr noundef %1474, ptr noundef %1476, i32 noundef %1477) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1479:                                             ; preds = %1452
  %1480 = load i32, ptr @test_count, align 4, !tbaa !5
  %1481 = add nsw i32 %1480, 1
  store i32 %1481, ptr @test_count, align 4, !tbaa !5
  %1482 = getelementptr inbounds i8, ptr %1373, i64 1960
  %1483 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %1482) #9
  %1484 = icmp eq i32 %1483, -1
  br i1 %1484, label %1485, label %1507

1485:                                             ; preds = %1479
  %1486 = load i32, ptr %191, align 4, !tbaa !5
  %1487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1488 = call i32 @s2n_print_stacktrace(ptr noundef %1487) #9
  %1489 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1490 = trunc nuw i8 %1489 to i1
  br i1 %1490, label %1491, label %1495

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

1495:                                             ; preds = %1491, %1485
  br label %1496

1496:                                             ; preds = %1491, %1495
  %.str.5.sink1028 = phi ptr [ @.str.5, %1495 ], [ @.str.2, %1491 ]
  store i32 %1486, ptr %191, align 4, !tbaa !5
  %1497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1498 = load i32, ptr @test_count, align 4, !tbaa !5
  %1499 = load i32, ptr %137, align 4, !tbaa !5
  %1500 = call ptr @s2n_strerror(i32 noundef %1499, ptr noundef nonnull @.str.4) #9
  %1501 = load i32, ptr %137, align 4, !tbaa !5
  %1502 = call ptr @s2n_strerror_debug(i32 noundef %1501, ptr noundef nonnull @.str.4) #9
  %1503 = load i32, ptr %191, align 4, !tbaa !5
  %1504 = call ptr @strerror(i32 noundef %1503) #9
  %1505 = load i32, ptr %191, align 4, !tbaa !5
  %1506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1497, ptr noundef nonnull %.str.5.sink1028, i32 noundef %1498, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 160, ptr noundef %1500, ptr noundef %1502, ptr noundef %1504, i32 noundef %1505) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1507:                                             ; preds = %1479
  %1508 = load i32, ptr @test_count, align 4, !tbaa !5
  %1509 = add nsw i32 %1508, 1
  store i32 %1509, ptr @test_count, align 4, !tbaa !5
  %1510 = call i32 @s2n_config_enable_quic(ptr noundef nonnull %1346) #9
  %1511 = icmp eq i32 %1510, -1
  br i1 %1511, label %1512, label %1534

1512:                                             ; preds = %1507
  %1513 = load i32, ptr %191, align 4, !tbaa !5
  %1514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1515 = call i32 @s2n_print_stacktrace(ptr noundef %1514) #9
  %1516 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1517 = trunc nuw i8 %1516 to i1
  br i1 %1517, label %1518, label %1522

1518:                                             ; preds = %1512
  %1519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1520 = call i32 @fileno(ptr noundef %1519) #9
  %1521 = call i32 @isatty(i32 noundef %1520) #9
  %.not504 = icmp eq i32 %1521, 0
  br i1 %.not504, label %1522, label %1523

1522:                                             ; preds = %1518, %1512
  br label %1523

1523:                                             ; preds = %1518, %1522
  %.str.5.sink1037 = phi ptr [ @.str.5, %1522 ], [ @.str.2, %1518 ]
  store i32 %1513, ptr %191, align 4, !tbaa !5
  %1524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1525 = load i32, ptr @test_count, align 4, !tbaa !5
  %1526 = load i32, ptr %137, align 4, !tbaa !5
  %1527 = call ptr @s2n_strerror(i32 noundef %1526, ptr noundef nonnull @.str.4) #9
  %1528 = load i32, ptr %137, align 4, !tbaa !5
  %1529 = call ptr @s2n_strerror_debug(i32 noundef %1528, ptr noundef nonnull @.str.4) #9
  %1530 = load i32, ptr %191, align 4, !tbaa !5
  %1531 = call ptr @strerror(i32 noundef %1530) #9
  %1532 = load i32, ptr %191, align 4, !tbaa !5
  %1533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1524, ptr noundef nonnull %.str.5.sink1037, i32 noundef %1525, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 163, ptr noundef %1527, ptr noundef %1529, ptr noundef %1531, i32 noundef %1532) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1534:                                             ; preds = %1507
  %1535 = load i32, ptr @test_count, align 4, !tbaa !5
  %1536 = add nsw i32 %1535, 1
  store i32 %1536, ptr @test_count, align 4, !tbaa !5
  %1537 = call i32 @s2n_stuffer_write_uint16(ptr noundef nonnull %1427, i16 noundef zeroext 0) #9
  %1538 = icmp eq i32 %1537, -1
  br i1 %1538, label %1539, label %1561

1539:                                             ; preds = %1534
  %1540 = load i32, ptr %191, align 4, !tbaa !5
  %1541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1542 = call i32 @s2n_print_stacktrace(ptr noundef %1541) #9
  %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 = %1539
  %1546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1547 = call i32 @fileno(ptr noundef %1546) #9
  %1548 = call i32 @isatty(i32 noundef %1547) #9
  %.not503 = icmp eq i32 %1548, 0
  br i1 %.not503, label %1549, label %1550

1549:                                             ; preds = %1545, %1539
  br label %1550

1550:                                             ; preds = %1545, %1549
  %.str.5.sink1046 = phi ptr [ @.str.5, %1549 ], [ @.str.2, %1545 ]
  store i32 %1540, ptr %191, align 4, !tbaa !5
  %1551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1552 = load i32, ptr @test_count, align 4, !tbaa !5
  %1553 = load i32, ptr %137, align 4, !tbaa !5
  %1554 = call ptr @s2n_strerror(i32 noundef %1553, ptr noundef nonnull @.str.4) #9
  %1555 = load i32, ptr %137, align 4, !tbaa !5
  %1556 = call ptr @s2n_strerror_debug(i32 noundef %1555, ptr noundef nonnull @.str.4) #9
  %1557 = load i32, ptr %191, align 4, !tbaa !5
  %1558 = call ptr @strerror(i32 noundef %1557) #9
  %1559 = load i32, ptr %191, align 4, !tbaa !5
  %1560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1551, ptr noundef nonnull %.str.5.sink1046, i32 noundef %1552, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 164, ptr noundef %1554, ptr noundef %1556, ptr noundef %1558, i32 noundef %1559) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1561:                                             ; preds = %1534
  %1562 = load i32, ptr @test_count, align 4, !tbaa !5
  %1563 = add nsw i32 %1562, 1
  store i32 %1563, ptr @test_count, align 4, !tbaa !5
  %1564 = call i32 @s2n_process_alert_fragment(ptr noundef nonnull %1373) #9
  %1565 = icmp eq i32 %1564, -1
  br i1 %1565, label %1588, label %1566

1566:                                             ; preds = %1561
  %1567 = load i32, ptr %191, align 4, !tbaa !5
  %1568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1569 = call i32 @s2n_print_stacktrace(ptr noundef %1568) #9
  %1570 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1571 = trunc nuw i8 %1570 to i1
  br i1 %1571, label %1572, label %1576

1572:                                             ; preds = %1566
  %1573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1574 = call i32 @fileno(ptr noundef %1573) #9
  %1575 = call i32 @isatty(i32 noundef %1574) #9
  %.not409 = icmp eq i32 %1575, 0
  br i1 %.not409, label %1576, label %1577

1576:                                             ; preds = %1572, %1566
  br label %1577

1577:                                             ; preds = %1572, %1576
  %.str.5.sink1055 = phi ptr [ @.str.5, %1576 ], [ @.str.2, %1572 ]
  store i32 %1567, ptr %191, align 4, !tbaa !5
  %1578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1579 = load i32, ptr @test_count, align 4, !tbaa !5
  %1580 = load i32, ptr %137, align 4, !tbaa !5
  %1581 = call ptr @s2n_strerror(i32 noundef %1580, ptr noundef nonnull @.str.4) #9
  %1582 = load i32, ptr %137, align 4, !tbaa !5
  %1583 = call ptr @s2n_strerror_debug(i32 noundef %1582, ptr noundef nonnull @.str.4) #9
  %1584 = load i32, ptr %191, align 4, !tbaa !5
  %1585 = call ptr @strerror(i32 noundef %1584) #9
  %1586 = load i32, ptr %191, align 4, !tbaa !5
  %1587 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1578, ptr noundef nonnull %.str.5.sink1055, i32 noundef %1579, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 165, ptr noundef %1581, ptr noundef %1583, ptr noundef %1585, i32 noundef %1586) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1588:                                             ; preds = %1561
  %1589 = load i32, ptr @test_count, align 4, !tbaa !5
  %1590 = add nsw i32 %1589, 1
  store i32 %1590, ptr @test_count, align 4, !tbaa !5
  %1591 = load i32, ptr %137, align 4, !tbaa !5
  %1592 = icmp eq i32 %1591, 335544322
  br i1 %1592, label %1615, label %1593

1593:                                             ; preds = %1588
  %1594 = load i32, ptr %191, align 4, !tbaa !5
  %1595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1596 = call i32 @s2n_print_stacktrace(ptr noundef %1595) #9
  %1597 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1598 = trunc nuw i8 %1597 to i1
  br i1 %1598, label %1599, label %1603

1599:                                             ; preds = %1593
  %1600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1601 = call i32 @fileno(ptr noundef %1600) #9
  %1602 = call i32 @isatty(i32 noundef %1601) #9
  %.not410 = icmp eq i32 %1602, 0
  br i1 %.not410, label %1603, label %1604

1603:                                             ; preds = %1599, %1593
  br label %1604

1604:                                             ; preds = %1599, %1603
  %.str.5.sink1064 = phi ptr [ @.str.5, %1603 ], [ @.str.2, %1599 ]
  store i32 %1594, ptr %191, align 4, !tbaa !5
  %1605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1606 = load i32, ptr @test_count, align 4, !tbaa !5
  %1607 = load i32, ptr %137, align 4, !tbaa !5
  %1608 = call ptr @s2n_strerror(i32 noundef %1607, ptr noundef nonnull @.str.4) #9
  %1609 = load i32, ptr %137, align 4, !tbaa !5
  %1610 = call ptr @s2n_strerror_debug(i32 noundef %1609, ptr noundef nonnull @.str.4) #9
  %1611 = load i32, ptr %191, align 4, !tbaa !5
  %1612 = call ptr @strerror(i32 noundef %1611) #9
  %1613 = load i32, ptr %191, align 4, !tbaa !5
  %1614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1605, ptr noundef nonnull %.str.5.sink1064, i32 noundef %1606, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 165, ptr noundef %1608, ptr noundef %1610, ptr noundef %1612, i32 noundef %1613) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1615:                                             ; preds = %1588
  %1616 = add nsw i32 %1589, 2
  store i32 %1616, ptr @test_count, align 4, !tbaa !5
  %1617 = call ptr @s2n_strerror_debug(i32 noundef 335544322, ptr noundef nonnull @.str.4) #9
  %1618 = icmp eq ptr %1617, null
  br i1 %1618, label %1619, label %1641

1619:                                             ; preds = %1615
  %1620 = load i32, ptr %191, align 4, !tbaa !5
  %1621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1622 = call i32 @s2n_print_stacktrace(ptr noundef %1621) #9
  %1623 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1624 = trunc nuw i8 %1623 to i1
  br i1 %1624, label %1625, label %1629

1625:                                             ; preds = %1619
  %1626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1627 = call i32 @fileno(ptr noundef %1626) #9
  %1628 = call i32 @isatty(i32 noundef %1627) #9
  %.not502 = icmp eq i32 %1628, 0
  br i1 %.not502, label %1629, label %1630

1629:                                             ; preds = %1625, %1619
  br label %1630

1630:                                             ; preds = %1625, %1629
  %.str.5.sink1073 = phi ptr [ @.str.5, %1629 ], [ @.str.2, %1625 ]
  store i32 %1620, ptr %191, align 4, !tbaa !5
  %1631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1632 = load i32, ptr @test_count, align 4, !tbaa !5
  %1633 = load i32, ptr %137, align 4, !tbaa !5
  %1634 = call ptr @s2n_strerror(i32 noundef %1633, ptr noundef nonnull @.str.4) #9
  %1635 = load i32, ptr %137, align 4, !tbaa !5
  %1636 = call ptr @s2n_strerror_debug(i32 noundef %1635, ptr noundef nonnull @.str.4) #9
  %1637 = load i32, ptr %191, align 4, !tbaa !5
  %1638 = call ptr @strerror(i32 noundef %1637) #9
  %1639 = load i32, ptr %191, align 4, !tbaa !5
  %1640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1631, ptr noundef nonnull %.str.5.sink1073, i32 noundef %1632, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 165, ptr noundef %1634, ptr noundef %1636, ptr noundef %1638, i32 noundef %1639) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1641:                                             ; preds = %1615
  store i32 0, ptr %137, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %191, align 4, !tbaa !5
  %1642 = load i32, ptr @test_count, align 4, !tbaa !5
  %1643 = add nsw i32 %1642, 1
  store i32 %1643, ptr @test_count, align 4, !tbaa !5
  %1644 = call i32 @s2n_connection_free(ptr noundef nonnull %1373) #9
  %1645 = icmp eq i32 %1644, -1
  br i1 %1645, label %1646, label %1668

1646:                                             ; preds = %1641
  %1647 = load i32, ptr %191, align 4, !tbaa !5
  %1648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1649 = call i32 @s2n_print_stacktrace(ptr noundef %1648) #9
  %1650 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1651 = trunc nuw i8 %1650 to i1
  br i1 %1651, label %1652, label %1656

1652:                                             ; preds = %1646
  %1653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1654 = call i32 @fileno(ptr noundef %1653) #9
  %1655 = call i32 @isatty(i32 noundef %1654) #9
  %.not501 = icmp eq i32 %1655, 0
  br i1 %.not501, label %1656, label %1657

1656:                                             ; preds = %1652, %1646
  br label %1657

1657:                                             ; preds = %1652, %1656
  %.str.5.sink1082 = phi ptr [ @.str.5, %1656 ], [ @.str.2, %1652 ]
  store i32 %1647, ptr %191, align 4, !tbaa !5
  %1658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1659 = load i32, ptr @test_count, align 4, !tbaa !5
  %1660 = load i32, ptr %137, align 4, !tbaa !5
  %1661 = call ptr @s2n_strerror(i32 noundef %1660, ptr noundef nonnull @.str.4) #9
  %1662 = load i32, ptr %137, align 4, !tbaa !5
  %1663 = call ptr @s2n_strerror_debug(i32 noundef %1662, ptr noundef nonnull @.str.4) #9
  %1664 = load i32, ptr %191, align 4, !tbaa !5
  %1665 = call ptr @strerror(i32 noundef %1664) #9
  %1666 = load i32, ptr %191, align 4, !tbaa !5
  %1667 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1658, ptr noundef nonnull %.str.5.sink1082, i32 noundef %1659, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 167, ptr noundef %1661, ptr noundef %1663, ptr noundef %1665, i32 noundef %1666) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1668:                                             ; preds = %1641
  %1669 = load i32, ptr @test_count, align 4, !tbaa !5
  %1670 = add nsw i32 %1669, 1
  store i32 %1670, ptr @test_count, align 4, !tbaa !5
  %1671 = call i32 @s2n_config_free(ptr noundef nonnull %1346) #9
  %1672 = icmp eq i32 %1671, -1
  br i1 %1672, label %1673, label %1695

1673:                                             ; preds = %1668
  %1674 = load i32, ptr %191, align 4, !tbaa !5
  %1675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1676 = call i32 @s2n_print_stacktrace(ptr noundef %1675) #9
  %1677 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1678 = trunc nuw i8 %1677 to i1
  br i1 %1678, label %1679, label %1683

1679:                                             ; preds = %1673
  %1680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1681 = call i32 @fileno(ptr noundef %1680) #9
  %1682 = call i32 @isatty(i32 noundef %1681) #9
  %.not500 = icmp eq i32 %1682, 0
  br i1 %.not500, label %1683, label %1684

1683:                                             ; preds = %1679, %1673
  br label %1684

1684:                                             ; preds = %1679, %1683
  %.str.5.sink1091 = phi ptr [ @.str.5, %1683 ], [ @.str.2, %1679 ]
  store i32 %1674, ptr %191, align 4, !tbaa !5
  %1685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1686 = load i32, ptr @test_count, align 4, !tbaa !5
  %1687 = load i32, ptr %137, align 4, !tbaa !5
  %1688 = call ptr @s2n_strerror(i32 noundef %1687, ptr noundef nonnull @.str.4) #9
  %1689 = load i32, ptr %137, align 4, !tbaa !5
  %1690 = call ptr @s2n_strerror_debug(i32 noundef %1689, ptr noundef nonnull @.str.4) #9
  %1691 = load i32, ptr %191, align 4, !tbaa !5
  %1692 = call ptr @strerror(i32 noundef %1691) #9
  %1693 = load i32, ptr %191, align 4, !tbaa !5
  %1694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1685, ptr noundef nonnull %.str.5.sink1091, i32 noundef %1686, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 168, ptr noundef %1688, ptr noundef %1690, ptr noundef %1692, i32 noundef %1693) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1695:                                             ; preds = %1668, %1341
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %6) #9
  %1696 = load i16, ptr @__const.main.warning_alert, align 1
  store i16 %1696, ptr %6, align 2
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %7) #9
  %1697 = load i16, ptr @__const.main.user_canceled_alert, align 1
  store i16 %1697, ptr %7, align 2
  %1698 = load i32, ptr @test_count, align 4, !tbaa !5
  %1699 = add nsw i32 %1698, 1
  store i32 %1699, ptr @test_count, align 4, !tbaa !5
  %1700 = call ptr @s2n_connection_new(i32 noundef 1) #9
  %1701 = icmp eq ptr %1700, null
  br i1 %1701, label %1702, label %1724

1702:                                             ; preds = %1695
  %1703 = load i32, ptr %191, align 4, !tbaa !5
  %1704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1705 = call i32 @s2n_print_stacktrace(ptr noundef %1704) #9
  %1706 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1707 = trunc nuw i8 %1706 to i1
  br i1 %1707, label %1708, label %1712

1708:                                             ; preds = %1702
  %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
  %.not499 = icmp eq i32 %1711, 0
  br i1 %.not499, label %1712, label %1713

1712:                                             ; preds = %1708, %1702
  br label %1713

1713:                                             ; preds = %1708, %1712
  %.str.5.sink1100 = phi ptr [ @.str.5, %1712 ], [ @.str.2, %1708 ]
  store i32 %1703, ptr %191, align 4, !tbaa !5
  %1714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1715 = load i32, ptr @test_count, align 4, !tbaa !5
  %1716 = load i32, ptr %137, align 4, !tbaa !5
  %1717 = call ptr @s2n_strerror(i32 noundef %1716, ptr noundef nonnull @.str.4) #9
  %1718 = load i32, ptr %137, align 4, !tbaa !5
  %1719 = call ptr @s2n_strerror_debug(i32 noundef %1718, ptr noundef nonnull @.str.4) #9
  %1720 = load i32, ptr %191, align 4, !tbaa !5
  %1721 = call ptr @strerror(i32 noundef %1720) #9
  %1722 = load i32, ptr %191, align 4, !tbaa !5
  %1723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1714, ptr noundef nonnull %.str.5.sink1100, i32 noundef %1715, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 186, ptr noundef %1717, ptr noundef %1719, ptr noundef %1721, i32 noundef %1722) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1724:                                             ; preds = %1695
  %1725 = load i32, ptr @test_count, align 4, !tbaa !5
  %1726 = add nsw i32 %1725, 1
  store i32 %1726, ptr @test_count, align 4, !tbaa !5
  %1727 = getelementptr inbounds i8, ptr %1700, i64 8
  %1728 = load ptr, ptr %1727, align 8, !tbaa !20
  %1729 = getelementptr inbounds i8, ptr %1728, i64 236
  %1730 = load i32, ptr %1729, align 4, !tbaa !47
  %1731 = icmp eq i32 %1730, 0
  br i1 %1731, label %1754, label %1732

1732:                                             ; preds = %1724
  %1733 = load i32, ptr %191, align 4, !tbaa !5
  %1734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1735 = call i32 @s2n_print_stacktrace(ptr noundef %1734) #9
  %1736 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1737 = trunc nuw i8 %1736 to i1
  br i1 %1737, label %1738, label %1742

1738:                                             ; preds = %1732
  %1739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1740 = call i32 @fileno(ptr noundef %1739) #9
  %1741 = call i32 @isatty(i32 noundef %1740) #9
  %.not411 = icmp eq i32 %1741, 0
  br i1 %.not411, label %1742, label %1743

1742:                                             ; preds = %1738, %1732
  br label %1743

1743:                                             ; preds = %1738, %1742
  %.str.5.sink1109 = phi ptr [ @.str.5, %1742 ], [ @.str.2, %1738 ]
  store i32 %1733, ptr %191, align 4, !tbaa !5
  %1744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1745 = load i32, ptr @test_count, align 4, !tbaa !5
  %1746 = load i32, ptr %137, align 4, !tbaa !5
  %1747 = call ptr @s2n_strerror(i32 noundef %1746, ptr noundef nonnull @.str.4) #9
  %1748 = load i32, ptr %137, align 4, !tbaa !5
  %1749 = call ptr @s2n_strerror_debug(i32 noundef %1748, ptr noundef nonnull @.str.4) #9
  %1750 = load i32, ptr %191, align 4, !tbaa !5
  %1751 = call ptr @strerror(i32 noundef %1750) #9
  %1752 = load i32, ptr %191, align 4, !tbaa !5
  %1753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1744, ptr noundef nonnull %.str.5.sink1109, i32 noundef %1745, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 187, ptr noundef %1747, ptr noundef %1749, ptr noundef %1751, i32 noundef %1752) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1754:                                             ; preds = %1724
  %1755 = getelementptr inbounds i8, ptr %1700, i64 220
  store i8 33, ptr %1755, align 4, !tbaa !51
  %1756 = add nsw i32 %1725, 2
  store i32 %1756, ptr @test_count, align 4, !tbaa !5
  %1757 = getelementptr inbounds i8, ptr %1700, i64 1856
  %1758 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %1757, ptr noundef nonnull %6, i32 noundef 2) #9
  %1759 = icmp eq i32 %1758, -1
  br i1 %1759, label %1760, label %1782

1760:                                             ; preds = %1754
  %1761 = load i32, ptr %191, align 4, !tbaa !5
  %1762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1763 = call i32 @s2n_print_stacktrace(ptr noundef %1762) #9
  %1764 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1765 = trunc nuw i8 %1764 to i1
  br i1 %1765, label %1766, label %1770

1766:                                             ; preds = %1760
  %1767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1768 = call i32 @fileno(ptr noundef %1767) #9
  %1769 = call i32 @isatty(i32 noundef %1768) #9
  %.not498 = icmp eq i32 %1769, 0
  br i1 %.not498, label %1770, label %1771

1770:                                             ; preds = %1766, %1760
  br label %1771

1771:                                             ; preds = %1766, %1770
  %.str.5.sink1118 = phi ptr [ @.str.5, %1770 ], [ @.str.2, %1766 ]
  store i32 %1761, ptr %191, align 4, !tbaa !5
  %1772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1773 = load i32, ptr @test_count, align 4, !tbaa !5
  %1774 = load i32, ptr %137, align 4, !tbaa !5
  %1775 = call ptr @s2n_strerror(i32 noundef %1774, ptr noundef nonnull @.str.4) #9
  %1776 = load i32, ptr %137, align 4, !tbaa !5
  %1777 = call ptr @s2n_strerror_debug(i32 noundef %1776, ptr noundef nonnull @.str.4) #9
  %1778 = load i32, ptr %191, align 4, !tbaa !5
  %1779 = call ptr @strerror(i32 noundef %1778) #9
  %1780 = load i32, ptr %191, align 4, !tbaa !5
  %1781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1772, ptr noundef nonnull %.str.5.sink1118, i32 noundef %1773, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 190, ptr noundef %1775, ptr noundef %1777, ptr noundef %1779, i32 noundef %1780) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1782:                                             ; preds = %1754
  %1783 = load i32, ptr @test_count, align 4, !tbaa !5
  %1784 = add nsw i32 %1783, 1
  store i32 %1784, ptr @test_count, align 4, !tbaa !5
  %1785 = call i32 @s2n_process_alert_fragment(ptr noundef nonnull %1700) #9
  %1786 = icmp eq i32 %1785, -1
  br i1 %1786, label %1809, label %1787

1787:                                             ; preds = %1782
  %1788 = load i32, ptr %191, align 4, !tbaa !5
  %1789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1790 = call i32 @s2n_print_stacktrace(ptr noundef %1789) #9
  %1791 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1792 = trunc nuw i8 %1791 to i1
  br i1 %1792, label %1793, label %1797

1793:                                             ; preds = %1787
  %1794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1795 = call i32 @fileno(ptr noundef %1794) #9
  %1796 = call i32 @isatty(i32 noundef %1795) #9
  %.not412 = icmp eq i32 %1796, 0
  br i1 %.not412, label %1797, label %1798

1797:                                             ; preds = %1793, %1787
  br label %1798

1798:                                             ; preds = %1793, %1797
  %.str.5.sink1127 = phi ptr [ @.str.5, %1797 ], [ @.str.2, %1793 ]
  store i32 %1788, ptr %191, align 4, !tbaa !5
  %1799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1800 = load i32, ptr @test_count, align 4, !tbaa !5
  %1801 = load i32, ptr %137, align 4, !tbaa !5
  %1802 = call ptr @s2n_strerror(i32 noundef %1801, ptr noundef nonnull @.str.4) #9
  %1803 = load i32, ptr %137, align 4, !tbaa !5
  %1804 = call ptr @s2n_strerror_debug(i32 noundef %1803, ptr noundef nonnull @.str.4) #9
  %1805 = load i32, ptr %191, align 4, !tbaa !5
  %1806 = call ptr @strerror(i32 noundef %1805) #9
  %1807 = load i32, ptr %191, align 4, !tbaa !5
  %1808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1799, ptr noundef nonnull %.str.5.sink1127, i32 noundef %1800, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 192, ptr noundef %1802, ptr noundef %1804, ptr noundef %1806, i32 noundef %1807) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1809:                                             ; preds = %1782
  %1810 = load i32, ptr @test_count, align 4, !tbaa !5
  %1811 = add nsw i32 %1810, 1
  store i32 %1811, ptr @test_count, align 4, !tbaa !5
  %1812 = load i32, ptr %137, align 4, !tbaa !5
  %1813 = icmp eq i32 %1812, 268435456
  br i1 %1813, label %1836, label %1814

1814:                                             ; preds = %1809
  %1815 = load i32, ptr %191, align 4, !tbaa !5
  %1816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1817 = call i32 @s2n_print_stacktrace(ptr noundef %1816) #9
  %1818 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1819 = trunc nuw i8 %1818 to i1
  br i1 %1819, label %1820, label %1824

1820:                                             ; preds = %1814
  %1821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1822 = call i32 @fileno(ptr noundef %1821) #9
  %1823 = call i32 @isatty(i32 noundef %1822) #9
  %.not413 = icmp eq i32 %1823, 0
  br i1 %.not413, label %1824, label %1825

1824:                                             ; preds = %1820, %1814
  br label %1825

1825:                                             ; preds = %1820, %1824
  %.str.5.sink1136 = phi ptr [ @.str.5, %1824 ], [ @.str.2, %1820 ]
  store i32 %1815, ptr %191, align 4, !tbaa !5
  %1826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1827 = load i32, ptr @test_count, align 4, !tbaa !5
  %1828 = load i32, ptr %137, align 4, !tbaa !5
  %1829 = call ptr @s2n_strerror(i32 noundef %1828, ptr noundef nonnull @.str.4) #9
  %1830 = load i32, ptr %137, align 4, !tbaa !5
  %1831 = call ptr @s2n_strerror_debug(i32 noundef %1830, ptr noundef nonnull @.str.4) #9
  %1832 = load i32, ptr %191, align 4, !tbaa !5
  %1833 = call ptr @strerror(i32 noundef %1832) #9
  %1834 = load i32, ptr %191, align 4, !tbaa !5
  %1835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1826, ptr noundef nonnull %.str.5.sink1136, i32 noundef %1827, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 192, ptr noundef %1829, ptr noundef %1831, ptr noundef %1833, i32 noundef %1834) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1836:                                             ; preds = %1809
  %1837 = add nsw i32 %1810, 2
  store i32 %1837, ptr @test_count, align 4, !tbaa !5
  %1838 = call ptr @s2n_strerror_debug(i32 noundef 268435456, ptr noundef nonnull @.str.4) #9
  %1839 = icmp eq ptr %1838, null
  br i1 %1839, label %1840, label %1862

1840:                                             ; preds = %1836
  %1841 = load i32, ptr %191, align 4, !tbaa !5
  %1842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1843 = call i32 @s2n_print_stacktrace(ptr noundef %1842) #9
  %1844 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1845 = trunc nuw i8 %1844 to i1
  br i1 %1845, label %1846, label %1850

1846:                                             ; preds = %1840
  %1847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1848 = call i32 @fileno(ptr noundef %1847) #9
  %1849 = call i32 @isatty(i32 noundef %1848) #9
  %.not497 = icmp eq i32 %1849, 0
  br i1 %.not497, label %1850, label %1851

1850:                                             ; preds = %1846, %1840
  br label %1851

1851:                                             ; preds = %1846, %1850
  %.str.5.sink1145 = phi ptr [ @.str.5, %1850 ], [ @.str.2, %1846 ]
  store i32 %1841, ptr %191, align 4, !tbaa !5
  %1852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1853 = load i32, ptr @test_count, align 4, !tbaa !5
  %1854 = load i32, ptr %137, align 4, !tbaa !5
  %1855 = call ptr @s2n_strerror(i32 noundef %1854, ptr noundef nonnull @.str.4) #9
  %1856 = load i32, ptr %137, align 4, !tbaa !5
  %1857 = call ptr @s2n_strerror_debug(i32 noundef %1856, ptr noundef nonnull @.str.4) #9
  %1858 = load i32, ptr %191, align 4, !tbaa !5
  %1859 = call ptr @strerror(i32 noundef %1858) #9
  %1860 = load i32, ptr %191, align 4, !tbaa !5
  %1861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1852, ptr noundef nonnull %.str.5.sink1145, i32 noundef %1853, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 192, ptr noundef %1855, ptr noundef %1857, ptr noundef %1859, i32 noundef %1860) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1862:                                             ; preds = %1836
  store i32 0, ptr %137, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %191, align 4, !tbaa !5
  %1863 = load i32, ptr @test_count, align 4, !tbaa !5
  %1864 = add nsw i32 %1863, 1
  store i32 %1864, ptr @test_count, align 4, !tbaa !5
  %1865 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef nonnull %1700, i32 noundef 3) #9
  br i1 %1865, label %1888, label %1866

1866:                                             ; preds = %1862
  %1867 = load i32, ptr %191, align 4, !tbaa !5
  %1868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1869 = call i32 @s2n_print_stacktrace(ptr noundef %1868) #9
  %1870 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1871 = trunc nuw i8 %1870 to i1
  br i1 %1871, label %1872, label %1876

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

1876:                                             ; preds = %1872, %1866
  br label %1877

1877:                                             ; preds = %1872, %1876
  %.str.5.sink1154 = phi ptr [ @.str.5, %1876 ], [ @.str.2, %1872 ]
  store i32 %1867, ptr %191, align 4, !tbaa !5
  %1878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1879 = load i32, ptr @test_count, align 4, !tbaa !5
  %1880 = load i32, ptr %137, align 4, !tbaa !5
  %1881 = call ptr @s2n_strerror(i32 noundef %1880, ptr noundef nonnull @.str.4) #9
  %1882 = load i32, ptr %137, align 4, !tbaa !5
  %1883 = call ptr @s2n_strerror_debug(i32 noundef %1882, ptr noundef nonnull @.str.4) #9
  %1884 = load i32, ptr %191, align 4, !tbaa !5
  %1885 = call ptr @strerror(i32 noundef %1884) #9
  %1886 = load i32, ptr %191, align 4, !tbaa !5
  %1887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1878, ptr noundef nonnull %.str.5.sink1154, i32 noundef %1879, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 193, ptr noundef %1881, ptr noundef %1883, ptr noundef %1885, i32 noundef %1886) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1888:                                             ; preds = %1862
  %1889 = load i32, ptr @test_count, align 4, !tbaa !5
  %1890 = add nsw i32 %1889, 1
  store i32 %1890, ptr @test_count, align 4, !tbaa !5
  %1891 = call i32 @s2n_connection_free(ptr noundef nonnull %1700) #9
  %1892 = icmp eq i32 %1891, -1
  br i1 %1892, label %1893, label %1915

1893:                                             ; preds = %1888
  %1894 = load i32, ptr %191, align 4, !tbaa !5
  %1895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1896 = call i32 @s2n_print_stacktrace(ptr noundef %1895) #9
  %1897 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1898 = trunc nuw i8 %1897 to i1
  br i1 %1898, label %1899, label %1903

1899:                                             ; preds = %1893
  %1900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1901 = call i32 @fileno(ptr noundef %1900) #9
  %1902 = call i32 @isatty(i32 noundef %1901) #9
  %.not496 = icmp eq i32 %1902, 0
  br i1 %.not496, label %1903, label %1904

1903:                                             ; preds = %1899, %1893
  br label %1904

1904:                                             ; preds = %1899, %1903
  %.str.5.sink1163 = phi ptr [ @.str.5, %1903 ], [ @.str.2, %1899 ]
  store i32 %1894, ptr %191, align 4, !tbaa !5
  %1905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1906 = load i32, ptr @test_count, align 4, !tbaa !5
  %1907 = load i32, ptr %137, align 4, !tbaa !5
  %1908 = call ptr @s2n_strerror(i32 noundef %1907, ptr noundef nonnull @.str.4) #9
  %1909 = load i32, ptr %137, align 4, !tbaa !5
  %1910 = call ptr @s2n_strerror_debug(i32 noundef %1909, ptr noundef nonnull @.str.4) #9
  %1911 = load i32, ptr %191, align 4, !tbaa !5
  %1912 = call ptr @strerror(i32 noundef %1911) #9
  %1913 = load i32, ptr %191, align 4, !tbaa !5
  %1914 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1905, ptr noundef nonnull %.str.5.sink1163, i32 noundef %1906, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 195, ptr noundef %1908, ptr noundef %1910, ptr noundef %1912, i32 noundef %1913) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1915:                                             ; preds = %1888
  %1916 = load i32, ptr @test_count, align 4, !tbaa !5
  %1917 = add nsw i32 %1916, 1
  store i32 %1917, ptr @test_count, align 4, !tbaa !5
  %1918 = call ptr @s2n_connection_new(i32 noundef 1) #9
  %1919 = icmp eq ptr %1918, null
  br i1 %1919, label %1920, label %1942

1920:                                             ; preds = %1915
  %1921 = load i32, ptr %191, align 4, !tbaa !5
  %1922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1923 = call i32 @s2n_print_stacktrace(ptr noundef %1922) #9
  %1924 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1925 = trunc nuw i8 %1924 to i1
  br i1 %1925, label %1926, label %1930

1926:                                             ; preds = %1920
  %1927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1928 = call i32 @fileno(ptr noundef %1927) #9
  %1929 = call i32 @isatty(i32 noundef %1928) #9
  %.not495 = icmp eq i32 %1929, 0
  br i1 %.not495, label %1930, label %1931

1930:                                             ; preds = %1926, %1920
  br label %1931

1931:                                             ; preds = %1926, %1930
  %.str.5.sink1172 = phi ptr [ @.str.5, %1930 ], [ @.str.2, %1926 ]
  store i32 %1921, ptr %191, align 4, !tbaa !5
  %1932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1933 = load i32, ptr @test_count, align 4, !tbaa !5
  %1934 = load i32, ptr %137, align 4, !tbaa !5
  %1935 = call ptr @s2n_strerror(i32 noundef %1934, ptr noundef nonnull @.str.4) #9
  %1936 = load i32, ptr %137, align 4, !tbaa !5
  %1937 = call ptr @s2n_strerror_debug(i32 noundef %1936, ptr noundef nonnull @.str.4) #9
  %1938 = load i32, ptr %191, align 4, !tbaa !5
  %1939 = call ptr @strerror(i32 noundef %1938) #9
  %1940 = load i32, ptr %191, align 4, !tbaa !5
  %1941 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1932, ptr noundef nonnull %.str.5.sink1172, i32 noundef %1933, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 201, ptr noundef %1935, ptr noundef %1937, ptr noundef %1939, i32 noundef %1940) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1942:                                             ; preds = %1915
  %1943 = load i32, ptr @test_count, align 4, !tbaa !5
  %1944 = add nsw i32 %1943, 1
  store i32 %1944, ptr @test_count, align 4, !tbaa !5
  %1945 = getelementptr inbounds i8, ptr %1918, i64 8
  %1946 = load ptr, ptr %1945, align 8, !tbaa !20
  %1947 = getelementptr inbounds i8, ptr %1946, i64 236
  %1948 = load i32, ptr %1947, align 4, !tbaa !47
  %1949 = icmp eq i32 %1948, 0
  br i1 %1949, label %1972, label %1950

1950:                                             ; preds = %1942
  %1951 = load i32, ptr %191, align 4, !tbaa !5
  %1952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1953 = call i32 @s2n_print_stacktrace(ptr noundef %1952) #9
  %1954 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1955 = trunc nuw i8 %1954 to i1
  br i1 %1955, label %1956, label %1960

1956:                                             ; preds = %1950
  %1957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1958 = call i32 @fileno(ptr noundef %1957) #9
  %1959 = call i32 @isatty(i32 noundef %1958) #9
  %.not415 = icmp eq i32 %1959, 0
  br i1 %.not415, label %1960, label %1961

1960:                                             ; preds = %1956, %1950
  br label %1961

1961:                                             ; preds = %1956, %1960
  %.str.5.sink1181 = phi ptr [ @.str.5, %1960 ], [ @.str.2, %1956 ]
  store i32 %1951, ptr %191, align 4, !tbaa !5
  %1962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1963 = load i32, ptr @test_count, align 4, !tbaa !5
  %1964 = load i32, ptr %137, align 4, !tbaa !5
  %1965 = call ptr @s2n_strerror(i32 noundef %1964, ptr noundef nonnull @.str.4) #9
  %1966 = load i32, ptr %137, align 4, !tbaa !5
  %1967 = call ptr @s2n_strerror_debug(i32 noundef %1966, ptr noundef nonnull @.str.4) #9
  %1968 = load i32, ptr %191, align 4, !tbaa !5
  %1969 = call ptr @strerror(i32 noundef %1968) #9
  %1970 = load i32, ptr %191, align 4, !tbaa !5
  %1971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1962, ptr noundef nonnull %.str.5.sink1181, i32 noundef %1963, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 202, ptr noundef %1965, ptr noundef %1967, ptr noundef %1969, i32 noundef %1970) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1972:                                             ; preds = %1942
  %1973 = getelementptr inbounds i8, ptr %1918, i64 220
  store i8 34, ptr %1973, align 4, !tbaa !51
  %1974 = add nsw i32 %1943, 2
  store i32 %1974, ptr @test_count, align 4, !tbaa !5
  %1975 = getelementptr inbounds i8, ptr %1918, i64 1856
  %1976 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %1975, ptr noundef nonnull %6, i32 noundef 2) #9
  %1977 = icmp eq i32 %1976, -1
  br i1 %1977, label %1978, label %2000

1978:                                             ; preds = %1972
  %1979 = load i32, ptr %191, align 4, !tbaa !5
  %1980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1981 = call i32 @s2n_print_stacktrace(ptr noundef %1980) #9
  %1982 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1983 = trunc nuw i8 %1982 to i1
  br i1 %1983, label %1984, label %1988

1984:                                             ; preds = %1978
  %1985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1986 = call i32 @fileno(ptr noundef %1985) #9
  %1987 = call i32 @isatty(i32 noundef %1986) #9
  %.not494 = icmp eq i32 %1987, 0
  br i1 %.not494, label %1988, label %1989

1988:                                             ; preds = %1984, %1978
  br label %1989

1989:                                             ; preds = %1984, %1988
  %.str.5.sink1190 = phi ptr [ @.str.5, %1988 ], [ @.str.2, %1984 ]
  store i32 %1979, ptr %191, align 4, !tbaa !5
  %1990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1991 = load i32, ptr @test_count, align 4, !tbaa !5
  %1992 = load i32, ptr %137, align 4, !tbaa !5
  %1993 = call ptr @s2n_strerror(i32 noundef %1992, ptr noundef nonnull @.str.4) #9
  %1994 = load i32, ptr %137, align 4, !tbaa !5
  %1995 = call ptr @s2n_strerror_debug(i32 noundef %1994, ptr noundef nonnull @.str.4) #9
  %1996 = load i32, ptr %191, align 4, !tbaa !5
  %1997 = call ptr @strerror(i32 noundef %1996) #9
  %1998 = load i32, ptr %191, align 4, !tbaa !5
  %1999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1990, ptr noundef nonnull %.str.5.sink1190, i32 noundef %1991, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 205, ptr noundef %1993, ptr noundef %1995, ptr noundef %1997, i32 noundef %1998) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2000:                                             ; preds = %1972
  %2001 = load i32, ptr @test_count, align 4, !tbaa !5
  %2002 = add nsw i32 %2001, 1
  store i32 %2002, ptr @test_count, align 4, !tbaa !5
  %2003 = call i32 @s2n_process_alert_fragment(ptr noundef nonnull %1918) #9
  %2004 = icmp eq i32 %2003, -1
  br i1 %2004, label %2027, label %2005

2005:                                             ; preds = %2000
  %2006 = load i32, ptr %191, align 4, !tbaa !5
  %2007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2008 = call i32 @s2n_print_stacktrace(ptr noundef %2007) #9
  %2009 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2010 = trunc nuw i8 %2009 to i1
  br i1 %2010, label %2011, label %2015

2011:                                             ; preds = %2005
  %2012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2013 = call i32 @fileno(ptr noundef %2012) #9
  %2014 = call i32 @isatty(i32 noundef %2013) #9
  %.not416 = icmp eq i32 %2014, 0
  br i1 %.not416, label %2015, label %2016

2015:                                             ; preds = %2011, %2005
  br label %2016

2016:                                             ; preds = %2011, %2015
  %.str.5.sink1199 = phi ptr [ @.str.5, %2015 ], [ @.str.2, %2011 ]
  store i32 %2006, ptr %191, align 4, !tbaa !5
  %2017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2018 = load i32, ptr @test_count, align 4, !tbaa !5
  %2019 = load i32, ptr %137, align 4, !tbaa !5
  %2020 = call ptr @s2n_strerror(i32 noundef %2019, ptr noundef nonnull @.str.4) #9
  %2021 = load i32, ptr %137, align 4, !tbaa !5
  %2022 = call ptr @s2n_strerror_debug(i32 noundef %2021, ptr noundef nonnull @.str.4) #9
  %2023 = load i32, ptr %191, align 4, !tbaa !5
  %2024 = call ptr @strerror(i32 noundef %2023) #9
  %2025 = load i32, ptr %191, align 4, !tbaa !5
  %2026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2017, ptr noundef nonnull %.str.5.sink1199, i32 noundef %2018, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 207, ptr noundef %2020, ptr noundef %2022, ptr noundef %2024, i32 noundef %2025) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2027:                                             ; preds = %2000
  %2028 = load i32, ptr @test_count, align 4, !tbaa !5
  %2029 = add nsw i32 %2028, 1
  store i32 %2029, ptr @test_count, align 4, !tbaa !5
  %2030 = load i32, ptr %137, align 4, !tbaa !5
  %2031 = icmp eq i32 %2030, 268435456
  br i1 %2031, label %2054, label %2032

2032:                                             ; preds = %2027
  %2033 = load i32, ptr %191, align 4, !tbaa !5
  %2034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2035 = call i32 @s2n_print_stacktrace(ptr noundef %2034) #9
  %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 = %2032
  %2039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2040 = call i32 @fileno(ptr noundef %2039) #9
  %2041 = call i32 @isatty(i32 noundef %2040) #9
  %.not417 = icmp eq i32 %2041, 0
  br i1 %.not417, label %2042, label %2043

2042:                                             ; preds = %2038, %2032
  br label %2043

2043:                                             ; preds = %2038, %2042
  %.str.5.sink1208 = phi ptr [ @.str.5, %2042 ], [ @.str.2, %2038 ]
  store i32 %2033, ptr %191, align 4, !tbaa !5
  %2044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2045 = load i32, ptr @test_count, align 4, !tbaa !5
  %2046 = load i32, ptr %137, align 4, !tbaa !5
  %2047 = call ptr @s2n_strerror(i32 noundef %2046, ptr noundef nonnull @.str.4) #9
  %2048 = load i32, ptr %137, align 4, !tbaa !5
  %2049 = call ptr @s2n_strerror_debug(i32 noundef %2048, ptr noundef nonnull @.str.4) #9
  %2050 = load i32, ptr %191, align 4, !tbaa !5
  %2051 = call ptr @strerror(i32 noundef %2050) #9
  %2052 = load i32, ptr %191, align 4, !tbaa !5
  %2053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2044, ptr noundef nonnull %.str.5.sink1208, i32 noundef %2045, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 207, ptr noundef %2047, ptr noundef %2049, ptr noundef %2051, i32 noundef %2052) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2054:                                             ; preds = %2027
  %2055 = add nsw i32 %2028, 2
  store i32 %2055, ptr @test_count, align 4, !tbaa !5
  %2056 = call ptr @s2n_strerror_debug(i32 noundef 268435456, ptr noundef nonnull @.str.4) #9
  %2057 = icmp eq ptr %2056, null
  br i1 %2057, label %2058, label %2080

2058:                                             ; preds = %2054
  %2059 = load i32, ptr %191, align 4, !tbaa !5
  %2060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2061 = call i32 @s2n_print_stacktrace(ptr noundef %2060) #9
  %2062 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2063 = trunc nuw i8 %2062 to i1
  br i1 %2063, label %2064, label %2068

2064:                                             ; preds = %2058
  %2065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2066 = call i32 @fileno(ptr noundef %2065) #9
  %2067 = call i32 @isatty(i32 noundef %2066) #9
  %.not493 = icmp eq i32 %2067, 0
  br i1 %.not493, label %2068, label %2069

2068:                                             ; preds = %2064, %2058
  br label %2069

2069:                                             ; preds = %2064, %2068
  %.str.5.sink1217 = phi ptr [ @.str.5, %2068 ], [ @.str.2, %2064 ]
  store i32 %2059, ptr %191, align 4, !tbaa !5
  %2070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2071 = load i32, ptr @test_count, align 4, !tbaa !5
  %2072 = load i32, ptr %137, align 4, !tbaa !5
  %2073 = call ptr @s2n_strerror(i32 noundef %2072, ptr noundef nonnull @.str.4) #9
  %2074 = load i32, ptr %137, align 4, !tbaa !5
  %2075 = call ptr @s2n_strerror_debug(i32 noundef %2074, ptr noundef nonnull @.str.4) #9
  %2076 = load i32, ptr %191, align 4, !tbaa !5
  %2077 = call ptr @strerror(i32 noundef %2076) #9
  %2078 = load i32, ptr %191, align 4, !tbaa !5
  %2079 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2070, ptr noundef nonnull %.str.5.sink1217, i32 noundef %2071, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 207, ptr noundef %2073, ptr noundef %2075, ptr noundef %2077, i32 noundef %2078) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2080:                                             ; preds = %2054
  store i32 0, ptr %137, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %191, align 4, !tbaa !5
  %2081 = load i32, ptr @test_count, align 4, !tbaa !5
  %2082 = add nsw i32 %2081, 1
  store i32 %2082, ptr @test_count, align 4, !tbaa !5
  %2083 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef nonnull %1918, i32 noundef 3) #9
  br i1 %2083, label %2106, label %2084

2084:                                             ; preds = %2080
  %2085 = load i32, ptr %191, align 4, !tbaa !5
  %2086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2087 = call i32 @s2n_print_stacktrace(ptr noundef %2086) #9
  %2088 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2089 = trunc nuw i8 %2088 to i1
  br i1 %2089, label %2090, label %2094

2090:                                             ; preds = %2084
  %2091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2092 = call i32 @fileno(ptr noundef %2091) #9
  %2093 = call i32 @isatty(i32 noundef %2092) #9
  %.not418 = icmp eq i32 %2093, 0
  br i1 %.not418, label %2094, label %2095

2094:                                             ; preds = %2090, %2084
  br label %2095

2095:                                             ; preds = %2090, %2094
  %.str.5.sink1226 = phi ptr [ @.str.5, %2094 ], [ @.str.2, %2090 ]
  store i32 %2085, ptr %191, align 4, !tbaa !5
  %2096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2097 = load i32, ptr @test_count, align 4, !tbaa !5
  %2098 = load i32, ptr %137, align 4, !tbaa !5
  %2099 = call ptr @s2n_strerror(i32 noundef %2098, ptr noundef nonnull @.str.4) #9
  %2100 = load i32, ptr %137, align 4, !tbaa !5
  %2101 = call ptr @s2n_strerror_debug(i32 noundef %2100, ptr noundef nonnull @.str.4) #9
  %2102 = load i32, ptr %191, align 4, !tbaa !5
  %2103 = call ptr @strerror(i32 noundef %2102) #9
  %2104 = load i32, ptr %191, align 4, !tbaa !5
  %2105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2096, ptr noundef nonnull %.str.5.sink1226, i32 noundef %2097, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 208, ptr noundef %2099, ptr noundef %2101, ptr noundef %2103, i32 noundef %2104) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2106:                                             ; preds = %2080
  %2107 = load i32, ptr @test_count, align 4, !tbaa !5
  %2108 = add nsw i32 %2107, 1
  store i32 %2108, ptr @test_count, align 4, !tbaa !5
  %2109 = call i32 @s2n_connection_free(ptr noundef nonnull %1918) #9
  %2110 = icmp eq i32 %2109, -1
  br i1 %2110, label %2111, label %2133

2111:                                             ; preds = %2106
  %2112 = load i32, ptr %191, align 4, !tbaa !5
  %2113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2114 = call i32 @s2n_print_stacktrace(ptr noundef %2113) #9
  %2115 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2116 = trunc nuw i8 %2115 to i1
  br i1 %2116, label %2117, label %2121

2117:                                             ; preds = %2111
  %2118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2119 = call i32 @fileno(ptr noundef %2118) #9
  %2120 = call i32 @isatty(i32 noundef %2119) #9
  %.not492 = icmp eq i32 %2120, 0
  br i1 %.not492, label %2121, label %2122

2121:                                             ; preds = %2117, %2111
  br label %2122

2122:                                             ; preds = %2117, %2121
  %.str.5.sink1235 = phi ptr [ @.str.5, %2121 ], [ @.str.2, %2117 ]
  store i32 %2112, ptr %191, align 4, !tbaa !5
  %2123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2124 = load i32, ptr @test_count, align 4, !tbaa !5
  %2125 = load i32, ptr %137, align 4, !tbaa !5
  %2126 = call ptr @s2n_strerror(i32 noundef %2125, ptr noundef nonnull @.str.4) #9
  %2127 = load i32, ptr %137, align 4, !tbaa !5
  %2128 = call ptr @s2n_strerror_debug(i32 noundef %2127, ptr noundef nonnull @.str.4) #9
  %2129 = load i32, ptr %191, align 4, !tbaa !5
  %2130 = call ptr @strerror(i32 noundef %2129) #9
  %2131 = load i32, ptr %191, align 4, !tbaa !5
  %2132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2123, ptr noundef nonnull %.str.5.sink1235, i32 noundef %2124, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 210, ptr noundef %2126, ptr noundef %2128, ptr noundef %2130, i32 noundef %2131) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2133:                                             ; preds = %2106
  %2134 = load i32, ptr @test_count, align 4, !tbaa !5
  %2135 = add nsw i32 %2134, 1
  store i32 %2135, ptr @test_count, align 4, !tbaa !5
  %2136 = call ptr @s2n_config_new() #9
  %2137 = icmp eq ptr %2136, null
  br i1 %2137, label %2138, label %2160

2138:                                             ; preds = %2133
  %2139 = load i32, ptr %191, align 4, !tbaa !5
  %2140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2141 = call i32 @s2n_print_stacktrace(ptr noundef %2140) #9
  %2142 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2143 = trunc nuw i8 %2142 to i1
  br i1 %2143, label %2144, label %2148

2144:                                             ; preds = %2138
  %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
  %.not491 = icmp eq i32 %2147, 0
  br i1 %.not491, label %2148, label %2149

2148:                                             ; preds = %2144, %2138
  br label %2149

2149:                                             ; preds = %2144, %2148
  %.str.5.sink1244 = phi ptr [ @.str.5, %2148 ], [ @.str.2, %2144 ]
  store i32 %2139, ptr %191, align 4, !tbaa !5
  %2150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2151 = load i32, ptr @test_count, align 4, !tbaa !5
  %2152 = load i32, ptr %137, align 4, !tbaa !5
  %2153 = call ptr @s2n_strerror(i32 noundef %2152, ptr noundef nonnull @.str.4) #9
  %2154 = load i32, ptr %137, align 4, !tbaa !5
  %2155 = call ptr @s2n_strerror_debug(i32 noundef %2154, ptr noundef nonnull @.str.4) #9
  %2156 = load i32, ptr %191, align 4, !tbaa !5
  %2157 = call ptr @strerror(i32 noundef %2156) #9
  %2158 = load i32, ptr %191, align 4, !tbaa !5
  %2159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2150, ptr noundef nonnull %.str.5.sink1244, i32 noundef %2151, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 216, ptr noundef %2153, ptr noundef %2155, ptr noundef %2157, i32 noundef %2158) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2160:                                             ; preds = %2133
  %2161 = load i32, ptr @test_count, align 4, !tbaa !5
  %2162 = add nsw i32 %2161, 1
  store i32 %2162, ptr @test_count, align 4, !tbaa !5
  %2163 = call i32 @s2n_config_set_alert_behavior(ptr noundef nonnull %2136, i32 noundef 1) #9
  %2164 = icmp eq i32 %2163, -1
  br i1 %2164, label %2165, label %2187

2165:                                             ; preds = %2160
  %2166 = load i32, ptr %191, align 4, !tbaa !5
  %2167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2168 = call i32 @s2n_print_stacktrace(ptr noundef %2167) #9
  %2169 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2170 = trunc nuw i8 %2169 to i1
  br i1 %2170, label %2171, label %2175

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

2175:                                             ; preds = %2171, %2165
  br label %2176

2176:                                             ; preds = %2171, %2175
  %.str.5.sink1253 = phi ptr [ @.str.5, %2175 ], [ @.str.2, %2171 ]
  store i32 %2166, ptr %191, align 4, !tbaa !5
  %2177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2178 = load i32, ptr @test_count, align 4, !tbaa !5
  %2179 = load i32, ptr %137, align 4, !tbaa !5
  %2180 = call ptr @s2n_strerror(i32 noundef %2179, ptr noundef nonnull @.str.4) #9
  %2181 = load i32, ptr %137, align 4, !tbaa !5
  %2182 = call ptr @s2n_strerror_debug(i32 noundef %2181, ptr noundef nonnull @.str.4) #9
  %2183 = load i32, ptr %191, align 4, !tbaa !5
  %2184 = call ptr @strerror(i32 noundef %2183) #9
  %2185 = load i32, ptr %191, align 4, !tbaa !5
  %2186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2177, ptr noundef nonnull %.str.5.sink1253, i32 noundef %2178, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 217, ptr noundef %2180, ptr noundef %2182, ptr noundef %2184, i32 noundef %2185) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2187:                                             ; preds = %2160
  %2188 = load i32, ptr @test_count, align 4, !tbaa !5
  %2189 = add nsw i32 %2188, 1
  store i32 %2189, ptr @test_count, align 4, !tbaa !5
  %2190 = call ptr @s2n_connection_new(i32 noundef 1) #9
  %2191 = icmp eq ptr %2190, null
  br i1 %2191, label %2192, label %2214

2192:                                             ; preds = %2187
  %2193 = load i32, ptr %191, align 4, !tbaa !5
  %2194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2195 = call i32 @s2n_print_stacktrace(ptr noundef %2194) #9
  %2196 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2197 = trunc nuw i8 %2196 to i1
  br i1 %2197, label %2198, label %2202

2198:                                             ; preds = %2192
  %2199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2200 = call i32 @fileno(ptr noundef %2199) #9
  %2201 = call i32 @isatty(i32 noundef %2200) #9
  %.not489 = icmp eq i32 %2201, 0
  br i1 %.not489, label %2202, label %2203

2202:                                             ; preds = %2198, %2192
  br label %2203

2203:                                             ; preds = %2198, %2202
  %.str.5.sink1262 = phi ptr [ @.str.5, %2202 ], [ @.str.2, %2198 ]
  store i32 %2193, ptr %191, align 4, !tbaa !5
  %2204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2205 = load i32, ptr @test_count, align 4, !tbaa !5
  %2206 = load i32, ptr %137, align 4, !tbaa !5
  %2207 = call ptr @s2n_strerror(i32 noundef %2206, ptr noundef nonnull @.str.4) #9
  %2208 = load i32, ptr %137, align 4, !tbaa !5
  %2209 = call ptr @s2n_strerror_debug(i32 noundef %2208, ptr noundef nonnull @.str.4) #9
  %2210 = load i32, ptr %191, align 4, !tbaa !5
  %2211 = call ptr @strerror(i32 noundef %2210) #9
  %2212 = load i32, ptr %191, align 4, !tbaa !5
  %2213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2204, ptr noundef nonnull %.str.5.sink1262, i32 noundef %2205, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 220, ptr noundef %2207, ptr noundef %2209, ptr noundef %2211, i32 noundef %2212) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2214:                                             ; preds = %2187
  %2215 = load i32, ptr @test_count, align 4, !tbaa !5
  %2216 = add nsw i32 %2215, 1
  store i32 %2216, ptr @test_count, align 4, !tbaa !5
  %2217 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2190, ptr noundef nonnull %2136) #9
  %2218 = icmp eq i32 %2217, -1
  br i1 %2218, label %2219, label %2241

2219:                                             ; preds = %2214
  %2220 = load i32, ptr %191, align 4, !tbaa !5
  %2221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2222 = call i32 @s2n_print_stacktrace(ptr noundef %2221) #9
  %2223 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2224 = trunc nuw i8 %2223 to i1
  br i1 %2224, label %2225, label %2229

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

2229:                                             ; preds = %2225, %2219
  br label %2230

2230:                                             ; preds = %2225, %2229
  %.str.5.sink1271 = phi ptr [ @.str.5, %2229 ], [ @.str.2, %2225 ]
  store i32 %2220, ptr %191, align 4, !tbaa !5
  %2231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2232 = load i32, ptr @test_count, align 4, !tbaa !5
  %2233 = load i32, ptr %137, align 4, !tbaa !5
  %2234 = call ptr @s2n_strerror(i32 noundef %2233, ptr noundef nonnull @.str.4) #9
  %2235 = load i32, ptr %137, align 4, !tbaa !5
  %2236 = call ptr @s2n_strerror_debug(i32 noundef %2235, ptr noundef nonnull @.str.4) #9
  %2237 = load i32, ptr %191, align 4, !tbaa !5
  %2238 = call ptr @strerror(i32 noundef %2237) #9
  %2239 = load i32, ptr %191, align 4, !tbaa !5
  %2240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2231, ptr noundef nonnull %.str.5.sink1271, i32 noundef %2232, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 221, ptr noundef %2234, ptr noundef %2236, ptr noundef %2238, i32 noundef %2239) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2241:                                             ; preds = %2214
  %2242 = getelementptr inbounds i8, ptr %2190, i64 220
  store i8 33, ptr %2242, align 4, !tbaa !51
  %2243 = load i32, ptr @test_count, align 4, !tbaa !5
  %2244 = add nsw i32 %2243, 1
  store i32 %2244, ptr @test_count, align 4, !tbaa !5
  %2245 = getelementptr inbounds i8, ptr %2190, i64 1856
  %2246 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %2245, ptr noundef nonnull %6, i32 noundef 2) #9
  %2247 = icmp eq i32 %2246, -1
  br i1 %2247, label %2248, label %2270

2248:                                             ; preds = %2241
  %2249 = load i32, ptr %191, align 4, !tbaa !5
  %2250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2251 = call i32 @s2n_print_stacktrace(ptr noundef %2250) #9
  %2252 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2253 = trunc nuw i8 %2252 to i1
  br i1 %2253, label %2254, label %2258

2254:                                             ; preds = %2248
  %2255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2256 = call i32 @fileno(ptr noundef %2255) #9
  %2257 = call i32 @isatty(i32 noundef %2256) #9
  %.not487 = icmp eq i32 %2257, 0
  br i1 %.not487, label %2258, label %2259

2258:                                             ; preds = %2254, %2248
  br label %2259

2259:                                             ; preds = %2254, %2258
  %.str.5.sink1280 = phi ptr [ @.str.5, %2258 ], [ @.str.2, %2254 ]
  store i32 %2249, ptr %191, align 4, !tbaa !5
  %2260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2261 = load i32, ptr @test_count, align 4, !tbaa !5
  %2262 = load i32, ptr %137, align 4, !tbaa !5
  %2263 = call ptr @s2n_strerror(i32 noundef %2262, ptr noundef nonnull @.str.4) #9
  %2264 = load i32, ptr %137, align 4, !tbaa !5
  %2265 = call ptr @s2n_strerror_debug(i32 noundef %2264, ptr noundef nonnull @.str.4) #9
  %2266 = load i32, ptr %191, align 4, !tbaa !5
  %2267 = call ptr @strerror(i32 noundef %2266) #9
  %2268 = load i32, ptr %191, align 4, !tbaa !5
  %2269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2260, ptr noundef nonnull %.str.5.sink1280, i32 noundef %2261, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 224, ptr noundef %2263, ptr noundef %2265, ptr noundef %2267, i32 noundef %2268) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2270:                                             ; preds = %2241
  %2271 = load i32, ptr @test_count, align 4, !tbaa !5
  %2272 = add nsw i32 %2271, 1
  store i32 %2272, ptr @test_count, align 4, !tbaa !5
  %2273 = call i32 @s2n_process_alert_fragment(ptr noundef nonnull %2190) #9
  %2274 = icmp eq i32 %2273, -1
  br i1 %2274, label %2275, label %2297

2275:                                             ; preds = %2270
  %2276 = load i32, ptr %191, align 4, !tbaa !5
  %2277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2278 = call i32 @s2n_print_stacktrace(ptr noundef %2277) #9
  %2279 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2280 = trunc nuw i8 %2279 to i1
  br i1 %2280, label %2281, label %2285

2281:                                             ; preds = %2275
  %2282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2283 = call i32 @fileno(ptr noundef %2282) #9
  %2284 = call i32 @isatty(i32 noundef %2283) #9
  %.not486 = icmp eq i32 %2284, 0
  br i1 %.not486, label %2285, label %2286

2285:                                             ; preds = %2281, %2275
  br label %2286

2286:                                             ; preds = %2281, %2285
  %.str.5.sink1289 = phi ptr [ @.str.5, %2285 ], [ @.str.2, %2281 ]
  store i32 %2276, ptr %191, align 4, !tbaa !5
  %2287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2288 = load i32, ptr @test_count, align 4, !tbaa !5
  %2289 = load i32, ptr %137, align 4, !tbaa !5
  %2290 = call ptr @s2n_strerror(i32 noundef %2289, ptr noundef nonnull @.str.4) #9
  %2291 = load i32, ptr %137, align 4, !tbaa !5
  %2292 = call ptr @s2n_strerror_debug(i32 noundef %2291, ptr noundef nonnull @.str.4) #9
  %2293 = load i32, ptr %191, align 4, !tbaa !5
  %2294 = call ptr @strerror(i32 noundef %2293) #9
  %2295 = load i32, ptr %191, align 4, !tbaa !5
  %2296 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2287, ptr noundef nonnull %.str.5.sink1289, i32 noundef %2288, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 226, ptr noundef %2290, ptr noundef %2292, ptr noundef %2294, i32 noundef %2295) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2297:                                             ; preds = %2270
  %2298 = load i32, ptr @test_count, align 4, !tbaa !5
  %2299 = add nsw i32 %2298, 1
  store i32 %2299, ptr @test_count, align 4, !tbaa !5
  %2300 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef nonnull %2190, i32 noundef 2) #9
  br i1 %2300, label %2323, label %2301

2301:                                             ; preds = %2297
  %2302 = load i32, ptr %191, align 4, !tbaa !5
  %2303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2304 = call i32 @s2n_print_stacktrace(ptr noundef %2303) #9
  %2305 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2306 = trunc nuw i8 %2305 to i1
  br i1 %2306, label %2307, label %2311

2307:                                             ; preds = %2301
  %2308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2309 = call i32 @fileno(ptr noundef %2308) #9
  %2310 = call i32 @isatty(i32 noundef %2309) #9
  %.not419 = icmp eq i32 %2310, 0
  br i1 %.not419, label %2311, label %2312

2311:                                             ; preds = %2307, %2301
  br label %2312

2312:                                             ; preds = %2307, %2311
  %.str.5.sink1298 = phi ptr [ @.str.5, %2311 ], [ @.str.2, %2307 ]
  store i32 %2302, ptr %191, align 4, !tbaa !5
  %2313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2314 = load i32, ptr @test_count, align 4, !tbaa !5
  %2315 = load i32, ptr %137, align 4, !tbaa !5
  %2316 = call ptr @s2n_strerror(i32 noundef %2315, ptr noundef nonnull @.str.4) #9
  %2317 = load i32, ptr %137, align 4, !tbaa !5
  %2318 = call ptr @s2n_strerror_debug(i32 noundef %2317, ptr noundef nonnull @.str.4) #9
  %2319 = load i32, ptr %191, align 4, !tbaa !5
  %2320 = call ptr @strerror(i32 noundef %2319) #9
  %2321 = load i32, ptr %191, align 4, !tbaa !5
  %2322 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2313, ptr noundef nonnull %.str.5.sink1298, i32 noundef %2314, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 227, ptr noundef %2316, ptr noundef %2318, ptr noundef %2320, i32 noundef %2321) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2323:                                             ; preds = %2297
  %2324 = load i32, ptr @test_count, align 4, !tbaa !5
  %2325 = add nsw i32 %2324, 1
  store i32 %2325, ptr @test_count, align 4, !tbaa !5
  %2326 = call i32 @s2n_connection_free(ptr noundef nonnull %2190) #9
  %2327 = icmp eq i32 %2326, -1
  br i1 %2327, label %2328, label %2350

2328:                                             ; preds = %2323
  %2329 = load i32, ptr %191, align 4, !tbaa !5
  %2330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2331 = call i32 @s2n_print_stacktrace(ptr noundef %2330) #9
  %2332 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2333 = trunc nuw i8 %2332 to i1
  br i1 %2333, label %2334, label %2338

2334:                                             ; preds = %2328
  %2335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2336 = call i32 @fileno(ptr noundef %2335) #9
  %2337 = call i32 @isatty(i32 noundef %2336) #9
  %.not485 = icmp eq i32 %2337, 0
  br i1 %.not485, label %2338, label %2339

2338:                                             ; preds = %2334, %2328
  br label %2339

2339:                                             ; preds = %2334, %2338
  %.str.5.sink1307 = phi ptr [ @.str.5, %2338 ], [ @.str.2, %2334 ]
  store i32 %2329, ptr %191, align 4, !tbaa !5
  %2340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2341 = load i32, ptr @test_count, align 4, !tbaa !5
  %2342 = load i32, ptr %137, align 4, !tbaa !5
  %2343 = call ptr @s2n_strerror(i32 noundef %2342, ptr noundef nonnull @.str.4) #9
  %2344 = load i32, ptr %137, align 4, !tbaa !5
  %2345 = call ptr @s2n_strerror_debug(i32 noundef %2344, ptr noundef nonnull @.str.4) #9
  %2346 = load i32, ptr %191, align 4, !tbaa !5
  %2347 = call ptr @strerror(i32 noundef %2346) #9
  %2348 = load i32, ptr %191, align 4, !tbaa !5
  %2349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2340, ptr noundef nonnull %.str.5.sink1307, i32 noundef %2341, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 229, ptr noundef %2343, ptr noundef %2345, ptr noundef %2347, i32 noundef %2348) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2350:                                             ; preds = %2323
  %2351 = load i32, ptr @test_count, align 4, !tbaa !5
  %2352 = add nsw i32 %2351, 1
  store i32 %2352, ptr @test_count, align 4, !tbaa !5
  %2353 = call i32 @s2n_config_free(ptr noundef nonnull %2136) #9
  %2354 = icmp eq i32 %2353, -1
  br i1 %2354, label %2355, label %2377

2355:                                             ; preds = %2350
  %2356 = load i32, ptr %191, align 4, !tbaa !5
  %2357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2358 = call i32 @s2n_print_stacktrace(ptr noundef %2357) #9
  %2359 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2360 = trunc nuw i8 %2359 to i1
  br i1 %2360, label %2361, label %2365

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

2365:                                             ; preds = %2361, %2355
  br label %2366

2366:                                             ; preds = %2361, %2365
  %.str.5.sink1316 = phi ptr [ @.str.5, %2365 ], [ @.str.2, %2361 ]
  store i32 %2356, ptr %191, align 4, !tbaa !5
  %2367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2368 = load i32, ptr @test_count, align 4, !tbaa !5
  %2369 = load i32, ptr %137, align 4, !tbaa !5
  %2370 = call ptr @s2n_strerror(i32 noundef %2369, ptr noundef nonnull @.str.4) #9
  %2371 = load i32, ptr %137, align 4, !tbaa !5
  %2372 = call ptr @s2n_strerror_debug(i32 noundef %2371, ptr noundef nonnull @.str.4) #9
  %2373 = load i32, ptr %191, align 4, !tbaa !5
  %2374 = call ptr @strerror(i32 noundef %2373) #9
  %2375 = load i32, ptr %191, align 4, !tbaa !5
  %2376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2367, ptr noundef nonnull %.str.5.sink1316, i32 noundef %2368, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 230, ptr noundef %2370, ptr noundef %2372, ptr noundef %2374, i32 noundef %2375) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2377:                                             ; preds = %2350
  %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 = call ptr @s2n_config_new() #9
  %2381 = icmp eq ptr %2380, null
  br i1 %2381, label %2382, label %2404

2382:                                             ; preds = %2377
  %2383 = load i32, ptr %191, align 4, !tbaa !5
  %2384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2385 = call i32 @s2n_print_stacktrace(ptr noundef %2384) #9
  %2386 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2387 = trunc nuw i8 %2386 to i1
  br i1 %2387, label %2388, label %2392

2388:                                             ; preds = %2382
  %2389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2390 = call i32 @fileno(ptr noundef %2389) #9
  %2391 = call i32 @isatty(i32 noundef %2390) #9
  %.not483 = icmp eq i32 %2391, 0
  br i1 %.not483, label %2392, label %2393

2392:                                             ; preds = %2388, %2382
  br label %2393

2393:                                             ; preds = %2388, %2392
  %.str.5.sink1325 = phi ptr [ @.str.5, %2392 ], [ @.str.2, %2388 ]
  store i32 %2383, ptr %191, align 4, !tbaa !5
  %2394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2395 = load i32, ptr @test_count, align 4, !tbaa !5
  %2396 = load i32, ptr %137, align 4, !tbaa !5
  %2397 = call ptr @s2n_strerror(i32 noundef %2396, ptr noundef nonnull @.str.4) #9
  %2398 = load i32, ptr %137, align 4, !tbaa !5
  %2399 = call ptr @s2n_strerror_debug(i32 noundef %2398, ptr noundef nonnull @.str.4) #9
  %2400 = load i32, ptr %191, align 4, !tbaa !5
  %2401 = call ptr @strerror(i32 noundef %2400) #9
  %2402 = load i32, ptr %191, align 4, !tbaa !5
  %2403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2394, ptr noundef nonnull %.str.5.sink1325, i32 noundef %2395, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 236, ptr noundef %2397, ptr noundef %2399, ptr noundef %2401, i32 noundef %2402) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2404:                                             ; preds = %2377
  %2405 = load i32, ptr @test_count, align 4, !tbaa !5
  %2406 = add nsw i32 %2405, 1
  store i32 %2406, ptr @test_count, align 4, !tbaa !5
  %2407 = call i32 @s2n_config_set_alert_behavior(ptr noundef nonnull %2380, i32 noundef 1) #9
  %2408 = icmp eq i32 %2407, -1
  br i1 %2408, label %2409, label %2431

2409:                                             ; preds = %2404
  %2410 = load i32, ptr %191, align 4, !tbaa !5
  %2411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2412 = call i32 @s2n_print_stacktrace(ptr noundef %2411) #9
  %2413 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2414 = trunc nuw i8 %2413 to i1
  br i1 %2414, label %2415, label %2419

2415:                                             ; preds = %2409
  %2416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2417 = call i32 @fileno(ptr noundef %2416) #9
  %2418 = call i32 @isatty(i32 noundef %2417) #9
  %.not482 = icmp eq i32 %2418, 0
  br i1 %.not482, label %2419, label %2420

2419:                                             ; preds = %2415, %2409
  br label %2420

2420:                                             ; preds = %2415, %2419
  %.str.5.sink1334 = phi ptr [ @.str.5, %2419 ], [ @.str.2, %2415 ]
  store i32 %2410, ptr %191, align 4, !tbaa !5
  %2421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2422 = load i32, ptr @test_count, align 4, !tbaa !5
  %2423 = load i32, ptr %137, align 4, !tbaa !5
  %2424 = call ptr @s2n_strerror(i32 noundef %2423, ptr noundef nonnull @.str.4) #9
  %2425 = load i32, ptr %137, align 4, !tbaa !5
  %2426 = call ptr @s2n_strerror_debug(i32 noundef %2425, ptr noundef nonnull @.str.4) #9
  %2427 = load i32, ptr %191, align 4, !tbaa !5
  %2428 = call ptr @strerror(i32 noundef %2427) #9
  %2429 = load i32, ptr %191, align 4, !tbaa !5
  %2430 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2421, ptr noundef nonnull %.str.5.sink1334, i32 noundef %2422, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 237, ptr noundef %2424, ptr noundef %2426, ptr noundef %2428, i32 noundef %2429) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2431:                                             ; preds = %2404
  %2432 = load i32, ptr @test_count, align 4, !tbaa !5
  %2433 = add nsw i32 %2432, 1
  store i32 %2433, ptr @test_count, align 4, !tbaa !5
  %2434 = call ptr @s2n_connection_new(i32 noundef 1) #9
  %2435 = icmp eq ptr %2434, null
  br i1 %2435, label %2436, label %2458

2436:                                             ; preds = %2431
  %2437 = load i32, ptr %191, align 4, !tbaa !5
  %2438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2439 = call i32 @s2n_print_stacktrace(ptr noundef %2438) #9
  %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 = %2436
  %2443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2444 = call i32 @fileno(ptr noundef %2443) #9
  %2445 = call i32 @isatty(i32 noundef %2444) #9
  %.not481 = icmp eq i32 %2445, 0
  br i1 %.not481, label %2446, label %2447

2446:                                             ; preds = %2442, %2436
  br label %2447

2447:                                             ; preds = %2442, %2446
  %.str.5.sink1343 = phi ptr [ @.str.5, %2446 ], [ @.str.2, %2442 ]
  store i32 %2437, ptr %191, align 4, !tbaa !5
  %2448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2449 = load i32, ptr @test_count, align 4, !tbaa !5
  %2450 = load i32, ptr %137, align 4, !tbaa !5
  %2451 = call ptr @s2n_strerror(i32 noundef %2450, ptr noundef nonnull @.str.4) #9
  %2452 = load i32, ptr %137, align 4, !tbaa !5
  %2453 = call ptr @s2n_strerror_debug(i32 noundef %2452, ptr noundef nonnull @.str.4) #9
  %2454 = load i32, ptr %191, align 4, !tbaa !5
  %2455 = call ptr @strerror(i32 noundef %2454) #9
  %2456 = load i32, ptr %191, align 4, !tbaa !5
  %2457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2448, ptr noundef nonnull %.str.5.sink1343, i32 noundef %2449, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 240, ptr noundef %2451, ptr noundef %2453, ptr noundef %2455, i32 noundef %2456) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2458:                                             ; preds = %2431
  %2459 = load i32, ptr @test_count, align 4, !tbaa !5
  %2460 = add nsw i32 %2459, 1
  store i32 %2460, ptr @test_count, align 4, !tbaa !5
  %2461 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2434, ptr noundef nonnull %2380) #9
  %2462 = icmp eq i32 %2461, -1
  br i1 %2462, label %2463, label %2485

2463:                                             ; preds = %2458
  %2464 = load i32, ptr %191, align 4, !tbaa !5
  %2465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2466 = call i32 @s2n_print_stacktrace(ptr noundef %2465) #9
  %2467 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2468 = trunc nuw i8 %2467 to i1
  br i1 %2468, label %2469, label %2473

2469:                                             ; preds = %2463
  %2470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2471 = call i32 @fileno(ptr noundef %2470) #9
  %2472 = call i32 @isatty(i32 noundef %2471) #9
  %.not480 = icmp eq i32 %2472, 0
  br i1 %.not480, label %2473, label %2474

2473:                                             ; preds = %2469, %2463
  br label %2474

2474:                                             ; preds = %2469, %2473
  %.str.5.sink1352 = phi ptr [ @.str.5, %2473 ], [ @.str.2, %2469 ]
  store i32 %2464, ptr %191, align 4, !tbaa !5
  %2475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2476 = load i32, ptr @test_count, align 4, !tbaa !5
  %2477 = load i32, ptr %137, align 4, !tbaa !5
  %2478 = call ptr @s2n_strerror(i32 noundef %2477, ptr noundef nonnull @.str.4) #9
  %2479 = load i32, ptr %137, align 4, !tbaa !5
  %2480 = call ptr @s2n_strerror_debug(i32 noundef %2479, ptr noundef nonnull @.str.4) #9
  %2481 = load i32, ptr %191, align 4, !tbaa !5
  %2482 = call ptr @strerror(i32 noundef %2481) #9
  %2483 = load i32, ptr %191, align 4, !tbaa !5
  %2484 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2475, ptr noundef nonnull %.str.5.sink1352, i32 noundef %2476, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 241, ptr noundef %2478, ptr noundef %2480, ptr noundef %2482, i32 noundef %2483) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2485:                                             ; preds = %2458
  %2486 = getelementptr inbounds i8, ptr %2434, i64 220
  store i8 34, ptr %2486, align 4, !tbaa !51
  %2487 = load i32, ptr @test_count, align 4, !tbaa !5
  %2488 = add nsw i32 %2487, 1
  store i32 %2488, ptr @test_count, align 4, !tbaa !5
  %2489 = getelementptr inbounds i8, ptr %2434, i64 1856
  %2490 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %2489, ptr noundef nonnull %6, i32 noundef 2) #9
  %2491 = icmp eq i32 %2490, -1
  br i1 %2491, label %2492, label %2514

2492:                                             ; preds = %2485
  %2493 = load i32, ptr %191, align 4, !tbaa !5
  %2494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2495 = call i32 @s2n_print_stacktrace(ptr noundef %2494) #9
  %2496 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2497 = trunc nuw i8 %2496 to i1
  br i1 %2497, label %2498, label %2502

2498:                                             ; preds = %2492
  %2499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2500 = call i32 @fileno(ptr noundef %2499) #9
  %2501 = call i32 @isatty(i32 noundef %2500) #9
  %.not479 = icmp eq i32 %2501, 0
  br i1 %.not479, label %2502, label %2503

2502:                                             ; preds = %2498, %2492
  br label %2503

2503:                                             ; preds = %2498, %2502
  %.str.5.sink1361 = phi ptr [ @.str.5, %2502 ], [ @.str.2, %2498 ]
  store i32 %2493, ptr %191, align 4, !tbaa !5
  %2504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2505 = load i32, ptr @test_count, align 4, !tbaa !5
  %2506 = load i32, ptr %137, align 4, !tbaa !5
  %2507 = call ptr @s2n_strerror(i32 noundef %2506, ptr noundef nonnull @.str.4) #9
  %2508 = load i32, ptr %137, align 4, !tbaa !5
  %2509 = call ptr @s2n_strerror_debug(i32 noundef %2508, ptr noundef nonnull @.str.4) #9
  %2510 = load i32, ptr %191, align 4, !tbaa !5
  %2511 = call ptr @strerror(i32 noundef %2510) #9
  %2512 = load i32, ptr %191, align 4, !tbaa !5
  %2513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2504, ptr noundef nonnull %.str.5.sink1361, i32 noundef %2505, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 244, ptr noundef %2507, ptr noundef %2509, ptr noundef %2511, i32 noundef %2512) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2514:                                             ; preds = %2485
  %2515 = load i32, ptr @test_count, align 4, !tbaa !5
  %2516 = add nsw i32 %2515, 1
  store i32 %2516, ptr @test_count, align 4, !tbaa !5
  %2517 = call i32 @s2n_process_alert_fragment(ptr noundef nonnull %2434) #9
  %2518 = icmp eq i32 %2517, -1
  br i1 %2518, label %2541, label %2519

2519:                                             ; preds = %2514
  %2520 = load i32, ptr %191, align 4, !tbaa !5
  %2521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2522 = call i32 @s2n_print_stacktrace(ptr noundef %2521) #9
  %2523 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2524 = trunc nuw i8 %2523 to i1
  br i1 %2524, label %2525, label %2529

2525:                                             ; preds = %2519
  %2526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2527 = call i32 @fileno(ptr noundef %2526) #9
  %2528 = call i32 @isatty(i32 noundef %2527) #9
  %.not420 = icmp eq i32 %2528, 0
  br i1 %.not420, label %2529, label %2530

2529:                                             ; preds = %2525, %2519
  br label %2530

2530:                                             ; preds = %2525, %2529
  %.str.5.sink1370 = phi ptr [ @.str.5, %2529 ], [ @.str.2, %2525 ]
  store i32 %2520, ptr %191, align 4, !tbaa !5
  %2531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2532 = load i32, ptr @test_count, align 4, !tbaa !5
  %2533 = load i32, ptr %137, align 4, !tbaa !5
  %2534 = call ptr @s2n_strerror(i32 noundef %2533, ptr noundef nonnull @.str.4) #9
  %2535 = load i32, ptr %137, align 4, !tbaa !5
  %2536 = call ptr @s2n_strerror_debug(i32 noundef %2535, ptr noundef nonnull @.str.4) #9
  %2537 = load i32, ptr %191, align 4, !tbaa !5
  %2538 = call ptr @strerror(i32 noundef %2537) #9
  %2539 = load i32, ptr %191, align 4, !tbaa !5
  %2540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2531, ptr noundef nonnull %.str.5.sink1370, i32 noundef %2532, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 246, ptr noundef %2534, ptr noundef %2536, ptr noundef %2538, i32 noundef %2539) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2541:                                             ; preds = %2514
  %2542 = load i32, ptr @test_count, align 4, !tbaa !5
  %2543 = add nsw i32 %2542, 1
  store i32 %2543, ptr @test_count, align 4, !tbaa !5
  %2544 = load i32, ptr %137, align 4, !tbaa !5
  %2545 = icmp eq i32 %2544, 268435456
  br i1 %2545, label %2568, label %2546

2546:                                             ; preds = %2541
  %2547 = load i32, ptr %191, align 4, !tbaa !5
  %2548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2549 = call i32 @s2n_print_stacktrace(ptr noundef %2548) #9
  %2550 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2551 = trunc nuw i8 %2550 to i1
  br i1 %2551, label %2552, label %2556

2552:                                             ; preds = %2546
  %2553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2554 = call i32 @fileno(ptr noundef %2553) #9
  %2555 = call i32 @isatty(i32 noundef %2554) #9
  %.not421 = icmp eq i32 %2555, 0
  br i1 %.not421, label %2556, label %2557

2556:                                             ; preds = %2552, %2546
  br label %2557

2557:                                             ; preds = %2552, %2556
  %.str.5.sink1379 = phi ptr [ @.str.5, %2556 ], [ @.str.2, %2552 ]
  store i32 %2547, ptr %191, align 4, !tbaa !5
  %2558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2559 = load i32, ptr @test_count, align 4, !tbaa !5
  %2560 = load i32, ptr %137, align 4, !tbaa !5
  %2561 = call ptr @s2n_strerror(i32 noundef %2560, ptr noundef nonnull @.str.4) #9
  %2562 = load i32, ptr %137, align 4, !tbaa !5
  %2563 = call ptr @s2n_strerror_debug(i32 noundef %2562, ptr noundef nonnull @.str.4) #9
  %2564 = load i32, ptr %191, align 4, !tbaa !5
  %2565 = call ptr @strerror(i32 noundef %2564) #9
  %2566 = load i32, ptr %191, align 4, !tbaa !5
  %2567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2558, ptr noundef nonnull %.str.5.sink1379, i32 noundef %2559, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 246, ptr noundef %2561, ptr noundef %2563, ptr noundef %2565, i32 noundef %2566) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2568:                                             ; preds = %2541
  %2569 = add nsw i32 %2542, 2
  store i32 %2569, ptr @test_count, align 4, !tbaa !5
  %2570 = call ptr @s2n_strerror_debug(i32 noundef 268435456, ptr noundef nonnull @.str.4) #9
  %2571 = icmp eq ptr %2570, null
  br i1 %2571, label %2572, label %2594

2572:                                             ; preds = %2568
  %2573 = load i32, ptr %191, align 4, !tbaa !5
  %2574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2575 = call i32 @s2n_print_stacktrace(ptr noundef %2574) #9
  %2576 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2577 = trunc nuw i8 %2576 to i1
  br i1 %2577, label %2578, label %2582

2578:                                             ; preds = %2572
  %2579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2580 = call i32 @fileno(ptr noundef %2579) #9
  %2581 = call i32 @isatty(i32 noundef %2580) #9
  %.not478 = icmp eq i32 %2581, 0
  br i1 %.not478, label %2582, label %2583

2582:                                             ; preds = %2578, %2572
  br label %2583

2583:                                             ; preds = %2578, %2582
  %.str.5.sink1388 = phi ptr [ @.str.5, %2582 ], [ @.str.2, %2578 ]
  store i32 %2573, ptr %191, align 4, !tbaa !5
  %2584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2585 = load i32, ptr @test_count, align 4, !tbaa !5
  %2586 = load i32, ptr %137, align 4, !tbaa !5
  %2587 = call ptr @s2n_strerror(i32 noundef %2586, ptr noundef nonnull @.str.4) #9
  %2588 = load i32, ptr %137, align 4, !tbaa !5
  %2589 = call ptr @s2n_strerror_debug(i32 noundef %2588, ptr noundef nonnull @.str.4) #9
  %2590 = load i32, ptr %191, align 4, !tbaa !5
  %2591 = call ptr @strerror(i32 noundef %2590) #9
  %2592 = load i32, ptr %191, align 4, !tbaa !5
  %2593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2584, ptr noundef nonnull %.str.5.sink1388, i32 noundef %2585, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 246, ptr noundef %2587, ptr noundef %2589, ptr noundef %2591, i32 noundef %2592) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2594:                                             ; preds = %2568
  store i32 0, ptr %137, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %191, align 4, !tbaa !5
  %2595 = load i32, ptr @test_count, align 4, !tbaa !5
  %2596 = add nsw i32 %2595, 1
  store i32 %2596, ptr @test_count, align 4, !tbaa !5
  %2597 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef nonnull %2434, i32 noundef 3) #9
  br i1 %2597, label %2620, label %2598

2598:                                             ; preds = %2594
  %2599 = load i32, ptr %191, align 4, !tbaa !5
  %2600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2601 = call i32 @s2n_print_stacktrace(ptr noundef %2600) #9
  %2602 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2603 = trunc nuw i8 %2602 to i1
  br i1 %2603, label %2604, label %2608

2604:                                             ; preds = %2598
  %2605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2606 = call i32 @fileno(ptr noundef %2605) #9
  %2607 = call i32 @isatty(i32 noundef %2606) #9
  %.not422 = icmp eq i32 %2607, 0
  br i1 %.not422, label %2608, label %2609

2608:                                             ; preds = %2604, %2598
  br label %2609

2609:                                             ; preds = %2604, %2608
  %.str.5.sink1397 = phi ptr [ @.str.5, %2608 ], [ @.str.2, %2604 ]
  store i32 %2599, ptr %191, align 4, !tbaa !5
  %2610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2611 = load i32, ptr @test_count, align 4, !tbaa !5
  %2612 = load i32, ptr %137, align 4, !tbaa !5
  %2613 = call ptr @s2n_strerror(i32 noundef %2612, ptr noundef nonnull @.str.4) #9
  %2614 = load i32, ptr %137, align 4, !tbaa !5
  %2615 = call ptr @s2n_strerror_debug(i32 noundef %2614, ptr noundef nonnull @.str.4) #9
  %2616 = load i32, ptr %191, align 4, !tbaa !5
  %2617 = call ptr @strerror(i32 noundef %2616) #9
  %2618 = load i32, ptr %191, align 4, !tbaa !5
  %2619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2610, ptr noundef nonnull %.str.5.sink1397, i32 noundef %2611, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 247, ptr noundef %2613, ptr noundef %2615, ptr noundef %2617, i32 noundef %2618) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2620:                                             ; preds = %2594
  %2621 = load i32, ptr @test_count, align 4, !tbaa !5
  %2622 = add nsw i32 %2621, 1
  store i32 %2622, ptr @test_count, align 4, !tbaa !5
  %2623 = call i32 @s2n_connection_free(ptr noundef nonnull %2434) #9
  %2624 = icmp eq i32 %2623, -1
  br i1 %2624, label %2625, label %2647

2625:                                             ; preds = %2620
  %2626 = load i32, ptr %191, align 4, !tbaa !5
  %2627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2628 = call i32 @s2n_print_stacktrace(ptr noundef %2627) #9
  %2629 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2630 = trunc nuw i8 %2629 to i1
  br i1 %2630, label %2631, label %2635

2631:                                             ; preds = %2625
  %2632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2633 = call i32 @fileno(ptr noundef %2632) #9
  %2634 = call i32 @isatty(i32 noundef %2633) #9
  %.not477 = icmp eq i32 %2634, 0
  br i1 %.not477, label %2635, label %2636

2635:                                             ; preds = %2631, %2625
  br label %2636

2636:                                             ; preds = %2631, %2635
  %.str.5.sink1406 = phi ptr [ @.str.5, %2635 ], [ @.str.2, %2631 ]
  store i32 %2626, ptr %191, align 4, !tbaa !5
  %2637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2638 = load i32, ptr @test_count, align 4, !tbaa !5
  %2639 = load i32, ptr %137, align 4, !tbaa !5
  %2640 = call ptr @s2n_strerror(i32 noundef %2639, ptr noundef nonnull @.str.4) #9
  %2641 = load i32, ptr %137, align 4, !tbaa !5
  %2642 = call ptr @s2n_strerror_debug(i32 noundef %2641, ptr noundef nonnull @.str.4) #9
  %2643 = load i32, ptr %191, align 4, !tbaa !5
  %2644 = call ptr @strerror(i32 noundef %2643) #9
  %2645 = load i32, ptr %191, align 4, !tbaa !5
  %2646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2637, ptr noundef nonnull %.str.5.sink1406, i32 noundef %2638, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 249, ptr noundef %2640, ptr noundef %2642, ptr noundef %2644, i32 noundef %2645) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2647:                                             ; preds = %2620
  %2648 = load i32, ptr @test_count, align 4, !tbaa !5
  %2649 = add nsw i32 %2648, 1
  store i32 %2649, ptr @test_count, align 4, !tbaa !5
  %2650 = call i32 @s2n_config_free(ptr noundef nonnull %2380) #9
  %2651 = icmp eq i32 %2650, -1
  br i1 %2651, label %2652, label %2674

2652:                                             ; preds = %2647
  %2653 = load i32, ptr %191, align 4, !tbaa !5
  %2654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2655 = call i32 @s2n_print_stacktrace(ptr noundef %2654) #9
  %2656 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2657 = trunc nuw i8 %2656 to i1
  br i1 %2657, label %2658, label %2662

2658:                                             ; preds = %2652
  %2659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2660 = call i32 @fileno(ptr noundef %2659) #9
  %2661 = call i32 @isatty(i32 noundef %2660) #9
  %.not476 = icmp eq i32 %2661, 0
  br i1 %.not476, label %2662, label %2663

2662:                                             ; preds = %2658, %2652
  br label %2663

2663:                                             ; preds = %2658, %2662
  %.str.5.sink1415 = phi ptr [ @.str.5, %2662 ], [ @.str.2, %2658 ]
  store i32 %2653, ptr %191, align 4, !tbaa !5
  %2664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2665 = load i32, ptr @test_count, align 4, !tbaa !5
  %2666 = load i32, ptr %137, align 4, !tbaa !5
  %2667 = call ptr @s2n_strerror(i32 noundef %2666, ptr noundef nonnull @.str.4) #9
  %2668 = load i32, ptr %137, align 4, !tbaa !5
  %2669 = call ptr @s2n_strerror_debug(i32 noundef %2668, ptr noundef nonnull @.str.4) #9
  %2670 = load i32, ptr %191, align 4, !tbaa !5
  %2671 = call ptr @strerror(i32 noundef %2670) #9
  %2672 = load i32, ptr %191, align 4, !tbaa !5
  %2673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2664, ptr noundef nonnull %.str.5.sink1415, i32 noundef %2665, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 250, ptr noundef %2667, ptr noundef %2669, ptr noundef %2671, i32 noundef %2672) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2674:                                             ; preds = %2647
  %2675 = load i32, ptr @test_count, align 4, !tbaa !5
  %2676 = add nsw i32 %2675, 1
  store i32 %2676, ptr @test_count, align 4, !tbaa !5
  %2677 = call ptr @s2n_config_new() #9
  %2678 = icmp eq ptr %2677, null
  br i1 %2678, label %2679, label %2701

2679:                                             ; preds = %2674
  %2680 = load i32, ptr %191, align 4, !tbaa !5
  %2681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2682 = call i32 @s2n_print_stacktrace(ptr noundef %2681) #9
  %2683 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2684 = trunc nuw i8 %2683 to i1
  br i1 %2684, label %2685, label %2689

2685:                                             ; preds = %2679
  %2686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2687 = call i32 @fileno(ptr noundef %2686) #9
  %2688 = call i32 @isatty(i32 noundef %2687) #9
  %.not475 = icmp eq i32 %2688, 0
  br i1 %.not475, label %2689, label %2690

2689:                                             ; preds = %2685, %2679
  br label %2690

2690:                                             ; preds = %2685, %2689
  %.str.5.sink1424 = phi ptr [ @.str.5, %2689 ], [ @.str.2, %2685 ]
  store i32 %2680, ptr %191, align 4, !tbaa !5
  %2691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2692 = load i32, ptr @test_count, align 4, !tbaa !5
  %2693 = load i32, ptr %137, align 4, !tbaa !5
  %2694 = call ptr @s2n_strerror(i32 noundef %2693, ptr noundef nonnull @.str.4) #9
  %2695 = load i32, ptr %137, align 4, !tbaa !5
  %2696 = call ptr @s2n_strerror_debug(i32 noundef %2695, ptr noundef nonnull @.str.4) #9
  %2697 = load i32, ptr %191, align 4, !tbaa !5
  %2698 = call ptr @strerror(i32 noundef %2697) #9
  %2699 = load i32, ptr %191, align 4, !tbaa !5
  %2700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2691, ptr noundef nonnull %.str.5.sink1424, i32 noundef %2692, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 256, ptr noundef %2694, ptr noundef %2696, ptr noundef %2698, i32 noundef %2699) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2701:                                             ; preds = %2674
  %2702 = load i32, ptr @test_count, align 4, !tbaa !5
  %2703 = add nsw i32 %2702, 1
  store i32 %2703, ptr @test_count, align 4, !tbaa !5
  %2704 = call ptr @s2n_connection_new(i32 noundef 1) #9
  %2705 = icmp eq ptr %2704, null
  br i1 %2705, label %2706, label %2728

2706:                                             ; preds = %2701
  %2707 = load i32, ptr %191, align 4, !tbaa !5
  %2708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2709 = call i32 @s2n_print_stacktrace(ptr noundef %2708) #9
  %2710 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2711 = trunc nuw i8 %2710 to i1
  br i1 %2711, label %2712, label %2716

2712:                                             ; preds = %2706
  %2713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2714 = call i32 @fileno(ptr noundef %2713) #9
  %2715 = call i32 @isatty(i32 noundef %2714) #9
  %.not474 = icmp eq i32 %2715, 0
  br i1 %.not474, label %2716, label %2717

2716:                                             ; preds = %2712, %2706
  br label %2717

2717:                                             ; preds = %2712, %2716
  %.str.5.sink1433 = phi ptr [ @.str.5, %2716 ], [ @.str.2, %2712 ]
  store i32 %2707, ptr %191, align 4, !tbaa !5
  %2718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2719 = load i32, ptr @test_count, align 4, !tbaa !5
  %2720 = load i32, ptr %137, align 4, !tbaa !5
  %2721 = call ptr @s2n_strerror(i32 noundef %2720, ptr noundef nonnull @.str.4) #9
  %2722 = load i32, ptr %137, align 4, !tbaa !5
  %2723 = call ptr @s2n_strerror_debug(i32 noundef %2722, ptr noundef nonnull @.str.4) #9
  %2724 = load i32, ptr %191, align 4, !tbaa !5
  %2725 = call ptr @strerror(i32 noundef %2724) #9
  %2726 = load i32, ptr %191, align 4, !tbaa !5
  %2727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2718, ptr noundef nonnull %.str.5.sink1433, i32 noundef %2719, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 259, ptr noundef %2721, ptr noundef %2723, ptr noundef %2725, i32 noundef %2726) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2728:                                             ; preds = %2701
  %2729 = load i32, ptr @test_count, align 4, !tbaa !5
  %2730 = add nsw i32 %2729, 1
  store i32 %2730, ptr @test_count, align 4, !tbaa !5
  %2731 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2704, ptr noundef nonnull %2677) #9
  %2732 = icmp eq i32 %2731, -1
  br i1 %2732, label %2733, label %2755

2733:                                             ; preds = %2728
  %2734 = load i32, ptr %191, align 4, !tbaa !5
  %2735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2736 = call i32 @s2n_print_stacktrace(ptr noundef %2735) #9
  %2737 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2738 = trunc nuw i8 %2737 to i1
  br i1 %2738, label %2739, label %2743

2739:                                             ; preds = %2733
  %2740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2741 = call i32 @fileno(ptr noundef %2740) #9
  %2742 = call i32 @isatty(i32 noundef %2741) #9
  %.not473 = icmp eq i32 %2742, 0
  br i1 %.not473, label %2743, label %2744

2743:                                             ; preds = %2739, %2733
  br label %2744

2744:                                             ; preds = %2739, %2743
  %.str.5.sink1442 = phi ptr [ @.str.5, %2743 ], [ @.str.2, %2739 ]
  store i32 %2734, ptr %191, align 4, !tbaa !5
  %2745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2746 = load i32, ptr @test_count, align 4, !tbaa !5
  %2747 = load i32, ptr %137, align 4, !tbaa !5
  %2748 = call ptr @s2n_strerror(i32 noundef %2747, ptr noundef nonnull @.str.4) #9
  %2749 = load i32, ptr %137, align 4, !tbaa !5
  %2750 = call ptr @s2n_strerror_debug(i32 noundef %2749, ptr noundef nonnull @.str.4) #9
  %2751 = load i32, ptr %191, align 4, !tbaa !5
  %2752 = call ptr @strerror(i32 noundef %2751) #9
  %2753 = load i32, ptr %191, align 4, !tbaa !5
  %2754 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2745, ptr noundef nonnull %.str.5.sink1442, i32 noundef %2746, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 260, ptr noundef %2748, ptr noundef %2750, ptr noundef %2752, i32 noundef %2753) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2755:                                             ; preds = %2728
  %2756 = getelementptr inbounds i8, ptr %2704, i64 220
  store i8 34, ptr %2756, align 4, !tbaa !51
  %2757 = load i32, ptr @test_count, align 4, !tbaa !5
  %2758 = add nsw i32 %2757, 1
  store i32 %2758, ptr @test_count, align 4, !tbaa !5
  %2759 = getelementptr inbounds i8, ptr %2704, i64 1856
  %2760 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %2759, ptr noundef nonnull %7, i32 noundef 2) #9
  %2761 = icmp eq i32 %2760, -1
  br i1 %2761, label %2762, label %2784

2762:                                             ; preds = %2755
  %2763 = load i32, ptr %191, align 4, !tbaa !5
  %2764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2765 = call i32 @s2n_print_stacktrace(ptr noundef %2764) #9
  %2766 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2767 = trunc nuw i8 %2766 to i1
  br i1 %2767, label %2768, label %2772

2768:                                             ; preds = %2762
  %2769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2770 = call i32 @fileno(ptr noundef %2769) #9
  %2771 = call i32 @isatty(i32 noundef %2770) #9
  %.not472 = icmp eq i32 %2771, 0
  br i1 %.not472, label %2772, label %2773

2772:                                             ; preds = %2768, %2762
  br label %2773

2773:                                             ; preds = %2768, %2772
  %.str.5.sink1451 = phi ptr [ @.str.5, %2772 ], [ @.str.2, %2768 ]
  store i32 %2763, ptr %191, align 4, !tbaa !5
  %2774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2775 = load i32, ptr @test_count, align 4, !tbaa !5
  %2776 = load i32, ptr %137, align 4, !tbaa !5
  %2777 = call ptr @s2n_strerror(i32 noundef %2776, ptr noundef nonnull @.str.4) #9
  %2778 = load i32, ptr %137, align 4, !tbaa !5
  %2779 = call ptr @s2n_strerror_debug(i32 noundef %2778, ptr noundef nonnull @.str.4) #9
  %2780 = load i32, ptr %191, align 4, !tbaa !5
  %2781 = call ptr @strerror(i32 noundef %2780) #9
  %2782 = load i32, ptr %191, align 4, !tbaa !5
  %2783 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2774, ptr noundef nonnull %.str.5.sink1451, i32 noundef %2775, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 263, ptr noundef %2777, ptr noundef %2779, ptr noundef %2781, i32 noundef %2782) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2784:                                             ; preds = %2755
  %2785 = load i32, ptr @test_count, align 4, !tbaa !5
  %2786 = add nsw i32 %2785, 1
  store i32 %2786, ptr @test_count, align 4, !tbaa !5
  %2787 = call i32 @s2n_process_alert_fragment(ptr noundef nonnull %2704) #9
  %2788 = icmp eq i32 %2787, -1
  br i1 %2788, label %2789, label %2811

2789:                                             ; preds = %2784
  %2790 = load i32, ptr %191, align 4, !tbaa !5
  %2791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2792 = call i32 @s2n_print_stacktrace(ptr noundef %2791) #9
  %2793 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2794 = trunc nuw i8 %2793 to i1
  br i1 %2794, label %2795, label %2799

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

2799:                                             ; preds = %2795, %2789
  br label %2800

2800:                                             ; preds = %2795, %2799
  %.str.5.sink1460 = phi ptr [ @.str.5, %2799 ], [ @.str.2, %2795 ]
  store i32 %2790, ptr %191, align 4, !tbaa !5
  %2801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2802 = load i32, ptr @test_count, align 4, !tbaa !5
  %2803 = load i32, ptr %137, align 4, !tbaa !5
  %2804 = call ptr @s2n_strerror(i32 noundef %2803, ptr noundef nonnull @.str.4) #9
  %2805 = load i32, ptr %137, align 4, !tbaa !5
  %2806 = call ptr @s2n_strerror_debug(i32 noundef %2805, ptr noundef nonnull @.str.4) #9
  %2807 = load i32, ptr %191, align 4, !tbaa !5
  %2808 = call ptr @strerror(i32 noundef %2807) #9
  %2809 = load i32, ptr %191, align 4, !tbaa !5
  %2810 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2801, ptr noundef nonnull %.str.5.sink1460, i32 noundef %2802, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 265, ptr noundef %2804, ptr noundef %2806, ptr noundef %2808, i32 noundef %2809) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2811:                                             ; preds = %2784
  %2812 = load i32, ptr @test_count, align 4, !tbaa !5
  %2813 = add nsw i32 %2812, 1
  store i32 %2813, ptr @test_count, align 4, !tbaa !5
  %2814 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef nonnull %2704, i32 noundef 2) #9
  br i1 %2814, label %2837, label %2815

2815:                                             ; preds = %2811
  %2816 = load i32, ptr %191, align 4, !tbaa !5
  %2817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2818 = call i32 @s2n_print_stacktrace(ptr noundef %2817) #9
  %2819 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2820 = trunc nuw i8 %2819 to i1
  br i1 %2820, label %2821, label %2825

2821:                                             ; preds = %2815
  %2822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2823 = call i32 @fileno(ptr noundef %2822) #9
  %2824 = call i32 @isatty(i32 noundef %2823) #9
  %.not423 = icmp eq i32 %2824, 0
  br i1 %.not423, label %2825, label %2826

2825:                                             ; preds = %2821, %2815
  br label %2826

2826:                                             ; preds = %2821, %2825
  %.str.5.sink1469 = phi ptr [ @.str.5, %2825 ], [ @.str.2, %2821 ]
  store i32 %2816, ptr %191, align 4, !tbaa !5
  %2827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2828 = load i32, ptr @test_count, align 4, !tbaa !5
  %2829 = load i32, ptr %137, align 4, !tbaa !5
  %2830 = call ptr @s2n_strerror(i32 noundef %2829, ptr noundef nonnull @.str.4) #9
  %2831 = load i32, ptr %137, align 4, !tbaa !5
  %2832 = call ptr @s2n_strerror_debug(i32 noundef %2831, ptr noundef nonnull @.str.4) #9
  %2833 = load i32, ptr %191, align 4, !tbaa !5
  %2834 = call ptr @strerror(i32 noundef %2833) #9
  %2835 = load i32, ptr %191, align 4, !tbaa !5
  %2836 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2827, ptr noundef nonnull %.str.5.sink1469, i32 noundef %2828, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 268, ptr noundef %2830, ptr noundef %2832, ptr noundef %2834, i32 noundef %2835) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2837:                                             ; preds = %2811
  %2838 = load i32, ptr @test_count, align 4, !tbaa !5
  %2839 = add nsw i32 %2838, 1
  store i32 %2839, ptr @test_count, align 4, !tbaa !5
  %2840 = call i32 @s2n_connection_free(ptr noundef nonnull %2704) #9
  %2841 = icmp eq i32 %2840, -1
  br i1 %2841, label %2842, label %2864

2842:                                             ; preds = %2837
  %2843 = load i32, ptr %191, align 4, !tbaa !5
  %2844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2845 = call i32 @s2n_print_stacktrace(ptr noundef %2844) #9
  %2846 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2847 = trunc nuw i8 %2846 to i1
  br i1 %2847, label %2848, label %2852

2848:                                             ; preds = %2842
  %2849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2850 = call i32 @fileno(ptr noundef %2849) #9
  %2851 = call i32 @isatty(i32 noundef %2850) #9
  %.not470 = icmp eq i32 %2851, 0
  br i1 %.not470, label %2852, label %2853

2852:                                             ; preds = %2848, %2842
  br label %2853

2853:                                             ; preds = %2848, %2852
  %.str.5.sink1478 = phi ptr [ @.str.5, %2852 ], [ @.str.2, %2848 ]
  store i32 %2843, ptr %191, align 4, !tbaa !5
  %2854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2855 = load i32, ptr @test_count, align 4, !tbaa !5
  %2856 = load i32, ptr %137, align 4, !tbaa !5
  %2857 = call ptr @s2n_strerror(i32 noundef %2856, ptr noundef nonnull @.str.4) #9
  %2858 = load i32, ptr %137, align 4, !tbaa !5
  %2859 = call ptr @s2n_strerror_debug(i32 noundef %2858, ptr noundef nonnull @.str.4) #9
  %2860 = load i32, ptr %191, align 4, !tbaa !5
  %2861 = call ptr @strerror(i32 noundef %2860) #9
  %2862 = load i32, ptr %191, align 4, !tbaa !5
  %2863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2854, ptr noundef nonnull %.str.5.sink1478, i32 noundef %2855, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 270, ptr noundef %2857, ptr noundef %2859, ptr noundef %2861, i32 noundef %2862) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2864:                                             ; preds = %2837
  %2865 = load i32, ptr @test_count, align 4, !tbaa !5
  %2866 = add nsw i32 %2865, 1
  store i32 %2866, ptr @test_count, align 4, !tbaa !5
  %2867 = call i32 @s2n_config_free(ptr noundef nonnull %2677) #9
  %2868 = icmp eq i32 %2867, -1
  br i1 %2868, label %2869, label %2891

2869:                                             ; preds = %2864
  %2870 = load i32, ptr %191, align 4, !tbaa !5
  %2871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2872 = call i32 @s2n_print_stacktrace(ptr noundef %2871) #9
  %2873 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2874 = trunc nuw i8 %2873 to i1
  br i1 %2874, label %2875, label %2879

2875:                                             ; preds = %2869
  %2876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2877 = call i32 @fileno(ptr noundef %2876) #9
  %2878 = call i32 @isatty(i32 noundef %2877) #9
  %.not469 = icmp eq i32 %2878, 0
  br i1 %.not469, label %2879, label %2880

2879:                                             ; preds = %2875, %2869
  br label %2880

2880:                                             ; preds = %2875, %2879
  %.str.5.sink1487 = phi ptr [ @.str.5, %2879 ], [ @.str.2, %2875 ]
  store i32 %2870, ptr %191, align 4, !tbaa !5
  %2881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2882 = load i32, ptr @test_count, align 4, !tbaa !5
  %2883 = load i32, ptr %137, align 4, !tbaa !5
  %2884 = call ptr @s2n_strerror(i32 noundef %2883, ptr noundef nonnull @.str.4) #9
  %2885 = load i32, ptr %137, align 4, !tbaa !5
  %2886 = call ptr @s2n_strerror_debug(i32 noundef %2885, ptr noundef nonnull @.str.4) #9
  %2887 = load i32, ptr %191, align 4, !tbaa !5
  %2888 = call ptr @strerror(i32 noundef %2887) #9
  %2889 = load i32, ptr %191, align 4, !tbaa !5
  %2890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2881, ptr noundef nonnull %.str.5.sink1487, i32 noundef %2882, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 271, ptr noundef %2884, ptr noundef %2886, ptr noundef %2888, i32 noundef %2889) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2891:                                             ; preds = %2864
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %7) #9
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %6) #9
  %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 = call i32 @s2n_queue_reader_unsupported_protocol_version_alert(ptr noundef null) #9
  %2895 = icmp eq i32 %2894, -1
  br i1 %2895, label %2918, label %2896

2896:                                             ; preds = %2891
  %2897 = load i32, ptr %191, align 4, !tbaa !5
  %2898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2899 = call i32 @s2n_print_stacktrace(ptr noundef %2898) #9
  %2900 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2901 = trunc nuw i8 %2900 to i1
  br i1 %2901, label %2902, label %2906

2902:                                             ; preds = %2896
  %2903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2904 = call i32 @fileno(ptr noundef %2903) #9
  %2905 = call i32 @isatty(i32 noundef %2904) #9
  %.not424 = icmp eq i32 %2905, 0
  br i1 %.not424, label %2906, label %2907

2906:                                             ; preds = %2902, %2896
  br label %2907

2907:                                             ; preds = %2902, %2906
  %.str.5.sink1496 = phi ptr [ @.str.5, %2906 ], [ @.str.2, %2902 ]
  store i32 %2897, ptr %191, align 4, !tbaa !5
  %2908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2909 = load i32, ptr @test_count, align 4, !tbaa !5
  %2910 = load i32, ptr %137, align 4, !tbaa !5
  %2911 = call ptr @s2n_strerror(i32 noundef %2910, ptr noundef nonnull @.str.4) #9
  %2912 = load i32, ptr %137, align 4, !tbaa !5
  %2913 = call ptr @s2n_strerror_debug(i32 noundef %2912, ptr noundef nonnull @.str.4) #9
  %2914 = load i32, ptr %191, align 4, !tbaa !5
  %2915 = call ptr @strerror(i32 noundef %2914) #9
  %2916 = load i32, ptr %191, align 4, !tbaa !5
  %2917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2908, ptr noundef nonnull %.str.5.sink1496, i32 noundef %2909, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 280, ptr noundef %2911, ptr noundef %2913, ptr noundef %2915, i32 noundef %2916) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2918:                                             ; preds = %2891
  %2919 = load i32, ptr @test_count, align 4, !tbaa !5
  %2920 = add nsw i32 %2919, 1
  store i32 %2920, ptr @test_count, align 4, !tbaa !5
  %2921 = load i32, ptr %137, align 4, !tbaa !5
  %2922 = icmp eq i32 %2921, 402653193
  br i1 %2922, label %2945, label %2923

2923:                                             ; preds = %2918
  %2924 = load i32, ptr %191, align 4, !tbaa !5
  %2925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2926 = call i32 @s2n_print_stacktrace(ptr noundef %2925) #9
  %2927 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2928 = trunc nuw i8 %2927 to i1
  br i1 %2928, label %2929, label %2933

2929:                                             ; preds = %2923
  %2930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2931 = call i32 @fileno(ptr noundef %2930) #9
  %2932 = call i32 @isatty(i32 noundef %2931) #9
  %.not425 = icmp eq i32 %2932, 0
  br i1 %.not425, label %2933, label %2934

2933:                                             ; preds = %2929, %2923
  br label %2934

2934:                                             ; preds = %2929, %2933
  %.str.5.sink1505 = phi ptr [ @.str.5, %2933 ], [ @.str.2, %2929 ]
  store i32 %2924, ptr %191, align 4, !tbaa !5
  %2935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2936 = load i32, ptr @test_count, align 4, !tbaa !5
  %2937 = load i32, ptr %137, align 4, !tbaa !5
  %2938 = call ptr @s2n_strerror(i32 noundef %2937, ptr noundef nonnull @.str.4) #9
  %2939 = load i32, ptr %137, align 4, !tbaa !5
  %2940 = call ptr @s2n_strerror_debug(i32 noundef %2939, ptr noundef nonnull @.str.4) #9
  %2941 = load i32, ptr %191, align 4, !tbaa !5
  %2942 = call ptr @strerror(i32 noundef %2941) #9
  %2943 = load i32, ptr %191, align 4, !tbaa !5
  %2944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2935, ptr noundef nonnull %.str.5.sink1505, i32 noundef %2936, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 280, ptr noundef %2938, ptr noundef %2940, ptr noundef %2942, i32 noundef %2943) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2945:                                             ; preds = %2918
  %2946 = add nsw i32 %2919, 2
  store i32 %2946, ptr @test_count, align 4, !tbaa !5
  %2947 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #9
  %2948 = icmp eq ptr %2947, null
  br i1 %2948, label %2949, label %2971

2949:                                             ; preds = %2945
  %2950 = load i32, ptr %191, align 4, !tbaa !5
  %2951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2952 = call i32 @s2n_print_stacktrace(ptr noundef %2951) #9
  %2953 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2954 = trunc nuw i8 %2953 to i1
  br i1 %2954, label %2955, label %2959

2955:                                             ; preds = %2949
  %2956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2957 = call i32 @fileno(ptr noundef %2956) #9
  %2958 = call i32 @isatty(i32 noundef %2957) #9
  %.not468 = icmp eq i32 %2958, 0
  br i1 %.not468, label %2959, label %2960

2959:                                             ; preds = %2955, %2949
  br label %2960

2960:                                             ; preds = %2955, %2959
  %.str.5.sink1514 = phi ptr [ @.str.5, %2959 ], [ @.str.2, %2955 ]
  store i32 %2950, ptr %191, align 4, !tbaa !5
  %2961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2962 = load i32, ptr @test_count, align 4, !tbaa !5
  %2963 = load i32, ptr %137, align 4, !tbaa !5
  %2964 = call ptr @s2n_strerror(i32 noundef %2963, ptr noundef nonnull @.str.4) #9
  %2965 = load i32, ptr %137, align 4, !tbaa !5
  %2966 = call ptr @s2n_strerror_debug(i32 noundef %2965, ptr noundef nonnull @.str.4) #9
  %2967 = load i32, ptr %191, align 4, !tbaa !5
  %2968 = call ptr @strerror(i32 noundef %2967) #9
  %2969 = load i32, ptr %191, align 4, !tbaa !5
  %2970 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2961, ptr noundef nonnull %.str.5.sink1514, i32 noundef %2962, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 280, ptr noundef %2964, ptr noundef %2966, ptr noundef %2968, i32 noundef %2969) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2971:                                             ; preds = %2945
  store i32 0, ptr %137, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %191, align 4, !tbaa !5
  %2972 = load i32, ptr @test_count, align 4, !tbaa !5
  %2973 = add nsw i32 %2972, 1
  store i32 %2973, ptr @test_count, align 4, !tbaa !5
  %2974 = call i32 @s2n_queue_reader_handshake_failure_alert(ptr noundef null) #9
  %2975 = icmp eq i32 %2974, -1
  br i1 %2975, label %2998, label %2976

2976:                                             ; preds = %2971
  %2977 = load i32, ptr %191, align 4, !tbaa !5
  %2978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2979 = call i32 @s2n_print_stacktrace(ptr noundef %2978) #9
  %2980 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2981 = trunc nuw i8 %2980 to i1
  br i1 %2981, label %2982, label %2986

2982:                                             ; preds = %2976
  %2983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2984 = call i32 @fileno(ptr noundef %2983) #9
  %2985 = call i32 @isatty(i32 noundef %2984) #9
  %.not426 = icmp eq i32 %2985, 0
  br i1 %.not426, label %2986, label %2987

2986:                                             ; preds = %2982, %2976
  br label %2987

2987:                                             ; preds = %2982, %2986
  %.str.5.sink1523 = phi ptr [ @.str.5, %2986 ], [ @.str.2, %2982 ]
  store i32 %2977, ptr %191, align 4, !tbaa !5
  %2988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2989 = load i32, ptr @test_count, align 4, !tbaa !5
  %2990 = load i32, ptr %137, align 4, !tbaa !5
  %2991 = call ptr @s2n_strerror(i32 noundef %2990, ptr noundef nonnull @.str.4) #9
  %2992 = load i32, ptr %137, align 4, !tbaa !5
  %2993 = call ptr @s2n_strerror_debug(i32 noundef %2992, ptr noundef nonnull @.str.4) #9
  %2994 = load i32, ptr %191, align 4, !tbaa !5
  %2995 = call ptr @strerror(i32 noundef %2994) #9
  %2996 = load i32, ptr %191, align 4, !tbaa !5
  %2997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2988, ptr noundef nonnull %.str.5.sink1523, i32 noundef %2989, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 282, ptr noundef %2991, ptr noundef %2993, ptr noundef %2995, i32 noundef %2996) #11
  call void @exit(i32 noundef 1) #12
  unreachable

2998:                                             ; preds = %2971
  %2999 = load i32, ptr @test_count, align 4, !tbaa !5
  %3000 = add nsw i32 %2999, 1
  store i32 %3000, ptr @test_count, align 4, !tbaa !5
  %3001 = load i32, ptr %137, align 4, !tbaa !5
  %3002 = icmp eq i32 %3001, 402653193
  br i1 %3002, label %3025, label %3003

3003:                                             ; preds = %2998
  %3004 = load i32, ptr %191, align 4, !tbaa !5
  %3005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3006 = call i32 @s2n_print_stacktrace(ptr noundef %3005) #9
  %3007 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3008 = trunc nuw i8 %3007 to i1
  br i1 %3008, label %3009, label %3013

3009:                                             ; preds = %3003
  %3010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3011 = call i32 @fileno(ptr noundef %3010) #9
  %3012 = call i32 @isatty(i32 noundef %3011) #9
  %.not427 = icmp eq i32 %3012, 0
  br i1 %.not427, label %3013, label %3014

3013:                                             ; preds = %3009, %3003
  br label %3014

3014:                                             ; preds = %3009, %3013
  %.str.5.sink1532 = phi ptr [ @.str.5, %3013 ], [ @.str.2, %3009 ]
  store i32 %3004, ptr %191, align 4, !tbaa !5
  %3015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3016 = load i32, ptr @test_count, align 4, !tbaa !5
  %3017 = load i32, ptr %137, align 4, !tbaa !5
  %3018 = call ptr @s2n_strerror(i32 noundef %3017, ptr noundef nonnull @.str.4) #9
  %3019 = load i32, ptr %137, align 4, !tbaa !5
  %3020 = call ptr @s2n_strerror_debug(i32 noundef %3019, ptr noundef nonnull @.str.4) #9
  %3021 = load i32, ptr %191, align 4, !tbaa !5
  %3022 = call ptr @strerror(i32 noundef %3021) #9
  %3023 = load i32, ptr %191, align 4, !tbaa !5
  %3024 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3015, ptr noundef nonnull %.str.5.sink1532, i32 noundef %3016, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 282, ptr noundef %3018, ptr noundef %3020, ptr noundef %3022, i32 noundef %3023) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3025:                                             ; preds = %2998
  %3026 = add nsw i32 %2999, 2
  store i32 %3026, ptr @test_count, align 4, !tbaa !5
  %3027 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #9
  %3028 = icmp eq ptr %3027, null
  br i1 %3028, label %3029, label %3051

3029:                                             ; preds = %3025
  %3030 = load i32, ptr %191, align 4, !tbaa !5
  %3031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3032 = call i32 @s2n_print_stacktrace(ptr noundef %3031) #9
  %3033 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3034 = trunc nuw i8 %3033 to i1
  br i1 %3034, label %3035, label %3039

3035:                                             ; preds = %3029
  %3036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3037 = call i32 @fileno(ptr noundef %3036) #9
  %3038 = call i32 @isatty(i32 noundef %3037) #9
  %.not467 = icmp eq i32 %3038, 0
  br i1 %.not467, label %3039, label %3040

3039:                                             ; preds = %3035, %3029
  br label %3040

3040:                                             ; preds = %3035, %3039
  %.str.5.sink1541 = phi ptr [ @.str.5, %3039 ], [ @.str.2, %3035 ]
  store i32 %3030, ptr %191, align 4, !tbaa !5
  %3041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3042 = load i32, ptr @test_count, align 4, !tbaa !5
  %3043 = load i32, ptr %137, align 4, !tbaa !5
  %3044 = call ptr @s2n_strerror(i32 noundef %3043, ptr noundef nonnull @.str.4) #9
  %3045 = load i32, ptr %137, align 4, !tbaa !5
  %3046 = call ptr @s2n_strerror_debug(i32 noundef %3045, ptr noundef nonnull @.str.4) #9
  %3047 = load i32, ptr %191, align 4, !tbaa !5
  %3048 = call ptr @strerror(i32 noundef %3047) #9
  %3049 = load i32, ptr %191, align 4, !tbaa !5
  %3050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3041, ptr noundef nonnull %.str.5.sink1541, i32 noundef %3042, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 282, ptr noundef %3044, ptr noundef %3046, ptr noundef %3048, i32 noundef %3049) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3051:                                             ; preds = %3025
  store i32 0, ptr %137, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  store i32 0, ptr %191, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #9
  %3052 = call ptr @s2n_connection_new(i32 noundef 1) #9
  store ptr %3052, ptr %8, align 8, !tbaa !9
  %3053 = load i32, ptr @test_count, align 4, !tbaa !5
  %3054 = add nsw i32 %3053, 1
  store i32 %3054, ptr @test_count, align 4, !tbaa !5
  %3055 = icmp eq ptr %3052, null
  br i1 %3055, label %3056, label %3078

3056:                                             ; preds = %3051
  %3057 = load i32, ptr %191, align 4, !tbaa !5
  %3058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3059 = call i32 @s2n_print_stacktrace(ptr noundef %3058) #9
  %3060 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3061 = trunc nuw i8 %3060 to i1
  br i1 %3061, label %3062, label %3066

3062:                                             ; preds = %3056
  %3063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3064 = call i32 @fileno(ptr noundef %3063) #9
  %3065 = call i32 @isatty(i32 noundef %3064) #9
  %.not466 = icmp eq i32 %3065, 0
  br i1 %.not466, label %3066, label %3067

3066:                                             ; preds = %3062, %3056
  br label %3067

3067:                                             ; preds = %3062, %3066
  %.str.5.sink1550 = phi ptr [ @.str.5, %3066 ], [ @.str.2, %3062 ]
  store i32 %3057, ptr %191, align 4, !tbaa !5
  %3068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3069 = load i32, ptr @test_count, align 4, !tbaa !5
  %3070 = load i32, ptr %137, align 4, !tbaa !5
  %3071 = call ptr @s2n_strerror(i32 noundef %3070, ptr noundef nonnull @.str.4) #9
  %3072 = load i32, ptr %137, align 4, !tbaa !5
  %3073 = call ptr @s2n_strerror_debug(i32 noundef %3072, ptr noundef nonnull @.str.4) #9
  %3074 = load i32, ptr %191, align 4, !tbaa !5
  %3075 = call ptr @strerror(i32 noundef %3074) #9
  %3076 = load i32, ptr %191, align 4, !tbaa !5
  %3077 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3068, ptr noundef nonnull %.str.5.sink1550, i32 noundef %3069, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 286, ptr noundef %3071, ptr noundef %3073, ptr noundef %3075, i32 noundef %3076) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3078:                                             ; preds = %3051
  %3079 = add nsw i32 %3053, 2
  store i32 %3079, ptr @test_count, align 4, !tbaa !5
  %3080 = call i32 @s2n_queue_reader_unsupported_protocol_version_alert(ptr noundef nonnull %3052) #9
  %3081 = icmp eq i32 %3080, -1
  br i1 %3081, label %3082, label %3104

3082:                                             ; preds = %3078
  %3083 = load i32, ptr %191, align 4, !tbaa !5
  %3084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3085 = call i32 @s2n_print_stacktrace(ptr noundef %3084) #9
  %3086 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3087 = trunc nuw i8 %3086 to i1
  br i1 %3087, label %3088, label %3092

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

3092:                                             ; preds = %3088, %3082
  br label %3093

3093:                                             ; preds = %3088, %3092
  %.str.5.sink1559 = phi ptr [ @.str.5, %3092 ], [ @.str.2, %3088 ]
  store i32 %3083, ptr %191, align 4, !tbaa !5
  %3094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3095 = load i32, ptr @test_count, align 4, !tbaa !5
  %3096 = load i32, ptr %137, align 4, !tbaa !5
  %3097 = call ptr @s2n_strerror(i32 noundef %3096, ptr noundef nonnull @.str.4) #9
  %3098 = load i32, ptr %137, align 4, !tbaa !5
  %3099 = call ptr @s2n_strerror_debug(i32 noundef %3098, ptr noundef nonnull @.str.4) #9
  %3100 = load i32, ptr %191, align 4, !tbaa !5
  %3101 = call ptr @strerror(i32 noundef %3100) #9
  %3102 = load i32, ptr %191, align 4, !tbaa !5
  %3103 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3094, ptr noundef nonnull %.str.5.sink1559, i32 noundef %3095, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 289, ptr noundef %3097, ptr noundef %3099, ptr noundef %3101, i32 noundef %3102) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3104:                                             ; preds = %3078
  %3105 = load i32, ptr @test_count, align 4, !tbaa !5
  %3106 = add nsw i32 %3105, 1
  store i32 %3106, ptr @test_count, align 4, !tbaa !5
  %3107 = load ptr, ptr %8, align 8, !tbaa !9
  %3108 = getelementptr inbounds i8, ptr %3107, i64 2001
  %3109 = load i8, ptr %3108, align 1, !tbaa !52
  %3110 = icmp eq i8 %3109, 70
  br i1 %3110, label %3133, label %3111

3111:                                             ; preds = %3104
  %3112 = load i32, ptr %191, align 4, !tbaa !5
  %3113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3114 = call i32 @s2n_print_stacktrace(ptr noundef %3113) #9
  %3115 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3116 = trunc nuw i8 %3115 to i1
  br i1 %3116, label %3117, label %3121

3117:                                             ; preds = %3111
  %3118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3119 = call i32 @fileno(ptr noundef %3118) #9
  %3120 = call i32 @isatty(i32 noundef %3119) #9
  %.not428 = icmp eq i32 %3120, 0
  br i1 %.not428, label %3121, label %3122

3121:                                             ; preds = %3117, %3111
  br label %3122

3122:                                             ; preds = %3117, %3121
  %.str.5.sink1568 = phi ptr [ @.str.5, %3121 ], [ @.str.2, %3117 ]
  store i32 %3112, ptr %191, align 4, !tbaa !5
  %3123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3124 = load i32, ptr @test_count, align 4, !tbaa !5
  %3125 = load i32, ptr %137, align 4, !tbaa !5
  %3126 = call ptr @s2n_strerror(i32 noundef %3125, ptr noundef nonnull @.str.4) #9
  %3127 = load i32, ptr %137, align 4, !tbaa !5
  %3128 = call ptr @s2n_strerror_debug(i32 noundef %3127, ptr noundef nonnull @.str.4) #9
  %3129 = load i32, ptr %191, align 4, !tbaa !5
  %3130 = call ptr @strerror(i32 noundef %3129) #9
  %3131 = load i32, ptr %191, align 4, !tbaa !5
  %3132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3123, ptr noundef nonnull %.str.5.sink1568, i32 noundef %3124, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 290, ptr noundef %3126, ptr noundef %3128, ptr noundef %3130, i32 noundef %3131) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3133:                                             ; preds = %3104
  %3134 = add nsw i32 %3105, 2
  store i32 %3134, ptr @test_count, align 4, !tbaa !5
  %3135 = call i32 @s2n_queue_reader_handshake_failure_alert(ptr noundef nonnull %3107) #9
  %3136 = icmp eq i32 %3135, -1
  br i1 %3136, label %3137, label %3159

3137:                                             ; preds = %3133
  %3138 = load i32, ptr %191, align 4, !tbaa !5
  %3139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3140 = call i32 @s2n_print_stacktrace(ptr noundef %3139) #9
  %3141 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3142 = trunc nuw i8 %3141 to i1
  br i1 %3142, label %3143, label %3147

3143:                                             ; preds = %3137
  %3144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3145 = call i32 @fileno(ptr noundef %3144) #9
  %3146 = call i32 @isatty(i32 noundef %3145) #9
  %.not464 = icmp eq i32 %3146, 0
  br i1 %.not464, label %3147, label %3148

3147:                                             ; preds = %3143, %3137
  br label %3148

3148:                                             ; preds = %3143, %3147
  %.str.5.sink1577 = phi ptr [ @.str.5, %3147 ], [ @.str.2, %3143 ]
  store i32 %3138, ptr %191, align 4, !tbaa !5
  %3149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3150 = load i32, ptr @test_count, align 4, !tbaa !5
  %3151 = load i32, ptr %137, align 4, !tbaa !5
  %3152 = call ptr @s2n_strerror(i32 noundef %3151, ptr noundef nonnull @.str.4) #9
  %3153 = load i32, ptr %137, align 4, !tbaa !5
  %3154 = call ptr @s2n_strerror_debug(i32 noundef %3153, ptr noundef nonnull @.str.4) #9
  %3155 = load i32, ptr %191, align 4, !tbaa !5
  %3156 = call ptr @strerror(i32 noundef %3155) #9
  %3157 = load i32, ptr %191, align 4, !tbaa !5
  %3158 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3149, ptr noundef nonnull %.str.5.sink1577, i32 noundef %3150, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 293, ptr noundef %3152, ptr noundef %3154, ptr noundef %3156, i32 noundef %3157) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3159:                                             ; preds = %3133
  %3160 = load i32, ptr @test_count, align 4, !tbaa !5
  %3161 = add nsw i32 %3160, 1
  store i32 %3161, ptr @test_count, align 4, !tbaa !5
  %3162 = load ptr, ptr %8, align 8, !tbaa !9
  %3163 = getelementptr inbounds i8, ptr %3162, i64 2001
  %3164 = load i8, ptr %3163, align 1, !tbaa !52
  %3165 = icmp eq i8 %3164, 70
  br i1 %3165, label %3188, label %3166

3166:                                             ; preds = %3159
  %3167 = load i32, ptr %191, align 4, !tbaa !5
  %3168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3169 = call i32 @s2n_print_stacktrace(ptr noundef %3168) #9
  %3170 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3171 = trunc nuw i8 %3170 to i1
  br i1 %3171, label %3172, label %3176

3172:                                             ; preds = %3166
  %3173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3174 = call i32 @fileno(ptr noundef %3173) #9
  %3175 = call i32 @isatty(i32 noundef %3174) #9
  %.not429 = icmp eq i32 %3175, 0
  br i1 %.not429, label %3176, label %3177

3176:                                             ; preds = %3172, %3166
  br label %3177

3177:                                             ; preds = %3172, %3176
  %.str.5.sink1586 = phi ptr [ @.str.5, %3176 ], [ @.str.2, %3172 ]
  store i32 %3167, ptr %191, align 4, !tbaa !5
  %3178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3179 = load i32, ptr @test_count, align 4, !tbaa !5
  %3180 = load i32, ptr %137, align 4, !tbaa !5
  %3181 = call ptr @s2n_strerror(i32 noundef %3180, ptr noundef nonnull @.str.4) #9
  %3182 = load i32, ptr %137, align 4, !tbaa !5
  %3183 = call ptr @s2n_strerror_debug(i32 noundef %3182, ptr noundef nonnull @.str.4) #9
  %3184 = load i32, ptr %191, align 4, !tbaa !5
  %3185 = call ptr @strerror(i32 noundef %3184) #9
  %3186 = load i32, ptr %191, align 4, !tbaa !5
  %3187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3178, ptr noundef nonnull %.str.5.sink1586, i32 noundef %3179, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 294, ptr noundef %3181, ptr noundef %3183, ptr noundef %3185, i32 noundef %3186) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3188:                                             ; preds = %3159
  store i8 0, ptr %3163, align 1, !tbaa !52
  %3189 = add nsw i32 %3160, 2
  store i32 %3189, ptr @test_count, align 4, !tbaa !5
  %3190 = call i32 @s2n_queue_reader_handshake_failure_alert(ptr noundef nonnull %3162) #9
  %3191 = icmp eq i32 %3190, -1
  br i1 %3191, label %3192, label %3214

3192:                                             ; preds = %3188
  %3193 = load i32, ptr %191, align 4, !tbaa !5
  %3194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3195 = call i32 @s2n_print_stacktrace(ptr noundef %3194) #9
  %3196 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3197 = trunc nuw i8 %3196 to i1
  br i1 %3197, label %3198, label %3202

3198:                                             ; preds = %3192
  %3199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3200 = call i32 @fileno(ptr noundef %3199) #9
  %3201 = call i32 @isatty(i32 noundef %3200) #9
  %.not463 = icmp eq i32 %3201, 0
  br i1 %.not463, label %3202, label %3203

3202:                                             ; preds = %3198, %3192
  br label %3203

3203:                                             ; preds = %3198, %3202
  %.str.5.sink1595 = phi ptr [ @.str.5, %3202 ], [ @.str.2, %3198 ]
  store i32 %3193, ptr %191, align 4, !tbaa !5
  %3204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3205 = load i32, ptr @test_count, align 4, !tbaa !5
  %3206 = load i32, ptr %137, align 4, !tbaa !5
  %3207 = call ptr @s2n_strerror(i32 noundef %3206, ptr noundef nonnull @.str.4) #9
  %3208 = load i32, ptr %137, align 4, !tbaa !5
  %3209 = call ptr @s2n_strerror_debug(i32 noundef %3208, ptr noundef nonnull @.str.4) #9
  %3210 = load i32, ptr %191, align 4, !tbaa !5
  %3211 = call ptr @strerror(i32 noundef %3210) #9
  %3212 = load i32, ptr %191, align 4, !tbaa !5
  %3213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3204, ptr noundef nonnull %.str.5.sink1595, i32 noundef %3205, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 298, ptr noundef %3207, ptr noundef %3209, ptr noundef %3211, i32 noundef %3212) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3214:                                             ; preds = %3188
  %3215 = load i32, ptr @test_count, align 4, !tbaa !5
  %3216 = add nsw i32 %3215, 1
  store i32 %3216, ptr @test_count, align 4, !tbaa !5
  %3217 = load ptr, ptr %8, align 8, !tbaa !9
  %3218 = getelementptr inbounds i8, ptr %3217, i64 2001
  %3219 = load i8, ptr %3218, align 1, !tbaa !52
  %3220 = icmp eq i8 %3219, 40
  br i1 %3220, label %3243, label %3221

3221:                                             ; preds = %3214
  %3222 = load i32, ptr %191, align 4, !tbaa !5
  %3223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3224 = call i32 @s2n_print_stacktrace(ptr noundef %3223) #9
  %3225 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3226 = trunc nuw i8 %3225 to i1
  br i1 %3226, label %3227, label %3231

3227:                                             ; preds = %3221
  %3228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3229 = call i32 @fileno(ptr noundef %3228) #9
  %3230 = call i32 @isatty(i32 noundef %3229) #9
  %.not430 = icmp eq i32 %3230, 0
  br i1 %.not430, label %3231, label %3232

3231:                                             ; preds = %3227, %3221
  br label %3232

3232:                                             ; preds = %3227, %3231
  %.str.5.sink1604 = phi ptr [ @.str.5, %3231 ], [ @.str.2, %3227 ]
  store i32 %3222, ptr %191, align 4, !tbaa !5
  %3233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3234 = load i32, ptr @test_count, align 4, !tbaa !5
  %3235 = load i32, ptr %137, align 4, !tbaa !5
  %3236 = call ptr @s2n_strerror(i32 noundef %3235, ptr noundef nonnull @.str.4) #9
  %3237 = load i32, ptr %137, align 4, !tbaa !5
  %3238 = call ptr @s2n_strerror_debug(i32 noundef %3237, ptr noundef nonnull @.str.4) #9
  %3239 = load i32, ptr %191, align 4, !tbaa !5
  %3240 = call ptr @strerror(i32 noundef %3239) #9
  %3241 = load i32, ptr %191, align 4, !tbaa !5
  %3242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3233, ptr noundef nonnull %.str.5.sink1604, i32 noundef %3234, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 299, ptr noundef %3236, ptr noundef %3238, ptr noundef %3240, i32 noundef %3241) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3243:                                             ; preds = %3214
  %3244 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %8) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #9
  %3245 = call ptr @s2n_connection_new(i32 noundef 1) #9
  store ptr %3245, ptr %9, align 8, !tbaa !9
  %3246 = load i32, ptr @test_count, align 4, !tbaa !5
  %3247 = add nsw i32 %3246, 1
  store i32 %3247, ptr @test_count, align 4, !tbaa !5
  %3248 = icmp eq ptr %3245, null
  br i1 %3248, label %3249, label %3271

3249:                                             ; preds = %3243
  %3250 = load i32, ptr %191, align 4, !tbaa !5
  %3251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3252 = call i32 @s2n_print_stacktrace(ptr noundef %3251) #9
  %3253 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3254 = trunc nuw i8 %3253 to i1
  br i1 %3254, label %3255, label %3259

3255:                                             ; preds = %3249
  %3256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3257 = call i32 @fileno(ptr noundef %3256) #9
  %3258 = call i32 @isatty(i32 noundef %3257) #9
  %.not462 = icmp eq i32 %3258, 0
  br i1 %.not462, label %3259, label %3260

3259:                                             ; preds = %3255, %3249
  br label %3260

3260:                                             ; preds = %3255, %3259
  %.str.5.sink1613 = phi ptr [ @.str.5, %3259 ], [ @.str.2, %3255 ]
  store i32 %3250, ptr %191, align 4, !tbaa !5
  %3261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3262 = load i32, ptr @test_count, align 4, !tbaa !5
  %3263 = load i32, ptr %137, align 4, !tbaa !5
  %3264 = call ptr @s2n_strerror(i32 noundef %3263, ptr noundef nonnull @.str.4) #9
  %3265 = load i32, ptr %137, align 4, !tbaa !5
  %3266 = call ptr @s2n_strerror_debug(i32 noundef %3265, ptr noundef nonnull @.str.4) #9
  %3267 = load i32, ptr %191, align 4, !tbaa !5
  %3268 = call ptr @strerror(i32 noundef %3267) #9
  %3269 = load i32, ptr %191, align 4, !tbaa !5
  %3270 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3261, ptr noundef nonnull %.str.5.sink1613, i32 noundef %3262, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 311, ptr noundef %3264, ptr noundef %3266, ptr noundef %3268, i32 noundef %3269) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3271:                                             ; preds = %3243
  %3272 = add nsw i32 %3246, 2
  store i32 %3272, ptr @test_count, align 4, !tbaa !5
  %3273 = call i32 @s2n_alerts_write_error_or_close_notify(ptr noundef nonnull %3245) #9
  %3274 = call zeroext i1 @s2n_result_is_ok(i32 %3273)
  br i1 %3274, label %3297, label %3275

3275:                                             ; preds = %3271
  %3276 = load i32, ptr %191, align 4, !tbaa !5
  %3277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3278 = call i32 @s2n_print_stacktrace(ptr noundef %3277) #9
  %3279 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3280 = trunc nuw i8 %3279 to i1
  br i1 %3280, label %3281, label %3285

3281:                                             ; preds = %3275
  %3282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3283 = call i32 @fileno(ptr noundef %3282) #9
  %3284 = call i32 @isatty(i32 noundef %3283) #9
  %.not431 = icmp eq i32 %3284, 0
  br i1 %.not431, label %3285, label %3286

3285:                                             ; preds = %3281, %3275
  br label %3286

3286:                                             ; preds = %3281, %3285
  %.str.5.sink1622 = phi ptr [ @.str.5, %3285 ], [ @.str.2, %3281 ]
  store i32 %3276, ptr %191, align 4, !tbaa !5
  %3287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3288 = load i32, ptr @test_count, align 4, !tbaa !5
  %3289 = load i32, ptr %137, align 4, !tbaa !5
  %3290 = call ptr @s2n_strerror(i32 noundef %3289, ptr noundef nonnull @.str.4) #9
  %3291 = load i32, ptr %137, align 4, !tbaa !5
  %3292 = call ptr @s2n_strerror_debug(i32 noundef %3291, ptr noundef nonnull @.str.4) #9
  %3293 = load i32, ptr %191, align 4, !tbaa !5
  %3294 = call ptr @strerror(i32 noundef %3293) #9
  %3295 = load i32, ptr %191, align 4, !tbaa !5
  %3296 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3287, ptr noundef nonnull %.str.5.sink1622, i32 noundef %3288, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 313, ptr noundef %3290, ptr noundef %3292, ptr noundef %3294, i32 noundef %3295) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3297:                                             ; preds = %3271
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %10) #9
  store i8 0, ptr %10, align 1, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %11) #9
  store i8 0, ptr %11, align 1, !tbaa !15
  %3298 = load i32, ptr @test_count, align 4, !tbaa !5
  %3299 = add nsw i32 %3298, 1
  store i32 %3299, ptr @test_count, align 4, !tbaa !5
  %3300 = load ptr, ptr %9, align 8, !tbaa !9
  %3301 = getelementptr inbounds i8, ptr %3300, i64 1896
  %3302 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %3301, i32 noundef 5) #9
  %3303 = icmp eq i32 %3302, -1
  br i1 %3303, label %3304, label %3326

3304:                                             ; preds = %3297
  %3305 = load i32, ptr %191, align 4, !tbaa !5
  %3306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3307 = call i32 @s2n_print_stacktrace(ptr noundef %3306) #9
  %3308 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3309 = trunc nuw i8 %3308 to i1
  br i1 %3309, label %3310, label %3314

3310:                                             ; preds = %3304
  %3311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3312 = call i32 @fileno(ptr noundef %3311) #9
  %3313 = call i32 @isatty(i32 noundef %3312) #9
  %.not461 = icmp eq i32 %3313, 0
  br i1 %.not461, label %3314, label %3315

3314:                                             ; preds = %3310, %3304
  br label %3315

3315:                                             ; preds = %3310, %3314
  %.str.5.sink1631 = phi ptr [ @.str.5, %3314 ], [ @.str.2, %3310 ]
  store i32 %3305, ptr %191, align 4, !tbaa !5
  %3316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3317 = load i32, ptr @test_count, align 4, !tbaa !5
  %3318 = load i32, ptr %137, align 4, !tbaa !5
  %3319 = call ptr @s2n_strerror(i32 noundef %3318, ptr noundef nonnull @.str.4) #9
  %3320 = load i32, ptr %137, align 4, !tbaa !5
  %3321 = call ptr @s2n_strerror_debug(i32 noundef %3320, ptr noundef nonnull @.str.4) #9
  %3322 = load i32, ptr %191, align 4, !tbaa !5
  %3323 = call ptr @strerror(i32 noundef %3322) #9
  %3324 = load i32, ptr %191, align 4, !tbaa !5
  %3325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3316, ptr noundef nonnull %.str.5.sink1631, i32 noundef %3317, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 317, ptr noundef %3319, ptr noundef %3321, ptr noundef %3323, i32 noundef %3324) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3326:                                             ; preds = %3297
  %3327 = load i32, ptr @test_count, align 4, !tbaa !5
  %3328 = add nsw i32 %3327, 1
  store i32 %3328, ptr @test_count, align 4, !tbaa !5
  %3329 = load ptr, ptr %9, align 8, !tbaa !9
  %3330 = getelementptr inbounds i8, ptr %3329, i64 1896
  %3331 = call i32 @s2n_stuffer_read_uint8(ptr noundef nonnull %3330, ptr noundef nonnull %10) #9
  %3332 = icmp eq i32 %3331, -1
  br i1 %3332, label %3333, label %3355

3333:                                             ; preds = %3326
  %3334 = load i32, ptr %191, align 4, !tbaa !5
  %3335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3336 = call i32 @s2n_print_stacktrace(ptr noundef %3335) #9
  %3337 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3338 = trunc nuw i8 %3337 to i1
  br i1 %3338, label %3339, label %3343

3339:                                             ; preds = %3333
  %3340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3341 = call i32 @fileno(ptr noundef %3340) #9
  %3342 = call i32 @isatty(i32 noundef %3341) #9
  %.not460 = icmp eq i32 %3342, 0
  br i1 %.not460, label %3343, label %3344

3343:                                             ; preds = %3339, %3333
  br label %3344

3344:                                             ; preds = %3339, %3343
  %.str.5.sink1640 = phi ptr [ @.str.5, %3343 ], [ @.str.2, %3339 ]
  store i32 %3334, ptr %191, align 4, !tbaa !5
  %3345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3346 = load i32, ptr @test_count, align 4, !tbaa !5
  %3347 = load i32, ptr %137, align 4, !tbaa !5
  %3348 = call ptr @s2n_strerror(i32 noundef %3347, ptr noundef nonnull @.str.4) #9
  %3349 = load i32, ptr %137, align 4, !tbaa !5
  %3350 = call ptr @s2n_strerror_debug(i32 noundef %3349, ptr noundef nonnull @.str.4) #9
  %3351 = load i32, ptr %191, align 4, !tbaa !5
  %3352 = call ptr @strerror(i32 noundef %3351) #9
  %3353 = load i32, ptr %191, align 4, !tbaa !5
  %3354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3345, ptr noundef nonnull %.str.5.sink1640, i32 noundef %3346, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 318, ptr noundef %3348, ptr noundef %3350, ptr noundef %3352, i32 noundef %3353) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3355:                                             ; preds = %3326
  %3356 = load i32, ptr @test_count, align 4, !tbaa !5
  %3357 = add nsw i32 %3356, 1
  store i32 %3357, ptr @test_count, align 4, !tbaa !5
  %3358 = load i8, ptr %10, align 1, !tbaa !15
  %3359 = icmp eq i8 %3358, 1
  br i1 %3359, label %3382, label %3360

3360:                                             ; preds = %3355
  %3361 = load i32, ptr %191, align 4, !tbaa !5
  %3362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3363 = call i32 @s2n_print_stacktrace(ptr noundef %3362) #9
  %3364 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3365 = trunc nuw i8 %3364 to i1
  br i1 %3365, label %3366, label %3370

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

3370:                                             ; preds = %3366, %3360
  br label %3371

3371:                                             ; preds = %3366, %3370
  %.str.5.sink1649 = phi ptr [ @.str.5, %3370 ], [ @.str.2, %3366 ]
  store i32 %3361, ptr %191, align 4, !tbaa !5
  %3372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3373 = load i32, ptr @test_count, align 4, !tbaa !5
  %3374 = load i32, ptr %137, align 4, !tbaa !5
  %3375 = call ptr @s2n_strerror(i32 noundef %3374, ptr noundef nonnull @.str.4) #9
  %3376 = load i32, ptr %137, align 4, !tbaa !5
  %3377 = call ptr @s2n_strerror_debug(i32 noundef %3376, ptr noundef nonnull @.str.4) #9
  %3378 = load i32, ptr %191, align 4, !tbaa !5
  %3379 = call ptr @strerror(i32 noundef %3378) #9
  %3380 = load i32, ptr %191, align 4, !tbaa !5
  %3381 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3372, ptr noundef nonnull %.str.5.sink1649, i32 noundef %3373, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 319, ptr noundef %3375, ptr noundef %3377, ptr noundef %3379, i32 noundef %3380) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3382:                                             ; preds = %3355
  %3383 = add nsw i32 %3356, 2
  store i32 %3383, ptr @test_count, align 4, !tbaa !5
  %3384 = load ptr, ptr %9, align 8, !tbaa !9
  %3385 = getelementptr inbounds i8, ptr %3384, i64 1896
  %3386 = call i32 @s2n_stuffer_read_uint8(ptr noundef nonnull %3385, ptr noundef nonnull %11) #9
  %3387 = icmp eq i32 %3386, -1
  br i1 %3387, label %3388, label %3410

3388:                                             ; preds = %3382
  %3389 = load i32, ptr %191, align 4, !tbaa !5
  %3390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3391 = call i32 @s2n_print_stacktrace(ptr noundef %3390) #9
  %3392 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3393 = trunc nuw i8 %3392 to i1
  br i1 %3393, label %3394, label %3398

3394:                                             ; preds = %3388
  %3395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3396 = call i32 @fileno(ptr noundef %3395) #9
  %3397 = call i32 @isatty(i32 noundef %3396) #9
  %.not459 = icmp eq i32 %3397, 0
  br i1 %.not459, label %3398, label %3399

3398:                                             ; preds = %3394, %3388
  br label %3399

3399:                                             ; preds = %3394, %3398
  %.str.5.sink1658 = phi ptr [ @.str.5, %3398 ], [ @.str.2, %3394 ]
  store i32 %3389, ptr %191, align 4, !tbaa !5
  %3400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3401 = load i32, ptr @test_count, align 4, !tbaa !5
  %3402 = load i32, ptr %137, align 4, !tbaa !5
  %3403 = call ptr @s2n_strerror(i32 noundef %3402, ptr noundef nonnull @.str.4) #9
  %3404 = load i32, ptr %137, align 4, !tbaa !5
  %3405 = call ptr @s2n_strerror_debug(i32 noundef %3404, ptr noundef nonnull @.str.4) #9
  %3406 = load i32, ptr %191, align 4, !tbaa !5
  %3407 = call ptr @strerror(i32 noundef %3406) #9
  %3408 = load i32, ptr %191, align 4, !tbaa !5
  %3409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3400, ptr noundef nonnull %.str.5.sink1658, i32 noundef %3401, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 320, ptr noundef %3403, ptr noundef %3405, ptr noundef %3407, i32 noundef %3408) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3410:                                             ; preds = %3382
  %3411 = load i32, ptr @test_count, align 4, !tbaa !5
  %3412 = add nsw i32 %3411, 1
  store i32 %3412, ptr @test_count, align 4, !tbaa !5
  %3413 = load i8, ptr %11, align 1, !tbaa !15
  %3414 = icmp eq i8 %3413, 0
  br i1 %3414, label %3437, label %3415

3415:                                             ; preds = %3410
  %3416 = load i32, ptr %191, align 4, !tbaa !5
  %3417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3418 = call i32 @s2n_print_stacktrace(ptr noundef %3417) #9
  %3419 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3420 = trunc nuw i8 %3419 to i1
  br i1 %3420, label %3421, label %3425

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

3425:                                             ; preds = %3421, %3415
  br label %3426

3426:                                             ; preds = %3421, %3425
  %.str.5.sink1667 = phi ptr [ @.str.5, %3425 ], [ @.str.2, %3421 ]
  store i32 %3416, ptr %191, align 4, !tbaa !5
  %3427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3428 = load i32, ptr @test_count, align 4, !tbaa !5
  %3429 = load i32, ptr %137, align 4, !tbaa !5
  %3430 = call ptr @s2n_strerror(i32 noundef %3429, ptr noundef nonnull @.str.4) #9
  %3431 = load i32, ptr %137, align 4, !tbaa !5
  %3432 = call ptr @s2n_strerror_debug(i32 noundef %3431, ptr noundef nonnull @.str.4) #9
  %3433 = load i32, ptr %191, align 4, !tbaa !5
  %3434 = call ptr @strerror(i32 noundef %3433) #9
  %3435 = load i32, ptr %191, align 4, !tbaa !5
  %3436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3427, ptr noundef nonnull %.str.5.sink1667, i32 noundef %3428, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 321, ptr noundef %3430, ptr noundef %3432, ptr noundef %3434, i32 noundef %3435) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3437:                                             ; preds = %3410
  %3438 = add nsw i32 %3411, 2
  store i32 %3438, ptr @test_count, align 4, !tbaa !5
  %3439 = load ptr, ptr %9, align 8, !tbaa !9
  %3440 = getelementptr inbounds i8, ptr %3439, i64 1924
  %3441 = load i32, ptr %3440, align 4, !tbaa !53
  %3442 = getelementptr inbounds i8, ptr %3439, i64 1920
  %3443 = load i32, ptr %3442, align 8, !tbaa !54
  %3444 = icmp eq i32 %3441, %3443
  br i1 %3444, label %3467, label %3445

3445:                                             ; preds = %3437
  %3446 = load i32, ptr %191, align 4, !tbaa !5
  %3447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3448 = call i32 @s2n_print_stacktrace(ptr noundef %3447) #9
  %3449 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3450 = trunc nuw i8 %3449 to i1
  br i1 %3450, label %3451, label %3455

3451:                                             ; preds = %3445
  %3452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3453 = call i32 @fileno(ptr noundef %3452) #9
  %3454 = call i32 @isatty(i32 noundef %3453) #9
  %.not434 = icmp eq i32 %3454, 0
  br i1 %.not434, label %3455, label %3456

3455:                                             ; preds = %3451, %3445
  br label %3456

3456:                                             ; preds = %3451, %3455
  %.str.5.sink1676 = phi ptr [ @.str.5, %3455 ], [ @.str.2, %3451 ]
  store i32 %3446, ptr %191, align 4, !tbaa !5
  %3457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3458 = load i32, ptr @test_count, align 4, !tbaa !5
  %3459 = load i32, ptr %137, align 4, !tbaa !5
  %3460 = call ptr @s2n_strerror(i32 noundef %3459, ptr noundef nonnull @.str.4) #9
  %3461 = load i32, ptr %137, align 4, !tbaa !5
  %3462 = call ptr @s2n_strerror_debug(i32 noundef %3461, ptr noundef nonnull @.str.4) #9
  %3463 = load i32, ptr %191, align 4, !tbaa !5
  %3464 = call ptr @strerror(i32 noundef %3463) #9
  %3465 = load i32, ptr %191, align 4, !tbaa !5
  %3466 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3457, ptr noundef nonnull %.str.5.sink1676, i32 noundef %3458, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 322, ptr noundef %3460, ptr noundef %3462, ptr noundef %3464, i32 noundef %3465) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3467:                                             ; preds = %3437
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %11) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) #9
  %3468 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %9) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #9
  %3469 = call ptr @s2n_connection_new(i32 noundef 1) #9
  store ptr %3469, ptr %12, align 8, !tbaa !9
  %3470 = load i32, ptr @test_count, align 4, !tbaa !5
  %3471 = add nsw i32 %3470, 1
  store i32 %3471, ptr @test_count, align 4, !tbaa !5
  %3472 = icmp eq ptr %3469, null
  br i1 %3472, label %3473, label %3495

3473:                                             ; preds = %3467
  %3474 = load i32, ptr %191, align 4, !tbaa !5
  %3475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3476 = call i32 @s2n_print_stacktrace(ptr noundef %3475) #9
  %3477 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3478 = trunc nuw i8 %3477 to i1
  br i1 %3478, label %3479, label %3483

3479:                                             ; preds = %3473
  %3480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3481 = call i32 @fileno(ptr noundef %3480) #9
  %3482 = call i32 @isatty(i32 noundef %3481) #9
  %.not458 = icmp eq i32 %3482, 0
  br i1 %.not458, label %3483, label %3484

3483:                                             ; preds = %3479, %3473
  br label %3484

3484:                                             ; preds = %3479, %3483
  %.str.5.sink1685 = phi ptr [ @.str.5, %3483 ], [ @.str.2, %3479 ]
  store i32 %3474, ptr %191, align 4, !tbaa !5
  %3485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3486 = load i32, ptr @test_count, align 4, !tbaa !5
  %3487 = load i32, ptr %137, align 4, !tbaa !5
  %3488 = call ptr @s2n_strerror(i32 noundef %3487, ptr noundef nonnull @.str.4) #9
  %3489 = load i32, ptr %137, align 4, !tbaa !5
  %3490 = call ptr @s2n_strerror_debug(i32 noundef %3489, ptr noundef nonnull @.str.4) #9
  %3491 = load i32, ptr %191, align 4, !tbaa !5
  %3492 = call ptr @strerror(i32 noundef %3491) #9
  %3493 = load i32, ptr %191, align 4, !tbaa !5
  %3494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3485, ptr noundef nonnull %.str.5.sink1685, i32 noundef %3486, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 329, ptr noundef %3488, ptr noundef %3490, ptr noundef %3492, i32 noundef %3493) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3495:                                             ; preds = %3467
  %3496 = getelementptr inbounds i8, ptr %3469, i64 2001
  store i8 80, ptr %3496, align 1, !tbaa !52
  %3497 = add nsw i32 %3470, 2
  store i32 %3497, ptr @test_count, align 4, !tbaa !5
  %3498 = call i32 @s2n_alerts_write_error_or_close_notify(ptr noundef nonnull %3469) #9
  %3499 = call zeroext i1 @s2n_result_is_ok(i32 %3498)
  br i1 %3499, label %3522, label %3500

3500:                                             ; preds = %3495
  %3501 = load i32, ptr %191, align 4, !tbaa !5
  %3502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3503 = call i32 @s2n_print_stacktrace(ptr noundef %3502) #9
  %3504 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3505 = trunc nuw i8 %3504 to i1
  br i1 %3505, label %3506, label %3510

3506:                                             ; preds = %3500
  %3507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3508 = call i32 @fileno(ptr noundef %3507) #9
  %3509 = call i32 @isatty(i32 noundef %3508) #9
  %.not435 = icmp eq i32 %3509, 0
  br i1 %.not435, label %3510, label %3511

3510:                                             ; preds = %3506, %3500
  br label %3511

3511:                                             ; preds = %3506, %3510
  %.str.5.sink1694 = phi ptr [ @.str.5, %3510 ], [ @.str.2, %3506 ]
  store i32 %3501, ptr %191, align 4, !tbaa !5
  %3512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3513 = load i32, ptr @test_count, align 4, !tbaa !5
  %3514 = load i32, ptr %137, align 4, !tbaa !5
  %3515 = call ptr @s2n_strerror(i32 noundef %3514, ptr noundef nonnull @.str.4) #9
  %3516 = load i32, ptr %137, align 4, !tbaa !5
  %3517 = call ptr @s2n_strerror_debug(i32 noundef %3516, ptr noundef nonnull @.str.4) #9
  %3518 = load i32, ptr %191, align 4, !tbaa !5
  %3519 = call ptr @strerror(i32 noundef %3518) #9
  %3520 = load i32, ptr %191, align 4, !tbaa !5
  %3521 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3512, ptr noundef nonnull %.str.5.sink1694, i32 noundef %3513, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 332, ptr noundef %3515, ptr noundef %3517, ptr noundef %3519, i32 noundef %3520) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3522:                                             ; preds = %3495
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %13) #9
  store i8 0, ptr %13, align 1, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %14) #9
  store i8 0, ptr %14, align 1, !tbaa !15
  %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 %12, align 8, !tbaa !9
  %3526 = getelementptr inbounds i8, ptr %3525, i64 1896
  %3527 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %3526, i32 noundef 5) #9
  %3528 = icmp eq i32 %3527, -1
  br i1 %3528, label %3529, label %3551

3529:                                             ; preds = %3522
  %3530 = load i32, ptr %191, align 4, !tbaa !5
  %3531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3532 = call i32 @s2n_print_stacktrace(ptr noundef %3531) #9
  %3533 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3534 = trunc nuw i8 %3533 to i1
  br i1 %3534, label %3535, label %3539

3535:                                             ; preds = %3529
  %3536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3537 = call i32 @fileno(ptr noundef %3536) #9
  %3538 = call i32 @isatty(i32 noundef %3537) #9
  %.not457 = icmp eq i32 %3538, 0
  br i1 %.not457, label %3539, label %3540

3539:                                             ; preds = %3535, %3529
  br label %3540

3540:                                             ; preds = %3535, %3539
  %.str.5.sink1703 = phi ptr [ @.str.5, %3539 ], [ @.str.2, %3535 ]
  store i32 %3530, ptr %191, align 4, !tbaa !5
  %3541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3542 = load i32, ptr @test_count, align 4, !tbaa !5
  %3543 = load i32, ptr %137, align 4, !tbaa !5
  %3544 = call ptr @s2n_strerror(i32 noundef %3543, ptr noundef nonnull @.str.4) #9
  %3545 = load i32, ptr %137, align 4, !tbaa !5
  %3546 = call ptr @s2n_strerror_debug(i32 noundef %3545, ptr noundef nonnull @.str.4) #9
  %3547 = load i32, ptr %191, align 4, !tbaa !5
  %3548 = call ptr @strerror(i32 noundef %3547) #9
  %3549 = load i32, ptr %191, align 4, !tbaa !5
  %3550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3541, ptr noundef nonnull %.str.5.sink1703, i32 noundef %3542, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 336, ptr noundef %3544, ptr noundef %3546, ptr noundef %3548, i32 noundef %3549) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3551:                                             ; preds = %3522
  %3552 = load i32, ptr @test_count, align 4, !tbaa !5
  %3553 = add nsw i32 %3552, 1
  store i32 %3553, ptr @test_count, align 4, !tbaa !5
  %3554 = load ptr, ptr %12, align 8, !tbaa !9
  %3555 = getelementptr inbounds i8, ptr %3554, i64 1896
  %3556 = call i32 @s2n_stuffer_read_uint8(ptr noundef nonnull %3555, ptr noundef nonnull %13) #9
  %3557 = icmp eq i32 %3556, -1
  br i1 %3557, label %3558, label %3580

3558:                                             ; preds = %3551
  %3559 = load i32, ptr %191, align 4, !tbaa !5
  %3560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3561 = call i32 @s2n_print_stacktrace(ptr noundef %3560) #9
  %3562 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3563 = trunc nuw i8 %3562 to i1
  br i1 %3563, label %3564, label %3568

3564:                                             ; preds = %3558
  %3565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3566 = call i32 @fileno(ptr noundef %3565) #9
  %3567 = call i32 @isatty(i32 noundef %3566) #9
  %.not456 = icmp eq i32 %3567, 0
  br i1 %.not456, label %3568, label %3569

3568:                                             ; preds = %3564, %3558
  br label %3569

3569:                                             ; preds = %3564, %3568
  %.str.5.sink1712 = phi ptr [ @.str.5, %3568 ], [ @.str.2, %3564 ]
  store i32 %3559, ptr %191, align 4, !tbaa !5
  %3570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3571 = load i32, ptr @test_count, align 4, !tbaa !5
  %3572 = load i32, ptr %137, align 4, !tbaa !5
  %3573 = call ptr @s2n_strerror(i32 noundef %3572, ptr noundef nonnull @.str.4) #9
  %3574 = load i32, ptr %137, align 4, !tbaa !5
  %3575 = call ptr @s2n_strerror_debug(i32 noundef %3574, ptr noundef nonnull @.str.4) #9
  %3576 = load i32, ptr %191, align 4, !tbaa !5
  %3577 = call ptr @strerror(i32 noundef %3576) #9
  %3578 = load i32, ptr %191, align 4, !tbaa !5
  %3579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3570, ptr noundef nonnull %.str.5.sink1712, i32 noundef %3571, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 337, ptr noundef %3573, ptr noundef %3575, ptr noundef %3577, i32 noundef %3578) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3580:                                             ; preds = %3551
  %3581 = load i32, ptr @test_count, align 4, !tbaa !5
  %3582 = add nsw i32 %3581, 1
  store i32 %3582, ptr @test_count, align 4, !tbaa !5
  %3583 = load i8, ptr %13, align 1, !tbaa !15
  %3584 = icmp eq i8 %3583, 2
  br i1 %3584, label %3607, label %3585

3585:                                             ; preds = %3580
  %3586 = load i32, ptr %191, align 4, !tbaa !5
  %3587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3588 = call i32 @s2n_print_stacktrace(ptr noundef %3587) #9
  %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) #9
  %3594 = call i32 @isatty(i32 noundef %3593) #9
  %.not436 = icmp eq i32 %3594, 0
  br i1 %.not436, label %3595, label %3596

3595:                                             ; preds = %3591, %3585
  br label %3596

3596:                                             ; preds = %3591, %3595
  %.str.5.sink1721 = phi ptr [ @.str.5, %3595 ], [ @.str.2, %3591 ]
  store i32 %3586, ptr %191, 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 %137, align 4, !tbaa !5
  %3600 = call ptr @s2n_strerror(i32 noundef %3599, ptr noundef nonnull @.str.4) #9
  %3601 = load i32, ptr %137, align 4, !tbaa !5
  %3602 = call ptr @s2n_strerror_debug(i32 noundef %3601, ptr noundef nonnull @.str.4) #9
  %3603 = load i32, ptr %191, align 4, !tbaa !5
  %3604 = call ptr @strerror(i32 noundef %3603) #9
  %3605 = load i32, ptr %191, align 4, !tbaa !5
  %3606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3597, ptr noundef nonnull %.str.5.sink1721, i32 noundef %3598, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 338, ptr noundef %3600, ptr noundef %3602, ptr noundef %3604, i32 noundef %3605) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3607:                                             ; preds = %3580
  %3608 = add nsw i32 %3581, 2
  store i32 %3608, ptr @test_count, align 4, !tbaa !5
  %3609 = load ptr, ptr %12, align 8, !tbaa !9
  %3610 = getelementptr inbounds i8, ptr %3609, i64 1896
  %3611 = call i32 @s2n_stuffer_read_uint8(ptr noundef nonnull %3610, ptr noundef nonnull %14) #9
  %3612 = icmp eq i32 %3611, -1
  br i1 %3612, label %3613, label %3635

3613:                                             ; preds = %3607
  %3614 = load i32, ptr %191, align 4, !tbaa !5
  %3615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3616 = call i32 @s2n_print_stacktrace(ptr noundef %3615) #9
  %3617 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3618 = trunc nuw i8 %3617 to i1
  br i1 %3618, label %3619, label %3623

3619:                                             ; preds = %3613
  %3620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3621 = call i32 @fileno(ptr noundef %3620) #9
  %3622 = call i32 @isatty(i32 noundef %3621) #9
  %.not455 = icmp eq i32 %3622, 0
  br i1 %.not455, label %3623, label %3624

3623:                                             ; preds = %3619, %3613
  br label %3624

3624:                                             ; preds = %3619, %3623
  %.str.5.sink1730 = phi ptr [ @.str.5, %3623 ], [ @.str.2, %3619 ]
  store i32 %3614, ptr %191, align 4, !tbaa !5
  %3625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3626 = load i32, ptr @test_count, align 4, !tbaa !5
  %3627 = load i32, ptr %137, align 4, !tbaa !5
  %3628 = call ptr @s2n_strerror(i32 noundef %3627, ptr noundef nonnull @.str.4) #9
  %3629 = load i32, ptr %137, align 4, !tbaa !5
  %3630 = call ptr @s2n_strerror_debug(i32 noundef %3629, ptr noundef nonnull @.str.4) #9
  %3631 = load i32, ptr %191, align 4, !tbaa !5
  %3632 = call ptr @strerror(i32 noundef %3631) #9
  %3633 = load i32, ptr %191, align 4, !tbaa !5
  %3634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3625, ptr noundef nonnull %.str.5.sink1730, i32 noundef %3626, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 339, ptr noundef %3628, ptr noundef %3630, ptr noundef %3632, i32 noundef %3633) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3635:                                             ; preds = %3607
  %3636 = load i32, ptr @test_count, align 4, !tbaa !5
  %3637 = add nsw i32 %3636, 1
  store i32 %3637, ptr @test_count, align 4, !tbaa !5
  %3638 = load i8, ptr %14, align 1, !tbaa !15
  %3639 = icmp eq i8 %3638, 80
  br i1 %3639, label %3662, label %3640

3640:                                             ; preds = %3635
  %3641 = load i32, ptr %191, align 4, !tbaa !5
  %3642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3643 = call i32 @s2n_print_stacktrace(ptr noundef %3642) #9
  %3644 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3645 = trunc nuw i8 %3644 to i1
  br i1 %3645, label %3646, label %3650

3646:                                             ; preds = %3640
  %3647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3648 = call i32 @fileno(ptr noundef %3647) #9
  %3649 = call i32 @isatty(i32 noundef %3648) #9
  %.not437 = icmp eq i32 %3649, 0
  br i1 %.not437, label %3650, label %3651

3650:                                             ; preds = %3646, %3640
  br label %3651

3651:                                             ; preds = %3646, %3650
  %.str.5.sink1739 = phi ptr [ @.str.5, %3650 ], [ @.str.2, %3646 ]
  store i32 %3641, ptr %191, align 4, !tbaa !5
  %3652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3653 = load i32, ptr @test_count, align 4, !tbaa !5
  %3654 = load i32, ptr %137, align 4, !tbaa !5
  %3655 = call ptr @s2n_strerror(i32 noundef %3654, ptr noundef nonnull @.str.4) #9
  %3656 = load i32, ptr %137, align 4, !tbaa !5
  %3657 = call ptr @s2n_strerror_debug(i32 noundef %3656, ptr noundef nonnull @.str.4) #9
  %3658 = load i32, ptr %191, align 4, !tbaa !5
  %3659 = call ptr @strerror(i32 noundef %3658) #9
  %3660 = load i32, ptr %191, align 4, !tbaa !5
  %3661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3652, ptr noundef nonnull %.str.5.sink1739, i32 noundef %3653, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 340, ptr noundef %3655, ptr noundef %3657, ptr noundef %3659, i32 noundef %3660) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3662:                                             ; preds = %3635
  %3663 = add nsw i32 %3636, 2
  store i32 %3663, ptr @test_count, align 4, !tbaa !5
  %3664 = load ptr, ptr %12, align 8, !tbaa !9
  %3665 = getelementptr inbounds i8, ptr %3664, i64 1924
  %3666 = load i32, ptr %3665, align 4, !tbaa !53
  %3667 = getelementptr inbounds i8, ptr %3664, i64 1920
  %3668 = load i32, ptr %3667, align 8, !tbaa !54
  %3669 = icmp eq i32 %3666, %3668
  br i1 %3669, label %3692, label %3670

3670:                                             ; preds = %3662
  %3671 = load i32, ptr %191, align 4, !tbaa !5
  %3672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3673 = call i32 @s2n_print_stacktrace(ptr noundef %3672) #9
  %3674 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3675 = trunc nuw i8 %3674 to i1
  br i1 %3675, label %3676, label %3680

3676:                                             ; preds = %3670
  %3677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3678 = call i32 @fileno(ptr noundef %3677) #9
  %3679 = call i32 @isatty(i32 noundef %3678) #9
  %.not438 = icmp eq i32 %3679, 0
  br i1 %.not438, label %3680, label %3681

3680:                                             ; preds = %3676, %3670
  br label %3681

3681:                                             ; preds = %3676, %3680
  %.str.5.sink1748 = phi ptr [ @.str.5, %3680 ], [ @.str.2, %3676 ]
  store i32 %3671, ptr %191, align 4, !tbaa !5
  %3682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3683 = load i32, ptr @test_count, align 4, !tbaa !5
  %3684 = load i32, ptr %137, align 4, !tbaa !5
  %3685 = call ptr @s2n_strerror(i32 noundef %3684, ptr noundef nonnull @.str.4) #9
  %3686 = load i32, ptr %137, align 4, !tbaa !5
  %3687 = call ptr @s2n_strerror_debug(i32 noundef %3686, ptr noundef nonnull @.str.4) #9
  %3688 = load i32, ptr %191, align 4, !tbaa !5
  %3689 = call ptr @strerror(i32 noundef %3688) #9
  %3690 = load i32, ptr %191, align 4, !tbaa !5
  %3691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3682, ptr noundef nonnull %.str.5.sink1748, i32 noundef %3683, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 341, ptr noundef %3685, ptr noundef %3687, ptr noundef %3689, i32 noundef %3690) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3692:                                             ; preds = %3662
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) #9
  %3693 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %12) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #9
  %3694 = call ptr @s2n_connection_new(i32 noundef 1) #9
  store ptr %3694, ptr %15, align 8, !tbaa !9
  %3695 = load i32, ptr @test_count, align 4, !tbaa !5
  %3696 = add nsw i32 %3695, 1
  store i32 %3696, ptr @test_count, align 4, !tbaa !5
  %3697 = icmp eq ptr %3694, null
  br i1 %3697, label %3698, label %3720

3698:                                             ; preds = %3692
  %3699 = load i32, ptr %191, align 4, !tbaa !5
  %3700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3701 = call i32 @s2n_print_stacktrace(ptr noundef %3700) #9
  %3702 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3703 = trunc nuw i8 %3702 to i1
  br i1 %3703, label %3704, label %3708

3704:                                             ; preds = %3698
  %3705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3706 = call i32 @fileno(ptr noundef %3705) #9
  %3707 = call i32 @isatty(i32 noundef %3706) #9
  %.not454 = icmp eq i32 %3707, 0
  br i1 %.not454, label %3708, label %3709

3708:                                             ; preds = %3704, %3698
  br label %3709

3709:                                             ; preds = %3704, %3708
  %.str.5.sink1757 = phi ptr [ @.str.5, %3708 ], [ @.str.2, %3704 ]
  store i32 %3699, ptr %191, align 4, !tbaa !5
  %3710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3711 = load i32, ptr @test_count, align 4, !tbaa !5
  %3712 = load i32, ptr %137, align 4, !tbaa !5
  %3713 = call ptr @s2n_strerror(i32 noundef %3712, ptr noundef nonnull @.str.4) #9
  %3714 = load i32, ptr %137, align 4, !tbaa !5
  %3715 = call ptr @s2n_strerror_debug(i32 noundef %3714, ptr noundef nonnull @.str.4) #9
  %3716 = load i32, ptr %191, align 4, !tbaa !5
  %3717 = call ptr @strerror(i32 noundef %3716) #9
  %3718 = load i32, ptr %191, align 4, !tbaa !5
  %3719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3710, ptr noundef nonnull %.str.5.sink1757, i32 noundef %3711, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 348, ptr noundef %3713, ptr noundef %3715, ptr noundef %3717, i32 noundef %3718) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3720:                                             ; preds = %3692
  %3721 = getelementptr inbounds i8, ptr %3694, i64 2000
  store i8 80, ptr %3721, align 8, !tbaa !55
  %3722 = getelementptr inbounds i8, ptr %3694, i64 2001
  store i8 46, ptr %3722, align 1, !tbaa !52
  %3723 = add nsw i32 %3695, 2
  store i32 %3723, ptr @test_count, align 4, !tbaa !5
  %3724 = call i32 @s2n_alerts_write_error_or_close_notify(ptr noundef nonnull %3694) #9
  %3725 = call zeroext i1 @s2n_result_is_ok(i32 %3724)
  br i1 %3725, label %3748, label %3726

3726:                                             ; preds = %3720
  %3727 = load i32, ptr %191, align 4, !tbaa !5
  %3728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3729 = call i32 @s2n_print_stacktrace(ptr noundef %3728) #9
  %3730 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3731 = trunc nuw i8 %3730 to i1
  br i1 %3731, label %3732, label %3736

3732:                                             ; preds = %3726
  %3733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3734 = call i32 @fileno(ptr noundef %3733) #9
  %3735 = call i32 @isatty(i32 noundef %3734) #9
  %.not439 = icmp eq i32 %3735, 0
  br i1 %.not439, label %3736, label %3737

3736:                                             ; preds = %3732, %3726
  br label %3737

3737:                                             ; preds = %3732, %3736
  %.str.5.sink1766 = phi ptr [ @.str.5, %3736 ], [ @.str.2, %3732 ]
  store i32 %3727, ptr %191, align 4, !tbaa !5
  %3738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3739 = load i32, ptr @test_count, align 4, !tbaa !5
  %3740 = load i32, ptr %137, align 4, !tbaa !5
  %3741 = call ptr @s2n_strerror(i32 noundef %3740, ptr noundef nonnull @.str.4) #9
  %3742 = load i32, ptr %137, align 4, !tbaa !5
  %3743 = call ptr @s2n_strerror_debug(i32 noundef %3742, ptr noundef nonnull @.str.4) #9
  %3744 = load i32, ptr %191, align 4, !tbaa !5
  %3745 = call ptr @strerror(i32 noundef %3744) #9
  %3746 = load i32, ptr %191, align 4, !tbaa !5
  %3747 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3738, ptr noundef nonnull %.str.5.sink1766, i32 noundef %3739, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 352, ptr noundef %3741, ptr noundef %3743, ptr noundef %3745, i32 noundef %3746) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3748:                                             ; preds = %3720
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %16) #9
  store i8 0, ptr %16, align 1, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %17) #9
  store i8 0, ptr %17, align 1, !tbaa !15
  %3749 = load i32, ptr @test_count, align 4, !tbaa !5
  %3750 = add nsw i32 %3749, 1
  store i32 %3750, ptr @test_count, align 4, !tbaa !5
  %3751 = load ptr, ptr %15, align 8, !tbaa !9
  %3752 = getelementptr inbounds i8, ptr %3751, i64 1896
  %3753 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %3752, i32 noundef 5) #9
  %3754 = icmp eq i32 %3753, -1
  br i1 %3754, label %3755, label %3777

3755:                                             ; preds = %3748
  %3756 = load i32, ptr %191, align 4, !tbaa !5
  %3757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3758 = call i32 @s2n_print_stacktrace(ptr noundef %3757) #9
  %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) #9
  %3764 = call i32 @isatty(i32 noundef %3763) #9
  %.not453 = icmp eq i32 %3764, 0
  br i1 %.not453, label %3765, label %3766

3765:                                             ; preds = %3761, %3755
  br label %3766

3766:                                             ; preds = %3761, %3765
  %.str.5.sink1775 = phi ptr [ @.str.5, %3765 ], [ @.str.2, %3761 ]
  store i32 %3756, ptr %191, 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 %137, align 4, !tbaa !5
  %3770 = call ptr @s2n_strerror(i32 noundef %3769, ptr noundef nonnull @.str.4) #9
  %3771 = load i32, ptr %137, align 4, !tbaa !5
  %3772 = call ptr @s2n_strerror_debug(i32 noundef %3771, ptr noundef nonnull @.str.4) #9
  %3773 = load i32, ptr %191, align 4, !tbaa !5
  %3774 = call ptr @strerror(i32 noundef %3773) #9
  %3775 = load i32, ptr %191, align 4, !tbaa !5
  %3776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3767, ptr noundef nonnull %.str.5.sink1775, i32 noundef %3768, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 356, ptr noundef %3770, ptr noundef %3772, ptr noundef %3774, i32 noundef %3775) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3777:                                             ; preds = %3748
  %3778 = load i32, ptr @test_count, align 4, !tbaa !5
  %3779 = add nsw i32 %3778, 1
  store i32 %3779, ptr @test_count, align 4, !tbaa !5
  %3780 = load ptr, ptr %15, align 8, !tbaa !9
  %3781 = getelementptr inbounds i8, ptr %3780, i64 1896
  %3782 = call i32 @s2n_stuffer_read_uint8(ptr noundef nonnull %3781, ptr noundef nonnull %16) #9
  %3783 = icmp eq i32 %3782, -1
  br i1 %3783, label %3784, label %3806

3784:                                             ; preds = %3777
  %3785 = load i32, ptr %191, align 4, !tbaa !5
  %3786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3787 = call i32 @s2n_print_stacktrace(ptr noundef %3786) #9
  %3788 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3789 = trunc nuw i8 %3788 to i1
  br i1 %3789, label %3790, label %3794

3790:                                             ; preds = %3784
  %3791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3792 = call i32 @fileno(ptr noundef %3791) #9
  %3793 = call i32 @isatty(i32 noundef %3792) #9
  %.not452 = icmp eq i32 %3793, 0
  br i1 %.not452, label %3794, label %3795

3794:                                             ; preds = %3790, %3784
  br label %3795

3795:                                             ; preds = %3790, %3794
  %.str.5.sink1784 = phi ptr [ @.str.5, %3794 ], [ @.str.2, %3790 ]
  store i32 %3785, ptr %191, align 4, !tbaa !5
  %3796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3797 = load i32, ptr @test_count, align 4, !tbaa !5
  %3798 = load i32, ptr %137, align 4, !tbaa !5
  %3799 = call ptr @s2n_strerror(i32 noundef %3798, ptr noundef nonnull @.str.4) #9
  %3800 = load i32, ptr %137, align 4, !tbaa !5
  %3801 = call ptr @s2n_strerror_debug(i32 noundef %3800, ptr noundef nonnull @.str.4) #9
  %3802 = load i32, ptr %191, align 4, !tbaa !5
  %3803 = call ptr @strerror(i32 noundef %3802) #9
  %3804 = load i32, ptr %191, align 4, !tbaa !5
  %3805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3796, ptr noundef nonnull %.str.5.sink1784, i32 noundef %3797, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 357, ptr noundef %3799, ptr noundef %3801, ptr noundef %3803, i32 noundef %3804) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3806:                                             ; preds = %3777
  %3807 = load i32, ptr @test_count, align 4, !tbaa !5
  %3808 = add nsw i32 %3807, 1
  store i32 %3808, ptr @test_count, align 4, !tbaa !5
  %3809 = load i8, ptr %16, align 1, !tbaa !15
  %3810 = icmp eq i8 %3809, 2
  br i1 %3810, label %3833, label %3811

3811:                                             ; preds = %3806
  %3812 = load i32, ptr %191, align 4, !tbaa !5
  %3813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3814 = call i32 @s2n_print_stacktrace(ptr noundef %3813) #9
  %3815 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3816 = trunc nuw i8 %3815 to i1
  br i1 %3816, label %3817, label %3821

3817:                                             ; preds = %3811
  %3818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3819 = call i32 @fileno(ptr noundef %3818) #9
  %3820 = call i32 @isatty(i32 noundef %3819) #9
  %.not440 = icmp eq i32 %3820, 0
  br i1 %.not440, label %3821, label %3822

3821:                                             ; preds = %3817, %3811
  br label %3822

3822:                                             ; preds = %3817, %3821
  %.str.5.sink1793 = phi ptr [ @.str.5, %3821 ], [ @.str.2, %3817 ]
  store i32 %3812, ptr %191, align 4, !tbaa !5
  %3823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3824 = load i32, ptr @test_count, align 4, !tbaa !5
  %3825 = load i32, ptr %137, align 4, !tbaa !5
  %3826 = call ptr @s2n_strerror(i32 noundef %3825, ptr noundef nonnull @.str.4) #9
  %3827 = load i32, ptr %137, align 4, !tbaa !5
  %3828 = call ptr @s2n_strerror_debug(i32 noundef %3827, ptr noundef nonnull @.str.4) #9
  %3829 = load i32, ptr %191, align 4, !tbaa !5
  %3830 = call ptr @strerror(i32 noundef %3829) #9
  %3831 = load i32, ptr %191, align 4, !tbaa !5
  %3832 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3823, ptr noundef nonnull %.str.5.sink1793, i32 noundef %3824, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 358, ptr noundef %3826, ptr noundef %3828, ptr noundef %3830, i32 noundef %3831) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3833:                                             ; preds = %3806
  %3834 = add nsw i32 %3807, 2
  store i32 %3834, ptr @test_count, align 4, !tbaa !5
  %3835 = load ptr, ptr %15, align 8, !tbaa !9
  %3836 = getelementptr inbounds i8, ptr %3835, i64 1896
  %3837 = call i32 @s2n_stuffer_read_uint8(ptr noundef nonnull %3836, ptr noundef nonnull %17) #9
  %3838 = icmp eq i32 %3837, -1
  br i1 %3838, label %3839, label %3861

3839:                                             ; preds = %3833
  %3840 = load i32, ptr %191, align 4, !tbaa !5
  %3841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3842 = call i32 @s2n_print_stacktrace(ptr noundef %3841) #9
  %3843 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3844 = trunc nuw i8 %3843 to i1
  br i1 %3844, label %3845, label %3849

3845:                                             ; preds = %3839
  %3846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3847 = call i32 @fileno(ptr noundef %3846) #9
  %3848 = call i32 @isatty(i32 noundef %3847) #9
  %.not451 = icmp eq i32 %3848, 0
  br i1 %.not451, label %3849, label %3850

3849:                                             ; preds = %3845, %3839
  br label %3850

3850:                                             ; preds = %3845, %3849
  %.str.5.sink1802 = phi ptr [ @.str.5, %3849 ], [ @.str.2, %3845 ]
  store i32 %3840, ptr %191, align 4, !tbaa !5
  %3851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3852 = load i32, ptr @test_count, align 4, !tbaa !5
  %3853 = load i32, ptr %137, align 4, !tbaa !5
  %3854 = call ptr @s2n_strerror(i32 noundef %3853, ptr noundef nonnull @.str.4) #9
  %3855 = load i32, ptr %137, align 4, !tbaa !5
  %3856 = call ptr @s2n_strerror_debug(i32 noundef %3855, ptr noundef nonnull @.str.4) #9
  %3857 = load i32, ptr %191, align 4, !tbaa !5
  %3858 = call ptr @strerror(i32 noundef %3857) #9
  %3859 = load i32, ptr %191, align 4, !tbaa !5
  %3860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3851, ptr noundef nonnull %.str.5.sink1802, i32 noundef %3852, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 359, ptr noundef %3854, ptr noundef %3856, ptr noundef %3858, i32 noundef %3859) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3861:                                             ; preds = %3833
  %3862 = load i32, ptr @test_count, align 4, !tbaa !5
  %3863 = add nsw i32 %3862, 1
  store i32 %3863, ptr @test_count, align 4, !tbaa !5
  %3864 = load i8, ptr %17, align 1, !tbaa !15
  %3865 = icmp eq i8 %3864, 80
  br i1 %3865, label %3888, label %3866

3866:                                             ; preds = %3861
  %3867 = load i32, ptr %191, align 4, !tbaa !5
  %3868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3869 = call i32 @s2n_print_stacktrace(ptr noundef %3868) #9
  %3870 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3871 = trunc nuw i8 %3870 to i1
  br i1 %3871, label %3872, label %3876

3872:                                             ; preds = %3866
  %3873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3874 = call i32 @fileno(ptr noundef %3873) #9
  %3875 = call i32 @isatty(i32 noundef %3874) #9
  %.not441 = icmp eq i32 %3875, 0
  br i1 %.not441, label %3876, label %3877

3876:                                             ; preds = %3872, %3866
  br label %3877

3877:                                             ; preds = %3872, %3876
  %.str.5.sink1811 = phi ptr [ @.str.5, %3876 ], [ @.str.2, %3872 ]
  store i32 %3867, ptr %191, align 4, !tbaa !5
  %3878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3879 = load i32, ptr @test_count, align 4, !tbaa !5
  %3880 = load i32, ptr %137, align 4, !tbaa !5
  %3881 = call ptr @s2n_strerror(i32 noundef %3880, ptr noundef nonnull @.str.4) #9
  %3882 = load i32, ptr %137, align 4, !tbaa !5
  %3883 = call ptr @s2n_strerror_debug(i32 noundef %3882, ptr noundef nonnull @.str.4) #9
  %3884 = load i32, ptr %191, align 4, !tbaa !5
  %3885 = call ptr @strerror(i32 noundef %3884) #9
  %3886 = load i32, ptr %191, align 4, !tbaa !5
  %3887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3878, ptr noundef nonnull %.str.5.sink1811, i32 noundef %3879, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 360, ptr noundef %3881, ptr noundef %3883, ptr noundef %3885, i32 noundef %3886) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3888:                                             ; preds = %3861
  %3889 = add nsw i32 %3862, 2
  store i32 %3889, ptr @test_count, align 4, !tbaa !5
  %3890 = load ptr, ptr %15, align 8, !tbaa !9
  %3891 = getelementptr inbounds i8, ptr %3890, i64 1924
  %3892 = load i32, ptr %3891, align 4, !tbaa !53
  %3893 = getelementptr inbounds i8, ptr %3890, i64 1920
  %3894 = load i32, ptr %3893, align 8, !tbaa !54
  %3895 = icmp eq i32 %3892, %3894
  br i1 %3895, label %3918, label %3896

3896:                                             ; preds = %3888
  %3897 = load i32, ptr %191, align 4, !tbaa !5
  %3898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3899 = call i32 @s2n_print_stacktrace(ptr noundef %3898) #9
  %3900 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3901 = trunc nuw i8 %3900 to i1
  br i1 %3901, label %3902, label %3906

3902:                                             ; preds = %3896
  %3903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3904 = call i32 @fileno(ptr noundef %3903) #9
  %3905 = call i32 @isatty(i32 noundef %3904) #9
  %.not442 = icmp eq i32 %3905, 0
  br i1 %.not442, label %3906, label %3907

3906:                                             ; preds = %3902, %3896
  br label %3907

3907:                                             ; preds = %3902, %3906
  %.str.5.sink1820 = phi ptr [ @.str.5, %3906 ], [ @.str.2, %3902 ]
  store i32 %3897, ptr %191, align 4, !tbaa !5
  %3908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3909 = load i32, ptr @test_count, align 4, !tbaa !5
  %3910 = load i32, ptr %137, align 4, !tbaa !5
  %3911 = call ptr @s2n_strerror(i32 noundef %3910, ptr noundef nonnull @.str.4) #9
  %3912 = load i32, ptr %137, align 4, !tbaa !5
  %3913 = call ptr @s2n_strerror_debug(i32 noundef %3912, ptr noundef nonnull @.str.4) #9
  %3914 = load i32, ptr %191, align 4, !tbaa !5
  %3915 = call ptr @strerror(i32 noundef %3914) #9
  %3916 = load i32, ptr %191, align 4, !tbaa !5
  %3917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3908, ptr noundef nonnull %.str.5.sink1820, i32 noundef %3909, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 361, ptr noundef %3911, ptr noundef %3913, ptr noundef %3915, i32 noundef %3916) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3918:                                             ; preds = %3888
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %17) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #9
  %3919 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %15) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #9
  %3920 = call ptr @s2n_connection_new(i32 noundef 1) #9
  store ptr %3920, ptr %18, align 8, !tbaa !9
  %3921 = load i32, ptr @test_count, align 4, !tbaa !5
  %3922 = add nsw i32 %3921, 1
  store i32 %3922, ptr @test_count, align 4, !tbaa !5
  %3923 = icmp eq ptr %3920, null
  br i1 %3923, label %3924, label %3946

3924:                                             ; preds = %3918
  %3925 = load i32, ptr %191, align 4, !tbaa !5
  %3926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3927 = call i32 @s2n_print_stacktrace(ptr noundef %3926) #9
  %3928 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3929 = trunc nuw i8 %3928 to i1
  br i1 %3929, label %3930, label %3934

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

3934:                                             ; preds = %3930, %3924
  br label %3935

3935:                                             ; preds = %3930, %3934
  %.str.5.sink1829 = phi ptr [ @.str.5, %3934 ], [ @.str.2, %3930 ]
  store i32 %3925, ptr %191, align 4, !tbaa !5
  %3936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3937 = load i32, ptr @test_count, align 4, !tbaa !5
  %3938 = load i32, ptr %137, align 4, !tbaa !5
  %3939 = call ptr @s2n_strerror(i32 noundef %3938, ptr noundef nonnull @.str.4) #9
  %3940 = load i32, ptr %137, align 4, !tbaa !5
  %3941 = call ptr @s2n_strerror_debug(i32 noundef %3940, ptr noundef nonnull @.str.4) #9
  %3942 = load i32, ptr %191, align 4, !tbaa !5
  %3943 = call ptr @strerror(i32 noundef %3942) #9
  %3944 = load i32, ptr %191, align 4, !tbaa !5
  %3945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3936, ptr noundef nonnull %.str.5.sink1829, i32 noundef %3937, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 368, ptr noundef %3939, ptr noundef %3941, ptr noundef %3943, i32 noundef %3944) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3946:                                             ; preds = %3918
  %3947 = load i32, ptr %3920, align 8
  %3948 = or i32 %3947, 4
  store i32 %3948, ptr %3920, align 8
  %3949 = getelementptr inbounds i8, ptr %3920, i64 2000
  store i8 80, ptr %3949, align 8, !tbaa !55
  %3950 = getelementptr inbounds i8, ptr %3920, i64 2001
  store i8 46, ptr %3950, align 1, !tbaa !52
  %3951 = load i32, ptr @test_count, align 4, !tbaa !5
  %3952 = add nsw i32 %3951, 1
  store i32 %3952, ptr @test_count, align 4, !tbaa !5
  %3953 = call i32 @s2n_alerts_write_error_or_close_notify(ptr noundef nonnull %3920) #9
  %3954 = call zeroext i1 @s2n_result_is_ok(i32 %3953)
  br i1 %3954, label %3977, label %3955

3955:                                             ; preds = %3946
  %3956 = load i32, ptr %191, align 4, !tbaa !5
  %3957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3958 = call i32 @s2n_print_stacktrace(ptr noundef %3957) #9
  %3959 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3960 = trunc nuw i8 %3959 to i1
  br i1 %3960, label %3961, label %3965

3961:                                             ; preds = %3955
  %3962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3963 = call i32 @fileno(ptr noundef %3962) #9
  %3964 = call i32 @isatty(i32 noundef %3963) #9
  %.not443 = icmp eq i32 %3964, 0
  br i1 %.not443, label %3965, label %3966

3965:                                             ; preds = %3961, %3955
  br label %3966

3966:                                             ; preds = %3961, %3965
  %.str.5.sink1838 = phi ptr [ @.str.5, %3965 ], [ @.str.2, %3961 ]
  store i32 %3956, ptr %191, align 4, !tbaa !5
  %3967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3968 = load i32, ptr @test_count, align 4, !tbaa !5
  %3969 = load i32, ptr %137, align 4, !tbaa !5
  %3970 = call ptr @s2n_strerror(i32 noundef %3969, ptr noundef nonnull @.str.4) #9
  %3971 = load i32, ptr %137, align 4, !tbaa !5
  %3972 = call ptr @s2n_strerror_debug(i32 noundef %3971, ptr noundef nonnull @.str.4) #9
  %3973 = load i32, ptr %191, align 4, !tbaa !5
  %3974 = call ptr @strerror(i32 noundef %3973) #9
  %3975 = load i32, ptr %191, align 4, !tbaa !5
  %3976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3967, ptr noundef nonnull %.str.5.sink1838, i32 noundef %3968, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 373, ptr noundef %3970, ptr noundef %3972, ptr noundef %3974, i32 noundef %3975) #11
  call void @exit(i32 noundef 1) #12
  unreachable

3977:                                             ; preds = %3946
  %3978 = load i32, ptr @test_count, align 4, !tbaa !5
  %3979 = add nsw i32 %3978, 1
  store i32 %3979, ptr @test_count, align 4, !tbaa !5
  %3980 = getelementptr inbounds i8, ptr %3920, i64 1924
  %3981 = load i32, ptr %3980, align 4, !tbaa !53
  %3982 = getelementptr inbounds i8, ptr %3920, i64 1920
  %3983 = load i32, ptr %3982, align 8, !tbaa !54
  %3984 = icmp eq i32 %3981, %3983
  br i1 %3984, label %4007, label %3985

3985:                                             ; preds = %3977
  %3986 = load i32, ptr %191, align 4, !tbaa !5
  %3987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3988 = call i32 @s2n_print_stacktrace(ptr noundef %3987) #9
  %3989 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3990 = trunc nuw i8 %3989 to i1
  br i1 %3990, label %3991, label %3995

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

3995:                                             ; preds = %3991, %3985
  br label %3996

3996:                                             ; preds = %3991, %3995
  %.str.5.sink1847 = phi ptr [ @.str.5, %3995 ], [ @.str.2, %3991 ]
  store i32 %3986, ptr %191, align 4, !tbaa !5
  %3997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3998 = load i32, ptr @test_count, align 4, !tbaa !5
  %3999 = load i32, ptr %137, align 4, !tbaa !5
  %4000 = call ptr @s2n_strerror(i32 noundef %3999, ptr noundef nonnull @.str.4) #9
  %4001 = load i32, ptr %137, align 4, !tbaa !5
  %4002 = call ptr @s2n_strerror_debug(i32 noundef %4001, ptr noundef nonnull @.str.4) #9
  %4003 = load i32, ptr %191, align 4, !tbaa !5
  %4004 = call ptr @strerror(i32 noundef %4003) #9
  %4005 = load i32, ptr %191, align 4, !tbaa !5
  %4006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3997, ptr noundef nonnull %.str.5.sink1847, i32 noundef %3998, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 374, ptr noundef %4000, ptr noundef %4002, ptr noundef %4004, i32 noundef %4005) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4007:                                             ; preds = %3977
  %4008 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %18) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #9
  %4009 = call i32 @s2n_cleanup() #9
  %4010 = icmp eq i32 %4009, -1
  br i1 %4010, label %4011, label %4033

4011:                                             ; preds = %4007
  %4012 = load i32, ptr %191, align 4, !tbaa !5
  %4013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4014 = call i32 @s2n_print_stacktrace(ptr noundef %4013) #9
  %4015 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4016 = trunc nuw i8 %4015 to i1
  br i1 %4016, label %4017, label %4021

4017:                                             ; preds = %4011
  %4018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4019 = call i32 @fileno(ptr noundef %4018) #9
  %4020 = call i32 @isatty(i32 noundef %4019) #9
  %.not449 = icmp eq i32 %4020, 0
  br i1 %.not449, label %4021, label %4022

4021:                                             ; preds = %4017, %4011
  br label %4022

4022:                                             ; preds = %4017, %4021
  %.str.5.sink1856 = phi ptr [ @.str.5, %4021 ], [ @.str.2, %4017 ]
  store i32 %4012, ptr %191, align 4, !tbaa !5
  %4023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4024 = load i32, ptr @test_count, align 4, !tbaa !5
  %4025 = load i32, ptr %137, align 4, !tbaa !5
  %4026 = call ptr @s2n_strerror(i32 noundef %4025, ptr noundef nonnull @.str.4) #9
  %4027 = load i32, ptr %137, align 4, !tbaa !5
  %4028 = call ptr @s2n_strerror_debug(i32 noundef %4027, ptr noundef nonnull @.str.4) #9
  %4029 = load i32, ptr %191, align 4, !tbaa !5
  %4030 = call ptr @strerror(i32 noundef %4029) #9
  %4031 = load i32, ptr %191, align 4, !tbaa !5
  %4032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4023, ptr noundef nonnull %.str.5.sink1856, i32 noundef %4024, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 378, ptr noundef %4026, ptr noundef %4028, ptr noundef %4030, i32 noundef %4031) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4033:                                             ; preds = %4007
  %4034 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #9
  %4035 = icmp eq i32 %4034, -1
  br i1 %4035, label %4036, label %4058

4036:                                             ; preds = %4033
  %4037 = load i32, ptr %191, align 4, !tbaa !5
  %4038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4039 = call i32 @s2n_print_stacktrace(ptr noundef %4038) #9
  %4040 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4041 = trunc nuw i8 %4040 to i1
  br i1 %4041, label %4042, label %4046

4042:                                             ; preds = %4036
  %4043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4044 = call i32 @fileno(ptr noundef %4043) #9
  %4045 = call i32 @isatty(i32 noundef %4044) #9
  %.not448 = icmp eq i32 %4045, 0
  br i1 %.not448, label %4046, label %4047

4046:                                             ; preds = %4042, %4036
  br label %4047

4047:                                             ; preds = %4042, %4046
  %.str.5.sink1865 = phi ptr [ @.str.5, %4046 ], [ @.str.2, %4042 ]
  store i32 %4037, ptr %191, align 4, !tbaa !5
  %4048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4049 = load i32, ptr @test_count, align 4, !tbaa !5
  %4050 = load i32, ptr %137, align 4, !tbaa !5
  %4051 = call ptr @s2n_strerror(i32 noundef %4050, ptr noundef nonnull @.str.4) #9
  %4052 = load i32, ptr %137, align 4, !tbaa !5
  %4053 = call ptr @s2n_strerror_debug(i32 noundef %4052, ptr noundef nonnull @.str.4) #9
  %4054 = load i32, ptr %191, align 4, !tbaa !5
  %4055 = call ptr @strerror(i32 noundef %4054) #9
  %4056 = load i32, ptr %191, align 4, !tbaa !5
  %4057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4048, ptr noundef nonnull %.str.5.sink1865, i32 noundef %4049, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 378, ptr noundef %4051, ptr noundef %4053, ptr noundef %4055, i32 noundef %4056) #11
  call void @exit(i32 noundef 1) #12
  unreachable

4058:                                             ; preds = %4033
  %4059 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4060 = trunc nuw i8 %4059 to i1
  br i1 %4060, label %4061, label %4072

4061:                                             ; preds = %4058
  %4062 = load ptr, ptr @stdout, align 8, !tbaa !9
  %4063 = call i32 @fileno(ptr noundef %4062) #9
  %4064 = call i32 @isatty(i32 noundef %4063) #9
  %.not445 = icmp eq i32 %4064, 0
  br i1 %.not445, label %4072, label %4065

4065:                                             ; preds = %4061
  %4066 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not447 = icmp eq i32 %4066, 0
  %4067 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not447, label %4070, label %4068

4068:                                             ; preds = %4065
  %4069 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4067, ptr noundef nonnull @.str.66, i32 noundef %4066) #9
  br label %4079

4070:                                             ; preds = %4065
  %4071 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4067, ptr noundef nonnull @.str.67) #9
  br label %4079

4072:                                             ; preds = %4061, %4058
  %4073 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not446 = icmp eq i32 %4073, 0
  %4074 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not446, label %4077, label %4075

4075:                                             ; preds = %4072
  %4076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4074, ptr noundef nonnull @.str.68, i32 noundef %4073) #9
  br label %4079

4077:                                             ; preds = %4072
  %4078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4074, ptr noundef nonnull @.str.69) #9
  br label %4079

4079:                                             ; preds = %4075, %4077, %4068, %4070
  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 i32 @s2n_error_get_alert(i32 noundef, ptr noundef) local_unnamed_addr #2

declare void @s2n_debug_info_reset() local_unnamed_addr #2

declare ptr @s2n_strerror_name(i32 noundef) local_unnamed_addr #2

declare ptr @s2n_connection_new(i32 noundef) local_unnamed_addr #2

declare zeroext i1 @s2n_atomic_flag_test(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_write_bytes(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_process_alert_fragment(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_free(ptr noundef) local_unnamed_addr #2

declare zeroext i1 @s2n_is_tls13_fully_supported(...) local_unnamed_addr #2

declare ptr @s2n_config_new() local_unnamed_addr #2

declare i32 @s2n_connection_set_config(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_write_uint16(ptr noundef, i16 noundef zeroext) local_unnamed_addr #2

declare i32 @s2n_stuffer_wipe(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_enable_quic(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_free(ptr noundef) local_unnamed_addr #2

declare zeroext i1 @s2n_connection_check_io_status(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_alert_behavior(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_queue_reader_unsupported_protocol_version_alert(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_queue_reader_handshake_failure_alert(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_ptr_free(ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_alerts_write_error_or_close_notify(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_skip_read(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_read_uint8(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_cleanup() local_unnamed_addr #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { 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 = { 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 = { cold nounwind }
attributes #12 = { noreturn nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!7, !7, i64 0}
!16 = distinct !{!16, !17}
!17 = !{!"llvm.loop.mustprogress"}
!18 = distinct !{!18, !17}
!19 = distinct !{!19, !17}
!20 = !{!21, !10, i64 8}
!21 = !{!"s2n_connection", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !7, i64 80, !7, i64 102, !7, i64 124, !6, i64 148, !6, i64 152, !22, i64 160, !23, i64 168, !23, 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, !24, i64 240, !10, i64 632, !10, i64 640, !25, i64 648, !31, i64 1144, !34, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !37, i64 1776, !37, i64 1816, !37, i64 1856, !37, i64 1896, !6, i64 1936, !23, i64 1944, !7, i64 1952, !37, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !38, i64 2004, !38, i64 2008, !39, i64 2016, !36, i64 2208, !6, i64 2212, !36, i64 2216, !23, i64 2224, !7, i64 2232, !23, i64 2240, !23, i64 2248, !23, i64 2256, !38, i64 2264, !38, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !30, i64 2792, !6, i64 2816, !30, i64 2824, !30, i64 2848, !30, i64 2872, !41, i64 2896, !43, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !30, i64 3784, !6, i64 3808, !45, i64 3816, !7, i64 3848, !37, i64 3992, !30, i64 4032, !30, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !36, i64 4084, !36, i64 4086, !6, i64 4088, !6, i64 4092, !30, i64 4096, !6, i64 4120, !46, i64 4128, !38, i64 4176, !7, i64 4180, !7, i64 4181}
!22 = !{!"s2n_timer", !23, i64 0}
!23 = !{!"long", !7, i64 0}
!24 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!25 = !{!"s2n_kex_parameters", !26, i64 0, !27, i64 8, !7, i64 24, !27, i64 56, !28, i64 72, !28, i64 184, !7, i64 296, !29, i64 360, !30, i64 448, !30, i64 472}
!26 = !{!"s2n_dh_params", !10, i64 0}
!27 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!28 = !{!"s2n_kem_group_params", !10, i64 0, !29, i64 8, !27, i64 96}
!29 = !{!"s2n_kem_params", !10, i64 0, !30, i64 8, !30, i64 32, !30, i64 56, !12, i64 80}
!30 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!31 = !{!"s2n_handshake_parameters", !32, i64 0, !32, i64 48, !30, i64 96, !6, i64 120, !33, 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}
!32 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!33 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!34 = !{!"s2n_psk_parameters", !6, i64 0, !35, i64 8, !36, i64 40, !36, i64 42, !10, i64 48, !6, i64 56}
!35 = !{!"s2n_array", !30, i64 0, !6, i64 24, !6, i64 28}
!36 = !{!"short", !7, i64 0}
!37 = !{!"s2n_stuffer", !30, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!38 = !{!"", !6, i64 0}
!39 = !{!"s2n_handshake", !37, 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, !40, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!40 = !{!"s2n_offered_early_data", !10, i64 0}
!41 = !{!"s2n_client_hello", !30, i64 0, !42, i64 24, !30, i64 728, !30, i64 752, !30, 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}
!42 = !{!"", !7, i64 0, !30, i64 672, !36, i64 696}
!43 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !36, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !44, i64 48, !12, i64 52}
!44 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!45 = !{!"s2n_ticket_fields", !30, i64 0, !6, i64 24}
!46 = !{!"s2n_post_handshake", !37, i64 0, !7, i64 40}
!47 = !{!48, !6, i64 236}
!48 = !{!"s2n_config", !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, !10, i64 8, !10, i64 16, !49, i64 24, !30, i64 56, !10, i64 80, !10, i64 88, !10, i64 96, !10, i64 104, !10, i64 112, !10, i64 120, !6, i64 128, !6, i64 132, !10, i64 136, !23, i64 144, !10, i64 152, !23, i64 160, !23, i64 168, !10, i64 176, !10, i64 184, !10, i64 192, !10, i64 200, !10, i64 208, !10, i64 216, !6, i64 224, !7, i64 228, !6, i64 232, !6, i64 236, !10, i64 240, !10, i64 248, !10, i64 256, !10, i64 264, !10, i64 272, !10, i64 280, !10, i64 288, !7, i64 296, !7, i64 297, !50, i64 304, !36, i64 320, !10, i64 328, !10, i64 336, !10, i64 344, !10, i64 352, !10, i64 360, !10, i64 368, !10, i64 376, !10, i64 384, !6, i64 392, !6, i64 396, !6, i64 400, !10, i64 408, !6, i64 416, !6, i64 420, !10, i64 424, !10, i64 432, !6, i64 440, !30, i64 448}
!49 = !{!"certs_by_type", !7, i64 0}
!50 = !{!"s2n_x509_trust_store", !10, i64 0, !6, i64 8}
!51 = !{!21, !7, i64 220}
!52 = !{!21, !7, i64 2001}
!53 = !{!21, !6, i64 1924}
!54 = !{!21, !6, i64 1920}
!55 = !{!21, !7, i64 2000}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,LCSSAPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass,TailCallElimPass