; LLVM IR from aws/s2n-tls :: tests/unit (s2n_quic_support_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_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.iovec = type { ptr, i64 }

@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 [80 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 [41 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [57 x i8], align 1
@TEST_DATA = external hidden constant [5 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [112 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [109 x i8], align 1
@__const.main.other_data = external hidden unnamed_addr constant [17 x i8], align 16
@.str.47 = external hidden unnamed_addr constant [111 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [111 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [117 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [111 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [91 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 ptr, align 8
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  %12 = alloca ptr, align 8
  %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 i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca ptr, align 8
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca ptr, align 8
  %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 i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca i32, align 4
  %44 = alloca i32, align 4
  %45 = alloca i32, align 4
  %46 = alloca i32, align 4
  %47 = alloca ptr, align 8
  %48 = alloca i32, align 4
  %49 = alloca i32, align 4
  %50 = alloca i32, align 4
  %51 = alloca i32, align 4
  %52 = alloca i32, align 4
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca i32, align 4
  %56 = alloca i32, align 4
  %57 = alloca ptr, align 8
  %58 = alloca i32, align 4
  %59 = alloca i32, align 4
  %60 = alloca i32, align 4
  %61 = alloca i32, align 4
  %62 = alloca i32, align 4
  %63 = alloca i32, align 4
  %64 = alloca i32, align 4
  %65 = alloca ptr, align 8
  %66 = alloca i32, align 4
  %67 = alloca ptr, align 8
  %68 = alloca i32, align 4
  %69 = alloca i32, align 4
  %70 = alloca ptr, align 8
  %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 i32, align 4
  %79 = alloca i32, align 4
  %80 = alloca i32, align 4
  %81 = alloca i32, align 4
  %82 = alloca %struct.s2n_connection, align 8
  %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 i32, align 4
  %90 = alloca i32, align 4
  %91 = alloca ptr, align 8
  %92 = alloca i32, align 4
  %93 = alloca i32, align 4
  %94 = alloca [17 x i8], align 16
  %95 = alloca i32, align 4
  %96 = alloca i32, align 4
  %97 = alloca %struct.s2n_connection, align 8
  %98 = alloca ptr, align 8
  %99 = alloca i16, align 2
  %100 = alloca i32, align 4
  %101 = alloca i32, align 4
  %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 i16, align 2
  %111 = alloca ptr, align 8
  %112 = alloca i32, align 4
  %113 = alloca i32, align 4
  %114 = alloca i32, align 4
  %115 = alloca i32, align 4
  %116 = alloca i32, align 4
  %117 = alloca ptr, align 8
  %118 = alloca i16, align 2
  %119 = alloca ptr, align 8
  %120 = alloca i32, align 4
  %121 = alloca i32, align 4
  %122 = alloca i64, align 8
  %123 = alloca i32, align 4
  %124 = alloca i32, align 4
  %125 = alloca i32, align 4
  %126 = alloca i32, align 4
  %127 = alloca i32, align 4
  %128 = alloca i8, align 1
  %129 = alloca ptr, align 8
  %130 = alloca i32, align 4
  %131 = alloca i32, align 4
  %132 = alloca i32, align 4
  %133 = alloca i32, align 4
  %134 = alloca i32, align 4
  %135 = alloca i32, align 4
  %136 = alloca i32, align 4
  %137 = alloca i32, align 4
  %138 = alloca i32, align 4
  %139 = alloca i32, align 4
  %140 = alloca ptr, align 8
  %141 = alloca i32, align 4
  %142 = alloca i32, align 4
  %143 = alloca i32, align 4
  %144 = alloca i32, align 4
  %145 = alloca i32, align 4
  %146 = alloca i32, align 4
  %147 = alloca i32, align 4
  %148 = alloca ptr, align 8
  %149 = alloca i32, align 4
  %150 = alloca i32, align 4
  %151 = alloca i32, align 4
  %152 = alloca i32, align 4
  %153 = alloca i32, align 4
  %154 = alloca i32, align 4
  %155 = alloca i32, align 4
  %156 = alloca ptr, align 8
  %157 = alloca i32, align 4
  %158 = alloca i32, align 4
  %159 = alloca ptr, align 8
  %160 = alloca i32, align 4
  %161 = alloca i32, align 4
  %162 = alloca [10 x i8], align 1
  %163 = alloca %struct.iovec, align 8
  %164 = alloca i32, align 4
  %165 = alloca i32, align 4
  %166 = alloca i32, align 4
  %167 = alloca i32, align 4
  %168 = alloca i32, align 4
  %169 = alloca i32, align 4
  %170 = alloca i32, align 4
  %171 = alloca i32, align 4
  %172 = alloca i32, align 4
  %173 = alloca i32, align 4
  %174 = alloca i32, align 4
  %175 = alloca i32, align 4
  %176 = alloca i32, align 4
  %177 = alloca i32, align 4
  %178 = alloca i32, align 4
  %179 = alloca i32, align 4
  %180 = alloca i32, align 4
  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 %181

181:                                              ; preds = %2
  br label %182

182:                                              ; preds = %181
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %183 = load ptr, ptr @stdout, align 8, !tbaa !9
  %184 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %183, ptr noundef @.str, ptr noundef @.str.1) #10
  %185 = load ptr, ptr @stdout, align 8, !tbaa !9
  %186 = call i32 @fflush(ptr noundef %185)
  br label %187

187:                                              ; preds = %182
  %188 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %189 = icmp eq i32 %188, -1
  br i1 %189, label %190, label %241

190:                                              ; preds = %187
  br label %191

191:                                              ; preds = %190
  br label %192

192:                                              ; preds = %191
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #10
  %193 = call ptr @__errno_location() #11
  %194 = load i32, ptr %193, align 4, !tbaa !5
  store i32 %194, ptr %6, align 4, !tbaa !5
  %195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %196 = call i32 @s2n_print_stacktrace(ptr noundef %195)
  %197 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %198 = trunc i8 %197 to i1
  br i1 %198, label %199, label %221

199:                                              ; preds = %192
  %200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %201 = call i32 @fileno(ptr noundef %200) #10
  %202 = call i32 @isatty(i32 noundef %201) #10
  %203 = icmp ne i32 %202, 0
  br i1 %203, label %204, label %221

204:                                              ; preds = %199
  %205 = load i32, ptr %6, align 4, !tbaa !5
  %206 = call ptr @__errno_location() #11
  store i32 %205, ptr %206, align 4, !tbaa !5
  %207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %208 = load i32, ptr @test_count, align 4, !tbaa !5
  %209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %210 = load i32, ptr %209, align 4, !tbaa !5
  %211 = call ptr @s2n_strerror(i32 noundef %210, ptr noundef @.str.4)
  %212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %213 = load i32, ptr %212, align 4, !tbaa !5
  %214 = call ptr @s2n_strerror_debug(i32 noundef %213, ptr noundef @.str.4)
  %215 = call ptr @__errno_location() #11
  %216 = load i32, ptr %215, align 4, !tbaa !5
  %217 = call ptr @strerror(i32 noundef %216) #10
  %218 = call ptr @__errno_location() #11
  %219 = load i32, ptr %218, align 4, !tbaa !5
  %220 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %207, ptr noundef @.str.2, i32 noundef %208, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 31, ptr noundef %211, ptr noundef %214, ptr noundef %217, i32 noundef %219) #10
  br label %238

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

238:                                              ; preds = %221, %204
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #10
  br label %239

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

240:                                              ; No predecessors!
  br label %241

241:                                              ; preds = %240, %187
  br label %242

242:                                              ; preds = %241
  br label %243

243:                                              ; preds = %242
  %244 = load i32, ptr @test_count, align 4, !tbaa !5
  %245 = add nsw i32 %244, 1
  store i32 %245, ptr @test_count, align 4, !tbaa !5
  %246 = call i32 @s2n_enable_atexit()
  %247 = icmp eq i32 %246, -1
  br i1 %247, label %248, label %299

248:                                              ; preds = %243
  br label %249

249:                                              ; preds = %248
  br label %250

250:                                              ; preds = %249
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #10
  %251 = call ptr @__errno_location() #11
  %252 = load i32, ptr %251, align 4, !tbaa !5
  store i32 %252, ptr %7, align 4, !tbaa !5
  %253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %254 = call i32 @s2n_print_stacktrace(ptr noundef %253)
  %255 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %256 = trunc i8 %255 to i1
  br i1 %256, label %257, label %279

257:                                              ; preds = %250
  %258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %259 = call i32 @fileno(ptr noundef %258) #10
  %260 = call i32 @isatty(i32 noundef %259) #10
  %261 = icmp ne i32 %260, 0
  br i1 %261, label %262, label %279

262:                                              ; preds = %257
  %263 = load i32, ptr %7, align 4, !tbaa !5
  %264 = call ptr @__errno_location() #11
  store i32 %263, ptr %264, align 4, !tbaa !5
  %265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %266 = load i32, ptr @test_count, align 4, !tbaa !5
  %267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %268 = load i32, ptr %267, align 4, !tbaa !5
  %269 = call ptr @s2n_strerror(i32 noundef %268, ptr noundef @.str.4)
  %270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %271 = load i32, ptr %270, align 4, !tbaa !5
  %272 = call ptr @s2n_strerror_debug(i32 noundef %271, ptr noundef @.str.4)
  %273 = call ptr @__errno_location() #11
  %274 = load i32, ptr %273, align 4, !tbaa !5
  %275 = call ptr @strerror(i32 noundef %274) #10
  %276 = call ptr @__errno_location() #11
  %277 = load i32, ptr %276, align 4, !tbaa !5
  %278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %265, ptr noundef @.str.2, i32 noundef %266, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 31, ptr noundef %269, ptr noundef %272, ptr noundef %275, i32 noundef %277) #10
  br label %296

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

296:                                              ; preds = %279, %262
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #10
  br label %297

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

298:                                              ; No predecessors!
  br label %299

299:                                              ; preds = %298, %243
  br label %300

300:                                              ; preds = %299
  br label %301

301:                                              ; preds = %300
  br label %302

302:                                              ; preds = %301
  %303 = call i32 @s2n_init()
  %304 = icmp eq i32 %303, -1
  br i1 %304, label %305, label %356

305:                                              ; preds = %302
  br label %306

306:                                              ; preds = %305
  br label %307

307:                                              ; preds = %306
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #10
  %308 = call ptr @__errno_location() #11
  %309 = load i32, ptr %308, align 4, !tbaa !5
  store i32 %309, ptr %8, align 4, !tbaa !5
  %310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %311 = call i32 @s2n_print_stacktrace(ptr noundef %310)
  %312 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %313 = trunc i8 %312 to i1
  br i1 %313, label %314, label %336

314:                                              ; preds = %307
  %315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %316 = call i32 @fileno(ptr noundef %315) #10
  %317 = call i32 @isatty(i32 noundef %316) #10
  %318 = icmp ne i32 %317, 0
  br i1 %318, label %319, label %336

319:                                              ; preds = %314
  %320 = load i32, ptr %8, align 4, !tbaa !5
  %321 = call ptr @__errno_location() #11
  store i32 %320, ptr %321, align 4, !tbaa !5
  %322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %323 = load i32, ptr @test_count, align 4, !tbaa !5
  %324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %325 = load i32, ptr %324, align 4, !tbaa !5
  %326 = call ptr @s2n_strerror(i32 noundef %325, ptr noundef @.str.4)
  %327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %328 = load i32, ptr %327, align 4, !tbaa !5
  %329 = call ptr @s2n_strerror_debug(i32 noundef %328, ptr noundef @.str.4)
  %330 = call ptr @__errno_location() #11
  %331 = load i32, ptr %330, align 4, !tbaa !5
  %332 = call ptr @strerror(i32 noundef %331) #10
  %333 = call ptr @__errno_location() #11
  %334 = load i32, ptr %333, align 4, !tbaa !5
  %335 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %322, ptr noundef @.str.2, i32 noundef %323, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 31, ptr noundef %326, ptr noundef %329, ptr noundef %332, i32 noundef %334) #10
  br label %353

336:                                              ; preds = %314, %307
  %337 = load i32, ptr %8, align 4, !tbaa !5
  %338 = call ptr @__errno_location() #11
  store i32 %337, ptr %338, align 4, !tbaa !5
  %339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %340 = load i32, ptr @test_count, align 4, !tbaa !5
  %341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %342 = load i32, ptr %341, align 4, !tbaa !5
  %343 = call ptr @s2n_strerror(i32 noundef %342, ptr noundef @.str.4)
  %344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %345 = load i32, ptr %344, align 4, !tbaa !5
  %346 = call ptr @s2n_strerror_debug(i32 noundef %345, ptr noundef @.str.4)
  %347 = call ptr @__errno_location() #11
  %348 = load i32, ptr %347, align 4, !tbaa !5
  %349 = call ptr @strerror(i32 noundef %348) #10
  %350 = call ptr @__errno_location() #11
  %351 = load i32, ptr %350, align 4, !tbaa !5
  %352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %339, ptr noundef @.str.5, i32 noundef %340, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 31, ptr noundef %343, ptr noundef %346, ptr noundef %349, i32 noundef %351) #10
  br label %353

353:                                              ; preds = %336, %319
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #10
  br label %354

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

355:                                              ; No predecessors!
  br label %356

356:                                              ; preds = %355, %302
  br label %357

357:                                              ; preds = %356
  br label %358

358:                                              ; preds = %357
  %359 = call zeroext i1 (...) @s2n_is_tls13_fully_supported()
  br i1 %359, label %1353, label %360

360:                                              ; preds = %358
  call void @llvm.lifetime.start.p0(i64 8, ptr %9) #10
  %361 = call ptr @s2n_config_new()
  store ptr %361, ptr %9, align 8, !tbaa !9
  br label %362

362:                                              ; preds = %360
  %363 = load i32, ptr @test_count, align 4, !tbaa !5
  %364 = add nsw i32 %363, 1
  store i32 %364, ptr @test_count, align 4, !tbaa !5
  %365 = load ptr, ptr %9, align 8, !tbaa !9
  %366 = icmp eq ptr %365, null
  br i1 %366, label %367, label %420

367:                                              ; preds = %362
  br label %368

368:                                              ; preds = %367
  br label %369

369:                                              ; preds = %368
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #10
  %370 = call ptr @__errno_location() #11
  %371 = load i32, ptr %370, align 4, !tbaa !5
  store i32 %371, ptr %10, align 4, !tbaa !5
  %372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %373 = call i32 @s2n_print_stacktrace(ptr noundef %372)
  %374 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %375 = trunc i8 %374 to i1
  br i1 %375, label %376, label %398

376:                                              ; preds = %369
  %377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %378 = call i32 @fileno(ptr noundef %377) #10
  %379 = call i32 @isatty(i32 noundef %378) #10
  %380 = icmp ne i32 %379, 0
  br i1 %380, label %381, label %398

381:                                              ; preds = %376
  %382 = load i32, ptr %10, align 4, !tbaa !5
  %383 = call ptr @__errno_location() #11
  store i32 %382, ptr %383, align 4, !tbaa !5
  %384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %385 = load i32, ptr @test_count, align 4, !tbaa !5
  %386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %387 = load i32, ptr %386, align 4, !tbaa !5
  %388 = call ptr @s2n_strerror(i32 noundef %387, ptr noundef @.str.4)
  %389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %390 = load i32, ptr %389, align 4, !tbaa !5
  %391 = call ptr @s2n_strerror_debug(i32 noundef %390, ptr noundef @.str.4)
  %392 = call ptr @__errno_location() #11
  %393 = load i32, ptr %392, align 4, !tbaa !5
  %394 = call ptr @strerror(i32 noundef %393) #10
  %395 = call ptr @__errno_location() #11
  %396 = load i32, ptr %395, align 4, !tbaa !5
  %397 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %384, ptr noundef @.str.2, i32 noundef %385, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 36, ptr noundef %388, ptr noundef %391, ptr noundef %394, i32 noundef %396) #10
  br label %415

398:                                              ; preds = %376, %369
  %399 = load i32, ptr %10, align 4, !tbaa !5
  %400 = call ptr @__errno_location() #11
  store i32 %399, ptr %400, align 4, !tbaa !5
  %401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %402 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %404, ptr noundef @.str.4)
  %406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %407 = load i32, ptr %406, align 4, !tbaa !5
  %408 = call ptr @s2n_strerror_debug(i32 noundef %407, ptr noundef @.str.4)
  %409 = call ptr @__errno_location() #11
  %410 = load i32, ptr %409, align 4, !tbaa !5
  %411 = call ptr @strerror(i32 noundef %410) #10
  %412 = call ptr @__errno_location() #11
  %413 = load i32, ptr %412, align 4, !tbaa !5
  %414 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %401, ptr noundef @.str.5, i32 noundef %402, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 36, ptr noundef %405, ptr noundef %408, ptr noundef %411, i32 noundef %413) #10
  br label %415

415:                                              ; preds = %398, %381
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #10
  br label %416

416:                                              ; preds = %415
  br label %417

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

418:                                              ; No predecessors!
  br label %419

419:                                              ; preds = %418
  br label %420

420:                                              ; preds = %419, %362
  br label %421

421:                                              ; preds = %420
  br label %422

422:                                              ; preds = %421
  br label %423

423:                                              ; preds = %422
  %424 = load i32, ptr @test_count, align 4, !tbaa !5
  %425 = add nsw i32 %424, 1
  store i32 %425, ptr @test_count, align 4, !tbaa !5
  %426 = load ptr, ptr %9, align 8, !tbaa !9
  %427 = call i32 @s2n_config_enable_quic(ptr noundef %426)
  %428 = icmp eq i32 %427, -1
  br i1 %428, label %429, label %482

429:                                              ; preds = %423
  br label %430

430:                                              ; preds = %429
  br label %431

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

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

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

460:                                              ; preds = %438, %431
  %461 = load i32, ptr %11, align 4, !tbaa !5
  %462 = call ptr @__errno_location() #11
  store i32 %461, ptr %462, align 4, !tbaa !5
  %463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %464 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %466, ptr noundef @.str.4)
  %468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %469 = load i32, ptr %468, align 4, !tbaa !5
  %470 = call ptr @s2n_strerror_debug(i32 noundef %469, ptr noundef @.str.4)
  %471 = call ptr @__errno_location() #11
  %472 = load i32, ptr %471, align 4, !tbaa !5
  %473 = call ptr @strerror(i32 noundef %472) #10
  %474 = call ptr @__errno_location() #11
  %475 = load i32, ptr %474, align 4, !tbaa !5
  %476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %463, ptr noundef @.str.5, i32 noundef %464, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 37, ptr noundef %467, ptr noundef %470, ptr noundef %473, i32 noundef %475) #10
  br label %477

477:                                              ; preds = %460, %443
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #10
  br label %478

478:                                              ; preds = %477
  br label %479

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

480:                                              ; No predecessors!
  br label %481

481:                                              ; preds = %480
  br label %482

482:                                              ; preds = %481, %423
  br label %483

483:                                              ; preds = %482
  br label %484

484:                                              ; preds = %483
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #10
  %485 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %485, ptr %12, align 8, !tbaa !9
  br label %486

486:                                              ; preds = %484
  %487 = load i32, ptr @test_count, align 4, !tbaa !5
  %488 = add nsw i32 %487, 1
  store i32 %488, ptr @test_count, align 4, !tbaa !5
  %489 = load ptr, ptr %12, align 8, !tbaa !9
  %490 = icmp eq ptr %489, null
  br i1 %490, label %491, label %544

491:                                              ; preds = %486
  br label %492

492:                                              ; preds = %491
  br label %493

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

500:                                              ; preds = %493
  %501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %502 = call i32 @fileno(ptr noundef %501) #10
  %503 = call i32 @isatty(i32 noundef %502) #10
  %504 = icmp ne i32 %503, 0
  br i1 %504, label %505, label %522

505:                                              ; preds = %500
  %506 = load i32, ptr %13, align 4, !tbaa !5
  %507 = call ptr @__errno_location() #11
  store i32 %506, ptr %507, align 4, !tbaa !5
  %508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %509 = load i32, ptr @test_count, align 4, !tbaa !5
  %510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %511 = load i32, ptr %510, align 4, !tbaa !5
  %512 = call ptr @s2n_strerror(i32 noundef %511, ptr noundef @.str.4)
  %513 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %514 = load i32, ptr %513, align 4, !tbaa !5
  %515 = call ptr @s2n_strerror_debug(i32 noundef %514, ptr noundef @.str.4)
  %516 = call ptr @__errno_location() #11
  %517 = load i32, ptr %516, align 4, !tbaa !5
  %518 = call ptr @strerror(i32 noundef %517) #10
  %519 = call ptr @__errno_location() #11
  %520 = load i32, ptr %519, align 4, !tbaa !5
  %521 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %508, ptr noundef @.str.2, i32 noundef %509, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 40, ptr noundef %512, ptr noundef %515, ptr noundef %518, i32 noundef %520) #10
  br label %539

522:                                              ; preds = %500, %493
  %523 = load i32, ptr %13, align 4, !tbaa !5
  %524 = call ptr @__errno_location() #11
  store i32 %523, ptr %524, align 4, !tbaa !5
  %525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %526 = load i32, ptr @test_count, align 4, !tbaa !5
  %527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %528 = load i32, ptr %527, align 4, !tbaa !5
  %529 = call ptr @s2n_strerror(i32 noundef %528, ptr noundef @.str.4)
  %530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %531 = load i32, ptr %530, align 4, !tbaa !5
  %532 = call ptr @s2n_strerror_debug(i32 noundef %531, ptr noundef @.str.4)
  %533 = call ptr @__errno_location() #11
  %534 = load i32, ptr %533, align 4, !tbaa !5
  %535 = call ptr @strerror(i32 noundef %534) #10
  %536 = call ptr @__errno_location() #11
  %537 = load i32, ptr %536, align 4, !tbaa !5
  %538 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %525, ptr noundef @.str.5, i32 noundef %526, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 40, ptr noundef %529, ptr noundef %532, ptr noundef %535, i32 noundef %537) #10
  br label %539

539:                                              ; preds = %522, %505
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #10
  br label %540

540:                                              ; preds = %539
  br label %541

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

542:                                              ; No predecessors!
  br label %543

543:                                              ; preds = %542
  br label %544

544:                                              ; preds = %543, %486
  br label %545

545:                                              ; preds = %544
  br label %546

546:                                              ; preds = %545
  br label %547

547:                                              ; preds = %546
  br label %548

548:                                              ; preds = %547
  br label %549

549:                                              ; preds = %548
  %550 = load i32, ptr @test_count, align 4, !tbaa !5
  %551 = add nsw i32 %550, 1
  store i32 %551, ptr @test_count, align 4, !tbaa !5
  %552 = load ptr, ptr %12, align 8, !tbaa !9
  %553 = call i32 @s2n_connection_enable_quic(ptr noundef %552)
  %554 = icmp eq i32 %553, -1
  br i1 %554, label %608, label %555

555:                                              ; preds = %549
  br label %556

556:                                              ; preds = %555
  br label %557

557:                                              ; preds = %556
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #10
  %558 = call ptr @__errno_location() #11
  %559 = load i32, ptr %558, align 4, !tbaa !5
  store i32 %559, ptr %14, align 4, !tbaa !5
  %560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %561 = call i32 @s2n_print_stacktrace(ptr noundef %560)
  %562 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %563 = trunc i8 %562 to i1
  br i1 %563, label %564, label %586

564:                                              ; preds = %557
  %565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %566 = call i32 @fileno(ptr noundef %565) #10
  %567 = call i32 @isatty(i32 noundef %566) #10
  %568 = icmp ne i32 %567, 0
  br i1 %568, label %569, label %586

569:                                              ; preds = %564
  %570 = load i32, ptr %14, align 4, !tbaa !5
  %571 = call ptr @__errno_location() #11
  store i32 %570, ptr %571, align 4, !tbaa !5
  %572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %573 = load i32, ptr @test_count, align 4, !tbaa !5
  %574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %575 = load i32, ptr %574, align 4, !tbaa !5
  %576 = call ptr @s2n_strerror(i32 noundef %575, ptr noundef @.str.4)
  %577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %578 = load i32, ptr %577, align 4, !tbaa !5
  %579 = call ptr @s2n_strerror_debug(i32 noundef %578, ptr noundef @.str.4)
  %580 = call ptr @__errno_location() #11
  %581 = load i32, ptr %580, align 4, !tbaa !5
  %582 = call ptr @strerror(i32 noundef %581) #10
  %583 = call ptr @__errno_location() #11
  %584 = load i32, ptr %583, align 4, !tbaa !5
  %585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %572, ptr noundef @.str.2, i32 noundef %573, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 42, ptr noundef %576, ptr noundef %579, ptr noundef %582, i32 noundef %584) #10
  br label %603

586:                                              ; preds = %564, %557
  %587 = load i32, ptr %14, align 4, !tbaa !5
  %588 = call ptr @__errno_location() #11
  store i32 %587, ptr %588, align 4, !tbaa !5
  %589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %590 = load i32, ptr @test_count, align 4, !tbaa !5
  %591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %592 = load i32, ptr %591, align 4, !tbaa !5
  %593 = call ptr @s2n_strerror(i32 noundef %592, ptr noundef @.str.4)
  %594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %595 = load i32, ptr %594, align 4, !tbaa !5
  %596 = call ptr @s2n_strerror_debug(i32 noundef %595, ptr noundef @.str.4)
  %597 = call ptr @__errno_location() #11
  %598 = load i32, ptr %597, align 4, !tbaa !5
  %599 = call ptr @strerror(i32 noundef %598) #10
  %600 = call ptr @__errno_location() #11
  %601 = load i32, ptr %600, align 4, !tbaa !5
  %602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %589, ptr noundef @.str.5, i32 noundef %590, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 42, ptr noundef %593, ptr noundef %596, ptr noundef %599, i32 noundef %601) #10
  br label %603

603:                                              ; preds = %586, %569
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #10
  br label %604

604:                                              ; preds = %603
  br label %605

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

606:                                              ; No predecessors!
  br label %607

607:                                              ; preds = %606
  br label %608

608:                                              ; preds = %607, %549
  br label %609

609:                                              ; preds = %608
  br label %610

610:                                              ; preds = %609
  br label %611

611:                                              ; preds = %610
  %612 = load i32, ptr @test_count, align 4, !tbaa !5
  %613 = add nsw i32 %612, 1
  store i32 %613, 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 = icmp eq i32 %615, 469762098
  br i1 %616, label %670, label %617

617:                                              ; preds = %611
  br label %618

618:                                              ; preds = %617
  br label %619

619:                                              ; preds = %618
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #10
  %620 = call ptr @__errno_location() #11
  %621 = load i32, ptr %620, align 4, !tbaa !5
  store i32 %621, ptr %15, align 4, !tbaa !5
  %622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %623 = call i32 @s2n_print_stacktrace(ptr noundef %622)
  %624 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %625 = trunc i8 %624 to i1
  br i1 %625, label %626, label %648

626:                                              ; preds = %619
  %627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %628 = call i32 @fileno(ptr noundef %627) #10
  %629 = call i32 @isatty(i32 noundef %628) #10
  %630 = icmp ne i32 %629, 0
  br i1 %630, label %631, label %648

631:                                              ; preds = %626
  %632 = load i32, ptr %15, align 4, !tbaa !5
  %633 = call ptr @__errno_location() #11
  store i32 %632, ptr %633, align 4, !tbaa !5
  %634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %635 = load i32, ptr @test_count, align 4, !tbaa !5
  %636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %637 = load i32, ptr %636, align 4, !tbaa !5
  %638 = call ptr @s2n_strerror(i32 noundef %637, ptr noundef @.str.4)
  %639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %640 = load i32, ptr %639, align 4, !tbaa !5
  %641 = call ptr @s2n_strerror_debug(i32 noundef %640, ptr noundef @.str.4)
  %642 = call ptr @__errno_location() #11
  %643 = load i32, ptr %642, align 4, !tbaa !5
  %644 = call ptr @strerror(i32 noundef %643) #10
  %645 = call ptr @__errno_location() #11
  %646 = load i32, ptr %645, align 4, !tbaa !5
  %647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %634, ptr noundef @.str.2, i32 noundef %635, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 42, ptr noundef %638, ptr noundef %641, ptr noundef %644, i32 noundef %646) #10
  br label %665

648:                                              ; preds = %626, %619
  %649 = load i32, ptr %15, align 4, !tbaa !5
  %650 = call ptr @__errno_location() #11
  store i32 %649, ptr %650, align 4, !tbaa !5
  %651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %652 = load i32, ptr @test_count, align 4, !tbaa !5
  %653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %654 = load i32, ptr %653, align 4, !tbaa !5
  %655 = call ptr @s2n_strerror(i32 noundef %654, ptr noundef @.str.4)
  %656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %657 = load i32, ptr %656, align 4, !tbaa !5
  %658 = call ptr @s2n_strerror_debug(i32 noundef %657, ptr noundef @.str.4)
  %659 = call ptr @__errno_location() #11
  %660 = load i32, ptr %659, align 4, !tbaa !5
  %661 = call ptr @strerror(i32 noundef %660) #10
  %662 = call ptr @__errno_location() #11
  %663 = load i32, ptr %662, align 4, !tbaa !5
  %664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %651, ptr noundef @.str.5, i32 noundef %652, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 42, ptr noundef %655, ptr noundef %658, ptr noundef %661, i32 noundef %663) #10
  br label %665

665:                                              ; preds = %648, %631
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #10
  br label %666

666:                                              ; preds = %665
  br label %667

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

668:                                              ; No predecessors!
  br label %669

669:                                              ; preds = %668
  br label %670

670:                                              ; preds = %669, %611
  br label %671

671:                                              ; preds = %670
  br label %672

672:                                              ; preds = %671
  br label %673

673:                                              ; preds = %672
  %674 = load i32, ptr @test_count, align 4, !tbaa !5
  %675 = add nsw i32 %674, 1
  store i32 %675, ptr @test_count, align 4, !tbaa !5
  %676 = 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_debug(i32 noundef %677, ptr noundef @.str.4)
  %679 = icmp eq ptr %678, null
  br i1 %679, label %680, label %733

680:                                              ; preds = %673
  br label %681

681:                                              ; preds = %680
  br label %682

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

689:                                              ; preds = %682
  %690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %691 = call i32 @fileno(ptr noundef %690) #10
  %692 = call i32 @isatty(i32 noundef %691) #10
  %693 = icmp ne i32 %692, 0
  br i1 %693, label %694, label %711

694:                                              ; preds = %689
  %695 = load i32, ptr %16, align 4, !tbaa !5
  %696 = call ptr @__errno_location() #11
  store i32 %695, ptr %696, align 4, !tbaa !5
  %697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %698 = load i32, 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(i32 noundef %700, ptr noundef @.str.4)
  %702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %703 = load i32, ptr %702, align 4, !tbaa !5
  %704 = call ptr @s2n_strerror_debug(i32 noundef %703, ptr noundef @.str.4)
  %705 = call ptr @__errno_location() #11
  %706 = load i32, ptr %705, align 4, !tbaa !5
  %707 = call ptr @strerror(i32 noundef %706) #10
  %708 = call ptr @__errno_location() #11
  %709 = load i32, ptr %708, align 4, !tbaa !5
  %710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %697, ptr noundef @.str.2, i32 noundef %698, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 42, ptr noundef %701, ptr noundef %704, ptr noundef %707, i32 noundef %709) #10
  br label %728

711:                                              ; preds = %689, %682
  %712 = load i32, ptr %16, align 4, !tbaa !5
  %713 = call ptr @__errno_location() #11
  store i32 %712, ptr %713, align 4, !tbaa !5
  %714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %715 = load i32, ptr @test_count, align 4, !tbaa !5
  %716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %717 = load i32, ptr %716, align 4, !tbaa !5
  %718 = call ptr @s2n_strerror(i32 noundef %717, ptr noundef @.str.4)
  %719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %720 = load i32, ptr %719, align 4, !tbaa !5
  %721 = call ptr @s2n_strerror_debug(i32 noundef %720, ptr noundef @.str.4)
  %722 = call ptr @__errno_location() #11
  %723 = load i32, ptr %722, align 4, !tbaa !5
  %724 = call ptr @strerror(i32 noundef %723) #10
  %725 = call ptr @__errno_location() #11
  %726 = load i32, ptr %725, align 4, !tbaa !5
  %727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %714, ptr noundef @.str.5, i32 noundef %715, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 42, ptr noundef %718, ptr noundef %721, ptr noundef %724, i32 noundef %726) #10
  br label %728

728:                                              ; preds = %711, %694
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #10
  br label %729

729:                                              ; preds = %728
  br label %730

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

731:                                              ; No predecessors!
  br label %732

732:                                              ; preds = %731
  br label %733

733:                                              ; preds = %732, %673
  br label %734

734:                                              ; preds = %733
  br label %735

735:                                              ; preds = %734
  br label %736

736:                                              ; preds = %735
  br label %737

737:                                              ; preds = %736
  br label %738

738:                                              ; preds = %737
  %739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %739, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %740 = call ptr @__errno_location() #11
  store i32 0, ptr %740, align 4, !tbaa !5
  br label %741

741:                                              ; preds = %738
  br label %742

742:                                              ; preds = %741
  br label %743

743:                                              ; preds = %742
  br label %744

744:                                              ; preds = %743
  br label %745

745:                                              ; preds = %744
  %746 = load i32, ptr @test_count, align 4, !tbaa !5
  %747 = add nsw i32 %746, 1
  store i32 %747, ptr @test_count, align 4, !tbaa !5
  %748 = load ptr, ptr %12, align 8, !tbaa !9
  %749 = load i32, ptr %748, align 8
  %750 = lshr i32 %749, 2
  %751 = and i32 %750, 1
  %752 = icmp ne i32 %751, 0
  br i1 %752, label %753, label %806

753:                                              ; preds = %745
  br label %754

754:                                              ; preds = %753
  br label %755

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

762:                                              ; preds = %755
  %763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %764 = call i32 @fileno(ptr noundef %763) #10
  %765 = call i32 @isatty(i32 noundef %764) #10
  %766 = icmp ne i32 %765, 0
  br i1 %766, label %767, label %784

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

784:                                              ; preds = %762, %755
  %785 = load i32, ptr %17, align 4, !tbaa !5
  %786 = call ptr @__errno_location() #11
  store i32 %785, ptr %786, align 4, !tbaa !5
  %787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %788 = load i32, ptr @test_count, align 4, !tbaa !5
  %789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %790 = load i32, ptr %789, align 4, !tbaa !5
  %791 = call ptr @s2n_strerror(i32 noundef %790, ptr noundef @.str.4)
  %792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %793 = load i32, ptr %792, align 4, !tbaa !5
  %794 = call ptr @s2n_strerror_debug(i32 noundef %793, ptr noundef @.str.4)
  %795 = call ptr @__errno_location() #11
  %796 = load i32, ptr %795, align 4, !tbaa !5
  %797 = call ptr @strerror(i32 noundef %796) #10
  %798 = call ptr @__errno_location() #11
  %799 = load i32, ptr %798, align 4, !tbaa !5
  %800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %787, ptr noundef @.str.5, i32 noundef %788, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 43, ptr noundef %791, ptr noundef %794, ptr noundef %797, i32 noundef %799) #10
  br label %801

801:                                              ; preds = %784, %767
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #10
  br label %802

802:                                              ; preds = %801
  br label %803

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

804:                                              ; No predecessors!
  br label %805

805:                                              ; preds = %804
  br label %806

806:                                              ; preds = %805, %745
  br label %807

807:                                              ; preds = %806
  br label %808

808:                                              ; preds = %807
  br label %809

809:                                              ; preds = %808
  br label %810

810:                                              ; preds = %809
  br label %811

811:                                              ; preds = %810
  %812 = load i32, ptr @test_count, align 4, !tbaa !5
  %813 = add nsw i32 %812, 1
  store i32 %813, ptr @test_count, align 4, !tbaa !5
  %814 = load ptr, ptr %12, align 8, !tbaa !9
  %815 = load ptr, ptr %9, align 8, !tbaa !9
  %816 = call i32 @s2n_connection_set_config(ptr noundef %814, ptr noundef %815)
  %817 = icmp eq i32 %816, -1
  br i1 %817, label %871, label %818

818:                                              ; preds = %811
  br label %819

819:                                              ; preds = %818
  br label %820

820:                                              ; preds = %819
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #10
  %821 = call ptr @__errno_location() #11
  %822 = load i32, ptr %821, align 4, !tbaa !5
  store i32 %822, ptr %18, align 4, !tbaa !5
  %823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %824 = call i32 @s2n_print_stacktrace(ptr noundef %823)
  %825 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %826 = trunc i8 %825 to i1
  br i1 %826, label %827, label %849

827:                                              ; preds = %820
  %828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %829 = call i32 @fileno(ptr noundef %828) #10
  %830 = call i32 @isatty(i32 noundef %829) #10
  %831 = icmp ne i32 %830, 0
  br i1 %831, label %832, label %849

832:                                              ; preds = %827
  %833 = load i32, ptr %18, align 4, !tbaa !5
  %834 = call ptr @__errno_location() #11
  store i32 %833, ptr %834, align 4, !tbaa !5
  %835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %836 = load i32, ptr @test_count, align 4, !tbaa !5
  %837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %838 = load i32, ptr %837, align 4, !tbaa !5
  %839 = call ptr @s2n_strerror(i32 noundef %838, ptr noundef @.str.4)
  %840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %841 = load i32, ptr %840, align 4, !tbaa !5
  %842 = call ptr @s2n_strerror_debug(i32 noundef %841, ptr noundef @.str.4)
  %843 = call ptr @__errno_location() #11
  %844 = load i32, ptr %843, align 4, !tbaa !5
  %845 = call ptr @strerror(i32 noundef %844) #10
  %846 = call ptr @__errno_location() #11
  %847 = load i32, ptr %846, align 4, !tbaa !5
  %848 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %835, ptr noundef @.str.2, i32 noundef %836, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 45, ptr noundef %839, ptr noundef %842, ptr noundef %845, i32 noundef %847) #10
  br label %866

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

866:                                              ; preds = %849, %832
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #10
  br label %867

867:                                              ; preds = %866
  br label %868

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

869:                                              ; No predecessors!
  br label %870

870:                                              ; preds = %869
  br label %871

871:                                              ; preds = %870, %811
  br label %872

872:                                              ; preds = %871
  br label %873

873:                                              ; preds = %872
  br label %874

874:                                              ; preds = %873
  %875 = load i32, ptr @test_count, align 4, !tbaa !5
  %876 = add nsw i32 %875, 1
  store i32 %876, ptr @test_count, align 4, !tbaa !5
  %877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %878 = load i32, ptr %877, align 4, !tbaa !5
  %879 = icmp eq i32 %878, 469762098
  br i1 %879, label %933, label %880

880:                                              ; preds = %874
  br label %881

881:                                              ; preds = %880
  br label %882

882:                                              ; preds = %881
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #10
  %883 = call ptr @__errno_location() #11
  %884 = load i32, ptr %883, align 4, !tbaa !5
  store i32 %884, ptr %19, align 4, !tbaa !5
  %885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %886 = call i32 @s2n_print_stacktrace(ptr noundef %885)
  %887 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %888 = trunc i8 %887 to i1
  br i1 %888, label %889, label %911

889:                                              ; preds = %882
  %890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %891 = call i32 @fileno(ptr noundef %890) #10
  %892 = call i32 @isatty(i32 noundef %891) #10
  %893 = icmp ne i32 %892, 0
  br i1 %893, label %894, label %911

894:                                              ; preds = %889
  %895 = load i32, ptr %19, align 4, !tbaa !5
  %896 = call ptr @__errno_location() #11
  store i32 %895, ptr %896, align 4, !tbaa !5
  %897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %898 = load i32, ptr @test_count, align 4, !tbaa !5
  %899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %900 = load i32, ptr %899, align 4, !tbaa !5
  %901 = call ptr @s2n_strerror(i32 noundef %900, ptr noundef @.str.4)
  %902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %903 = load i32, ptr %902, align 4, !tbaa !5
  %904 = call ptr @s2n_strerror_debug(i32 noundef %903, ptr noundef @.str.4)
  %905 = call ptr @__errno_location() #11
  %906 = load i32, ptr %905, align 4, !tbaa !5
  %907 = call ptr @strerror(i32 noundef %906) #10
  %908 = call ptr @__errno_location() #11
  %909 = load i32, ptr %908, align 4, !tbaa !5
  %910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %897, ptr noundef @.str.2, i32 noundef %898, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 45, ptr noundef %901, ptr noundef %904, ptr noundef %907, i32 noundef %909) #10
  br label %928

911:                                              ; preds = %889, %882
  %912 = load i32, ptr %19, align 4, !tbaa !5
  %913 = call ptr @__errno_location() #11
  store i32 %912, ptr %913, align 4, !tbaa !5
  %914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %915 = load i32, ptr @test_count, align 4, !tbaa !5
  %916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %917 = load i32, ptr %916, align 4, !tbaa !5
  %918 = call ptr @s2n_strerror(i32 noundef %917, ptr noundef @.str.4)
  %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_debug(i32 noundef %920, ptr noundef @.str.4)
  %922 = call ptr @__errno_location() #11
  %923 = load i32, ptr %922, align 4, !tbaa !5
  %924 = call ptr @strerror(i32 noundef %923) #10
  %925 = call ptr @__errno_location() #11
  %926 = load i32, ptr %925, align 4, !tbaa !5
  %927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %914, ptr noundef @.str.5, i32 noundef %915, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 45, ptr noundef %918, ptr noundef %921, ptr noundef %924, i32 noundef %926) #10
  br label %928

928:                                              ; preds = %911, %894
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #10
  br label %929

929:                                              ; preds = %928
  br label %930

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

931:                                              ; No predecessors!
  br label %932

932:                                              ; preds = %931
  br label %933

933:                                              ; preds = %932, %874
  br label %934

934:                                              ; preds = %933
  br label %935

935:                                              ; preds = %934
  br label %936

936:                                              ; preds = %935
  %937 = load i32, ptr @test_count, align 4, !tbaa !5
  %938 = add nsw i32 %937, 1
  store i32 %938, ptr @test_count, align 4, !tbaa !5
  %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 = icmp eq ptr %941, null
  br i1 %942, label %943, label %996

943:                                              ; preds = %936
  br label %944

944:                                              ; preds = %943
  br label %945

945:                                              ; preds = %944
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #10
  %946 = call ptr @__errno_location() #11
  %947 = load i32, ptr %946, align 4, !tbaa !5
  store i32 %947, ptr %20, align 4, !tbaa !5
  %948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %949 = call i32 @s2n_print_stacktrace(ptr noundef %948)
  %950 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %951 = trunc i8 %950 to i1
  br i1 %951, label %952, label %974

952:                                              ; preds = %945
  %953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %954 = call i32 @fileno(ptr noundef %953) #10
  %955 = call i32 @isatty(i32 noundef %954) #10
  %956 = icmp ne i32 %955, 0
  br i1 %956, label %957, label %974

957:                                              ; preds = %952
  %958 = load i32, ptr %20, align 4, !tbaa !5
  %959 = call ptr @__errno_location() #11
  store i32 %958, ptr %959, align 4, !tbaa !5
  %960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %961 = load i32, ptr @test_count, align 4, !tbaa !5
  %962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %963 = load i32, ptr %962, align 4, !tbaa !5
  %964 = call ptr @s2n_strerror(i32 noundef %963, ptr noundef @.str.4)
  %965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %966 = load i32, ptr %965, align 4, !tbaa !5
  %967 = call ptr @s2n_strerror_debug(i32 noundef %966, ptr noundef @.str.4)
  %968 = call ptr @__errno_location() #11
  %969 = load i32, ptr %968, align 4, !tbaa !5
  %970 = call ptr @strerror(i32 noundef %969) #10
  %971 = call ptr @__errno_location() #11
  %972 = load i32, ptr %971, align 4, !tbaa !5
  %973 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %960, ptr noundef @.str.2, i32 noundef %961, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 45, ptr noundef %964, ptr noundef %967, ptr noundef %970, i32 noundef %972) #10
  br label %991

974:                                              ; preds = %952, %945
  %975 = load i32, ptr %20, align 4, !tbaa !5
  %976 = call ptr @__errno_location() #11
  store i32 %975, ptr %976, align 4, !tbaa !5
  %977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %978 = load i32, ptr @test_count, align 4, !tbaa !5
  %979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %980 = load i32, ptr %979, align 4, !tbaa !5
  %981 = call ptr @s2n_strerror(i32 noundef %980, ptr noundef @.str.4)
  %982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %983 = load i32, ptr %982, align 4, !tbaa !5
  %984 = call ptr @s2n_strerror_debug(i32 noundef %983, ptr noundef @.str.4)
  %985 = call ptr @__errno_location() #11
  %986 = load i32, ptr %985, align 4, !tbaa !5
  %987 = call ptr @strerror(i32 noundef %986) #10
  %988 = call ptr @__errno_location() #11
  %989 = load i32, ptr %988, align 4, !tbaa !5
  %990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %977, ptr noundef @.str.5, i32 noundef %978, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 45, ptr noundef %981, ptr noundef %984, ptr noundef %987, i32 noundef %989) #10
  br label %991

991:                                              ; preds = %974, %957
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #10
  br label %992

992:                                              ; preds = %991
  br label %993

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

994:                                              ; No predecessors!
  br label %995

995:                                              ; preds = %994
  br label %996

996:                                              ; preds = %995, %936
  br label %997

997:                                              ; preds = %996
  br label %998

998:                                              ; preds = %997
  br label %999

999:                                              ; preds = %998
  br label %1000

1000:                                             ; preds = %999
  br label %1001

1001:                                             ; preds = %1000
  %1002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1002, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1003 = call ptr @__errno_location() #11
  store i32 0, ptr %1003, align 4, !tbaa !5
  br label %1004

1004:                                             ; preds = %1001
  br label %1005

1005:                                             ; preds = %1004
  br label %1006

1006:                                             ; preds = %1005
  br label %1007

1007:                                             ; preds = %1006
  br label %1008

1008:                                             ; preds = %1007
  %1009 = load i32, ptr @test_count, align 4, !tbaa !5
  %1010 = add nsw i32 %1009, 1
  store i32 %1010, ptr @test_count, align 4, !tbaa !5
  %1011 = load ptr, ptr %9, align 8, !tbaa !9
  %1012 = load ptr, ptr %12, align 8, !tbaa !9
  %1013 = getelementptr inbounds %struct.s2n_connection, ptr %1012, i32 0, i32 1
  %1014 = load ptr, ptr %1013, align 8, !tbaa !15
  %1015 = icmp eq ptr %1011, %1014
  br i1 %1015, label %1016, label %1069

1016:                                             ; preds = %1008
  br label %1017

1017:                                             ; preds = %1016
  br label %1018

1018:                                             ; preds = %1017
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #10
  %1019 = call ptr @__errno_location() #11
  %1020 = load i32, ptr %1019, align 4, !tbaa !5
  store i32 %1020, ptr %21, align 4, !tbaa !5
  %1021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1022 = call i32 @s2n_print_stacktrace(ptr noundef %1021)
  %1023 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1024 = trunc i8 %1023 to i1
  br i1 %1024, label %1025, label %1047

1025:                                             ; preds = %1018
  %1026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1027 = call i32 @fileno(ptr noundef %1026) #10
  %1028 = call i32 @isatty(i32 noundef %1027) #10
  %1029 = icmp ne i32 %1028, 0
  br i1 %1029, label %1030, label %1047

1030:                                             ; preds = %1025
  %1031 = load i32, ptr %21, align 4, !tbaa !5
  %1032 = call ptr @__errno_location() #11
  store i32 %1031, ptr %1032, align 4, !tbaa !5
  %1033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1034 = load i32, ptr @test_count, align 4, !tbaa !5
  %1035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1036 = load i32, ptr %1035, align 4, !tbaa !5
  %1037 = call ptr @s2n_strerror(i32 noundef %1036, ptr noundef @.str.4)
  %1038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1039 = load i32, ptr %1038, align 4, !tbaa !5
  %1040 = call ptr @s2n_strerror_debug(i32 noundef %1039, ptr noundef @.str.4)
  %1041 = call ptr @__errno_location() #11
  %1042 = load i32, ptr %1041, align 4, !tbaa !5
  %1043 = call ptr @strerror(i32 noundef %1042) #10
  %1044 = call ptr @__errno_location() #11
  %1045 = load i32, ptr %1044, align 4, !tbaa !5
  %1046 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1033, ptr noundef @.str.2, i32 noundef %1034, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 46, ptr noundef %1037, ptr noundef %1040, ptr noundef %1043, i32 noundef %1045) #10
  br label %1064

1047:                                             ; preds = %1025, %1018
  %1048 = load i32, ptr %21, align 4, !tbaa !5
  %1049 = call ptr @__errno_location() #11
  store i32 %1048, ptr %1049, align 4, !tbaa !5
  %1050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1051 = load i32, ptr @test_count, align 4, !tbaa !5
  %1052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1053 = load i32, ptr %1052, align 4, !tbaa !5
  %1054 = call ptr @s2n_strerror(i32 noundef %1053, ptr noundef @.str.4)
  %1055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1056 = load i32, ptr %1055, align 4, !tbaa !5
  %1057 = call ptr @s2n_strerror_debug(i32 noundef %1056, ptr noundef @.str.4)
  %1058 = call ptr @__errno_location() #11
  %1059 = load i32, ptr %1058, align 4, !tbaa !5
  %1060 = call ptr @strerror(i32 noundef %1059) #10
  %1061 = call ptr @__errno_location() #11
  %1062 = load i32, ptr %1061, align 4, !tbaa !5
  %1063 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1050, ptr noundef @.str.5, i32 noundef %1051, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 46, ptr noundef %1054, ptr noundef %1057, ptr noundef %1060, i32 noundef %1062) #10
  br label %1064

1064:                                             ; preds = %1047, %1030
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #10
  br label %1065

1065:                                             ; preds = %1064
  br label %1066

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

1067:                                             ; No predecessors!
  br label %1068

1068:                                             ; preds = %1067
  br label %1069

1069:                                             ; preds = %1068, %1008
  br label %1070

1070:                                             ; preds = %1069
  br label %1071

1071:                                             ; preds = %1070
  br label %1072

1072:                                             ; preds = %1071
  %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 = load ptr, ptr %12, align 8, !tbaa !9
  %1076 = call i32 @s2n_connection_free(ptr noundef %1075)
  %1077 = icmp eq i32 %1076, -1
  br i1 %1077, label %1078, label %1131

1078:                                             ; preds = %1072
  br label %1079

1079:                                             ; preds = %1078
  br label %1080

1080:                                             ; preds = %1079
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #10
  %1081 = call ptr @__errno_location() #11
  %1082 = load i32, ptr %1081, align 4, !tbaa !5
  store i32 %1082, ptr %22, align 4, !tbaa !5
  %1083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1084 = call i32 @s2n_print_stacktrace(ptr noundef %1083)
  %1085 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1086 = trunc i8 %1085 to i1
  br i1 %1086, label %1087, label %1109

1087:                                             ; preds = %1080
  %1088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1089 = call i32 @fileno(ptr noundef %1088) #10
  %1090 = call i32 @isatty(i32 noundef %1089) #10
  %1091 = icmp ne i32 %1090, 0
  br i1 %1091, label %1092, label %1109

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

1109:                                             ; preds = %1087, %1080
  %1110 = load i32, ptr %22, align 4, !tbaa !5
  %1111 = call ptr @__errno_location() #11
  store i32 %1110, ptr %1111, align 4, !tbaa !5
  %1112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1113 = load i32, ptr @test_count, align 4, !tbaa !5
  %1114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1115 = load i32, ptr %1114, align 4, !tbaa !5
  %1116 = call ptr @s2n_strerror(i32 noundef %1115, ptr noundef @.str.4)
  %1117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1118 = load i32, ptr %1117, align 4, !tbaa !5
  %1119 = call ptr @s2n_strerror_debug(i32 noundef %1118, ptr noundef @.str.4)
  %1120 = call ptr @__errno_location() #11
  %1121 = load i32, ptr %1120, align 4, !tbaa !5
  %1122 = call ptr @strerror(i32 noundef %1121) #10
  %1123 = call ptr @__errno_location() #11
  %1124 = load i32, ptr %1123, align 4, !tbaa !5
  %1125 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1112, ptr noundef @.str.5, i32 noundef %1113, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 48, ptr noundef %1116, ptr noundef %1119, ptr noundef %1122, i32 noundef %1124) #10
  br label %1126

1126:                                             ; preds = %1109, %1092
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #10
  br label %1127

1127:                                             ; preds = %1126
  br label %1128

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

1129:                                             ; No predecessors!
  br label %1130

1130:                                             ; preds = %1129
  br label %1131

1131:                                             ; preds = %1130, %1072
  br label %1132

1132:                                             ; preds = %1131
  br label %1133

1133:                                             ; preds = %1132
  br label %1134

1134:                                             ; preds = %1133
  %1135 = load i32, ptr @test_count, align 4, !tbaa !5
  %1136 = add nsw i32 %1135, 1
  store i32 %1136, ptr @test_count, align 4, !tbaa !5
  %1137 = load ptr, ptr %9, align 8, !tbaa !9
  %1138 = call i32 @s2n_config_free(ptr noundef %1137)
  %1139 = icmp eq i32 %1138, -1
  br i1 %1139, label %1140, label %1193

1140:                                             ; preds = %1134
  br label %1141

1141:                                             ; preds = %1140
  br label %1142

1142:                                             ; preds = %1141
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #10
  %1143 = call ptr @__errno_location() #11
  %1144 = load i32, ptr %1143, align 4, !tbaa !5
  store i32 %1144, ptr %23, align 4, !tbaa !5
  %1145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1146 = call i32 @s2n_print_stacktrace(ptr noundef %1145)
  %1147 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1148 = trunc i8 %1147 to i1
  br i1 %1148, label %1149, label %1171

1149:                                             ; preds = %1142
  %1150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1151 = call i32 @fileno(ptr noundef %1150) #10
  %1152 = call i32 @isatty(i32 noundef %1151) #10
  %1153 = icmp ne i32 %1152, 0
  br i1 %1153, label %1154, label %1171

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

1171:                                             ; preds = %1149, %1142
  %1172 = load i32, ptr %23, align 4, !tbaa !5
  %1173 = call ptr @__errno_location() #11
  store i32 %1172, ptr %1173, align 4, !tbaa !5
  %1174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1175 = load i32, ptr @test_count, align 4, !tbaa !5
  %1176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1177 = load i32, ptr %1176, align 4, !tbaa !5
  %1178 = call ptr @s2n_strerror(i32 noundef %1177, ptr noundef @.str.4)
  %1179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1180 = load i32, ptr %1179, align 4, !tbaa !5
  %1181 = call ptr @s2n_strerror_debug(i32 noundef %1180, ptr noundef @.str.4)
  %1182 = call ptr @__errno_location() #11
  %1183 = load i32, ptr %1182, align 4, !tbaa !5
  %1184 = call ptr @strerror(i32 noundef %1183) #10
  %1185 = call ptr @__errno_location() #11
  %1186 = load i32, ptr %1185, align 4, !tbaa !5
  %1187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1174, ptr noundef @.str.5, i32 noundef %1175, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 49, ptr noundef %1178, ptr noundef %1181, ptr noundef %1184, i32 noundef %1186) #10
  br label %1188

1188:                                             ; preds = %1171, %1154
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #10
  br label %1189

1189:                                             ; preds = %1188
  br label %1190

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

1191:                                             ; No predecessors!
  br label %1192

1192:                                             ; preds = %1191
  br label %1193

1193:                                             ; preds = %1192, %1134
  br label %1194

1194:                                             ; preds = %1193
  br label %1195

1195:                                             ; preds = %1194
  br label %1196

1196:                                             ; preds = %1195
  br label %1197

1197:                                             ; preds = %1196
  %1198 = call i32 @s2n_cleanup()
  %1199 = icmp eq i32 %1198, -1
  br i1 %1199, label %1200, label %1253

1200:                                             ; preds = %1197
  br label %1201

1201:                                             ; preds = %1200
  br label %1202

1202:                                             ; preds = %1201
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #10
  %1203 = call ptr @__errno_location() #11
  %1204 = load i32, ptr %1203, align 4, !tbaa !5
  store i32 %1204, ptr %24, align 4, !tbaa !5
  %1205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1206 = call i32 @s2n_print_stacktrace(ptr noundef %1205)
  %1207 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1208 = trunc i8 %1207 to i1
  br i1 %1208, label %1209, label %1231

1209:                                             ; preds = %1202
  %1210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1211 = call i32 @fileno(ptr noundef %1210) #10
  %1212 = call i32 @isatty(i32 noundef %1211) #10
  %1213 = icmp ne i32 %1212, 0
  br i1 %1213, label %1214, label %1231

1214:                                             ; preds = %1209
  %1215 = load i32, ptr %24, align 4, !tbaa !5
  %1216 = call ptr @__errno_location() #11
  store i32 %1215, ptr %1216, align 4, !tbaa !5
  %1217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1218 = load i32, ptr @test_count, align 4, !tbaa !5
  %1219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1220 = load i32, ptr %1219, align 4, !tbaa !5
  %1221 = call ptr @s2n_strerror(i32 noundef %1220, ptr noundef @.str.4)
  %1222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1223 = load i32, ptr %1222, align 4, !tbaa !5
  %1224 = call ptr @s2n_strerror_debug(i32 noundef %1223, ptr noundef @.str.4)
  %1225 = call ptr @__errno_location() #11
  %1226 = load i32, ptr %1225, align 4, !tbaa !5
  %1227 = call ptr @strerror(i32 noundef %1226) #10
  %1228 = call ptr @__errno_location() #11
  %1229 = load i32, ptr %1228, align 4, !tbaa !5
  %1230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1217, ptr noundef @.str.2, i32 noundef %1218, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 50, ptr noundef %1221, ptr noundef %1224, ptr noundef %1227, i32 noundef %1229) #10
  br label %1248

1231:                                             ; preds = %1209, %1202
  %1232 = load i32, ptr %24, align 4, !tbaa !5
  %1233 = call ptr @__errno_location() #11
  store i32 %1232, ptr %1233, align 4, !tbaa !5
  %1234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1235 = load i32, ptr @test_count, align 4, !tbaa !5
  %1236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1237 = load i32, ptr %1236, align 4, !tbaa !5
  %1238 = call ptr @s2n_strerror(i32 noundef %1237, ptr noundef @.str.4)
  %1239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1240 = load i32, ptr %1239, align 4, !tbaa !5
  %1241 = call ptr @s2n_strerror_debug(i32 noundef %1240, ptr noundef @.str.4)
  %1242 = call ptr @__errno_location() #11
  %1243 = load i32, ptr %1242, align 4, !tbaa !5
  %1244 = call ptr @strerror(i32 noundef %1243) #10
  %1245 = call ptr @__errno_location() #11
  %1246 = load i32, ptr %1245, align 4, !tbaa !5
  %1247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1234, ptr noundef @.str.5, i32 noundef %1235, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 50, ptr noundef %1238, ptr noundef %1241, ptr noundef %1244, i32 noundef %1246) #10
  br label %1248

1248:                                             ; preds = %1231, %1214
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #10
  br label %1249

1249:                                             ; preds = %1248
  br label %1250

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

1251:                                             ; No predecessors!
  br label %1252

1252:                                             ; preds = %1251
  br label %1253

1253:                                             ; preds = %1252, %1197
  br label %1254

1254:                                             ; preds = %1253
  br label %1255

1255:                                             ; preds = %1254
  br label %1256

1256:                                             ; preds = %1255
  br label %1257

1257:                                             ; preds = %1256
  %1258 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %1259 = icmp eq i32 %1258, -1
  br i1 %1259, label %1260, label %1313

1260:                                             ; preds = %1257
  br label %1261

1261:                                             ; preds = %1260
  br label %1262

1262:                                             ; preds = %1261
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #10
  %1263 = call ptr @__errno_location() #11
  %1264 = load i32, ptr %1263, align 4, !tbaa !5
  store i32 %1264, ptr %25, align 4, !tbaa !5
  %1265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1266 = call i32 @s2n_print_stacktrace(ptr noundef %1265)
  %1267 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1268 = trunc i8 %1267 to i1
  br i1 %1268, label %1269, label %1291

1269:                                             ; preds = %1262
  %1270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1271 = call i32 @fileno(ptr noundef %1270) #10
  %1272 = call i32 @isatty(i32 noundef %1271) #10
  %1273 = icmp ne i32 %1272, 0
  br i1 %1273, label %1274, label %1291

1274:                                             ; preds = %1269
  %1275 = load i32, ptr %25, align 4, !tbaa !5
  %1276 = call ptr @__errno_location() #11
  store i32 %1275, ptr %1276, align 4, !tbaa !5
  %1277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1278 = load i32, ptr @test_count, align 4, !tbaa !5
  %1279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1280 = load i32, ptr %1279, align 4, !tbaa !5
  %1281 = call ptr @s2n_strerror(i32 noundef %1280, ptr noundef @.str.4)
  %1282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1283 = load i32, ptr %1282, align 4, !tbaa !5
  %1284 = call ptr @s2n_strerror_debug(i32 noundef %1283, ptr noundef @.str.4)
  %1285 = call ptr @__errno_location() #11
  %1286 = load i32, ptr %1285, align 4, !tbaa !5
  %1287 = call ptr @strerror(i32 noundef %1286) #10
  %1288 = call ptr @__errno_location() #11
  %1289 = load i32, ptr %1288, align 4, !tbaa !5
  %1290 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1277, ptr noundef @.str.2, i32 noundef %1278, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 50, ptr noundef %1281, ptr noundef %1284, ptr noundef %1287, i32 noundef %1289) #10
  br label %1308

1291:                                             ; preds = %1269, %1262
  %1292 = load i32, ptr %25, align 4, !tbaa !5
  %1293 = call ptr @__errno_location() #11
  store i32 %1292, ptr %1293, align 4, !tbaa !5
  %1294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1295 = load i32, ptr @test_count, align 4, !tbaa !5
  %1296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1297 = load i32, ptr %1296, align 4, !tbaa !5
  %1298 = call ptr @s2n_strerror(i32 noundef %1297, ptr noundef @.str.4)
  %1299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1300 = load i32, ptr %1299, align 4, !tbaa !5
  %1301 = call ptr @s2n_strerror_debug(i32 noundef %1300, ptr noundef @.str.4)
  %1302 = call ptr @__errno_location() #11
  %1303 = load i32, ptr %1302, align 4, !tbaa !5
  %1304 = call ptr @strerror(i32 noundef %1303) #10
  %1305 = call ptr @__errno_location() #11
  %1306 = load i32, ptr %1305, align 4, !tbaa !5
  %1307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1294, ptr noundef @.str.5, i32 noundef %1295, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 50, ptr noundef %1298, ptr noundef %1301, ptr noundef %1304, i32 noundef %1306) #10
  br label %1308

1308:                                             ; preds = %1291, %1274
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #10
  br label %1309

1309:                                             ; preds = %1308
  br label %1310

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

1311:                                             ; No predecessors!
  br label %1312

1312:                                             ; preds = %1311
  br label %1313

1313:                                             ; preds = %1312, %1257
  br label %1314

1314:                                             ; preds = %1313
  br label %1315

1315:                                             ; preds = %1314
  %1316 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1317 = trunc i8 %1316 to i1
  br i1 %1317, label %1318, label %1334

1318:                                             ; preds = %1315
  %1319 = load ptr, ptr @stdout, align 8, !tbaa !9
  %1320 = call i32 @fileno(ptr noundef %1319) #10
  %1321 = call i32 @isatty(i32 noundef %1320) #10
  %1322 = icmp ne i32 %1321, 0
  br i1 %1322, label %1323, label %1334

1323:                                             ; preds = %1318
  %1324 = load i32, ptr @test_count, align 4, !tbaa !5
  %1325 = icmp ne i32 %1324, 0
  br i1 %1325, label %1326, label %1330

1326:                                             ; preds = %1323
  %1327 = load ptr, ptr @stdout, align 8, !tbaa !9
  %1328 = load i32, ptr @test_count, align 4, !tbaa !5
  %1329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1327, ptr noundef @.str.21, i32 noundef %1328) #10
  br label %1333

1330:                                             ; preds = %1323
  %1331 = load ptr, ptr @stdout, align 8, !tbaa !9
  %1332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1331, ptr noundef @.str.22) #10
  br label %1333

1333:                                             ; preds = %1330, %1326
  br label %1345

1334:                                             ; preds = %1318, %1315
  %1335 = load i32, ptr @test_count, align 4, !tbaa !5
  %1336 = icmp ne i32 %1335, 0
  br i1 %1336, label %1337, label %1341

1337:                                             ; preds = %1334
  %1338 = load ptr, ptr @stdout, align 8, !tbaa !9
  %1339 = load i32, ptr @test_count, align 4, !tbaa !5
  %1340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1338, ptr noundef @.str.23, i32 noundef %1339) #10
  br label %1344

1341:                                             ; preds = %1334
  %1342 = load ptr, ptr @stdout, align 8, !tbaa !9
  %1343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1342, ptr noundef @.str.24) #10
  br label %1344

1344:                                             ; preds = %1341, %1337
  br label %1345

1345:                                             ; preds = %1344, %1333
  store i32 0, ptr %3, align 4
  store i32 1, ptr %26, align 4
  br label %1350

1346:                                             ; No predecessors!
  br label %1347

1347:                                             ; preds = %1346
  br label %1348

1348:                                             ; preds = %1347
  br label %1349

1349:                                             ; preds = %1348
  store i32 0, ptr %26, align 4
  br label %1350

1350:                                             ; preds = %1349, %1345
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #10
  %1351 = load i32, ptr %26, align 4
  switch i32 %1351, label %9316 [
    i32 0, label %1352
    i32 1, label %9314
  ]

1352:                                             ; preds = %1350
  br label %1353

1353:                                             ; preds = %1352, %358
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #10
  %1354 = call ptr @s2n_config_new()
  store ptr %1354, ptr %27, align 8, !tbaa !9
  br label %1355

1355:                                             ; preds = %1353
  %1356 = load i32, ptr @test_count, align 4, !tbaa !5
  %1357 = add nsw i32 %1356, 1
  store i32 %1357, ptr @test_count, align 4, !tbaa !5
  %1358 = load ptr, ptr %27, align 8, !tbaa !9
  %1359 = icmp eq ptr %1358, null
  br i1 %1359, label %1360, label %1413

1360:                                             ; preds = %1355
  br label %1361

1361:                                             ; preds = %1360
  br label %1362

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

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

1374:                                             ; preds = %1369
  %1375 = load i32, ptr %28, align 4, !tbaa !5
  %1376 = call ptr @__errno_location() #11
  store i32 %1375, ptr %1376, align 4, !tbaa !5
  %1377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1378 = load i32, ptr @test_count, align 4, !tbaa !5
  %1379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1380 = load i32, ptr %1379, align 4, !tbaa !5
  %1381 = call ptr @s2n_strerror(i32 noundef %1380, ptr noundef @.str.4)
  %1382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1383 = load i32, ptr %1382, align 4, !tbaa !5
  %1384 = call ptr @s2n_strerror_debug(i32 noundef %1383, ptr noundef @.str.4)
  %1385 = call ptr @__errno_location() #11
  %1386 = load i32, ptr %1385, align 4, !tbaa !5
  %1387 = call ptr @strerror(i32 noundef %1386) #10
  %1388 = call ptr @__errno_location() #11
  %1389 = load i32, ptr %1388, align 4, !tbaa !5
  %1390 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1377, ptr noundef @.str.2, i32 noundef %1378, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 56, ptr noundef %1381, ptr noundef %1384, ptr noundef %1387, i32 noundef %1389) #10
  br label %1408

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

1408:                                             ; preds = %1391, %1374
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #10
  br label %1409

1409:                                             ; preds = %1408
  br label %1410

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

1411:                                             ; No predecessors!
  br label %1412

1412:                                             ; preds = %1411
  br label %1413

1413:                                             ; preds = %1412, %1355
  br label %1414

1414:                                             ; preds = %1413
  br label %1415

1415:                                             ; preds = %1414
  br label %1416

1416:                                             ; preds = %1415
  %1417 = load i32, ptr @test_count, align 4, !tbaa !5
  %1418 = add nsw i32 %1417, 1
  store i32 %1418, ptr @test_count, align 4, !tbaa !5
  %1419 = load ptr, ptr %27, align 8, !tbaa !9
  %1420 = load i32, ptr %1419, align 8
  %1421 = lshr i32 %1420, 1
  %1422 = and i32 %1421, 1
  %1423 = icmp ne i32 %1422, 0
  br i1 %1423, label %1424, label %1477

1424:                                             ; preds = %1416
  br label %1425

1425:                                             ; preds = %1424
  br label %1426

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

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

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

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

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

1473:                                             ; preds = %1472
  br label %1474

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

1475:                                             ; No predecessors!
  br label %1476

1476:                                             ; preds = %1475
  br label %1477

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

1478:                                             ; preds = %1477
  br label %1479

1479:                                             ; preds = %1478
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #10
  %1480 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %1480, ptr %30, align 8, !tbaa !9
  br label %1481

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

1486:                                             ; preds = %1481
  br label %1487

1487:                                             ; preds = %1486
  br label %1488

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

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

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

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

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

1535:                                             ; preds = %1534
  br label %1536

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

1537:                                             ; No predecessors!
  br label %1538

1538:                                             ; preds = %1537
  br label %1539

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

1540:                                             ; preds = %1539
  br label %1541

1541:                                             ; preds = %1540
  br label %1542

1542:                                             ; preds = %1541
  %1543 = load i32, ptr @test_count, align 4, !tbaa !5
  %1544 = add nsw i32 %1543, 1
  store i32 %1544, ptr @test_count, align 4, !tbaa !5
  %1545 = load ptr, ptr %30, align 8, !tbaa !9
  %1546 = load ptr, ptr %27, align 8, !tbaa !9
  %1547 = call i32 @s2n_connection_set_config(ptr noundef %1545, ptr noundef %1546)
  %1548 = icmp eq i32 %1547, -1
  br i1 %1548, label %1549, label %1602

1549:                                             ; preds = %1542
  br label %1550

1550:                                             ; preds = %1549
  br label %1551

1551:                                             ; preds = %1550
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #10
  %1552 = call ptr @__errno_location() #11
  %1553 = load i32, ptr %1552, align 4, !tbaa !5
  store i32 %1553, ptr %32, align 4, !tbaa !5
  %1554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1555 = call i32 @s2n_print_stacktrace(ptr noundef %1554)
  %1556 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1557 = trunc i8 %1556 to i1
  br i1 %1557, label %1558, label %1580

1558:                                             ; preds = %1551
  %1559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1560 = call i32 @fileno(ptr noundef %1559) #10
  %1561 = call i32 @isatty(i32 noundef %1560) #10
  %1562 = icmp ne i32 %1561, 0
  br i1 %1562, label %1563, label %1580

1563:                                             ; preds = %1558
  %1564 = load i32, ptr %32, align 4, !tbaa !5
  %1565 = call ptr @__errno_location() #11
  store i32 %1564, ptr %1565, align 4, !tbaa !5
  %1566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1567 = load i32, ptr @test_count, align 4, !tbaa !5
  %1568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1569 = load i32, ptr %1568, align 4, !tbaa !5
  %1570 = call ptr @s2n_strerror(i32 noundef %1569, ptr noundef @.str.4)
  %1571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1572 = load i32, ptr %1571, align 4, !tbaa !5
  %1573 = call ptr @s2n_strerror_debug(i32 noundef %1572, ptr noundef @.str.4)
  %1574 = call ptr @__errno_location() #11
  %1575 = load i32, ptr %1574, align 4, !tbaa !5
  %1576 = call ptr @strerror(i32 noundef %1575) #10
  %1577 = call ptr @__errno_location() #11
  %1578 = load i32, ptr %1577, align 4, !tbaa !5
  %1579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1566, ptr noundef @.str.2, i32 noundef %1567, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 61, ptr noundef %1570, ptr noundef %1573, ptr noundef %1576, i32 noundef %1578) #10
  br label %1597

1580:                                             ; preds = %1558, %1551
  %1581 = load i32, ptr %32, align 4, !tbaa !5
  %1582 = call ptr @__errno_location() #11
  store i32 %1581, ptr %1582, align 4, !tbaa !5
  %1583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1584 = load i32, ptr @test_count, align 4, !tbaa !5
  %1585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1586 = load i32, ptr %1585, align 4, !tbaa !5
  %1587 = call ptr @s2n_strerror(i32 noundef %1586, ptr noundef @.str.4)
  %1588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1589 = load i32, ptr %1588, align 4, !tbaa !5
  %1590 = call ptr @s2n_strerror_debug(i32 noundef %1589, ptr noundef @.str.4)
  %1591 = call ptr @__errno_location() #11
  %1592 = load i32, ptr %1591, align 4, !tbaa !5
  %1593 = call ptr @strerror(i32 noundef %1592) #10
  %1594 = call ptr @__errno_location() #11
  %1595 = load i32, ptr %1594, align 4, !tbaa !5
  %1596 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1583, ptr noundef @.str.5, i32 noundef %1584, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 61, ptr noundef %1587, ptr noundef %1590, ptr noundef %1593, i32 noundef %1595) #10
  br label %1597

1597:                                             ; preds = %1580, %1563
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #10
  br label %1598

1598:                                             ; preds = %1597
  br label %1599

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

1600:                                             ; No predecessors!
  br label %1601

1601:                                             ; preds = %1600
  br label %1602

1602:                                             ; preds = %1601, %1542
  br label %1603

1603:                                             ; preds = %1602
  br label %1604

1604:                                             ; preds = %1603
  br label %1605

1605:                                             ; preds = %1604
  %1606 = load i32, ptr @test_count, align 4, !tbaa !5
  %1607 = add nsw i32 %1606, 1
  store i32 %1607, ptr @test_count, align 4, !tbaa !5
  %1608 = load ptr, ptr %30, align 8, !tbaa !9
  %1609 = call zeroext i1 @s2n_connection_is_quic_enabled(ptr noundef %1608)
  br i1 %1609, label %1610, label %1663

1610:                                             ; preds = %1605
  br label %1611

1611:                                             ; preds = %1610
  br label %1612

1612:                                             ; preds = %1611
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #10
  %1613 = call ptr @__errno_location() #11
  %1614 = load i32, ptr %1613, align 4, !tbaa !5
  store i32 %1614, ptr %33, align 4, !tbaa !5
  %1615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1616 = call i32 @s2n_print_stacktrace(ptr noundef %1615)
  %1617 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1618 = trunc i8 %1617 to i1
  br i1 %1618, label %1619, label %1641

1619:                                             ; preds = %1612
  %1620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1621 = call i32 @fileno(ptr noundef %1620) #10
  %1622 = call i32 @isatty(i32 noundef %1621) #10
  %1623 = icmp ne i32 %1622, 0
  br i1 %1623, label %1624, label %1641

1624:                                             ; preds = %1619
  %1625 = load i32, ptr %33, align 4, !tbaa !5
  %1626 = call ptr @__errno_location() #11
  store i32 %1625, ptr %1626, align 4, !tbaa !5
  %1627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1628 = load i32, ptr @test_count, align 4, !tbaa !5
  %1629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1630 = load i32, ptr %1629, align 4, !tbaa !5
  %1631 = call ptr @s2n_strerror(i32 noundef %1630, ptr noundef @.str.4)
  %1632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1633 = load i32, ptr %1632, align 4, !tbaa !5
  %1634 = call ptr @s2n_strerror_debug(i32 noundef %1633, ptr noundef @.str.4)
  %1635 = call ptr @__errno_location() #11
  %1636 = load i32, ptr %1635, align 4, !tbaa !5
  %1637 = call ptr @strerror(i32 noundef %1636) #10
  %1638 = call ptr @__errno_location() #11
  %1639 = load i32, ptr %1638, align 4, !tbaa !5
  %1640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1627, ptr noundef @.str.2, i32 noundef %1628, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 62, ptr noundef %1631, ptr noundef %1634, ptr noundef %1637, i32 noundef %1639) #10
  br label %1658

1641:                                             ; preds = %1619, %1612
  %1642 = load i32, ptr %33, align 4, !tbaa !5
  %1643 = call ptr @__errno_location() #11
  store i32 %1642, ptr %1643, align 4, !tbaa !5
  %1644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1645 = load i32, ptr @test_count, align 4, !tbaa !5
  %1646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1647 = load i32, ptr %1646, align 4, !tbaa !5
  %1648 = call ptr @s2n_strerror(i32 noundef %1647, ptr noundef @.str.4)
  %1649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1650 = load i32, ptr %1649, align 4, !tbaa !5
  %1651 = call ptr @s2n_strerror_debug(i32 noundef %1650, ptr noundef @.str.4)
  %1652 = call ptr @__errno_location() #11
  %1653 = load i32, ptr %1652, align 4, !tbaa !5
  %1654 = call ptr @strerror(i32 noundef %1653) #10
  %1655 = call ptr @__errno_location() #11
  %1656 = load i32, ptr %1655, align 4, !tbaa !5
  %1657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1644, ptr noundef @.str.5, i32 noundef %1645, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 62, ptr noundef %1648, ptr noundef %1651, ptr noundef %1654, i32 noundef %1656) #10
  br label %1658

1658:                                             ; preds = %1641, %1624
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #10
  br label %1659

1659:                                             ; preds = %1658
  br label %1660

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

1661:                                             ; No predecessors!
  br label %1662

1662:                                             ; preds = %1661
  br label %1663

1663:                                             ; preds = %1662, %1605
  br label %1664

1664:                                             ; preds = %1663
  br label %1665

1665:                                             ; preds = %1664
  br label %1666

1666:                                             ; preds = %1665
  br label %1667

1667:                                             ; preds = %1666
  br label %1668

1668:                                             ; preds = %1667
  %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_enable_quic(ptr noundef null)
  %1672 = icmp eq i32 %1671, -1
  br i1 %1672, label %1726, label %1673

1673:                                             ; preds = %1668
  br label %1674

1674:                                             ; preds = %1673
  br label %1675

1675:                                             ; preds = %1674
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #10
  %1676 = call ptr @__errno_location() #11
  %1677 = load i32, ptr %1676, align 4, !tbaa !5
  store i32 %1677, ptr %34, align 4, !tbaa !5
  %1678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1679 = call i32 @s2n_print_stacktrace(ptr noundef %1678)
  %1680 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1681 = trunc i8 %1680 to i1
  br i1 %1681, label %1682, label %1704

1682:                                             ; preds = %1675
  %1683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1684 = call i32 @fileno(ptr noundef %1683) #10
  %1685 = call i32 @isatty(i32 noundef %1684) #10
  %1686 = icmp ne i32 %1685, 0
  br i1 %1686, label %1687, label %1704

1687:                                             ; preds = %1682
  %1688 = load i32, ptr %34, align 4, !tbaa !5
  %1689 = call ptr @__errno_location() #11
  store i32 %1688, ptr %1689, align 4, !tbaa !5
  %1690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1691 = load i32, ptr @test_count, align 4, !tbaa !5
  %1692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1693 = load i32, ptr %1692, align 4, !tbaa !5
  %1694 = call ptr @s2n_strerror(i32 noundef %1693, ptr noundef @.str.4)
  %1695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1696 = load i32, ptr %1695, align 4, !tbaa !5
  %1697 = call ptr @s2n_strerror_debug(i32 noundef %1696, ptr noundef @.str.4)
  %1698 = call ptr @__errno_location() #11
  %1699 = load i32, ptr %1698, align 4, !tbaa !5
  %1700 = call ptr @strerror(i32 noundef %1699) #10
  %1701 = call ptr @__errno_location() #11
  %1702 = load i32, ptr %1701, align 4, !tbaa !5
  %1703 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1690, ptr noundef @.str.2, i32 noundef %1691, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 66, ptr noundef %1694, ptr noundef %1697, ptr noundef %1700, i32 noundef %1702) #10
  br label %1721

1704:                                             ; preds = %1682, %1675
  %1705 = load i32, ptr %34, align 4, !tbaa !5
  %1706 = call ptr @__errno_location() #11
  store i32 %1705, ptr %1706, align 4, !tbaa !5
  %1707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1708 = load i32, ptr @test_count, align 4, !tbaa !5
  %1709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1710 = load i32, ptr %1709, align 4, !tbaa !5
  %1711 = call ptr @s2n_strerror(i32 noundef %1710, ptr noundef @.str.4)
  %1712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1713 = load i32, ptr %1712, align 4, !tbaa !5
  %1714 = call ptr @s2n_strerror_debug(i32 noundef %1713, ptr noundef @.str.4)
  %1715 = call ptr @__errno_location() #11
  %1716 = load i32, ptr %1715, align 4, !tbaa !5
  %1717 = call ptr @strerror(i32 noundef %1716) #10
  %1718 = call ptr @__errno_location() #11
  %1719 = load i32, ptr %1718, align 4, !tbaa !5
  %1720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1707, ptr noundef @.str.5, i32 noundef %1708, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 66, ptr noundef %1711, ptr noundef %1714, ptr noundef %1717, i32 noundef %1719) #10
  br label %1721

1721:                                             ; preds = %1704, %1687
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #10
  br label %1722

1722:                                             ; preds = %1721
  br label %1723

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

1724:                                             ; No predecessors!
  br label %1725

1725:                                             ; preds = %1724
  br label %1726

1726:                                             ; preds = %1725, %1668
  br label %1727

1727:                                             ; preds = %1726
  br label %1728

1728:                                             ; preds = %1727
  br label %1729

1729:                                             ; preds = %1728
  %1730 = load i32, ptr @test_count, align 4, !tbaa !5
  %1731 = add nsw i32 %1730, 1
  store i32 %1731, ptr @test_count, align 4, !tbaa !5
  %1732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1733 = load i32, ptr %1732, align 4, !tbaa !5
  %1734 = icmp eq i32 %1733, 402653193
  br i1 %1734, label %1788, label %1735

1735:                                             ; preds = %1729
  br label %1736

1736:                                             ; preds = %1735
  br label %1737

1737:                                             ; preds = %1736
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #10
  %1738 = call ptr @__errno_location() #11
  %1739 = load i32, ptr %1738, align 4, !tbaa !5
  store i32 %1739, ptr %35, align 4, !tbaa !5
  %1740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1741 = call i32 @s2n_print_stacktrace(ptr noundef %1740)
  %1742 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1743 = trunc i8 %1742 to i1
  br i1 %1743, label %1744, label %1766

1744:                                             ; preds = %1737
  %1745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1746 = call i32 @fileno(ptr noundef %1745) #10
  %1747 = call i32 @isatty(i32 noundef %1746) #10
  %1748 = icmp ne i32 %1747, 0
  br i1 %1748, label %1749, label %1766

1749:                                             ; preds = %1744
  %1750 = load i32, ptr %35, align 4, !tbaa !5
  %1751 = call ptr @__errno_location() #11
  store i32 %1750, ptr %1751, align 4, !tbaa !5
  %1752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1753 = load i32, ptr @test_count, align 4, !tbaa !5
  %1754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1755 = load i32, ptr %1754, align 4, !tbaa !5
  %1756 = call ptr @s2n_strerror(i32 noundef %1755, ptr noundef @.str.4)
  %1757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1758 = load i32, ptr %1757, align 4, !tbaa !5
  %1759 = call ptr @s2n_strerror_debug(i32 noundef %1758, ptr noundef @.str.4)
  %1760 = call ptr @__errno_location() #11
  %1761 = load i32, ptr %1760, align 4, !tbaa !5
  %1762 = call ptr @strerror(i32 noundef %1761) #10
  %1763 = call ptr @__errno_location() #11
  %1764 = load i32, ptr %1763, align 4, !tbaa !5
  %1765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1752, ptr noundef @.str.2, i32 noundef %1753, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 66, ptr noundef %1756, ptr noundef %1759, ptr noundef %1762, i32 noundef %1764) #10
  br label %1783

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

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

1784:                                             ; preds = %1783
  br label %1785

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

1786:                                             ; No predecessors!
  br label %1787

1787:                                             ; preds = %1786
  br label %1788

1788:                                             ; preds = %1787, %1729
  br label %1789

1789:                                             ; preds = %1788
  br label %1790

1790:                                             ; preds = %1789
  br label %1791

1791:                                             ; preds = %1790
  %1792 = load i32, ptr @test_count, align 4, !tbaa !5
  %1793 = add nsw i32 %1792, 1
  store i32 %1793, ptr @test_count, align 4, !tbaa !5
  %1794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1795 = load i32, ptr %1794, align 4, !tbaa !5
  %1796 = call ptr @s2n_strerror_debug(i32 noundef %1795, ptr noundef @.str.4)
  %1797 = icmp eq ptr %1796, null
  br i1 %1797, label %1798, label %1851

1798:                                             ; preds = %1791
  br label %1799

1799:                                             ; preds = %1798
  br label %1800

1800:                                             ; preds = %1799
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #10
  %1801 = call ptr @__errno_location() #11
  %1802 = load i32, ptr %1801, align 4, !tbaa !5
  store i32 %1802, ptr %36, align 4, !tbaa !5
  %1803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1804 = call i32 @s2n_print_stacktrace(ptr noundef %1803)
  %1805 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1806 = trunc i8 %1805 to i1
  br i1 %1806, label %1807, label %1829

1807:                                             ; preds = %1800
  %1808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1809 = call i32 @fileno(ptr noundef %1808) #10
  %1810 = call i32 @isatty(i32 noundef %1809) #10
  %1811 = icmp ne i32 %1810, 0
  br i1 %1811, label %1812, label %1829

1812:                                             ; preds = %1807
  %1813 = load i32, ptr %36, align 4, !tbaa !5
  %1814 = call ptr @__errno_location() #11
  store i32 %1813, ptr %1814, align 4, !tbaa !5
  %1815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1816 = load i32, ptr @test_count, align 4, !tbaa !5
  %1817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1818 = load i32, ptr %1817, align 4, !tbaa !5
  %1819 = call ptr @s2n_strerror(i32 noundef %1818, ptr noundef @.str.4)
  %1820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1821 = load i32, ptr %1820, align 4, !tbaa !5
  %1822 = call ptr @s2n_strerror_debug(i32 noundef %1821, ptr noundef @.str.4)
  %1823 = call ptr @__errno_location() #11
  %1824 = load i32, ptr %1823, align 4, !tbaa !5
  %1825 = call ptr @strerror(i32 noundef %1824) #10
  %1826 = call ptr @__errno_location() #11
  %1827 = load i32, ptr %1826, align 4, !tbaa !5
  %1828 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1815, ptr noundef @.str.2, i32 noundef %1816, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 66, ptr noundef %1819, ptr noundef %1822, ptr noundef %1825, i32 noundef %1827) #10
  br label %1846

1829:                                             ; preds = %1807, %1800
  %1830 = load i32, ptr %36, align 4, !tbaa !5
  %1831 = call ptr @__errno_location() #11
  store i32 %1830, ptr %1831, align 4, !tbaa !5
  %1832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1833 = load i32, ptr @test_count, align 4, !tbaa !5
  %1834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1835 = load i32, ptr %1834, align 4, !tbaa !5
  %1836 = call ptr @s2n_strerror(i32 noundef %1835, ptr noundef @.str.4)
  %1837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1838 = load i32, ptr %1837, align 4, !tbaa !5
  %1839 = call ptr @s2n_strerror_debug(i32 noundef %1838, ptr noundef @.str.4)
  %1840 = call ptr @__errno_location() #11
  %1841 = load i32, ptr %1840, align 4, !tbaa !5
  %1842 = call ptr @strerror(i32 noundef %1841) #10
  %1843 = call ptr @__errno_location() #11
  %1844 = load i32, ptr %1843, align 4, !tbaa !5
  %1845 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1832, ptr noundef @.str.5, i32 noundef %1833, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 66, ptr noundef %1836, ptr noundef %1839, ptr noundef %1842, i32 noundef %1844) #10
  br label %1846

1846:                                             ; preds = %1829, %1812
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #10
  br label %1847

1847:                                             ; preds = %1846
  br label %1848

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

1849:                                             ; No predecessors!
  br label %1850

1850:                                             ; preds = %1849
  br label %1851

1851:                                             ; preds = %1850, %1791
  br label %1852

1852:                                             ; preds = %1851
  br label %1853

1853:                                             ; preds = %1852
  br label %1854

1854:                                             ; preds = %1853
  br label %1855

1855:                                             ; preds = %1854
  br label %1856

1856:                                             ; preds = %1855
  %1857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1857, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1858 = call ptr @__errno_location() #11
  store i32 0, ptr %1858, align 4, !tbaa !5
  br label %1859

1859:                                             ; preds = %1856
  br label %1860

1860:                                             ; preds = %1859
  br label %1861

1861:                                             ; preds = %1860
  br label %1862

1862:                                             ; preds = %1861
  br label %1863

1863:                                             ; preds = %1862
  %1864 = load i32, ptr @test_count, align 4, !tbaa !5
  %1865 = add nsw i32 %1864, 1
  store i32 %1865, ptr @test_count, align 4, !tbaa !5
  %1866 = load ptr, ptr %27, align 8, !tbaa !9
  %1867 = load i32, ptr %1866, align 8
  %1868 = lshr i32 %1867, 1
  %1869 = and i32 %1868, 1
  %1870 = icmp ne i32 %1869, 0
  br i1 %1870, label %1871, label %1924

1871:                                             ; preds = %1863
  br label %1872

1872:                                             ; preds = %1871
  br label %1873

1873:                                             ; preds = %1872
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #10
  %1874 = call ptr @__errno_location() #11
  %1875 = load i32, ptr %1874, align 4, !tbaa !5
  store i32 %1875, ptr %37, align 4, !tbaa !5
  %1876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1877 = call i32 @s2n_print_stacktrace(ptr noundef %1876)
  %1878 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1879 = trunc i8 %1878 to i1
  br i1 %1879, label %1880, label %1902

1880:                                             ; preds = %1873
  %1881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1882 = call i32 @fileno(ptr noundef %1881) #10
  %1883 = call i32 @isatty(i32 noundef %1882) #10
  %1884 = icmp ne i32 %1883, 0
  br i1 %1884, label %1885, label %1902

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

1902:                                             ; preds = %1880, %1873
  %1903 = load i32, ptr %37, align 4, !tbaa !5
  %1904 = call ptr @__errno_location() #11
  store i32 %1903, ptr %1904, align 4, !tbaa !5
  %1905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1906 = load i32, ptr @test_count, align 4, !tbaa !5
  %1907 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1908 = load i32, ptr %1907, align 4, !tbaa !5
  %1909 = call ptr @s2n_strerror(i32 noundef %1908, ptr noundef @.str.4)
  %1910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1911 = load i32, ptr %1910, align 4, !tbaa !5
  %1912 = call ptr @s2n_strerror_debug(i32 noundef %1911, ptr noundef @.str.4)
  %1913 = call ptr @__errno_location() #11
  %1914 = load i32, ptr %1913, align 4, !tbaa !5
  %1915 = call ptr @strerror(i32 noundef %1914) #10
  %1916 = call ptr @__errno_location() #11
  %1917 = load i32, ptr %1916, align 4, !tbaa !5
  %1918 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1905, ptr noundef @.str.5, i32 noundef %1906, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 67, ptr noundef %1909, ptr noundef %1912, ptr noundef %1915, i32 noundef %1917) #10
  br label %1919

1919:                                             ; preds = %1902, %1885
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #10
  br label %1920

1920:                                             ; preds = %1919
  br label %1921

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

1922:                                             ; No predecessors!
  br label %1923

1923:                                             ; preds = %1922
  br label %1924

1924:                                             ; preds = %1923, %1863
  br label %1925

1925:                                             ; preds = %1924
  br label %1926

1926:                                             ; preds = %1925
  br label %1927

1927:                                             ; preds = %1926
  %1928 = load i32, ptr @test_count, align 4, !tbaa !5
  %1929 = add nsw i32 %1928, 1
  store i32 %1929, ptr @test_count, align 4, !tbaa !5
  %1930 = load ptr, ptr %30, align 8, !tbaa !9
  %1931 = call zeroext i1 @s2n_connection_is_quic_enabled(ptr noundef %1930)
  br i1 %1931, label %1932, label %1985

1932:                                             ; preds = %1927
  br label %1933

1933:                                             ; preds = %1932
  br label %1934

1934:                                             ; preds = %1933
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #10
  %1935 = call ptr @__errno_location() #11
  %1936 = load i32, ptr %1935, align 4, !tbaa !5
  store i32 %1936, ptr %38, align 4, !tbaa !5
  %1937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1938 = call i32 @s2n_print_stacktrace(ptr noundef %1937)
  %1939 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1940 = trunc i8 %1939 to i1
  br i1 %1940, label %1941, label %1963

1941:                                             ; preds = %1934
  %1942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1943 = call i32 @fileno(ptr noundef %1942) #10
  %1944 = call i32 @isatty(i32 noundef %1943) #10
  %1945 = icmp ne i32 %1944, 0
  br i1 %1945, label %1946, label %1963

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

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

1980:                                             ; preds = %1963, %1946
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #10
  br label %1981

1981:                                             ; preds = %1980
  br label %1982

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

1983:                                             ; No predecessors!
  br label %1984

1984:                                             ; preds = %1983
  br label %1985

1985:                                             ; preds = %1984, %1927
  br label %1986

1986:                                             ; preds = %1985
  br label %1987

1987:                                             ; preds = %1986
  br label %1988

1988:                                             ; preds = %1987
  %1989 = load i32, ptr @test_count, align 4, !tbaa !5
  %1990 = add nsw i32 %1989, 1
  store i32 %1990, ptr @test_count, align 4, !tbaa !5
  %1991 = load ptr, ptr %27, align 8, !tbaa !9
  %1992 = call i32 @s2n_config_enable_quic(ptr noundef %1991)
  %1993 = icmp eq i32 %1992, -1
  br i1 %1993, label %1994, label %2047

1994:                                             ; preds = %1988
  br label %1995

1995:                                             ; preds = %1994
  br label %1996

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

2003:                                             ; preds = %1996
  %2004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2005 = call i32 @fileno(ptr noundef %2004) #10
  %2006 = call i32 @isatty(i32 noundef %2005) #10
  %2007 = icmp ne i32 %2006, 0
  br i1 %2007, label %2008, label %2025

2008:                                             ; preds = %2003
  %2009 = load i32, ptr %39, align 4, !tbaa !5
  %2010 = call ptr @__errno_location() #11
  store i32 %2009, ptr %2010, align 4, !tbaa !5
  %2011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2012 = load i32, ptr @test_count, align 4, !tbaa !5
  %2013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2014 = load i32, ptr %2013, align 4, !tbaa !5
  %2015 = call ptr @s2n_strerror(i32 noundef %2014, ptr noundef @.str.4)
  %2016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2017 = load i32, ptr %2016, align 4, !tbaa !5
  %2018 = call ptr @s2n_strerror_debug(i32 noundef %2017, ptr noundef @.str.4)
  %2019 = call ptr @__errno_location() #11
  %2020 = load i32, ptr %2019, align 4, !tbaa !5
  %2021 = call ptr @strerror(i32 noundef %2020) #10
  %2022 = call ptr @__errno_location() #11
  %2023 = load i32, ptr %2022, align 4, !tbaa !5
  %2024 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2011, ptr noundef @.str.2, i32 noundef %2012, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 73, ptr noundef %2015, ptr noundef %2018, ptr noundef %2021, i32 noundef %2023) #10
  br label %2042

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

2042:                                             ; preds = %2025, %2008
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #10
  br label %2043

2043:                                             ; preds = %2042
  br label %2044

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

2045:                                             ; No predecessors!
  br label %2046

2046:                                             ; preds = %2045
  br label %2047

2047:                                             ; preds = %2046, %1988
  br label %2048

2048:                                             ; preds = %2047
  br label %2049

2049:                                             ; preds = %2048
  br label %2050

2050:                                             ; preds = %2049
  %2051 = load i32, ptr @test_count, align 4, !tbaa !5
  %2052 = add nsw i32 %2051, 1
  store i32 %2052, ptr @test_count, align 4, !tbaa !5
  %2053 = load ptr, ptr %27, align 8, !tbaa !9
  %2054 = load i32, ptr %2053, align 8
  %2055 = lshr i32 %2054, 1
  %2056 = and i32 %2055, 1
  %2057 = icmp ne i32 %2056, 0
  br i1 %2057, label %2111, label %2058

2058:                                             ; preds = %2050
  br label %2059

2059:                                             ; preds = %2058
  br label %2060

2060:                                             ; preds = %2059
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #10
  %2061 = call ptr @__errno_location() #11
  %2062 = load i32, ptr %2061, align 4, !tbaa !5
  store i32 %2062, ptr %40, align 4, !tbaa !5
  %2063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2064 = call i32 @s2n_print_stacktrace(ptr noundef %2063)
  %2065 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2066 = trunc i8 %2065 to i1
  br i1 %2066, label %2067, label %2089

2067:                                             ; preds = %2060
  %2068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2069 = call i32 @fileno(ptr noundef %2068) #10
  %2070 = call i32 @isatty(i32 noundef %2069) #10
  %2071 = icmp ne i32 %2070, 0
  br i1 %2071, label %2072, label %2089

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

2089:                                             ; preds = %2067, %2060
  %2090 = load i32, ptr %40, align 4, !tbaa !5
  %2091 = call ptr @__errno_location() #11
  store i32 %2090, ptr %2091, align 4, !tbaa !5
  %2092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2093 = load i32, ptr @test_count, align 4, !tbaa !5
  %2094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2095 = load i32, ptr %2094, align 4, !tbaa !5
  %2096 = call ptr @s2n_strerror(i32 noundef %2095, ptr noundef @.str.4)
  %2097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2098 = load i32, ptr %2097, align 4, !tbaa !5
  %2099 = call ptr @s2n_strerror_debug(i32 noundef %2098, ptr noundef @.str.4)
  %2100 = call ptr @__errno_location() #11
  %2101 = load i32, ptr %2100, align 4, !tbaa !5
  %2102 = call ptr @strerror(i32 noundef %2101) #10
  %2103 = call ptr @__errno_location() #11
  %2104 = load i32, ptr %2103, align 4, !tbaa !5
  %2105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2092, ptr noundef @.str.5, i32 noundef %2093, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 74, ptr noundef %2096, ptr noundef %2099, ptr noundef %2102, i32 noundef %2104) #10
  br label %2106

2106:                                             ; preds = %2089, %2072
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #10
  br label %2107

2107:                                             ; preds = %2106
  br label %2108

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

2109:                                             ; No predecessors!
  br label %2110

2110:                                             ; preds = %2109
  br label %2111

2111:                                             ; preds = %2110, %2050
  br label %2112

2112:                                             ; preds = %2111
  br label %2113

2113:                                             ; preds = %2112
  br label %2114

2114:                                             ; preds = %2113
  %2115 = load i32, ptr @test_count, align 4, !tbaa !5
  %2116 = add nsw i32 %2115, 1
  store i32 %2116, ptr @test_count, align 4, !tbaa !5
  %2117 = load ptr, ptr %30, align 8, !tbaa !9
  %2118 = call zeroext i1 @s2n_connection_is_quic_enabled(ptr noundef %2117)
  br i1 %2118, label %2172, label %2119

2119:                                             ; preds = %2114
  br label %2120

2120:                                             ; preds = %2119
  br label %2121

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

2128:                                             ; preds = %2121
  %2129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2130 = call i32 @fileno(ptr noundef %2129) #10
  %2131 = call i32 @isatty(i32 noundef %2130) #10
  %2132 = icmp ne i32 %2131, 0
  br i1 %2132, label %2133, label %2150

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

2150:                                             ; preds = %2128, %2121
  %2151 = load i32, ptr %41, align 4, !tbaa !5
  %2152 = call ptr @__errno_location() #11
  store i32 %2151, ptr %2152, align 4, !tbaa !5
  %2153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2154 = load i32, ptr @test_count, align 4, !tbaa !5
  %2155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2156 = load i32, ptr %2155, align 4, !tbaa !5
  %2157 = call ptr @s2n_strerror(i32 noundef %2156, ptr noundef @.str.4)
  %2158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2159 = load i32, ptr %2158, align 4, !tbaa !5
  %2160 = call ptr @s2n_strerror_debug(i32 noundef %2159, ptr noundef @.str.4)
  %2161 = call ptr @__errno_location() #11
  %2162 = load i32, ptr %2161, align 4, !tbaa !5
  %2163 = call ptr @strerror(i32 noundef %2162) #10
  %2164 = call ptr @__errno_location() #11
  %2165 = load i32, ptr %2164, align 4, !tbaa !5
  %2166 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2153, ptr noundef @.str.5, i32 noundef %2154, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 75, ptr noundef %2157, ptr noundef %2160, ptr noundef %2163, i32 noundef %2165) #10
  br label %2167

2167:                                             ; preds = %2150, %2133
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #10
  br label %2168

2168:                                             ; preds = %2167
  br label %2169

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

2170:                                             ; No predecessors!
  br label %2171

2171:                                             ; preds = %2170
  br label %2172

2172:                                             ; preds = %2171, %2114
  br label %2173

2173:                                             ; preds = %2172
  br label %2174

2174:                                             ; preds = %2173
  br label %2175

2175:                                             ; preds = %2174
  %2176 = load i32, ptr @test_count, align 4, !tbaa !5
  %2177 = add nsw i32 %2176, 1
  store i32 %2177, ptr @test_count, align 4, !tbaa !5
  %2178 = load ptr, ptr %27, align 8, !tbaa !9
  %2179 = call i32 @s2n_config_enable_quic(ptr noundef %2178)
  %2180 = icmp eq i32 %2179, -1
  br i1 %2180, label %2181, label %2234

2181:                                             ; preds = %2175
  br label %2182

2182:                                             ; preds = %2181
  br label %2183

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

2190:                                             ; preds = %2183
  %2191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2192 = call i32 @fileno(ptr noundef %2191) #10
  %2193 = call i32 @isatty(i32 noundef %2192) #10
  %2194 = icmp ne i32 %2193, 0
  br i1 %2194, label %2195, label %2212

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

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

2229:                                             ; preds = %2212, %2195
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #10
  br label %2230

2230:                                             ; preds = %2229
  br label %2231

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

2232:                                             ; No predecessors!
  br label %2233

2233:                                             ; preds = %2232
  br label %2234

2234:                                             ; preds = %2233, %2175
  br label %2235

2235:                                             ; preds = %2234
  br label %2236

2236:                                             ; preds = %2235
  br label %2237

2237:                                             ; preds = %2236
  %2238 = load i32, ptr @test_count, align 4, !tbaa !5
  %2239 = add nsw i32 %2238, 1
  store i32 %2239, ptr @test_count, align 4, !tbaa !5
  %2240 = load ptr, ptr %27, align 8, !tbaa !9
  %2241 = load i32, ptr %2240, align 8
  %2242 = lshr i32 %2241, 1
  %2243 = and i32 %2242, 1
  %2244 = icmp ne i32 %2243, 0
  br i1 %2244, label %2298, label %2245

2245:                                             ; preds = %2237
  br label %2246

2246:                                             ; preds = %2245
  br label %2247

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

2254:                                             ; preds = %2247
  %2255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2256 = call i32 @fileno(ptr noundef %2255) #10
  %2257 = call i32 @isatty(i32 noundef %2256) #10
  %2258 = icmp ne i32 %2257, 0
  br i1 %2258, label %2259, label %2276

2259:                                             ; preds = %2254
  %2260 = load i32, ptr %43, align 4, !tbaa !5
  %2261 = call ptr @__errno_location() #11
  store i32 %2260, ptr %2261, align 4, !tbaa !5
  %2262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2263 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %2265, ptr noundef @.str.4)
  %2267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2268 = load i32, ptr %2267, align 4, !tbaa !5
  %2269 = call ptr @s2n_strerror_debug(i32 noundef %2268, ptr noundef @.str.4)
  %2270 = call ptr @__errno_location() #11
  %2271 = load i32, ptr %2270, align 4, !tbaa !5
  %2272 = call ptr @strerror(i32 noundef %2271) #10
  %2273 = call ptr @__errno_location() #11
  %2274 = load i32, ptr %2273, align 4, !tbaa !5
  %2275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2262, ptr noundef @.str.2, i32 noundef %2263, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 79, ptr noundef %2266, ptr noundef %2269, ptr noundef %2272, i32 noundef %2274) #10
  br label %2293

2276:                                             ; preds = %2254, %2247
  %2277 = load i32, ptr %43, align 4, !tbaa !5
  %2278 = call ptr @__errno_location() #11
  store i32 %2277, ptr %2278, align 4, !tbaa !5
  %2279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2280 = load i32, ptr @test_count, align 4, !tbaa !5
  %2281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2282 = load i32, ptr %2281, align 4, !tbaa !5
  %2283 = call ptr @s2n_strerror(i32 noundef %2282, ptr noundef @.str.4)
  %2284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2285 = load i32, ptr %2284, align 4, !tbaa !5
  %2286 = call ptr @s2n_strerror_debug(i32 noundef %2285, ptr noundef @.str.4)
  %2287 = call ptr @__errno_location() #11
  %2288 = load i32, ptr %2287, align 4, !tbaa !5
  %2289 = call ptr @strerror(i32 noundef %2288) #10
  %2290 = call ptr @__errno_location() #11
  %2291 = load i32, ptr %2290, align 4, !tbaa !5
  %2292 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2279, ptr noundef @.str.5, i32 noundef %2280, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 79, ptr noundef %2283, ptr noundef %2286, ptr noundef %2289, i32 noundef %2291) #10
  br label %2293

2293:                                             ; preds = %2276, %2259
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #10
  br label %2294

2294:                                             ; preds = %2293
  br label %2295

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

2296:                                             ; No predecessors!
  br label %2297

2297:                                             ; preds = %2296
  br label %2298

2298:                                             ; preds = %2297, %2237
  br label %2299

2299:                                             ; preds = %2298
  br label %2300

2300:                                             ; preds = %2299
  br label %2301

2301:                                             ; preds = %2300
  %2302 = load i32, ptr @test_count, align 4, !tbaa !5
  %2303 = add nsw i32 %2302, 1
  store i32 %2303, ptr @test_count, align 4, !tbaa !5
  %2304 = load ptr, ptr %30, align 8, !tbaa !9
  %2305 = call zeroext i1 @s2n_connection_is_quic_enabled(ptr noundef %2304)
  br i1 %2305, label %2359, label %2306

2306:                                             ; preds = %2301
  br label %2307

2307:                                             ; preds = %2306
  br label %2308

2308:                                             ; preds = %2307
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #10
  %2309 = call ptr @__errno_location() #11
  %2310 = load i32, ptr %2309, align 4, !tbaa !5
  store i32 %2310, ptr %44, align 4, !tbaa !5
  %2311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2312 = call i32 @s2n_print_stacktrace(ptr noundef %2311)
  %2313 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2314 = trunc i8 %2313 to i1
  br i1 %2314, label %2315, label %2337

2315:                                             ; preds = %2308
  %2316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2317 = call i32 @fileno(ptr noundef %2316) #10
  %2318 = call i32 @isatty(i32 noundef %2317) #10
  %2319 = icmp ne i32 %2318, 0
  br i1 %2319, label %2320, label %2337

2320:                                             ; preds = %2315
  %2321 = load i32, ptr %44, align 4, !tbaa !5
  %2322 = call ptr @__errno_location() #11
  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() #11
  %2332 = load i32, ptr %2331, align 4, !tbaa !5
  %2333 = call ptr @strerror(i32 noundef %2332) #10
  %2334 = call ptr @__errno_location() #11
  %2335 = load i32, ptr %2334, align 4, !tbaa !5
  %2336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2323, ptr noundef @.str.2, i32 noundef %2324, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 80, ptr noundef %2327, ptr noundef %2330, ptr noundef %2333, i32 noundef %2335) #10
  br label %2354

2337:                                             ; preds = %2315, %2308
  %2338 = load i32, ptr %44, align 4, !tbaa !5
  %2339 = call ptr @__errno_location() #11
  store i32 %2338, ptr %2339, align 4, !tbaa !5
  %2340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2341 = load i32, ptr @test_count, align 4, !tbaa !5
  %2342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2343 = load i32, ptr %2342, align 4, !tbaa !5
  %2344 = call ptr @s2n_strerror(i32 noundef %2343, ptr noundef @.str.4)
  %2345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2346 = load i32, ptr %2345, align 4, !tbaa !5
  %2347 = call ptr @s2n_strerror_debug(i32 noundef %2346, ptr noundef @.str.4)
  %2348 = call ptr @__errno_location() #11
  %2349 = load i32, ptr %2348, align 4, !tbaa !5
  %2350 = call ptr @strerror(i32 noundef %2349) #10
  %2351 = call ptr @__errno_location() #11
  %2352 = load i32, ptr %2351, align 4, !tbaa !5
  %2353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2340, ptr noundef @.str.5, i32 noundef %2341, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 80, ptr noundef %2344, ptr noundef %2347, ptr noundef %2350, i32 noundef %2352) #10
  br label %2354

2354:                                             ; preds = %2337, %2320
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #10
  br label %2355

2355:                                             ; preds = %2354
  br label %2356

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

2357:                                             ; No predecessors!
  br label %2358

2358:                                             ; preds = %2357
  br label %2359

2359:                                             ; preds = %2358, %2301
  br label %2360

2360:                                             ; preds = %2359
  br label %2361

2361:                                             ; preds = %2360
  br label %2362

2362:                                             ; preds = %2361
  %2363 = load i32, ptr @test_count, align 4, !tbaa !5
  %2364 = add nsw i32 %2363, 1
  store i32 %2364, ptr @test_count, align 4, !tbaa !5
  %2365 = load ptr, ptr %30, align 8, !tbaa !9
  %2366 = call i32 @s2n_connection_free(ptr noundef %2365)
  %2367 = icmp eq i32 %2366, -1
  br i1 %2367, label %2368, label %2421

2368:                                             ; preds = %2362
  br label %2369

2369:                                             ; preds = %2368
  br label %2370

2370:                                             ; preds = %2369
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #10
  %2371 = call ptr @__errno_location() #11
  %2372 = load i32, ptr %2371, align 4, !tbaa !5
  store i32 %2372, ptr %45, align 4, !tbaa !5
  %2373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2374 = call i32 @s2n_print_stacktrace(ptr noundef %2373)
  %2375 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2376 = trunc i8 %2375 to i1
  br i1 %2376, label %2377, label %2399

2377:                                             ; preds = %2370
  %2378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2379 = call i32 @fileno(ptr noundef %2378) #10
  %2380 = call i32 @isatty(i32 noundef %2379) #10
  %2381 = icmp ne i32 %2380, 0
  br i1 %2381, label %2382, label %2399

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

2399:                                             ; preds = %2377, %2370
  %2400 = load i32, ptr %45, align 4, !tbaa !5
  %2401 = call ptr @__errno_location() #11
  store i32 %2400, ptr %2401, align 4, !tbaa !5
  %2402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2403 = load i32, ptr @test_count, align 4, !tbaa !5
  %2404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2405 = load i32, ptr %2404, align 4, !tbaa !5
  %2406 = call ptr @s2n_strerror(i32 noundef %2405, ptr noundef @.str.4)
  %2407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2408 = load i32, ptr %2407, align 4, !tbaa !5
  %2409 = call ptr @s2n_strerror_debug(i32 noundef %2408, ptr noundef @.str.4)
  %2410 = call ptr @__errno_location() #11
  %2411 = load i32, ptr %2410, align 4, !tbaa !5
  %2412 = call ptr @strerror(i32 noundef %2411) #10
  %2413 = call ptr @__errno_location() #11
  %2414 = load i32, ptr %2413, align 4, !tbaa !5
  %2415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2402, ptr noundef @.str.5, i32 noundef %2403, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 83, ptr noundef %2406, ptr noundef %2409, ptr noundef %2412, i32 noundef %2414) #10
  br label %2416

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

2417:                                             ; preds = %2416
  br label %2418

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

2419:                                             ; No predecessors!
  br label %2420

2420:                                             ; preds = %2419
  br label %2421

2421:                                             ; preds = %2420, %2362
  br label %2422

2422:                                             ; preds = %2421
  br label %2423

2423:                                             ; preds = %2422
  br label %2424

2424:                                             ; preds = %2423
  %2425 = load i32, ptr @test_count, align 4, !tbaa !5
  %2426 = add nsw i32 %2425, 1
  store i32 %2426, ptr @test_count, align 4, !tbaa !5
  %2427 = load ptr, ptr %27, align 8, !tbaa !9
  %2428 = call i32 @s2n_config_free(ptr noundef %2427)
  %2429 = icmp eq i32 %2428, -1
  br i1 %2429, label %2430, label %2483

2430:                                             ; preds = %2424
  br label %2431

2431:                                             ; preds = %2430
  br label %2432

2432:                                             ; preds = %2431
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #10
  %2433 = call ptr @__errno_location() #11
  %2434 = load i32, ptr %2433, align 4, !tbaa !5
  store i32 %2434, ptr %46, align 4, !tbaa !5
  %2435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2436 = call i32 @s2n_print_stacktrace(ptr noundef %2435)
  %2437 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2438 = trunc i8 %2437 to i1
  br i1 %2438, label %2439, label %2461

2439:                                             ; preds = %2432
  %2440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2441 = call i32 @fileno(ptr noundef %2440) #10
  %2442 = call i32 @isatty(i32 noundef %2441) #10
  %2443 = icmp ne i32 %2442, 0
  br i1 %2443, label %2444, label %2461

2444:                                             ; preds = %2439
  %2445 = load i32, ptr %46, align 4, !tbaa !5
  %2446 = call ptr @__errno_location() #11
  store i32 %2445, ptr %2446, align 4, !tbaa !5
  %2447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2448 = load i32, ptr @test_count, align 4, !tbaa !5
  %2449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2450 = load i32, ptr %2449, align 4, !tbaa !5
  %2451 = call ptr @s2n_strerror(i32 noundef %2450, ptr noundef @.str.4)
  %2452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2453 = load i32, ptr %2452, align 4, !tbaa !5
  %2454 = call ptr @s2n_strerror_debug(i32 noundef %2453, ptr noundef @.str.4)
  %2455 = call ptr @__errno_location() #11
  %2456 = load i32, ptr %2455, align 4, !tbaa !5
  %2457 = call ptr @strerror(i32 noundef %2456) #10
  %2458 = call ptr @__errno_location() #11
  %2459 = load i32, ptr %2458, align 4, !tbaa !5
  %2460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2447, ptr noundef @.str.2, i32 noundef %2448, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 84, ptr noundef %2451, ptr noundef %2454, ptr noundef %2457, i32 noundef %2459) #10
  br label %2478

2461:                                             ; preds = %2439, %2432
  %2462 = load i32, ptr %46, align 4, !tbaa !5
  %2463 = call ptr @__errno_location() #11
  store i32 %2462, ptr %2463, align 4, !tbaa !5
  %2464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2465 = load i32, ptr @test_count, align 4, !tbaa !5
  %2466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2467 = load i32, ptr %2466, align 4, !tbaa !5
  %2468 = call ptr @s2n_strerror(i32 noundef %2467, ptr noundef @.str.4)
  %2469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2470 = load i32, ptr %2469, align 4, !tbaa !5
  %2471 = call ptr @s2n_strerror_debug(i32 noundef %2470, ptr noundef @.str.4)
  %2472 = call ptr @__errno_location() #11
  %2473 = load i32, ptr %2472, align 4, !tbaa !5
  %2474 = call ptr @strerror(i32 noundef %2473) #10
  %2475 = call ptr @__errno_location() #11
  %2476 = load i32, ptr %2475, align 4, !tbaa !5
  %2477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2464, ptr noundef @.str.5, i32 noundef %2465, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 84, ptr noundef %2468, ptr noundef %2471, ptr noundef %2474, i32 noundef %2476) #10
  br label %2478

2478:                                             ; preds = %2461, %2444
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #10
  br label %2479

2479:                                             ; preds = %2478
  br label %2480

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

2481:                                             ; No predecessors!
  br label %2482

2482:                                             ; preds = %2481
  br label %2483

2483:                                             ; preds = %2482, %2424
  br label %2484

2484:                                             ; preds = %2483
  br label %2485

2485:                                             ; preds = %2484
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #10
  %2486 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %2486, ptr %47, align 8, !tbaa !9
  br label %2487

2487:                                             ; preds = %2485
  %2488 = load i32, ptr @test_count, align 4, !tbaa !5
  %2489 = add nsw i32 %2488, 1
  store i32 %2489, ptr @test_count, align 4, !tbaa !5
  %2490 = load ptr, ptr %47, align 8, !tbaa !9
  %2491 = call zeroext i1 @s2n_connection_is_quic_enabled(ptr noundef %2490)
  br i1 %2491, label %2492, label %2545

2492:                                             ; preds = %2487
  br label %2493

2493:                                             ; preds = %2492
  br label %2494

2494:                                             ; preds = %2493
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #10
  %2495 = call ptr @__errno_location() #11
  %2496 = load i32, ptr %2495, align 4, !tbaa !5
  store i32 %2496, ptr %48, align 4, !tbaa !5
  %2497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2498 = call i32 @s2n_print_stacktrace(ptr noundef %2497)
  %2499 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2500 = trunc i8 %2499 to i1
  br i1 %2500, label %2501, label %2523

2501:                                             ; preds = %2494
  %2502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2503 = call i32 @fileno(ptr noundef %2502) #10
  %2504 = call i32 @isatty(i32 noundef %2503) #10
  %2505 = icmp ne i32 %2504, 0
  br i1 %2505, label %2506, label %2523

2506:                                             ; preds = %2501
  %2507 = load i32, ptr %48, align 4, !tbaa !5
  %2508 = call ptr @__errno_location() #11
  store i32 %2507, ptr %2508, align 4, !tbaa !5
  %2509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2510 = load i32, ptr @test_count, align 4, !tbaa !5
  %2511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2512 = load i32, ptr %2511, align 4, !tbaa !5
  %2513 = call ptr @s2n_strerror(i32 noundef %2512, ptr noundef @.str.4)
  %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_debug(i32 noundef %2515, ptr noundef @.str.4)
  %2517 = call ptr @__errno_location() #11
  %2518 = load i32, ptr %2517, align 4, !tbaa !5
  %2519 = call ptr @strerror(i32 noundef %2518) #10
  %2520 = call ptr @__errno_location() #11
  %2521 = load i32, ptr %2520, align 4, !tbaa !5
  %2522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2509, ptr noundef @.str.2, i32 noundef %2510, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 90, ptr noundef %2513, ptr noundef %2516, ptr noundef %2519, i32 noundef %2521) #10
  br label %2540

2523:                                             ; preds = %2501, %2494
  %2524 = load i32, ptr %48, align 4, !tbaa !5
  %2525 = call ptr @__errno_location() #11
  store i32 %2524, ptr %2525, align 4, !tbaa !5
  %2526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2527 = load i32, ptr @test_count, align 4, !tbaa !5
  %2528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2529 = load i32, ptr %2528, align 4, !tbaa !5
  %2530 = call ptr @s2n_strerror(i32 noundef %2529, ptr noundef @.str.4)
  %2531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2532 = load i32, ptr %2531, align 4, !tbaa !5
  %2533 = call ptr @s2n_strerror_debug(i32 noundef %2532, ptr noundef @.str.4)
  %2534 = call ptr @__errno_location() #11
  %2535 = load i32, ptr %2534, align 4, !tbaa !5
  %2536 = call ptr @strerror(i32 noundef %2535) #10
  %2537 = call ptr @__errno_location() #11
  %2538 = load i32, ptr %2537, align 4, !tbaa !5
  %2539 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2526, ptr noundef @.str.5, i32 noundef %2527, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 90, ptr noundef %2530, ptr noundef %2533, ptr noundef %2536, i32 noundef %2538) #10
  br label %2540

2540:                                             ; preds = %2523, %2506
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #10
  br label %2541

2541:                                             ; preds = %2540
  br label %2542

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

2543:                                             ; No predecessors!
  br label %2544

2544:                                             ; preds = %2543
  br label %2545

2545:                                             ; preds = %2544, %2487
  br label %2546

2546:                                             ; preds = %2545
  br label %2547

2547:                                             ; preds = %2546
  br label %2548

2548:                                             ; preds = %2547
  br label %2549

2549:                                             ; preds = %2548
  br label %2550

2550:                                             ; preds = %2549
  %2551 = load i32, ptr @test_count, align 4, !tbaa !5
  %2552 = add nsw i32 %2551, 1
  store i32 %2552, ptr @test_count, align 4, !tbaa !5
  %2553 = call i32 @s2n_connection_enable_quic(ptr noundef null)
  %2554 = icmp eq i32 %2553, -1
  br i1 %2554, label %2608, label %2555

2555:                                             ; preds = %2550
  br label %2556

2556:                                             ; preds = %2555
  br label %2557

2557:                                             ; preds = %2556
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #10
  %2558 = call ptr @__errno_location() #11
  %2559 = load i32, ptr %2558, align 4, !tbaa !5
  store i32 %2559, ptr %49, align 4, !tbaa !5
  %2560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2561 = call i32 @s2n_print_stacktrace(ptr noundef %2560)
  %2562 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2563 = trunc i8 %2562 to i1
  br i1 %2563, label %2564, label %2586

2564:                                             ; preds = %2557
  %2565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2566 = call i32 @fileno(ptr noundef %2565) #10
  %2567 = call i32 @isatty(i32 noundef %2566) #10
  %2568 = icmp ne i32 %2567, 0
  br i1 %2568, label %2569, label %2586

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

2586:                                             ; preds = %2564, %2557
  %2587 = load i32, ptr %49, align 4, !tbaa !5
  %2588 = call ptr @__errno_location() #11
  store i32 %2587, ptr %2588, align 4, !tbaa !5
  %2589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2590 = load i32, ptr @test_count, align 4, !tbaa !5
  %2591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2592 = load i32, ptr %2591, align 4, !tbaa !5
  %2593 = call ptr @s2n_strerror(i32 noundef %2592, ptr noundef @.str.4)
  %2594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2595 = load i32, ptr %2594, align 4, !tbaa !5
  %2596 = call ptr @s2n_strerror_debug(i32 noundef %2595, ptr noundef @.str.4)
  %2597 = call ptr @__errno_location() #11
  %2598 = load i32, ptr %2597, align 4, !tbaa !5
  %2599 = call ptr @strerror(i32 noundef %2598) #10
  %2600 = call ptr @__errno_location() #11
  %2601 = load i32, ptr %2600, align 4, !tbaa !5
  %2602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2589, ptr noundef @.str.5, i32 noundef %2590, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 94, ptr noundef %2593, ptr noundef %2596, ptr noundef %2599, i32 noundef %2601) #10
  br label %2603

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

2604:                                             ; preds = %2603
  br label %2605

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

2606:                                             ; No predecessors!
  br label %2607

2607:                                             ; preds = %2606
  br label %2608

2608:                                             ; preds = %2607, %2550
  br label %2609

2609:                                             ; preds = %2608
  br label %2610

2610:                                             ; preds = %2609
  br label %2611

2611:                                             ; preds = %2610
  %2612 = load i32, ptr @test_count, align 4, !tbaa !5
  %2613 = add nsw i32 %2612, 1
  store i32 %2613, ptr @test_count, align 4, !tbaa !5
  %2614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2615 = load i32, ptr %2614, align 4, !tbaa !5
  %2616 = icmp eq i32 %2615, 402653193
  br i1 %2616, label %2670, label %2617

2617:                                             ; preds = %2611
  br label %2618

2618:                                             ; preds = %2617
  br label %2619

2619:                                             ; preds = %2618
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #10
  %2620 = call ptr @__errno_location() #11
  %2621 = load i32, ptr %2620, align 4, !tbaa !5
  store i32 %2621, ptr %50, align 4, !tbaa !5
  %2622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2623 = call i32 @s2n_print_stacktrace(ptr noundef %2622)
  %2624 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2625 = trunc i8 %2624 to i1
  br i1 %2625, label %2626, label %2648

2626:                                             ; preds = %2619
  %2627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2628 = call i32 @fileno(ptr noundef %2627) #10
  %2629 = call i32 @isatty(i32 noundef %2628) #10
  %2630 = icmp ne i32 %2629, 0
  br i1 %2630, label %2631, label %2648

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

2648:                                             ; preds = %2626, %2619
  %2649 = load i32, ptr %50, align 4, !tbaa !5
  %2650 = call ptr @__errno_location() #11
  store i32 %2649, ptr %2650, align 4, !tbaa !5
  %2651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2652 = load i32, ptr @test_count, align 4, !tbaa !5
  %2653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2654 = load i32, ptr %2653, align 4, !tbaa !5
  %2655 = call ptr @s2n_strerror(i32 noundef %2654, ptr noundef @.str.4)
  %2656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2657 = load i32, ptr %2656, align 4, !tbaa !5
  %2658 = call ptr @s2n_strerror_debug(i32 noundef %2657, ptr noundef @.str.4)
  %2659 = call ptr @__errno_location() #11
  %2660 = load i32, ptr %2659, align 4, !tbaa !5
  %2661 = call ptr @strerror(i32 noundef %2660) #10
  %2662 = call ptr @__errno_location() #11
  %2663 = load i32, ptr %2662, align 4, !tbaa !5
  %2664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2651, ptr noundef @.str.5, i32 noundef %2652, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 94, ptr noundef %2655, ptr noundef %2658, ptr noundef %2661, i32 noundef %2663) #10
  br label %2665

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

2666:                                             ; preds = %2665
  br label %2667

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

2668:                                             ; No predecessors!
  br label %2669

2669:                                             ; preds = %2668
  br label %2670

2670:                                             ; preds = %2669, %2611
  br label %2671

2671:                                             ; preds = %2670
  br label %2672

2672:                                             ; preds = %2671
  br label %2673

2673:                                             ; preds = %2672
  %2674 = load i32, ptr @test_count, align 4, !tbaa !5
  %2675 = add nsw i32 %2674, 1
  store i32 %2675, ptr @test_count, align 4, !tbaa !5
  %2676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2677 = load i32, ptr %2676, align 4, !tbaa !5
  %2678 = call ptr @s2n_strerror_debug(i32 noundef %2677, ptr noundef @.str.4)
  %2679 = icmp eq ptr %2678, null
  br i1 %2679, label %2680, label %2733

2680:                                             ; preds = %2673
  br label %2681

2681:                                             ; preds = %2680
  br label %2682

2682:                                             ; preds = %2681
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #10
  %2683 = call ptr @__errno_location() #11
  %2684 = load i32, ptr %2683, align 4, !tbaa !5
  store i32 %2684, ptr %51, align 4, !tbaa !5
  %2685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2686 = call i32 @s2n_print_stacktrace(ptr noundef %2685)
  %2687 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2688 = trunc i8 %2687 to i1
  br i1 %2688, label %2689, label %2711

2689:                                             ; preds = %2682
  %2690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2691 = call i32 @fileno(ptr noundef %2690) #10
  %2692 = call i32 @isatty(i32 noundef %2691) #10
  %2693 = icmp ne i32 %2692, 0
  br i1 %2693, label %2694, label %2711

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

2711:                                             ; preds = %2689, %2682
  %2712 = load i32, ptr %51, align 4, !tbaa !5
  %2713 = call ptr @__errno_location() #11
  store i32 %2712, ptr %2713, align 4, !tbaa !5
  %2714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2715 = load i32, ptr @test_count, align 4, !tbaa !5
  %2716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2717 = load i32, ptr %2716, align 4, !tbaa !5
  %2718 = call ptr @s2n_strerror(i32 noundef %2717, ptr noundef @.str.4)
  %2719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2720 = load i32, ptr %2719, align 4, !tbaa !5
  %2721 = call ptr @s2n_strerror_debug(i32 noundef %2720, ptr noundef @.str.4)
  %2722 = call ptr @__errno_location() #11
  %2723 = load i32, ptr %2722, align 4, !tbaa !5
  %2724 = call ptr @strerror(i32 noundef %2723) #10
  %2725 = call ptr @__errno_location() #11
  %2726 = load i32, ptr %2725, align 4, !tbaa !5
  %2727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2714, ptr noundef @.str.5, i32 noundef %2715, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 94, ptr noundef %2718, ptr noundef %2721, ptr noundef %2724, i32 noundef %2726) #10
  br label %2728

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

2729:                                             ; preds = %2728
  br label %2730

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

2731:                                             ; No predecessors!
  br label %2732

2732:                                             ; preds = %2731
  br label %2733

2733:                                             ; preds = %2732, %2673
  br label %2734

2734:                                             ; preds = %2733
  br label %2735

2735:                                             ; preds = %2734
  br label %2736

2736:                                             ; preds = %2735
  br label %2737

2737:                                             ; preds = %2736
  br label %2738

2738:                                             ; preds = %2737
  %2739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2739, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2740 = call ptr @__errno_location() #11
  store i32 0, ptr %2740, align 4, !tbaa !5
  br label %2741

2741:                                             ; preds = %2738
  br label %2742

2742:                                             ; preds = %2741
  br label %2743

2743:                                             ; preds = %2742
  br label %2744

2744:                                             ; preds = %2743
  br label %2745

2745:                                             ; preds = %2744
  %2746 = load i32, ptr @test_count, align 4, !tbaa !5
  %2747 = add nsw i32 %2746, 1
  store i32 %2747, ptr @test_count, align 4, !tbaa !5
  %2748 = load ptr, ptr %47, align 8, !tbaa !9
  %2749 = call zeroext i1 @s2n_connection_is_quic_enabled(ptr noundef %2748)
  br i1 %2749, label %2750, label %2803

2750:                                             ; preds = %2745
  br label %2751

2751:                                             ; preds = %2750
  br label %2752

2752:                                             ; preds = %2751
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #10
  %2753 = call ptr @__errno_location() #11
  %2754 = load i32, ptr %2753, align 4, !tbaa !5
  store i32 %2754, ptr %52, align 4, !tbaa !5
  %2755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2756 = call i32 @s2n_print_stacktrace(ptr noundef %2755)
  %2757 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2758 = trunc i8 %2757 to i1
  br i1 %2758, label %2759, label %2781

2759:                                             ; preds = %2752
  %2760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2761 = call i32 @fileno(ptr noundef %2760) #10
  %2762 = call i32 @isatty(i32 noundef %2761) #10
  %2763 = icmp ne i32 %2762, 0
  br i1 %2763, label %2764, label %2781

2764:                                             ; preds = %2759
  %2765 = load i32, ptr %52, align 4, !tbaa !5
  %2766 = call ptr @__errno_location() #11
  store i32 %2765, ptr %2766, align 4, !tbaa !5
  %2767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2768 = load i32, ptr @test_count, align 4, !tbaa !5
  %2769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2770 = load i32, ptr %2769, align 4, !tbaa !5
  %2771 = call ptr @s2n_strerror(i32 noundef %2770, ptr noundef @.str.4)
  %2772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2773 = load i32, ptr %2772, align 4, !tbaa !5
  %2774 = call ptr @s2n_strerror_debug(i32 noundef %2773, ptr noundef @.str.4)
  %2775 = call ptr @__errno_location() #11
  %2776 = load i32, ptr %2775, align 4, !tbaa !5
  %2777 = call ptr @strerror(i32 noundef %2776) #10
  %2778 = call ptr @__errno_location() #11
  %2779 = load i32, ptr %2778, align 4, !tbaa !5
  %2780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2767, ptr noundef @.str.2, i32 noundef %2768, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 95, ptr noundef %2771, ptr noundef %2774, ptr noundef %2777, i32 noundef %2779) #10
  br label %2798

2781:                                             ; preds = %2759, %2752
  %2782 = load i32, ptr %52, align 4, !tbaa !5
  %2783 = call ptr @__errno_location() #11
  store i32 %2782, ptr %2783, align 4, !tbaa !5
  %2784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2785 = load i32, ptr @test_count, align 4, !tbaa !5
  %2786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2787 = load i32, ptr %2786, align 4, !tbaa !5
  %2788 = call ptr @s2n_strerror(i32 noundef %2787, ptr noundef @.str.4)
  %2789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2790 = load i32, ptr %2789, align 4, !tbaa !5
  %2791 = call ptr @s2n_strerror_debug(i32 noundef %2790, ptr noundef @.str.4)
  %2792 = call ptr @__errno_location() #11
  %2793 = load i32, ptr %2792, align 4, !tbaa !5
  %2794 = call ptr @strerror(i32 noundef %2793) #10
  %2795 = call ptr @__errno_location() #11
  %2796 = load i32, ptr %2795, align 4, !tbaa !5
  %2797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2784, ptr noundef @.str.5, i32 noundef %2785, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 95, ptr noundef %2788, ptr noundef %2791, ptr noundef %2794, i32 noundef %2796) #10
  br label %2798

2798:                                             ; preds = %2781, %2764
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #10
  br label %2799

2799:                                             ; preds = %2798
  br label %2800

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

2801:                                             ; No predecessors!
  br label %2802

2802:                                             ; preds = %2801
  br label %2803

2803:                                             ; preds = %2802, %2745
  br label %2804

2804:                                             ; preds = %2803
  br label %2805

2805:                                             ; preds = %2804
  br label %2806

2806:                                             ; preds = %2805
  %2807 = load i32, ptr @test_count, align 4, !tbaa !5
  %2808 = add nsw i32 %2807, 1
  store i32 %2808, ptr @test_count, align 4, !tbaa !5
  %2809 = load ptr, ptr %47, align 8, !tbaa !9
  %2810 = call i32 @s2n_connection_enable_quic(ptr noundef %2809)
  %2811 = icmp eq i32 %2810, -1
  br i1 %2811, label %2812, label %2865

2812:                                             ; preds = %2806
  br label %2813

2813:                                             ; preds = %2812
  br label %2814

2814:                                             ; preds = %2813
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #10
  %2815 = call ptr @__errno_location() #11
  %2816 = load i32, ptr %2815, align 4, !tbaa !5
  store i32 %2816, ptr %53, align 4, !tbaa !5
  %2817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2818 = call i32 @s2n_print_stacktrace(ptr noundef %2817)
  %2819 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2820 = trunc i8 %2819 to i1
  br i1 %2820, label %2821, label %2843

2821:                                             ; preds = %2814
  %2822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2823 = call i32 @fileno(ptr noundef %2822) #10
  %2824 = call i32 @isatty(i32 noundef %2823) #10
  %2825 = icmp ne i32 %2824, 0
  br i1 %2825, label %2826, label %2843

2826:                                             ; preds = %2821
  %2827 = load i32, ptr %53, align 4, !tbaa !5
  %2828 = call ptr @__errno_location() #11
  store i32 %2827, ptr %2828, align 4, !tbaa !5
  %2829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2830 = load i32, ptr @test_count, align 4, !tbaa !5
  %2831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2832 = load i32, ptr %2831, align 4, !tbaa !5
  %2833 = call ptr @s2n_strerror(i32 noundef %2832, ptr noundef @.str.4)
  %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_debug(i32 noundef %2835, ptr noundef @.str.4)
  %2837 = call ptr @__errno_location() #11
  %2838 = load i32, ptr %2837, align 4, !tbaa !5
  %2839 = call ptr @strerror(i32 noundef %2838) #10
  %2840 = call ptr @__errno_location() #11
  %2841 = load i32, ptr %2840, align 4, !tbaa !5
  %2842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2829, ptr noundef @.str.2, i32 noundef %2830, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 100, ptr noundef %2833, ptr noundef %2836, ptr noundef %2839, i32 noundef %2841) #10
  br label %2860

2843:                                             ; preds = %2821, %2814
  %2844 = load i32, ptr %53, align 4, !tbaa !5
  %2845 = call ptr @__errno_location() #11
  store i32 %2844, ptr %2845, align 4, !tbaa !5
  %2846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2847 = load i32, ptr @test_count, align 4, !tbaa !5
  %2848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2849 = load i32, ptr %2848, align 4, !tbaa !5
  %2850 = call ptr @s2n_strerror(i32 noundef %2849, ptr noundef @.str.4)
  %2851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2852 = load i32, ptr %2851, align 4, !tbaa !5
  %2853 = call ptr @s2n_strerror_debug(i32 noundef %2852, ptr noundef @.str.4)
  %2854 = call ptr @__errno_location() #11
  %2855 = load i32, ptr %2854, align 4, !tbaa !5
  %2856 = call ptr @strerror(i32 noundef %2855) #10
  %2857 = call ptr @__errno_location() #11
  %2858 = load i32, ptr %2857, align 4, !tbaa !5
  %2859 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2846, ptr noundef @.str.5, i32 noundef %2847, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 100, ptr noundef %2850, ptr noundef %2853, ptr noundef %2856, i32 noundef %2858) #10
  br label %2860

2860:                                             ; preds = %2843, %2826
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #10
  br label %2861

2861:                                             ; preds = %2860
  br label %2862

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

2863:                                             ; No predecessors!
  br label %2864

2864:                                             ; preds = %2863
  br label %2865

2865:                                             ; preds = %2864, %2806
  br label %2866

2866:                                             ; preds = %2865
  br label %2867

2867:                                             ; preds = %2866
  br label %2868

2868:                                             ; preds = %2867
  %2869 = load i32, ptr @test_count, align 4, !tbaa !5
  %2870 = add nsw i32 %2869, 1
  store i32 %2870, ptr @test_count, align 4, !tbaa !5
  %2871 = load ptr, ptr %47, align 8, !tbaa !9
  %2872 = call zeroext i1 @s2n_connection_is_quic_enabled(ptr noundef %2871)
  br i1 %2872, label %2926, label %2873

2873:                                             ; preds = %2868
  br label %2874

2874:                                             ; preds = %2873
  br label %2875

2875:                                             ; preds = %2874
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #10
  %2876 = call ptr @__errno_location() #11
  %2877 = load i32, ptr %2876, align 4, !tbaa !5
  store i32 %2877, ptr %54, align 4, !tbaa !5
  %2878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2879 = call i32 @s2n_print_stacktrace(ptr noundef %2878)
  %2880 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2881 = trunc i8 %2880 to i1
  br i1 %2881, label %2882, label %2904

2882:                                             ; preds = %2875
  %2883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2884 = call i32 @fileno(ptr noundef %2883) #10
  %2885 = call i32 @isatty(i32 noundef %2884) #10
  %2886 = icmp ne i32 %2885, 0
  br i1 %2886, label %2887, label %2904

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

2904:                                             ; preds = %2882, %2875
  %2905 = load i32, ptr %54, align 4, !tbaa !5
  %2906 = call ptr @__errno_location() #11
  store i32 %2905, ptr %2906, align 4, !tbaa !5
  %2907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2908 = load i32, ptr @test_count, align 4, !tbaa !5
  %2909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2910 = load i32, ptr %2909, align 4, !tbaa !5
  %2911 = call ptr @s2n_strerror(i32 noundef %2910, ptr noundef @.str.4)
  %2912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2913 = load i32, ptr %2912, align 4, !tbaa !5
  %2914 = call ptr @s2n_strerror_debug(i32 noundef %2913, ptr noundef @.str.4)
  %2915 = call ptr @__errno_location() #11
  %2916 = load i32, ptr %2915, align 4, !tbaa !5
  %2917 = call ptr @strerror(i32 noundef %2916) #10
  %2918 = call ptr @__errno_location() #11
  %2919 = load i32, ptr %2918, align 4, !tbaa !5
  %2920 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2907, ptr noundef @.str.5, i32 noundef %2908, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 101, ptr noundef %2911, ptr noundef %2914, ptr noundef %2917, i32 noundef %2919) #10
  br label %2921

2921:                                             ; preds = %2904, %2887
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #10
  br label %2922

2922:                                             ; preds = %2921
  br label %2923

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

2924:                                             ; No predecessors!
  br label %2925

2925:                                             ; preds = %2924
  br label %2926

2926:                                             ; preds = %2925, %2868
  br label %2927

2927:                                             ; preds = %2926
  br label %2928

2928:                                             ; preds = %2927
  br label %2929

2929:                                             ; preds = %2928
  %2930 = load i32, ptr @test_count, align 4, !tbaa !5
  %2931 = add nsw i32 %2930, 1
  store i32 %2931, ptr @test_count, align 4, !tbaa !5
  %2932 = load ptr, ptr %47, align 8, !tbaa !9
  %2933 = call i32 @s2n_connection_enable_quic(ptr noundef %2932)
  %2934 = icmp eq i32 %2933, -1
  br i1 %2934, label %2935, label %2988

2935:                                             ; preds = %2929
  br label %2936

2936:                                             ; preds = %2935
  br label %2937

2937:                                             ; preds = %2936
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #10
  %2938 = call ptr @__errno_location() #11
  %2939 = load i32, ptr %2938, align 4, !tbaa !5
  store i32 %2939, ptr %55, align 4, !tbaa !5
  %2940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2941 = call i32 @s2n_print_stacktrace(ptr noundef %2940)
  %2942 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2943 = trunc i8 %2942 to i1
  br i1 %2943, label %2944, label %2966

2944:                                             ; preds = %2937
  %2945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2946 = call i32 @fileno(ptr noundef %2945) #10
  %2947 = call i32 @isatty(i32 noundef %2946) #10
  %2948 = icmp ne i32 %2947, 0
  br i1 %2948, label %2949, label %2966

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

2966:                                             ; preds = %2944, %2937
  %2967 = load i32, ptr %55, align 4, !tbaa !5
  %2968 = call ptr @__errno_location() #11
  store i32 %2967, ptr %2968, align 4, !tbaa !5
  %2969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2970 = load i32, ptr @test_count, align 4, !tbaa !5
  %2971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2972 = load i32, ptr %2971, align 4, !tbaa !5
  %2973 = call ptr @s2n_strerror(i32 noundef %2972, ptr noundef @.str.4)
  %2974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2975 = load i32, ptr %2974, align 4, !tbaa !5
  %2976 = call ptr @s2n_strerror_debug(i32 noundef %2975, ptr noundef @.str.4)
  %2977 = call ptr @__errno_location() #11
  %2978 = load i32, ptr %2977, align 4, !tbaa !5
  %2979 = call ptr @strerror(i32 noundef %2978) #10
  %2980 = call ptr @__errno_location() #11
  %2981 = load i32, ptr %2980, align 4, !tbaa !5
  %2982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2969, ptr noundef @.str.5, i32 noundef %2970, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 104, ptr noundef %2973, ptr noundef %2976, ptr noundef %2979, i32 noundef %2981) #10
  br label %2983

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

2984:                                             ; preds = %2983
  br label %2985

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

2986:                                             ; No predecessors!
  br label %2987

2987:                                             ; preds = %2986
  br label %2988

2988:                                             ; preds = %2987, %2929
  br label %2989

2989:                                             ; preds = %2988
  br label %2990

2990:                                             ; preds = %2989
  br label %2991

2991:                                             ; preds = %2990
  %2992 = load i32, ptr @test_count, align 4, !tbaa !5
  %2993 = add nsw i32 %2992, 1
  store i32 %2993, ptr @test_count, align 4, !tbaa !5
  %2994 = load ptr, ptr %47, align 8, !tbaa !9
  %2995 = call zeroext i1 @s2n_connection_is_quic_enabled(ptr noundef %2994)
  br i1 %2995, label %3049, label %2996

2996:                                             ; preds = %2991
  br label %2997

2997:                                             ; preds = %2996
  br label %2998

2998:                                             ; preds = %2997
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #10
  %2999 = call ptr @__errno_location() #11
  %3000 = load i32, ptr %2999, align 4, !tbaa !5
  store i32 %3000, ptr %56, align 4, !tbaa !5
  %3001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3002 = call i32 @s2n_print_stacktrace(ptr noundef %3001)
  %3003 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3004 = trunc i8 %3003 to i1
  br i1 %3004, label %3005, label %3027

3005:                                             ; preds = %2998
  %3006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3007 = call i32 @fileno(ptr noundef %3006) #10
  %3008 = call i32 @isatty(i32 noundef %3007) #10
  %3009 = icmp ne i32 %3008, 0
  br i1 %3009, label %3010, label %3027

3010:                                             ; preds = %3005
  %3011 = load i32, ptr %56, align 4, !tbaa !5
  %3012 = call ptr @__errno_location() #11
  store i32 %3011, ptr %3012, align 4, !tbaa !5
  %3013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3014 = load i32, ptr @test_count, align 4, !tbaa !5
  %3015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3016 = load i32, ptr %3015, align 4, !tbaa !5
  %3017 = call ptr @s2n_strerror(i32 noundef %3016, ptr noundef @.str.4)
  %3018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3019 = load i32, ptr %3018, align 4, !tbaa !5
  %3020 = call ptr @s2n_strerror_debug(i32 noundef %3019, ptr noundef @.str.4)
  %3021 = call ptr @__errno_location() #11
  %3022 = load i32, ptr %3021, align 4, !tbaa !5
  %3023 = call ptr @strerror(i32 noundef %3022) #10
  %3024 = call ptr @__errno_location() #11
  %3025 = load i32, ptr %3024, align 4, !tbaa !5
  %3026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3013, ptr noundef @.str.2, i32 noundef %3014, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 105, ptr noundef %3017, ptr noundef %3020, ptr noundef %3023, i32 noundef %3025) #10
  br label %3044

3027:                                             ; preds = %3005, %2998
  %3028 = load i32, ptr %56, align 4, !tbaa !5
  %3029 = call ptr @__errno_location() #11
  store i32 %3028, ptr %3029, align 4, !tbaa !5
  %3030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3031 = load i32, ptr @test_count, align 4, !tbaa !5
  %3032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3033 = load i32, ptr %3032, align 4, !tbaa !5
  %3034 = call ptr @s2n_strerror(i32 noundef %3033, ptr noundef @.str.4)
  %3035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3036 = load i32, ptr %3035, align 4, !tbaa !5
  %3037 = call ptr @s2n_strerror_debug(i32 noundef %3036, ptr noundef @.str.4)
  %3038 = call ptr @__errno_location() #11
  %3039 = load i32, ptr %3038, align 4, !tbaa !5
  %3040 = call ptr @strerror(i32 noundef %3039) #10
  %3041 = call ptr @__errno_location() #11
  %3042 = load i32, ptr %3041, align 4, !tbaa !5
  %3043 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3030, ptr noundef @.str.5, i32 noundef %3031, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 105, ptr noundef %3034, ptr noundef %3037, ptr noundef %3040, i32 noundef %3042) #10
  br label %3044

3044:                                             ; preds = %3027, %3010
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #10
  br label %3045

3045:                                             ; preds = %3044
  br label %3046

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

3047:                                             ; No predecessors!
  br label %3048

3048:                                             ; preds = %3047
  br label %3049

3049:                                             ; preds = %3048, %2991
  br label %3050

3050:                                             ; preds = %3049
  br label %3051

3051:                                             ; preds = %3050
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #10
  %3052 = call ptr @s2n_config_new()
  store ptr %3052, ptr %57, align 8, !tbaa !9
  br label %3053

3053:                                             ; preds = %3051
  %3054 = load i32, ptr @test_count, align 4, !tbaa !5
  %3055 = add nsw i32 %3054, 1
  store i32 %3055, ptr @test_count, align 4, !tbaa !5
  %3056 = load ptr, ptr %57, align 8, !tbaa !9
  %3057 = icmp eq ptr %3056, null
  br i1 %3057, label %3058, label %3111

3058:                                             ; preds = %3053
  br label %3059

3059:                                             ; preds = %3058
  br label %3060

3060:                                             ; preds = %3059
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #10
  %3061 = call ptr @__errno_location() #11
  %3062 = load i32, ptr %3061, align 4, !tbaa !5
  store i32 %3062, ptr %58, align 4, !tbaa !5
  %3063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3064 = call i32 @s2n_print_stacktrace(ptr noundef %3063)
  %3065 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3066 = trunc i8 %3065 to i1
  br i1 %3066, label %3067, label %3089

3067:                                             ; preds = %3060
  %3068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3069 = call i32 @fileno(ptr noundef %3068) #10
  %3070 = call i32 @isatty(i32 noundef %3069) #10
  %3071 = icmp ne i32 %3070, 0
  br i1 %3071, label %3072, label %3089

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

3089:                                             ; preds = %3067, %3060
  %3090 = load i32, ptr %58, align 4, !tbaa !5
  %3091 = call ptr @__errno_location() #11
  store i32 %3090, ptr %3091, align 4, !tbaa !5
  %3092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3093 = load i32, ptr @test_count, align 4, !tbaa !5
  %3094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3095 = load i32, ptr %3094, align 4, !tbaa !5
  %3096 = call ptr @s2n_strerror(i32 noundef %3095, ptr noundef @.str.4)
  %3097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3098 = load i32, ptr %3097, align 4, !tbaa !5
  %3099 = call ptr @s2n_strerror_debug(i32 noundef %3098, ptr noundef @.str.4)
  %3100 = call ptr @__errno_location() #11
  %3101 = load i32, ptr %3100, align 4, !tbaa !5
  %3102 = call ptr @strerror(i32 noundef %3101) #10
  %3103 = call ptr @__errno_location() #11
  %3104 = load i32, ptr %3103, align 4, !tbaa !5
  %3105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3092, ptr noundef @.str.5, i32 noundef %3093, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 111, ptr noundef %3096, ptr noundef %3099, ptr noundef %3102, i32 noundef %3104) #10
  br label %3106

3106:                                             ; preds = %3089, %3072
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #10
  br label %3107

3107:                                             ; preds = %3106
  br label %3108

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

3109:                                             ; No predecessors!
  br label %3110

3110:                                             ; preds = %3109
  br label %3111

3111:                                             ; preds = %3110, %3053
  br label %3112

3112:                                             ; preds = %3111
  br label %3113

3113:                                             ; preds = %3112
  br label %3114

3114:                                             ; preds = %3113
  %3115 = load i32, ptr @test_count, align 4, !tbaa !5
  %3116 = add nsw i32 %3115, 1
  store i32 %3116, ptr @test_count, align 4, !tbaa !5
  %3117 = load ptr, ptr %57, align 8, !tbaa !9
  %3118 = load i32, ptr %3117, align 8
  %3119 = lshr i32 %3118, 1
  %3120 = and i32 %3119, 1
  %3121 = icmp ne i32 %3120, 0
  br i1 %3121, label %3122, label %3175

3122:                                             ; preds = %3114
  br label %3123

3123:                                             ; preds = %3122
  br label %3124

3124:                                             ; preds = %3123
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #10
  %3125 = call ptr @__errno_location() #11
  %3126 = load i32, ptr %3125, align 4, !tbaa !5
  store i32 %3126, ptr %59, align 4, !tbaa !5
  %3127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3128 = call i32 @s2n_print_stacktrace(ptr noundef %3127)
  %3129 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3130 = trunc i8 %3129 to i1
  br i1 %3130, label %3131, label %3153

3131:                                             ; preds = %3124
  %3132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3133 = call i32 @fileno(ptr noundef %3132) #10
  %3134 = call i32 @isatty(i32 noundef %3133) #10
  %3135 = icmp ne i32 %3134, 0
  br i1 %3135, label %3136, label %3153

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

3153:                                             ; preds = %3131, %3124
  %3154 = load i32, ptr %59, align 4, !tbaa !5
  %3155 = call ptr @__errno_location() #11
  store i32 %3154, ptr %3155, align 4, !tbaa !5
  %3156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3157 = load i32, ptr @test_count, align 4, !tbaa !5
  %3158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3159 = load i32, ptr %3158, align 4, !tbaa !5
  %3160 = call ptr @s2n_strerror(i32 noundef %3159, ptr noundef @.str.4)
  %3161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3162 = load i32, ptr %3161, align 4, !tbaa !5
  %3163 = call ptr @s2n_strerror_debug(i32 noundef %3162, ptr noundef @.str.4)
  %3164 = call ptr @__errno_location() #11
  %3165 = load i32, ptr %3164, align 4, !tbaa !5
  %3166 = call ptr @strerror(i32 noundef %3165) #10
  %3167 = call ptr @__errno_location() #11
  %3168 = load i32, ptr %3167, align 4, !tbaa !5
  %3169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3156, ptr noundef @.str.5, i32 noundef %3157, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 112, ptr noundef %3160, ptr noundef %3163, ptr noundef %3166, i32 noundef %3168) #10
  br label %3170

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

3171:                                             ; preds = %3170
  br label %3172

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

3173:                                             ; No predecessors!
  br label %3174

3174:                                             ; preds = %3173
  br label %3175

3175:                                             ; preds = %3174, %3114
  br label %3176

3176:                                             ; preds = %3175
  br label %3177

3177:                                             ; preds = %3176
  br label %3178

3178:                                             ; preds = %3177
  %3179 = load i32, ptr @test_count, align 4, !tbaa !5
  %3180 = add nsw i32 %3179, 1
  store i32 %3180, ptr @test_count, align 4, !tbaa !5
  %3181 = load ptr, ptr %47, align 8, !tbaa !9
  %3182 = load ptr, ptr %57, align 8, !tbaa !9
  %3183 = call i32 @s2n_connection_set_config(ptr noundef %3181, ptr noundef %3182)
  %3184 = icmp eq i32 %3183, -1
  br i1 %3184, label %3185, label %3238

3185:                                             ; preds = %3178
  br label %3186

3186:                                             ; preds = %3185
  br label %3187

3187:                                             ; preds = %3186
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #10
  %3188 = call ptr @__errno_location() #11
  %3189 = load i32, ptr %3188, align 4, !tbaa !5
  store i32 %3189, ptr %60, align 4, !tbaa !5
  %3190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3191 = call i32 @s2n_print_stacktrace(ptr noundef %3190)
  %3192 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3193 = trunc i8 %3192 to i1
  br i1 %3193, label %3194, label %3216

3194:                                             ; preds = %3187
  %3195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3196 = call i32 @fileno(ptr noundef %3195) #10
  %3197 = call i32 @isatty(i32 noundef %3196) #10
  %3198 = icmp ne i32 %3197, 0
  br i1 %3198, label %3199, label %3216

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

3216:                                             ; preds = %3194, %3187
  %3217 = load i32, ptr %60, align 4, !tbaa !5
  %3218 = call ptr @__errno_location() #11
  store i32 %3217, ptr %3218, align 4, !tbaa !5
  %3219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3220 = load i32, ptr @test_count, align 4, !tbaa !5
  %3221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3222 = load i32, ptr %3221, align 4, !tbaa !5
  %3223 = call ptr @s2n_strerror(i32 noundef %3222, ptr noundef @.str.4)
  %3224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3225 = load i32, ptr %3224, align 4, !tbaa !5
  %3226 = call ptr @s2n_strerror_debug(i32 noundef %3225, ptr noundef @.str.4)
  %3227 = call ptr @__errno_location() #11
  %3228 = load i32, ptr %3227, align 4, !tbaa !5
  %3229 = call ptr @strerror(i32 noundef %3228) #10
  %3230 = call ptr @__errno_location() #11
  %3231 = load i32, ptr %3230, align 4, !tbaa !5
  %3232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3219, ptr noundef @.str.5, i32 noundef %3220, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 113, ptr noundef %3223, ptr noundef %3226, ptr noundef %3229, i32 noundef %3231) #10
  br label %3233

3233:                                             ; preds = %3216, %3199
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #10
  br label %3234

3234:                                             ; preds = %3233
  br label %3235

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

3236:                                             ; No predecessors!
  br label %3237

3237:                                             ; preds = %3236
  br label %3238

3238:                                             ; preds = %3237, %3178
  br label %3239

3239:                                             ; preds = %3238
  br label %3240

3240:                                             ; preds = %3239
  br label %3241

3241:                                             ; preds = %3240
  %3242 = load i32, ptr @test_count, align 4, !tbaa !5
  %3243 = add nsw i32 %3242, 1
  store i32 %3243, ptr @test_count, align 4, !tbaa !5
  %3244 = load ptr, ptr %57, align 8, !tbaa !9
  %3245 = call i32 @s2n_config_enable_quic(ptr noundef %3244)
  %3246 = icmp eq i32 %3245, -1
  br i1 %3246, label %3247, label %3300

3247:                                             ; preds = %3241
  br label %3248

3248:                                             ; preds = %3247
  br label %3249

3249:                                             ; preds = %3248
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #10
  %3250 = call ptr @__errno_location() #11
  %3251 = load i32, ptr %3250, align 4, !tbaa !5
  store i32 %3251, ptr %61, align 4, !tbaa !5
  %3252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3253 = call i32 @s2n_print_stacktrace(ptr noundef %3252)
  %3254 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3255 = trunc i8 %3254 to i1
  br i1 %3255, label %3256, label %3278

3256:                                             ; preds = %3249
  %3257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3258 = call i32 @fileno(ptr noundef %3257) #10
  %3259 = call i32 @isatty(i32 noundef %3258) #10
  %3260 = icmp ne i32 %3259, 0
  br i1 %3260, label %3261, label %3278

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

3278:                                             ; preds = %3256, %3249
  %3279 = load i32, ptr %61, align 4, !tbaa !5
  %3280 = call ptr @__errno_location() #11
  store i32 %3279, ptr %3280, align 4, !tbaa !5
  %3281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3282 = load i32, ptr @test_count, align 4, !tbaa !5
  %3283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3284 = load i32, ptr %3283, align 4, !tbaa !5
  %3285 = call ptr @s2n_strerror(i32 noundef %3284, ptr noundef @.str.4)
  %3286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3287 = load i32, ptr %3286, align 4, !tbaa !5
  %3288 = call ptr @s2n_strerror_debug(i32 noundef %3287, ptr noundef @.str.4)
  %3289 = call ptr @__errno_location() #11
  %3290 = load i32, ptr %3289, align 4, !tbaa !5
  %3291 = call ptr @strerror(i32 noundef %3290) #10
  %3292 = call ptr @__errno_location() #11
  %3293 = load i32, ptr %3292, align 4, !tbaa !5
  %3294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3281, ptr noundef @.str.5, i32 noundef %3282, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 115, ptr noundef %3285, ptr noundef %3288, ptr noundef %3291, i32 noundef %3293) #10
  br label %3295

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

3296:                                             ; preds = %3295
  br label %3297

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

3298:                                             ; No predecessors!
  br label %3299

3299:                                             ; preds = %3298
  br label %3300

3300:                                             ; preds = %3299, %3241
  br label %3301

3301:                                             ; preds = %3300
  br label %3302

3302:                                             ; preds = %3301
  br label %3303

3303:                                             ; preds = %3302
  %3304 = load i32, ptr @test_count, align 4, !tbaa !5
  %3305 = add nsw i32 %3304, 1
  store i32 %3305, ptr @test_count, align 4, !tbaa !5
  %3306 = load ptr, ptr %47, align 8, !tbaa !9
  %3307 = call zeroext i1 @s2n_connection_is_quic_enabled(ptr noundef %3306)
  br i1 %3307, label %3361, label %3308

3308:                                             ; preds = %3303
  br label %3309

3309:                                             ; preds = %3308
  br label %3310

3310:                                             ; preds = %3309
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #10
  %3311 = call ptr @__errno_location() #11
  %3312 = load i32, ptr %3311, align 4, !tbaa !5
  store i32 %3312, ptr %62, align 4, !tbaa !5
  %3313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3314 = call i32 @s2n_print_stacktrace(ptr noundef %3313)
  %3315 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3316 = trunc i8 %3315 to i1
  br i1 %3316, label %3317, label %3339

3317:                                             ; preds = %3310
  %3318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3319 = call i32 @fileno(ptr noundef %3318) #10
  %3320 = call i32 @isatty(i32 noundef %3319) #10
  %3321 = icmp ne i32 %3320, 0
  br i1 %3321, label %3322, label %3339

3322:                                             ; preds = %3317
  %3323 = load i32, ptr %62, align 4, !tbaa !5
  %3324 = call ptr @__errno_location() #11
  store i32 %3323, ptr %3324, align 4, !tbaa !5
  %3325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3326 = load i32, ptr @test_count, align 4, !tbaa !5
  %3327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3328 = load i32, ptr %3327, align 4, !tbaa !5
  %3329 = call ptr @s2n_strerror(i32 noundef %3328, ptr noundef @.str.4)
  %3330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3331 = load i32, ptr %3330, align 4, !tbaa !5
  %3332 = call ptr @s2n_strerror_debug(i32 noundef %3331, ptr noundef @.str.4)
  %3333 = call ptr @__errno_location() #11
  %3334 = load i32, ptr %3333, align 4, !tbaa !5
  %3335 = call ptr @strerror(i32 noundef %3334) #10
  %3336 = call ptr @__errno_location() #11
  %3337 = load i32, ptr %3336, align 4, !tbaa !5
  %3338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3325, ptr noundef @.str.2, i32 noundef %3326, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 116, ptr noundef %3329, ptr noundef %3332, ptr noundef %3335, i32 noundef %3337) #10
  br label %3356

3339:                                             ; preds = %3317, %3310
  %3340 = load i32, ptr %62, align 4, !tbaa !5
  %3341 = call ptr @__errno_location() #11
  store i32 %3340, ptr %3341, align 4, !tbaa !5
  %3342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3343 = load i32, ptr @test_count, align 4, !tbaa !5
  %3344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3345 = load i32, ptr %3344, align 4, !tbaa !5
  %3346 = call ptr @s2n_strerror(i32 noundef %3345, ptr noundef @.str.4)
  %3347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3348 = load i32, ptr %3347, align 4, !tbaa !5
  %3349 = call ptr @s2n_strerror_debug(i32 noundef %3348, ptr noundef @.str.4)
  %3350 = call ptr @__errno_location() #11
  %3351 = load i32, ptr %3350, align 4, !tbaa !5
  %3352 = call ptr @strerror(i32 noundef %3351) #10
  %3353 = call ptr @__errno_location() #11
  %3354 = load i32, ptr %3353, align 4, !tbaa !5
  %3355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3342, ptr noundef @.str.5, i32 noundef %3343, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 116, ptr noundef %3346, ptr noundef %3349, ptr noundef %3352, i32 noundef %3354) #10
  br label %3356

3356:                                             ; preds = %3339, %3322
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #10
  br label %3357

3357:                                             ; preds = %3356
  br label %3358

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

3359:                                             ; No predecessors!
  br label %3360

3360:                                             ; preds = %3359
  br label %3361

3361:                                             ; preds = %3360, %3303
  br label %3362

3362:                                             ; preds = %3361
  br label %3363

3363:                                             ; preds = %3362
  br label %3364

3364:                                             ; preds = %3363
  %3365 = load i32, ptr @test_count, align 4, !tbaa !5
  %3366 = add nsw i32 %3365, 1
  store i32 %3366, ptr @test_count, align 4, !tbaa !5
  %3367 = load ptr, ptr %57, align 8, !tbaa !9
  %3368 = call i32 @s2n_config_free(ptr noundef %3367)
  %3369 = icmp eq i32 %3368, -1
  br i1 %3369, label %3370, label %3423

3370:                                             ; preds = %3364
  br label %3371

3371:                                             ; preds = %3370
  br label %3372

3372:                                             ; preds = %3371
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #10
  %3373 = call ptr @__errno_location() #11
  %3374 = load i32, ptr %3373, align 4, !tbaa !5
  store i32 %3374, ptr %63, align 4, !tbaa !5
  %3375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3376 = call i32 @s2n_print_stacktrace(ptr noundef %3375)
  %3377 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3378 = trunc i8 %3377 to i1
  br i1 %3378, label %3379, label %3401

3379:                                             ; preds = %3372
  %3380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3381 = call i32 @fileno(ptr noundef %3380) #10
  %3382 = call i32 @isatty(i32 noundef %3381) #10
  %3383 = icmp ne i32 %3382, 0
  br i1 %3383, label %3384, label %3401

3384:                                             ; preds = %3379
  %3385 = load i32, ptr %63, align 4, !tbaa !5
  %3386 = call ptr @__errno_location() #11
  store i32 %3385, ptr %3386, align 4, !tbaa !5
  %3387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3388 = load i32, ptr @test_count, align 4, !tbaa !5
  %3389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3390 = load i32, ptr %3389, align 4, !tbaa !5
  %3391 = call ptr @s2n_strerror(i32 noundef %3390, ptr noundef @.str.4)
  %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_debug(i32 noundef %3393, ptr noundef @.str.4)
  %3395 = call ptr @__errno_location() #11
  %3396 = load i32, ptr %3395, align 4, !tbaa !5
  %3397 = call ptr @strerror(i32 noundef %3396) #10
  %3398 = call ptr @__errno_location() #11
  %3399 = load i32, ptr %3398, align 4, !tbaa !5
  %3400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3387, ptr noundef @.str.2, i32 noundef %3388, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 118, ptr noundef %3391, ptr noundef %3394, ptr noundef %3397, i32 noundef %3399) #10
  br label %3418

3401:                                             ; preds = %3379, %3372
  %3402 = load i32, ptr %63, align 4, !tbaa !5
  %3403 = call ptr @__errno_location() #11
  store i32 %3402, ptr %3403, align 4, !tbaa !5
  %3404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3405 = load i32, ptr @test_count, align 4, !tbaa !5
  %3406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3407 = load i32, ptr %3406, align 4, !tbaa !5
  %3408 = call ptr @s2n_strerror(i32 noundef %3407, ptr noundef @.str.4)
  %3409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3410 = load i32, ptr %3409, align 4, !tbaa !5
  %3411 = call ptr @s2n_strerror_debug(i32 noundef %3410, ptr noundef @.str.4)
  %3412 = call ptr @__errno_location() #11
  %3413 = load i32, ptr %3412, align 4, !tbaa !5
  %3414 = call ptr @strerror(i32 noundef %3413) #10
  %3415 = call ptr @__errno_location() #11
  %3416 = load i32, ptr %3415, align 4, !tbaa !5
  %3417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3404, ptr noundef @.str.5, i32 noundef %3405, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 118, ptr noundef %3408, ptr noundef %3411, ptr noundef %3414, i32 noundef %3416) #10
  br label %3418

3418:                                             ; preds = %3401, %3384
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #10
  br label %3419

3419:                                             ; preds = %3418
  br label %3420

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

3421:                                             ; No predecessors!
  br label %3422

3422:                                             ; preds = %3421
  br label %3423

3423:                                             ; preds = %3422, %3364
  br label %3424

3424:                                             ; preds = %3423
  br label %3425

3425:                                             ; preds = %3424
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #10
  br label %3426

3426:                                             ; preds = %3425
  %3427 = load i32, ptr @test_count, align 4, !tbaa !5
  %3428 = add nsw i32 %3427, 1
  store i32 %3428, ptr @test_count, align 4, !tbaa !5
  %3429 = load ptr, ptr %47, align 8, !tbaa !9
  %3430 = call i32 @s2n_connection_free(ptr noundef %3429)
  %3431 = icmp eq i32 %3430, -1
  br i1 %3431, label %3432, label %3485

3432:                                             ; preds = %3426
  br label %3433

3433:                                             ; preds = %3432
  br label %3434

3434:                                             ; preds = %3433
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #10
  %3435 = call ptr @__errno_location() #11
  %3436 = load i32, ptr %3435, align 4, !tbaa !5
  store i32 %3436, ptr %64, align 4, !tbaa !5
  %3437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3438 = call i32 @s2n_print_stacktrace(ptr noundef %3437)
  %3439 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3440 = trunc i8 %3439 to i1
  br i1 %3440, label %3441, label %3463

3441:                                             ; preds = %3434
  %3442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3443 = call i32 @fileno(ptr noundef %3442) #10
  %3444 = call i32 @isatty(i32 noundef %3443) #10
  %3445 = icmp ne i32 %3444, 0
  br i1 %3445, label %3446, label %3463

3446:                                             ; preds = %3441
  %3447 = load i32, ptr %64, align 4, !tbaa !5
  %3448 = call ptr @__errno_location() #11
  store i32 %3447, ptr %3448, align 4, !tbaa !5
  %3449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3450 = load i32, ptr @test_count, align 4, !tbaa !5
  %3451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3452 = load i32, ptr %3451, align 4, !tbaa !5
  %3453 = call ptr @s2n_strerror(i32 noundef %3452, ptr noundef @.str.4)
  %3454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3455 = load i32, ptr %3454, align 4, !tbaa !5
  %3456 = call ptr @s2n_strerror_debug(i32 noundef %3455, ptr noundef @.str.4)
  %3457 = call ptr @__errno_location() #11
  %3458 = load i32, ptr %3457, align 4, !tbaa !5
  %3459 = call ptr @strerror(i32 noundef %3458) #10
  %3460 = call ptr @__errno_location() #11
  %3461 = load i32, ptr %3460, align 4, !tbaa !5
  %3462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3449, ptr noundef @.str.2, i32 noundef %3450, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 121, ptr noundef %3453, ptr noundef %3456, ptr noundef %3459, i32 noundef %3461) #10
  br label %3480

3463:                                             ; preds = %3441, %3434
  %3464 = load i32, ptr %64, align 4, !tbaa !5
  %3465 = call ptr @__errno_location() #11
  store i32 %3464, ptr %3465, align 4, !tbaa !5
  %3466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3467 = load i32, ptr @test_count, align 4, !tbaa !5
  %3468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3469 = load i32, ptr %3468, align 4, !tbaa !5
  %3470 = call ptr @s2n_strerror(i32 noundef %3469, ptr noundef @.str.4)
  %3471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3472 = load i32, ptr %3471, align 4, !tbaa !5
  %3473 = call ptr @s2n_strerror_debug(i32 noundef %3472, ptr noundef @.str.4)
  %3474 = call ptr @__errno_location() #11
  %3475 = load i32, ptr %3474, align 4, !tbaa !5
  %3476 = call ptr @strerror(i32 noundef %3475) #10
  %3477 = call ptr @__errno_location() #11
  %3478 = load i32, ptr %3477, align 4, !tbaa !5
  %3479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3466, ptr noundef @.str.5, i32 noundef %3467, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 121, ptr noundef %3470, ptr noundef %3473, ptr noundef %3476, i32 noundef %3478) #10
  br label %3480

3480:                                             ; preds = %3463, %3446
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #10
  br label %3481

3481:                                             ; preds = %3480
  br label %3482

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

3483:                                             ; No predecessors!
  br label %3484

3484:                                             ; preds = %3483
  br label %3485

3485:                                             ; preds = %3484, %3426
  br label %3486

3486:                                             ; preds = %3485
  br label %3487

3487:                                             ; preds = %3486
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %65) #10
  %3488 = call ptr @s2n_config_new()
  store ptr %3488, ptr %65, align 8, !tbaa !9
  br label %3489

3489:                                             ; preds = %3487
  %3490 = load i32, ptr @test_count, align 4, !tbaa !5
  %3491 = add nsw i32 %3490, 1
  store i32 %3491, ptr @test_count, align 4, !tbaa !5
  %3492 = load ptr, ptr %65, align 8, !tbaa !9
  %3493 = icmp eq ptr %3492, null
  br i1 %3493, label %3494, label %3547

3494:                                             ; preds = %3489
  br label %3495

3495:                                             ; preds = %3494
  br label %3496

3496:                                             ; preds = %3495
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #10
  %3497 = call ptr @__errno_location() #11
  %3498 = load i32, ptr %3497, align 4, !tbaa !5
  store i32 %3498, ptr %66, align 4, !tbaa !5
  %3499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3500 = call i32 @s2n_print_stacktrace(ptr noundef %3499)
  %3501 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3502 = trunc i8 %3501 to i1
  br i1 %3502, label %3503, label %3525

3503:                                             ; preds = %3496
  %3504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3505 = call i32 @fileno(ptr noundef %3504) #10
  %3506 = call i32 @isatty(i32 noundef %3505) #10
  %3507 = icmp ne i32 %3506, 0
  br i1 %3507, label %3508, label %3525

3508:                                             ; preds = %3503
  %3509 = load i32, ptr %66, align 4, !tbaa !5
  %3510 = call ptr @__errno_location() #11
  store i32 %3509, ptr %3510, align 4, !tbaa !5
  %3511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3512 = load i32, ptr @test_count, align 4, !tbaa !5
  %3513 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3514 = load i32, ptr %3513, align 4, !tbaa !5
  %3515 = call ptr @s2n_strerror(i32 noundef %3514, ptr noundef @.str.4)
  %3516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3517 = load i32, ptr %3516, align 4, !tbaa !5
  %3518 = call ptr @s2n_strerror_debug(i32 noundef %3517, ptr noundef @.str.4)
  %3519 = call ptr @__errno_location() #11
  %3520 = load i32, ptr %3519, align 4, !tbaa !5
  %3521 = call ptr @strerror(i32 noundef %3520) #10
  %3522 = call ptr @__errno_location() #11
  %3523 = load i32, ptr %3522, align 4, !tbaa !5
  %3524 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3511, ptr noundef @.str.2, i32 noundef %3512, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 129, ptr noundef %3515, ptr noundef %3518, ptr noundef %3521, i32 noundef %3523) #10
  br label %3542

3525:                                             ; preds = %3503, %3496
  %3526 = load i32, ptr %66, align 4, !tbaa !5
  %3527 = call ptr @__errno_location() #11
  store i32 %3526, ptr %3527, align 4, !tbaa !5
  %3528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3529 = load i32, ptr @test_count, align 4, !tbaa !5
  %3530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3531 = load i32, ptr %3530, align 4, !tbaa !5
  %3532 = call ptr @s2n_strerror(i32 noundef %3531, ptr noundef @.str.4)
  %3533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3534 = load i32, ptr %3533, align 4, !tbaa !5
  %3535 = call ptr @s2n_strerror_debug(i32 noundef %3534, ptr noundef @.str.4)
  %3536 = call ptr @__errno_location() #11
  %3537 = load i32, ptr %3536, align 4, !tbaa !5
  %3538 = call ptr @strerror(i32 noundef %3537) #10
  %3539 = call ptr @__errno_location() #11
  %3540 = load i32, ptr %3539, align 4, !tbaa !5
  %3541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3528, ptr noundef @.str.5, i32 noundef %3529, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 129, ptr noundef %3532, ptr noundef %3535, ptr noundef %3538, i32 noundef %3540) #10
  br label %3542

3542:                                             ; preds = %3525, %3508
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #10
  br label %3543

3543:                                             ; preds = %3542
  br label %3544

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

3545:                                             ; No predecessors!
  br label %3546

3546:                                             ; preds = %3545
  br label %3547

3547:                                             ; preds = %3546, %3489
  br label %3548

3548:                                             ; preds = %3547
  br label %3549

3549:                                             ; preds = %3548
  call void @llvm.lifetime.start.p0(i64 8, ptr %67) #10
  %3550 = call ptr @s2n_config_new()
  store ptr %3550, ptr %67, align 8, !tbaa !9
  br label %3551

3551:                                             ; preds = %3549
  %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 %67, align 8, !tbaa !9
  %3555 = icmp eq ptr %3554, null
  br i1 %3555, label %3556, label %3609

3556:                                             ; preds = %3551
  br label %3557

3557:                                             ; preds = %3556
  br label %3558

3558:                                             ; preds = %3557
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #10
  %3559 = call ptr @__errno_location() #11
  %3560 = load i32, ptr %3559, align 4, !tbaa !5
  store i32 %3560, ptr %68, align 4, !tbaa !5
  %3561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3562 = call i32 @s2n_print_stacktrace(ptr noundef %3561)
  %3563 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3564 = trunc i8 %3563 to i1
  br i1 %3564, label %3565, label %3587

3565:                                             ; preds = %3558
  %3566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3567 = call i32 @fileno(ptr noundef %3566) #10
  %3568 = call i32 @isatty(i32 noundef %3567) #10
  %3569 = icmp ne i32 %3568, 0
  br i1 %3569, label %3570, label %3587

3570:                                             ; preds = %3565
  %3571 = load i32, ptr %68, align 4, !tbaa !5
  %3572 = call ptr @__errno_location() #11
  store i32 %3571, ptr %3572, align 4, !tbaa !5
  %3573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3574 = load i32, ptr @test_count, align 4, !tbaa !5
  %3575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3576 = load i32, ptr %3575, align 4, !tbaa !5
  %3577 = call ptr @s2n_strerror(i32 noundef %3576, ptr noundef @.str.4)
  %3578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3579 = load i32, ptr %3578, align 4, !tbaa !5
  %3580 = call ptr @s2n_strerror_debug(i32 noundef %3579, ptr noundef @.str.4)
  %3581 = call ptr @__errno_location() #11
  %3582 = load i32, ptr %3581, align 4, !tbaa !5
  %3583 = call ptr @strerror(i32 noundef %3582) #10
  %3584 = call ptr @__errno_location() #11
  %3585 = load i32, ptr %3584, align 4, !tbaa !5
  %3586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3573, ptr noundef @.str.2, i32 noundef %3574, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 132, ptr noundef %3577, ptr noundef %3580, ptr noundef %3583, i32 noundef %3585) #10
  br label %3604

3587:                                             ; preds = %3565, %3558
  %3588 = load i32, ptr %68, align 4, !tbaa !5
  %3589 = call ptr @__errno_location() #11
  store i32 %3588, ptr %3589, align 4, !tbaa !5
  %3590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3591 = load i32, ptr @test_count, align 4, !tbaa !5
  %3592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3593 = load i32, ptr %3592, align 4, !tbaa !5
  %3594 = call ptr @s2n_strerror(i32 noundef %3593, ptr noundef @.str.4)
  %3595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3596 = load i32, ptr %3595, align 4, !tbaa !5
  %3597 = call ptr @s2n_strerror_debug(i32 noundef %3596, ptr noundef @.str.4)
  %3598 = call ptr @__errno_location() #11
  %3599 = load i32, ptr %3598, align 4, !tbaa !5
  %3600 = call ptr @strerror(i32 noundef %3599) #10
  %3601 = call ptr @__errno_location() #11
  %3602 = load i32, ptr %3601, align 4, !tbaa !5
  %3603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3590, ptr noundef @.str.5, i32 noundef %3591, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 132, ptr noundef %3594, ptr noundef %3597, ptr noundef %3600, i32 noundef %3602) #10
  br label %3604

3604:                                             ; preds = %3587, %3570
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #10
  br label %3605

3605:                                             ; preds = %3604
  br label %3606

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

3607:                                             ; No predecessors!
  br label %3608

3608:                                             ; preds = %3607
  br label %3609

3609:                                             ; preds = %3608, %3551
  br label %3610

3610:                                             ; preds = %3609
  br label %3611

3611:                                             ; preds = %3610
  br label %3612

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

3618:                                             ; preds = %3612
  br label %3619

3619:                                             ; preds = %3618
  br label %3620

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

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

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

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

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

3667:                                             ; preds = %3666
  br label %3668

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

3669:                                             ; No predecessors!
  br label %3670

3670:                                             ; preds = %3669
  br label %3671

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

3672:                                             ; preds = %3671
  br label %3673

3673:                                             ; preds = %3672
  call void @llvm.lifetime.start.p0(i64 8, ptr %70) #10
  %3674 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %3674, ptr %70, align 8, !tbaa !9
  br label %3675

3675:                                             ; preds = %3673
  %3676 = load i32, ptr @test_count, align 4, !tbaa !5
  %3677 = add nsw i32 %3676, 1
  store i32 %3677, ptr @test_count, align 4, !tbaa !5
  %3678 = load ptr, ptr %70, align 8, !tbaa !9
  %3679 = icmp eq ptr %3678, null
  br i1 %3679, label %3680, label %3733

3680:                                             ; preds = %3675
  br label %3681

3681:                                             ; preds = %3680
  br label %3682

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

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

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

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

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

3729:                                             ; preds = %3728
  br label %3730

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

3731:                                             ; No predecessors!
  br label %3732

3732:                                             ; preds = %3731
  br label %3733

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

3734:                                             ; preds = %3733
  br label %3735

3735:                                             ; preds = %3734
  br label %3736

3736:                                             ; preds = %3735
  %3737 = load i32, ptr @test_count, align 4, !tbaa !5
  %3738 = add nsw i32 %3737, 1
  store i32 %3738, ptr @test_count, align 4, !tbaa !5
  %3739 = load ptr, ptr %70, align 8, !tbaa !9
  %3740 = call zeroext i1 @s2n_connection_is_quic_enabled(ptr noundef %3739)
  br i1 %3740, label %3741, label %3794

3741:                                             ; preds = %3736
  br label %3742

3742:                                             ; preds = %3741
  br label %3743

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

3750:                                             ; preds = %3743
  %3751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3752 = call i32 @fileno(ptr noundef %3751) #10
  %3753 = call i32 @isatty(i32 noundef %3752) #10
  %3754 = icmp ne i32 %3753, 0
  br i1 %3754, label %3755, label %3772

3755:                                             ; preds = %3750
  %3756 = load i32, ptr %72, align 4, !tbaa !5
  %3757 = call ptr @__errno_location() #11
  store i32 %3756, ptr %3757, align 4, !tbaa !5
  %3758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3759 = load i32, ptr @test_count, align 4, !tbaa !5
  %3760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3761 = load i32, ptr %3760, align 4, !tbaa !5
  %3762 = call ptr @s2n_strerror(i32 noundef %3761, ptr noundef @.str.4)
  %3763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3764 = load i32, ptr %3763, align 4, !tbaa !5
  %3765 = call ptr @s2n_strerror_debug(i32 noundef %3764, ptr noundef @.str.4)
  %3766 = call ptr @__errno_location() #11
  %3767 = load i32, ptr %3766, align 4, !tbaa !5
  %3768 = call ptr @strerror(i32 noundef %3767) #10
  %3769 = call ptr @__errno_location() #11
  %3770 = load i32, ptr %3769, align 4, !tbaa !5
  %3771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3758, ptr noundef @.str.2, i32 noundef %3759, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 138, ptr noundef %3762, ptr noundef %3765, ptr noundef %3768, i32 noundef %3770) #10
  br label %3789

3772:                                             ; preds = %3750, %3743
  %3773 = load i32, ptr %72, align 4, !tbaa !5
  %3774 = call ptr @__errno_location() #11
  store i32 %3773, ptr %3774, align 4, !tbaa !5
  %3775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3776 = load i32, ptr @test_count, align 4, !tbaa !5
  %3777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3778 = load i32, ptr %3777, align 4, !tbaa !5
  %3779 = call ptr @s2n_strerror(i32 noundef %3778, ptr noundef @.str.4)
  %3780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3781 = load i32, ptr %3780, align 4, !tbaa !5
  %3782 = call ptr @s2n_strerror_debug(i32 noundef %3781, ptr noundef @.str.4)
  %3783 = call ptr @__errno_location() #11
  %3784 = load i32, ptr %3783, align 4, !tbaa !5
  %3785 = call ptr @strerror(i32 noundef %3784) #10
  %3786 = call ptr @__errno_location() #11
  %3787 = load i32, ptr %3786, align 4, !tbaa !5
  %3788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3775, ptr noundef @.str.5, i32 noundef %3776, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 138, ptr noundef %3779, ptr noundef %3782, ptr noundef %3785, i32 noundef %3787) #10
  br label %3789

3789:                                             ; preds = %3772, %3755
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #10
  br label %3790

3790:                                             ; preds = %3789
  br label %3791

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

3792:                                             ; No predecessors!
  br label %3793

3793:                                             ; preds = %3792
  br label %3794

3794:                                             ; preds = %3793, %3736
  br label %3795

3795:                                             ; preds = %3794
  br label %3796

3796:                                             ; preds = %3795
  br label %3797

3797:                                             ; preds = %3796
  %3798 = load i32, ptr @test_count, align 4, !tbaa !5
  %3799 = add nsw i32 %3798, 1
  store i32 %3799, ptr @test_count, align 4, !tbaa !5
  %3800 = load ptr, ptr %70, align 8, !tbaa !9
  %3801 = load ptr, ptr %65, align 8, !tbaa !9
  %3802 = call i32 @s2n_connection_set_config(ptr noundef %3800, ptr noundef %3801)
  %3803 = icmp eq i32 %3802, -1
  br i1 %3803, label %3804, label %3857

3804:                                             ; preds = %3797
  br label %3805

3805:                                             ; preds = %3804
  br label %3806

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

3813:                                             ; preds = %3806
  %3814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3815 = call i32 @fileno(ptr noundef %3814) #10
  %3816 = call i32 @isatty(i32 noundef %3815) #10
  %3817 = icmp ne i32 %3816, 0
  br i1 %3817, label %3818, label %3835

3818:                                             ; preds = %3813
  %3819 = load i32, ptr %73, align 4, !tbaa !5
  %3820 = call ptr @__errno_location() #11
  store i32 %3819, ptr %3820, align 4, !tbaa !5
  %3821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3822 = load i32, ptr @test_count, align 4, !tbaa !5
  %3823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3824 = load i32, ptr %3823, align 4, !tbaa !5
  %3825 = call ptr @s2n_strerror(i32 noundef %3824, ptr noundef @.str.4)
  %3826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3827 = load i32, ptr %3826, align 4, !tbaa !5
  %3828 = call ptr @s2n_strerror_debug(i32 noundef %3827, ptr noundef @.str.4)
  %3829 = call ptr @__errno_location() #11
  %3830 = load i32, ptr %3829, align 4, !tbaa !5
  %3831 = call ptr @strerror(i32 noundef %3830) #10
  %3832 = call ptr @__errno_location() #11
  %3833 = load i32, ptr %3832, align 4, !tbaa !5
  %3834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3821, ptr noundef @.str.2, i32 noundef %3822, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 139, ptr noundef %3825, ptr noundef %3828, ptr noundef %3831, i32 noundef %3833) #10
  br label %3852

3835:                                             ; preds = %3813, %3806
  %3836 = load i32, ptr %73, align 4, !tbaa !5
  %3837 = call ptr @__errno_location() #11
  store i32 %3836, ptr %3837, align 4, !tbaa !5
  %3838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3839 = load i32, ptr @test_count, align 4, !tbaa !5
  %3840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3841 = load i32, ptr %3840, align 4, !tbaa !5
  %3842 = call ptr @s2n_strerror(i32 noundef %3841, ptr noundef @.str.4)
  %3843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3844 = load i32, ptr %3843, align 4, !tbaa !5
  %3845 = call ptr @s2n_strerror_debug(i32 noundef %3844, ptr noundef @.str.4)
  %3846 = call ptr @__errno_location() #11
  %3847 = load i32, ptr %3846, align 4, !tbaa !5
  %3848 = call ptr @strerror(i32 noundef %3847) #10
  %3849 = call ptr @__errno_location() #11
  %3850 = load i32, ptr %3849, align 4, !tbaa !5
  %3851 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3838, ptr noundef @.str.5, i32 noundef %3839, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 139, ptr noundef %3842, ptr noundef %3845, ptr noundef %3848, i32 noundef %3850) #10
  br label %3852

3852:                                             ; preds = %3835, %3818
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #10
  br label %3853

3853:                                             ; preds = %3852
  br label %3854

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

3855:                                             ; No predecessors!
  br label %3856

3856:                                             ; preds = %3855
  br label %3857

3857:                                             ; preds = %3856, %3797
  br label %3858

3858:                                             ; preds = %3857
  br label %3859

3859:                                             ; preds = %3858
  br label %3860

3860:                                             ; preds = %3859
  %3861 = load i32, ptr @test_count, align 4, !tbaa !5
  %3862 = add nsw i32 %3861, 1
  store i32 %3862, ptr @test_count, align 4, !tbaa !5
  %3863 = load ptr, ptr %70, align 8, !tbaa !9
  %3864 = call zeroext i1 @s2n_connection_is_quic_enabled(ptr noundef %3863)
  br i1 %3864, label %3865, label %3918

3865:                                             ; preds = %3860
  br label %3866

3866:                                             ; preds = %3865
  br label %3867

3867:                                             ; preds = %3866
  call void @llvm.lifetime.start.p0(i64 4, ptr %74) #10
  %3868 = call ptr @__errno_location() #11
  %3869 = load i32, ptr %3868, align 4, !tbaa !5
  store i32 %3869, ptr %74, align 4, !tbaa !5
  %3870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3871 = call i32 @s2n_print_stacktrace(ptr noundef %3870)
  %3872 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3873 = trunc i8 %3872 to i1
  br i1 %3873, label %3874, label %3896

3874:                                             ; preds = %3867
  %3875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3876 = call i32 @fileno(ptr noundef %3875) #10
  %3877 = call i32 @isatty(i32 noundef %3876) #10
  %3878 = icmp ne i32 %3877, 0
  br i1 %3878, label %3879, label %3896

3879:                                             ; preds = %3874
  %3880 = load i32, ptr %74, align 4, !tbaa !5
  %3881 = call ptr @__errno_location() #11
  store i32 %3880, ptr %3881, align 4, !tbaa !5
  %3882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3883 = load i32, ptr @test_count, align 4, !tbaa !5
  %3884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3885 = load i32, ptr %3884, align 4, !tbaa !5
  %3886 = call ptr @s2n_strerror(i32 noundef %3885, ptr noundef @.str.4)
  %3887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3888 = load i32, ptr %3887, align 4, !tbaa !5
  %3889 = call ptr @s2n_strerror_debug(i32 noundef %3888, ptr noundef @.str.4)
  %3890 = call ptr @__errno_location() #11
  %3891 = load i32, ptr %3890, align 4, !tbaa !5
  %3892 = call ptr @strerror(i32 noundef %3891) #10
  %3893 = call ptr @__errno_location() #11
  %3894 = load i32, ptr %3893, align 4, !tbaa !5
  %3895 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3882, ptr noundef @.str.2, i32 noundef %3883, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 140, ptr noundef %3886, ptr noundef %3889, ptr noundef %3892, i32 noundef %3894) #10
  br label %3913

3896:                                             ; preds = %3874, %3867
  %3897 = load i32, ptr %74, align 4, !tbaa !5
  %3898 = call ptr @__errno_location() #11
  store i32 %3897, ptr %3898, align 4, !tbaa !5
  %3899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3900 = load i32, ptr @test_count, align 4, !tbaa !5
  %3901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3902 = load i32, ptr %3901, align 4, !tbaa !5
  %3903 = call ptr @s2n_strerror(i32 noundef %3902, ptr noundef @.str.4)
  %3904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3905 = load i32, ptr %3904, align 4, !tbaa !5
  %3906 = call ptr @s2n_strerror_debug(i32 noundef %3905, ptr noundef @.str.4)
  %3907 = call ptr @__errno_location() #11
  %3908 = load i32, ptr %3907, align 4, !tbaa !5
  %3909 = call ptr @strerror(i32 noundef %3908) #10
  %3910 = call ptr @__errno_location() #11
  %3911 = load i32, ptr %3910, align 4, !tbaa !5
  %3912 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3899, ptr noundef @.str.5, i32 noundef %3900, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 140, ptr noundef %3903, ptr noundef %3906, ptr noundef %3909, i32 noundef %3911) #10
  br label %3913

3913:                                             ; preds = %3896, %3879
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #10
  br label %3914

3914:                                             ; preds = %3913
  br label %3915

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

3916:                                             ; No predecessors!
  br label %3917

3917:                                             ; preds = %3916
  br label %3918

3918:                                             ; preds = %3917, %3860
  br label %3919

3919:                                             ; preds = %3918
  br label %3920

3920:                                             ; preds = %3919
  br label %3921

3921:                                             ; preds = %3920
  %3922 = load i32, ptr @test_count, align 4, !tbaa !5
  %3923 = add nsw i32 %3922, 1
  store i32 %3923, ptr @test_count, align 4, !tbaa !5
  %3924 = load ptr, ptr %70, align 8, !tbaa !9
  %3925 = load ptr, ptr %67, align 8, !tbaa !9
  %3926 = call i32 @s2n_connection_set_config(ptr noundef %3924, ptr noundef %3925)
  %3927 = icmp eq i32 %3926, -1
  br i1 %3927, label %3928, label %3981

3928:                                             ; preds = %3921
  br label %3929

3929:                                             ; preds = %3928
  br label %3930

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

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

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

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

3976:                                             ; preds = %3959, %3942
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #10
  br label %3977

3977:                                             ; preds = %3976
  br label %3978

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

3979:                                             ; No predecessors!
  br label %3980

3980:                                             ; preds = %3979
  br label %3981

3981:                                             ; preds = %3980, %3921
  br label %3982

3982:                                             ; preds = %3981
  br label %3983

3983:                                             ; preds = %3982
  br label %3984

3984:                                             ; preds = %3983
  %3985 = load i32, ptr @test_count, align 4, !tbaa !5
  %3986 = add nsw i32 %3985, 1
  store i32 %3986, ptr @test_count, align 4, !tbaa !5
  %3987 = load ptr, ptr %70, align 8, !tbaa !9
  %3988 = call zeroext i1 @s2n_connection_is_quic_enabled(ptr noundef %3987)
  br i1 %3988, label %4042, label %3989

3989:                                             ; preds = %3984
  br label %3990

3990:                                             ; preds = %3989
  br label %3991

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

3998:                                             ; preds = %3991
  %3999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4000 = call i32 @fileno(ptr noundef %3999) #10
  %4001 = call i32 @isatty(i32 noundef %4000) #10
  %4002 = icmp ne i32 %4001, 0
  br i1 %4002, label %4003, label %4020

4003:                                             ; preds = %3998
  %4004 = load i32, ptr %76, align 4, !tbaa !5
  %4005 = call ptr @__errno_location() #11
  store i32 %4004, ptr %4005, align 4, !tbaa !5
  %4006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4007 = load i32, ptr @test_count, align 4, !tbaa !5
  %4008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4009 = load i32, ptr %4008, align 4, !tbaa !5
  %4010 = call ptr @s2n_strerror(i32 noundef %4009, ptr noundef @.str.4)
  %4011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4012 = load i32, ptr %4011, align 4, !tbaa !5
  %4013 = call ptr @s2n_strerror_debug(i32 noundef %4012, ptr noundef @.str.4)
  %4014 = call ptr @__errno_location() #11
  %4015 = load i32, ptr %4014, align 4, !tbaa !5
  %4016 = call ptr @strerror(i32 noundef %4015) #10
  %4017 = call ptr @__errno_location() #11
  %4018 = load i32, ptr %4017, align 4, !tbaa !5
  %4019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4006, ptr noundef @.str.2, i32 noundef %4007, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 142, ptr noundef %4010, ptr noundef %4013, ptr noundef %4016, i32 noundef %4018) #10
  br label %4037

4020:                                             ; preds = %3998, %3991
  %4021 = load i32, ptr %76, align 4, !tbaa !5
  %4022 = call ptr @__errno_location() #11
  store i32 %4021, ptr %4022, align 4, !tbaa !5
  %4023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4024 = load i32, ptr @test_count, align 4, !tbaa !5
  %4025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4026 = load i32, ptr %4025, align 4, !tbaa !5
  %4027 = call ptr @s2n_strerror(i32 noundef %4026, ptr noundef @.str.4)
  %4028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4029 = load i32, ptr %4028, align 4, !tbaa !5
  %4030 = call ptr @s2n_strerror_debug(i32 noundef %4029, ptr noundef @.str.4)
  %4031 = call ptr @__errno_location() #11
  %4032 = load i32, ptr %4031, align 4, !tbaa !5
  %4033 = call ptr @strerror(i32 noundef %4032) #10
  %4034 = call ptr @__errno_location() #11
  %4035 = load i32, ptr %4034, align 4, !tbaa !5
  %4036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4023, ptr noundef @.str.5, i32 noundef %4024, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 142, ptr noundef %4027, ptr noundef %4030, ptr noundef %4033, i32 noundef %4035) #10
  br label %4037

4037:                                             ; preds = %4020, %4003
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #10
  br label %4038

4038:                                             ; preds = %4037
  br label %4039

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

4040:                                             ; No predecessors!
  br label %4041

4041:                                             ; preds = %4040
  br label %4042

4042:                                             ; preds = %4041, %3984
  br label %4043

4043:                                             ; preds = %4042
  br label %4044

4044:                                             ; preds = %4043
  br label %4045

4045:                                             ; preds = %4044
  %4046 = load i32, ptr @test_count, align 4, !tbaa !5
  %4047 = add nsw i32 %4046, 1
  store i32 %4047, ptr @test_count, align 4, !tbaa !5
  %4048 = load ptr, ptr %70, align 8, !tbaa !9
  %4049 = load ptr, ptr %65, align 8, !tbaa !9
  %4050 = call i32 @s2n_connection_set_config(ptr noundef %4048, ptr noundef %4049)
  %4051 = icmp eq i32 %4050, -1
  br i1 %4051, label %4052, label %4105

4052:                                             ; preds = %4045
  br label %4053

4053:                                             ; preds = %4052
  br label %4054

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

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

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

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

4100:                                             ; preds = %4083, %4066
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #10
  br label %4101

4101:                                             ; preds = %4100
  br label %4102

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

4103:                                             ; No predecessors!
  br label %4104

4104:                                             ; preds = %4103
  br label %4105

4105:                                             ; preds = %4104, %4045
  br label %4106

4106:                                             ; preds = %4105
  br label %4107

4107:                                             ; preds = %4106
  br label %4108

4108:                                             ; preds = %4107
  %4109 = load i32, ptr @test_count, align 4, !tbaa !5
  %4110 = add nsw i32 %4109, 1
  store i32 %4110, ptr @test_count, align 4, !tbaa !5
  %4111 = load ptr, ptr %70, align 8, !tbaa !9
  %4112 = call zeroext i1 @s2n_connection_is_quic_enabled(ptr noundef %4111)
  br i1 %4112, label %4166, label %4113

4113:                                             ; preds = %4108
  br label %4114

4114:                                             ; preds = %4113
  br label %4115

4115:                                             ; preds = %4114
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #10
  %4116 = call ptr @__errno_location() #11
  %4117 = load i32, ptr %4116, align 4, !tbaa !5
  store i32 %4117, ptr %78, align 4, !tbaa !5
  %4118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4119 = call i32 @s2n_print_stacktrace(ptr noundef %4118)
  %4120 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4121 = trunc i8 %4120 to i1
  br i1 %4121, label %4122, label %4144

4122:                                             ; preds = %4115
  %4123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4124 = call i32 @fileno(ptr noundef %4123) #10
  %4125 = call i32 @isatty(i32 noundef %4124) #10
  %4126 = icmp ne i32 %4125, 0
  br i1 %4126, label %4127, label %4144

4127:                                             ; preds = %4122
  %4128 = load i32, ptr %78, align 4, !tbaa !5
  %4129 = call ptr @__errno_location() #11
  store i32 %4128, ptr %4129, align 4, !tbaa !5
  %4130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4131 = load i32, ptr @test_count, align 4, !tbaa !5
  %4132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4133 = load i32, ptr %4132, align 4, !tbaa !5
  %4134 = call ptr @s2n_strerror(i32 noundef %4133, ptr noundef @.str.4)
  %4135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4136 = load i32, ptr %4135, align 4, !tbaa !5
  %4137 = call ptr @s2n_strerror_debug(i32 noundef %4136, ptr noundef @.str.4)
  %4138 = call ptr @__errno_location() #11
  %4139 = load i32, ptr %4138, align 4, !tbaa !5
  %4140 = call ptr @strerror(i32 noundef %4139) #10
  %4141 = call ptr @__errno_location() #11
  %4142 = load i32, ptr %4141, align 4, !tbaa !5
  %4143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4130, ptr noundef @.str.2, i32 noundef %4131, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 144, ptr noundef %4134, ptr noundef %4137, ptr noundef %4140, i32 noundef %4142) #10
  br label %4161

4144:                                             ; preds = %4122, %4115
  %4145 = load i32, ptr %78, align 4, !tbaa !5
  %4146 = call ptr @__errno_location() #11
  store i32 %4145, ptr %4146, align 4, !tbaa !5
  %4147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4148 = load i32, ptr @test_count, align 4, !tbaa !5
  %4149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4150 = load i32, ptr %4149, align 4, !tbaa !5
  %4151 = call ptr @s2n_strerror(i32 noundef %4150, ptr noundef @.str.4)
  %4152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4153 = load i32, ptr %4152, align 4, !tbaa !5
  %4154 = call ptr @s2n_strerror_debug(i32 noundef %4153, ptr noundef @.str.4)
  %4155 = call ptr @__errno_location() #11
  %4156 = load i32, ptr %4155, align 4, !tbaa !5
  %4157 = call ptr @strerror(i32 noundef %4156) #10
  %4158 = call ptr @__errno_location() #11
  %4159 = load i32, ptr %4158, align 4, !tbaa !5
  %4160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4147, ptr noundef @.str.5, i32 noundef %4148, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 144, ptr noundef %4151, ptr noundef %4154, ptr noundef %4157, i32 noundef %4159) #10
  br label %4161

4161:                                             ; preds = %4144, %4127
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #10
  br label %4162

4162:                                             ; preds = %4161
  br label %4163

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

4164:                                             ; No predecessors!
  br label %4165

4165:                                             ; preds = %4164
  br label %4166

4166:                                             ; preds = %4165, %4108
  br label %4167

4167:                                             ; preds = %4166
  br label %4168

4168:                                             ; preds = %4167
  br label %4169

4169:                                             ; preds = %4168
  %4170 = load i32, ptr @test_count, align 4, !tbaa !5
  %4171 = add nsw i32 %4170, 1
  store i32 %4171, ptr @test_count, align 4, !tbaa !5
  %4172 = load ptr, ptr %65, align 8, !tbaa !9
  %4173 = call i32 @s2n_config_free(ptr noundef %4172)
  %4174 = icmp eq i32 %4173, -1
  br i1 %4174, label %4175, label %4228

4175:                                             ; preds = %4169
  br label %4176

4176:                                             ; preds = %4175
  br label %4177

4177:                                             ; preds = %4176
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #10
  %4178 = call ptr @__errno_location() #11
  %4179 = load i32, ptr %4178, align 4, !tbaa !5
  store i32 %4179, ptr %79, align 4, !tbaa !5
  %4180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4181 = call i32 @s2n_print_stacktrace(ptr noundef %4180)
  %4182 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4183 = trunc i8 %4182 to i1
  br i1 %4183, label %4184, label %4206

4184:                                             ; preds = %4177
  %4185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4186 = call i32 @fileno(ptr noundef %4185) #10
  %4187 = call i32 @isatty(i32 noundef %4186) #10
  %4188 = icmp ne i32 %4187, 0
  br i1 %4188, label %4189, label %4206

4189:                                             ; preds = %4184
  %4190 = load i32, ptr %79, align 4, !tbaa !5
  %4191 = call ptr @__errno_location() #11
  store i32 %4190, ptr %4191, align 4, !tbaa !5
  %4192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4193 = load i32, ptr @test_count, align 4, !tbaa !5
  %4194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4195 = load i32, ptr %4194, align 4, !tbaa !5
  %4196 = call ptr @s2n_strerror(i32 noundef %4195, ptr noundef @.str.4)
  %4197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4198 = load i32, ptr %4197, align 4, !tbaa !5
  %4199 = call ptr @s2n_strerror_debug(i32 noundef %4198, ptr noundef @.str.4)
  %4200 = call ptr @__errno_location() #11
  %4201 = load i32, ptr %4200, align 4, !tbaa !5
  %4202 = call ptr @strerror(i32 noundef %4201) #10
  %4203 = call ptr @__errno_location() #11
  %4204 = load i32, ptr %4203, align 4, !tbaa !5
  %4205 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4192, ptr noundef @.str.2, i32 noundef %4193, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 146, ptr noundef %4196, ptr noundef %4199, ptr noundef %4202, i32 noundef %4204) #10
  br label %4223

4206:                                             ; preds = %4184, %4177
  %4207 = load i32, ptr %79, align 4, !tbaa !5
  %4208 = call ptr @__errno_location() #11
  store i32 %4207, ptr %4208, align 4, !tbaa !5
  %4209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4210 = load i32, ptr @test_count, align 4, !tbaa !5
  %4211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4212 = load i32, ptr %4211, align 4, !tbaa !5
  %4213 = call ptr @s2n_strerror(i32 noundef %4212, ptr noundef @.str.4)
  %4214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4215 = load i32, ptr %4214, align 4, !tbaa !5
  %4216 = call ptr @s2n_strerror_debug(i32 noundef %4215, ptr noundef @.str.4)
  %4217 = call ptr @__errno_location() #11
  %4218 = load i32, ptr %4217, align 4, !tbaa !5
  %4219 = call ptr @strerror(i32 noundef %4218) #10
  %4220 = call ptr @__errno_location() #11
  %4221 = load i32, ptr %4220, align 4, !tbaa !5
  %4222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4209, ptr noundef @.str.5, i32 noundef %4210, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 146, ptr noundef %4213, ptr noundef %4216, ptr noundef %4219, i32 noundef %4221) #10
  br label %4223

4223:                                             ; preds = %4206, %4189
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #10
  br label %4224

4224:                                             ; preds = %4223
  br label %4225

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

4226:                                             ; No predecessors!
  br label %4227

4227:                                             ; preds = %4226
  br label %4228

4228:                                             ; preds = %4227, %4169
  br label %4229

4229:                                             ; preds = %4228
  br label %4230

4230:                                             ; preds = %4229
  br label %4231

4231:                                             ; preds = %4230
  %4232 = load i32, ptr @test_count, align 4, !tbaa !5
  %4233 = add nsw i32 %4232, 1
  store i32 %4233, ptr @test_count, align 4, !tbaa !5
  %4234 = load ptr, ptr %67, align 8, !tbaa !9
  %4235 = call i32 @s2n_config_free(ptr noundef %4234)
  %4236 = icmp eq i32 %4235, -1
  br i1 %4236, label %4237, label %4290

4237:                                             ; preds = %4231
  br label %4238

4238:                                             ; preds = %4237
  br label %4239

4239:                                             ; preds = %4238
  call void @llvm.lifetime.start.p0(i64 4, ptr %80) #10
  %4240 = call ptr @__errno_location() #11
  %4241 = load i32, ptr %4240, align 4, !tbaa !5
  store i32 %4241, ptr %80, align 4, !tbaa !5
  %4242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4243 = call i32 @s2n_print_stacktrace(ptr noundef %4242)
  %4244 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4245 = trunc i8 %4244 to i1
  br i1 %4245, label %4246, label %4268

4246:                                             ; preds = %4239
  %4247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4248 = call i32 @fileno(ptr noundef %4247) #10
  %4249 = call i32 @isatty(i32 noundef %4248) #10
  %4250 = icmp ne i32 %4249, 0
  br i1 %4250, label %4251, label %4268

4251:                                             ; preds = %4246
  %4252 = load i32, ptr %80, align 4, !tbaa !5
  %4253 = call ptr @__errno_location() #11
  store i32 %4252, ptr %4253, align 4, !tbaa !5
  %4254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4255 = load i32, ptr @test_count, align 4, !tbaa !5
  %4256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4257 = load i32, ptr %4256, align 4, !tbaa !5
  %4258 = call ptr @s2n_strerror(i32 noundef %4257, ptr noundef @.str.4)
  %4259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4260 = load i32, ptr %4259, align 4, !tbaa !5
  %4261 = call ptr @s2n_strerror_debug(i32 noundef %4260, ptr noundef @.str.4)
  %4262 = call ptr @__errno_location() #11
  %4263 = load i32, ptr %4262, align 4, !tbaa !5
  %4264 = call ptr @strerror(i32 noundef %4263) #10
  %4265 = call ptr @__errno_location() #11
  %4266 = load i32, ptr %4265, align 4, !tbaa !5
  %4267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4254, ptr noundef @.str.2, i32 noundef %4255, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 147, ptr noundef %4258, ptr noundef %4261, ptr noundef %4264, i32 noundef %4266) #10
  br label %4285

4268:                                             ; preds = %4246, %4239
  %4269 = load i32, ptr %80, align 4, !tbaa !5
  %4270 = call ptr @__errno_location() #11
  store i32 %4269, ptr %4270, align 4, !tbaa !5
  %4271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4272 = load i32, ptr @test_count, align 4, !tbaa !5
  %4273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4274 = load i32, ptr %4273, align 4, !tbaa !5
  %4275 = call ptr @s2n_strerror(i32 noundef %4274, ptr noundef @.str.4)
  %4276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4277 = load i32, ptr %4276, align 4, !tbaa !5
  %4278 = call ptr @s2n_strerror_debug(i32 noundef %4277, ptr noundef @.str.4)
  %4279 = call ptr @__errno_location() #11
  %4280 = load i32, ptr %4279, align 4, !tbaa !5
  %4281 = call ptr @strerror(i32 noundef %4280) #10
  %4282 = call ptr @__errno_location() #11
  %4283 = load i32, ptr %4282, align 4, !tbaa !5
  %4284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4271, ptr noundef @.str.5, i32 noundef %4272, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 147, ptr noundef %4275, ptr noundef %4278, ptr noundef %4281, i32 noundef %4283) #10
  br label %4285

4285:                                             ; preds = %4268, %4251
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #10
  br label %4286

4286:                                             ; preds = %4285
  br label %4287

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

4288:                                             ; No predecessors!
  br label %4289

4289:                                             ; preds = %4288
  br label %4290

4290:                                             ; preds = %4289, %4231
  br label %4291

4291:                                             ; preds = %4290
  br label %4292

4292:                                             ; preds = %4291
  br label %4293

4293:                                             ; preds = %4292
  %4294 = load i32, ptr @test_count, align 4, !tbaa !5
  %4295 = add nsw i32 %4294, 1
  store i32 %4295, ptr @test_count, align 4, !tbaa !5
  %4296 = load ptr, ptr %70, align 8, !tbaa !9
  %4297 = call i32 @s2n_connection_free(ptr noundef %4296)
  %4298 = icmp eq i32 %4297, -1
  br i1 %4298, label %4299, label %4352

4299:                                             ; preds = %4293
  br label %4300

4300:                                             ; preds = %4299
  br label %4301

4301:                                             ; preds = %4300
  call void @llvm.lifetime.start.p0(i64 4, ptr %81) #10
  %4302 = call ptr @__errno_location() #11
  %4303 = load i32, ptr %4302, align 4, !tbaa !5
  store i32 %4303, ptr %81, align 4, !tbaa !5
  %4304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4305 = call i32 @s2n_print_stacktrace(ptr noundef %4304)
  %4306 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4307 = trunc i8 %4306 to i1
  br i1 %4307, label %4308, label %4330

4308:                                             ; preds = %4301
  %4309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4310 = call i32 @fileno(ptr noundef %4309) #10
  %4311 = call i32 @isatty(i32 noundef %4310) #10
  %4312 = icmp ne i32 %4311, 0
  br i1 %4312, label %4313, label %4330

4313:                                             ; preds = %4308
  %4314 = load i32, ptr %81, align 4, !tbaa !5
  %4315 = call ptr @__errno_location() #11
  store i32 %4314, ptr %4315, align 4, !tbaa !5
  %4316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4317 = load i32, ptr @test_count, align 4, !tbaa !5
  %4318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4319 = load i32, ptr %4318, align 4, !tbaa !5
  %4320 = call ptr @s2n_strerror(i32 noundef %4319, ptr noundef @.str.4)
  %4321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4322 = load i32, ptr %4321, align 4, !tbaa !5
  %4323 = call ptr @s2n_strerror_debug(i32 noundef %4322, ptr noundef @.str.4)
  %4324 = call ptr @__errno_location() #11
  %4325 = load i32, ptr %4324, align 4, !tbaa !5
  %4326 = call ptr @strerror(i32 noundef %4325) #10
  %4327 = call ptr @__errno_location() #11
  %4328 = load i32, ptr %4327, align 4, !tbaa !5
  %4329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4316, ptr noundef @.str.2, i32 noundef %4317, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 148, ptr noundef %4320, ptr noundef %4323, ptr noundef %4326, i32 noundef %4328) #10
  br label %4347

4330:                                             ; preds = %4308, %4301
  %4331 = load i32, ptr %81, align 4, !tbaa !5
  %4332 = call ptr @__errno_location() #11
  store i32 %4331, ptr %4332, align 4, !tbaa !5
  %4333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4334 = load i32, ptr @test_count, align 4, !tbaa !5
  %4335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4336 = load i32, ptr %4335, align 4, !tbaa !5
  %4337 = call ptr @s2n_strerror(i32 noundef %4336, ptr noundef @.str.4)
  %4338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4339 = load i32, ptr %4338, align 4, !tbaa !5
  %4340 = call ptr @s2n_strerror_debug(i32 noundef %4339, ptr noundef @.str.4)
  %4341 = call ptr @__errno_location() #11
  %4342 = load i32, ptr %4341, align 4, !tbaa !5
  %4343 = call ptr @strerror(i32 noundef %4342) #10
  %4344 = call ptr @__errno_location() #11
  %4345 = load i32, ptr %4344, align 4, !tbaa !5
  %4346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4333, ptr noundef @.str.5, i32 noundef %4334, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 148, ptr noundef %4337, ptr noundef %4340, ptr noundef %4343, i32 noundef %4345) #10
  br label %4347

4347:                                             ; preds = %4330, %4313
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #10
  br label %4348

4348:                                             ; preds = %4347
  br label %4349

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

4350:                                             ; No predecessors!
  br label %4351

4351:                                             ; preds = %4350
  br label %4352

4352:                                             ; preds = %4351, %4293
  br label %4353

4353:                                             ; preds = %4352
  br label %4354

4354:                                             ; preds = %4353
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #10
  call void @llvm.lifetime.start.p0(i64 4184, ptr %82) #10
  call void @llvm.memset.p0.i64(ptr align 8 %82, i8 0, i64 4184, i1 false)
  br label %4355

4355:                                             ; preds = %4354
  br label %4356

4356:                                             ; preds = %4355
  br label %4357

4357:                                             ; preds = %4356
  %4358 = load i32, ptr @test_count, align 4, !tbaa !5
  %4359 = add nsw i32 %4358, 1
  store i32 %4359, ptr @test_count, align 4, !tbaa !5
  %4360 = call i32 @s2n_connection_set_quic_transport_parameters(ptr noundef null, ptr noundef @TEST_DATA, i16 noundef zeroext 5)
  %4361 = icmp eq i32 %4360, -1
  br i1 %4361, label %4415, label %4362

4362:                                             ; preds = %4357
  br label %4363

4363:                                             ; preds = %4362
  br label %4364

4364:                                             ; preds = %4363
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #10
  %4365 = call ptr @__errno_location() #11
  %4366 = load i32, ptr %4365, align 4, !tbaa !5
  store i32 %4366, ptr %83, align 4, !tbaa !5
  %4367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4368 = call i32 @s2n_print_stacktrace(ptr noundef %4367)
  %4369 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4370 = trunc i8 %4369 to i1
  br i1 %4370, label %4371, label %4393

4371:                                             ; preds = %4364
  %4372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4373 = call i32 @fileno(ptr noundef %4372) #10
  %4374 = call i32 @isatty(i32 noundef %4373) #10
  %4375 = icmp ne i32 %4374, 0
  br i1 %4375, label %4376, label %4393

4376:                                             ; preds = %4371
  %4377 = load i32, ptr %83, align 4, !tbaa !5
  %4378 = call ptr @__errno_location() #11
  store i32 %4377, ptr %4378, align 4, !tbaa !5
  %4379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4380 = load i32, ptr @test_count, align 4, !tbaa !5
  %4381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4382 = load i32, ptr %4381, align 4, !tbaa !5
  %4383 = call ptr @s2n_strerror(i32 noundef %4382, ptr noundef @.str.4)
  %4384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4385 = load i32, ptr %4384, align 4, !tbaa !5
  %4386 = call ptr @s2n_strerror_debug(i32 noundef %4385, ptr noundef @.str.4)
  %4387 = call ptr @__errno_location() #11
  %4388 = load i32, ptr %4387, align 4, !tbaa !5
  %4389 = call ptr @strerror(i32 noundef %4388) #10
  %4390 = call ptr @__errno_location() #11
  %4391 = load i32, ptr %4390, align 4, !tbaa !5
  %4392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4379, ptr noundef @.str.2, i32 noundef %4380, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 157, ptr noundef %4383, ptr noundef %4386, ptr noundef %4389, i32 noundef %4391) #10
  br label %4410

4393:                                             ; preds = %4371, %4364
  %4394 = load i32, ptr %83, align 4, !tbaa !5
  %4395 = call ptr @__errno_location() #11
  store i32 %4394, ptr %4395, align 4, !tbaa !5
  %4396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4397 = load i32, ptr @test_count, align 4, !tbaa !5
  %4398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4399 = load i32, ptr %4398, align 4, !tbaa !5
  %4400 = call ptr @s2n_strerror(i32 noundef %4399, ptr noundef @.str.4)
  %4401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4402 = load i32, ptr %4401, align 4, !tbaa !5
  %4403 = call ptr @s2n_strerror_debug(i32 noundef %4402, ptr noundef @.str.4)
  %4404 = call ptr @__errno_location() #11
  %4405 = load i32, ptr %4404, align 4, !tbaa !5
  %4406 = call ptr @strerror(i32 noundef %4405) #10
  %4407 = call ptr @__errno_location() #11
  %4408 = load i32, ptr %4407, align 4, !tbaa !5
  %4409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4396, ptr noundef @.str.5, i32 noundef %4397, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 157, ptr noundef %4400, ptr noundef %4403, ptr noundef %4406, i32 noundef %4408) #10
  br label %4410

4410:                                             ; preds = %4393, %4376
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #10
  br label %4411

4411:                                             ; preds = %4410
  br label %4412

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

4413:                                             ; No predecessors!
  br label %4414

4414:                                             ; preds = %4413
  br label %4415

4415:                                             ; preds = %4414, %4357
  br label %4416

4416:                                             ; preds = %4415
  br label %4417

4417:                                             ; preds = %4416
  br label %4418

4418:                                             ; preds = %4417
  %4419 = load i32, ptr @test_count, align 4, !tbaa !5
  %4420 = add nsw i32 %4419, 1
  store i32 %4420, ptr @test_count, align 4, !tbaa !5
  %4421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4422 = load i32, ptr %4421, align 4, !tbaa !5
  %4423 = icmp eq i32 %4422, 402653193
  br i1 %4423, label %4477, label %4424

4424:                                             ; preds = %4418
  br label %4425

4425:                                             ; preds = %4424
  br label %4426

4426:                                             ; preds = %4425
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #10
  %4427 = call ptr @__errno_location() #11
  %4428 = load i32, ptr %4427, align 4, !tbaa !5
  store i32 %4428, ptr %84, align 4, !tbaa !5
  %4429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4430 = call i32 @s2n_print_stacktrace(ptr noundef %4429)
  %4431 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4432 = trunc i8 %4431 to i1
  br i1 %4432, label %4433, label %4455

4433:                                             ; preds = %4426
  %4434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4435 = call i32 @fileno(ptr noundef %4434) #10
  %4436 = call i32 @isatty(i32 noundef %4435) #10
  %4437 = icmp ne i32 %4436, 0
  br i1 %4437, label %4438, label %4455

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

4455:                                             ; preds = %4433, %4426
  %4456 = load i32, ptr %84, align 4, !tbaa !5
  %4457 = call ptr @__errno_location() #11
  store i32 %4456, ptr %4457, align 4, !tbaa !5
  %4458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4459 = load i32, ptr @test_count, align 4, !tbaa !5
  %4460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4461 = load i32, ptr %4460, align 4, !tbaa !5
  %4462 = call ptr @s2n_strerror(i32 noundef %4461, ptr noundef @.str.4)
  %4463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4464 = load i32, ptr %4463, align 4, !tbaa !5
  %4465 = call ptr @s2n_strerror_debug(i32 noundef %4464, ptr noundef @.str.4)
  %4466 = call ptr @__errno_location() #11
  %4467 = load i32, ptr %4466, align 4, !tbaa !5
  %4468 = call ptr @strerror(i32 noundef %4467) #10
  %4469 = call ptr @__errno_location() #11
  %4470 = load i32, ptr %4469, align 4, !tbaa !5
  %4471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4458, ptr noundef @.str.5, i32 noundef %4459, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 157, ptr noundef %4462, ptr noundef %4465, ptr noundef %4468, i32 noundef %4470) #10
  br label %4472

4472:                                             ; preds = %4455, %4438
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #10
  br label %4473

4473:                                             ; preds = %4472
  br label %4474

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

4475:                                             ; No predecessors!
  br label %4476

4476:                                             ; preds = %4475
  br label %4477

4477:                                             ; preds = %4476, %4418
  br label %4478

4478:                                             ; preds = %4477
  br label %4479

4479:                                             ; preds = %4478
  br label %4480

4480:                                             ; preds = %4479
  %4481 = load i32, ptr @test_count, align 4, !tbaa !5
  %4482 = add nsw i32 %4481, 1
  store i32 %4482, ptr @test_count, align 4, !tbaa !5
  %4483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4484 = load i32, ptr %4483, align 4, !tbaa !5
  %4485 = call ptr @s2n_strerror_debug(i32 noundef %4484, ptr noundef @.str.4)
  %4486 = icmp eq ptr %4485, null
  br i1 %4486, label %4487, label %4540

4487:                                             ; preds = %4480
  br label %4488

4488:                                             ; preds = %4487
  br label %4489

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

4496:                                             ; preds = %4489
  %4497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4498 = call i32 @fileno(ptr noundef %4497) #10
  %4499 = call i32 @isatty(i32 noundef %4498) #10
  %4500 = icmp ne i32 %4499, 0
  br i1 %4500, label %4501, label %4518

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

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

4535:                                             ; preds = %4518, %4501
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #10
  br label %4536

4536:                                             ; preds = %4535
  br label %4537

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

4538:                                             ; No predecessors!
  br label %4539

4539:                                             ; preds = %4538
  br label %4540

4540:                                             ; preds = %4539, %4480
  br label %4541

4541:                                             ; preds = %4540
  br label %4542

4542:                                             ; preds = %4541
  br label %4543

4543:                                             ; preds = %4542
  br label %4544

4544:                                             ; preds = %4543
  br label %4545

4545:                                             ; preds = %4544
  %4546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4546, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4547 = call ptr @__errno_location() #11
  store i32 0, ptr %4547, align 4, !tbaa !5
  br label %4548

4548:                                             ; preds = %4545
  br label %4549

4549:                                             ; preds = %4548
  br label %4550

4550:                                             ; preds = %4549
  br label %4551

4551:                                             ; preds = %4550
  br label %4552

4552:                                             ; preds = %4551
  br label %4553

4553:                                             ; preds = %4552
  br label %4554

4554:                                             ; preds = %4553
  %4555 = load i32, ptr @test_count, align 4, !tbaa !5
  %4556 = add nsw i32 %4555, 1
  store i32 %4556, ptr @test_count, align 4, !tbaa !5
  %4557 = call i32 @s2n_connection_set_quic_transport_parameters(ptr noundef %82, ptr noundef null, i16 noundef zeroext 5)
  %4558 = icmp eq i32 %4557, -1
  br i1 %4558, label %4612, label %4559

4559:                                             ; preds = %4554
  br label %4560

4560:                                             ; preds = %4559
  br label %4561

4561:                                             ; preds = %4560
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #10
  %4562 = call ptr @__errno_location() #11
  %4563 = load i32, ptr %4562, align 4, !tbaa !5
  store i32 %4563, ptr %86, align 4, !tbaa !5
  %4564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4565 = call i32 @s2n_print_stacktrace(ptr noundef %4564)
  %4566 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4567 = trunc i8 %4566 to i1
  br i1 %4567, label %4568, label %4590

4568:                                             ; preds = %4561
  %4569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4570 = call i32 @fileno(ptr noundef %4569) #10
  %4571 = call i32 @isatty(i32 noundef %4570) #10
  %4572 = icmp ne i32 %4571, 0
  br i1 %4572, label %4573, label %4590

4573:                                             ; preds = %4568
  %4574 = load i32, ptr %86, align 4, !tbaa !5
  %4575 = call ptr @__errno_location() #11
  store i32 %4574, ptr %4575, align 4, !tbaa !5
  %4576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4577 = load i32, ptr @test_count, align 4, !tbaa !5
  %4578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4579 = load i32, ptr %4578, align 4, !tbaa !5
  %4580 = call ptr @s2n_strerror(i32 noundef %4579, ptr noundef @.str.4)
  %4581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4582 = load i32, ptr %4581, align 4, !tbaa !5
  %4583 = call ptr @s2n_strerror_debug(i32 noundef %4582, ptr noundef @.str.4)
  %4584 = call ptr @__errno_location() #11
  %4585 = load i32, ptr %4584, align 4, !tbaa !5
  %4586 = call ptr @strerror(i32 noundef %4585) #10
  %4587 = call ptr @__errno_location() #11
  %4588 = load i32, ptr %4587, align 4, !tbaa !5
  %4589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4576, ptr noundef @.str.2, i32 noundef %4577, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 159, ptr noundef %4580, ptr noundef %4583, ptr noundef %4586, i32 noundef %4588) #10
  br label %4607

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

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

4608:                                             ; preds = %4607
  br label %4609

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

4610:                                             ; No predecessors!
  br label %4611

4611:                                             ; preds = %4610
  br label %4612

4612:                                             ; preds = %4611, %4554
  br label %4613

4613:                                             ; preds = %4612
  br label %4614

4614:                                             ; preds = %4613
  br label %4615

4615:                                             ; preds = %4614
  %4616 = load i32, ptr @test_count, align 4, !tbaa !5
  %4617 = add nsw i32 %4616, 1
  store i32 %4617, ptr @test_count, align 4, !tbaa !5
  %4618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4619 = load i32, ptr %4618, align 4, !tbaa !5
  %4620 = icmp eq i32 %4619, 402653193
  br i1 %4620, label %4674, label %4621

4621:                                             ; preds = %4615
  br label %4622

4622:                                             ; preds = %4621
  br label %4623

4623:                                             ; preds = %4622
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #10
  %4624 = call ptr @__errno_location() #11
  %4625 = load i32, ptr %4624, align 4, !tbaa !5
  store i32 %4625, ptr %87, align 4, !tbaa !5
  %4626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4627 = call i32 @s2n_print_stacktrace(ptr noundef %4626)
  %4628 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4629 = trunc i8 %4628 to i1
  br i1 %4629, label %4630, label %4652

4630:                                             ; preds = %4623
  %4631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4632 = call i32 @fileno(ptr noundef %4631) #10
  %4633 = call i32 @isatty(i32 noundef %4632) #10
  %4634 = icmp ne i32 %4633, 0
  br i1 %4634, label %4635, label %4652

4635:                                             ; preds = %4630
  %4636 = load i32, ptr %87, align 4, !tbaa !5
  %4637 = call ptr @__errno_location() #11
  store i32 %4636, ptr %4637, align 4, !tbaa !5
  %4638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4639 = load i32, ptr @test_count, align 4, !tbaa !5
  %4640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4641 = load i32, ptr %4640, align 4, !tbaa !5
  %4642 = call ptr @s2n_strerror(i32 noundef %4641, ptr noundef @.str.4)
  %4643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4644 = load i32, ptr %4643, align 4, !tbaa !5
  %4645 = call ptr @s2n_strerror_debug(i32 noundef %4644, ptr noundef @.str.4)
  %4646 = call ptr @__errno_location() #11
  %4647 = load i32, ptr %4646, align 4, !tbaa !5
  %4648 = call ptr @strerror(i32 noundef %4647) #10
  %4649 = call ptr @__errno_location() #11
  %4650 = load i32, ptr %4649, align 4, !tbaa !5
  %4651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4638, ptr noundef @.str.2, i32 noundef %4639, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 159, ptr noundef %4642, ptr noundef %4645, ptr noundef %4648, i32 noundef %4650) #10
  br label %4669

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

4669:                                             ; preds = %4652, %4635
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #10
  br label %4670

4670:                                             ; preds = %4669
  br label %4671

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

4672:                                             ; No predecessors!
  br label %4673

4673:                                             ; preds = %4672
  br label %4674

4674:                                             ; preds = %4673, %4615
  br label %4675

4675:                                             ; preds = %4674
  br label %4676

4676:                                             ; preds = %4675
  br label %4677

4677:                                             ; preds = %4676
  %4678 = load i32, ptr @test_count, align 4, !tbaa !5
  %4679 = add nsw i32 %4678, 1
  store i32 %4679, ptr @test_count, align 4, !tbaa !5
  %4680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4681 = load i32, ptr %4680, align 4, !tbaa !5
  %4682 = call ptr @s2n_strerror_debug(i32 noundef %4681, ptr noundef @.str.4)
  %4683 = icmp eq ptr %4682, null
  br i1 %4683, label %4684, label %4737

4684:                                             ; preds = %4677
  br label %4685

4685:                                             ; preds = %4684
  br label %4686

4686:                                             ; preds = %4685
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #10
  %4687 = call ptr @__errno_location() #11
  %4688 = load i32, ptr %4687, align 4, !tbaa !5
  store i32 %4688, ptr %88, align 4, !tbaa !5
  %4689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4690 = call i32 @s2n_print_stacktrace(ptr noundef %4689)
  %4691 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4692 = trunc i8 %4691 to i1
  br i1 %4692, label %4693, label %4715

4693:                                             ; preds = %4686
  %4694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4695 = call i32 @fileno(ptr noundef %4694) #10
  %4696 = call i32 @isatty(i32 noundef %4695) #10
  %4697 = icmp ne i32 %4696, 0
  br i1 %4697, label %4698, label %4715

4698:                                             ; preds = %4693
  %4699 = load i32, ptr %88, align 4, !tbaa !5
  %4700 = call ptr @__errno_location() #11
  store i32 %4699, ptr %4700, align 4, !tbaa !5
  %4701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4702 = load i32, ptr @test_count, align 4, !tbaa !5
  %4703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4704 = load i32, ptr %4703, align 4, !tbaa !5
  %4705 = call ptr @s2n_strerror(i32 noundef %4704, ptr noundef @.str.4)
  %4706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4707 = load i32, ptr %4706, align 4, !tbaa !5
  %4708 = call ptr @s2n_strerror_debug(i32 noundef %4707, ptr noundef @.str.4)
  %4709 = call ptr @__errno_location() #11
  %4710 = load i32, ptr %4709, align 4, !tbaa !5
  %4711 = call ptr @strerror(i32 noundef %4710) #10
  %4712 = call ptr @__errno_location() #11
  %4713 = load i32, ptr %4712, align 4, !tbaa !5
  %4714 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4701, ptr noundef @.str.2, i32 noundef %4702, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 159, ptr noundef %4705, ptr noundef %4708, ptr noundef %4711, i32 noundef %4713) #10
  br label %4732

4715:                                             ; preds = %4693, %4686
  %4716 = load i32, ptr %88, align 4, !tbaa !5
  %4717 = call ptr @__errno_location() #11
  store i32 %4716, ptr %4717, align 4, !tbaa !5
  %4718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4719 = load i32, ptr @test_count, align 4, !tbaa !5
  %4720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4721 = load i32, ptr %4720, align 4, !tbaa !5
  %4722 = call ptr @s2n_strerror(i32 noundef %4721, ptr noundef @.str.4)
  %4723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4724 = load i32, ptr %4723, align 4, !tbaa !5
  %4725 = call ptr @s2n_strerror_debug(i32 noundef %4724, ptr noundef @.str.4)
  %4726 = call ptr @__errno_location() #11
  %4727 = load i32, ptr %4726, align 4, !tbaa !5
  %4728 = call ptr @strerror(i32 noundef %4727) #10
  %4729 = call ptr @__errno_location() #11
  %4730 = load i32, ptr %4729, align 4, !tbaa !5
  %4731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4718, ptr noundef @.str.5, i32 noundef %4719, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 159, ptr noundef %4722, ptr noundef %4725, ptr noundef %4728, i32 noundef %4730) #10
  br label %4732

4732:                                             ; preds = %4715, %4698
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #10
  br label %4733

4733:                                             ; preds = %4732
  br label %4734

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

4735:                                             ; No predecessors!
  br label %4736

4736:                                             ; preds = %4735
  br label %4737

4737:                                             ; preds = %4736, %4677
  br label %4738

4738:                                             ; preds = %4737
  br label %4739

4739:                                             ; preds = %4738
  br label %4740

4740:                                             ; preds = %4739
  br label %4741

4741:                                             ; preds = %4740
  br label %4742

4742:                                             ; preds = %4741
  %4743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4743, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4744 = call ptr @__errno_location() #11
  store i32 0, ptr %4744, align 4, !tbaa !5
  br label %4745

4745:                                             ; preds = %4742
  br label %4746

4746:                                             ; preds = %4745
  br label %4747

4747:                                             ; preds = %4746
  br label %4748

4748:                                             ; preds = %4747
  br label %4749

4749:                                             ; preds = %4748
  %4750 = load i32, ptr @test_count, align 4, !tbaa !5
  %4751 = add nsw i32 %4750, 1
  store i32 %4751, ptr @test_count, align 4, !tbaa !5
  %4752 = call i32 @s2n_connection_set_quic_transport_parameters(ptr noundef %82, ptr noundef @TEST_DATA, i16 noundef zeroext 0)
  %4753 = icmp eq i32 %4752, -1
  br i1 %4753, label %4754, label %4807

4754:                                             ; preds = %4749
  br label %4755

4755:                                             ; preds = %4754
  br label %4756

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

4763:                                             ; preds = %4756
  %4764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4765 = call i32 @fileno(ptr noundef %4764) #10
  %4766 = call i32 @isatty(i32 noundef %4765) #10
  %4767 = icmp ne i32 %4766, 0
  br i1 %4767, label %4768, label %4785

4768:                                             ; preds = %4763
  %4769 = load i32, ptr %89, align 4, !tbaa !5
  %4770 = call ptr @__errno_location() #11
  store i32 %4769, ptr %4770, align 4, !tbaa !5
  %4771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4772 = load i32, ptr @test_count, align 4, !tbaa !5
  %4773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4774 = load i32, ptr %4773, align 4, !tbaa !5
  %4775 = call ptr @s2n_strerror(i32 noundef %4774, ptr noundef @.str.4)
  %4776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4777 = load i32, ptr %4776, align 4, !tbaa !5
  %4778 = call ptr @s2n_strerror_debug(i32 noundef %4777, ptr noundef @.str.4)
  %4779 = call ptr @__errno_location() #11
  %4780 = load i32, ptr %4779, align 4, !tbaa !5
  %4781 = call ptr @strerror(i32 noundef %4780) #10
  %4782 = call ptr @__errno_location() #11
  %4783 = load i32, ptr %4782, align 4, !tbaa !5
  %4784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4771, ptr noundef @.str.2, i32 noundef %4772, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 160, ptr noundef %4775, ptr noundef %4778, ptr noundef %4781, i32 noundef %4783) #10
  br label %4802

4785:                                             ; preds = %4763, %4756
  %4786 = load i32, ptr %89, align 4, !tbaa !5
  %4787 = call ptr @__errno_location() #11
  store i32 %4786, ptr %4787, align 4, !tbaa !5
  %4788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4789 = load i32, ptr @test_count, align 4, !tbaa !5
  %4790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4791 = load i32, ptr %4790, align 4, !tbaa !5
  %4792 = call ptr @s2n_strerror(i32 noundef %4791, ptr noundef @.str.4)
  %4793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4794 = load i32, ptr %4793, align 4, !tbaa !5
  %4795 = call ptr @s2n_strerror_debug(i32 noundef %4794, ptr noundef @.str.4)
  %4796 = call ptr @__errno_location() #11
  %4797 = load i32, ptr %4796, align 4, !tbaa !5
  %4798 = call ptr @strerror(i32 noundef %4797) #10
  %4799 = call ptr @__errno_location() #11
  %4800 = load i32, ptr %4799, align 4, !tbaa !5
  %4801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4788, ptr noundef @.str.5, i32 noundef %4789, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 160, ptr noundef %4792, ptr noundef %4795, ptr noundef %4798, i32 noundef %4800) #10
  br label %4802

4802:                                             ; preds = %4785, %4768
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #10
  br label %4803

4803:                                             ; preds = %4802
  br label %4804

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

4805:                                             ; No predecessors!
  br label %4806

4806:                                             ; preds = %4805
  br label %4807

4807:                                             ; preds = %4806, %4749
  br label %4808

4808:                                             ; preds = %4807
  br label %4809

4809:                                             ; preds = %4808
  br label %4810

4810:                                             ; preds = %4809
  %4811 = load i32, ptr @test_count, align 4, !tbaa !5
  %4812 = add nsw i32 %4811, 1
  store i32 %4812, ptr @test_count, align 4, !tbaa !5
  %4813 = getelementptr inbounds %struct.s2n_connection, ptr %82, i32 0, i32 69
  %4814 = getelementptr inbounds %struct.s2n_blob, ptr %4813, i32 0, i32 1
  %4815 = load i32, ptr %4814, align 8, !tbaa !42
  %4816 = icmp eq i32 %4815, 0
  br i1 %4816, label %4870, label %4817

4817:                                             ; preds = %4810
  br label %4818

4818:                                             ; preds = %4817
  br label %4819

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

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

4831:                                             ; preds = %4826
  %4832 = load i32, ptr %90, align 4, !tbaa !5
  %4833 = call ptr @__errno_location() #11
  store i32 %4832, ptr %4833, align 4, !tbaa !5
  %4834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4835 = load i32, ptr @test_count, align 4, !tbaa !5
  %4836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4837 = load i32, ptr %4836, align 4, !tbaa !5
  %4838 = call ptr @s2n_strerror(i32 noundef %4837, ptr noundef @.str.4)
  %4839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4840 = load i32, ptr %4839, align 4, !tbaa !5
  %4841 = call ptr @s2n_strerror_debug(i32 noundef %4840, ptr noundef @.str.4)
  %4842 = call ptr @__errno_location() #11
  %4843 = load i32, ptr %4842, align 4, !tbaa !5
  %4844 = call ptr @strerror(i32 noundef %4843) #10
  %4845 = call ptr @__errno_location() #11
  %4846 = load i32, ptr %4845, align 4, !tbaa !5
  %4847 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4834, ptr noundef @.str.2, i32 noundef %4835, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 161, ptr noundef %4838, ptr noundef %4841, ptr noundef %4844, i32 noundef %4846) #10
  br label %4865

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

4865:                                             ; preds = %4848, %4831
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #10
  br label %4866

4866:                                             ; preds = %4865
  br label %4867

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

4868:                                             ; No predecessors!
  br label %4869

4869:                                             ; preds = %4868
  br label %4870

4870:                                             ; preds = %4869, %4810
  br label %4871

4871:                                             ; preds = %4870
  br label %4872

4872:                                             ; preds = %4871
  call void @llvm.lifetime.end.p0(i64 4184, ptr %82) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %91) #10
  store ptr null, ptr %91, align 8, !tbaa !9
  br label %4873

4873:                                             ; preds = %4872
  %4874 = load i32, ptr @test_count, align 4, !tbaa !5
  %4875 = add nsw i32 %4874, 1
  store i32 %4875, ptr @test_count, align 4, !tbaa !5
  %4876 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %4876, ptr %91, align 8, !tbaa !9
  %4877 = icmp eq ptr %4876, null
  br i1 %4877, label %4878, label %4931

4878:                                             ; preds = %4873
  br label %4879

4879:                                             ; preds = %4878
  br label %4880

4880:                                             ; preds = %4879
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #10
  %4881 = call ptr @__errno_location() #11
  %4882 = load i32, ptr %4881, align 4, !tbaa !5
  store i32 %4882, ptr %92, align 4, !tbaa !5
  %4883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4884 = call i32 @s2n_print_stacktrace(ptr noundef %4883)
  %4885 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4886 = trunc i8 %4885 to i1
  br i1 %4886, label %4887, label %4909

4887:                                             ; preds = %4880
  %4888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4889 = call i32 @fileno(ptr noundef %4888) #10
  %4890 = call i32 @isatty(i32 noundef %4889) #10
  %4891 = icmp ne i32 %4890, 0
  br i1 %4891, label %4892, label %4909

4892:                                             ; preds = %4887
  %4893 = load i32, ptr %92, align 4, !tbaa !5
  %4894 = call ptr @__errno_location() #11
  store i32 %4893, ptr %4894, align 4, !tbaa !5
  %4895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4896 = load i32, ptr @test_count, align 4, !tbaa !5
  %4897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4898 = load i32, ptr %4897, align 4, !tbaa !5
  %4899 = call ptr @s2n_strerror(i32 noundef %4898, ptr noundef @.str.4)
  %4900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4901 = load i32, ptr %4900, align 4, !tbaa !5
  %4902 = call ptr @s2n_strerror_debug(i32 noundef %4901, ptr noundef @.str.4)
  %4903 = call ptr @__errno_location() #11
  %4904 = load i32, ptr %4903, align 4, !tbaa !5
  %4905 = call ptr @strerror(i32 noundef %4904) #10
  %4906 = call ptr @__errno_location() #11
  %4907 = load i32, ptr %4906, align 4, !tbaa !5
  %4908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4895, ptr noundef @.str.2, i32 noundef %4896, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 167, ptr noundef %4899, ptr noundef %4902, ptr noundef %4905, i32 noundef %4907) #10
  br label %4926

4909:                                             ; preds = %4887, %4880
  %4910 = load i32, ptr %92, align 4, !tbaa !5
  %4911 = call ptr @__errno_location() #11
  store i32 %4910, ptr %4911, align 4, !tbaa !5
  %4912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4913 = load i32, ptr @test_count, align 4, !tbaa !5
  %4914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4915 = load i32, ptr %4914, align 4, !tbaa !5
  %4916 = call ptr @s2n_strerror(i32 noundef %4915, ptr noundef @.str.4)
  %4917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4918 = load i32, ptr %4917, align 4, !tbaa !5
  %4919 = call ptr @s2n_strerror_debug(i32 noundef %4918, ptr noundef @.str.4)
  %4920 = call ptr @__errno_location() #11
  %4921 = load i32, ptr %4920, align 4, !tbaa !5
  %4922 = call ptr @strerror(i32 noundef %4921) #10
  %4923 = call ptr @__errno_location() #11
  %4924 = load i32, ptr %4923, align 4, !tbaa !5
  %4925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4912, ptr noundef @.str.5, i32 noundef %4913, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 167, ptr noundef %4916, ptr noundef %4919, ptr noundef %4922, i32 noundef %4924) #10
  br label %4926

4926:                                             ; preds = %4909, %4892
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #10
  br label %4927

4927:                                             ; preds = %4926
  br label %4928

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

4929:                                             ; No predecessors!
  br label %4930

4930:                                             ; preds = %4929
  br label %4931

4931:                                             ; preds = %4930, %4873
  br label %4932

4932:                                             ; preds = %4931
  br label %4933

4933:                                             ; preds = %4932
  %4934 = load ptr, ptr %91, align 8, !tbaa !9
  %4935 = call i32 @s2n_connection_set_quic_transport_parameters(ptr noundef %4934, ptr noundef @TEST_DATA, i16 noundef zeroext 5)
  br label %4936

4936:                                             ; preds = %4933
  br label %4937

4937:                                             ; preds = %4936
  %4938 = load i32, ptr @test_count, align 4, !tbaa !5
  %4939 = add nsw i32 %4938, 1
  store i32 %4939, ptr @test_count, align 4, !tbaa !5
  %4940 = load ptr, ptr %91, align 8, !tbaa !9
  %4941 = getelementptr inbounds %struct.s2n_connection, ptr %4940, i32 0, i32 69
  %4942 = getelementptr inbounds %struct.s2n_blob, ptr %4941, i32 0, i32 0
  %4943 = load ptr, ptr %4942, align 8, !tbaa !43
  %4944 = call i32 @memcmp(ptr noundef %4943, ptr noundef @TEST_DATA, i64 noundef 5) #13
  %4945 = icmp eq i32 %4944, 0
  br i1 %4945, label %4999, label %4946

4946:                                             ; preds = %4937
  br label %4947

4947:                                             ; preds = %4946
  br label %4948

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

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

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

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

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

4995:                                             ; preds = %4994
  br label %4996

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

4997:                                             ; No predecessors!
  br label %4998

4998:                                             ; preds = %4997
  br label %4999

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

5000:                                             ; preds = %4999
  br label %5001

5001:                                             ; preds = %5000
  br label %5002

5002:                                             ; preds = %5001
  br label %5003

5003:                                             ; preds = %5002
  call void @llvm.lifetime.start.p0(i64 17, ptr %94) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %94, ptr align 16 @__const.main.other_data, i64 17, i1 false)
  %5004 = load ptr, ptr %91, align 8, !tbaa !9
  %5005 = getelementptr inbounds [17 x i8], ptr %94, i64 0, i64 0
  %5006 = call i32 @s2n_connection_set_quic_transport_parameters(ptr noundef %5004, ptr noundef %5005, i16 noundef zeroext 17)
  br label %5007

5007:                                             ; preds = %5003
  br label %5008

5008:                                             ; preds = %5007
  %5009 = load i32, ptr @test_count, align 4, !tbaa !5
  %5010 = add nsw i32 %5009, 1
  store i32 %5010, ptr @test_count, align 4, !tbaa !5
  %5011 = load ptr, ptr %91, align 8, !tbaa !9
  %5012 = getelementptr inbounds %struct.s2n_connection, ptr %5011, i32 0, i32 69
  %5013 = getelementptr inbounds %struct.s2n_blob, ptr %5012, i32 0, i32 0
  %5014 = load ptr, ptr %5013, align 8, !tbaa !43
  %5015 = getelementptr inbounds [17 x i8], ptr %94, i64 0, i64 0
  %5016 = call i32 @memcmp(ptr noundef %5014, ptr noundef %5015, i64 noundef 17) #13
  %5017 = icmp eq i32 %5016, 0
  br i1 %5017, label %5071, label %5018

5018:                                             ; preds = %5008
  br label %5019

5019:                                             ; preds = %5018
  br label %5020

5020:                                             ; preds = %5019
  call void @llvm.lifetime.start.p0(i64 4, ptr %95) #10
  %5021 = call ptr @__errno_location() #11
  %5022 = load i32, ptr %5021, align 4, !tbaa !5
  store i32 %5022, ptr %95, 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) #10
  %5030 = call i32 @isatty(i32 noundef %5029) #10
  %5031 = icmp ne i32 %5030, 0
  br i1 %5031, label %5032, label %5049

5032:                                             ; preds = %5027
  %5033 = load i32, ptr %95, align 4, !tbaa !5
  %5034 = call ptr @__errno_location() #11
  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() #11
  %5044 = load i32, ptr %5043, align 4, !tbaa !5
  %5045 = call ptr @strerror(i32 noundef %5044) #10
  %5046 = call ptr @__errno_location() #11
  %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.47, ptr noundef @.str.1, i32 noundef 175, ptr noundef %5039, ptr noundef %5042, ptr noundef %5045, i32 noundef %5047) #10
  br label %5066

5049:                                             ; preds = %5027, %5020
  %5050 = load i32, ptr %95, align 4, !tbaa !5
  %5051 = call ptr @__errno_location() #11
  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() #11
  %5061 = load i32, ptr %5060, align 4, !tbaa !5
  %5062 = call ptr @strerror(i32 noundef %5061) #10
  %5063 = call ptr @__errno_location() #11
  %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.47, ptr noundef @.str.1, i32 noundef 175, ptr noundef %5056, ptr noundef %5059, ptr noundef %5062, i32 noundef %5064) #10
  br label %5066

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

5067:                                             ; preds = %5066
  br label %5068

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

5069:                                             ; No predecessors!
  br label %5070

5070:                                             ; preds = %5069
  br label %5071

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

5072:                                             ; preds = %5071
  br label %5073

5073:                                             ; preds = %5072
  br label %5074

5074:                                             ; preds = %5073
  br label %5075

5075:                                             ; preds = %5074
  br label %5076

5076:                                             ; preds = %5075
  %5077 = load i32, ptr @test_count, align 4, !tbaa !5
  %5078 = add nsw i32 %5077, 1
  store i32 %5078, ptr @test_count, align 4, !tbaa !5
  %5079 = load ptr, ptr %91, align 8, !tbaa !9
  %5080 = call i32 @s2n_connection_free(ptr noundef %5079)
  %5081 = icmp eq i32 %5080, -1
  br i1 %5081, label %5082, label %5135

5082:                                             ; preds = %5076
  br label %5083

5083:                                             ; preds = %5082
  br label %5084

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

5091:                                             ; preds = %5084
  %5092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5093 = call i32 @fileno(ptr noundef %5092) #10
  %5094 = call i32 @isatty(i32 noundef %5093) #10
  %5095 = icmp ne i32 %5094, 0
  br i1 %5095, label %5096, label %5113

5096:                                             ; preds = %5091
  %5097 = load i32, ptr %96, align 4, !tbaa !5
  %5098 = call ptr @__errno_location() #11
  store i32 %5097, ptr %5098, align 4, !tbaa !5
  %5099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5100 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %5102, ptr noundef @.str.4)
  %5104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5105 = load i32, ptr %5104, align 4, !tbaa !5
  %5106 = call ptr @s2n_strerror_debug(i32 noundef %5105, ptr noundef @.str.4)
  %5107 = call ptr @__errno_location() #11
  %5108 = load i32, ptr %5107, align 4, !tbaa !5
  %5109 = call ptr @strerror(i32 noundef %5108) #10
  %5110 = call ptr @__errno_location() #11
  %5111 = load i32, ptr %5110, align 4, !tbaa !5
  %5112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5099, ptr noundef @.str.2, i32 noundef %5100, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 177, ptr noundef %5103, ptr noundef %5106, ptr noundef %5109, i32 noundef %5111) #10
  br label %5130

5113:                                             ; preds = %5091, %5084
  %5114 = load i32, ptr %96, align 4, !tbaa !5
  %5115 = call ptr @__errno_location() #11
  store i32 %5114, ptr %5115, align 4, !tbaa !5
  %5116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5117 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %5119, ptr noundef @.str.4)
  %5121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5122 = load i32, ptr %5121, align 4, !tbaa !5
  %5123 = call ptr @s2n_strerror_debug(i32 noundef %5122, ptr noundef @.str.4)
  %5124 = call ptr @__errno_location() #11
  %5125 = load i32, ptr %5124, align 4, !tbaa !5
  %5126 = call ptr @strerror(i32 noundef %5125) #10
  %5127 = call ptr @__errno_location() #11
  %5128 = load i32, ptr %5127, align 4, !tbaa !5
  %5129 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5116, ptr noundef @.str.5, i32 noundef %5117, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 177, ptr noundef %5120, ptr noundef %5123, ptr noundef %5126, i32 noundef %5128) #10
  br label %5130

5130:                                             ; preds = %5113, %5096
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #10
  br label %5131

5131:                                             ; preds = %5130
  br label %5132

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

5133:                                             ; No predecessors!
  br label %5134

5134:                                             ; preds = %5133
  br label %5135

5135:                                             ; preds = %5134, %5076
  br label %5136

5136:                                             ; preds = %5135
  br label %5137

5137:                                             ; preds = %5136
  call void @llvm.lifetime.end.p0(i64 17, ptr %94) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #10
  call void @llvm.lifetime.start.p0(i64 4184, ptr %97) #10
  call void @llvm.memset.p0.i64(ptr align 8 %97, i8 0, i64 4184, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %98) #10
  store ptr null, ptr %98, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 2, ptr %99) #10
  store i16 0, ptr %99, align 2, !tbaa !44
  br label %5138

5138:                                             ; preds = %5137
  br label %5139

5139:                                             ; preds = %5138
  br label %5140

5140:                                             ; preds = %5139
  %5141 = load i32, ptr @test_count, align 4, !tbaa !5
  %5142 = add nsw i32 %5141, 1
  store i32 %5142, ptr @test_count, align 4, !tbaa !5
  %5143 = call i32 @s2n_connection_get_quic_transport_parameters(ptr noundef null, ptr noundef %98, ptr noundef %99)
  %5144 = icmp eq i32 %5143, -1
  br i1 %5144, label %5198, label %5145

5145:                                             ; preds = %5140
  br label %5146

5146:                                             ; preds = %5145
  br label %5147

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

5154:                                             ; preds = %5147
  %5155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5156 = call i32 @fileno(ptr noundef %5155) #10
  %5157 = call i32 @isatty(i32 noundef %5156) #10
  %5158 = icmp ne i32 %5157, 0
  br i1 %5158, label %5159, label %5176

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

5176:                                             ; preds = %5154, %5147
  %5177 = load i32, ptr %100, align 4, !tbaa !5
  %5178 = call ptr @__errno_location() #11
  store i32 %5177, ptr %5178, align 4, !tbaa !5
  %5179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5180 = load i32, ptr @test_count, align 4, !tbaa !5
  %5181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5182 = load i32, ptr %5181, align 4, !tbaa !5
  %5183 = call ptr @s2n_strerror(i32 noundef %5182, ptr noundef @.str.4)
  %5184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5185 = load i32, ptr %5184, align 4, !tbaa !5
  %5186 = call ptr @s2n_strerror_debug(i32 noundef %5185, ptr noundef @.str.4)
  %5187 = call ptr @__errno_location() #11
  %5188 = load i32, ptr %5187, align 4, !tbaa !5
  %5189 = call ptr @strerror(i32 noundef %5188) #10
  %5190 = call ptr @__errno_location() #11
  %5191 = load i32, ptr %5190, align 4, !tbaa !5
  %5192 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5179, ptr noundef @.str.5, i32 noundef %5180, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 190, ptr noundef %5183, ptr noundef %5186, ptr noundef %5189, i32 noundef %5191) #10
  br label %5193

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

5194:                                             ; preds = %5193
  br label %5195

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

5196:                                             ; No predecessors!
  br label %5197

5197:                                             ; preds = %5196
  br label %5198

5198:                                             ; preds = %5197, %5140
  br label %5199

5199:                                             ; preds = %5198
  br label %5200

5200:                                             ; preds = %5199
  br label %5201

5201:                                             ; preds = %5200
  %5202 = load i32, ptr @test_count, align 4, !tbaa !5
  %5203 = add nsw i32 %5202, 1
  store i32 %5203, ptr @test_count, align 4, !tbaa !5
  %5204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5205 = load i32, ptr %5204, align 4, !tbaa !5
  %5206 = icmp eq i32 %5205, 402653193
  br i1 %5206, label %5260, label %5207

5207:                                             ; preds = %5201
  br label %5208

5208:                                             ; preds = %5207
  br label %5209

5209:                                             ; preds = %5208
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #10
  %5210 = call ptr @__errno_location() #11
  %5211 = load i32, ptr %5210, align 4, !tbaa !5
  store i32 %5211, ptr %101, align 4, !tbaa !5
  %5212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5213 = call i32 @s2n_print_stacktrace(ptr noundef %5212)
  %5214 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5215 = trunc i8 %5214 to i1
  br i1 %5215, label %5216, label %5238

5216:                                             ; preds = %5209
  %5217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5218 = call i32 @fileno(ptr noundef %5217) #10
  %5219 = call i32 @isatty(i32 noundef %5218) #10
  %5220 = icmp ne i32 %5219, 0
  br i1 %5220, label %5221, label %5238

5221:                                             ; preds = %5216
  %5222 = load i32, ptr %101, align 4, !tbaa !5
  %5223 = call ptr @__errno_location() #11
  store i32 %5222, ptr %5223, align 4, !tbaa !5
  %5224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5225 = load i32, ptr @test_count, align 4, !tbaa !5
  %5226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5227 = load i32, ptr %5226, align 4, !tbaa !5
  %5228 = call ptr @s2n_strerror(i32 noundef %5227, ptr noundef @.str.4)
  %5229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5230 = load i32, ptr %5229, align 4, !tbaa !5
  %5231 = call ptr @s2n_strerror_debug(i32 noundef %5230, ptr noundef @.str.4)
  %5232 = call ptr @__errno_location() #11
  %5233 = load i32, ptr %5232, align 4, !tbaa !5
  %5234 = call ptr @strerror(i32 noundef %5233) #10
  %5235 = call ptr @__errno_location() #11
  %5236 = load i32, ptr %5235, align 4, !tbaa !5
  %5237 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5224, ptr noundef @.str.2, i32 noundef %5225, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 190, ptr noundef %5228, ptr noundef %5231, ptr noundef %5234, i32 noundef %5236) #10
  br label %5255

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

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

5256:                                             ; preds = %5255
  br label %5257

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

5258:                                             ; No predecessors!
  br label %5259

5259:                                             ; preds = %5258
  br label %5260

5260:                                             ; preds = %5259, %5201
  br label %5261

5261:                                             ; preds = %5260
  br label %5262

5262:                                             ; preds = %5261
  br label %5263

5263:                                             ; preds = %5262
  %5264 = load i32, ptr @test_count, align 4, !tbaa !5
  %5265 = add nsw i32 %5264, 1
  store i32 %5265, ptr @test_count, align 4, !tbaa !5
  %5266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5267 = load i32, ptr %5266, align 4, !tbaa !5
  %5268 = call ptr @s2n_strerror_debug(i32 noundef %5267, ptr noundef @.str.4)
  %5269 = icmp eq ptr %5268, null
  br i1 %5269, label %5270, label %5323

5270:                                             ; preds = %5263
  br label %5271

5271:                                             ; preds = %5270
  br label %5272

5272:                                             ; preds = %5271
  call void @llvm.lifetime.start.p0(i64 4, ptr %102) #10
  %5273 = call ptr @__errno_location() #11
  %5274 = load i32, ptr %5273, align 4, !tbaa !5
  store i32 %5274, ptr %102, align 4, !tbaa !5
  %5275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5276 = call i32 @s2n_print_stacktrace(ptr noundef %5275)
  %5277 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5278 = trunc i8 %5277 to i1
  br i1 %5278, label %5279, label %5301

5279:                                             ; preds = %5272
  %5280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5281 = call i32 @fileno(ptr noundef %5280) #10
  %5282 = call i32 @isatty(i32 noundef %5281) #10
  %5283 = icmp ne i32 %5282, 0
  br i1 %5283, label %5284, label %5301

5284:                                             ; preds = %5279
  %5285 = load i32, ptr %102, align 4, !tbaa !5
  %5286 = call ptr @__errno_location() #11
  store i32 %5285, ptr %5286, align 4, !tbaa !5
  %5287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5288 = load i32, ptr @test_count, align 4, !tbaa !5
  %5289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5290 = load i32, ptr %5289, align 4, !tbaa !5
  %5291 = call ptr @s2n_strerror(i32 noundef %5290, ptr noundef @.str.4)
  %5292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5293 = load i32, ptr %5292, align 4, !tbaa !5
  %5294 = call ptr @s2n_strerror_debug(i32 noundef %5293, ptr noundef @.str.4)
  %5295 = call ptr @__errno_location() #11
  %5296 = load i32, ptr %5295, align 4, !tbaa !5
  %5297 = call ptr @strerror(i32 noundef %5296) #10
  %5298 = call ptr @__errno_location() #11
  %5299 = load i32, ptr %5298, align 4, !tbaa !5
  %5300 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5287, ptr noundef @.str.2, i32 noundef %5288, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 190, ptr noundef %5291, ptr noundef %5294, ptr noundef %5297, i32 noundef %5299) #10
  br label %5318

5301:                                             ; preds = %5279, %5272
  %5302 = load i32, ptr %102, align 4, !tbaa !5
  %5303 = call ptr @__errno_location() #11
  store i32 %5302, ptr %5303, align 4, !tbaa !5
  %5304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5305 = load i32, ptr @test_count, align 4, !tbaa !5
  %5306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5307 = load i32, ptr %5306, align 4, !tbaa !5
  %5308 = call ptr @s2n_strerror(i32 noundef %5307, ptr noundef @.str.4)
  %5309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5310 = load i32, ptr %5309, align 4, !tbaa !5
  %5311 = call ptr @s2n_strerror_debug(i32 noundef %5310, ptr noundef @.str.4)
  %5312 = call ptr @__errno_location() #11
  %5313 = load i32, ptr %5312, align 4, !tbaa !5
  %5314 = call ptr @strerror(i32 noundef %5313) #10
  %5315 = call ptr @__errno_location() #11
  %5316 = load i32, ptr %5315, align 4, !tbaa !5
  %5317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5304, ptr noundef @.str.5, i32 noundef %5305, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 190, ptr noundef %5308, ptr noundef %5311, ptr noundef %5314, i32 noundef %5316) #10
  br label %5318

5318:                                             ; preds = %5301, %5284
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #10
  br label %5319

5319:                                             ; preds = %5318
  br label %5320

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

5321:                                             ; No predecessors!
  br label %5322

5322:                                             ; preds = %5321
  br label %5323

5323:                                             ; preds = %5322, %5263
  br label %5324

5324:                                             ; preds = %5323
  br label %5325

5325:                                             ; preds = %5324
  br label %5326

5326:                                             ; preds = %5325
  br label %5327

5327:                                             ; preds = %5326
  br label %5328

5328:                                             ; preds = %5327
  %5329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5329, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5330 = call ptr @__errno_location() #11
  store i32 0, ptr %5330, align 4, !tbaa !5
  br label %5331

5331:                                             ; preds = %5328
  br label %5332

5332:                                             ; preds = %5331
  br label %5333

5333:                                             ; preds = %5332
  br label %5334

5334:                                             ; preds = %5333
  br label %5335

5335:                                             ; preds = %5334
  br label %5336

5336:                                             ; preds = %5335
  br label %5337

5337:                                             ; preds = %5336
  %5338 = load i32, ptr @test_count, align 4, !tbaa !5
  %5339 = add nsw i32 %5338, 1
  store i32 %5339, ptr @test_count, align 4, !tbaa !5
  %5340 = call i32 @s2n_connection_get_quic_transport_parameters(ptr noundef %97, ptr noundef null, ptr noundef %99)
  %5341 = icmp eq i32 %5340, -1
  br i1 %5341, label %5395, label %5342

5342:                                             ; preds = %5337
  br label %5343

5343:                                             ; preds = %5342
  br label %5344

5344:                                             ; preds = %5343
  call void @llvm.lifetime.start.p0(i64 4, ptr %103) #10
  %5345 = call ptr @__errno_location() #11
  %5346 = load i32, ptr %5345, align 4, !tbaa !5
  store i32 %5346, ptr %103, align 4, !tbaa !5
  %5347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5348 = call i32 @s2n_print_stacktrace(ptr noundef %5347)
  %5349 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5350 = trunc i8 %5349 to i1
  br i1 %5350, label %5351, label %5373

5351:                                             ; preds = %5344
  %5352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5353 = call i32 @fileno(ptr noundef %5352) #10
  %5354 = call i32 @isatty(i32 noundef %5353) #10
  %5355 = icmp ne i32 %5354, 0
  br i1 %5355, label %5356, label %5373

5356:                                             ; preds = %5351
  %5357 = load i32, ptr %103, align 4, !tbaa !5
  %5358 = call ptr @__errno_location() #11
  store i32 %5357, ptr %5358, align 4, !tbaa !5
  %5359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5360 = load i32, ptr @test_count, align 4, !tbaa !5
  %5361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5362 = load i32, ptr %5361, align 4, !tbaa !5
  %5363 = call ptr @s2n_strerror(i32 noundef %5362, ptr noundef @.str.4)
  %5364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5365 = load i32, ptr %5364, align 4, !tbaa !5
  %5366 = call ptr @s2n_strerror_debug(i32 noundef %5365, ptr noundef @.str.4)
  %5367 = call ptr @__errno_location() #11
  %5368 = load i32, ptr %5367, align 4, !tbaa !5
  %5369 = call ptr @strerror(i32 noundef %5368) #10
  %5370 = call ptr @__errno_location() #11
  %5371 = load i32, ptr %5370, align 4, !tbaa !5
  %5372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5359, ptr noundef @.str.2, i32 noundef %5360, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 192, ptr noundef %5363, ptr noundef %5366, ptr noundef %5369, i32 noundef %5371) #10
  br label %5390

5373:                                             ; preds = %5351, %5344
  %5374 = load i32, ptr %103, align 4, !tbaa !5
  %5375 = call ptr @__errno_location() #11
  store i32 %5374, ptr %5375, align 4, !tbaa !5
  %5376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5377 = load i32, ptr @test_count, align 4, !tbaa !5
  %5378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5379 = load i32, ptr %5378, align 4, !tbaa !5
  %5380 = call ptr @s2n_strerror(i32 noundef %5379, ptr noundef @.str.4)
  %5381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5382 = load i32, ptr %5381, align 4, !tbaa !5
  %5383 = call ptr @s2n_strerror_debug(i32 noundef %5382, ptr noundef @.str.4)
  %5384 = call ptr @__errno_location() #11
  %5385 = load i32, ptr %5384, align 4, !tbaa !5
  %5386 = call ptr @strerror(i32 noundef %5385) #10
  %5387 = call ptr @__errno_location() #11
  %5388 = load i32, ptr %5387, align 4, !tbaa !5
  %5389 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5376, ptr noundef @.str.5, i32 noundef %5377, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 192, ptr noundef %5380, ptr noundef %5383, ptr noundef %5386, i32 noundef %5388) #10
  br label %5390

5390:                                             ; preds = %5373, %5356
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #10
  br label %5391

5391:                                             ; preds = %5390
  br label %5392

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

5393:                                             ; No predecessors!
  br label %5394

5394:                                             ; preds = %5393
  br label %5395

5395:                                             ; preds = %5394, %5337
  br label %5396

5396:                                             ; preds = %5395
  br label %5397

5397:                                             ; preds = %5396
  br label %5398

5398:                                             ; preds = %5397
  %5399 = load i32, ptr @test_count, align 4, !tbaa !5
  %5400 = add nsw i32 %5399, 1
  store i32 %5400, ptr @test_count, align 4, !tbaa !5
  %5401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5402 = load i32, ptr %5401, align 4, !tbaa !5
  %5403 = icmp eq i32 %5402, 402653193
  br i1 %5403, label %5457, label %5404

5404:                                             ; preds = %5398
  br label %5405

5405:                                             ; preds = %5404
  br label %5406

5406:                                             ; preds = %5405
  call void @llvm.lifetime.start.p0(i64 4, ptr %104) #10
  %5407 = call ptr @__errno_location() #11
  %5408 = load i32, ptr %5407, align 4, !tbaa !5
  store i32 %5408, ptr %104, align 4, !tbaa !5
  %5409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5410 = call i32 @s2n_print_stacktrace(ptr noundef %5409)
  %5411 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5412 = trunc i8 %5411 to i1
  br i1 %5412, label %5413, label %5435

5413:                                             ; preds = %5406
  %5414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5415 = call i32 @fileno(ptr noundef %5414) #10
  %5416 = call i32 @isatty(i32 noundef %5415) #10
  %5417 = icmp ne i32 %5416, 0
  br i1 %5417, label %5418, label %5435

5418:                                             ; preds = %5413
  %5419 = load i32, ptr %104, align 4, !tbaa !5
  %5420 = call ptr @__errno_location() #11
  store i32 %5419, ptr %5420, align 4, !tbaa !5
  %5421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5422 = load i32, ptr @test_count, align 4, !tbaa !5
  %5423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5424 = load i32, ptr %5423, align 4, !tbaa !5
  %5425 = call ptr @s2n_strerror(i32 noundef %5424, ptr noundef @.str.4)
  %5426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5427 = load i32, ptr %5426, align 4, !tbaa !5
  %5428 = call ptr @s2n_strerror_debug(i32 noundef %5427, ptr noundef @.str.4)
  %5429 = call ptr @__errno_location() #11
  %5430 = load i32, ptr %5429, align 4, !tbaa !5
  %5431 = call ptr @strerror(i32 noundef %5430) #10
  %5432 = call ptr @__errno_location() #11
  %5433 = load i32, ptr %5432, align 4, !tbaa !5
  %5434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5421, ptr noundef @.str.2, i32 noundef %5422, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 192, ptr noundef %5425, ptr noundef %5428, ptr noundef %5431, i32 noundef %5433) #10
  br label %5452

5435:                                             ; preds = %5413, %5406
  %5436 = load i32, ptr %104, align 4, !tbaa !5
  %5437 = call ptr @__errno_location() #11
  store i32 %5436, ptr %5437, align 4, !tbaa !5
  %5438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5439 = load i32, ptr @test_count, align 4, !tbaa !5
  %5440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5441 = load i32, ptr %5440, align 4, !tbaa !5
  %5442 = call ptr @s2n_strerror(i32 noundef %5441, ptr noundef @.str.4)
  %5443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5444 = load i32, ptr %5443, align 4, !tbaa !5
  %5445 = call ptr @s2n_strerror_debug(i32 noundef %5444, ptr noundef @.str.4)
  %5446 = call ptr @__errno_location() #11
  %5447 = load i32, ptr %5446, align 4, !tbaa !5
  %5448 = call ptr @strerror(i32 noundef %5447) #10
  %5449 = call ptr @__errno_location() #11
  %5450 = load i32, ptr %5449, align 4, !tbaa !5
  %5451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5438, ptr noundef @.str.5, i32 noundef %5439, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 192, ptr noundef %5442, ptr noundef %5445, ptr noundef %5448, i32 noundef %5450) #10
  br label %5452

5452:                                             ; preds = %5435, %5418
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #10
  br label %5453

5453:                                             ; preds = %5452
  br label %5454

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

5455:                                             ; No predecessors!
  br label %5456

5456:                                             ; preds = %5455
  br label %5457

5457:                                             ; preds = %5456, %5398
  br label %5458

5458:                                             ; preds = %5457
  br label %5459

5459:                                             ; preds = %5458
  br label %5460

5460:                                             ; preds = %5459
  %5461 = load i32, ptr @test_count, align 4, !tbaa !5
  %5462 = add nsw i32 %5461, 1
  store i32 %5462, ptr @test_count, align 4, !tbaa !5
  %5463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5464 = load i32, ptr %5463, align 4, !tbaa !5
  %5465 = call ptr @s2n_strerror_debug(i32 noundef %5464, ptr noundef @.str.4)
  %5466 = icmp eq ptr %5465, null
  br i1 %5466, label %5467, label %5520

5467:                                             ; preds = %5460
  br label %5468

5468:                                             ; preds = %5467
  br label %5469

5469:                                             ; preds = %5468
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #10
  %5470 = call ptr @__errno_location() #11
  %5471 = load i32, ptr %5470, align 4, !tbaa !5
  store i32 %5471, ptr %105, align 4, !tbaa !5
  %5472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5473 = call i32 @s2n_print_stacktrace(ptr noundef %5472)
  %5474 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5475 = trunc i8 %5474 to i1
  br i1 %5475, label %5476, label %5498

5476:                                             ; preds = %5469
  %5477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5478 = call i32 @fileno(ptr noundef %5477) #10
  %5479 = call i32 @isatty(i32 noundef %5478) #10
  %5480 = icmp ne i32 %5479, 0
  br i1 %5480, label %5481, label %5498

5481:                                             ; preds = %5476
  %5482 = load i32, ptr %105, align 4, !tbaa !5
  %5483 = call ptr @__errno_location() #11
  store i32 %5482, ptr %5483, align 4, !tbaa !5
  %5484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5485 = load i32, ptr @test_count, align 4, !tbaa !5
  %5486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5487 = load i32, ptr %5486, align 4, !tbaa !5
  %5488 = call ptr @s2n_strerror(i32 noundef %5487, ptr noundef @.str.4)
  %5489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5490 = load i32, ptr %5489, align 4, !tbaa !5
  %5491 = call ptr @s2n_strerror_debug(i32 noundef %5490, ptr noundef @.str.4)
  %5492 = call ptr @__errno_location() #11
  %5493 = load i32, ptr %5492, align 4, !tbaa !5
  %5494 = call ptr @strerror(i32 noundef %5493) #10
  %5495 = call ptr @__errno_location() #11
  %5496 = load i32, ptr %5495, align 4, !tbaa !5
  %5497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5484, ptr noundef @.str.2, i32 noundef %5485, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 192, ptr noundef %5488, ptr noundef %5491, ptr noundef %5494, i32 noundef %5496) #10
  br label %5515

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

5515:                                             ; preds = %5498, %5481
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #10
  br label %5516

5516:                                             ; preds = %5515
  br label %5517

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

5518:                                             ; No predecessors!
  br label %5519

5519:                                             ; preds = %5518
  br label %5520

5520:                                             ; preds = %5519, %5460
  br label %5521

5521:                                             ; preds = %5520
  br label %5522

5522:                                             ; preds = %5521
  br label %5523

5523:                                             ; preds = %5522
  br label %5524

5524:                                             ; preds = %5523
  br label %5525

5525:                                             ; preds = %5524
  %5526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5526, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5527 = call ptr @__errno_location() #11
  store i32 0, ptr %5527, align 4, !tbaa !5
  br label %5528

5528:                                             ; preds = %5525
  br label %5529

5529:                                             ; preds = %5528
  br label %5530

5530:                                             ; preds = %5529
  br label %5531

5531:                                             ; preds = %5530
  br label %5532

5532:                                             ; preds = %5531
  br label %5533

5533:                                             ; preds = %5532
  br label %5534

5534:                                             ; preds = %5533
  %5535 = load i32, ptr @test_count, align 4, !tbaa !5
  %5536 = add nsw i32 %5535, 1
  store i32 %5536, ptr @test_count, align 4, !tbaa !5
  %5537 = call i32 @s2n_connection_get_quic_transport_parameters(ptr noundef %97, ptr noundef %98, ptr noundef null)
  %5538 = icmp eq i32 %5537, -1
  br i1 %5538, label %5592, label %5539

5539:                                             ; preds = %5534
  br label %5540

5540:                                             ; preds = %5539
  br label %5541

5541:                                             ; preds = %5540
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #10
  %5542 = call ptr @__errno_location() #11
  %5543 = load i32, ptr %5542, align 4, !tbaa !5
  store i32 %5543, ptr %106, align 4, !tbaa !5
  %5544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5545 = call i32 @s2n_print_stacktrace(ptr noundef %5544)
  %5546 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5547 = trunc i8 %5546 to i1
  br i1 %5547, label %5548, label %5570

5548:                                             ; preds = %5541
  %5549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5550 = call i32 @fileno(ptr noundef %5549) #10
  %5551 = call i32 @isatty(i32 noundef %5550) #10
  %5552 = icmp ne i32 %5551, 0
  br i1 %5552, label %5553, label %5570

5553:                                             ; preds = %5548
  %5554 = load i32, ptr %106, align 4, !tbaa !5
  %5555 = call ptr @__errno_location() #11
  store i32 %5554, ptr %5555, align 4, !tbaa !5
  %5556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5557 = load i32, ptr @test_count, align 4, !tbaa !5
  %5558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5559 = load i32, ptr %5558, align 4, !tbaa !5
  %5560 = call ptr @s2n_strerror(i32 noundef %5559, ptr noundef @.str.4)
  %5561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5562 = load i32, ptr %5561, align 4, !tbaa !5
  %5563 = call ptr @s2n_strerror_debug(i32 noundef %5562, ptr noundef @.str.4)
  %5564 = call ptr @__errno_location() #11
  %5565 = load i32, ptr %5564, align 4, !tbaa !5
  %5566 = call ptr @strerror(i32 noundef %5565) #10
  %5567 = call ptr @__errno_location() #11
  %5568 = load i32, ptr %5567, align 4, !tbaa !5
  %5569 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5556, ptr noundef @.str.2, i32 noundef %5557, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 194, ptr noundef %5560, ptr noundef %5563, ptr noundef %5566, i32 noundef %5568) #10
  br label %5587

5570:                                             ; preds = %5548, %5541
  %5571 = load i32, ptr %106, align 4, !tbaa !5
  %5572 = call ptr @__errno_location() #11
  store i32 %5571, ptr %5572, align 4, !tbaa !5
  %5573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5574 = load i32, ptr @test_count, align 4, !tbaa !5
  %5575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5576 = load i32, ptr %5575, align 4, !tbaa !5
  %5577 = call ptr @s2n_strerror(i32 noundef %5576, ptr noundef @.str.4)
  %5578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5579 = load i32, ptr %5578, align 4, !tbaa !5
  %5580 = call ptr @s2n_strerror_debug(i32 noundef %5579, ptr noundef @.str.4)
  %5581 = call ptr @__errno_location() #11
  %5582 = load i32, ptr %5581, align 4, !tbaa !5
  %5583 = call ptr @strerror(i32 noundef %5582) #10
  %5584 = call ptr @__errno_location() #11
  %5585 = load i32, ptr %5584, align 4, !tbaa !5
  %5586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5573, ptr noundef @.str.5, i32 noundef %5574, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 194, ptr noundef %5577, ptr noundef %5580, ptr noundef %5583, i32 noundef %5585) #10
  br label %5587

5587:                                             ; preds = %5570, %5553
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #10
  br label %5588

5588:                                             ; preds = %5587
  br label %5589

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

5590:                                             ; No predecessors!
  br label %5591

5591:                                             ; preds = %5590
  br label %5592

5592:                                             ; preds = %5591, %5534
  br label %5593

5593:                                             ; preds = %5592
  br label %5594

5594:                                             ; preds = %5593
  br label %5595

5595:                                             ; preds = %5594
  %5596 = load i32, ptr @test_count, align 4, !tbaa !5
  %5597 = add nsw i32 %5596, 1
  store i32 %5597, ptr @test_count, align 4, !tbaa !5
  %5598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5599 = load i32, ptr %5598, align 4, !tbaa !5
  %5600 = icmp eq i32 %5599, 402653193
  br i1 %5600, label %5654, label %5601

5601:                                             ; preds = %5595
  br label %5602

5602:                                             ; preds = %5601
  br label %5603

5603:                                             ; preds = %5602
  call void @llvm.lifetime.start.p0(i64 4, ptr %107) #10
  %5604 = call ptr @__errno_location() #11
  %5605 = load i32, ptr %5604, align 4, !tbaa !5
  store i32 %5605, ptr %107, align 4, !tbaa !5
  %5606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5607 = call i32 @s2n_print_stacktrace(ptr noundef %5606)
  %5608 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5609 = trunc i8 %5608 to i1
  br i1 %5609, label %5610, label %5632

5610:                                             ; preds = %5603
  %5611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5612 = call i32 @fileno(ptr noundef %5611) #10
  %5613 = call i32 @isatty(i32 noundef %5612) #10
  %5614 = icmp ne i32 %5613, 0
  br i1 %5614, label %5615, label %5632

5615:                                             ; preds = %5610
  %5616 = load i32, ptr %107, align 4, !tbaa !5
  %5617 = call ptr @__errno_location() #11
  store i32 %5616, ptr %5617, align 4, !tbaa !5
  %5618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5619 = load i32, ptr @test_count, align 4, !tbaa !5
  %5620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5621 = load i32, ptr %5620, align 4, !tbaa !5
  %5622 = call ptr @s2n_strerror(i32 noundef %5621, ptr noundef @.str.4)
  %5623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5624 = load i32, ptr %5623, align 4, !tbaa !5
  %5625 = call ptr @s2n_strerror_debug(i32 noundef %5624, ptr noundef @.str.4)
  %5626 = call ptr @__errno_location() #11
  %5627 = load i32, ptr %5626, align 4, !tbaa !5
  %5628 = call ptr @strerror(i32 noundef %5627) #10
  %5629 = call ptr @__errno_location() #11
  %5630 = load i32, ptr %5629, align 4, !tbaa !5
  %5631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5618, ptr noundef @.str.2, i32 noundef %5619, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 194, ptr noundef %5622, ptr noundef %5625, ptr noundef %5628, i32 noundef %5630) #10
  br label %5649

5632:                                             ; preds = %5610, %5603
  %5633 = load i32, ptr %107, align 4, !tbaa !5
  %5634 = call ptr @__errno_location() #11
  store i32 %5633, ptr %5634, align 4, !tbaa !5
  %5635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5636 = load i32, ptr @test_count, align 4, !tbaa !5
  %5637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5638 = load i32, ptr %5637, align 4, !tbaa !5
  %5639 = call ptr @s2n_strerror(i32 noundef %5638, ptr noundef @.str.4)
  %5640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5641 = load i32, ptr %5640, align 4, !tbaa !5
  %5642 = call ptr @s2n_strerror_debug(i32 noundef %5641, ptr noundef @.str.4)
  %5643 = call ptr @__errno_location() #11
  %5644 = load i32, ptr %5643, align 4, !tbaa !5
  %5645 = call ptr @strerror(i32 noundef %5644) #10
  %5646 = call ptr @__errno_location() #11
  %5647 = load i32, ptr %5646, align 4, !tbaa !5
  %5648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5635, ptr noundef @.str.5, i32 noundef %5636, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 194, ptr noundef %5639, ptr noundef %5642, ptr noundef %5645, i32 noundef %5647) #10
  br label %5649

5649:                                             ; preds = %5632, %5615
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #10
  br label %5650

5650:                                             ; preds = %5649
  br label %5651

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

5652:                                             ; No predecessors!
  br label %5653

5653:                                             ; preds = %5652
  br label %5654

5654:                                             ; preds = %5653, %5595
  br label %5655

5655:                                             ; preds = %5654
  br label %5656

5656:                                             ; preds = %5655
  br label %5657

5657:                                             ; preds = %5656
  %5658 = load i32, ptr @test_count, align 4, !tbaa !5
  %5659 = add nsw i32 %5658, 1
  store i32 %5659, ptr @test_count, align 4, !tbaa !5
  %5660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5661 = load i32, ptr %5660, align 4, !tbaa !5
  %5662 = call ptr @s2n_strerror_debug(i32 noundef %5661, ptr noundef @.str.4)
  %5663 = icmp eq ptr %5662, null
  br i1 %5663, label %5664, label %5717

5664:                                             ; preds = %5657
  br label %5665

5665:                                             ; preds = %5664
  br label %5666

5666:                                             ; preds = %5665
  call void @llvm.lifetime.start.p0(i64 4, ptr %108) #10
  %5667 = call ptr @__errno_location() #11
  %5668 = load i32, ptr %5667, align 4, !tbaa !5
  store i32 %5668, ptr %108, align 4, !tbaa !5
  %5669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5670 = call i32 @s2n_print_stacktrace(ptr noundef %5669)
  %5671 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5672 = trunc i8 %5671 to i1
  br i1 %5672, label %5673, label %5695

5673:                                             ; preds = %5666
  %5674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5675 = call i32 @fileno(ptr noundef %5674) #10
  %5676 = call i32 @isatty(i32 noundef %5675) #10
  %5677 = icmp ne i32 %5676, 0
  br i1 %5677, label %5678, label %5695

5678:                                             ; preds = %5673
  %5679 = load i32, ptr %108, align 4, !tbaa !5
  %5680 = call ptr @__errno_location() #11
  store i32 %5679, ptr %5680, align 4, !tbaa !5
  %5681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5682 = load i32, ptr @test_count, align 4, !tbaa !5
  %5683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5684 = load i32, ptr %5683, align 4, !tbaa !5
  %5685 = call ptr @s2n_strerror(i32 noundef %5684, ptr noundef @.str.4)
  %5686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5687 = load i32, ptr %5686, align 4, !tbaa !5
  %5688 = call ptr @s2n_strerror_debug(i32 noundef %5687, ptr noundef @.str.4)
  %5689 = call ptr @__errno_location() #11
  %5690 = load i32, ptr %5689, align 4, !tbaa !5
  %5691 = call ptr @strerror(i32 noundef %5690) #10
  %5692 = call ptr @__errno_location() #11
  %5693 = load i32, ptr %5692, align 4, !tbaa !5
  %5694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5681, ptr noundef @.str.2, i32 noundef %5682, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 194, ptr noundef %5685, ptr noundef %5688, ptr noundef %5691, i32 noundef %5693) #10
  br label %5712

5695:                                             ; preds = %5673, %5666
  %5696 = load i32, ptr %108, align 4, !tbaa !5
  %5697 = call ptr @__errno_location() #11
  store i32 %5696, ptr %5697, align 4, !tbaa !5
  %5698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5699 = load i32, ptr @test_count, align 4, !tbaa !5
  %5700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5701 = load i32, ptr %5700, align 4, !tbaa !5
  %5702 = call ptr @s2n_strerror(i32 noundef %5701, ptr noundef @.str.4)
  %5703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5704 = load i32, ptr %5703, align 4, !tbaa !5
  %5705 = call ptr @s2n_strerror_debug(i32 noundef %5704, ptr noundef @.str.4)
  %5706 = call ptr @__errno_location() #11
  %5707 = load i32, ptr %5706, align 4, !tbaa !5
  %5708 = call ptr @strerror(i32 noundef %5707) #10
  %5709 = call ptr @__errno_location() #11
  %5710 = load i32, ptr %5709, align 4, !tbaa !5
  %5711 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5698, ptr noundef @.str.5, i32 noundef %5699, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 194, ptr noundef %5702, ptr noundef %5705, ptr noundef %5708, i32 noundef %5710) #10
  br label %5712

5712:                                             ; preds = %5695, %5678
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #10
  br label %5713

5713:                                             ; preds = %5712
  br label %5714

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

5715:                                             ; No predecessors!
  br label %5716

5716:                                             ; preds = %5715
  br label %5717

5717:                                             ; preds = %5716, %5657
  br label %5718

5718:                                             ; preds = %5717
  br label %5719

5719:                                             ; preds = %5718
  br label %5720

5720:                                             ; preds = %5719
  br label %5721

5721:                                             ; preds = %5720
  br label %5722

5722:                                             ; preds = %5721
  %5723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5723, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5724 = call ptr @__errno_location() #11
  store i32 0, ptr %5724, align 4, !tbaa !5
  br label %5725

5725:                                             ; preds = %5722
  br label %5726

5726:                                             ; preds = %5725
  br label %5727

5727:                                             ; preds = %5726
  br label %5728

5728:                                             ; preds = %5727
  call void @llvm.lifetime.end.p0(i64 2, ptr %99) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %98) #10
  call void @llvm.lifetime.end.p0(i64 4184, ptr %97) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %109) #10
  store ptr @TEST_DATA, ptr %109, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 2, ptr %110) #10
  store i16 5, ptr %110, align 2, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 8, ptr %111) #10
  store ptr null, ptr %111, align 8, !tbaa !9
  br label %5729

5729:                                             ; preds = %5728
  %5730 = load i32, ptr @test_count, align 4, !tbaa !5
  %5731 = add nsw i32 %5730, 1
  store i32 %5731, ptr @test_count, align 4, !tbaa !5
  %5732 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %5732, ptr %111, align 8, !tbaa !9
  %5733 = icmp eq ptr %5732, null
  br i1 %5733, label %5734, label %5787

5734:                                             ; preds = %5729
  br label %5735

5735:                                             ; preds = %5734
  br label %5736

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

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

5748:                                             ; preds = %5743
  %5749 = load i32, ptr %112, align 4, !tbaa !5
  %5750 = call ptr @__errno_location() #11
  store i32 %5749, ptr %5750, align 4, !tbaa !5
  %5751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5752 = load i32, ptr @test_count, align 4, !tbaa !5
  %5753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5754 = load i32, ptr %5753, align 4, !tbaa !5
  %5755 = call ptr @s2n_strerror(i32 noundef %5754, ptr noundef @.str.4)
  %5756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5757 = load i32, ptr %5756, align 4, !tbaa !5
  %5758 = call ptr @s2n_strerror_debug(i32 noundef %5757, ptr noundef @.str.4)
  %5759 = call ptr @__errno_location() #11
  %5760 = load i32, ptr %5759, align 4, !tbaa !5
  %5761 = call ptr @strerror(i32 noundef %5760) #10
  %5762 = call ptr @__errno_location() #11
  %5763 = load i32, ptr %5762, align 4, !tbaa !5
  %5764 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5751, ptr noundef @.str.2, i32 noundef %5752, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 203, ptr noundef %5755, ptr noundef %5758, ptr noundef %5761, i32 noundef %5763) #10
  br label %5782

5765:                                             ; preds = %5743, %5736
  %5766 = load i32, ptr %112, align 4, !tbaa !5
  %5767 = call ptr @__errno_location() #11
  store i32 %5766, ptr %5767, align 4, !tbaa !5
  %5768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5769 = load i32, ptr @test_count, align 4, !tbaa !5
  %5770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5771 = load i32, ptr %5770, align 4, !tbaa !5
  %5772 = call ptr @s2n_strerror(i32 noundef %5771, ptr noundef @.str.4)
  %5773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5774 = load i32, ptr %5773, align 4, !tbaa !5
  %5775 = call ptr @s2n_strerror_debug(i32 noundef %5774, ptr noundef @.str.4)
  %5776 = call ptr @__errno_location() #11
  %5777 = load i32, ptr %5776, align 4, !tbaa !5
  %5778 = call ptr @strerror(i32 noundef %5777) #10
  %5779 = call ptr @__errno_location() #11
  %5780 = load i32, ptr %5779, align 4, !tbaa !5
  %5781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5768, ptr noundef @.str.5, i32 noundef %5769, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 203, ptr noundef %5772, ptr noundef %5775, ptr noundef %5778, i32 noundef %5780) #10
  br label %5782

5782:                                             ; preds = %5765, %5748
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #10
  br label %5783

5783:                                             ; preds = %5782
  br label %5784

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

5785:                                             ; No predecessors!
  br label %5786

5786:                                             ; preds = %5785
  br label %5787

5787:                                             ; preds = %5786, %5729
  br label %5788

5788:                                             ; preds = %5787
  br label %5789

5789:                                             ; preds = %5788
  br label %5790

5790:                                             ; preds = %5789
  %5791 = load i32, ptr @test_count, align 4, !tbaa !5
  %5792 = add nsw i32 %5791, 1
  store i32 %5792, ptr @test_count, align 4, !tbaa !5
  %5793 = load ptr, ptr %111, align 8, !tbaa !9
  %5794 = call i32 @s2n_connection_get_quic_transport_parameters(ptr noundef %5793, ptr noundef %109, ptr noundef %110)
  %5795 = icmp eq i32 %5794, -1
  br i1 %5795, label %5796, label %5849

5796:                                             ; preds = %5790
  br label %5797

5797:                                             ; preds = %5796
  br label %5798

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

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

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

5827:                                             ; preds = %5805, %5798
  %5828 = load i32, ptr %113, align 4, !tbaa !5
  %5829 = call ptr @__errno_location() #11
  store i32 %5828, ptr %5829, align 4, !tbaa !5
  %5830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5831 = load i32, ptr @test_count, align 4, !tbaa !5
  %5832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5833 = load i32, ptr %5832, align 4, !tbaa !5
  %5834 = call ptr @s2n_strerror(i32 noundef %5833, ptr noundef @.str.4)
  %5835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5836 = load i32, ptr %5835, align 4, !tbaa !5
  %5837 = call ptr @s2n_strerror_debug(i32 noundef %5836, ptr noundef @.str.4)
  %5838 = call ptr @__errno_location() #11
  %5839 = load i32, ptr %5838, align 4, !tbaa !5
  %5840 = call ptr @strerror(i32 noundef %5839) #10
  %5841 = call ptr @__errno_location() #11
  %5842 = load i32, ptr %5841, align 4, !tbaa !5
  %5843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5830, ptr noundef @.str.5, i32 noundef %5831, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 205, ptr noundef %5834, ptr noundef %5837, ptr noundef %5840, i32 noundef %5842) #10
  br label %5844

5844:                                             ; preds = %5827, %5810
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #10
  br label %5845

5845:                                             ; preds = %5844
  br label %5846

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

5847:                                             ; No predecessors!
  br label %5848

5848:                                             ; preds = %5847
  br label %5849

5849:                                             ; preds = %5848, %5790
  br label %5850

5850:                                             ; preds = %5849
  br label %5851

5851:                                             ; preds = %5850
  br label %5852

5852:                                             ; preds = %5851
  %5853 = load i32, ptr @test_count, align 4, !tbaa !5
  %5854 = add nsw i32 %5853, 1
  store i32 %5854, ptr @test_count, align 4, !tbaa !5
  %5855 = load ptr, ptr %109, align 8, !tbaa !9
  %5856 = icmp eq ptr %5855, null
  br i1 %5856, label %5910, label %5857

5857:                                             ; preds = %5852
  br label %5858

5858:                                             ; preds = %5857
  br label %5859

5859:                                             ; preds = %5858
  call void @llvm.lifetime.start.p0(i64 4, ptr %114) #10
  %5860 = call ptr @__errno_location() #11
  %5861 = load i32, ptr %5860, align 4, !tbaa !5
  store i32 %5861, ptr %114, align 4, !tbaa !5
  %5862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5863 = call i32 @s2n_print_stacktrace(ptr noundef %5862)
  %5864 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5865 = trunc i8 %5864 to i1
  br i1 %5865, label %5866, label %5888

5866:                                             ; preds = %5859
  %5867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5868 = call i32 @fileno(ptr noundef %5867) #10
  %5869 = call i32 @isatty(i32 noundef %5868) #10
  %5870 = icmp ne i32 %5869, 0
  br i1 %5870, label %5871, label %5888

5871:                                             ; preds = %5866
  %5872 = load i32, ptr %114, align 4, !tbaa !5
  %5873 = call ptr @__errno_location() #11
  store i32 %5872, ptr %5873, align 4, !tbaa !5
  %5874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5875 = load i32, ptr @test_count, align 4, !tbaa !5
  %5876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5877 = load i32, ptr %5876, align 4, !tbaa !5
  %5878 = call ptr @s2n_strerror(i32 noundef %5877, ptr noundef @.str.4)
  %5879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5880 = load i32, ptr %5879, align 4, !tbaa !5
  %5881 = call ptr @s2n_strerror_debug(i32 noundef %5880, ptr noundef @.str.4)
  %5882 = call ptr @__errno_location() #11
  %5883 = load i32, ptr %5882, align 4, !tbaa !5
  %5884 = call ptr @strerror(i32 noundef %5883) #10
  %5885 = call ptr @__errno_location() #11
  %5886 = load i32, ptr %5885, align 4, !tbaa !5
  %5887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5874, ptr noundef @.str.2, i32 noundef %5875, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 206, ptr noundef %5878, ptr noundef %5881, ptr noundef %5884, i32 noundef %5886) #10
  br label %5905

5888:                                             ; preds = %5866, %5859
  %5889 = load i32, ptr %114, align 4, !tbaa !5
  %5890 = call ptr @__errno_location() #11
  store i32 %5889, ptr %5890, align 4, !tbaa !5
  %5891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5892 = load i32, ptr @test_count, align 4, !tbaa !5
  %5893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5894 = load i32, ptr %5893, align 4, !tbaa !5
  %5895 = call ptr @s2n_strerror(i32 noundef %5894, ptr noundef @.str.4)
  %5896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5897 = load i32, ptr %5896, align 4, !tbaa !5
  %5898 = call ptr @s2n_strerror_debug(i32 noundef %5897, ptr noundef @.str.4)
  %5899 = call ptr @__errno_location() #11
  %5900 = load i32, ptr %5899, align 4, !tbaa !5
  %5901 = call ptr @strerror(i32 noundef %5900) #10
  %5902 = call ptr @__errno_location() #11
  %5903 = load i32, ptr %5902, align 4, !tbaa !5
  %5904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5891, ptr noundef @.str.5, i32 noundef %5892, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 206, ptr noundef %5895, ptr noundef %5898, ptr noundef %5901, i32 noundef %5903) #10
  br label %5905

5905:                                             ; preds = %5888, %5871
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #10
  br label %5906

5906:                                             ; preds = %5905
  br label %5907

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

5908:                                             ; No predecessors!
  br label %5909

5909:                                             ; preds = %5908
  br label %5910

5910:                                             ; preds = %5909, %5852
  br label %5911

5911:                                             ; preds = %5910
  br label %5912

5912:                                             ; preds = %5911
  br label %5913

5913:                                             ; preds = %5912
  %5914 = load i32, ptr @test_count, align 4, !tbaa !5
  %5915 = add nsw i32 %5914, 1
  store i32 %5915, ptr @test_count, align 4, !tbaa !5
  %5916 = load i16, ptr %110, align 2, !tbaa !44
  %5917 = zext i16 %5916 to i32
  %5918 = icmp eq i32 %5917, 0
  br i1 %5918, label %5972, label %5919

5919:                                             ; preds = %5913
  br label %5920

5920:                                             ; preds = %5919
  br label %5921

5921:                                             ; preds = %5920
  call void @llvm.lifetime.start.p0(i64 4, ptr %115) #10
  %5922 = call ptr @__errno_location() #11
  %5923 = load i32, ptr %5922, align 4, !tbaa !5
  store i32 %5923, ptr %115, align 4, !tbaa !5
  %5924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5925 = call i32 @s2n_print_stacktrace(ptr noundef %5924)
  %5926 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5927 = trunc i8 %5926 to i1
  br i1 %5927, label %5928, label %5950

5928:                                             ; preds = %5921
  %5929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5930 = call i32 @fileno(ptr noundef %5929) #10
  %5931 = call i32 @isatty(i32 noundef %5930) #10
  %5932 = icmp ne i32 %5931, 0
  br i1 %5932, label %5933, label %5950

5933:                                             ; preds = %5928
  %5934 = load i32, ptr %115, align 4, !tbaa !5
  %5935 = call ptr @__errno_location() #11
  store i32 %5934, ptr %5935, align 4, !tbaa !5
  %5936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5937 = load i32, ptr @test_count, align 4, !tbaa !5
  %5938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5939 = load i32, ptr %5938, align 4, !tbaa !5
  %5940 = call ptr @s2n_strerror(i32 noundef %5939, ptr noundef @.str.4)
  %5941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5942 = load i32, ptr %5941, align 4, !tbaa !5
  %5943 = call ptr @s2n_strerror_debug(i32 noundef %5942, ptr noundef @.str.4)
  %5944 = call ptr @__errno_location() #11
  %5945 = load i32, ptr %5944, align 4, !tbaa !5
  %5946 = call ptr @strerror(i32 noundef %5945) #10
  %5947 = call ptr @__errno_location() #11
  %5948 = load i32, ptr %5947, align 4, !tbaa !5
  %5949 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5936, ptr noundef @.str.2, i32 noundef %5937, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 207, ptr noundef %5940, ptr noundef %5943, ptr noundef %5946, i32 noundef %5948) #10
  br label %5967

5950:                                             ; preds = %5928, %5921
  %5951 = load i32, ptr %115, align 4, !tbaa !5
  %5952 = call ptr @__errno_location() #11
  store i32 %5951, ptr %5952, align 4, !tbaa !5
  %5953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5954 = load i32, ptr @test_count, align 4, !tbaa !5
  %5955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5956 = load i32, ptr %5955, align 4, !tbaa !5
  %5957 = call ptr @s2n_strerror(i32 noundef %5956, ptr noundef @.str.4)
  %5958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5959 = load i32, ptr %5958, align 4, !tbaa !5
  %5960 = call ptr @s2n_strerror_debug(i32 noundef %5959, ptr noundef @.str.4)
  %5961 = call ptr @__errno_location() #11
  %5962 = load i32, ptr %5961, align 4, !tbaa !5
  %5963 = call ptr @strerror(i32 noundef %5962) #10
  %5964 = call ptr @__errno_location() #11
  %5965 = load i32, ptr %5964, align 4, !tbaa !5
  %5966 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5953, ptr noundef @.str.5, i32 noundef %5954, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 207, ptr noundef %5957, ptr noundef %5960, ptr noundef %5963, i32 noundef %5965) #10
  br label %5967

5967:                                             ; preds = %5950, %5933
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #10
  br label %5968

5968:                                             ; preds = %5967
  br label %5969

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

5970:                                             ; No predecessors!
  br label %5971

5971:                                             ; preds = %5970
  br label %5972

5972:                                             ; preds = %5971, %5913
  br label %5973

5973:                                             ; preds = %5972
  br label %5974

5974:                                             ; preds = %5973
  br label %5975

5975:                                             ; preds = %5974
  %5976 = load i32, ptr @test_count, align 4, !tbaa !5
  %5977 = add nsw i32 %5976, 1
  store i32 %5977, ptr @test_count, align 4, !tbaa !5
  %5978 = load ptr, ptr %111, align 8, !tbaa !9
  %5979 = call i32 @s2n_connection_free(ptr noundef %5978)
  %5980 = icmp eq i32 %5979, -1
  br i1 %5980, label %5981, label %6034

5981:                                             ; preds = %5975
  br label %5982

5982:                                             ; preds = %5981
  br label %5983

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

5990:                                             ; preds = %5983
  %5991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5992 = call i32 @fileno(ptr noundef %5991) #10
  %5993 = call i32 @isatty(i32 noundef %5992) #10
  %5994 = icmp ne i32 %5993, 0
  br i1 %5994, label %5995, label %6012

5995:                                             ; preds = %5990
  %5996 = load i32, ptr %116, align 4, !tbaa !5
  %5997 = call ptr @__errno_location() #11
  store i32 %5996, ptr %5997, align 4, !tbaa !5
  %5998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5999 = load i32, ptr @test_count, align 4, !tbaa !5
  %6000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6001 = load i32, ptr %6000, align 4, !tbaa !5
  %6002 = call ptr @s2n_strerror(i32 noundef %6001, ptr noundef @.str.4)
  %6003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6004 = load i32, ptr %6003, align 4, !tbaa !5
  %6005 = call ptr @s2n_strerror_debug(i32 noundef %6004, ptr noundef @.str.4)
  %6006 = call ptr @__errno_location() #11
  %6007 = load i32, ptr %6006, align 4, !tbaa !5
  %6008 = call ptr @strerror(i32 noundef %6007) #10
  %6009 = call ptr @__errno_location() #11
  %6010 = load i32, ptr %6009, align 4, !tbaa !5
  %6011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5998, ptr noundef @.str.2, i32 noundef %5999, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 209, ptr noundef %6002, ptr noundef %6005, ptr noundef %6008, i32 noundef %6010) #10
  br label %6029

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

6029:                                             ; preds = %6012, %5995
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #10
  br label %6030

6030:                                             ; preds = %6029
  br label %6031

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

6032:                                             ; No predecessors!
  br label %6033

6033:                                             ; preds = %6032
  br label %6034

6034:                                             ; preds = %6033, %5975
  br label %6035

6035:                                             ; preds = %6034
  br label %6036

6036:                                             ; preds = %6035
  call void @llvm.lifetime.end.p0(i64 8, ptr %111) #10
  call void @llvm.lifetime.end.p0(i64 2, ptr %110) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %109) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %117) #10
  store ptr null, ptr %117, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 2, ptr %118) #10
  store i16 0, ptr %118, align 2, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 8, ptr %119) #10
  store ptr null, ptr %119, align 8, !tbaa !9
  br label %6037

6037:                                             ; preds = %6036
  %6038 = load i32, ptr @test_count, align 4, !tbaa !5
  %6039 = add nsw i32 %6038, 1
  store i32 %6039, ptr @test_count, align 4, !tbaa !5
  %6040 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %6040, ptr %119, align 8, !tbaa !9
  %6041 = icmp eq ptr %6040, null
  br i1 %6041, label %6042, label %6095

6042:                                             ; preds = %6037
  br label %6043

6043:                                             ; preds = %6042
  br label %6044

6044:                                             ; preds = %6043
  call void @llvm.lifetime.start.p0(i64 4, ptr %120) #10
  %6045 = call ptr @__errno_location() #11
  %6046 = load i32, ptr %6045, align 4, !tbaa !5
  store i32 %6046, ptr %120, align 4, !tbaa !5
  %6047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6048 = call i32 @s2n_print_stacktrace(ptr noundef %6047)
  %6049 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6050 = trunc i8 %6049 to i1
  br i1 %6050, label %6051, label %6073

6051:                                             ; preds = %6044
  %6052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6053 = call i32 @fileno(ptr noundef %6052) #10
  %6054 = call i32 @isatty(i32 noundef %6053) #10
  %6055 = icmp ne i32 %6054, 0
  br i1 %6055, label %6056, label %6073

6056:                                             ; preds = %6051
  %6057 = load i32, ptr %120, align 4, !tbaa !5
  %6058 = call ptr @__errno_location() #11
  store i32 %6057, ptr %6058, align 4, !tbaa !5
  %6059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6060 = load i32, ptr @test_count, align 4, !tbaa !5
  %6061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6062 = load i32, ptr %6061, align 4, !tbaa !5
  %6063 = call ptr @s2n_strerror(i32 noundef %6062, ptr noundef @.str.4)
  %6064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6065 = load i32, ptr %6064, align 4, !tbaa !5
  %6066 = call ptr @s2n_strerror_debug(i32 noundef %6065, ptr noundef @.str.4)
  %6067 = call ptr @__errno_location() #11
  %6068 = load i32, ptr %6067, align 4, !tbaa !5
  %6069 = call ptr @strerror(i32 noundef %6068) #10
  %6070 = call ptr @__errno_location() #11
  %6071 = load i32, ptr %6070, align 4, !tbaa !5
  %6072 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6059, ptr noundef @.str.2, i32 noundef %6060, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 218, ptr noundef %6063, ptr noundef %6066, ptr noundef %6069, i32 noundef %6071) #10
  br label %6090

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

6090:                                             ; preds = %6073, %6056
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #10
  br label %6091

6091:                                             ; preds = %6090
  br label %6092

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

6093:                                             ; No predecessors!
  br label %6094

6094:                                             ; preds = %6093
  br label %6095

6095:                                             ; preds = %6094, %6037
  br label %6096

6096:                                             ; preds = %6095
  br label %6097

6097:                                             ; preds = %6096
  br label %6098

6098:                                             ; preds = %6097
  %6099 = load i32, ptr @test_count, align 4, !tbaa !5
  %6100 = add nsw i32 %6099, 1
  store i32 %6100, ptr @test_count, align 4, !tbaa !5
  %6101 = load ptr, ptr %119, align 8, !tbaa !9
  %6102 = getelementptr inbounds %struct.s2n_connection, ptr %6101, i32 0, i32 70
  %6103 = call i32 @s2n_alloc(ptr noundef %6102, i32 noundef 5)
  %6104 = icmp eq i32 %6103, -1
  br i1 %6104, label %6105, label %6158

6105:                                             ; preds = %6098
  br label %6106

6106:                                             ; preds = %6105
  br label %6107

6107:                                             ; preds = %6106
  call void @llvm.lifetime.start.p0(i64 4, ptr %121) #10
  %6108 = call ptr @__errno_location() #11
  %6109 = load i32, ptr %6108, align 4, !tbaa !5
  store i32 %6109, ptr %121, align 4, !tbaa !5
  %6110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6111 = call i32 @s2n_print_stacktrace(ptr noundef %6110)
  %6112 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6113 = trunc i8 %6112 to i1
  br i1 %6113, label %6114, label %6136

6114:                                             ; preds = %6107
  %6115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6116 = call i32 @fileno(ptr noundef %6115) #10
  %6117 = call i32 @isatty(i32 noundef %6116) #10
  %6118 = icmp ne i32 %6117, 0
  br i1 %6118, label %6119, label %6136

6119:                                             ; preds = %6114
  %6120 = load i32, ptr %121, align 4, !tbaa !5
  %6121 = call ptr @__errno_location() #11
  store i32 %6120, ptr %6121, align 4, !tbaa !5
  %6122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6123 = load i32, ptr @test_count, align 4, !tbaa !5
  %6124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6125 = load i32, ptr %6124, align 4, !tbaa !5
  %6126 = call ptr @s2n_strerror(i32 noundef %6125, ptr noundef @.str.4)
  %6127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6128 = load i32, ptr %6127, align 4, !tbaa !5
  %6129 = call ptr @s2n_strerror_debug(i32 noundef %6128, ptr noundef @.str.4)
  %6130 = call ptr @__errno_location() #11
  %6131 = load i32, ptr %6130, align 4, !tbaa !5
  %6132 = call ptr @strerror(i32 noundef %6131) #10
  %6133 = call ptr @__errno_location() #11
  %6134 = load i32, ptr %6133, align 4, !tbaa !5
  %6135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6122, ptr noundef @.str.2, i32 noundef %6123, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 220, ptr noundef %6126, ptr noundef %6129, ptr noundef %6132, i32 noundef %6134) #10
  br label %6153

6136:                                             ; preds = %6114, %6107
  %6137 = load i32, ptr %121, align 4, !tbaa !5
  %6138 = call ptr @__errno_location() #11
  store i32 %6137, ptr %6138, align 4, !tbaa !5
  %6139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6140 = load i32, ptr @test_count, align 4, !tbaa !5
  %6141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6142 = load i32, ptr %6141, align 4, !tbaa !5
  %6143 = call ptr @s2n_strerror(i32 noundef %6142, ptr noundef @.str.4)
  %6144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6145 = load i32, ptr %6144, align 4, !tbaa !5
  %6146 = call ptr @s2n_strerror_debug(i32 noundef %6145, ptr noundef @.str.4)
  %6147 = call ptr @__errno_location() #11
  %6148 = load i32, ptr %6147, align 4, !tbaa !5
  %6149 = call ptr @strerror(i32 noundef %6148) #10
  %6150 = call ptr @__errno_location() #11
  %6151 = load i32, ptr %6150, align 4, !tbaa !5
  %6152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6139, ptr noundef @.str.5, i32 noundef %6140, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 220, ptr noundef %6143, ptr noundef %6146, ptr noundef %6149, i32 noundef %6151) #10
  br label %6153

6153:                                             ; preds = %6136, %6119
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #10
  br label %6154

6154:                                             ; preds = %6153
  br label %6155

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

6156:                                             ; No predecessors!
  br label %6157

6157:                                             ; preds = %6156
  br label %6158

6158:                                             ; preds = %6157, %6098
  br label %6159

6159:                                             ; preds = %6158
  br label %6160

6160:                                             ; preds = %6159
  br label %6161

6161:                                             ; preds = %6160
  call void @llvm.lifetime.start.p0(i64 8, ptr %122) #10
  store i64 5, ptr %122, align 8, !tbaa !45
  %6162 = load i64, ptr %122, align 8, !tbaa !45
  %6163 = icmp ne i64 %6162, 0
  br i1 %6163, label %6164, label %6225

6164:                                             ; preds = %6161
  %6165 = load ptr, ptr %119, align 8, !tbaa !9
  %6166 = getelementptr inbounds %struct.s2n_connection, ptr %6165, i32 0, i32 70
  %6167 = getelementptr inbounds %struct.s2n_blob, ptr %6166, i32 0, i32 0
  %6168 = load ptr, ptr %6167, align 8, !tbaa !46
  %6169 = load i64, ptr %122, align 8, !tbaa !45
  call void @llvm.memmove.p0.p0.i64(ptr align 1 %6168, ptr align 1 @TEST_DATA, i64 %6169, i1 false)
  %6170 = icmp eq ptr %6168, null
  br i1 %6170, label %6171, label %6224

6171:                                             ; preds = %6164
  br label %6172

6172:                                             ; preds = %6171
  br label %6173

6173:                                             ; preds = %6172
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #10
  %6174 = call ptr @__errno_location() #11
  %6175 = load i32, ptr %6174, align 4, !tbaa !5
  store i32 %6175, ptr %123, align 4, !tbaa !5
  %6176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6177 = call i32 @s2n_print_stacktrace(ptr noundef %6176)
  %6178 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6179 = trunc i8 %6178 to i1
  br i1 %6179, label %6180, label %6202

6180:                                             ; preds = %6173
  %6181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6182 = call i32 @fileno(ptr noundef %6181) #10
  %6183 = call i32 @isatty(i32 noundef %6182) #10
  %6184 = icmp ne i32 %6183, 0
  br i1 %6184, label %6185, label %6202

6185:                                             ; preds = %6180
  %6186 = load i32, ptr %123, align 4, !tbaa !5
  %6187 = call ptr @__errno_location() #11
  store i32 %6186, ptr %6187, align 4, !tbaa !5
  %6188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6189 = load i32, ptr @test_count, align 4, !tbaa !5
  %6190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6191 = load i32, ptr %6190, align 4, !tbaa !5
  %6192 = call ptr @s2n_strerror(i32 noundef %6191, ptr noundef @.str.4)
  %6193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6194 = load i32, ptr %6193, align 4, !tbaa !5
  %6195 = call ptr @s2n_strerror_debug(i32 noundef %6194, ptr noundef @.str.4)
  %6196 = call ptr @__errno_location() #11
  %6197 = load i32, ptr %6196, align 4, !tbaa !5
  %6198 = call ptr @strerror(i32 noundef %6197) #10
  %6199 = call ptr @__errno_location() #11
  %6200 = load i32, ptr %6199, align 4, !tbaa !5
  %6201 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6188, ptr noundef @.str.2, i32 noundef %6189, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 221, ptr noundef %6192, ptr noundef %6195, ptr noundef %6198, i32 noundef %6200) #10
  br label %6219

6202:                                             ; preds = %6180, %6173
  %6203 = load i32, ptr %123, align 4, !tbaa !5
  %6204 = call ptr @__errno_location() #11
  store i32 %6203, ptr %6204, align 4, !tbaa !5
  %6205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6206 = load i32, ptr @test_count, align 4, !tbaa !5
  %6207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6208 = load i32, ptr %6207, align 4, !tbaa !5
  %6209 = call ptr @s2n_strerror(i32 noundef %6208, ptr noundef @.str.4)
  %6210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6211 = load i32, ptr %6210, align 4, !tbaa !5
  %6212 = call ptr @s2n_strerror_debug(i32 noundef %6211, ptr noundef @.str.4)
  %6213 = call ptr @__errno_location() #11
  %6214 = load i32, ptr %6213, align 4, !tbaa !5
  %6215 = call ptr @strerror(i32 noundef %6214) #10
  %6216 = call ptr @__errno_location() #11
  %6217 = load i32, ptr %6216, align 4, !tbaa !5
  %6218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6205, ptr noundef @.str.5, i32 noundef %6206, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 221, ptr noundef %6209, ptr noundef %6212, ptr noundef %6215, i32 noundef %6217) #10
  br label %6219

6219:                                             ; preds = %6202, %6185
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #10
  br label %6220

6220:                                             ; preds = %6219
  br label %6221

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

6222:                                             ; No predecessors!
  br label %6223

6223:                                             ; preds = %6222
  br label %6224

6224:                                             ; preds = %6223, %6164
  br label %6225

6225:                                             ; preds = %6224, %6161
  call void @llvm.lifetime.end.p0(i64 8, ptr %122) #10
  br label %6226

6226:                                             ; preds = %6225
  br label %6227

6227:                                             ; preds = %6226
  br label %6228

6228:                                             ; preds = %6227
  %6229 = load i32, ptr @test_count, align 4, !tbaa !5
  %6230 = add nsw i32 %6229, 1
  store i32 %6230, ptr @test_count, align 4, !tbaa !5
  %6231 = load ptr, ptr %119, align 8, !tbaa !9
  %6232 = call i32 @s2n_connection_get_quic_transport_parameters(ptr noundef %6231, ptr noundef %117, ptr noundef %118)
  %6233 = icmp eq i32 %6232, -1
  br i1 %6233, label %6234, label %6287

6234:                                             ; preds = %6228
  br label %6235

6235:                                             ; preds = %6234
  br label %6236

6236:                                             ; preds = %6235
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #10
  %6237 = call ptr @__errno_location() #11
  %6238 = load i32, ptr %6237, align 4, !tbaa !5
  store i32 %6238, ptr %124, align 4, !tbaa !5
  %6239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6240 = call i32 @s2n_print_stacktrace(ptr noundef %6239)
  %6241 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6242 = trunc i8 %6241 to i1
  br i1 %6242, label %6243, label %6265

6243:                                             ; preds = %6236
  %6244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6245 = call i32 @fileno(ptr noundef %6244) #10
  %6246 = call i32 @isatty(i32 noundef %6245) #10
  %6247 = icmp ne i32 %6246, 0
  br i1 %6247, label %6248, label %6265

6248:                                             ; preds = %6243
  %6249 = load i32, ptr %124, align 4, !tbaa !5
  %6250 = call ptr @__errno_location() #11
  store i32 %6249, ptr %6250, align 4, !tbaa !5
  %6251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6252 = load i32, ptr @test_count, align 4, !tbaa !5
  %6253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6254 = load i32, ptr %6253, align 4, !tbaa !5
  %6255 = call ptr @s2n_strerror(i32 noundef %6254, ptr noundef @.str.4)
  %6256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6257 = load i32, ptr %6256, align 4, !tbaa !5
  %6258 = call ptr @s2n_strerror_debug(i32 noundef %6257, ptr noundef @.str.4)
  %6259 = call ptr @__errno_location() #11
  %6260 = load i32, ptr %6259, align 4, !tbaa !5
  %6261 = call ptr @strerror(i32 noundef %6260) #10
  %6262 = call ptr @__errno_location() #11
  %6263 = load i32, ptr %6262, align 4, !tbaa !5
  %6264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6251, ptr noundef @.str.2, i32 noundef %6252, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 223, ptr noundef %6255, ptr noundef %6258, ptr noundef %6261, i32 noundef %6263) #10
  br label %6282

6265:                                             ; preds = %6243, %6236
  %6266 = load i32, ptr %124, align 4, !tbaa !5
  %6267 = call ptr @__errno_location() #11
  store i32 %6266, ptr %6267, align 4, !tbaa !5
  %6268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6269 = load i32, ptr @test_count, align 4, !tbaa !5
  %6270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6271 = load i32, ptr %6270, align 4, !tbaa !5
  %6272 = call ptr @s2n_strerror(i32 noundef %6271, ptr noundef @.str.4)
  %6273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6274 = load i32, ptr %6273, align 4, !tbaa !5
  %6275 = call ptr @s2n_strerror_debug(i32 noundef %6274, ptr noundef @.str.4)
  %6276 = call ptr @__errno_location() #11
  %6277 = load i32, ptr %6276, align 4, !tbaa !5
  %6278 = call ptr @strerror(i32 noundef %6277) #10
  %6279 = call ptr @__errno_location() #11
  %6280 = load i32, ptr %6279, align 4, !tbaa !5
  %6281 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6268, ptr noundef @.str.5, i32 noundef %6269, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 223, ptr noundef %6272, ptr noundef %6275, ptr noundef %6278, i32 noundef %6280) #10
  br label %6282

6282:                                             ; preds = %6265, %6248
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #10
  br label %6283

6283:                                             ; preds = %6282
  br label %6284

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

6285:                                             ; No predecessors!
  br label %6286

6286:                                             ; preds = %6285
  br label %6287

6287:                                             ; preds = %6286, %6228
  br label %6288

6288:                                             ; preds = %6287
  br label %6289

6289:                                             ; preds = %6288
  br label %6290

6290:                                             ; preds = %6289
  %6291 = load i32, ptr @test_count, align 4, !tbaa !5
  %6292 = add nsw i32 %6291, 1
  store i32 %6292, ptr @test_count, align 4, !tbaa !5
  %6293 = load ptr, ptr %117, align 8, !tbaa !9
  %6294 = load ptr, ptr %119, align 8, !tbaa !9
  %6295 = getelementptr inbounds %struct.s2n_connection, ptr %6294, i32 0, i32 70
  %6296 = getelementptr inbounds %struct.s2n_blob, ptr %6295, i32 0, i32 0
  %6297 = load ptr, ptr %6296, align 8, !tbaa !46
  %6298 = icmp eq ptr %6293, %6297
  br i1 %6298, label %6352, label %6299

6299:                                             ; preds = %6290
  br label %6300

6300:                                             ; preds = %6299
  br label %6301

6301:                                             ; preds = %6300
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #10
  %6302 = call ptr @__errno_location() #11
  %6303 = load i32, ptr %6302, align 4, !tbaa !5
  store i32 %6303, ptr %125, align 4, !tbaa !5
  %6304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6305 = call i32 @s2n_print_stacktrace(ptr noundef %6304)
  %6306 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6307 = trunc i8 %6306 to i1
  br i1 %6307, label %6308, label %6330

6308:                                             ; preds = %6301
  %6309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6310 = call i32 @fileno(ptr noundef %6309) #10
  %6311 = call i32 @isatty(i32 noundef %6310) #10
  %6312 = icmp ne i32 %6311, 0
  br i1 %6312, label %6313, label %6330

6313:                                             ; preds = %6308
  %6314 = load i32, ptr %125, align 4, !tbaa !5
  %6315 = call ptr @__errno_location() #11
  store i32 %6314, ptr %6315, align 4, !tbaa !5
  %6316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6317 = load i32, ptr @test_count, align 4, !tbaa !5
  %6318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6319 = load i32, ptr %6318, align 4, !tbaa !5
  %6320 = call ptr @s2n_strerror(i32 noundef %6319, ptr noundef @.str.4)
  %6321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6322 = load i32, ptr %6321, align 4, !tbaa !5
  %6323 = call ptr @s2n_strerror_debug(i32 noundef %6322, ptr noundef @.str.4)
  %6324 = call ptr @__errno_location() #11
  %6325 = load i32, ptr %6324, align 4, !tbaa !5
  %6326 = call ptr @strerror(i32 noundef %6325) #10
  %6327 = call ptr @__errno_location() #11
  %6328 = load i32, ptr %6327, align 4, !tbaa !5
  %6329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6316, ptr noundef @.str.2, i32 noundef %6317, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 224, ptr noundef %6320, ptr noundef %6323, ptr noundef %6326, i32 noundef %6328) #10
  br label %6347

6330:                                             ; preds = %6308, %6301
  %6331 = load i32, ptr %125, align 4, !tbaa !5
  %6332 = call ptr @__errno_location() #11
  store i32 %6331, ptr %6332, align 4, !tbaa !5
  %6333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6334 = load i32, ptr @test_count, align 4, !tbaa !5
  %6335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6336 = load i32, ptr %6335, align 4, !tbaa !5
  %6337 = call ptr @s2n_strerror(i32 noundef %6336, ptr noundef @.str.4)
  %6338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6339 = load i32, ptr %6338, align 4, !tbaa !5
  %6340 = call ptr @s2n_strerror_debug(i32 noundef %6339, ptr noundef @.str.4)
  %6341 = call ptr @__errno_location() #11
  %6342 = load i32, ptr %6341, align 4, !tbaa !5
  %6343 = call ptr @strerror(i32 noundef %6342) #10
  %6344 = call ptr @__errno_location() #11
  %6345 = load i32, ptr %6344, align 4, !tbaa !5
  %6346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6333, ptr noundef @.str.5, i32 noundef %6334, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 224, ptr noundef %6337, ptr noundef %6340, ptr noundef %6343, i32 noundef %6345) #10
  br label %6347

6347:                                             ; preds = %6330, %6313
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #10
  br label %6348

6348:                                             ; preds = %6347
  br label %6349

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

6350:                                             ; No predecessors!
  br label %6351

6351:                                             ; preds = %6350
  br label %6352

6352:                                             ; preds = %6351, %6290
  br label %6353

6353:                                             ; preds = %6352
  br label %6354

6354:                                             ; preds = %6353
  br label %6355

6355:                                             ; preds = %6354
  %6356 = load i32, ptr @test_count, align 4, !tbaa !5
  %6357 = add nsw i32 %6356, 1
  store i32 %6357, ptr @test_count, align 4, !tbaa !5
  %6358 = load i16, ptr %118, align 2, !tbaa !44
  %6359 = zext i16 %6358 to i32
  %6360 = load ptr, ptr %119, align 8, !tbaa !9
  %6361 = getelementptr inbounds %struct.s2n_connection, ptr %6360, i32 0, i32 70
  %6362 = getelementptr inbounds %struct.s2n_blob, ptr %6361, i32 0, i32 1
  %6363 = load i32, ptr %6362, align 8, !tbaa !47
  %6364 = icmp eq i32 %6359, %6363
  br i1 %6364, label %6418, label %6365

6365:                                             ; preds = %6355
  br label %6366

6366:                                             ; preds = %6365
  br label %6367

6367:                                             ; preds = %6366
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #10
  %6368 = call ptr @__errno_location() #11
  %6369 = load i32, ptr %6368, align 4, !tbaa !5
  store i32 %6369, ptr %126, align 4, !tbaa !5
  %6370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6371 = call i32 @s2n_print_stacktrace(ptr noundef %6370)
  %6372 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6373 = trunc i8 %6372 to i1
  br i1 %6373, label %6374, label %6396

6374:                                             ; preds = %6367
  %6375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6376 = call i32 @fileno(ptr noundef %6375) #10
  %6377 = call i32 @isatty(i32 noundef %6376) #10
  %6378 = icmp ne i32 %6377, 0
  br i1 %6378, label %6379, label %6396

6379:                                             ; preds = %6374
  %6380 = load i32, ptr %126, align 4, !tbaa !5
  %6381 = call ptr @__errno_location() #11
  store i32 %6380, ptr %6381, align 4, !tbaa !5
  %6382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6383 = load i32, ptr @test_count, align 4, !tbaa !5
  %6384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6385 = load i32, ptr %6384, align 4, !tbaa !5
  %6386 = call ptr @s2n_strerror(i32 noundef %6385, ptr noundef @.str.4)
  %6387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6388 = load i32, ptr %6387, align 4, !tbaa !5
  %6389 = call ptr @s2n_strerror_debug(i32 noundef %6388, ptr noundef @.str.4)
  %6390 = call ptr @__errno_location() #11
  %6391 = load i32, ptr %6390, align 4, !tbaa !5
  %6392 = call ptr @strerror(i32 noundef %6391) #10
  %6393 = call ptr @__errno_location() #11
  %6394 = load i32, ptr %6393, align 4, !tbaa !5
  %6395 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6382, ptr noundef @.str.2, i32 noundef %6383, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 225, ptr noundef %6386, ptr noundef %6389, ptr noundef %6392, i32 noundef %6394) #10
  br label %6413

6396:                                             ; preds = %6374, %6367
  %6397 = load i32, ptr %126, align 4, !tbaa !5
  %6398 = call ptr @__errno_location() #11
  store i32 %6397, ptr %6398, align 4, !tbaa !5
  %6399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6400 = load i32, ptr @test_count, align 4, !tbaa !5
  %6401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6402 = load i32, ptr %6401, align 4, !tbaa !5
  %6403 = call ptr @s2n_strerror(i32 noundef %6402, ptr noundef @.str.4)
  %6404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6405 = load i32, ptr %6404, align 4, !tbaa !5
  %6406 = call ptr @s2n_strerror_debug(i32 noundef %6405, ptr noundef @.str.4)
  %6407 = call ptr @__errno_location() #11
  %6408 = load i32, ptr %6407, align 4, !tbaa !5
  %6409 = call ptr @strerror(i32 noundef %6408) #10
  %6410 = call ptr @__errno_location() #11
  %6411 = load i32, ptr %6410, align 4, !tbaa !5
  %6412 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6399, ptr noundef @.str.5, i32 noundef %6400, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 225, ptr noundef %6403, ptr noundef %6406, ptr noundef %6409, i32 noundef %6411) #10
  br label %6413

6413:                                             ; preds = %6396, %6379
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #10
  br label %6414

6414:                                             ; preds = %6413
  br label %6415

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

6416:                                             ; No predecessors!
  br label %6417

6417:                                             ; preds = %6416
  br label %6418

6418:                                             ; preds = %6417, %6355
  br label %6419

6419:                                             ; preds = %6418
  br label %6420

6420:                                             ; preds = %6419
  br label %6421

6421:                                             ; preds = %6420
  %6422 = load i32, ptr @test_count, align 4, !tbaa !5
  %6423 = add nsw i32 %6422, 1
  store i32 %6423, ptr @test_count, align 4, !tbaa !5
  %6424 = load ptr, ptr %119, align 8, !tbaa !9
  %6425 = call i32 @s2n_connection_free(ptr noundef %6424)
  %6426 = icmp eq i32 %6425, -1
  br i1 %6426, label %6427, label %6480

6427:                                             ; preds = %6421
  br label %6428

6428:                                             ; preds = %6427
  br label %6429

6429:                                             ; preds = %6428
  call void @llvm.lifetime.start.p0(i64 4, ptr %127) #10
  %6430 = call ptr @__errno_location() #11
  %6431 = load i32, ptr %6430, align 4, !tbaa !5
  store i32 %6431, ptr %127, align 4, !tbaa !5
  %6432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6433 = call i32 @s2n_print_stacktrace(ptr noundef %6432)
  %6434 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6435 = trunc i8 %6434 to i1
  br i1 %6435, label %6436, label %6458

6436:                                             ; preds = %6429
  %6437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6438 = call i32 @fileno(ptr noundef %6437) #10
  %6439 = call i32 @isatty(i32 noundef %6438) #10
  %6440 = icmp ne i32 %6439, 0
  br i1 %6440, label %6441, label %6458

6441:                                             ; preds = %6436
  %6442 = load i32, ptr %127, align 4, !tbaa !5
  %6443 = call ptr @__errno_location() #11
  store i32 %6442, ptr %6443, align 4, !tbaa !5
  %6444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6445 = load i32, ptr @test_count, align 4, !tbaa !5
  %6446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6447 = load i32, ptr %6446, align 4, !tbaa !5
  %6448 = call ptr @s2n_strerror(i32 noundef %6447, ptr noundef @.str.4)
  %6449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6450 = load i32, ptr %6449, align 4, !tbaa !5
  %6451 = call ptr @s2n_strerror_debug(i32 noundef %6450, ptr noundef @.str.4)
  %6452 = call ptr @__errno_location() #11
  %6453 = load i32, ptr %6452, align 4, !tbaa !5
  %6454 = call ptr @strerror(i32 noundef %6453) #10
  %6455 = call ptr @__errno_location() #11
  %6456 = load i32, ptr %6455, align 4, !tbaa !5
  %6457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6444, ptr noundef @.str.2, i32 noundef %6445, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 227, ptr noundef %6448, ptr noundef %6451, ptr noundef %6454, i32 noundef %6456) #10
  br label %6475

6458:                                             ; preds = %6436, %6429
  %6459 = load i32, ptr %127, align 4, !tbaa !5
  %6460 = call ptr @__errno_location() #11
  store i32 %6459, ptr %6460, align 4, !tbaa !5
  %6461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6462 = load i32, ptr @test_count, align 4, !tbaa !5
  %6463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6464 = load i32, ptr %6463, align 4, !tbaa !5
  %6465 = call ptr @s2n_strerror(i32 noundef %6464, ptr noundef @.str.4)
  %6466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6467 = load i32, ptr %6466, align 4, !tbaa !5
  %6468 = call ptr @s2n_strerror_debug(i32 noundef %6467, ptr noundef @.str.4)
  %6469 = call ptr @__errno_location() #11
  %6470 = load i32, ptr %6469, align 4, !tbaa !5
  %6471 = call ptr @strerror(i32 noundef %6470) #10
  %6472 = call ptr @__errno_location() #11
  %6473 = load i32, ptr %6472, align 4, !tbaa !5
  %6474 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6461, ptr noundef @.str.5, i32 noundef %6462, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 227, ptr noundef %6465, ptr noundef %6468, ptr noundef %6471, i32 noundef %6473) #10
  br label %6475

6475:                                             ; preds = %6458, %6441
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #10
  br label %6476

6476:                                             ; preds = %6475
  br label %6477

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

6478:                                             ; No predecessors!
  br label %6479

6479:                                             ; preds = %6478
  br label %6480

6480:                                             ; preds = %6479, %6421
  br label %6481

6481:                                             ; preds = %6480
  br label %6482

6482:                                             ; preds = %6481
  call void @llvm.lifetime.end.p0(i64 8, ptr %119) #10
  call void @llvm.lifetime.end.p0(i64 2, ptr %118) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %117) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr %128) #10
  store i8 0, ptr %128, align 1, !tbaa !48
  call void @llvm.lifetime.start.p0(i64 8, ptr %129) #10
  store ptr null, ptr %129, align 8, !tbaa !9
  br label %6483

6483:                                             ; preds = %6482
  %6484 = load i32, ptr @test_count, align 4, !tbaa !5
  %6485 = add nsw i32 %6484, 1
  store i32 %6485, ptr @test_count, align 4, !tbaa !5
  %6486 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %6486, ptr %129, align 8, !tbaa !9
  %6487 = icmp eq ptr %6486, null
  br i1 %6487, label %6488, label %6541

6488:                                             ; preds = %6483
  br label %6489

6489:                                             ; preds = %6488
  br label %6490

6490:                                             ; preds = %6489
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #10
  %6491 = call ptr @__errno_location() #11
  %6492 = load i32, ptr %6491, align 4, !tbaa !5
  store i32 %6492, ptr %130, align 4, !tbaa !5
  %6493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6494 = call i32 @s2n_print_stacktrace(ptr noundef %6493)
  %6495 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6496 = trunc i8 %6495 to i1
  br i1 %6496, label %6497, label %6519

6497:                                             ; preds = %6490
  %6498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6499 = call i32 @fileno(ptr noundef %6498) #10
  %6500 = call i32 @isatty(i32 noundef %6499) #10
  %6501 = icmp ne i32 %6500, 0
  br i1 %6501, label %6502, label %6519

6502:                                             ; preds = %6497
  %6503 = load i32, ptr %130, align 4, !tbaa !5
  %6504 = call ptr @__errno_location() #11
  store i32 %6503, ptr %6504, align 4, !tbaa !5
  %6505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6506 = load i32, ptr @test_count, align 4, !tbaa !5
  %6507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6508 = load i32, ptr %6507, align 4, !tbaa !5
  %6509 = call ptr @s2n_strerror(i32 noundef %6508, ptr noundef @.str.4)
  %6510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6511 = load i32, ptr %6510, align 4, !tbaa !5
  %6512 = call ptr @s2n_strerror_debug(i32 noundef %6511, ptr noundef @.str.4)
  %6513 = call ptr @__errno_location() #11
  %6514 = load i32, ptr %6513, align 4, !tbaa !5
  %6515 = call ptr @strerror(i32 noundef %6514) #10
  %6516 = call ptr @__errno_location() #11
  %6517 = load i32, ptr %6516, align 4, !tbaa !5
  %6518 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6505, ptr noundef @.str.2, i32 noundef %6506, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 238, ptr noundef %6509, ptr noundef %6512, ptr noundef %6515, i32 noundef %6517) #10
  br label %6536

6519:                                             ; preds = %6497, %6490
  %6520 = load i32, ptr %130, align 4, !tbaa !5
  %6521 = call ptr @__errno_location() #11
  store i32 %6520, ptr %6521, align 4, !tbaa !5
  %6522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6523 = load i32, ptr @test_count, align 4, !tbaa !5
  %6524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6525 = load i32, ptr %6524, align 4, !tbaa !5
  %6526 = call ptr @s2n_strerror(i32 noundef %6525, ptr noundef @.str.4)
  %6527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6528 = load i32, ptr %6527, align 4, !tbaa !5
  %6529 = call ptr @s2n_strerror_debug(i32 noundef %6528, ptr noundef @.str.4)
  %6530 = call ptr @__errno_location() #11
  %6531 = load i32, ptr %6530, align 4, !tbaa !5
  %6532 = call ptr @strerror(i32 noundef %6531) #10
  %6533 = call ptr @__errno_location() #11
  %6534 = load i32, ptr %6533, align 4, !tbaa !5
  %6535 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6522, ptr noundef @.str.5, i32 noundef %6523, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 238, ptr noundef %6526, ptr noundef %6529, ptr noundef %6532, i32 noundef %6534) #10
  br label %6536

6536:                                             ; preds = %6519, %6502
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #10
  br label %6537

6537:                                             ; preds = %6536
  br label %6538

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

6539:                                             ; No predecessors!
  br label %6540

6540:                                             ; preds = %6539
  br label %6541

6541:                                             ; preds = %6540, %6483
  br label %6542

6542:                                             ; preds = %6541
  br label %6543

6543:                                             ; preds = %6542
  br label %6544

6544:                                             ; preds = %6543
  br label %6545

6545:                                             ; preds = %6544
  br label %6546

6546:                                             ; preds = %6545
  %6547 = load i32, ptr @test_count, align 4, !tbaa !5
  %6548 = add nsw i32 %6547, 1
  store i32 %6548, ptr @test_count, align 4, !tbaa !5
  %6549 = call i32 @s2n_connection_set_secret_callback(ptr noundef null, ptr noundef @s2n_test_noop_secret_handler, ptr noundef %128)
  %6550 = icmp eq i32 %6549, -1
  br i1 %6550, label %6604, label %6551

6551:                                             ; preds = %6546
  br label %6552

6552:                                             ; preds = %6551
  br label %6553

6553:                                             ; preds = %6552
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #10
  %6554 = call ptr @__errno_location() #11
  %6555 = load i32, ptr %6554, align 4, !tbaa !5
  store i32 %6555, ptr %131, align 4, !tbaa !5
  %6556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6557 = call i32 @s2n_print_stacktrace(ptr noundef %6556)
  %6558 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6559 = trunc i8 %6558 to i1
  br i1 %6559, label %6560, label %6582

6560:                                             ; preds = %6553
  %6561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6562 = call i32 @fileno(ptr noundef %6561) #10
  %6563 = call i32 @isatty(i32 noundef %6562) #10
  %6564 = icmp ne i32 %6563, 0
  br i1 %6564, label %6565, label %6582

6565:                                             ; preds = %6560
  %6566 = load i32, ptr %131, align 4, !tbaa !5
  %6567 = call ptr @__errno_location() #11
  store i32 %6566, ptr %6567, align 4, !tbaa !5
  %6568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6569 = load i32, ptr @test_count, align 4, !tbaa !5
  %6570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6571 = load i32, ptr %6570, align 4, !tbaa !5
  %6572 = call ptr @s2n_strerror(i32 noundef %6571, ptr noundef @.str.4)
  %6573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6574 = load i32, ptr %6573, align 4, !tbaa !5
  %6575 = call ptr @s2n_strerror_debug(i32 noundef %6574, ptr noundef @.str.4)
  %6576 = call ptr @__errno_location() #11
  %6577 = load i32, ptr %6576, align 4, !tbaa !5
  %6578 = call ptr @strerror(i32 noundef %6577) #10
  %6579 = call ptr @__errno_location() #11
  %6580 = load i32, ptr %6579, align 4, !tbaa !5
  %6581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6568, ptr noundef @.str.2, i32 noundef %6569, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 240, ptr noundef %6572, ptr noundef %6575, ptr noundef %6578, i32 noundef %6580) #10
  br label %6599

6582:                                             ; preds = %6560, %6553
  %6583 = load i32, ptr %131, align 4, !tbaa !5
  %6584 = call ptr @__errno_location() #11
  store i32 %6583, ptr %6584, align 4, !tbaa !5
  %6585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6586 = load i32, ptr @test_count, align 4, !tbaa !5
  %6587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6588 = load i32, ptr %6587, align 4, !tbaa !5
  %6589 = call ptr @s2n_strerror(i32 noundef %6588, ptr noundef @.str.4)
  %6590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6591 = load i32, ptr %6590, align 4, !tbaa !5
  %6592 = call ptr @s2n_strerror_debug(i32 noundef %6591, ptr noundef @.str.4)
  %6593 = call ptr @__errno_location() #11
  %6594 = load i32, ptr %6593, align 4, !tbaa !5
  %6595 = call ptr @strerror(i32 noundef %6594) #10
  %6596 = call ptr @__errno_location() #11
  %6597 = load i32, ptr %6596, align 4, !tbaa !5
  %6598 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6585, ptr noundef @.str.5, i32 noundef %6586, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 240, ptr noundef %6589, ptr noundef %6592, ptr noundef %6595, i32 noundef %6597) #10
  br label %6599

6599:                                             ; preds = %6582, %6565
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #10
  br label %6600

6600:                                             ; preds = %6599
  br label %6601

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

6602:                                             ; No predecessors!
  br label %6603

6603:                                             ; preds = %6602
  br label %6604

6604:                                             ; preds = %6603, %6546
  br label %6605

6605:                                             ; preds = %6604
  br label %6606

6606:                                             ; preds = %6605
  br label %6607

6607:                                             ; preds = %6606
  %6608 = load i32, ptr @test_count, align 4, !tbaa !5
  %6609 = add nsw i32 %6608, 1
  store i32 %6609, ptr @test_count, align 4, !tbaa !5
  %6610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6611 = load i32, ptr %6610, align 4, !tbaa !5
  %6612 = icmp eq i32 %6611, 402653193
  br i1 %6612, label %6666, label %6613

6613:                                             ; preds = %6607
  br label %6614

6614:                                             ; preds = %6613
  br label %6615

6615:                                             ; preds = %6614
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #10
  %6616 = call ptr @__errno_location() #11
  %6617 = load i32, ptr %6616, align 4, !tbaa !5
  store i32 %6617, ptr %132, align 4, !tbaa !5
  %6618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6619 = call i32 @s2n_print_stacktrace(ptr noundef %6618)
  %6620 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6621 = trunc i8 %6620 to i1
  br i1 %6621, label %6622, label %6644

6622:                                             ; preds = %6615
  %6623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6624 = call i32 @fileno(ptr noundef %6623) #10
  %6625 = call i32 @isatty(i32 noundef %6624) #10
  %6626 = icmp ne i32 %6625, 0
  br i1 %6626, label %6627, label %6644

6627:                                             ; preds = %6622
  %6628 = load i32, ptr %132, align 4, !tbaa !5
  %6629 = call ptr @__errno_location() #11
  store i32 %6628, ptr %6629, align 4, !tbaa !5
  %6630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6631 = load i32, ptr @test_count, align 4, !tbaa !5
  %6632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6633 = load i32, ptr %6632, align 4, !tbaa !5
  %6634 = call ptr @s2n_strerror(i32 noundef %6633, ptr noundef @.str.4)
  %6635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6636 = load i32, ptr %6635, align 4, !tbaa !5
  %6637 = call ptr @s2n_strerror_debug(i32 noundef %6636, ptr noundef @.str.4)
  %6638 = call ptr @__errno_location() #11
  %6639 = load i32, ptr %6638, align 4, !tbaa !5
  %6640 = call ptr @strerror(i32 noundef %6639) #10
  %6641 = call ptr @__errno_location() #11
  %6642 = load i32, ptr %6641, align 4, !tbaa !5
  %6643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6630, ptr noundef @.str.2, i32 noundef %6631, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 240, ptr noundef %6634, ptr noundef %6637, ptr noundef %6640, i32 noundef %6642) #10
  br label %6661

6644:                                             ; preds = %6622, %6615
  %6645 = load i32, ptr %132, align 4, !tbaa !5
  %6646 = call ptr @__errno_location() #11
  store i32 %6645, ptr %6646, align 4, !tbaa !5
  %6647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6648 = load i32, ptr @test_count, align 4, !tbaa !5
  %6649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6650 = load i32, ptr %6649, align 4, !tbaa !5
  %6651 = call ptr @s2n_strerror(i32 noundef %6650, ptr noundef @.str.4)
  %6652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6653 = load i32, ptr %6652, align 4, !tbaa !5
  %6654 = call ptr @s2n_strerror_debug(i32 noundef %6653, ptr noundef @.str.4)
  %6655 = call ptr @__errno_location() #11
  %6656 = load i32, ptr %6655, align 4, !tbaa !5
  %6657 = call ptr @strerror(i32 noundef %6656) #10
  %6658 = call ptr @__errno_location() #11
  %6659 = load i32, ptr %6658, align 4, !tbaa !5
  %6660 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6647, ptr noundef @.str.5, i32 noundef %6648, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 240, ptr noundef %6651, ptr noundef %6654, ptr noundef %6657, i32 noundef %6659) #10
  br label %6661

6661:                                             ; preds = %6644, %6627
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #10
  br label %6662

6662:                                             ; preds = %6661
  br label %6663

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

6664:                                             ; No predecessors!
  br label %6665

6665:                                             ; preds = %6664
  br label %6666

6666:                                             ; preds = %6665, %6607
  br label %6667

6667:                                             ; preds = %6666
  br label %6668

6668:                                             ; preds = %6667
  br label %6669

6669:                                             ; preds = %6668
  %6670 = load i32, ptr @test_count, align 4, !tbaa !5
  %6671 = add nsw i32 %6670, 1
  store i32 %6671, ptr @test_count, align 4, !tbaa !5
  %6672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6673 = load i32, ptr %6672, align 4, !tbaa !5
  %6674 = call ptr @s2n_strerror_debug(i32 noundef %6673, ptr noundef @.str.4)
  %6675 = icmp eq ptr %6674, null
  br i1 %6675, label %6676, label %6729

6676:                                             ; preds = %6669
  br label %6677

6677:                                             ; preds = %6676
  br label %6678

6678:                                             ; preds = %6677
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #10
  %6679 = call ptr @__errno_location() #11
  %6680 = load i32, ptr %6679, align 4, !tbaa !5
  store i32 %6680, ptr %133, align 4, !tbaa !5
  %6681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6682 = call i32 @s2n_print_stacktrace(ptr noundef %6681)
  %6683 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6684 = trunc i8 %6683 to i1
  br i1 %6684, label %6685, label %6707

6685:                                             ; preds = %6678
  %6686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6687 = call i32 @fileno(ptr noundef %6686) #10
  %6688 = call i32 @isatty(i32 noundef %6687) #10
  %6689 = icmp ne i32 %6688, 0
  br i1 %6689, label %6690, label %6707

6690:                                             ; preds = %6685
  %6691 = load i32, ptr %133, align 4, !tbaa !5
  %6692 = call ptr @__errno_location() #11
  store i32 %6691, ptr %6692, align 4, !tbaa !5
  %6693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6694 = load i32, ptr @test_count, align 4, !tbaa !5
  %6695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6696 = load i32, ptr %6695, align 4, !tbaa !5
  %6697 = call ptr @s2n_strerror(i32 noundef %6696, ptr noundef @.str.4)
  %6698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6699 = load i32, ptr %6698, align 4, !tbaa !5
  %6700 = call ptr @s2n_strerror_debug(i32 noundef %6699, ptr noundef @.str.4)
  %6701 = call ptr @__errno_location() #11
  %6702 = load i32, ptr %6701, align 4, !tbaa !5
  %6703 = call ptr @strerror(i32 noundef %6702) #10
  %6704 = call ptr @__errno_location() #11
  %6705 = load i32, ptr %6704, align 4, !tbaa !5
  %6706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6693, ptr noundef @.str.2, i32 noundef %6694, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 240, ptr noundef %6697, ptr noundef %6700, ptr noundef %6703, i32 noundef %6705) #10
  br label %6724

6707:                                             ; preds = %6685, %6678
  %6708 = load i32, ptr %133, align 4, !tbaa !5
  %6709 = call ptr @__errno_location() #11
  store i32 %6708, ptr %6709, align 4, !tbaa !5
  %6710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6711 = load i32, ptr @test_count, align 4, !tbaa !5
  %6712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6713 = load i32, ptr %6712, align 4, !tbaa !5
  %6714 = call ptr @s2n_strerror(i32 noundef %6713, ptr noundef @.str.4)
  %6715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6716 = load i32, ptr %6715, align 4, !tbaa !5
  %6717 = call ptr @s2n_strerror_debug(i32 noundef %6716, ptr noundef @.str.4)
  %6718 = call ptr @__errno_location() #11
  %6719 = load i32, ptr %6718, align 4, !tbaa !5
  %6720 = call ptr @strerror(i32 noundef %6719) #10
  %6721 = call ptr @__errno_location() #11
  %6722 = load i32, ptr %6721, align 4, !tbaa !5
  %6723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6710, ptr noundef @.str.5, i32 noundef %6711, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 240, ptr noundef %6714, ptr noundef %6717, ptr noundef %6720, i32 noundef %6722) #10
  br label %6724

6724:                                             ; preds = %6707, %6690
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #10
  br label %6725

6725:                                             ; preds = %6724
  br label %6726

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

6727:                                             ; No predecessors!
  br label %6728

6728:                                             ; preds = %6727
  br label %6729

6729:                                             ; preds = %6728, %6669
  br label %6730

6730:                                             ; preds = %6729
  br label %6731

6731:                                             ; preds = %6730
  br label %6732

6732:                                             ; preds = %6731
  br label %6733

6733:                                             ; preds = %6732
  br label %6734

6734:                                             ; preds = %6733
  %6735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6735, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6736 = call ptr @__errno_location() #11
  store i32 0, ptr %6736, align 4, !tbaa !5
  br label %6737

6737:                                             ; preds = %6734
  br label %6738

6738:                                             ; preds = %6737
  br label %6739

6739:                                             ; preds = %6738
  br label %6740

6740:                                             ; preds = %6739
  br label %6741

6741:                                             ; preds = %6740
  br label %6742

6742:                                             ; preds = %6741
  br label %6743

6743:                                             ; preds = %6742
  %6744 = load i32, ptr @test_count, align 4, !tbaa !5
  %6745 = add nsw i32 %6744, 1
  store i32 %6745, ptr @test_count, align 4, !tbaa !5
  %6746 = load ptr, ptr %129, align 8, !tbaa !9
  %6747 = call i32 @s2n_connection_set_secret_callback(ptr noundef %6746, ptr noundef null, ptr noundef %128)
  %6748 = icmp eq i32 %6747, -1
  br i1 %6748, label %6802, label %6749

6749:                                             ; preds = %6743
  br label %6750

6750:                                             ; preds = %6749
  br label %6751

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

6758:                                             ; preds = %6751
  %6759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6760 = call i32 @fileno(ptr noundef %6759) #10
  %6761 = call i32 @isatty(i32 noundef %6760) #10
  %6762 = icmp ne i32 %6761, 0
  br i1 %6762, label %6763, label %6780

6763:                                             ; preds = %6758
  %6764 = load i32, ptr %134, align 4, !tbaa !5
  %6765 = call ptr @__errno_location() #11
  store i32 %6764, ptr %6765, align 4, !tbaa !5
  %6766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6767 = load i32, ptr @test_count, align 4, !tbaa !5
  %6768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6769 = load i32, ptr %6768, align 4, !tbaa !5
  %6770 = call ptr @s2n_strerror(i32 noundef %6769, ptr noundef @.str.4)
  %6771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6772 = load i32, ptr %6771, align 4, !tbaa !5
  %6773 = call ptr @s2n_strerror_debug(i32 noundef %6772, ptr noundef @.str.4)
  %6774 = call ptr @__errno_location() #11
  %6775 = load i32, ptr %6774, align 4, !tbaa !5
  %6776 = call ptr @strerror(i32 noundef %6775) #10
  %6777 = call ptr @__errno_location() #11
  %6778 = load i32, ptr %6777, align 4, !tbaa !5
  %6779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6766, ptr noundef @.str.2, i32 noundef %6767, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 241, ptr noundef %6770, ptr noundef %6773, ptr noundef %6776, i32 noundef %6778) #10
  br label %6797

6780:                                             ; preds = %6758, %6751
  %6781 = load i32, ptr %134, align 4, !tbaa !5
  %6782 = call ptr @__errno_location() #11
  store i32 %6781, ptr %6782, align 4, !tbaa !5
  %6783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6784 = load i32, ptr @test_count, align 4, !tbaa !5
  %6785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6786 = load i32, ptr %6785, align 4, !tbaa !5
  %6787 = call ptr @s2n_strerror(i32 noundef %6786, ptr noundef @.str.4)
  %6788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6789 = load i32, ptr %6788, align 4, !tbaa !5
  %6790 = call ptr @s2n_strerror_debug(i32 noundef %6789, ptr noundef @.str.4)
  %6791 = call ptr @__errno_location() #11
  %6792 = load i32, ptr %6791, align 4, !tbaa !5
  %6793 = call ptr @strerror(i32 noundef %6792) #10
  %6794 = call ptr @__errno_location() #11
  %6795 = load i32, ptr %6794, align 4, !tbaa !5
  %6796 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6783, ptr noundef @.str.5, i32 noundef %6784, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 241, ptr noundef %6787, ptr noundef %6790, ptr noundef %6793, i32 noundef %6795) #10
  br label %6797

6797:                                             ; preds = %6780, %6763
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #10
  br label %6798

6798:                                             ; preds = %6797
  br label %6799

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

6800:                                             ; No predecessors!
  br label %6801

6801:                                             ; preds = %6800
  br label %6802

6802:                                             ; preds = %6801, %6743
  br label %6803

6803:                                             ; preds = %6802
  br label %6804

6804:                                             ; preds = %6803
  br label %6805

6805:                                             ; preds = %6804
  %6806 = load i32, ptr @test_count, align 4, !tbaa !5
  %6807 = add nsw i32 %6806, 1
  store i32 %6807, 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 = icmp eq i32 %6809, 402653193
  br i1 %6810, label %6864, label %6811

6811:                                             ; preds = %6805
  br label %6812

6812:                                             ; preds = %6811
  br label %6813

6813:                                             ; preds = %6812
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #10
  %6814 = call ptr @__errno_location() #11
  %6815 = load i32, ptr %6814, align 4, !tbaa !5
  store i32 %6815, ptr %135, align 4, !tbaa !5
  %6816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6817 = call i32 @s2n_print_stacktrace(ptr noundef %6816)
  %6818 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6819 = trunc i8 %6818 to i1
  br i1 %6819, label %6820, label %6842

6820:                                             ; preds = %6813
  %6821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6822 = call i32 @fileno(ptr noundef %6821) #10
  %6823 = call i32 @isatty(i32 noundef %6822) #10
  %6824 = icmp ne i32 %6823, 0
  br i1 %6824, label %6825, label %6842

6825:                                             ; preds = %6820
  %6826 = load i32, ptr %135, align 4, !tbaa !5
  %6827 = call ptr @__errno_location() #11
  store i32 %6826, ptr %6827, align 4, !tbaa !5
  %6828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6829 = load i32, ptr @test_count, align 4, !tbaa !5
  %6830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6831 = load i32, ptr %6830, align 4, !tbaa !5
  %6832 = call ptr @s2n_strerror(i32 noundef %6831, ptr noundef @.str.4)
  %6833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6834 = load i32, ptr %6833, align 4, !tbaa !5
  %6835 = call ptr @s2n_strerror_debug(i32 noundef %6834, ptr noundef @.str.4)
  %6836 = call ptr @__errno_location() #11
  %6837 = load i32, ptr %6836, align 4, !tbaa !5
  %6838 = call ptr @strerror(i32 noundef %6837) #10
  %6839 = call ptr @__errno_location() #11
  %6840 = load i32, ptr %6839, align 4, !tbaa !5
  %6841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6828, ptr noundef @.str.2, i32 noundef %6829, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 241, ptr noundef %6832, ptr noundef %6835, ptr noundef %6838, i32 noundef %6840) #10
  br label %6859

6842:                                             ; preds = %6820, %6813
  %6843 = load i32, ptr %135, align 4, !tbaa !5
  %6844 = call ptr @__errno_location() #11
  store i32 %6843, ptr %6844, align 4, !tbaa !5
  %6845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6846 = load i32, ptr @test_count, align 4, !tbaa !5
  %6847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6848 = load i32, ptr %6847, align 4, !tbaa !5
  %6849 = call ptr @s2n_strerror(i32 noundef %6848, ptr noundef @.str.4)
  %6850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6851 = load i32, ptr %6850, align 4, !tbaa !5
  %6852 = call ptr @s2n_strerror_debug(i32 noundef %6851, ptr noundef @.str.4)
  %6853 = call ptr @__errno_location() #11
  %6854 = load i32, ptr %6853, align 4, !tbaa !5
  %6855 = call ptr @strerror(i32 noundef %6854) #10
  %6856 = call ptr @__errno_location() #11
  %6857 = load i32, ptr %6856, align 4, !tbaa !5
  %6858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6845, ptr noundef @.str.5, i32 noundef %6846, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 241, ptr noundef %6849, ptr noundef %6852, ptr noundef %6855, i32 noundef %6857) #10
  br label %6859

6859:                                             ; preds = %6842, %6825
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #10
  br label %6860

6860:                                             ; preds = %6859
  br label %6861

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

6862:                                             ; No predecessors!
  br label %6863

6863:                                             ; preds = %6862
  br label %6864

6864:                                             ; preds = %6863, %6805
  br label %6865

6865:                                             ; preds = %6864
  br label %6866

6866:                                             ; preds = %6865
  br label %6867

6867:                                             ; preds = %6866
  %6868 = load i32, ptr @test_count, align 4, !tbaa !5
  %6869 = add nsw i32 %6868, 1
  store i32 %6869, ptr @test_count, align 4, !tbaa !5
  %6870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6871 = load i32, ptr %6870, align 4, !tbaa !5
  %6872 = call ptr @s2n_strerror_debug(i32 noundef %6871, ptr noundef @.str.4)
  %6873 = icmp eq ptr %6872, null
  br i1 %6873, label %6874, label %6927

6874:                                             ; preds = %6867
  br label %6875

6875:                                             ; preds = %6874
  br label %6876

6876:                                             ; preds = %6875
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #10
  %6877 = call ptr @__errno_location() #11
  %6878 = load i32, ptr %6877, align 4, !tbaa !5
  store i32 %6878, ptr %136, align 4, !tbaa !5
  %6879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6880 = call i32 @s2n_print_stacktrace(ptr noundef %6879)
  %6881 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6882 = trunc i8 %6881 to i1
  br i1 %6882, label %6883, label %6905

6883:                                             ; preds = %6876
  %6884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6885 = call i32 @fileno(ptr noundef %6884) #10
  %6886 = call i32 @isatty(i32 noundef %6885) #10
  %6887 = icmp ne i32 %6886, 0
  br i1 %6887, label %6888, label %6905

6888:                                             ; preds = %6883
  %6889 = load i32, ptr %136, align 4, !tbaa !5
  %6890 = call ptr @__errno_location() #11
  store i32 %6889, ptr %6890, align 4, !tbaa !5
  %6891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6892 = load i32, ptr @test_count, align 4, !tbaa !5
  %6893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6894 = load i32, ptr %6893, align 4, !tbaa !5
  %6895 = call ptr @s2n_strerror(i32 noundef %6894, ptr noundef @.str.4)
  %6896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6897 = load i32, ptr %6896, align 4, !tbaa !5
  %6898 = call ptr @s2n_strerror_debug(i32 noundef %6897, ptr noundef @.str.4)
  %6899 = call ptr @__errno_location() #11
  %6900 = load i32, ptr %6899, align 4, !tbaa !5
  %6901 = call ptr @strerror(i32 noundef %6900) #10
  %6902 = call ptr @__errno_location() #11
  %6903 = load i32, ptr %6902, align 4, !tbaa !5
  %6904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6891, ptr noundef @.str.2, i32 noundef %6892, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 241, ptr noundef %6895, ptr noundef %6898, ptr noundef %6901, i32 noundef %6903) #10
  br label %6922

6905:                                             ; preds = %6883, %6876
  %6906 = load i32, ptr %136, align 4, !tbaa !5
  %6907 = call ptr @__errno_location() #11
  store i32 %6906, ptr %6907, align 4, !tbaa !5
  %6908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6909 = load i32, ptr @test_count, align 4, !tbaa !5
  %6910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6911 = load i32, ptr %6910, align 4, !tbaa !5
  %6912 = call ptr @s2n_strerror(i32 noundef %6911, ptr noundef @.str.4)
  %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_debug(i32 noundef %6914, ptr noundef @.str.4)
  %6916 = call ptr @__errno_location() #11
  %6917 = load i32, ptr %6916, align 4, !tbaa !5
  %6918 = call ptr @strerror(i32 noundef %6917) #10
  %6919 = call ptr @__errno_location() #11
  %6920 = load i32, ptr %6919, align 4, !tbaa !5
  %6921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6908, ptr noundef @.str.5, i32 noundef %6909, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 241, ptr noundef %6912, ptr noundef %6915, ptr noundef %6918, i32 noundef %6920) #10
  br label %6922

6922:                                             ; preds = %6905, %6888
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #10
  br label %6923

6923:                                             ; preds = %6922
  br label %6924

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

6925:                                             ; No predecessors!
  br label %6926

6926:                                             ; preds = %6925
  br label %6927

6927:                                             ; preds = %6926, %6867
  br label %6928

6928:                                             ; preds = %6927
  br label %6929

6929:                                             ; preds = %6928
  br label %6930

6930:                                             ; preds = %6929
  br label %6931

6931:                                             ; preds = %6930
  br label %6932

6932:                                             ; preds = %6931
  %6933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6933, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6934 = call ptr @__errno_location() #11
  store i32 0, ptr %6934, align 4, !tbaa !5
  br label %6935

6935:                                             ; preds = %6932
  br label %6936

6936:                                             ; preds = %6935
  br label %6937

6937:                                             ; preds = %6936
  br label %6938

6938:                                             ; preds = %6937
  br label %6939

6939:                                             ; preds = %6938
  %6940 = load i32, ptr @test_count, align 4, !tbaa !5
  %6941 = add nsw i32 %6940, 1
  store i32 %6941, ptr @test_count, align 4, !tbaa !5
  %6942 = load ptr, ptr %129, align 8, !tbaa !9
  %6943 = getelementptr inbounds %struct.s2n_connection, ptr %6942, i32 0, i32 4
  %6944 = load ptr, ptr %6943, align 8, !tbaa !49
  %6945 = icmp eq ptr %6944, null
  br i1 %6945, label %6999, label %6946

6946:                                             ; preds = %6939
  br label %6947

6947:                                             ; preds = %6946
  br label %6948

6948:                                             ; preds = %6947
  call void @llvm.lifetime.start.p0(i64 4, ptr %137) #10
  %6949 = call ptr @__errno_location() #11
  %6950 = load i32, ptr %6949, align 4, !tbaa !5
  store i32 %6950, ptr %137, align 4, !tbaa !5
  %6951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6952 = call i32 @s2n_print_stacktrace(ptr noundef %6951)
  %6953 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6954 = trunc i8 %6953 to i1
  br i1 %6954, label %6955, label %6977

6955:                                             ; preds = %6948
  %6956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6957 = call i32 @fileno(ptr noundef %6956) #10
  %6958 = call i32 @isatty(i32 noundef %6957) #10
  %6959 = icmp ne i32 %6958, 0
  br i1 %6959, label %6960, label %6977

6960:                                             ; preds = %6955
  %6961 = load i32, ptr %137, align 4, !tbaa !5
  %6962 = call ptr @__errno_location() #11
  store i32 %6961, ptr %6962, align 4, !tbaa !5
  %6963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6964 = load i32, ptr @test_count, align 4, !tbaa !5
  %6965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6966 = load i32, ptr %6965, align 4, !tbaa !5
  %6967 = call ptr @s2n_strerror(i32 noundef %6966, ptr noundef @.str.4)
  %6968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6969 = load i32, ptr %6968, align 4, !tbaa !5
  %6970 = call ptr @s2n_strerror_debug(i32 noundef %6969, ptr noundef @.str.4)
  %6971 = call ptr @__errno_location() #11
  %6972 = load i32, ptr %6971, align 4, !tbaa !5
  %6973 = call ptr @strerror(i32 noundef %6972) #10
  %6974 = call ptr @__errno_location() #11
  %6975 = load i32, ptr %6974, align 4, !tbaa !5
  %6976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6963, ptr noundef @.str.2, i32 noundef %6964, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 243, ptr noundef %6967, ptr noundef %6970, ptr noundef %6973, i32 noundef %6975) #10
  br label %6994

6977:                                             ; preds = %6955, %6948
  %6978 = load i32, ptr %137, align 4, !tbaa !5
  %6979 = call ptr @__errno_location() #11
  store i32 %6978, ptr %6979, align 4, !tbaa !5
  %6980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6981 = load i32, ptr @test_count, align 4, !tbaa !5
  %6982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6983 = load i32, ptr %6982, align 4, !tbaa !5
  %6984 = call ptr @s2n_strerror(i32 noundef %6983, ptr noundef @.str.4)
  %6985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6986 = load i32, ptr %6985, align 4, !tbaa !5
  %6987 = call ptr @s2n_strerror_debug(i32 noundef %6986, ptr noundef @.str.4)
  %6988 = call ptr @__errno_location() #11
  %6989 = load i32, ptr %6988, align 4, !tbaa !5
  %6990 = call ptr @strerror(i32 noundef %6989) #10
  %6991 = call ptr @__errno_location() #11
  %6992 = load i32, ptr %6991, align 4, !tbaa !5
  %6993 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6980, ptr noundef @.str.5, i32 noundef %6981, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 243, ptr noundef %6984, ptr noundef %6987, ptr noundef %6990, i32 noundef %6992) #10
  br label %6994

6994:                                             ; preds = %6977, %6960
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #10
  br label %6995

6995:                                             ; preds = %6994
  br label %6996

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

6997:                                             ; No predecessors!
  br label %6998

6998:                                             ; preds = %6997
  br label %6999

6999:                                             ; preds = %6998, %6939
  br label %7000

7000:                                             ; preds = %6999
  br label %7001

7001:                                             ; preds = %7000
  br label %7002

7002:                                             ; preds = %7001
  %7003 = load i32, ptr @test_count, align 4, !tbaa !5
  %7004 = add nsw i32 %7003, 1
  store i32 %7004, ptr @test_count, align 4, !tbaa !5
  %7005 = load ptr, ptr %129, align 8, !tbaa !9
  %7006 = getelementptr inbounds %struct.s2n_connection, ptr %7005, i32 0, i32 5
  %7007 = load ptr, ptr %7006, align 8, !tbaa !50
  %7008 = icmp eq ptr %7007, null
  br i1 %7008, label %7062, label %7009

7009:                                             ; preds = %7002
  br label %7010

7010:                                             ; preds = %7009
  br label %7011

7011:                                             ; preds = %7010
  call void @llvm.lifetime.start.p0(i64 4, ptr %138) #10
  %7012 = call ptr @__errno_location() #11
  %7013 = load i32, ptr %7012, align 4, !tbaa !5
  store i32 %7013, ptr %138, align 4, !tbaa !5
  %7014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7015 = call i32 @s2n_print_stacktrace(ptr noundef %7014)
  %7016 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7017 = trunc i8 %7016 to i1
  br i1 %7017, label %7018, label %7040

7018:                                             ; preds = %7011
  %7019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7020 = call i32 @fileno(ptr noundef %7019) #10
  %7021 = call i32 @isatty(i32 noundef %7020) #10
  %7022 = icmp ne i32 %7021, 0
  br i1 %7022, label %7023, label %7040

7023:                                             ; preds = %7018
  %7024 = load i32, ptr %138, align 4, !tbaa !5
  %7025 = call ptr @__errno_location() #11
  store i32 %7024, ptr %7025, align 4, !tbaa !5
  %7026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7027 = load i32, ptr @test_count, align 4, !tbaa !5
  %7028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7029 = load i32, ptr %7028, align 4, !tbaa !5
  %7030 = call ptr @s2n_strerror(i32 noundef %7029, ptr noundef @.str.4)
  %7031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7032 = load i32, ptr %7031, align 4, !tbaa !5
  %7033 = call ptr @s2n_strerror_debug(i32 noundef %7032, ptr noundef @.str.4)
  %7034 = call ptr @__errno_location() #11
  %7035 = load i32, ptr %7034, align 4, !tbaa !5
  %7036 = call ptr @strerror(i32 noundef %7035) #10
  %7037 = call ptr @__errno_location() #11
  %7038 = load i32, ptr %7037, align 4, !tbaa !5
  %7039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7026, ptr noundef @.str.2, i32 noundef %7027, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 244, ptr noundef %7030, ptr noundef %7033, ptr noundef %7036, i32 noundef %7038) #10
  br label %7057

7040:                                             ; preds = %7018, %7011
  %7041 = load i32, ptr %138, align 4, !tbaa !5
  %7042 = call ptr @__errno_location() #11
  store i32 %7041, ptr %7042, align 4, !tbaa !5
  %7043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7044 = load i32, ptr @test_count, align 4, !tbaa !5
  %7045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7046 = load i32, ptr %7045, align 4, !tbaa !5
  %7047 = call ptr @s2n_strerror(i32 noundef %7046, ptr noundef @.str.4)
  %7048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7049 = load i32, ptr %7048, align 4, !tbaa !5
  %7050 = call ptr @s2n_strerror_debug(i32 noundef %7049, ptr noundef @.str.4)
  %7051 = call ptr @__errno_location() #11
  %7052 = load i32, ptr %7051, align 4, !tbaa !5
  %7053 = call ptr @strerror(i32 noundef %7052) #10
  %7054 = call ptr @__errno_location() #11
  %7055 = load i32, ptr %7054, align 4, !tbaa !5
  %7056 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7043, ptr noundef @.str.5, i32 noundef %7044, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 244, ptr noundef %7047, ptr noundef %7050, ptr noundef %7053, i32 noundef %7055) #10
  br label %7057

7057:                                             ; preds = %7040, %7023
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #10
  br label %7058

7058:                                             ; preds = %7057
  br label %7059

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

7060:                                             ; No predecessors!
  br label %7061

7061:                                             ; preds = %7060
  br label %7062

7062:                                             ; preds = %7061, %7002
  br label %7063

7063:                                             ; preds = %7062
  br label %7064

7064:                                             ; preds = %7063
  br label %7065

7065:                                             ; preds = %7064
  %7066 = load i32, ptr @test_count, align 4, !tbaa !5
  %7067 = add nsw i32 %7066, 1
  store i32 %7067, ptr @test_count, align 4, !tbaa !5
  %7068 = load ptr, ptr %129, align 8, !tbaa !9
  %7069 = call i32 @s2n_connection_free(ptr noundef %7068)
  %7070 = icmp eq i32 %7069, -1
  br i1 %7070, label %7071, label %7124

7071:                                             ; preds = %7065
  br label %7072

7072:                                             ; preds = %7071
  br label %7073

7073:                                             ; preds = %7072
  call void @llvm.lifetime.start.p0(i64 4, ptr %139) #10
  %7074 = call ptr @__errno_location() #11
  %7075 = load i32, ptr %7074, align 4, !tbaa !5
  store i32 %7075, ptr %139, align 4, !tbaa !5
  %7076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7077 = call i32 @s2n_print_stacktrace(ptr noundef %7076)
  %7078 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7079 = trunc i8 %7078 to i1
  br i1 %7079, label %7080, label %7102

7080:                                             ; preds = %7073
  %7081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7082 = call i32 @fileno(ptr noundef %7081) #10
  %7083 = call i32 @isatty(i32 noundef %7082) #10
  %7084 = icmp ne i32 %7083, 0
  br i1 %7084, label %7085, label %7102

7085:                                             ; preds = %7080
  %7086 = load i32, ptr %139, align 4, !tbaa !5
  %7087 = call ptr @__errno_location() #11
  store i32 %7086, ptr %7087, align 4, !tbaa !5
  %7088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7089 = load i32, ptr @test_count, align 4, !tbaa !5
  %7090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7091 = load i32, ptr %7090, align 4, !tbaa !5
  %7092 = call ptr @s2n_strerror(i32 noundef %7091, ptr noundef @.str.4)
  %7093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7094 = load i32, ptr %7093, align 4, !tbaa !5
  %7095 = call ptr @s2n_strerror_debug(i32 noundef %7094, ptr noundef @.str.4)
  %7096 = call ptr @__errno_location() #11
  %7097 = load i32, ptr %7096, align 4, !tbaa !5
  %7098 = call ptr @strerror(i32 noundef %7097) #10
  %7099 = call ptr @__errno_location() #11
  %7100 = load i32, ptr %7099, align 4, !tbaa !5
  %7101 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7088, ptr noundef @.str.2, i32 noundef %7089, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 246, ptr noundef %7092, ptr noundef %7095, ptr noundef %7098, i32 noundef %7100) #10
  br label %7119

7102:                                             ; preds = %7080, %7073
  %7103 = load i32, ptr %139, align 4, !tbaa !5
  %7104 = call ptr @__errno_location() #11
  store i32 %7103, ptr %7104, align 4, !tbaa !5
  %7105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7106 = load i32, ptr @test_count, align 4, !tbaa !5
  %7107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7108 = load i32, ptr %7107, align 4, !tbaa !5
  %7109 = call ptr @s2n_strerror(i32 noundef %7108, ptr noundef @.str.4)
  %7110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7111 = load i32, ptr %7110, align 4, !tbaa !5
  %7112 = call ptr @s2n_strerror_debug(i32 noundef %7111, ptr noundef @.str.4)
  %7113 = call ptr @__errno_location() #11
  %7114 = load i32, ptr %7113, align 4, !tbaa !5
  %7115 = call ptr @strerror(i32 noundef %7114) #10
  %7116 = call ptr @__errno_location() #11
  %7117 = load i32, ptr %7116, align 4, !tbaa !5
  %7118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7105, ptr noundef @.str.5, i32 noundef %7106, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 246, ptr noundef %7109, ptr noundef %7112, ptr noundef %7115, i32 noundef %7117) #10
  br label %7119

7119:                                             ; preds = %7102, %7085
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #10
  br label %7120

7120:                                             ; preds = %7119
  br label %7121

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

7122:                                             ; No predecessors!
  br label %7123

7123:                                             ; preds = %7122
  br label %7124

7124:                                             ; preds = %7123, %7065
  br label %7125

7125:                                             ; preds = %7124
  br label %7126

7126:                                             ; preds = %7125
  call void @llvm.lifetime.end.p0(i64 8, ptr %129) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %140) #10
  store ptr null, ptr %140, align 8, !tbaa !9
  br label %7127

7127:                                             ; preds = %7126
  %7128 = load i32, ptr @test_count, align 4, !tbaa !5
  %7129 = add nsw i32 %7128, 1
  store i32 %7129, ptr @test_count, align 4, !tbaa !5
  %7130 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %7130, ptr %140, align 8, !tbaa !9
  %7131 = icmp eq ptr %7130, null
  br i1 %7131, label %7132, label %7185

7132:                                             ; preds = %7127
  br label %7133

7133:                                             ; preds = %7132
  br label %7134

7134:                                             ; preds = %7133
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #10
  %7135 = call ptr @__errno_location() #11
  %7136 = load i32, ptr %7135, align 4, !tbaa !5
  store i32 %7136, ptr %141, align 4, !tbaa !5
  %7137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7138 = call i32 @s2n_print_stacktrace(ptr noundef %7137)
  %7139 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7140 = trunc i8 %7139 to i1
  br i1 %7140, label %7141, label %7163

7141:                                             ; preds = %7134
  %7142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7143 = call i32 @fileno(ptr noundef %7142) #10
  %7144 = call i32 @isatty(i32 noundef %7143) #10
  %7145 = icmp ne i32 %7144, 0
  br i1 %7145, label %7146, label %7163

7146:                                             ; preds = %7141
  %7147 = load i32, ptr %141, align 4, !tbaa !5
  %7148 = call ptr @__errno_location() #11
  store i32 %7147, ptr %7148, align 4, !tbaa !5
  %7149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7150 = load i32, ptr @test_count, align 4, !tbaa !5
  %7151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7152 = load i32, ptr %7151, align 4, !tbaa !5
  %7153 = call ptr @s2n_strerror(i32 noundef %7152, ptr noundef @.str.4)
  %7154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7155 = load i32, ptr %7154, align 4, !tbaa !5
  %7156 = call ptr @s2n_strerror_debug(i32 noundef %7155, ptr noundef @.str.4)
  %7157 = call ptr @__errno_location() #11
  %7158 = load i32, ptr %7157, align 4, !tbaa !5
  %7159 = call ptr @strerror(i32 noundef %7158) #10
  %7160 = call ptr @__errno_location() #11
  %7161 = load i32, ptr %7160, align 4, !tbaa !5
  %7162 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7149, ptr noundef @.str.2, i32 noundef %7150, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 252, ptr noundef %7153, ptr noundef %7156, ptr noundef %7159, i32 noundef %7161) #10
  br label %7180

7163:                                             ; preds = %7141, %7134
  %7164 = load i32, ptr %141, align 4, !tbaa !5
  %7165 = call ptr @__errno_location() #11
  store i32 %7164, ptr %7165, align 4, !tbaa !5
  %7166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7167 = load i32, ptr @test_count, align 4, !tbaa !5
  %7168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7169 = load i32, ptr %7168, align 4, !tbaa !5
  %7170 = call ptr @s2n_strerror(i32 noundef %7169, ptr noundef @.str.4)
  %7171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7172 = load i32, ptr %7171, align 4, !tbaa !5
  %7173 = call ptr @s2n_strerror_debug(i32 noundef %7172, ptr noundef @.str.4)
  %7174 = call ptr @__errno_location() #11
  %7175 = load i32, ptr %7174, align 4, !tbaa !5
  %7176 = call ptr @strerror(i32 noundef %7175) #10
  %7177 = call ptr @__errno_location() #11
  %7178 = load i32, ptr %7177, align 4, !tbaa !5
  %7179 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7166, ptr noundef @.str.5, i32 noundef %7167, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 252, ptr noundef %7170, ptr noundef %7173, ptr noundef %7176, i32 noundef %7178) #10
  br label %7180

7180:                                             ; preds = %7163, %7146
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #10
  br label %7181

7181:                                             ; preds = %7180
  br label %7182

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

7183:                                             ; No predecessors!
  br label %7184

7184:                                             ; preds = %7183
  br label %7185

7185:                                             ; preds = %7184, %7127
  br label %7186

7186:                                             ; preds = %7185
  br label %7187

7187:                                             ; preds = %7186
  br label %7188

7188:                                             ; preds = %7187
  %7189 = load i32, ptr @test_count, align 4, !tbaa !5
  %7190 = add nsw i32 %7189, 1
  store i32 %7190, ptr @test_count, align 4, !tbaa !5
  %7191 = load ptr, ptr %140, align 8, !tbaa !9
  %7192 = getelementptr inbounds %struct.s2n_connection, ptr %7191, i32 0, i32 4
  %7193 = load ptr, ptr %7192, align 8, !tbaa !49
  %7194 = icmp eq ptr %7193, null
  br i1 %7194, label %7248, label %7195

7195:                                             ; preds = %7188
  br label %7196

7196:                                             ; preds = %7195
  br label %7197

7197:                                             ; preds = %7196
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #10
  %7198 = call ptr @__errno_location() #11
  %7199 = load i32, ptr %7198, align 4, !tbaa !5
  store i32 %7199, ptr %142, align 4, !tbaa !5
  %7200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7201 = call i32 @s2n_print_stacktrace(ptr noundef %7200)
  %7202 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7203 = trunc i8 %7202 to i1
  br i1 %7203, label %7204, label %7226

7204:                                             ; preds = %7197
  %7205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7206 = call i32 @fileno(ptr noundef %7205) #10
  %7207 = call i32 @isatty(i32 noundef %7206) #10
  %7208 = icmp ne i32 %7207, 0
  br i1 %7208, label %7209, label %7226

7209:                                             ; preds = %7204
  %7210 = load i32, ptr %142, align 4, !tbaa !5
  %7211 = call ptr @__errno_location() #11
  store i32 %7210, ptr %7211, align 4, !tbaa !5
  %7212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7213 = load i32, ptr @test_count, align 4, !tbaa !5
  %7214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7215 = load i32, ptr %7214, align 4, !tbaa !5
  %7216 = call ptr @s2n_strerror(i32 noundef %7215, ptr noundef @.str.4)
  %7217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7218 = load i32, ptr %7217, align 4, !tbaa !5
  %7219 = call ptr @s2n_strerror_debug(i32 noundef %7218, ptr noundef @.str.4)
  %7220 = call ptr @__errno_location() #11
  %7221 = load i32, ptr %7220, align 4, !tbaa !5
  %7222 = call ptr @strerror(i32 noundef %7221) #10
  %7223 = call ptr @__errno_location() #11
  %7224 = load i32, ptr %7223, align 4, !tbaa !5
  %7225 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7212, ptr noundef @.str.2, i32 noundef %7213, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 253, ptr noundef %7216, ptr noundef %7219, ptr noundef %7222, i32 noundef %7224) #10
  br label %7243

7226:                                             ; preds = %7204, %7197
  %7227 = load i32, ptr %142, align 4, !tbaa !5
  %7228 = call ptr @__errno_location() #11
  store i32 %7227, ptr %7228, align 4, !tbaa !5
  %7229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7230 = load i32, ptr @test_count, align 4, !tbaa !5
  %7231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7232 = load i32, ptr %7231, align 4, !tbaa !5
  %7233 = call ptr @s2n_strerror(i32 noundef %7232, ptr noundef @.str.4)
  %7234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7235 = load i32, ptr %7234, align 4, !tbaa !5
  %7236 = call ptr @s2n_strerror_debug(i32 noundef %7235, ptr noundef @.str.4)
  %7237 = call ptr @__errno_location() #11
  %7238 = load i32, ptr %7237, align 4, !tbaa !5
  %7239 = call ptr @strerror(i32 noundef %7238) #10
  %7240 = call ptr @__errno_location() #11
  %7241 = load i32, ptr %7240, align 4, !tbaa !5
  %7242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7229, ptr noundef @.str.5, i32 noundef %7230, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 253, ptr noundef %7233, ptr noundef %7236, ptr noundef %7239, i32 noundef %7241) #10
  br label %7243

7243:                                             ; preds = %7226, %7209
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #10
  br label %7244

7244:                                             ; preds = %7243
  br label %7245

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

7246:                                             ; No predecessors!
  br label %7247

7247:                                             ; preds = %7246
  br label %7248

7248:                                             ; preds = %7247, %7188
  br label %7249

7249:                                             ; preds = %7248
  br label %7250

7250:                                             ; preds = %7249
  br label %7251

7251:                                             ; preds = %7250
  %7252 = load i32, ptr @test_count, align 4, !tbaa !5
  %7253 = add nsw i32 %7252, 1
  store i32 %7253, ptr @test_count, align 4, !tbaa !5
  %7254 = load ptr, ptr %140, align 8, !tbaa !9
  %7255 = getelementptr inbounds %struct.s2n_connection, ptr %7254, i32 0, i32 5
  %7256 = load ptr, ptr %7255, align 8, !tbaa !50
  %7257 = icmp eq ptr %7256, null
  br i1 %7257, label %7311, label %7258

7258:                                             ; preds = %7251
  br label %7259

7259:                                             ; preds = %7258
  br label %7260

7260:                                             ; preds = %7259
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #10
  %7261 = call ptr @__errno_location() #11
  %7262 = load i32, ptr %7261, align 4, !tbaa !5
  store i32 %7262, ptr %143, align 4, !tbaa !5
  %7263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7264 = call i32 @s2n_print_stacktrace(ptr noundef %7263)
  %7265 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7266 = trunc i8 %7265 to i1
  br i1 %7266, label %7267, label %7289

7267:                                             ; preds = %7260
  %7268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7269 = call i32 @fileno(ptr noundef %7268) #10
  %7270 = call i32 @isatty(i32 noundef %7269) #10
  %7271 = icmp ne i32 %7270, 0
  br i1 %7271, label %7272, label %7289

7272:                                             ; preds = %7267
  %7273 = load i32, ptr %143, align 4, !tbaa !5
  %7274 = call ptr @__errno_location() #11
  store i32 %7273, ptr %7274, align 4, !tbaa !5
  %7275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7276 = load i32, ptr @test_count, align 4, !tbaa !5
  %7277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7278 = load i32, ptr %7277, align 4, !tbaa !5
  %7279 = call ptr @s2n_strerror(i32 noundef %7278, ptr noundef @.str.4)
  %7280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7281 = load i32, ptr %7280, align 4, !tbaa !5
  %7282 = call ptr @s2n_strerror_debug(i32 noundef %7281, ptr noundef @.str.4)
  %7283 = call ptr @__errno_location() #11
  %7284 = load i32, ptr %7283, align 4, !tbaa !5
  %7285 = call ptr @strerror(i32 noundef %7284) #10
  %7286 = call ptr @__errno_location() #11
  %7287 = load i32, ptr %7286, align 4, !tbaa !5
  %7288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7275, ptr noundef @.str.2, i32 noundef %7276, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 254, ptr noundef %7279, ptr noundef %7282, ptr noundef %7285, i32 noundef %7287) #10
  br label %7306

7289:                                             ; preds = %7267, %7260
  %7290 = load i32, ptr %143, align 4, !tbaa !5
  %7291 = call ptr @__errno_location() #11
  store i32 %7290, ptr %7291, align 4, !tbaa !5
  %7292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7293 = load i32, ptr @test_count, align 4, !tbaa !5
  %7294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7295 = load i32, ptr %7294, align 4, !tbaa !5
  %7296 = call ptr @s2n_strerror(i32 noundef %7295, ptr noundef @.str.4)
  %7297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7298 = load i32, ptr %7297, align 4, !tbaa !5
  %7299 = call ptr @s2n_strerror_debug(i32 noundef %7298, ptr noundef @.str.4)
  %7300 = call ptr @__errno_location() #11
  %7301 = load i32, ptr %7300, align 4, !tbaa !5
  %7302 = call ptr @strerror(i32 noundef %7301) #10
  %7303 = call ptr @__errno_location() #11
  %7304 = load i32, ptr %7303, align 4, !tbaa !5
  %7305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7292, ptr noundef @.str.5, i32 noundef %7293, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 254, ptr noundef %7296, ptr noundef %7299, ptr noundef %7302, i32 noundef %7304) #10
  br label %7306

7306:                                             ; preds = %7289, %7272
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #10
  br label %7307

7307:                                             ; preds = %7306
  br label %7308

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

7309:                                             ; No predecessors!
  br label %7310

7310:                                             ; preds = %7309
  br label %7311

7311:                                             ; preds = %7310, %7251
  br label %7312

7312:                                             ; preds = %7311
  br label %7313

7313:                                             ; preds = %7312
  br label %7314

7314:                                             ; preds = %7313
  %7315 = load i32, ptr @test_count, align 4, !tbaa !5
  %7316 = add nsw i32 %7315, 1
  store i32 %7316, ptr @test_count, align 4, !tbaa !5
  %7317 = load ptr, ptr %140, align 8, !tbaa !9
  %7318 = call i32 @s2n_connection_set_secret_callback(ptr noundef %7317, ptr noundef @s2n_test_noop_secret_handler, ptr noundef null)
  %7319 = icmp eq i32 %7318, -1
  br i1 %7319, label %7320, label %7373

7320:                                             ; preds = %7314
  br label %7321

7321:                                             ; preds = %7320
  br label %7322

7322:                                             ; preds = %7321
  call void @llvm.lifetime.start.p0(i64 4, ptr %144) #10
  %7323 = call ptr @__errno_location() #11
  %7324 = load i32, ptr %7323, align 4, !tbaa !5
  store i32 %7324, ptr %144, align 4, !tbaa !5
  %7325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7326 = call i32 @s2n_print_stacktrace(ptr noundef %7325)
  %7327 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7328 = trunc i8 %7327 to i1
  br i1 %7328, label %7329, label %7351

7329:                                             ; preds = %7322
  %7330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7331 = call i32 @fileno(ptr noundef %7330) #10
  %7332 = call i32 @isatty(i32 noundef %7331) #10
  %7333 = icmp ne i32 %7332, 0
  br i1 %7333, label %7334, label %7351

7334:                                             ; preds = %7329
  %7335 = load i32, ptr %144, align 4, !tbaa !5
  %7336 = call ptr @__errno_location() #11
  store i32 %7335, ptr %7336, align 4, !tbaa !5
  %7337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7338 = load i32, ptr @test_count, align 4, !tbaa !5
  %7339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7340 = load i32, ptr %7339, align 4, !tbaa !5
  %7341 = call ptr @s2n_strerror(i32 noundef %7340, ptr noundef @.str.4)
  %7342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7343 = load i32, ptr %7342, align 4, !tbaa !5
  %7344 = call ptr @s2n_strerror_debug(i32 noundef %7343, ptr noundef @.str.4)
  %7345 = call ptr @__errno_location() #11
  %7346 = load i32, ptr %7345, align 4, !tbaa !5
  %7347 = call ptr @strerror(i32 noundef %7346) #10
  %7348 = call ptr @__errno_location() #11
  %7349 = load i32, ptr %7348, align 4, !tbaa !5
  %7350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7337, ptr noundef @.str.2, i32 noundef %7338, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 256, ptr noundef %7341, ptr noundef %7344, ptr noundef %7347, i32 noundef %7349) #10
  br label %7368

7351:                                             ; preds = %7329, %7322
  %7352 = load i32, ptr %144, align 4, !tbaa !5
  %7353 = call ptr @__errno_location() #11
  store i32 %7352, ptr %7353, align 4, !tbaa !5
  %7354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7355 = load i32, ptr @test_count, align 4, !tbaa !5
  %7356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7357 = load i32, ptr %7356, align 4, !tbaa !5
  %7358 = call ptr @s2n_strerror(i32 noundef %7357, ptr noundef @.str.4)
  %7359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7360 = load i32, ptr %7359, align 4, !tbaa !5
  %7361 = call ptr @s2n_strerror_debug(i32 noundef %7360, ptr noundef @.str.4)
  %7362 = call ptr @__errno_location() #11
  %7363 = load i32, ptr %7362, align 4, !tbaa !5
  %7364 = call ptr @strerror(i32 noundef %7363) #10
  %7365 = call ptr @__errno_location() #11
  %7366 = load i32, ptr %7365, align 4, !tbaa !5
  %7367 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7354, ptr noundef @.str.5, i32 noundef %7355, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 256, ptr noundef %7358, ptr noundef %7361, ptr noundef %7364, i32 noundef %7366) #10
  br label %7368

7368:                                             ; preds = %7351, %7334
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #10
  br label %7369

7369:                                             ; preds = %7368
  br label %7370

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

7371:                                             ; No predecessors!
  br label %7372

7372:                                             ; preds = %7371
  br label %7373

7373:                                             ; preds = %7372, %7314
  br label %7374

7374:                                             ; preds = %7373
  br label %7375

7375:                                             ; preds = %7374
  br label %7376

7376:                                             ; preds = %7375
  %7377 = load i32, ptr @test_count, align 4, !tbaa !5
  %7378 = add nsw i32 %7377, 1
  store i32 %7378, ptr @test_count, align 4, !tbaa !5
  %7379 = load ptr, ptr %140, align 8, !tbaa !9
  %7380 = getelementptr inbounds %struct.s2n_connection, ptr %7379, i32 0, i32 4
  %7381 = load ptr, ptr %7380, align 8, !tbaa !49
  %7382 = icmp eq ptr %7381, @s2n_test_noop_secret_handler
  br i1 %7382, label %7436, label %7383

7383:                                             ; preds = %7376
  br label %7384

7384:                                             ; preds = %7383
  br label %7385

7385:                                             ; preds = %7384
  call void @llvm.lifetime.start.p0(i64 4, ptr %145) #10
  %7386 = call ptr @__errno_location() #11
  %7387 = load i32, ptr %7386, align 4, !tbaa !5
  store i32 %7387, ptr %145, align 4, !tbaa !5
  %7388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7389 = call i32 @s2n_print_stacktrace(ptr noundef %7388)
  %7390 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7391 = trunc i8 %7390 to i1
  br i1 %7391, label %7392, label %7414

7392:                                             ; preds = %7385
  %7393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7394 = call i32 @fileno(ptr noundef %7393) #10
  %7395 = call i32 @isatty(i32 noundef %7394) #10
  %7396 = icmp ne i32 %7395, 0
  br i1 %7396, label %7397, label %7414

7397:                                             ; preds = %7392
  %7398 = load i32, ptr %145, align 4, !tbaa !5
  %7399 = call ptr @__errno_location() #11
  store i32 %7398, ptr %7399, align 4, !tbaa !5
  %7400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7401 = load i32, ptr @test_count, align 4, !tbaa !5
  %7402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7403 = load i32, ptr %7402, align 4, !tbaa !5
  %7404 = call ptr @s2n_strerror(i32 noundef %7403, ptr noundef @.str.4)
  %7405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7406 = load i32, ptr %7405, align 4, !tbaa !5
  %7407 = call ptr @s2n_strerror_debug(i32 noundef %7406, ptr noundef @.str.4)
  %7408 = call ptr @__errno_location() #11
  %7409 = load i32, ptr %7408, align 4, !tbaa !5
  %7410 = call ptr @strerror(i32 noundef %7409) #10
  %7411 = call ptr @__errno_location() #11
  %7412 = load i32, ptr %7411, align 4, !tbaa !5
  %7413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7400, ptr noundef @.str.2, i32 noundef %7401, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 258, ptr noundef %7404, ptr noundef %7407, ptr noundef %7410, i32 noundef %7412) #10
  br label %7431

7414:                                             ; preds = %7392, %7385
  %7415 = load i32, ptr %145, align 4, !tbaa !5
  %7416 = call ptr @__errno_location() #11
  store i32 %7415, ptr %7416, align 4, !tbaa !5
  %7417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7418 = load i32, ptr @test_count, align 4, !tbaa !5
  %7419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7420 = load i32, ptr %7419, align 4, !tbaa !5
  %7421 = call ptr @s2n_strerror(i32 noundef %7420, ptr noundef @.str.4)
  %7422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7423 = load i32, ptr %7422, align 4, !tbaa !5
  %7424 = call ptr @s2n_strerror_debug(i32 noundef %7423, ptr noundef @.str.4)
  %7425 = call ptr @__errno_location() #11
  %7426 = load i32, ptr %7425, align 4, !tbaa !5
  %7427 = call ptr @strerror(i32 noundef %7426) #10
  %7428 = call ptr @__errno_location() #11
  %7429 = load i32, ptr %7428, align 4, !tbaa !5
  %7430 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7417, ptr noundef @.str.5, i32 noundef %7418, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 258, ptr noundef %7421, ptr noundef %7424, ptr noundef %7427, i32 noundef %7429) #10
  br label %7431

7431:                                             ; preds = %7414, %7397
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #10
  br label %7432

7432:                                             ; preds = %7431
  br label %7433

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

7434:                                             ; No predecessors!
  br label %7435

7435:                                             ; preds = %7434
  br label %7436

7436:                                             ; preds = %7435, %7376
  br label %7437

7437:                                             ; preds = %7436
  br label %7438

7438:                                             ; preds = %7437
  br label %7439

7439:                                             ; preds = %7438
  %7440 = load i32, ptr @test_count, align 4, !tbaa !5
  %7441 = add nsw i32 %7440, 1
  store i32 %7441, ptr @test_count, align 4, !tbaa !5
  %7442 = load ptr, ptr %140, align 8, !tbaa !9
  %7443 = getelementptr inbounds %struct.s2n_connection, ptr %7442, i32 0, i32 5
  %7444 = load ptr, ptr %7443, align 8, !tbaa !50
  %7445 = icmp eq ptr %7444, null
  br i1 %7445, label %7499, label %7446

7446:                                             ; preds = %7439
  br label %7447

7447:                                             ; preds = %7446
  br label %7448

7448:                                             ; preds = %7447
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #10
  %7449 = call ptr @__errno_location() #11
  %7450 = load i32, ptr %7449, align 4, !tbaa !5
  store i32 %7450, ptr %146, align 4, !tbaa !5
  %7451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7452 = call i32 @s2n_print_stacktrace(ptr noundef %7451)
  %7453 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7454 = trunc i8 %7453 to i1
  br i1 %7454, label %7455, label %7477

7455:                                             ; preds = %7448
  %7456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7457 = call i32 @fileno(ptr noundef %7456) #10
  %7458 = call i32 @isatty(i32 noundef %7457) #10
  %7459 = icmp ne i32 %7458, 0
  br i1 %7459, label %7460, label %7477

7460:                                             ; preds = %7455
  %7461 = load i32, ptr %146, align 4, !tbaa !5
  %7462 = call ptr @__errno_location() #11
  store i32 %7461, ptr %7462, align 4, !tbaa !5
  %7463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7464 = load i32, ptr @test_count, align 4, !tbaa !5
  %7465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7466 = load i32, ptr %7465, align 4, !tbaa !5
  %7467 = call ptr @s2n_strerror(i32 noundef %7466, ptr noundef @.str.4)
  %7468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7469 = load i32, ptr %7468, align 4, !tbaa !5
  %7470 = call ptr @s2n_strerror_debug(i32 noundef %7469, ptr noundef @.str.4)
  %7471 = call ptr @__errno_location() #11
  %7472 = load i32, ptr %7471, align 4, !tbaa !5
  %7473 = call ptr @strerror(i32 noundef %7472) #10
  %7474 = call ptr @__errno_location() #11
  %7475 = load i32, ptr %7474, align 4, !tbaa !5
  %7476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7463, ptr noundef @.str.2, i32 noundef %7464, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 259, ptr noundef %7467, ptr noundef %7470, ptr noundef %7473, i32 noundef %7475) #10
  br label %7494

7477:                                             ; preds = %7455, %7448
  %7478 = load i32, ptr %146, align 4, !tbaa !5
  %7479 = call ptr @__errno_location() #11
  store i32 %7478, ptr %7479, align 4, !tbaa !5
  %7480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7481 = load i32, ptr @test_count, align 4, !tbaa !5
  %7482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7483 = load i32, ptr %7482, align 4, !tbaa !5
  %7484 = call ptr @s2n_strerror(i32 noundef %7483, ptr noundef @.str.4)
  %7485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7486 = load i32, ptr %7485, align 4, !tbaa !5
  %7487 = call ptr @s2n_strerror_debug(i32 noundef %7486, ptr noundef @.str.4)
  %7488 = call ptr @__errno_location() #11
  %7489 = load i32, ptr %7488, align 4, !tbaa !5
  %7490 = call ptr @strerror(i32 noundef %7489) #10
  %7491 = call ptr @__errno_location() #11
  %7492 = load i32, ptr %7491, align 4, !tbaa !5
  %7493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7480, ptr noundef @.str.5, i32 noundef %7481, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 259, ptr noundef %7484, ptr noundef %7487, ptr noundef %7490, i32 noundef %7492) #10
  br label %7494

7494:                                             ; preds = %7477, %7460
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #10
  br label %7495

7495:                                             ; preds = %7494
  br label %7496

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

7497:                                             ; No predecessors!
  br label %7498

7498:                                             ; preds = %7497
  br label %7499

7499:                                             ; preds = %7498, %7439
  br label %7500

7500:                                             ; preds = %7499
  br label %7501

7501:                                             ; preds = %7500
  br label %7502

7502:                                             ; preds = %7501
  %7503 = load i32, ptr @test_count, align 4, !tbaa !5
  %7504 = add nsw i32 %7503, 1
  store i32 %7504, ptr @test_count, align 4, !tbaa !5
  %7505 = load ptr, ptr %140, align 8, !tbaa !9
  %7506 = call i32 @s2n_connection_free(ptr noundef %7505)
  %7507 = icmp eq i32 %7506, -1
  br i1 %7507, label %7508, label %7561

7508:                                             ; preds = %7502
  br label %7509

7509:                                             ; preds = %7508
  br label %7510

7510:                                             ; preds = %7509
  call void @llvm.lifetime.start.p0(i64 4, ptr %147) #10
  %7511 = call ptr @__errno_location() #11
  %7512 = load i32, ptr %7511, align 4, !tbaa !5
  store i32 %7512, ptr %147, align 4, !tbaa !5
  %7513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7514 = call i32 @s2n_print_stacktrace(ptr noundef %7513)
  %7515 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7516 = trunc i8 %7515 to i1
  br i1 %7516, label %7517, label %7539

7517:                                             ; preds = %7510
  %7518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7519 = call i32 @fileno(ptr noundef %7518) #10
  %7520 = call i32 @isatty(i32 noundef %7519) #10
  %7521 = icmp ne i32 %7520, 0
  br i1 %7521, label %7522, label %7539

7522:                                             ; preds = %7517
  %7523 = load i32, ptr %147, align 4, !tbaa !5
  %7524 = call ptr @__errno_location() #11
  store i32 %7523, ptr %7524, align 4, !tbaa !5
  %7525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7526 = load i32, ptr @test_count, align 4, !tbaa !5
  %7527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7528 = load i32, ptr %7527, align 4, !tbaa !5
  %7529 = call ptr @s2n_strerror(i32 noundef %7528, ptr noundef @.str.4)
  %7530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7531 = load i32, ptr %7530, align 4, !tbaa !5
  %7532 = call ptr @s2n_strerror_debug(i32 noundef %7531, ptr noundef @.str.4)
  %7533 = call ptr @__errno_location() #11
  %7534 = load i32, ptr %7533, align 4, !tbaa !5
  %7535 = call ptr @strerror(i32 noundef %7534) #10
  %7536 = call ptr @__errno_location() #11
  %7537 = load i32, ptr %7536, align 4, !tbaa !5
  %7538 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7525, ptr noundef @.str.2, i32 noundef %7526, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 261, ptr noundef %7529, ptr noundef %7532, ptr noundef %7535, i32 noundef %7537) #10
  br label %7556

7539:                                             ; preds = %7517, %7510
  %7540 = load i32, ptr %147, align 4, !tbaa !5
  %7541 = call ptr @__errno_location() #11
  store i32 %7540, ptr %7541, align 4, !tbaa !5
  %7542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7543 = load i32, ptr @test_count, align 4, !tbaa !5
  %7544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7545 = load i32, ptr %7544, align 4, !tbaa !5
  %7546 = call ptr @s2n_strerror(i32 noundef %7545, ptr noundef @.str.4)
  %7547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7548 = load i32, ptr %7547, align 4, !tbaa !5
  %7549 = call ptr @s2n_strerror_debug(i32 noundef %7548, ptr noundef @.str.4)
  %7550 = call ptr @__errno_location() #11
  %7551 = load i32, ptr %7550, align 4, !tbaa !5
  %7552 = call ptr @strerror(i32 noundef %7551) #10
  %7553 = call ptr @__errno_location() #11
  %7554 = load i32, ptr %7553, align 4, !tbaa !5
  %7555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7542, ptr noundef @.str.5, i32 noundef %7543, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 261, ptr noundef %7546, ptr noundef %7549, ptr noundef %7552, i32 noundef %7554) #10
  br label %7556

7556:                                             ; preds = %7539, %7522
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #10
  br label %7557

7557:                                             ; preds = %7556
  br label %7558

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

7559:                                             ; No predecessors!
  br label %7560

7560:                                             ; preds = %7559
  br label %7561

7561:                                             ; preds = %7560, %7502
  br label %7562

7562:                                             ; preds = %7561
  br label %7563

7563:                                             ; preds = %7562
  call void @llvm.lifetime.end.p0(i64 8, ptr %140) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %148) #10
  store ptr null, ptr %148, align 8, !tbaa !9
  br label %7564

7564:                                             ; preds = %7563
  %7565 = load i32, ptr @test_count, align 4, !tbaa !5
  %7566 = add nsw i32 %7565, 1
  store i32 %7566, ptr @test_count, align 4, !tbaa !5
  %7567 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %7567, ptr %148, align 8, !tbaa !9
  %7568 = icmp eq ptr %7567, null
  br i1 %7568, label %7569, label %7622

7569:                                             ; preds = %7564
  br label %7570

7570:                                             ; preds = %7569
  br label %7571

7571:                                             ; preds = %7570
  call void @llvm.lifetime.start.p0(i64 4, ptr %149) #10
  %7572 = call ptr @__errno_location() #11
  %7573 = load i32, ptr %7572, align 4, !tbaa !5
  store i32 %7573, ptr %149, align 4, !tbaa !5
  %7574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7575 = call i32 @s2n_print_stacktrace(ptr noundef %7574)
  %7576 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7577 = trunc i8 %7576 to i1
  br i1 %7577, label %7578, label %7600

7578:                                             ; preds = %7571
  %7579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7580 = call i32 @fileno(ptr noundef %7579) #10
  %7581 = call i32 @isatty(i32 noundef %7580) #10
  %7582 = icmp ne i32 %7581, 0
  br i1 %7582, label %7583, label %7600

7583:                                             ; preds = %7578
  %7584 = load i32, ptr %149, align 4, !tbaa !5
  %7585 = call ptr @__errno_location() #11
  store i32 %7584, ptr %7585, align 4, !tbaa !5
  %7586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7587 = load i32, ptr @test_count, align 4, !tbaa !5
  %7588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7589 = load i32, ptr %7588, align 4, !tbaa !5
  %7590 = call ptr @s2n_strerror(i32 noundef %7589, ptr noundef @.str.4)
  %7591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7592 = load i32, ptr %7591, align 4, !tbaa !5
  %7593 = call ptr @s2n_strerror_debug(i32 noundef %7592, ptr noundef @.str.4)
  %7594 = call ptr @__errno_location() #11
  %7595 = load i32, ptr %7594, align 4, !tbaa !5
  %7596 = call ptr @strerror(i32 noundef %7595) #10
  %7597 = call ptr @__errno_location() #11
  %7598 = load i32, ptr %7597, align 4, !tbaa !5
  %7599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7586, ptr noundef @.str.2, i32 noundef %7587, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 267, ptr noundef %7590, ptr noundef %7593, ptr noundef %7596, i32 noundef %7598) #10
  br label %7617

7600:                                             ; preds = %7578, %7571
  %7601 = load i32, ptr %149, align 4, !tbaa !5
  %7602 = call ptr @__errno_location() #11
  store i32 %7601, ptr %7602, align 4, !tbaa !5
  %7603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7604 = load i32, ptr @test_count, align 4, !tbaa !5
  %7605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7606 = load i32, ptr %7605, align 4, !tbaa !5
  %7607 = call ptr @s2n_strerror(i32 noundef %7606, ptr noundef @.str.4)
  %7608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7609 = load i32, ptr %7608, align 4, !tbaa !5
  %7610 = call ptr @s2n_strerror_debug(i32 noundef %7609, ptr noundef @.str.4)
  %7611 = call ptr @__errno_location() #11
  %7612 = load i32, ptr %7611, align 4, !tbaa !5
  %7613 = call ptr @strerror(i32 noundef %7612) #10
  %7614 = call ptr @__errno_location() #11
  %7615 = load i32, ptr %7614, align 4, !tbaa !5
  %7616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7603, ptr noundef @.str.5, i32 noundef %7604, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 267, ptr noundef %7607, ptr noundef %7610, ptr noundef %7613, i32 noundef %7615) #10
  br label %7617

7617:                                             ; preds = %7600, %7583
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #10
  br label %7618

7618:                                             ; preds = %7617
  br label %7619

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

7620:                                             ; No predecessors!
  br label %7621

7621:                                             ; preds = %7620
  br label %7622

7622:                                             ; preds = %7621, %7564
  br label %7623

7623:                                             ; preds = %7622
  br label %7624

7624:                                             ; preds = %7623
  br label %7625

7625:                                             ; preds = %7624
  %7626 = load i32, ptr @test_count, align 4, !tbaa !5
  %7627 = add nsw i32 %7626, 1
  store i32 %7627, ptr @test_count, align 4, !tbaa !5
  %7628 = load ptr, ptr %148, align 8, !tbaa !9
  %7629 = getelementptr inbounds %struct.s2n_connection, ptr %7628, i32 0, i32 4
  %7630 = load ptr, ptr %7629, align 8, !tbaa !49
  %7631 = icmp eq ptr %7630, null
  br i1 %7631, label %7685, label %7632

7632:                                             ; preds = %7625
  br label %7633

7633:                                             ; preds = %7632
  br label %7634

7634:                                             ; preds = %7633
  call void @llvm.lifetime.start.p0(i64 4, ptr %150) #10
  %7635 = call ptr @__errno_location() #11
  %7636 = load i32, ptr %7635, align 4, !tbaa !5
  store i32 %7636, ptr %150, align 4, !tbaa !5
  %7637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7638 = call i32 @s2n_print_stacktrace(ptr noundef %7637)
  %7639 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7640 = trunc i8 %7639 to i1
  br i1 %7640, label %7641, label %7663

7641:                                             ; preds = %7634
  %7642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7643 = call i32 @fileno(ptr noundef %7642) #10
  %7644 = call i32 @isatty(i32 noundef %7643) #10
  %7645 = icmp ne i32 %7644, 0
  br i1 %7645, label %7646, label %7663

7646:                                             ; preds = %7641
  %7647 = load i32, ptr %150, align 4, !tbaa !5
  %7648 = call ptr @__errno_location() #11
  store i32 %7647, ptr %7648, align 4, !tbaa !5
  %7649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7650 = load i32, ptr @test_count, align 4, !tbaa !5
  %7651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7652 = load i32, ptr %7651, align 4, !tbaa !5
  %7653 = call ptr @s2n_strerror(i32 noundef %7652, ptr noundef @.str.4)
  %7654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7655 = load i32, ptr %7654, align 4, !tbaa !5
  %7656 = call ptr @s2n_strerror_debug(i32 noundef %7655, ptr noundef @.str.4)
  %7657 = call ptr @__errno_location() #11
  %7658 = load i32, ptr %7657, align 4, !tbaa !5
  %7659 = call ptr @strerror(i32 noundef %7658) #10
  %7660 = call ptr @__errno_location() #11
  %7661 = load i32, ptr %7660, align 4, !tbaa !5
  %7662 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7649, ptr noundef @.str.2, i32 noundef %7650, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 268, ptr noundef %7653, ptr noundef %7656, ptr noundef %7659, i32 noundef %7661) #10
  br label %7680

7663:                                             ; preds = %7641, %7634
  %7664 = load i32, ptr %150, align 4, !tbaa !5
  %7665 = call ptr @__errno_location() #11
  store i32 %7664, ptr %7665, align 4, !tbaa !5
  %7666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7667 = load i32, ptr @test_count, align 4, !tbaa !5
  %7668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7669 = load i32, ptr %7668, align 4, !tbaa !5
  %7670 = call ptr @s2n_strerror(i32 noundef %7669, ptr noundef @.str.4)
  %7671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7672 = load i32, ptr %7671, align 4, !tbaa !5
  %7673 = call ptr @s2n_strerror_debug(i32 noundef %7672, ptr noundef @.str.4)
  %7674 = call ptr @__errno_location() #11
  %7675 = load i32, ptr %7674, align 4, !tbaa !5
  %7676 = call ptr @strerror(i32 noundef %7675) #10
  %7677 = call ptr @__errno_location() #11
  %7678 = load i32, ptr %7677, align 4, !tbaa !5
  %7679 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7666, ptr noundef @.str.5, i32 noundef %7667, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 268, ptr noundef %7670, ptr noundef %7673, ptr noundef %7676, i32 noundef %7678) #10
  br label %7680

7680:                                             ; preds = %7663, %7646
  call void @llvm.lifetime.end.p0(i64 4, ptr %150) #10
  br label %7681

7681:                                             ; preds = %7680
  br label %7682

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

7683:                                             ; No predecessors!
  br label %7684

7684:                                             ; preds = %7683
  br label %7685

7685:                                             ; preds = %7684, %7625
  br label %7686

7686:                                             ; preds = %7685
  br label %7687

7687:                                             ; preds = %7686
  br label %7688

7688:                                             ; preds = %7687
  %7689 = load i32, ptr @test_count, align 4, !tbaa !5
  %7690 = add nsw i32 %7689, 1
  store i32 %7690, ptr @test_count, align 4, !tbaa !5
  %7691 = load ptr, ptr %148, align 8, !tbaa !9
  %7692 = getelementptr inbounds %struct.s2n_connection, ptr %7691, i32 0, i32 5
  %7693 = load ptr, ptr %7692, align 8, !tbaa !50
  %7694 = icmp eq ptr %7693, null
  br i1 %7694, label %7748, label %7695

7695:                                             ; preds = %7688
  br label %7696

7696:                                             ; preds = %7695
  br label %7697

7697:                                             ; preds = %7696
  call void @llvm.lifetime.start.p0(i64 4, ptr %151) #10
  %7698 = call ptr @__errno_location() #11
  %7699 = load i32, ptr %7698, align 4, !tbaa !5
  store i32 %7699, ptr %151, align 4, !tbaa !5
  %7700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7701 = call i32 @s2n_print_stacktrace(ptr noundef %7700)
  %7702 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7703 = trunc i8 %7702 to i1
  br i1 %7703, label %7704, label %7726

7704:                                             ; preds = %7697
  %7705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7706 = call i32 @fileno(ptr noundef %7705) #10
  %7707 = call i32 @isatty(i32 noundef %7706) #10
  %7708 = icmp ne i32 %7707, 0
  br i1 %7708, label %7709, label %7726

7709:                                             ; preds = %7704
  %7710 = load i32, ptr %151, align 4, !tbaa !5
  %7711 = call ptr @__errno_location() #11
  store i32 %7710, ptr %7711, align 4, !tbaa !5
  %7712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7713 = load i32, ptr @test_count, align 4, !tbaa !5
  %7714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7715 = load i32, ptr %7714, align 4, !tbaa !5
  %7716 = call ptr @s2n_strerror(i32 noundef %7715, ptr noundef @.str.4)
  %7717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7718 = load i32, ptr %7717, align 4, !tbaa !5
  %7719 = call ptr @s2n_strerror_debug(i32 noundef %7718, ptr noundef @.str.4)
  %7720 = call ptr @__errno_location() #11
  %7721 = load i32, ptr %7720, align 4, !tbaa !5
  %7722 = call ptr @strerror(i32 noundef %7721) #10
  %7723 = call ptr @__errno_location() #11
  %7724 = load i32, ptr %7723, align 4, !tbaa !5
  %7725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7712, ptr noundef @.str.2, i32 noundef %7713, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 269, ptr noundef %7716, ptr noundef %7719, ptr noundef %7722, i32 noundef %7724) #10
  br label %7743

7726:                                             ; preds = %7704, %7697
  %7727 = load i32, ptr %151, align 4, !tbaa !5
  %7728 = call ptr @__errno_location() #11
  store i32 %7727, ptr %7728, align 4, !tbaa !5
  %7729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7730 = load i32, ptr @test_count, align 4, !tbaa !5
  %7731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7732 = load i32, ptr %7731, align 4, !tbaa !5
  %7733 = call ptr @s2n_strerror(i32 noundef %7732, ptr noundef @.str.4)
  %7734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7735 = load i32, ptr %7734, align 4, !tbaa !5
  %7736 = call ptr @s2n_strerror_debug(i32 noundef %7735, ptr noundef @.str.4)
  %7737 = call ptr @__errno_location() #11
  %7738 = load i32, ptr %7737, align 4, !tbaa !5
  %7739 = call ptr @strerror(i32 noundef %7738) #10
  %7740 = call ptr @__errno_location() #11
  %7741 = load i32, ptr %7740, align 4, !tbaa !5
  %7742 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7729, ptr noundef @.str.5, i32 noundef %7730, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 269, ptr noundef %7733, ptr noundef %7736, ptr noundef %7739, i32 noundef %7741) #10
  br label %7743

7743:                                             ; preds = %7726, %7709
  call void @llvm.lifetime.end.p0(i64 4, ptr %151) #10
  br label %7744

7744:                                             ; preds = %7743
  br label %7745

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

7746:                                             ; No predecessors!
  br label %7747

7747:                                             ; preds = %7746
  br label %7748

7748:                                             ; preds = %7747, %7688
  br label %7749

7749:                                             ; preds = %7748
  br label %7750

7750:                                             ; preds = %7749
  br label %7751

7751:                                             ; preds = %7750
  %7752 = load i32, ptr @test_count, align 4, !tbaa !5
  %7753 = add nsw i32 %7752, 1
  store i32 %7753, ptr @test_count, align 4, !tbaa !5
  %7754 = load ptr, ptr %148, align 8, !tbaa !9
  %7755 = call i32 @s2n_connection_set_secret_callback(ptr noundef %7754, ptr noundef @s2n_test_noop_secret_handler, ptr noundef %128)
  %7756 = icmp eq i32 %7755, -1
  br i1 %7756, label %7757, label %7810

7757:                                             ; preds = %7751
  br label %7758

7758:                                             ; preds = %7757
  br label %7759

7759:                                             ; preds = %7758
  call void @llvm.lifetime.start.p0(i64 4, ptr %152) #10
  %7760 = call ptr @__errno_location() #11
  %7761 = load i32, ptr %7760, align 4, !tbaa !5
  store i32 %7761, ptr %152, align 4, !tbaa !5
  %7762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7763 = call i32 @s2n_print_stacktrace(ptr noundef %7762)
  %7764 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7765 = trunc i8 %7764 to i1
  br i1 %7765, label %7766, label %7788

7766:                                             ; preds = %7759
  %7767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7768 = call i32 @fileno(ptr noundef %7767) #10
  %7769 = call i32 @isatty(i32 noundef %7768) #10
  %7770 = icmp ne i32 %7769, 0
  br i1 %7770, label %7771, label %7788

7771:                                             ; preds = %7766
  %7772 = load i32, ptr %152, align 4, !tbaa !5
  %7773 = call ptr @__errno_location() #11
  store i32 %7772, ptr %7773, align 4, !tbaa !5
  %7774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7775 = load i32, ptr @test_count, align 4, !tbaa !5
  %7776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7777 = load i32, ptr %7776, align 4, !tbaa !5
  %7778 = call ptr @s2n_strerror(i32 noundef %7777, ptr noundef @.str.4)
  %7779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7780 = load i32, ptr %7779, align 4, !tbaa !5
  %7781 = call ptr @s2n_strerror_debug(i32 noundef %7780, ptr noundef @.str.4)
  %7782 = call ptr @__errno_location() #11
  %7783 = load i32, ptr %7782, align 4, !tbaa !5
  %7784 = call ptr @strerror(i32 noundef %7783) #10
  %7785 = call ptr @__errno_location() #11
  %7786 = load i32, ptr %7785, align 4, !tbaa !5
  %7787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7774, ptr noundef @.str.2, i32 noundef %7775, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 271, ptr noundef %7778, ptr noundef %7781, ptr noundef %7784, i32 noundef %7786) #10
  br label %7805

7788:                                             ; preds = %7766, %7759
  %7789 = load i32, ptr %152, align 4, !tbaa !5
  %7790 = call ptr @__errno_location() #11
  store i32 %7789, ptr %7790, align 4, !tbaa !5
  %7791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7792 = load i32, ptr @test_count, align 4, !tbaa !5
  %7793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7794 = load i32, ptr %7793, align 4, !tbaa !5
  %7795 = call ptr @s2n_strerror(i32 noundef %7794, ptr noundef @.str.4)
  %7796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7797 = load i32, ptr %7796, align 4, !tbaa !5
  %7798 = call ptr @s2n_strerror_debug(i32 noundef %7797, ptr noundef @.str.4)
  %7799 = call ptr @__errno_location() #11
  %7800 = load i32, ptr %7799, align 4, !tbaa !5
  %7801 = call ptr @strerror(i32 noundef %7800) #10
  %7802 = call ptr @__errno_location() #11
  %7803 = load i32, ptr %7802, align 4, !tbaa !5
  %7804 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7791, ptr noundef @.str.5, i32 noundef %7792, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 271, ptr noundef %7795, ptr noundef %7798, ptr noundef %7801, i32 noundef %7803) #10
  br label %7805

7805:                                             ; preds = %7788, %7771
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #10
  br label %7806

7806:                                             ; preds = %7805
  br label %7807

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

7808:                                             ; No predecessors!
  br label %7809

7809:                                             ; preds = %7808
  br label %7810

7810:                                             ; preds = %7809, %7751
  br label %7811

7811:                                             ; preds = %7810
  br label %7812

7812:                                             ; preds = %7811
  br label %7813

7813:                                             ; preds = %7812
  %7814 = load i32, ptr @test_count, align 4, !tbaa !5
  %7815 = add nsw i32 %7814, 1
  store i32 %7815, ptr @test_count, align 4, !tbaa !5
  %7816 = load ptr, ptr %148, align 8, !tbaa !9
  %7817 = getelementptr inbounds %struct.s2n_connection, ptr %7816, i32 0, i32 4
  %7818 = load ptr, ptr %7817, align 8, !tbaa !49
  %7819 = icmp eq ptr %7818, @s2n_test_noop_secret_handler
  br i1 %7819, label %7873, label %7820

7820:                                             ; preds = %7813
  br label %7821

7821:                                             ; preds = %7820
  br label %7822

7822:                                             ; preds = %7821
  call void @llvm.lifetime.start.p0(i64 4, ptr %153) #10
  %7823 = call ptr @__errno_location() #11
  %7824 = load i32, ptr %7823, align 4, !tbaa !5
  store i32 %7824, ptr %153, align 4, !tbaa !5
  %7825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7826 = call i32 @s2n_print_stacktrace(ptr noundef %7825)
  %7827 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7828 = trunc i8 %7827 to i1
  br i1 %7828, label %7829, label %7851

7829:                                             ; preds = %7822
  %7830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7831 = call i32 @fileno(ptr noundef %7830) #10
  %7832 = call i32 @isatty(i32 noundef %7831) #10
  %7833 = icmp ne i32 %7832, 0
  br i1 %7833, label %7834, label %7851

7834:                                             ; preds = %7829
  %7835 = load i32, ptr %153, align 4, !tbaa !5
  %7836 = call ptr @__errno_location() #11
  store i32 %7835, ptr %7836, align 4, !tbaa !5
  %7837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7838 = load i32, ptr @test_count, align 4, !tbaa !5
  %7839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7840 = load i32, ptr %7839, align 4, !tbaa !5
  %7841 = call ptr @s2n_strerror(i32 noundef %7840, ptr noundef @.str.4)
  %7842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7843 = load i32, ptr %7842, align 4, !tbaa !5
  %7844 = call ptr @s2n_strerror_debug(i32 noundef %7843, ptr noundef @.str.4)
  %7845 = call ptr @__errno_location() #11
  %7846 = load i32, ptr %7845, align 4, !tbaa !5
  %7847 = call ptr @strerror(i32 noundef %7846) #10
  %7848 = call ptr @__errno_location() #11
  %7849 = load i32, ptr %7848, align 4, !tbaa !5
  %7850 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7837, ptr noundef @.str.2, i32 noundef %7838, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 273, ptr noundef %7841, ptr noundef %7844, ptr noundef %7847, i32 noundef %7849) #10
  br label %7868

7851:                                             ; preds = %7829, %7822
  %7852 = load i32, ptr %153, align 4, !tbaa !5
  %7853 = call ptr @__errno_location() #11
  store i32 %7852, ptr %7853, align 4, !tbaa !5
  %7854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7855 = load i32, ptr @test_count, align 4, !tbaa !5
  %7856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7857 = load i32, ptr %7856, align 4, !tbaa !5
  %7858 = call ptr @s2n_strerror(i32 noundef %7857, ptr noundef @.str.4)
  %7859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7860 = load i32, ptr %7859, align 4, !tbaa !5
  %7861 = call ptr @s2n_strerror_debug(i32 noundef %7860, ptr noundef @.str.4)
  %7862 = call ptr @__errno_location() #11
  %7863 = load i32, ptr %7862, align 4, !tbaa !5
  %7864 = call ptr @strerror(i32 noundef %7863) #10
  %7865 = call ptr @__errno_location() #11
  %7866 = load i32, ptr %7865, align 4, !tbaa !5
  %7867 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7854, ptr noundef @.str.5, i32 noundef %7855, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 273, ptr noundef %7858, ptr noundef %7861, ptr noundef %7864, i32 noundef %7866) #10
  br label %7868

7868:                                             ; preds = %7851, %7834
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #10
  br label %7869

7869:                                             ; preds = %7868
  br label %7870

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

7871:                                             ; No predecessors!
  br label %7872

7872:                                             ; preds = %7871
  br label %7873

7873:                                             ; preds = %7872, %7813
  br label %7874

7874:                                             ; preds = %7873
  br label %7875

7875:                                             ; preds = %7874
  br label %7876

7876:                                             ; preds = %7875
  %7877 = load i32, ptr @test_count, align 4, !tbaa !5
  %7878 = add nsw i32 %7877, 1
  store i32 %7878, ptr @test_count, align 4, !tbaa !5
  %7879 = load ptr, ptr %148, align 8, !tbaa !9
  %7880 = getelementptr inbounds %struct.s2n_connection, ptr %7879, i32 0, i32 5
  %7881 = load ptr, ptr %7880, align 8, !tbaa !50
  %7882 = icmp eq ptr %7881, %128
  br i1 %7882, label %7936, label %7883

7883:                                             ; preds = %7876
  br label %7884

7884:                                             ; preds = %7883
  br label %7885

7885:                                             ; preds = %7884
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #10
  %7886 = call ptr @__errno_location() #11
  %7887 = load i32, ptr %7886, align 4, !tbaa !5
  store i32 %7887, ptr %154, align 4, !tbaa !5
  %7888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7889 = call i32 @s2n_print_stacktrace(ptr noundef %7888)
  %7890 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7891 = trunc i8 %7890 to i1
  br i1 %7891, label %7892, label %7914

7892:                                             ; preds = %7885
  %7893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7894 = call i32 @fileno(ptr noundef %7893) #10
  %7895 = call i32 @isatty(i32 noundef %7894) #10
  %7896 = icmp ne i32 %7895, 0
  br i1 %7896, label %7897, label %7914

7897:                                             ; preds = %7892
  %7898 = load i32, ptr %154, align 4, !tbaa !5
  %7899 = call ptr @__errno_location() #11
  store i32 %7898, ptr %7899, align 4, !tbaa !5
  %7900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7901 = load i32, ptr @test_count, align 4, !tbaa !5
  %7902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7903 = load i32, ptr %7902, align 4, !tbaa !5
  %7904 = call ptr @s2n_strerror(i32 noundef %7903, ptr noundef @.str.4)
  %7905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7906 = load i32, ptr %7905, align 4, !tbaa !5
  %7907 = call ptr @s2n_strerror_debug(i32 noundef %7906, ptr noundef @.str.4)
  %7908 = call ptr @__errno_location() #11
  %7909 = load i32, ptr %7908, align 4, !tbaa !5
  %7910 = call ptr @strerror(i32 noundef %7909) #10
  %7911 = call ptr @__errno_location() #11
  %7912 = load i32, ptr %7911, align 4, !tbaa !5
  %7913 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7900, ptr noundef @.str.2, i32 noundef %7901, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 274, ptr noundef %7904, ptr noundef %7907, ptr noundef %7910, i32 noundef %7912) #10
  br label %7931

7914:                                             ; preds = %7892, %7885
  %7915 = load i32, ptr %154, align 4, !tbaa !5
  %7916 = call ptr @__errno_location() #11
  store i32 %7915, ptr %7916, align 4, !tbaa !5
  %7917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7918 = load i32, ptr @test_count, align 4, !tbaa !5
  %7919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7920 = load i32, ptr %7919, align 4, !tbaa !5
  %7921 = call ptr @s2n_strerror(i32 noundef %7920, ptr noundef @.str.4)
  %7922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7923 = load i32, ptr %7922, align 4, !tbaa !5
  %7924 = call ptr @s2n_strerror_debug(i32 noundef %7923, ptr noundef @.str.4)
  %7925 = call ptr @__errno_location() #11
  %7926 = load i32, ptr %7925, align 4, !tbaa !5
  %7927 = call ptr @strerror(i32 noundef %7926) #10
  %7928 = call ptr @__errno_location() #11
  %7929 = load i32, ptr %7928, align 4, !tbaa !5
  %7930 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7917, ptr noundef @.str.5, i32 noundef %7918, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 274, ptr noundef %7921, ptr noundef %7924, ptr noundef %7927, i32 noundef %7929) #10
  br label %7931

7931:                                             ; preds = %7914, %7897
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #10
  br label %7932

7932:                                             ; preds = %7931
  br label %7933

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

7934:                                             ; No predecessors!
  br label %7935

7935:                                             ; preds = %7934
  br label %7936

7936:                                             ; preds = %7935, %7876
  br label %7937

7937:                                             ; preds = %7936
  br label %7938

7938:                                             ; preds = %7937
  br label %7939

7939:                                             ; preds = %7938
  %7940 = load i32, ptr @test_count, align 4, !tbaa !5
  %7941 = add nsw i32 %7940, 1
  store i32 %7941, ptr @test_count, align 4, !tbaa !5
  %7942 = load ptr, ptr %148, align 8, !tbaa !9
  %7943 = call i32 @s2n_connection_free(ptr noundef %7942)
  %7944 = icmp eq i32 %7943, -1
  br i1 %7944, label %7945, label %7998

7945:                                             ; preds = %7939
  br label %7946

7946:                                             ; preds = %7945
  br label %7947

7947:                                             ; preds = %7946
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #10
  %7948 = call ptr @__errno_location() #11
  %7949 = load i32, ptr %7948, align 4, !tbaa !5
  store i32 %7949, ptr %155, align 4, !tbaa !5
  %7950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7951 = call i32 @s2n_print_stacktrace(ptr noundef %7950)
  %7952 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7953 = trunc i8 %7952 to i1
  br i1 %7953, label %7954, label %7976

7954:                                             ; preds = %7947
  %7955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7956 = call i32 @fileno(ptr noundef %7955) #10
  %7957 = call i32 @isatty(i32 noundef %7956) #10
  %7958 = icmp ne i32 %7957, 0
  br i1 %7958, label %7959, label %7976

7959:                                             ; preds = %7954
  %7960 = load i32, ptr %155, align 4, !tbaa !5
  %7961 = call ptr @__errno_location() #11
  store i32 %7960, ptr %7961, align 4, !tbaa !5
  %7962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7963 = load i32, ptr @test_count, align 4, !tbaa !5
  %7964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7965 = load i32, ptr %7964, align 4, !tbaa !5
  %7966 = call ptr @s2n_strerror(i32 noundef %7965, ptr noundef @.str.4)
  %7967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7968 = load i32, ptr %7967, align 4, !tbaa !5
  %7969 = call ptr @s2n_strerror_debug(i32 noundef %7968, ptr noundef @.str.4)
  %7970 = call ptr @__errno_location() #11
  %7971 = load i32, ptr %7970, align 4, !tbaa !5
  %7972 = call ptr @strerror(i32 noundef %7971) #10
  %7973 = call ptr @__errno_location() #11
  %7974 = load i32, ptr %7973, align 4, !tbaa !5
  %7975 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7962, ptr noundef @.str.2, i32 noundef %7963, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 276, ptr noundef %7966, ptr noundef %7969, ptr noundef %7972, i32 noundef %7974) #10
  br label %7993

7976:                                             ; preds = %7954, %7947
  %7977 = load i32, ptr %155, align 4, !tbaa !5
  %7978 = call ptr @__errno_location() #11
  store i32 %7977, ptr %7978, align 4, !tbaa !5
  %7979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7980 = load i32, ptr @test_count, align 4, !tbaa !5
  %7981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7982 = load i32, ptr %7981, align 4, !tbaa !5
  %7983 = call ptr @s2n_strerror(i32 noundef %7982, ptr noundef @.str.4)
  %7984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7985 = load i32, ptr %7984, align 4, !tbaa !5
  %7986 = call ptr @s2n_strerror_debug(i32 noundef %7985, ptr noundef @.str.4)
  %7987 = call ptr @__errno_location() #11
  %7988 = load i32, ptr %7987, align 4, !tbaa !5
  %7989 = call ptr @strerror(i32 noundef %7988) #10
  %7990 = call ptr @__errno_location() #11
  %7991 = load i32, ptr %7990, align 4, !tbaa !5
  %7992 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7979, ptr noundef @.str.5, i32 noundef %7980, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 276, ptr noundef %7983, ptr noundef %7986, ptr noundef %7989, i32 noundef %7991) #10
  br label %7993

7993:                                             ; preds = %7976, %7959
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #10
  br label %7994

7994:                                             ; preds = %7993
  br label %7995

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

7996:                                             ; No predecessors!
  br label %7997

7997:                                             ; preds = %7996
  br label %7998

7998:                                             ; preds = %7997, %7939
  br label %7999

7999:                                             ; preds = %7998
  br label %8000

8000:                                             ; preds = %7999
  call void @llvm.lifetime.end.p0(i64 8, ptr %148) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %128) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %156) #10
  store ptr null, ptr %156, align 8, !tbaa !9
  br label %8001

8001:                                             ; preds = %8000
  %8002 = load i32, ptr @test_count, align 4, !tbaa !5
  %8003 = add nsw i32 %8002, 1
  store i32 %8003, ptr @test_count, align 4, !tbaa !5
  %8004 = call ptr @s2n_config_new()
  store ptr %8004, ptr %156, align 8, !tbaa !9
  %8005 = icmp eq ptr %8004, null
  br i1 %8005, label %8006, label %8059

8006:                                             ; preds = %8001
  br label %8007

8007:                                             ; preds = %8006
  br label %8008

8008:                                             ; preds = %8007
  call void @llvm.lifetime.start.p0(i64 4, ptr %157) #10
  %8009 = call ptr @__errno_location() #11
  %8010 = load i32, ptr %8009, align 4, !tbaa !5
  store i32 %8010, ptr %157, align 4, !tbaa !5
  %8011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8012 = call i32 @s2n_print_stacktrace(ptr noundef %8011)
  %8013 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8014 = trunc i8 %8013 to i1
  br i1 %8014, label %8015, label %8037

8015:                                             ; preds = %8008
  %8016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8017 = call i32 @fileno(ptr noundef %8016) #10
  %8018 = call i32 @isatty(i32 noundef %8017) #10
  %8019 = icmp ne i32 %8018, 0
  br i1 %8019, label %8020, label %8037

8020:                                             ; preds = %8015
  %8021 = load i32, ptr %157, align 4, !tbaa !5
  %8022 = call ptr @__errno_location() #11
  store i32 %8021, ptr %8022, align 4, !tbaa !5
  %8023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8024 = load i32, ptr @test_count, align 4, !tbaa !5
  %8025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8026 = load i32, ptr %8025, align 4, !tbaa !5
  %8027 = call ptr @s2n_strerror(i32 noundef %8026, ptr noundef @.str.4)
  %8028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8029 = load i32, ptr %8028, align 4, !tbaa !5
  %8030 = call ptr @s2n_strerror_debug(i32 noundef %8029, ptr noundef @.str.4)
  %8031 = call ptr @__errno_location() #11
  %8032 = load i32, ptr %8031, align 4, !tbaa !5
  %8033 = call ptr @strerror(i32 noundef %8032) #10
  %8034 = call ptr @__errno_location() #11
  %8035 = load i32, ptr %8034, align 4, !tbaa !5
  %8036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8023, ptr noundef @.str.2, i32 noundef %8024, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 283, ptr noundef %8027, ptr noundef %8030, ptr noundef %8033, i32 noundef %8035) #10
  br label %8054

8037:                                             ; preds = %8015, %8008
  %8038 = load i32, ptr %157, align 4, !tbaa !5
  %8039 = call ptr @__errno_location() #11
  store i32 %8038, ptr %8039, align 4, !tbaa !5
  %8040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8041 = load i32, ptr @test_count, align 4, !tbaa !5
  %8042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8043 = load i32, ptr %8042, align 4, !tbaa !5
  %8044 = call ptr @s2n_strerror(i32 noundef %8043, ptr noundef @.str.4)
  %8045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8046 = load i32, ptr %8045, align 4, !tbaa !5
  %8047 = call ptr @s2n_strerror_debug(i32 noundef %8046, ptr noundef @.str.4)
  %8048 = call ptr @__errno_location() #11
  %8049 = load i32, ptr %8048, align 4, !tbaa !5
  %8050 = call ptr @strerror(i32 noundef %8049) #10
  %8051 = call ptr @__errno_location() #11
  %8052 = load i32, ptr %8051, align 4, !tbaa !5
  %8053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8040, ptr noundef @.str.5, i32 noundef %8041, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 283, ptr noundef %8044, ptr noundef %8047, ptr noundef %8050, i32 noundef %8052) #10
  br label %8054

8054:                                             ; preds = %8037, %8020
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #10
  br label %8055

8055:                                             ; preds = %8054
  br label %8056

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

8057:                                             ; No predecessors!
  br label %8058

8058:                                             ; preds = %8057
  br label %8059

8059:                                             ; preds = %8058, %8001
  br label %8060

8060:                                             ; preds = %8059
  br label %8061

8061:                                             ; preds = %8060
  br label %8062

8062:                                             ; preds = %8061
  %8063 = load i32, ptr @test_count, align 4, !tbaa !5
  %8064 = add nsw i32 %8063, 1
  store i32 %8064, ptr @test_count, align 4, !tbaa !5
  %8065 = load ptr, ptr %156, align 8, !tbaa !9
  %8066 = call i32 @s2n_config_enable_quic(ptr noundef %8065)
  %8067 = icmp eq i32 %8066, -1
  br i1 %8067, label %8068, label %8121

8068:                                             ; preds = %8062
  br label %8069

8069:                                             ; preds = %8068
  br label %8070

8070:                                             ; preds = %8069
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #10
  %8071 = call ptr @__errno_location() #11
  %8072 = load i32, ptr %8071, align 4, !tbaa !5
  store i32 %8072, ptr %158, align 4, !tbaa !5
  %8073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8074 = call i32 @s2n_print_stacktrace(ptr noundef %8073)
  %8075 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8076 = trunc i8 %8075 to i1
  br i1 %8076, label %8077, label %8099

8077:                                             ; preds = %8070
  %8078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8079 = call i32 @fileno(ptr noundef %8078) #10
  %8080 = call i32 @isatty(i32 noundef %8079) #10
  %8081 = icmp ne i32 %8080, 0
  br i1 %8081, label %8082, label %8099

8082:                                             ; preds = %8077
  %8083 = load i32, ptr %158, align 4, !tbaa !5
  %8084 = call ptr @__errno_location() #11
  store i32 %8083, ptr %8084, align 4, !tbaa !5
  %8085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8086 = load i32, ptr @test_count, align 4, !tbaa !5
  %8087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8088 = load i32, ptr %8087, align 4, !tbaa !5
  %8089 = call ptr @s2n_strerror(i32 noundef %8088, ptr noundef @.str.4)
  %8090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8091 = load i32, ptr %8090, align 4, !tbaa !5
  %8092 = call ptr @s2n_strerror_debug(i32 noundef %8091, ptr noundef @.str.4)
  %8093 = call ptr @__errno_location() #11
  %8094 = load i32, ptr %8093, align 4, !tbaa !5
  %8095 = call ptr @strerror(i32 noundef %8094) #10
  %8096 = call ptr @__errno_location() #11
  %8097 = load i32, ptr %8096, align 4, !tbaa !5
  %8098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8085, ptr noundef @.str.2, i32 noundef %8086, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 284, ptr noundef %8089, ptr noundef %8092, ptr noundef %8095, i32 noundef %8097) #10
  br label %8116

8099:                                             ; preds = %8077, %8070
  %8100 = load i32, ptr %158, align 4, !tbaa !5
  %8101 = call ptr @__errno_location() #11
  store i32 %8100, ptr %8101, align 4, !tbaa !5
  %8102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8103 = load i32, ptr @test_count, align 4, !tbaa !5
  %8104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8105 = load i32, ptr %8104, align 4, !tbaa !5
  %8106 = call ptr @s2n_strerror(i32 noundef %8105, ptr noundef @.str.4)
  %8107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8108 = load i32, ptr %8107, align 4, !tbaa !5
  %8109 = call ptr @s2n_strerror_debug(i32 noundef %8108, ptr noundef @.str.4)
  %8110 = call ptr @__errno_location() #11
  %8111 = load i32, ptr %8110, align 4, !tbaa !5
  %8112 = call ptr @strerror(i32 noundef %8111) #10
  %8113 = call ptr @__errno_location() #11
  %8114 = load i32, ptr %8113, align 4, !tbaa !5
  %8115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8102, ptr noundef @.str.5, i32 noundef %8103, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 284, ptr noundef %8106, ptr noundef %8109, ptr noundef %8112, i32 noundef %8114) #10
  br label %8116

8116:                                             ; preds = %8099, %8082
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #10
  br label %8117

8117:                                             ; preds = %8116
  br label %8118

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

8119:                                             ; No predecessors!
  br label %8120

8120:                                             ; preds = %8119
  br label %8121

8121:                                             ; preds = %8120, %8062
  br label %8122

8122:                                             ; preds = %8121
  br label %8123

8123:                                             ; preds = %8122
  call void @llvm.lifetime.start.p0(i64 8, ptr %159) #10
  store ptr null, ptr %159, align 8, !tbaa !9
  br label %8124

8124:                                             ; preds = %8123
  %8125 = load i32, ptr @test_count, align 4, !tbaa !5
  %8126 = add nsw i32 %8125, 1
  store i32 %8126, ptr @test_count, align 4, !tbaa !5
  %8127 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %8127, ptr %159, align 8, !tbaa !9
  %8128 = icmp eq ptr %8127, null
  br i1 %8128, label %8129, label %8182

8129:                                             ; preds = %8124
  br label %8130

8130:                                             ; preds = %8129
  br label %8131

8131:                                             ; preds = %8130
  call void @llvm.lifetime.start.p0(i64 4, ptr %160) #10
  %8132 = call ptr @__errno_location() #11
  %8133 = load i32, ptr %8132, align 4, !tbaa !5
  store i32 %8133, ptr %160, align 4, !tbaa !5
  %8134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8135 = call i32 @s2n_print_stacktrace(ptr noundef %8134)
  %8136 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8137 = trunc i8 %8136 to i1
  br i1 %8137, label %8138, label %8160

8138:                                             ; preds = %8131
  %8139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8140 = call i32 @fileno(ptr noundef %8139) #10
  %8141 = call i32 @isatty(i32 noundef %8140) #10
  %8142 = icmp ne i32 %8141, 0
  br i1 %8142, label %8143, label %8160

8143:                                             ; preds = %8138
  %8144 = load i32, ptr %160, align 4, !tbaa !5
  %8145 = call ptr @__errno_location() #11
  store i32 %8144, ptr %8145, align 4, !tbaa !5
  %8146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8147 = load i32, ptr @test_count, align 4, !tbaa !5
  %8148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8149 = load i32, ptr %8148, align 4, !tbaa !5
  %8150 = call ptr @s2n_strerror(i32 noundef %8149, ptr noundef @.str.4)
  %8151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8152 = load i32, ptr %8151, align 4, !tbaa !5
  %8153 = call ptr @s2n_strerror_debug(i32 noundef %8152, ptr noundef @.str.4)
  %8154 = call ptr @__errno_location() #11
  %8155 = load i32, ptr %8154, align 4, !tbaa !5
  %8156 = call ptr @strerror(i32 noundef %8155) #10
  %8157 = call ptr @__errno_location() #11
  %8158 = load i32, ptr %8157, align 4, !tbaa !5
  %8159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8146, ptr noundef @.str.2, i32 noundef %8147, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 287, ptr noundef %8150, ptr noundef %8153, ptr noundef %8156, i32 noundef %8158) #10
  br label %8177

8160:                                             ; preds = %8138, %8131
  %8161 = load i32, ptr %160, align 4, !tbaa !5
  %8162 = call ptr @__errno_location() #11
  store i32 %8161, ptr %8162, align 4, !tbaa !5
  %8163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8164 = load i32, ptr @test_count, align 4, !tbaa !5
  %8165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8166 = load i32, ptr %8165, align 4, !tbaa !5
  %8167 = call ptr @s2n_strerror(i32 noundef %8166, ptr noundef @.str.4)
  %8168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8169 = load i32, ptr %8168, align 4, !tbaa !5
  %8170 = call ptr @s2n_strerror_debug(i32 noundef %8169, ptr noundef @.str.4)
  %8171 = call ptr @__errno_location() #11
  %8172 = load i32, ptr %8171, align 4, !tbaa !5
  %8173 = call ptr @strerror(i32 noundef %8172) #10
  %8174 = call ptr @__errno_location() #11
  %8175 = load i32, ptr %8174, align 4, !tbaa !5
  %8176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8163, ptr noundef @.str.5, i32 noundef %8164, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 287, ptr noundef %8167, ptr noundef %8170, ptr noundef %8173, i32 noundef %8175) #10
  br label %8177

8177:                                             ; preds = %8160, %8143
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #10
  br label %8178

8178:                                             ; preds = %8177
  br label %8179

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

8180:                                             ; No predecessors!
  br label %8181

8181:                                             ; preds = %8180
  br label %8182

8182:                                             ; preds = %8181, %8124
  br label %8183

8183:                                             ; preds = %8182
  br label %8184

8184:                                             ; preds = %8183
  br label %8185

8185:                                             ; preds = %8184
  %8186 = load i32, ptr @test_count, align 4, !tbaa !5
  %8187 = add nsw i32 %8186, 1
  store i32 %8187, ptr @test_count, align 4, !tbaa !5
  %8188 = load ptr, ptr %159, align 8, !tbaa !9
  %8189 = load ptr, ptr %156, align 8, !tbaa !9
  %8190 = call i32 @s2n_connection_set_config(ptr noundef %8188, ptr noundef %8189)
  %8191 = icmp eq i32 %8190, -1
  br i1 %8191, label %8192, label %8245

8192:                                             ; preds = %8185
  br label %8193

8193:                                             ; preds = %8192
  br label %8194

8194:                                             ; preds = %8193
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #10
  %8195 = call ptr @__errno_location() #11
  %8196 = load i32, ptr %8195, align 4, !tbaa !5
  store i32 %8196, ptr %161, align 4, !tbaa !5
  %8197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8198 = call i32 @s2n_print_stacktrace(ptr noundef %8197)
  %8199 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8200 = trunc i8 %8199 to i1
  br i1 %8200, label %8201, label %8223

8201:                                             ; preds = %8194
  %8202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8203 = call i32 @fileno(ptr noundef %8202) #10
  %8204 = call i32 @isatty(i32 noundef %8203) #10
  %8205 = icmp ne i32 %8204, 0
  br i1 %8205, label %8206, label %8223

8206:                                             ; preds = %8201
  %8207 = load i32, ptr %161, align 4, !tbaa !5
  %8208 = call ptr @__errno_location() #11
  store i32 %8207, ptr %8208, align 4, !tbaa !5
  %8209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8210 = load i32, ptr @test_count, align 4, !tbaa !5
  %8211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8212 = load i32, ptr %8211, align 4, !tbaa !5
  %8213 = call ptr @s2n_strerror(i32 noundef %8212, ptr noundef @.str.4)
  %8214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8215 = load i32, ptr %8214, align 4, !tbaa !5
  %8216 = call ptr @s2n_strerror_debug(i32 noundef %8215, ptr noundef @.str.4)
  %8217 = call ptr @__errno_location() #11
  %8218 = load i32, ptr %8217, align 4, !tbaa !5
  %8219 = call ptr @strerror(i32 noundef %8218) #10
  %8220 = call ptr @__errno_location() #11
  %8221 = load i32, ptr %8220, align 4, !tbaa !5
  %8222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8209, ptr noundef @.str.2, i32 noundef %8210, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 288, ptr noundef %8213, ptr noundef %8216, ptr noundef %8219, i32 noundef %8221) #10
  br label %8240

8223:                                             ; preds = %8201, %8194
  %8224 = load i32, ptr %161, align 4, !tbaa !5
  %8225 = call ptr @__errno_location() #11
  store i32 %8224, ptr %8225, align 4, !tbaa !5
  %8226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8227 = load i32, ptr @test_count, align 4, !tbaa !5
  %8228 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8229 = load i32, ptr %8228, align 4, !tbaa !5
  %8230 = call ptr @s2n_strerror(i32 noundef %8229, ptr noundef @.str.4)
  %8231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8232 = load i32, ptr %8231, align 4, !tbaa !5
  %8233 = call ptr @s2n_strerror_debug(i32 noundef %8232, ptr noundef @.str.4)
  %8234 = call ptr @__errno_location() #11
  %8235 = load i32, ptr %8234, align 4, !tbaa !5
  %8236 = call ptr @strerror(i32 noundef %8235) #10
  %8237 = call ptr @__errno_location() #11
  %8238 = load i32, ptr %8237, align 4, !tbaa !5
  %8239 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8226, ptr noundef @.str.5, i32 noundef %8227, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 288, ptr noundef %8230, ptr noundef %8233, ptr noundef %8236, i32 noundef %8238) #10
  br label %8240

8240:                                             ; preds = %8223, %8206
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #10
  br label %8241

8241:                                             ; preds = %8240
  br label %8242

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

8243:                                             ; No predecessors!
  br label %8244

8244:                                             ; preds = %8243
  br label %8245

8245:                                             ; preds = %8244, %8185
  br label %8246

8246:                                             ; preds = %8245
  br label %8247

8247:                                             ; preds = %8246
  call void @llvm.lifetime.start.p0(i64 10, ptr %162) #10
  call void @llvm.memset.p0.i64(ptr align 1 %162, i8 0, i64 10, i1 false)
  call void @llvm.lifetime.start.p0(i64 16, ptr %163) #10
  %8248 = getelementptr inbounds %struct.iovec, ptr %163, i32 0, i32 0
  %8249 = getelementptr inbounds [10 x i8], ptr %162, i64 0, i64 0
  store ptr %8249, ptr %8248, align 8, !tbaa !51
  %8250 = getelementptr inbounds %struct.iovec, ptr %163, i32 0, i32 1
  store i64 10, ptr %8250, align 8, !tbaa !53
  call void @llvm.lifetime.start.p0(i64 4, ptr %164) #10
  br label %8251

8251:                                             ; preds = %8247
  br label %8252

8252:                                             ; preds = %8251
  br label %8253

8253:                                             ; preds = %8252
  %8254 = load i32, ptr @test_count, align 4, !tbaa !5
  %8255 = add nsw i32 %8254, 1
  store i32 %8255, ptr @test_count, align 4, !tbaa !5
  %8256 = load ptr, ptr %159, align 8, !tbaa !9
  %8257 = getelementptr inbounds [10 x i8], ptr %162, i64 0, i64 0
  %8258 = call i64 @s2n_recv(ptr noundef %8256, ptr noundef %8257, i64 noundef 10, ptr noundef %164)
  %8259 = icmp eq i64 %8258, -1
  br i1 %8259, label %8313, label %8260

8260:                                             ; preds = %8253
  br label %8261

8261:                                             ; preds = %8260
  br label %8262

8262:                                             ; preds = %8261
  call void @llvm.lifetime.start.p0(i64 4, ptr %165) #10
  %8263 = call ptr @__errno_location() #11
  %8264 = load i32, ptr %8263, align 4, !tbaa !5
  store i32 %8264, ptr %165, align 4, !tbaa !5
  %8265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8266 = call i32 @s2n_print_stacktrace(ptr noundef %8265)
  %8267 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8268 = trunc i8 %8267 to i1
  br i1 %8268, label %8269, label %8291

8269:                                             ; preds = %8262
  %8270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8271 = call i32 @fileno(ptr noundef %8270) #10
  %8272 = call i32 @isatty(i32 noundef %8271) #10
  %8273 = icmp ne i32 %8272, 0
  br i1 %8273, label %8274, label %8291

8274:                                             ; preds = %8269
  %8275 = load i32, ptr %165, align 4, !tbaa !5
  %8276 = call ptr @__errno_location() #11
  store i32 %8275, ptr %8276, align 4, !tbaa !5
  %8277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8278 = load i32, ptr @test_count, align 4, !tbaa !5
  %8279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8280 = load i32, ptr %8279, align 4, !tbaa !5
  %8281 = call ptr @s2n_strerror(i32 noundef %8280, ptr noundef @.str.4)
  %8282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8283 = load i32, ptr %8282, align 4, !tbaa !5
  %8284 = call ptr @s2n_strerror_debug(i32 noundef %8283, ptr noundef @.str.4)
  %8285 = call ptr @__errno_location() #11
  %8286 = load i32, ptr %8285, align 4, !tbaa !5
  %8287 = call ptr @strerror(i32 noundef %8286) #10
  %8288 = call ptr @__errno_location() #11
  %8289 = load i32, ptr %8288, align 4, !tbaa !5
  %8290 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8277, ptr noundef @.str.2, i32 noundef %8278, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 294, ptr noundef %8281, ptr noundef %8284, ptr noundef %8287, i32 noundef %8289) #10
  br label %8308

8291:                                             ; preds = %8269, %8262
  %8292 = load i32, ptr %165, align 4, !tbaa !5
  %8293 = call ptr @__errno_location() #11
  store i32 %8292, ptr %8293, align 4, !tbaa !5
  %8294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8295 = load i32, ptr @test_count, align 4, !tbaa !5
  %8296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8297 = load i32, ptr %8296, align 4, !tbaa !5
  %8298 = call ptr @s2n_strerror(i32 noundef %8297, ptr noundef @.str.4)
  %8299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8300 = load i32, ptr %8299, align 4, !tbaa !5
  %8301 = call ptr @s2n_strerror_debug(i32 noundef %8300, ptr noundef @.str.4)
  %8302 = call ptr @__errno_location() #11
  %8303 = load i32, ptr %8302, align 4, !tbaa !5
  %8304 = call ptr @strerror(i32 noundef %8303) #10
  %8305 = call ptr @__errno_location() #11
  %8306 = load i32, ptr %8305, align 4, !tbaa !5
  %8307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8294, ptr noundef @.str.5, i32 noundef %8295, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 294, ptr noundef %8298, ptr noundef %8301, ptr noundef %8304, i32 noundef %8306) #10
  br label %8308

8308:                                             ; preds = %8291, %8274
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #10
  br label %8309

8309:                                             ; preds = %8308
  br label %8310

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

8311:                                             ; No predecessors!
  br label %8312

8312:                                             ; preds = %8311
  br label %8313

8313:                                             ; preds = %8312, %8253
  br label %8314

8314:                                             ; preds = %8313
  br label %8315

8315:                                             ; preds = %8314
  br label %8316

8316:                                             ; preds = %8315
  %8317 = load i32, ptr @test_count, align 4, !tbaa !5
  %8318 = add nsw i32 %8317, 1
  store i32 %8318, ptr @test_count, align 4, !tbaa !5
  %8319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8320 = load i32, ptr %8319, align 4, !tbaa !5
  %8321 = icmp eq i32 %8320, 469762107
  br i1 %8321, label %8375, label %8322

8322:                                             ; preds = %8316
  br label %8323

8323:                                             ; preds = %8322
  br label %8324

8324:                                             ; preds = %8323
  call void @llvm.lifetime.start.p0(i64 4, ptr %166) #10
  %8325 = call ptr @__errno_location() #11
  %8326 = load i32, ptr %8325, align 4, !tbaa !5
  store i32 %8326, ptr %166, align 4, !tbaa !5
  %8327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8328 = call i32 @s2n_print_stacktrace(ptr noundef %8327)
  %8329 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8330 = trunc i8 %8329 to i1
  br i1 %8330, label %8331, label %8353

8331:                                             ; preds = %8324
  %8332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8333 = call i32 @fileno(ptr noundef %8332) #10
  %8334 = call i32 @isatty(i32 noundef %8333) #10
  %8335 = icmp ne i32 %8334, 0
  br i1 %8335, label %8336, label %8353

8336:                                             ; preds = %8331
  %8337 = load i32, ptr %166, align 4, !tbaa !5
  %8338 = call ptr @__errno_location() #11
  store i32 %8337, ptr %8338, align 4, !tbaa !5
  %8339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8340 = load i32, ptr @test_count, align 4, !tbaa !5
  %8341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8342 = load i32, ptr %8341, align 4, !tbaa !5
  %8343 = call ptr @s2n_strerror(i32 noundef %8342, ptr noundef @.str.4)
  %8344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8345 = load i32, ptr %8344, align 4, !tbaa !5
  %8346 = call ptr @s2n_strerror_debug(i32 noundef %8345, ptr noundef @.str.4)
  %8347 = call ptr @__errno_location() #11
  %8348 = load i32, ptr %8347, align 4, !tbaa !5
  %8349 = call ptr @strerror(i32 noundef %8348) #10
  %8350 = call ptr @__errno_location() #11
  %8351 = load i32, ptr %8350, align 4, !tbaa !5
  %8352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8339, ptr noundef @.str.2, i32 noundef %8340, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 294, ptr noundef %8343, ptr noundef %8346, ptr noundef %8349, i32 noundef %8351) #10
  br label %8370

8353:                                             ; preds = %8331, %8324
  %8354 = load i32, ptr %166, align 4, !tbaa !5
  %8355 = call ptr @__errno_location() #11
  store i32 %8354, ptr %8355, align 4, !tbaa !5
  %8356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8357 = load i32, ptr @test_count, align 4, !tbaa !5
  %8358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8359 = load i32, ptr %8358, align 4, !tbaa !5
  %8360 = call ptr @s2n_strerror(i32 noundef %8359, ptr noundef @.str.4)
  %8361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8362 = load i32, ptr %8361, align 4, !tbaa !5
  %8363 = call ptr @s2n_strerror_debug(i32 noundef %8362, ptr noundef @.str.4)
  %8364 = call ptr @__errno_location() #11
  %8365 = load i32, ptr %8364, align 4, !tbaa !5
  %8366 = call ptr @strerror(i32 noundef %8365) #10
  %8367 = call ptr @__errno_location() #11
  %8368 = load i32, ptr %8367, align 4, !tbaa !5
  %8369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8356, ptr noundef @.str.5, i32 noundef %8357, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 294, ptr noundef %8360, ptr noundef %8363, ptr noundef %8366, i32 noundef %8368) #10
  br label %8370

8370:                                             ; preds = %8353, %8336
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #10
  br label %8371

8371:                                             ; preds = %8370
  br label %8372

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

8373:                                             ; No predecessors!
  br label %8374

8374:                                             ; preds = %8373
  br label %8375

8375:                                             ; preds = %8374, %8316
  br label %8376

8376:                                             ; preds = %8375
  br label %8377

8377:                                             ; preds = %8376
  br label %8378

8378:                                             ; preds = %8377
  %8379 = load i32, ptr @test_count, align 4, !tbaa !5
  %8380 = add nsw i32 %8379, 1
  store i32 %8380, ptr @test_count, align 4, !tbaa !5
  %8381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8382 = load i32, ptr %8381, align 4, !tbaa !5
  %8383 = call ptr @s2n_strerror_debug(i32 noundef %8382, ptr noundef @.str.4)
  %8384 = icmp eq ptr %8383, null
  br i1 %8384, label %8385, label %8438

8385:                                             ; preds = %8378
  br label %8386

8386:                                             ; preds = %8385
  br label %8387

8387:                                             ; preds = %8386
  call void @llvm.lifetime.start.p0(i64 4, ptr %167) #10
  %8388 = call ptr @__errno_location() #11
  %8389 = load i32, ptr %8388, align 4, !tbaa !5
  store i32 %8389, ptr %167, align 4, !tbaa !5
  %8390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8391 = call i32 @s2n_print_stacktrace(ptr noundef %8390)
  %8392 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8393 = trunc i8 %8392 to i1
  br i1 %8393, label %8394, label %8416

8394:                                             ; preds = %8387
  %8395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8396 = call i32 @fileno(ptr noundef %8395) #10
  %8397 = call i32 @isatty(i32 noundef %8396) #10
  %8398 = icmp ne i32 %8397, 0
  br i1 %8398, label %8399, label %8416

8399:                                             ; preds = %8394
  %8400 = load i32, ptr %167, align 4, !tbaa !5
  %8401 = call ptr @__errno_location() #11
  store i32 %8400, ptr %8401, align 4, !tbaa !5
  %8402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8403 = load i32, ptr @test_count, align 4, !tbaa !5
  %8404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8405 = load i32, ptr %8404, align 4, !tbaa !5
  %8406 = call ptr @s2n_strerror(i32 noundef %8405, ptr noundef @.str.4)
  %8407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8408 = load i32, ptr %8407, align 4, !tbaa !5
  %8409 = call ptr @s2n_strerror_debug(i32 noundef %8408, ptr noundef @.str.4)
  %8410 = call ptr @__errno_location() #11
  %8411 = load i32, ptr %8410, align 4, !tbaa !5
  %8412 = call ptr @strerror(i32 noundef %8411) #10
  %8413 = call ptr @__errno_location() #11
  %8414 = load i32, ptr %8413, align 4, !tbaa !5
  %8415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8402, ptr noundef @.str.2, i32 noundef %8403, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 294, ptr noundef %8406, ptr noundef %8409, ptr noundef %8412, i32 noundef %8414) #10
  br label %8433

8416:                                             ; preds = %8394, %8387
  %8417 = load i32, ptr %167, align 4, !tbaa !5
  %8418 = call ptr @__errno_location() #11
  store i32 %8417, ptr %8418, align 4, !tbaa !5
  %8419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8420 = load i32, ptr @test_count, align 4, !tbaa !5
  %8421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8422 = load i32, ptr %8421, align 4, !tbaa !5
  %8423 = call ptr @s2n_strerror(i32 noundef %8422, ptr noundef @.str.4)
  %8424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8425 = load i32, ptr %8424, align 4, !tbaa !5
  %8426 = call ptr @s2n_strerror_debug(i32 noundef %8425, ptr noundef @.str.4)
  %8427 = call ptr @__errno_location() #11
  %8428 = load i32, ptr %8427, align 4, !tbaa !5
  %8429 = call ptr @strerror(i32 noundef %8428) #10
  %8430 = call ptr @__errno_location() #11
  %8431 = load i32, ptr %8430, align 4, !tbaa !5
  %8432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8419, ptr noundef @.str.5, i32 noundef %8420, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 294, ptr noundef %8423, ptr noundef %8426, ptr noundef %8429, i32 noundef %8431) #10
  br label %8433

8433:                                             ; preds = %8416, %8399
  call void @llvm.lifetime.end.p0(i64 4, ptr %167) #10
  br label %8434

8434:                                             ; preds = %8433
  br label %8435

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

8436:                                             ; No predecessors!
  br label %8437

8437:                                             ; preds = %8436
  br label %8438

8438:                                             ; preds = %8437, %8378
  br label %8439

8439:                                             ; preds = %8438
  br label %8440

8440:                                             ; preds = %8439
  br label %8441

8441:                                             ; preds = %8440
  br label %8442

8442:                                             ; preds = %8441
  br label %8443

8443:                                             ; preds = %8442
  %8444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8444, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8445 = call ptr @__errno_location() #11
  store i32 0, ptr %8445, align 4, !tbaa !5
  br label %8446

8446:                                             ; preds = %8443
  br label %8447

8447:                                             ; preds = %8446
  br label %8448

8448:                                             ; preds = %8447
  br label %8449

8449:                                             ; preds = %8448
  br label %8450

8450:                                             ; preds = %8449
  br label %8451

8451:                                             ; preds = %8450
  br label %8452

8452:                                             ; preds = %8451
  %8453 = load i32, ptr @test_count, align 4, !tbaa !5
  %8454 = add nsw i32 %8453, 1
  store i32 %8454, ptr @test_count, align 4, !tbaa !5
  %8455 = load ptr, ptr %159, align 8, !tbaa !9
  %8456 = getelementptr inbounds [10 x i8], ptr %162, i64 0, i64 0
  %8457 = call i64 @s2n_send(ptr noundef %8455, ptr noundef %8456, i64 noundef 10, ptr noundef %164)
  %8458 = icmp eq i64 %8457, -1
  br i1 %8458, label %8512, label %8459

8459:                                             ; preds = %8452
  br label %8460

8460:                                             ; preds = %8459
  br label %8461

8461:                                             ; preds = %8460
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #10
  %8462 = call ptr @__errno_location() #11
  %8463 = load i32, ptr %8462, align 4, !tbaa !5
  store i32 %8463, ptr %168, align 4, !tbaa !5
  %8464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8465 = call i32 @s2n_print_stacktrace(ptr noundef %8464)
  %8466 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8467 = trunc i8 %8466 to i1
  br i1 %8467, label %8468, label %8490

8468:                                             ; preds = %8461
  %8469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8470 = call i32 @fileno(ptr noundef %8469) #10
  %8471 = call i32 @isatty(i32 noundef %8470) #10
  %8472 = icmp ne i32 %8471, 0
  br i1 %8472, label %8473, label %8490

8473:                                             ; preds = %8468
  %8474 = load i32, ptr %168, align 4, !tbaa !5
  %8475 = call ptr @__errno_location() #11
  store i32 %8474, ptr %8475, align 4, !tbaa !5
  %8476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8477 = load i32, ptr @test_count, align 4, !tbaa !5
  %8478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8479 = load i32, ptr %8478, align 4, !tbaa !5
  %8480 = call ptr @s2n_strerror(i32 noundef %8479, ptr noundef @.str.4)
  %8481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8482 = load i32, ptr %8481, align 4, !tbaa !5
  %8483 = call ptr @s2n_strerror_debug(i32 noundef %8482, ptr noundef @.str.4)
  %8484 = call ptr @__errno_location() #11
  %8485 = load i32, ptr %8484, align 4, !tbaa !5
  %8486 = call ptr @strerror(i32 noundef %8485) #10
  %8487 = call ptr @__errno_location() #11
  %8488 = load i32, ptr %8487, align 4, !tbaa !5
  %8489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8476, ptr noundef @.str.2, i32 noundef %8477, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 295, ptr noundef %8480, ptr noundef %8483, ptr noundef %8486, i32 noundef %8488) #10
  br label %8507

8490:                                             ; preds = %8468, %8461
  %8491 = load i32, ptr %168, align 4, !tbaa !5
  %8492 = call ptr @__errno_location() #11
  store i32 %8491, ptr %8492, align 4, !tbaa !5
  %8493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8494 = load i32, ptr @test_count, align 4, !tbaa !5
  %8495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8496 = load i32, ptr %8495, align 4, !tbaa !5
  %8497 = call ptr @s2n_strerror(i32 noundef %8496, ptr noundef @.str.4)
  %8498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8499 = load i32, ptr %8498, align 4, !tbaa !5
  %8500 = call ptr @s2n_strerror_debug(i32 noundef %8499, ptr noundef @.str.4)
  %8501 = call ptr @__errno_location() #11
  %8502 = load i32, ptr %8501, align 4, !tbaa !5
  %8503 = call ptr @strerror(i32 noundef %8502) #10
  %8504 = call ptr @__errno_location() #11
  %8505 = load i32, ptr %8504, align 4, !tbaa !5
  %8506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8493, ptr noundef @.str.5, i32 noundef %8494, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 295, ptr noundef %8497, ptr noundef %8500, ptr noundef %8503, i32 noundef %8505) #10
  br label %8507

8507:                                             ; preds = %8490, %8473
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #10
  br label %8508

8508:                                             ; preds = %8507
  br label %8509

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

8510:                                             ; No predecessors!
  br label %8511

8511:                                             ; preds = %8510
  br label %8512

8512:                                             ; preds = %8511, %8452
  br label %8513

8513:                                             ; preds = %8512
  br label %8514

8514:                                             ; preds = %8513
  br label %8515

8515:                                             ; preds = %8514
  %8516 = load i32, ptr @test_count, align 4, !tbaa !5
  %8517 = add nsw i32 %8516, 1
  store i32 %8517, ptr @test_count, align 4, !tbaa !5
  %8518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8519 = load i32, ptr %8518, align 4, !tbaa !5
  %8520 = icmp eq i32 %8519, 469762107
  br i1 %8520, label %8574, label %8521

8521:                                             ; preds = %8515
  br label %8522

8522:                                             ; preds = %8521
  br label %8523

8523:                                             ; preds = %8522
  call void @llvm.lifetime.start.p0(i64 4, ptr %169) #10
  %8524 = call ptr @__errno_location() #11
  %8525 = load i32, ptr %8524, align 4, !tbaa !5
  store i32 %8525, ptr %169, align 4, !tbaa !5
  %8526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8527 = call i32 @s2n_print_stacktrace(ptr noundef %8526)
  %8528 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8529 = trunc i8 %8528 to i1
  br i1 %8529, label %8530, label %8552

8530:                                             ; preds = %8523
  %8531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8532 = call i32 @fileno(ptr noundef %8531) #10
  %8533 = call i32 @isatty(i32 noundef %8532) #10
  %8534 = icmp ne i32 %8533, 0
  br i1 %8534, label %8535, label %8552

8535:                                             ; preds = %8530
  %8536 = load i32, ptr %169, align 4, !tbaa !5
  %8537 = call ptr @__errno_location() #11
  store i32 %8536, ptr %8537, align 4, !tbaa !5
  %8538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8539 = load i32, ptr @test_count, align 4, !tbaa !5
  %8540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8541 = load i32, ptr %8540, align 4, !tbaa !5
  %8542 = call ptr @s2n_strerror(i32 noundef %8541, ptr noundef @.str.4)
  %8543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8544 = load i32, ptr %8543, align 4, !tbaa !5
  %8545 = call ptr @s2n_strerror_debug(i32 noundef %8544, ptr noundef @.str.4)
  %8546 = call ptr @__errno_location() #11
  %8547 = load i32, ptr %8546, align 4, !tbaa !5
  %8548 = call ptr @strerror(i32 noundef %8547) #10
  %8549 = call ptr @__errno_location() #11
  %8550 = load i32, ptr %8549, align 4, !tbaa !5
  %8551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8538, ptr noundef @.str.2, i32 noundef %8539, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 295, ptr noundef %8542, ptr noundef %8545, ptr noundef %8548, i32 noundef %8550) #10
  br label %8569

8552:                                             ; preds = %8530, %8523
  %8553 = load i32, ptr %169, align 4, !tbaa !5
  %8554 = call ptr @__errno_location() #11
  store i32 %8553, ptr %8554, align 4, !tbaa !5
  %8555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8556 = load i32, ptr @test_count, align 4, !tbaa !5
  %8557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8558 = load i32, ptr %8557, align 4, !tbaa !5
  %8559 = call ptr @s2n_strerror(i32 noundef %8558, ptr noundef @.str.4)
  %8560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8561 = load i32, ptr %8560, align 4, !tbaa !5
  %8562 = call ptr @s2n_strerror_debug(i32 noundef %8561, ptr noundef @.str.4)
  %8563 = call ptr @__errno_location() #11
  %8564 = load i32, ptr %8563, align 4, !tbaa !5
  %8565 = call ptr @strerror(i32 noundef %8564) #10
  %8566 = call ptr @__errno_location() #11
  %8567 = load i32, ptr %8566, align 4, !tbaa !5
  %8568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8555, ptr noundef @.str.5, i32 noundef %8556, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 295, ptr noundef %8559, ptr noundef %8562, ptr noundef %8565, i32 noundef %8567) #10
  br label %8569

8569:                                             ; preds = %8552, %8535
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #10
  br label %8570

8570:                                             ; preds = %8569
  br label %8571

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

8572:                                             ; No predecessors!
  br label %8573

8573:                                             ; preds = %8572
  br label %8574

8574:                                             ; preds = %8573, %8515
  br label %8575

8575:                                             ; preds = %8574
  br label %8576

8576:                                             ; preds = %8575
  br label %8577

8577:                                             ; preds = %8576
  %8578 = load i32, ptr @test_count, align 4, !tbaa !5
  %8579 = add nsw i32 %8578, 1
  store i32 %8579, ptr @test_count, align 4, !tbaa !5
  %8580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8581 = load i32, ptr %8580, align 4, !tbaa !5
  %8582 = call ptr @s2n_strerror_debug(i32 noundef %8581, ptr noundef @.str.4)
  %8583 = icmp eq ptr %8582, null
  br i1 %8583, label %8584, label %8637

8584:                                             ; preds = %8577
  br label %8585

8585:                                             ; preds = %8584
  br label %8586

8586:                                             ; preds = %8585
  call void @llvm.lifetime.start.p0(i64 4, ptr %170) #10
  %8587 = call ptr @__errno_location() #11
  %8588 = load i32, ptr %8587, align 4, !tbaa !5
  store i32 %8588, ptr %170, align 4, !tbaa !5
  %8589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8590 = call i32 @s2n_print_stacktrace(ptr noundef %8589)
  %8591 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8592 = trunc i8 %8591 to i1
  br i1 %8592, label %8593, label %8615

8593:                                             ; preds = %8586
  %8594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8595 = call i32 @fileno(ptr noundef %8594) #10
  %8596 = call i32 @isatty(i32 noundef %8595) #10
  %8597 = icmp ne i32 %8596, 0
  br i1 %8597, label %8598, label %8615

8598:                                             ; preds = %8593
  %8599 = load i32, ptr %170, align 4, !tbaa !5
  %8600 = call ptr @__errno_location() #11
  store i32 %8599, ptr %8600, align 4, !tbaa !5
  %8601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8602 = load i32, ptr @test_count, align 4, !tbaa !5
  %8603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8604 = load i32, ptr %8603, align 4, !tbaa !5
  %8605 = call ptr @s2n_strerror(i32 noundef %8604, ptr noundef @.str.4)
  %8606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8607 = load i32, ptr %8606, align 4, !tbaa !5
  %8608 = call ptr @s2n_strerror_debug(i32 noundef %8607, ptr noundef @.str.4)
  %8609 = call ptr @__errno_location() #11
  %8610 = load i32, ptr %8609, align 4, !tbaa !5
  %8611 = call ptr @strerror(i32 noundef %8610) #10
  %8612 = call ptr @__errno_location() #11
  %8613 = load i32, ptr %8612, align 4, !tbaa !5
  %8614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8601, ptr noundef @.str.2, i32 noundef %8602, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 295, ptr noundef %8605, ptr noundef %8608, ptr noundef %8611, i32 noundef %8613) #10
  br label %8632

8615:                                             ; preds = %8593, %8586
  %8616 = load i32, ptr %170, align 4, !tbaa !5
  %8617 = call ptr @__errno_location() #11
  store i32 %8616, ptr %8617, align 4, !tbaa !5
  %8618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8619 = load i32, ptr @test_count, align 4, !tbaa !5
  %8620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8621 = load i32, ptr %8620, align 4, !tbaa !5
  %8622 = call ptr @s2n_strerror(i32 noundef %8621, ptr noundef @.str.4)
  %8623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8624 = load i32, ptr %8623, align 4, !tbaa !5
  %8625 = call ptr @s2n_strerror_debug(i32 noundef %8624, ptr noundef @.str.4)
  %8626 = call ptr @__errno_location() #11
  %8627 = load i32, ptr %8626, align 4, !tbaa !5
  %8628 = call ptr @strerror(i32 noundef %8627) #10
  %8629 = call ptr @__errno_location() #11
  %8630 = load i32, ptr %8629, align 4, !tbaa !5
  %8631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8618, ptr noundef @.str.5, i32 noundef %8619, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 295, ptr noundef %8622, ptr noundef %8625, ptr noundef %8628, i32 noundef %8630) #10
  br label %8632

8632:                                             ; preds = %8615, %8598
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #10
  br label %8633

8633:                                             ; preds = %8632
  br label %8634

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

8635:                                             ; No predecessors!
  br label %8636

8636:                                             ; preds = %8635
  br label %8637

8637:                                             ; preds = %8636, %8577
  br label %8638

8638:                                             ; preds = %8637
  br label %8639

8639:                                             ; preds = %8638
  br label %8640

8640:                                             ; preds = %8639
  br label %8641

8641:                                             ; preds = %8640
  br label %8642

8642:                                             ; preds = %8641
  %8643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8643, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8644 = call ptr @__errno_location() #11
  store i32 0, ptr %8644, align 4, !tbaa !5
  br label %8645

8645:                                             ; preds = %8642
  br label %8646

8646:                                             ; preds = %8645
  br label %8647

8647:                                             ; preds = %8646
  br label %8648

8648:                                             ; preds = %8647
  br label %8649

8649:                                             ; preds = %8648
  br label %8650

8650:                                             ; preds = %8649
  br label %8651

8651:                                             ; preds = %8650
  %8652 = load i32, ptr @test_count, align 4, !tbaa !5
  %8653 = add nsw i32 %8652, 1
  store i32 %8653, ptr @test_count, align 4, !tbaa !5
  %8654 = load ptr, ptr %159, align 8, !tbaa !9
  %8655 = call i64 @s2n_sendv(ptr noundef %8654, ptr noundef %163, i64 noundef 1, ptr noundef %164)
  %8656 = icmp eq i64 %8655, -1
  br i1 %8656, label %8710, label %8657

8657:                                             ; preds = %8651
  br label %8658

8658:                                             ; preds = %8657
  br label %8659

8659:                                             ; preds = %8658
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #10
  %8660 = call ptr @__errno_location() #11
  %8661 = load i32, ptr %8660, align 4, !tbaa !5
  store i32 %8661, ptr %171, align 4, !tbaa !5
  %8662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8663 = call i32 @s2n_print_stacktrace(ptr noundef %8662)
  %8664 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8665 = trunc i8 %8664 to i1
  br i1 %8665, label %8666, label %8688

8666:                                             ; preds = %8659
  %8667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8668 = call i32 @fileno(ptr noundef %8667) #10
  %8669 = call i32 @isatty(i32 noundef %8668) #10
  %8670 = icmp ne i32 %8669, 0
  br i1 %8670, label %8671, label %8688

8671:                                             ; preds = %8666
  %8672 = load i32, ptr %171, align 4, !tbaa !5
  %8673 = call ptr @__errno_location() #11
  store i32 %8672, ptr %8673, align 4, !tbaa !5
  %8674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8675 = load i32, ptr @test_count, align 4, !tbaa !5
  %8676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8677 = load i32, ptr %8676, align 4, !tbaa !5
  %8678 = call ptr @s2n_strerror(i32 noundef %8677, ptr noundef @.str.4)
  %8679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8680 = load i32, ptr %8679, align 4, !tbaa !5
  %8681 = call ptr @s2n_strerror_debug(i32 noundef %8680, ptr noundef @.str.4)
  %8682 = call ptr @__errno_location() #11
  %8683 = load i32, ptr %8682, align 4, !tbaa !5
  %8684 = call ptr @strerror(i32 noundef %8683) #10
  %8685 = call ptr @__errno_location() #11
  %8686 = load i32, ptr %8685, align 4, !tbaa !5
  %8687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8674, ptr noundef @.str.2, i32 noundef %8675, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 296, ptr noundef %8678, ptr noundef %8681, ptr noundef %8684, i32 noundef %8686) #10
  br label %8705

8688:                                             ; preds = %8666, %8659
  %8689 = load i32, ptr %171, align 4, !tbaa !5
  %8690 = call ptr @__errno_location() #11
  store i32 %8689, ptr %8690, align 4, !tbaa !5
  %8691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8692 = load i32, ptr @test_count, align 4, !tbaa !5
  %8693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8694 = load i32, ptr %8693, align 4, !tbaa !5
  %8695 = call ptr @s2n_strerror(i32 noundef %8694, ptr noundef @.str.4)
  %8696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8697 = load i32, ptr %8696, align 4, !tbaa !5
  %8698 = call ptr @s2n_strerror_debug(i32 noundef %8697, ptr noundef @.str.4)
  %8699 = call ptr @__errno_location() #11
  %8700 = load i32, ptr %8699, align 4, !tbaa !5
  %8701 = call ptr @strerror(i32 noundef %8700) #10
  %8702 = call ptr @__errno_location() #11
  %8703 = load i32, ptr %8702, align 4, !tbaa !5
  %8704 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8691, ptr noundef @.str.5, i32 noundef %8692, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 296, ptr noundef %8695, ptr noundef %8698, ptr noundef %8701, i32 noundef %8703) #10
  br label %8705

8705:                                             ; preds = %8688, %8671
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #10
  br label %8706

8706:                                             ; preds = %8705
  br label %8707

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

8708:                                             ; No predecessors!
  br label %8709

8709:                                             ; preds = %8708
  br label %8710

8710:                                             ; preds = %8709, %8651
  br label %8711

8711:                                             ; preds = %8710
  br label %8712

8712:                                             ; preds = %8711
  br label %8713

8713:                                             ; preds = %8712
  %8714 = load i32, ptr @test_count, align 4, !tbaa !5
  %8715 = add nsw i32 %8714, 1
  store i32 %8715, ptr @test_count, align 4, !tbaa !5
  %8716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8717 = load i32, ptr %8716, align 4, !tbaa !5
  %8718 = icmp eq i32 %8717, 469762107
  br i1 %8718, label %8772, label %8719

8719:                                             ; preds = %8713
  br label %8720

8720:                                             ; preds = %8719
  br label %8721

8721:                                             ; preds = %8720
  call void @llvm.lifetime.start.p0(i64 4, ptr %172) #10
  %8722 = call ptr @__errno_location() #11
  %8723 = load i32, ptr %8722, align 4, !tbaa !5
  store i32 %8723, ptr %172, align 4, !tbaa !5
  %8724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8725 = call i32 @s2n_print_stacktrace(ptr noundef %8724)
  %8726 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8727 = trunc i8 %8726 to i1
  br i1 %8727, label %8728, label %8750

8728:                                             ; preds = %8721
  %8729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8730 = call i32 @fileno(ptr noundef %8729) #10
  %8731 = call i32 @isatty(i32 noundef %8730) #10
  %8732 = icmp ne i32 %8731, 0
  br i1 %8732, label %8733, label %8750

8733:                                             ; preds = %8728
  %8734 = load i32, ptr %172, align 4, !tbaa !5
  %8735 = call ptr @__errno_location() #11
  store i32 %8734, ptr %8735, align 4, !tbaa !5
  %8736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8737 = load i32, ptr @test_count, align 4, !tbaa !5
  %8738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8739 = load i32, ptr %8738, align 4, !tbaa !5
  %8740 = call ptr @s2n_strerror(i32 noundef %8739, ptr noundef @.str.4)
  %8741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8742 = load i32, ptr %8741, align 4, !tbaa !5
  %8743 = call ptr @s2n_strerror_debug(i32 noundef %8742, ptr noundef @.str.4)
  %8744 = call ptr @__errno_location() #11
  %8745 = load i32, ptr %8744, align 4, !tbaa !5
  %8746 = call ptr @strerror(i32 noundef %8745) #10
  %8747 = call ptr @__errno_location() #11
  %8748 = load i32, ptr %8747, align 4, !tbaa !5
  %8749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8736, ptr noundef @.str.2, i32 noundef %8737, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 296, ptr noundef %8740, ptr noundef %8743, ptr noundef %8746, i32 noundef %8748) #10
  br label %8767

8750:                                             ; preds = %8728, %8721
  %8751 = load i32, ptr %172, align 4, !tbaa !5
  %8752 = call ptr @__errno_location() #11
  store i32 %8751, ptr %8752, align 4, !tbaa !5
  %8753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8754 = load i32, ptr @test_count, align 4, !tbaa !5
  %8755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8756 = load i32, ptr %8755, align 4, !tbaa !5
  %8757 = call ptr @s2n_strerror(i32 noundef %8756, ptr noundef @.str.4)
  %8758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8759 = load i32, ptr %8758, align 4, !tbaa !5
  %8760 = call ptr @s2n_strerror_debug(i32 noundef %8759, ptr noundef @.str.4)
  %8761 = call ptr @__errno_location() #11
  %8762 = load i32, ptr %8761, align 4, !tbaa !5
  %8763 = call ptr @strerror(i32 noundef %8762) #10
  %8764 = call ptr @__errno_location() #11
  %8765 = load i32, ptr %8764, align 4, !tbaa !5
  %8766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8753, ptr noundef @.str.5, i32 noundef %8754, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 296, ptr noundef %8757, ptr noundef %8760, ptr noundef %8763, i32 noundef %8765) #10
  br label %8767

8767:                                             ; preds = %8750, %8733
  call void @llvm.lifetime.end.p0(i64 4, ptr %172) #10
  br label %8768

8768:                                             ; preds = %8767
  br label %8769

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

8770:                                             ; No predecessors!
  br label %8771

8771:                                             ; preds = %8770
  br label %8772

8772:                                             ; preds = %8771, %8713
  br label %8773

8773:                                             ; preds = %8772
  br label %8774

8774:                                             ; preds = %8773
  br label %8775

8775:                                             ; preds = %8774
  %8776 = load i32, ptr @test_count, align 4, !tbaa !5
  %8777 = add nsw i32 %8776, 1
  store i32 %8777, ptr @test_count, align 4, !tbaa !5
  %8778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8779 = load i32, ptr %8778, align 4, !tbaa !5
  %8780 = call ptr @s2n_strerror_debug(i32 noundef %8779, ptr noundef @.str.4)
  %8781 = icmp eq ptr %8780, null
  br i1 %8781, label %8782, label %8835

8782:                                             ; preds = %8775
  br label %8783

8783:                                             ; preds = %8782
  br label %8784

8784:                                             ; preds = %8783
  call void @llvm.lifetime.start.p0(i64 4, ptr %173) #10
  %8785 = call ptr @__errno_location() #11
  %8786 = load i32, ptr %8785, align 4, !tbaa !5
  store i32 %8786, ptr %173, align 4, !tbaa !5
  %8787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8788 = call i32 @s2n_print_stacktrace(ptr noundef %8787)
  %8789 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8790 = trunc i8 %8789 to i1
  br i1 %8790, label %8791, label %8813

8791:                                             ; preds = %8784
  %8792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8793 = call i32 @fileno(ptr noundef %8792) #10
  %8794 = call i32 @isatty(i32 noundef %8793) #10
  %8795 = icmp ne i32 %8794, 0
  br i1 %8795, label %8796, label %8813

8796:                                             ; preds = %8791
  %8797 = load i32, ptr %173, align 4, !tbaa !5
  %8798 = call ptr @__errno_location() #11
  store i32 %8797, ptr %8798, align 4, !tbaa !5
  %8799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8800 = load i32, ptr @test_count, align 4, !tbaa !5
  %8801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8802 = load i32, ptr %8801, align 4, !tbaa !5
  %8803 = call ptr @s2n_strerror(i32 noundef %8802, ptr noundef @.str.4)
  %8804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8805 = load i32, ptr %8804, align 4, !tbaa !5
  %8806 = call ptr @s2n_strerror_debug(i32 noundef %8805, ptr noundef @.str.4)
  %8807 = call ptr @__errno_location() #11
  %8808 = load i32, ptr %8807, align 4, !tbaa !5
  %8809 = call ptr @strerror(i32 noundef %8808) #10
  %8810 = call ptr @__errno_location() #11
  %8811 = load i32, ptr %8810, align 4, !tbaa !5
  %8812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8799, ptr noundef @.str.2, i32 noundef %8800, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 296, ptr noundef %8803, ptr noundef %8806, ptr noundef %8809, i32 noundef %8811) #10
  br label %8830

8813:                                             ; preds = %8791, %8784
  %8814 = load i32, ptr %173, align 4, !tbaa !5
  %8815 = call ptr @__errno_location() #11
  store i32 %8814, ptr %8815, align 4, !tbaa !5
  %8816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8817 = load i32, ptr @test_count, align 4, !tbaa !5
  %8818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8819 = load i32, ptr %8818, align 4, !tbaa !5
  %8820 = call ptr @s2n_strerror(i32 noundef %8819, ptr noundef @.str.4)
  %8821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8822 = load i32, ptr %8821, align 4, !tbaa !5
  %8823 = call ptr @s2n_strerror_debug(i32 noundef %8822, ptr noundef @.str.4)
  %8824 = call ptr @__errno_location() #11
  %8825 = load i32, ptr %8824, align 4, !tbaa !5
  %8826 = call ptr @strerror(i32 noundef %8825) #10
  %8827 = call ptr @__errno_location() #11
  %8828 = load i32, ptr %8827, align 4, !tbaa !5
  %8829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8816, ptr noundef @.str.5, i32 noundef %8817, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 296, ptr noundef %8820, ptr noundef %8823, ptr noundef %8826, i32 noundef %8828) #10
  br label %8830

8830:                                             ; preds = %8813, %8796
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #10
  br label %8831

8831:                                             ; preds = %8830
  br label %8832

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

8833:                                             ; No predecessors!
  br label %8834

8834:                                             ; preds = %8833
  br label %8835

8835:                                             ; preds = %8834, %8775
  br label %8836

8836:                                             ; preds = %8835
  br label %8837

8837:                                             ; preds = %8836
  br label %8838

8838:                                             ; preds = %8837
  br label %8839

8839:                                             ; preds = %8838
  br label %8840

8840:                                             ; preds = %8839
  %8841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8841, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8842 = call ptr @__errno_location() #11
  store i32 0, ptr %8842, align 4, !tbaa !5
  br label %8843

8843:                                             ; preds = %8840
  br label %8844

8844:                                             ; preds = %8843
  br label %8845

8845:                                             ; preds = %8844
  br label %8846

8846:                                             ; preds = %8845
  br label %8847

8847:                                             ; preds = %8846
  br label %8848

8848:                                             ; preds = %8847
  br label %8849

8849:                                             ; preds = %8848
  %8850 = load i32, ptr @test_count, align 4, !tbaa !5
  %8851 = add nsw i32 %8850, 1
  store i32 %8851, ptr @test_count, align 4, !tbaa !5
  %8852 = load ptr, ptr %159, align 8, !tbaa !9
  %8853 = call i64 @s2n_sendv_with_offset(ptr noundef %8852, ptr noundef %163, i64 noundef 1, i64 noundef 0, ptr noundef %164)
  %8854 = icmp eq i64 %8853, -1
  br i1 %8854, label %8908, label %8855

8855:                                             ; preds = %8849
  br label %8856

8856:                                             ; preds = %8855
  br label %8857

8857:                                             ; preds = %8856
  call void @llvm.lifetime.start.p0(i64 4, ptr %174) #10
  %8858 = call ptr @__errno_location() #11
  %8859 = load i32, ptr %8858, align 4, !tbaa !5
  store i32 %8859, ptr %174, align 4, !tbaa !5
  %8860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8861 = call i32 @s2n_print_stacktrace(ptr noundef %8860)
  %8862 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8863 = trunc i8 %8862 to i1
  br i1 %8863, label %8864, label %8886

8864:                                             ; preds = %8857
  %8865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8866 = call i32 @fileno(ptr noundef %8865) #10
  %8867 = call i32 @isatty(i32 noundef %8866) #10
  %8868 = icmp ne i32 %8867, 0
  br i1 %8868, label %8869, label %8886

8869:                                             ; preds = %8864
  %8870 = load i32, ptr %174, align 4, !tbaa !5
  %8871 = call ptr @__errno_location() #11
  store i32 %8870, ptr %8871, align 4, !tbaa !5
  %8872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8873 = load i32, ptr @test_count, align 4, !tbaa !5
  %8874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8875 = load i32, ptr %8874, align 4, !tbaa !5
  %8876 = call ptr @s2n_strerror(i32 noundef %8875, ptr noundef @.str.4)
  %8877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8878 = load i32, ptr %8877, align 4, !tbaa !5
  %8879 = call ptr @s2n_strerror_debug(i32 noundef %8878, ptr noundef @.str.4)
  %8880 = call ptr @__errno_location() #11
  %8881 = load i32, ptr %8880, align 4, !tbaa !5
  %8882 = call ptr @strerror(i32 noundef %8881) #10
  %8883 = call ptr @__errno_location() #11
  %8884 = load i32, ptr %8883, align 4, !tbaa !5
  %8885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8872, ptr noundef @.str.2, i32 noundef %8873, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 297, ptr noundef %8876, ptr noundef %8879, ptr noundef %8882, i32 noundef %8884) #10
  br label %8903

8886:                                             ; preds = %8864, %8857
  %8887 = load i32, ptr %174, align 4, !tbaa !5
  %8888 = call ptr @__errno_location() #11
  store i32 %8887, ptr %8888, align 4, !tbaa !5
  %8889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8890 = load i32, ptr @test_count, align 4, !tbaa !5
  %8891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8892 = load i32, ptr %8891, align 4, !tbaa !5
  %8893 = call ptr @s2n_strerror(i32 noundef %8892, ptr noundef @.str.4)
  %8894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8895 = load i32, ptr %8894, align 4, !tbaa !5
  %8896 = call ptr @s2n_strerror_debug(i32 noundef %8895, ptr noundef @.str.4)
  %8897 = call ptr @__errno_location() #11
  %8898 = load i32, ptr %8897, align 4, !tbaa !5
  %8899 = call ptr @strerror(i32 noundef %8898) #10
  %8900 = call ptr @__errno_location() #11
  %8901 = load i32, ptr %8900, align 4, !tbaa !5
  %8902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8889, ptr noundef @.str.5, i32 noundef %8890, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 297, ptr noundef %8893, ptr noundef %8896, ptr noundef %8899, i32 noundef %8901) #10
  br label %8903

8903:                                             ; preds = %8886, %8869
  call void @llvm.lifetime.end.p0(i64 4, ptr %174) #10
  br label %8904

8904:                                             ; preds = %8903
  br label %8905

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

8906:                                             ; No predecessors!
  br label %8907

8907:                                             ; preds = %8906
  br label %8908

8908:                                             ; preds = %8907, %8849
  br label %8909

8909:                                             ; preds = %8908
  br label %8910

8910:                                             ; preds = %8909
  br label %8911

8911:                                             ; preds = %8910
  %8912 = load i32, ptr @test_count, align 4, !tbaa !5
  %8913 = add nsw i32 %8912, 1
  store i32 %8913, ptr @test_count, align 4, !tbaa !5
  %8914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8915 = load i32, ptr %8914, align 4, !tbaa !5
  %8916 = icmp eq i32 %8915, 469762107
  br i1 %8916, label %8970, label %8917

8917:                                             ; preds = %8911
  br label %8918

8918:                                             ; preds = %8917
  br label %8919

8919:                                             ; preds = %8918
  call void @llvm.lifetime.start.p0(i64 4, ptr %175) #10
  %8920 = call ptr @__errno_location() #11
  %8921 = load i32, ptr %8920, align 4, !tbaa !5
  store i32 %8921, ptr %175, align 4, !tbaa !5
  %8922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8923 = call i32 @s2n_print_stacktrace(ptr noundef %8922)
  %8924 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8925 = trunc i8 %8924 to i1
  br i1 %8925, label %8926, label %8948

8926:                                             ; preds = %8919
  %8927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8928 = call i32 @fileno(ptr noundef %8927) #10
  %8929 = call i32 @isatty(i32 noundef %8928) #10
  %8930 = icmp ne i32 %8929, 0
  br i1 %8930, label %8931, label %8948

8931:                                             ; preds = %8926
  %8932 = load i32, ptr %175, align 4, !tbaa !5
  %8933 = call ptr @__errno_location() #11
  store i32 %8932, ptr %8933, align 4, !tbaa !5
  %8934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8935 = load i32, ptr @test_count, align 4, !tbaa !5
  %8936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8937 = load i32, ptr %8936, align 4, !tbaa !5
  %8938 = call ptr @s2n_strerror(i32 noundef %8937, ptr noundef @.str.4)
  %8939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8940 = load i32, ptr %8939, align 4, !tbaa !5
  %8941 = call ptr @s2n_strerror_debug(i32 noundef %8940, ptr noundef @.str.4)
  %8942 = call ptr @__errno_location() #11
  %8943 = load i32, ptr %8942, align 4, !tbaa !5
  %8944 = call ptr @strerror(i32 noundef %8943) #10
  %8945 = call ptr @__errno_location() #11
  %8946 = load i32, ptr %8945, align 4, !tbaa !5
  %8947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8934, ptr noundef @.str.2, i32 noundef %8935, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 297, ptr noundef %8938, ptr noundef %8941, ptr noundef %8944, i32 noundef %8946) #10
  br label %8965

8948:                                             ; preds = %8926, %8919
  %8949 = load i32, ptr %175, align 4, !tbaa !5
  %8950 = call ptr @__errno_location() #11
  store i32 %8949, ptr %8950, align 4, !tbaa !5
  %8951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8952 = load i32, ptr @test_count, align 4, !tbaa !5
  %8953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8954 = load i32, ptr %8953, align 4, !tbaa !5
  %8955 = call ptr @s2n_strerror(i32 noundef %8954, ptr noundef @.str.4)
  %8956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8957 = load i32, ptr %8956, align 4, !tbaa !5
  %8958 = call ptr @s2n_strerror_debug(i32 noundef %8957, ptr noundef @.str.4)
  %8959 = call ptr @__errno_location() #11
  %8960 = load i32, ptr %8959, align 4, !tbaa !5
  %8961 = call ptr @strerror(i32 noundef %8960) #10
  %8962 = call ptr @__errno_location() #11
  %8963 = load i32, ptr %8962, align 4, !tbaa !5
  %8964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8951, ptr noundef @.str.5, i32 noundef %8952, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 297, ptr noundef %8955, ptr noundef %8958, ptr noundef %8961, i32 noundef %8963) #10
  br label %8965

8965:                                             ; preds = %8948, %8931
  call void @llvm.lifetime.end.p0(i64 4, ptr %175) #10
  br label %8966

8966:                                             ; preds = %8965
  br label %8967

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

8968:                                             ; No predecessors!
  br label %8969

8969:                                             ; preds = %8968
  br label %8970

8970:                                             ; preds = %8969, %8911
  br label %8971

8971:                                             ; preds = %8970
  br label %8972

8972:                                             ; preds = %8971
  br label %8973

8973:                                             ; preds = %8972
  %8974 = load i32, ptr @test_count, align 4, !tbaa !5
  %8975 = add nsw i32 %8974, 1
  store i32 %8975, ptr @test_count, align 4, !tbaa !5
  %8976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8977 = load i32, ptr %8976, align 4, !tbaa !5
  %8978 = call ptr @s2n_strerror_debug(i32 noundef %8977, ptr noundef @.str.4)
  %8979 = icmp eq ptr %8978, null
  br i1 %8979, label %8980, label %9033

8980:                                             ; preds = %8973
  br label %8981

8981:                                             ; preds = %8980
  br label %8982

8982:                                             ; preds = %8981
  call void @llvm.lifetime.start.p0(i64 4, ptr %176) #10
  %8983 = call ptr @__errno_location() #11
  %8984 = load i32, ptr %8983, align 4, !tbaa !5
  store i32 %8984, ptr %176, align 4, !tbaa !5
  %8985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8986 = call i32 @s2n_print_stacktrace(ptr noundef %8985)
  %8987 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8988 = trunc i8 %8987 to i1
  br i1 %8988, label %8989, label %9011

8989:                                             ; preds = %8982
  %8990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8991 = call i32 @fileno(ptr noundef %8990) #10
  %8992 = call i32 @isatty(i32 noundef %8991) #10
  %8993 = icmp ne i32 %8992, 0
  br i1 %8993, label %8994, label %9011

8994:                                             ; preds = %8989
  %8995 = load i32, ptr %176, align 4, !tbaa !5
  %8996 = call ptr @__errno_location() #11
  store i32 %8995, ptr %8996, align 4, !tbaa !5
  %8997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8998 = load i32, ptr @test_count, align 4, !tbaa !5
  %8999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9000 = load i32, ptr %8999, align 4, !tbaa !5
  %9001 = call ptr @s2n_strerror(i32 noundef %9000, ptr noundef @.str.4)
  %9002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9003 = load i32, ptr %9002, align 4, !tbaa !5
  %9004 = call ptr @s2n_strerror_debug(i32 noundef %9003, ptr noundef @.str.4)
  %9005 = call ptr @__errno_location() #11
  %9006 = load i32, ptr %9005, align 4, !tbaa !5
  %9007 = call ptr @strerror(i32 noundef %9006) #10
  %9008 = call ptr @__errno_location() #11
  %9009 = load i32, ptr %9008, align 4, !tbaa !5
  %9010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8997, ptr noundef @.str.2, i32 noundef %8998, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 297, ptr noundef %9001, ptr noundef %9004, ptr noundef %9007, i32 noundef %9009) #10
  br label %9028

9011:                                             ; preds = %8989, %8982
  %9012 = load i32, ptr %176, align 4, !tbaa !5
  %9013 = call ptr @__errno_location() #11
  store i32 %9012, ptr %9013, align 4, !tbaa !5
  %9014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9015 = load i32, ptr @test_count, align 4, !tbaa !5
  %9016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9017 = load i32, ptr %9016, align 4, !tbaa !5
  %9018 = call ptr @s2n_strerror(i32 noundef %9017, ptr noundef @.str.4)
  %9019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9020 = load i32, ptr %9019, align 4, !tbaa !5
  %9021 = call ptr @s2n_strerror_debug(i32 noundef %9020, ptr noundef @.str.4)
  %9022 = call ptr @__errno_location() #11
  %9023 = load i32, ptr %9022, align 4, !tbaa !5
  %9024 = call ptr @strerror(i32 noundef %9023) #10
  %9025 = call ptr @__errno_location() #11
  %9026 = load i32, ptr %9025, align 4, !tbaa !5
  %9027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9014, ptr noundef @.str.5, i32 noundef %9015, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 297, ptr noundef %9018, ptr noundef %9021, ptr noundef %9024, i32 noundef %9026) #10
  br label %9028

9028:                                             ; preds = %9011, %8994
  call void @llvm.lifetime.end.p0(i64 4, ptr %176) #10
  br label %9029

9029:                                             ; preds = %9028
  br label %9030

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

9031:                                             ; No predecessors!
  br label %9032

9032:                                             ; preds = %9031
  br label %9033

9033:                                             ; preds = %9032, %8973
  br label %9034

9034:                                             ; preds = %9033
  br label %9035

9035:                                             ; preds = %9034
  br label %9036

9036:                                             ; preds = %9035
  br label %9037

9037:                                             ; preds = %9036
  br label %9038

9038:                                             ; preds = %9037
  %9039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %9039, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %9040 = call ptr @__errno_location() #11
  store i32 0, ptr %9040, align 4, !tbaa !5
  br label %9041

9041:                                             ; preds = %9038
  br label %9042

9042:                                             ; preds = %9041
  br label %9043

9043:                                             ; preds = %9042
  br label %9044

9044:                                             ; preds = %9043
  br label %9045

9045:                                             ; preds = %9044
  %9046 = load i32, ptr @test_count, align 4, !tbaa !5
  %9047 = add nsw i32 %9046, 1
  store i32 %9047, ptr @test_count, align 4, !tbaa !5
  %9048 = load ptr, ptr %159, align 8, !tbaa !9
  %9049 = call i32 @s2n_connection_free(ptr noundef %9048)
  %9050 = icmp eq i32 %9049, -1
  br i1 %9050, label %9051, label %9104

9051:                                             ; preds = %9045
  br label %9052

9052:                                             ; preds = %9051
  br label %9053

9053:                                             ; preds = %9052
  call void @llvm.lifetime.start.p0(i64 4, ptr %177) #10
  %9054 = call ptr @__errno_location() #11
  %9055 = load i32, ptr %9054, align 4, !tbaa !5
  store i32 %9055, ptr %177, align 4, !tbaa !5
  %9056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9057 = call i32 @s2n_print_stacktrace(ptr noundef %9056)
  %9058 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9059 = trunc i8 %9058 to i1
  br i1 %9059, label %9060, label %9082

9060:                                             ; preds = %9053
  %9061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9062 = call i32 @fileno(ptr noundef %9061) #10
  %9063 = call i32 @isatty(i32 noundef %9062) #10
  %9064 = icmp ne i32 %9063, 0
  br i1 %9064, label %9065, label %9082

9065:                                             ; preds = %9060
  %9066 = load i32, ptr %177, align 4, !tbaa !5
  %9067 = call ptr @__errno_location() #11
  store i32 %9066, ptr %9067, align 4, !tbaa !5
  %9068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9069 = load i32, ptr @test_count, align 4, !tbaa !5
  %9070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9071 = load i32, ptr %9070, align 4, !tbaa !5
  %9072 = call ptr @s2n_strerror(i32 noundef %9071, ptr noundef @.str.4)
  %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_debug(i32 noundef %9074, ptr noundef @.str.4)
  %9076 = call ptr @__errno_location() #11
  %9077 = load i32, ptr %9076, align 4, !tbaa !5
  %9078 = call ptr @strerror(i32 noundef %9077) #10
  %9079 = call ptr @__errno_location() #11
  %9080 = load i32, ptr %9079, align 4, !tbaa !5
  %9081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9068, ptr noundef @.str.2, i32 noundef %9069, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 299, ptr noundef %9072, ptr noundef %9075, ptr noundef %9078, i32 noundef %9080) #10
  br label %9099

9082:                                             ; preds = %9060, %9053
  %9083 = load i32, ptr %177, align 4, !tbaa !5
  %9084 = call ptr @__errno_location() #11
  store i32 %9083, ptr %9084, align 4, !tbaa !5
  %9085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9086 = load i32, ptr @test_count, align 4, !tbaa !5
  %9087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9088 = load i32, ptr %9087, align 4, !tbaa !5
  %9089 = call ptr @s2n_strerror(i32 noundef %9088, ptr noundef @.str.4)
  %9090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9091 = load i32, ptr %9090, align 4, !tbaa !5
  %9092 = call ptr @s2n_strerror_debug(i32 noundef %9091, ptr noundef @.str.4)
  %9093 = call ptr @__errno_location() #11
  %9094 = load i32, ptr %9093, align 4, !tbaa !5
  %9095 = call ptr @strerror(i32 noundef %9094) #10
  %9096 = call ptr @__errno_location() #11
  %9097 = load i32, ptr %9096, align 4, !tbaa !5
  %9098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9085, ptr noundef @.str.5, i32 noundef %9086, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 299, ptr noundef %9089, ptr noundef %9092, ptr noundef %9095, i32 noundef %9097) #10
  br label %9099

9099:                                             ; preds = %9082, %9065
  call void @llvm.lifetime.end.p0(i64 4, ptr %177) #10
  br label %9100

9100:                                             ; preds = %9099
  br label %9101

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

9102:                                             ; No predecessors!
  br label %9103

9103:                                             ; preds = %9102
  br label %9104

9104:                                             ; preds = %9103, %9045
  br label %9105

9105:                                             ; preds = %9104
  br label %9106

9106:                                             ; preds = %9105
  br label %9107

9107:                                             ; preds = %9106
  %9108 = load i32, ptr @test_count, align 4, !tbaa !5
  %9109 = add nsw i32 %9108, 1
  store i32 %9109, ptr @test_count, align 4, !tbaa !5
  %9110 = load ptr, ptr %156, align 8, !tbaa !9
  %9111 = call i32 @s2n_config_free(ptr noundef %9110)
  %9112 = icmp eq i32 %9111, -1
  br i1 %9112, label %9113, label %9166

9113:                                             ; preds = %9107
  br label %9114

9114:                                             ; preds = %9113
  br label %9115

9115:                                             ; preds = %9114
  call void @llvm.lifetime.start.p0(i64 4, ptr %178) #10
  %9116 = call ptr @__errno_location() #11
  %9117 = load i32, ptr %9116, align 4, !tbaa !5
  store i32 %9117, ptr %178, align 4, !tbaa !5
  %9118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9119 = call i32 @s2n_print_stacktrace(ptr noundef %9118)
  %9120 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9121 = trunc i8 %9120 to i1
  br i1 %9121, label %9122, label %9144

9122:                                             ; preds = %9115
  %9123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9124 = call i32 @fileno(ptr noundef %9123) #10
  %9125 = call i32 @isatty(i32 noundef %9124) #10
  %9126 = icmp ne i32 %9125, 0
  br i1 %9126, label %9127, label %9144

9127:                                             ; preds = %9122
  %9128 = load i32, ptr %178, align 4, !tbaa !5
  %9129 = call ptr @__errno_location() #11
  store i32 %9128, ptr %9129, align 4, !tbaa !5
  %9130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9131 = load i32, ptr @test_count, align 4, !tbaa !5
  %9132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9133 = load i32, ptr %9132, align 4, !tbaa !5
  %9134 = call ptr @s2n_strerror(i32 noundef %9133, ptr noundef @.str.4)
  %9135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9136 = load i32, ptr %9135, align 4, !tbaa !5
  %9137 = call ptr @s2n_strerror_debug(i32 noundef %9136, ptr noundef @.str.4)
  %9138 = call ptr @__errno_location() #11
  %9139 = load i32, ptr %9138, align 4, !tbaa !5
  %9140 = call ptr @strerror(i32 noundef %9139) #10
  %9141 = call ptr @__errno_location() #11
  %9142 = load i32, ptr %9141, align 4, !tbaa !5
  %9143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9130, ptr noundef @.str.2, i32 noundef %9131, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 300, ptr noundef %9134, ptr noundef %9137, ptr noundef %9140, i32 noundef %9142) #10
  br label %9161

9144:                                             ; preds = %9122, %9115
  %9145 = load i32, ptr %178, align 4, !tbaa !5
  %9146 = call ptr @__errno_location() #11
  store i32 %9145, ptr %9146, align 4, !tbaa !5
  %9147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9148 = load i32, ptr @test_count, align 4, !tbaa !5
  %9149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9150 = load i32, ptr %9149, align 4, !tbaa !5
  %9151 = call ptr @s2n_strerror(i32 noundef %9150, ptr noundef @.str.4)
  %9152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9153 = load i32, ptr %9152, align 4, !tbaa !5
  %9154 = call ptr @s2n_strerror_debug(i32 noundef %9153, ptr noundef @.str.4)
  %9155 = call ptr @__errno_location() #11
  %9156 = load i32, ptr %9155, align 4, !tbaa !5
  %9157 = call ptr @strerror(i32 noundef %9156) #10
  %9158 = call ptr @__errno_location() #11
  %9159 = load i32, ptr %9158, align 4, !tbaa !5
  %9160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9147, ptr noundef @.str.5, i32 noundef %9148, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 300, ptr noundef %9151, ptr noundef %9154, ptr noundef %9157, i32 noundef %9159) #10
  br label %9161

9161:                                             ; preds = %9144, %9127
  call void @llvm.lifetime.end.p0(i64 4, ptr %178) #10
  br label %9162

9162:                                             ; preds = %9161
  br label %9163

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

9164:                                             ; No predecessors!
  br label %9165

9165:                                             ; preds = %9164
  br label %9166

9166:                                             ; preds = %9165, %9107
  br label %9167

9167:                                             ; preds = %9166
  br label %9168

9168:                                             ; preds = %9167
  call void @llvm.lifetime.end.p0(i64 4, ptr %164) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %163) #10
  call void @llvm.lifetime.end.p0(i64 10, ptr %162) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %159) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %156) #10
  br label %9169

9169:                                             ; preds = %9168
  br label %9170

9170:                                             ; preds = %9169
  %9171 = call i32 @s2n_cleanup()
  %9172 = icmp eq i32 %9171, -1
  br i1 %9172, label %9173, label %9224

9173:                                             ; preds = %9170
  br label %9174

9174:                                             ; preds = %9173
  br label %9175

9175:                                             ; preds = %9174
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #10
  %9176 = call ptr @__errno_location() #11
  %9177 = load i32, ptr %9176, align 4, !tbaa !5
  store i32 %9177, ptr %179, align 4, !tbaa !5
  %9178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9179 = call i32 @s2n_print_stacktrace(ptr noundef %9178)
  %9180 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9181 = trunc i8 %9180 to i1
  br i1 %9181, label %9182, label %9204

9182:                                             ; preds = %9175
  %9183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9184 = call i32 @fileno(ptr noundef %9183) #10
  %9185 = call i32 @isatty(i32 noundef %9184) #10
  %9186 = icmp ne i32 %9185, 0
  br i1 %9186, label %9187, label %9204

9187:                                             ; preds = %9182
  %9188 = load i32, ptr %179, align 4, !tbaa !5
  %9189 = call ptr @__errno_location() #11
  store i32 %9188, ptr %9189, align 4, !tbaa !5
  %9190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9191 = load i32, ptr @test_count, align 4, !tbaa !5
  %9192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9193 = load i32, ptr %9192, align 4, !tbaa !5
  %9194 = call ptr @s2n_strerror(i32 noundef %9193, ptr noundef @.str.4)
  %9195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9196 = load i32, ptr %9195, align 4, !tbaa !5
  %9197 = call ptr @s2n_strerror_debug(i32 noundef %9196, ptr noundef @.str.4)
  %9198 = call ptr @__errno_location() #11
  %9199 = load i32, ptr %9198, align 4, !tbaa !5
  %9200 = call ptr @strerror(i32 noundef %9199) #10
  %9201 = call ptr @__errno_location() #11
  %9202 = load i32, ptr %9201, align 4, !tbaa !5
  %9203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9190, ptr noundef @.str.2, i32 noundef %9191, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 303, ptr noundef %9194, ptr noundef %9197, ptr noundef %9200, i32 noundef %9202) #10
  br label %9221

9204:                                             ; preds = %9182, %9175
  %9205 = load i32, ptr %179, align 4, !tbaa !5
  %9206 = call ptr @__errno_location() #11
  store i32 %9205, ptr %9206, align 4, !tbaa !5
  %9207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9208 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %9210, ptr noundef @.str.4)
  %9212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9213 = load i32, ptr %9212, align 4, !tbaa !5
  %9214 = call ptr @s2n_strerror_debug(i32 noundef %9213, ptr noundef @.str.4)
  %9215 = call ptr @__errno_location() #11
  %9216 = load i32, ptr %9215, align 4, !tbaa !5
  %9217 = call ptr @strerror(i32 noundef %9216) #10
  %9218 = call ptr @__errno_location() #11
  %9219 = load i32, ptr %9218, align 4, !tbaa !5
  %9220 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9207, ptr noundef @.str.5, i32 noundef %9208, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 303, ptr noundef %9211, ptr noundef %9214, ptr noundef %9217, i32 noundef %9219) #10
  br label %9221

9221:                                             ; preds = %9204, %9187
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #10
  br label %9222

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

9223:                                             ; No predecessors!
  br label %9224

9224:                                             ; preds = %9223, %9170
  br label %9225

9225:                                             ; preds = %9224
  br label %9226

9226:                                             ; preds = %9225
  br label %9227

9227:                                             ; preds = %9226
  %9228 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %9229 = icmp eq i32 %9228, -1
  br i1 %9229, label %9230, label %9281

9230:                                             ; preds = %9227
  br label %9231

9231:                                             ; preds = %9230
  br label %9232

9232:                                             ; preds = %9231
  call void @llvm.lifetime.start.p0(i64 4, ptr %180) #10
  %9233 = call ptr @__errno_location() #11
  %9234 = load i32, ptr %9233, align 4, !tbaa !5
  store i32 %9234, ptr %180, align 4, !tbaa !5
  %9235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9236 = call i32 @s2n_print_stacktrace(ptr noundef %9235)
  %9237 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9238 = trunc i8 %9237 to i1
  br i1 %9238, label %9239, label %9261

9239:                                             ; preds = %9232
  %9240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9241 = call i32 @fileno(ptr noundef %9240) #10
  %9242 = call i32 @isatty(i32 noundef %9241) #10
  %9243 = icmp ne i32 %9242, 0
  br i1 %9243, label %9244, label %9261

9244:                                             ; preds = %9239
  %9245 = load i32, ptr %180, align 4, !tbaa !5
  %9246 = call ptr @__errno_location() #11
  store i32 %9245, ptr %9246, align 4, !tbaa !5
  %9247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9248 = load i32, ptr @test_count, align 4, !tbaa !5
  %9249 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9250 = load i32, ptr %9249, align 4, !tbaa !5
  %9251 = call ptr @s2n_strerror(i32 noundef %9250, ptr noundef @.str.4)
  %9252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9253 = load i32, ptr %9252, align 4, !tbaa !5
  %9254 = call ptr @s2n_strerror_debug(i32 noundef %9253, ptr noundef @.str.4)
  %9255 = call ptr @__errno_location() #11
  %9256 = load i32, ptr %9255, align 4, !tbaa !5
  %9257 = call ptr @strerror(i32 noundef %9256) #10
  %9258 = call ptr @__errno_location() #11
  %9259 = load i32, ptr %9258, align 4, !tbaa !5
  %9260 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9247, ptr noundef @.str.2, i32 noundef %9248, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 303, ptr noundef %9251, ptr noundef %9254, ptr noundef %9257, i32 noundef %9259) #10
  br label %9278

9261:                                             ; preds = %9239, %9232
  %9262 = load i32, ptr %180, align 4, !tbaa !5
  %9263 = call ptr @__errno_location() #11
  store i32 %9262, ptr %9263, align 4, !tbaa !5
  %9264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9265 = load i32, ptr @test_count, align 4, !tbaa !5
  %9266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9267 = load i32, ptr %9266, align 4, !tbaa !5
  %9268 = call ptr @s2n_strerror(i32 noundef %9267, ptr noundef @.str.4)
  %9269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9270 = load i32, ptr %9269, align 4, !tbaa !5
  %9271 = call ptr @s2n_strerror_debug(i32 noundef %9270, ptr noundef @.str.4)
  %9272 = call ptr @__errno_location() #11
  %9273 = load i32, ptr %9272, align 4, !tbaa !5
  %9274 = call ptr @strerror(i32 noundef %9273) #10
  %9275 = call ptr @__errno_location() #11
  %9276 = load i32, ptr %9275, align 4, !tbaa !5
  %9277 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9264, ptr noundef @.str.5, i32 noundef %9265, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 303, ptr noundef %9268, ptr noundef %9271, ptr noundef %9274, i32 noundef %9276) #10
  br label %9278

9278:                                             ; preds = %9261, %9244
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #10
  br label %9279

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

9280:                                             ; No predecessors!
  br label %9281

9281:                                             ; preds = %9280, %9227
  br label %9282

9282:                                             ; preds = %9281
  %9283 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9284 = trunc i8 %9283 to i1
  br i1 %9284, label %9285, label %9301

9285:                                             ; preds = %9282
  %9286 = load ptr, ptr @stdout, align 8, !tbaa !9
  %9287 = call i32 @fileno(ptr noundef %9286) #10
  %9288 = call i32 @isatty(i32 noundef %9287) #10
  %9289 = icmp ne i32 %9288, 0
  br i1 %9289, label %9290, label %9301

9290:                                             ; preds = %9285
  %9291 = load i32, ptr @test_count, align 4, !tbaa !5
  %9292 = icmp ne i32 %9291, 0
  br i1 %9292, label %9293, label %9297

9293:                                             ; preds = %9290
  %9294 = load ptr, ptr @stdout, align 8, !tbaa !9
  %9295 = load i32, ptr @test_count, align 4, !tbaa !5
  %9296 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9294, ptr noundef @.str.21, i32 noundef %9295) #10
  br label %9300

9297:                                             ; preds = %9290
  %9298 = load ptr, ptr @stdout, align 8, !tbaa !9
  %9299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9298, ptr noundef @.str.22) #10
  br label %9300

9300:                                             ; preds = %9297, %9293
  br label %9312

9301:                                             ; preds = %9285, %9282
  %9302 = load i32, ptr @test_count, align 4, !tbaa !5
  %9303 = icmp ne i32 %9302, 0
  br i1 %9303, label %9304, label %9308

9304:                                             ; preds = %9301
  %9305 = load ptr, ptr @stdout, align 8, !tbaa !9
  %9306 = load i32, ptr @test_count, align 4, !tbaa !5
  %9307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9305, ptr noundef @.str.23, i32 noundef %9306) #10
  br label %9311

9308:                                             ; preds = %9301
  %9309 = load ptr, ptr @stdout, align 8, !tbaa !9
  %9310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9309, ptr noundef @.str.24) #10
  br label %9311

9311:                                             ; preds = %9308, %9304
  br label %9312

9312:                                             ; preds = %9311, %9300
  store i32 0, ptr %3, align 4
  br label %9314

9313:                                             ; No predecessors!
  br label %9314

9314:                                             ; preds = %9313, %9312, %1350
  %9315 = load i32, ptr %3, align 4
  ret i32 %9315

9316:                                             ; preds = %1350
  unreachable
}

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

declare i32 @fflush(ptr noundef) #2

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #2

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

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

declare i32 @s2n_print_stacktrace(ptr noundef) #2

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

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

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

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

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

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

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

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

declare i32 @s2n_enable_atexit() #2

declare i32 @s2n_init() #2

declare zeroext i1 @s2n_is_tls13_fully_supported(...) #2

declare ptr @s2n_config_new() #2

declare i32 @s2n_config_enable_quic(ptr noundef) #2

declare ptr @s2n_connection_new(i32 noundef) #2

declare i32 @s2n_connection_enable_quic(ptr noundef) #2

declare void @s2n_debug_info_reset() #2

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

declare i32 @s2n_connection_free(ptr noundef) #2

declare i32 @s2n_config_free(ptr noundef) #2

declare i32 @s2n_cleanup() #2

declare zeroext i1 @s2n_connection_is_quic_enabled(ptr noundef) #2

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #7

declare i32 @s2n_connection_set_quic_transport_parameters(ptr noundef, ptr noundef, i16 noundef zeroext) #2

; Function Attrs: nounwind willreturn memory(read)
declare i32 @memcmp(ptr noundef, ptr noundef, i64 noundef) #8

; 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) #9

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

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

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memmove.p0.p0.i64(ptr nocapture writeonly, ptr nocapture readonly, i64, i1 immarg) #9

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

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_test_noop_secret_handler(ptr noundef, ptr noundef, i32 noundef, ptr noundef, i8 noundef zeroext) #0

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

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

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

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

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #6 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #8 = { nounwind willreturn memory(read) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #9 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #10 = { nounwind }
attributes #11 = { nounwind willreturn memory(none) }
attributes #12 = { noreturn nounwind }
attributes #13 = { nounwind willreturn memory(read) }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !10, i64 8}
!16 = !{!"s2n_connection", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !7, i64 80, !7, i64 102, !7, i64 124, !6, i64 148, !6, i64 152, !17, i64 160, !18, i64 168, !18, i64 176, !7, i64 184, !7, i64 216, !7, i64 217, !7, i64 218, !7, i64 219, !7, i64 220, !7, i64 221, !7, i64 222, !10, i64 224, !10, i64 232, !19, i64 240, !10, i64 632, !10, i64 640, !20, i64 648, !26, i64 1144, !29, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !32, i64 1776, !32, i64 1816, !32, i64 1856, !32, i64 1896, !6, i64 1936, !18, i64 1944, !7, i64 1952, !32, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !33, i64 2004, !33, i64 2008, !34, i64 2016, !31, i64 2208, !6, i64 2212, !31, i64 2216, !18, i64 2224, !7, i64 2232, !18, i64 2240, !18, i64 2248, !18, i64 2256, !33, i64 2264, !33, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !25, i64 2792, !6, i64 2816, !25, i64 2824, !25, i64 2848, !25, i64 2872, !36, i64 2896, !38, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !25, i64 3784, !6, i64 3808, !40, i64 3816, !7, i64 3848, !32, i64 3992, !25, i64 4032, !25, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !31, i64 4084, !31, i64 4086, !6, i64 4088, !6, i64 4092, !25, i64 4096, !6, i64 4120, !41, i64 4128, !33, i64 4176, !7, i64 4180, !7, i64 4181}
!17 = !{!"s2n_timer", !18, i64 0}
!18 = !{!"long", !7, i64 0}
!19 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!20 = !{!"s2n_kex_parameters", !21, i64 0, !22, i64 8, !7, i64 24, !22, i64 56, !23, i64 72, !23, i64 184, !7, i64 296, !24, i64 360, !25, i64 448, !25, i64 472}
!21 = !{!"s2n_dh_params", !10, i64 0}
!22 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!23 = !{!"s2n_kem_group_params", !10, i64 0, !24, i64 8, !22, i64 96}
!24 = !{!"s2n_kem_params", !10, i64 0, !25, i64 8, !25, i64 32, !25, i64 56, !12, i64 80}
!25 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!26 = !{!"s2n_handshake_parameters", !27, i64 0, !27, i64 48, !25, i64 96, !6, i64 120, !28, i64 124, !10, i64 384, !10, i64 392, !10, i64 400, !7, i64 408, !7, i64 440, !7, i64 472, !7, i64 473, !7, i64 474, !7, i64 506}
!27 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!28 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!29 = !{!"s2n_psk_parameters", !6, i64 0, !30, i64 8, !31, i64 40, !31, i64 42, !10, i64 48, !6, i64 56}
!30 = !{!"s2n_array", !25, i64 0, !6, i64 24, !6, i64 28}
!31 = !{!"short", !7, i64 0}
!32 = !{!"s2n_stuffer", !25, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!33 = !{!"", !6, i64 0}
!34 = !{!"s2n_handshake", !32, i64 0, !10, i64 40, !7, i64 48, !7, i64 56, !7, i64 104, !7, i64 152, !6, i64 156, !6, i64 160, !6, i64 164, !6, i64 168, !35, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!35 = !{!"s2n_offered_early_data", !10, i64 0}
!36 = !{!"s2n_client_hello", !25, i64 0, !37, i64 24, !25, i64 728, !25, i64 752, !25, i64 776, !7, i64 800, !7, i64 801, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802}
!37 = !{!"", !7, i64 0, !25, i64 672, !31, i64 696}
!38 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !31, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !39, i64 48, !12, i64 52}
!39 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!40 = !{!"s2n_ticket_fields", !25, i64 0, !6, i64 24}
!41 = !{!"s2n_post_handshake", !32, i64 0, !7, i64 40}
!42 = !{!16, !6, i64 2856}
!43 = !{!16, !10, i64 2848}
!44 = !{!31, !31, i64 0}
!45 = !{!18, !18, i64 0}
!46 = !{!16, !10, i64 2872}
!47 = !{!16, !6, i64 2880}
!48 = !{!7, !7, i64 0}
!49 = !{!16, !10, i64 32}
!50 = !{!16, !10, i64 40}
!51 = !{!52, !10, i64 0}
!52 = !{!"iovec", !10, i64 0, !18, i64 8}
!53 = !{!52, !18, i64 8}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%struct.s2n_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.iovec = type { ptr, i64 }

@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 [80 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 [41 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [57 x i8], align 1
@TEST_DATA = external hidden constant [5 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [112 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [109 x i8], align 1
@__const.main.other_data = external hidden unnamed_addr constant [17 x i8], align 16
@.str.47 = external hidden unnamed_addr constant [111 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [111 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [117 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [111 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [91 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 %struct.s2n_connection, align 8
  %4 = alloca [17 x i8], align 16
  %5 = alloca %struct.s2n_connection, align 8
  %6 = alloca ptr, align 8
  %7 = alloca i16, align 2
  %8 = alloca ptr, align 8
  %9 = alloca i16, align 2
  %10 = alloca ptr, align 8
  %11 = alloca i16, align 2
  %12 = alloca i8, align 1
  %13 = alloca [10 x i8], align 1
  %14 = alloca %struct.iovec, align 8
  %15 = alloca i32, align 4
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %16 = load ptr, ptr @stdout, align 8, !tbaa !9
  %17 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16, ptr noundef nonnull @.str, ptr noundef nonnull @.str.1) #11
  %18 = load ptr, ptr @stdout, align 8, !tbaa !9
  %19 = tail call i32 @fflush(ptr noundef %18)
  %20 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #11
  %21 = icmp eq i32 %20, -1
  br i1 %21, label %22, label %46

22:                                               ; preds = %2
  %23 = tail call ptr @__errno_location() #12
  %24 = load i32, ptr %23, align 4, !tbaa !5
  %25 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26 = tail call i32 @s2n_print_stacktrace(ptr noundef %25) #11
  %27 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28 = trunc nuw i8 %27 to i1
  br i1 %28, label %29, label %33

29:                                               ; preds = %22
  %30 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31 = tail call i32 @fileno(ptr noundef %30) #11
  %32 = tail call i32 @isatty(i32 noundef %31) #11
  %.not558 = icmp eq i32 %32, 0
  br i1 %.not558, label %33, label %34

33:                                               ; preds = %29, %22
  br label %34

34:                                               ; preds = %29, %33
  %.str.5.sink = phi ptr [ @.str.5, %33 ], [ @.str.2, %29 ]
  store i32 %24, ptr %23, align 4, !tbaa !5
  %35 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36 = load i32, ptr @test_count, align 4, !tbaa !5
  %37 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %38 = load i32, ptr %37, align 4, !tbaa !5
  %39 = tail call ptr @s2n_strerror(i32 noundef %38, ptr noundef nonnull @.str.4) #11
  %40 = load i32, ptr %37, align 4, !tbaa !5
  %41 = tail call ptr @s2n_strerror_debug(i32 noundef %40, ptr noundef nonnull @.str.4) #11
  %42 = load i32, ptr %23, align 4, !tbaa !5
  %43 = tail call ptr @strerror(i32 noundef %42) #11
  %44 = load i32, ptr %23, align 4, !tbaa !5
  %45 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35, ptr noundef nonnull %.str.5.sink, i32 noundef %36, ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.1, i32 noundef 31, ptr noundef %39, ptr noundef %41, ptr noundef %43, i32 noundef %44) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

46:                                               ; preds = %2
  %47 = load i32, ptr @test_count, align 4, !tbaa !5
  %48 = add nsw i32 %47, 1
  store i32 %48, ptr @test_count, align 4, !tbaa !5
  %49 = tail call i32 @s2n_enable_atexit() #11
  %50 = icmp eq i32 %49, -1
  br i1 %50, label %51, label %75

51:                                               ; preds = %46
  %52 = tail call ptr @__errno_location() #12
  %53 = load i32, ptr %52, align 4, !tbaa !5
  %54 = load ptr, ptr @stderr, align 8, !tbaa !9
  %55 = tail call i32 @s2n_print_stacktrace(ptr noundef %54) #11
  %56 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %57 = trunc nuw i8 %56 to i1
  br i1 %57, label %58, label %62

58:                                               ; preds = %51
  %59 = load ptr, ptr @stderr, align 8, !tbaa !9
  %60 = tail call i32 @fileno(ptr noundef %59) #11
  %61 = tail call i32 @isatty(i32 noundef %60) #11
  %.not557 = icmp eq i32 %61, 0
  br i1 %.not557, label %62, label %63

62:                                               ; preds = %58, %51
  br label %63

63:                                               ; preds = %58, %62
  %.str.5.sink569 = phi ptr [ @.str.5, %62 ], [ @.str.2, %58 ]
  store i32 %53, ptr %52, align 4, !tbaa !5
  %64 = load ptr, ptr @stderr, align 8, !tbaa !9
  %65 = load i32, ptr @test_count, align 4, !tbaa !5
  %66 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %67 = load i32, ptr %66, align 4, !tbaa !5
  %68 = tail call ptr @s2n_strerror(i32 noundef %67, ptr noundef nonnull @.str.4) #11
  %69 = load i32, ptr %66, align 4, !tbaa !5
  %70 = tail call ptr @s2n_strerror_debug(i32 noundef %69, ptr noundef nonnull @.str.4) #11
  %71 = load i32, ptr %52, align 4, !tbaa !5
  %72 = tail call ptr @strerror(i32 noundef %71) #11
  %73 = load i32, ptr %52, align 4, !tbaa !5
  %74 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %64, ptr noundef nonnull %.str.5.sink569, i32 noundef %65, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.1, i32 noundef 31, ptr noundef %68, ptr noundef %70, ptr noundef %72, i32 noundef %73) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

75:                                               ; preds = %46
  %76 = tail call i32 @s2n_init() #11
  %77 = icmp eq i32 %76, -1
  br i1 %77, label %78, label %102

78:                                               ; preds = %75
  %79 = tail call ptr @__errno_location() #12
  %80 = load i32, ptr %79, align 4, !tbaa !5
  %81 = load ptr, ptr @stderr, align 8, !tbaa !9
  %82 = tail call i32 @s2n_print_stacktrace(ptr noundef %81) #11
  %83 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %84 = trunc nuw i8 %83 to i1
  br i1 %84, label %85, label %89

85:                                               ; preds = %78
  %86 = load ptr, ptr @stderr, align 8, !tbaa !9
  %87 = tail call i32 @fileno(ptr noundef %86) #11
  %88 = tail call i32 @isatty(i32 noundef %87) #11
  %.not556 = icmp eq i32 %88, 0
  br i1 %.not556, label %89, label %90

89:                                               ; preds = %85, %78
  br label %90

90:                                               ; preds = %85, %89
  %.str.5.sink580 = phi ptr [ @.str.5, %89 ], [ @.str.2, %85 ]
  store i32 %80, ptr %79, align 4, !tbaa !5
  %91 = load ptr, ptr @stderr, align 8, !tbaa !9
  %92 = load i32, ptr @test_count, align 4, !tbaa !5
  %93 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %94 = load i32, ptr %93, align 4, !tbaa !5
  %95 = tail call ptr @s2n_strerror(i32 noundef %94, ptr noundef nonnull @.str.4) #11
  %96 = load i32, ptr %93, align 4, !tbaa !5
  %97 = tail call ptr @s2n_strerror_debug(i32 noundef %96, ptr noundef nonnull @.str.4) #11
  %98 = load i32, ptr %79, align 4, !tbaa !5
  %99 = tail call ptr @strerror(i32 noundef %98) #11
  %100 = load i32, ptr %79, align 4, !tbaa !5
  %101 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %91, ptr noundef nonnull %.str.5.sink580, i32 noundef %92, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.1, i32 noundef 31, ptr noundef %95, ptr noundef %97, ptr noundef %99, i32 noundef %100) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

102:                                              ; preds = %75
  %103 = tail call zeroext i1 (...) @s2n_is_tls13_fully_supported() #11
  %104 = tail call ptr @s2n_config_new() #11
  %105 = load i32, ptr @test_count, align 4, !tbaa !5
  %106 = add nsw i32 %105, 1
  store i32 %106, ptr @test_count, align 4, !tbaa !5
  %107 = icmp eq ptr %104, null
  br i1 %103, label %533, label %108

108:                                              ; preds = %102
  br i1 %107, label %109, label %133

109:                                              ; preds = %108
  %110 = tail call ptr @__errno_location() #12
  %111 = load i32, ptr %110, align 4, !tbaa !5
  %112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %113 = tail call i32 @s2n_print_stacktrace(ptr noundef %112) #11
  %114 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %115 = trunc nuw i8 %114 to i1
  br i1 %115, label %116, label %120

116:                                              ; preds = %109
  %117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %118 = tail call i32 @fileno(ptr noundef %117) #11
  %119 = tail call i32 @isatty(i32 noundef %118) #11
  %.not421 = icmp eq i32 %119, 0
  br i1 %.not421, label %120, label %121

120:                                              ; preds = %116, %109
  br label %121

121:                                              ; preds = %116, %120
  %.str.5.sink591 = phi ptr [ @.str.5, %120 ], [ @.str.2, %116 ]
  store i32 %111, ptr %110, align 4, !tbaa !5
  %122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %123 = load i32, ptr @test_count, align 4, !tbaa !5
  %124 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %125 = load i32, ptr %124, align 4, !tbaa !5
  %126 = tail call ptr @s2n_strerror(i32 noundef %125, ptr noundef nonnull @.str.4) #11
  %127 = load i32, ptr %124, align 4, !tbaa !5
  %128 = tail call ptr @s2n_strerror_debug(i32 noundef %127, ptr noundef nonnull @.str.4) #11
  %129 = load i32, ptr %110, align 4, !tbaa !5
  %130 = tail call ptr @strerror(i32 noundef %129) #11
  %131 = load i32, ptr %110, align 4, !tbaa !5
  %132 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %122, ptr noundef nonnull %.str.5.sink591, i32 noundef %123, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 36, ptr noundef %126, ptr noundef %128, ptr noundef %130, i32 noundef %131) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

133:                                              ; preds = %108
  %134 = add nsw i32 %105, 2
  store i32 %134, ptr @test_count, align 4, !tbaa !5
  %135 = tail call i32 @s2n_config_enable_quic(ptr noundef nonnull %104) #11
  %136 = icmp eq i32 %135, -1
  br i1 %136, label %137, label %161

137:                                              ; preds = %133
  %138 = tail call ptr @__errno_location() #12
  %139 = load i32, ptr %138, align 4, !tbaa !5
  %140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %141 = tail call i32 @s2n_print_stacktrace(ptr noundef %140) #11
  %142 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %143 = trunc nuw i8 %142 to i1
  br i1 %143, label %144, label %148

144:                                              ; preds = %137
  %145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %146 = tail call i32 @fileno(ptr noundef %145) #11
  %147 = tail call i32 @isatty(i32 noundef %146) #11
  %.not420 = icmp eq i32 %147, 0
  br i1 %.not420, label %148, label %149

148:                                              ; preds = %144, %137
  br label %149

149:                                              ; preds = %144, %148
  %.str.5.sink602 = phi ptr [ @.str.5, %148 ], [ @.str.2, %144 ]
  store i32 %139, ptr %138, align 4, !tbaa !5
  %150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %151 = load i32, ptr @test_count, align 4, !tbaa !5
  %152 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %153 = load i32, ptr %152, align 4, !tbaa !5
  %154 = tail call ptr @s2n_strerror(i32 noundef %153, ptr noundef nonnull @.str.4) #11
  %155 = load i32, ptr %152, align 4, !tbaa !5
  %156 = tail call ptr @s2n_strerror_debug(i32 noundef %155, ptr noundef nonnull @.str.4) #11
  %157 = load i32, ptr %138, align 4, !tbaa !5
  %158 = tail call ptr @strerror(i32 noundef %157) #11
  %159 = load i32, ptr %138, align 4, !tbaa !5
  %160 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %150, ptr noundef nonnull %.str.5.sink602, i32 noundef %151, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 37, ptr noundef %154, ptr noundef %156, ptr noundef %158, i32 noundef %159) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

161:                                              ; preds = %133
  %162 = tail call ptr @s2n_connection_new(i32 noundef 1) #11
  %163 = load i32, ptr @test_count, align 4, !tbaa !5
  %164 = add nsw i32 %163, 1
  store i32 %164, ptr @test_count, align 4, !tbaa !5
  %165 = icmp eq ptr %162, null
  br i1 %165, label %166, label %190

166:                                              ; preds = %161
  %167 = tail call ptr @__errno_location() #12
  %168 = load i32, ptr %167, align 4, !tbaa !5
  %169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %170 = tail call i32 @s2n_print_stacktrace(ptr noundef %169) #11
  %171 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %172 = trunc nuw i8 %171 to i1
  br i1 %172, label %173, label %177

173:                                              ; preds = %166
  %174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %175 = tail call i32 @fileno(ptr noundef %174) #11
  %176 = tail call i32 @isatty(i32 noundef %175) #11
  %.not419 = icmp eq i32 %176, 0
  br i1 %.not419, label %177, label %178

177:                                              ; preds = %173, %166
  br label %178

178:                                              ; preds = %173, %177
  %.str.5.sink613 = phi ptr [ @.str.5, %177 ], [ @.str.2, %173 ]
  store i32 %168, ptr %167, align 4, !tbaa !5
  %179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %180 = load i32, ptr @test_count, align 4, !tbaa !5
  %181 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %182 = load i32, ptr %181, align 4, !tbaa !5
  %183 = tail call ptr @s2n_strerror(i32 noundef %182, ptr noundef nonnull @.str.4) #11
  %184 = load i32, ptr %181, align 4, !tbaa !5
  %185 = tail call ptr @s2n_strerror_debug(i32 noundef %184, ptr noundef nonnull @.str.4) #11
  %186 = load i32, ptr %167, align 4, !tbaa !5
  %187 = tail call ptr @strerror(i32 noundef %186) #11
  %188 = load i32, ptr %167, align 4, !tbaa !5
  %189 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %179, ptr noundef nonnull %.str.5.sink613, i32 noundef %180, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 40, ptr noundef %183, ptr noundef %185, ptr noundef %187, i32 noundef %188) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

190:                                              ; preds = %161
  %191 = add nsw i32 %163, 2
  store i32 %191, ptr @test_count, align 4, !tbaa !5
  %192 = tail call i32 @s2n_connection_enable_quic(ptr noundef nonnull %162) #11
  %193 = icmp eq i32 %192, -1
  br i1 %193, label %218, label %194

194:                                              ; preds = %190
  %195 = tail call ptr @__errno_location() #12
  %196 = load i32, ptr %195, align 4, !tbaa !5
  %197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %198 = tail call i32 @s2n_print_stacktrace(ptr noundef %197) #11
  %199 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %200 = trunc nuw i8 %199 to i1
  br i1 %200, label %201, label %205

201:                                              ; preds = %194
  %202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %203 = tail call i32 @fileno(ptr noundef %202) #11
  %204 = tail call i32 @isatty(i32 noundef %203) #11
  %.not = icmp eq i32 %204, 0
  br i1 %.not, label %205, label %206

205:                                              ; preds = %201, %194
  br label %206

206:                                              ; preds = %201, %205
  %.str.5.sink624 = phi ptr [ @.str.5, %205 ], [ @.str.2, %201 ]
  store i32 %196, ptr %195, align 4, !tbaa !5
  %207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %208 = load i32, ptr @test_count, align 4, !tbaa !5
  %209 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %210 = load i32, ptr %209, align 4, !tbaa !5
  %211 = tail call ptr @s2n_strerror(i32 noundef %210, ptr noundef nonnull @.str.4) #11
  %212 = load i32, ptr %209, align 4, !tbaa !5
  %213 = tail call ptr @s2n_strerror_debug(i32 noundef %212, ptr noundef nonnull @.str.4) #11
  %214 = load i32, ptr %195, align 4, !tbaa !5
  %215 = tail call ptr @strerror(i32 noundef %214) #11
  %216 = load i32, ptr %195, align 4, !tbaa !5
  %217 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %207, ptr noundef nonnull %.str.5.sink624, i32 noundef %208, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 42, ptr noundef %211, ptr noundef %213, ptr noundef %215, i32 noundef %216) #13
  tail call void @exit(i32 noundef 1) #14
  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 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %222 = load i32, ptr %221, align 4, !tbaa !5
  %223 = icmp eq i32 %222, 469762098
  br i1 %223, label %247, label %224

224:                                              ; preds = %218
  %225 = tail call ptr @__errno_location() #12
  %226 = load i32, ptr %225, align 4, !tbaa !5
  %227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %228 = tail call i32 @s2n_print_stacktrace(ptr noundef %227) #11
  %229 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %230 = trunc nuw i8 %229 to i1
  br i1 %230, label %231, label %235

231:                                              ; preds = %224
  %232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %233 = tail call i32 @fileno(ptr noundef %232) #11
  %234 = tail call i32 @isatty(i32 noundef %233) #11
  %.not404 = icmp eq i32 %234, 0
  br i1 %.not404, label %235, label %236

235:                                              ; preds = %231, %224
  br label %236

236:                                              ; preds = %231, %235
  %.str.5.sink635 = phi ptr [ @.str.5, %235 ], [ @.str.2, %231 ]
  store i32 %226, ptr %225, align 4, !tbaa !5
  %237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %238 = load i32, ptr @test_count, align 4, !tbaa !5
  %239 = load i32, ptr %221, align 4, !tbaa !5
  %240 = tail call ptr @s2n_strerror(i32 noundef %239, ptr noundef nonnull @.str.4) #11
  %241 = load i32, ptr %221, align 4, !tbaa !5
  %242 = tail call ptr @s2n_strerror_debug(i32 noundef %241, ptr noundef nonnull @.str.4) #11
  %243 = load i32, ptr %225, align 4, !tbaa !5
  %244 = tail call ptr @strerror(i32 noundef %243) #11
  %245 = load i32, ptr %225, align 4, !tbaa !5
  %246 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %237, ptr noundef nonnull %.str.5.sink635, i32 noundef %238, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 42, ptr noundef %240, ptr noundef %242, ptr noundef %244, i32 noundef %245) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

247:                                              ; preds = %218
  %248 = add nsw i32 %219, 2
  store i32 %248, ptr @test_count, align 4, !tbaa !5
  %249 = tail call ptr @s2n_strerror_debug(i32 noundef 469762098, ptr noundef nonnull @.str.4) #11
  %250 = icmp eq ptr %249, null
  br i1 %250, label %251, label %274

251:                                              ; preds = %247
  %252 = tail call ptr @__errno_location() #12
  %253 = load i32, ptr %252, align 4, !tbaa !5
  %254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %255 = tail call i32 @s2n_print_stacktrace(ptr noundef %254) #11
  %256 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %257 = trunc nuw i8 %256 to i1
  br i1 %257, label %258, label %262

258:                                              ; preds = %251
  %259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %260 = tail call i32 @fileno(ptr noundef %259) #11
  %261 = tail call i32 @isatty(i32 noundef %260) #11
  %.not418 = icmp eq i32 %261, 0
  br i1 %.not418, label %262, label %263

262:                                              ; preds = %258, %251
  br label %263

263:                                              ; preds = %258, %262
  %.str.5.sink644 = phi ptr [ @.str.5, %262 ], [ @.str.2, %258 ]
  store i32 %253, ptr %252, align 4, !tbaa !5
  %264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %265 = load i32, ptr @test_count, align 4, !tbaa !5
  %266 = load i32, ptr %221, align 4, !tbaa !5
  %267 = tail call ptr @s2n_strerror(i32 noundef %266, ptr noundef nonnull @.str.4) #11
  %268 = load i32, ptr %221, align 4, !tbaa !5
  %269 = tail call ptr @s2n_strerror_debug(i32 noundef %268, ptr noundef nonnull @.str.4) #11
  %270 = load i32, ptr %252, align 4, !tbaa !5
  %271 = tail call ptr @strerror(i32 noundef %270) #11
  %272 = load i32, ptr %252, align 4, !tbaa !5
  %273 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %264, ptr noundef nonnull %.str.5.sink644, i32 noundef %265, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 42, ptr noundef %267, ptr noundef %269, ptr noundef %271, i32 noundef %272) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

274:                                              ; preds = %247
  store i32 0, ptr %221, align 4, !tbaa !5
  tail call void @s2n_debug_info_reset() #11
  %275 = tail call ptr @__errno_location() #12
  store i32 0, ptr %275, align 4, !tbaa !5
  %276 = load i32, ptr @test_count, align 4, !tbaa !5
  %277 = add nsw i32 %276, 1
  store i32 %277, ptr @test_count, align 4, !tbaa !5
  %278 = load i32, ptr %162, align 8
  %279 = and i32 %278, 4
  %.not405 = icmp eq i32 %279, 0
  br i1 %.not405, label %302, label %280

280:                                              ; preds = %274
  %281 = load i32, ptr %275, align 4, !tbaa !5
  %282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %283 = tail call i32 @s2n_print_stacktrace(ptr noundef %282) #11
  %284 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %285 = trunc nuw i8 %284 to i1
  br i1 %285, label %286, label %290

286:                                              ; preds = %280
  %287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %288 = tail call i32 @fileno(ptr noundef %287) #11
  %289 = tail call i32 @isatty(i32 noundef %288) #11
  %.not417 = icmp eq i32 %289, 0
  br i1 %.not417, label %290, label %291

290:                                              ; preds = %286, %280
  br label %291

291:                                              ; preds = %286, %290
  %.str.5.sink653 = phi ptr [ @.str.5, %290 ], [ @.str.2, %286 ]
  store i32 %281, ptr %275, align 4, !tbaa !5
  %292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %293 = load i32, ptr @test_count, align 4, !tbaa !5
  %294 = load i32, ptr %221, align 4, !tbaa !5
  %295 = tail call ptr @s2n_strerror(i32 noundef %294, ptr noundef nonnull @.str.4) #11
  %296 = load i32, ptr %221, align 4, !tbaa !5
  %297 = tail call ptr @s2n_strerror_debug(i32 noundef %296, ptr noundef nonnull @.str.4) #11
  %298 = load i32, ptr %275, align 4, !tbaa !5
  %299 = tail call ptr @strerror(i32 noundef %298) #11
  %300 = load i32, ptr %275, align 4, !tbaa !5
  %301 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %292, ptr noundef nonnull %.str.5.sink653, i32 noundef %293, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 43, ptr noundef %295, ptr noundef %297, ptr noundef %299, i32 noundef %300) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

302:                                              ; preds = %274
  %303 = add nsw i32 %276, 2
  store i32 %303, ptr @test_count, align 4, !tbaa !5
  %304 = tail call i32 @s2n_connection_set_config(ptr noundef nonnull %162, ptr noundef nonnull %104) #11
  %305 = icmp eq i32 %304, -1
  br i1 %305, label %328, label %306

306:                                              ; preds = %302
  %307 = load i32, ptr %275, align 4, !tbaa !5
  %308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %309 = tail call i32 @s2n_print_stacktrace(ptr noundef %308) #11
  %310 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %311 = trunc nuw i8 %310 to i1
  br i1 %311, label %312, label %316

312:                                              ; preds = %306
  %313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %314 = tail call i32 @fileno(ptr noundef %313) #11
  %315 = tail call i32 @isatty(i32 noundef %314) #11
  %.not406 = icmp eq i32 %315, 0
  br i1 %.not406, label %316, label %317

316:                                              ; preds = %312, %306
  br label %317

317:                                              ; preds = %312, %316
  %.str.5.sink662 = phi ptr [ @.str.5, %316 ], [ @.str.2, %312 ]
  store i32 %307, ptr %275, align 4, !tbaa !5
  %318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %319 = load i32, ptr @test_count, align 4, !tbaa !5
  %320 = load i32, ptr %221, align 4, !tbaa !5
  %321 = tail call ptr @s2n_strerror(i32 noundef %320, ptr noundef nonnull @.str.4) #11
  %322 = load i32, ptr %221, align 4, !tbaa !5
  %323 = tail call ptr @s2n_strerror_debug(i32 noundef %322, ptr noundef nonnull @.str.4) #11
  %324 = load i32, ptr %275, align 4, !tbaa !5
  %325 = tail call ptr @strerror(i32 noundef %324) #11
  %326 = load i32, ptr %275, align 4, !tbaa !5
  %327 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %318, ptr noundef nonnull %.str.5.sink662, i32 noundef %319, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 45, ptr noundef %321, ptr noundef %323, ptr noundef %325, i32 noundef %326) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

328:                                              ; preds = %302
  %329 = load i32, ptr @test_count, align 4, !tbaa !5
  %330 = add nsw i32 %329, 1
  store i32 %330, ptr @test_count, align 4, !tbaa !5
  %331 = load i32, ptr %221, align 4, !tbaa !5
  %332 = icmp eq i32 %331, 469762098
  br i1 %332, label %355, label %333

333:                                              ; preds = %328
  %334 = load i32, ptr %275, align 4, !tbaa !5
  %335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %336 = tail call i32 @s2n_print_stacktrace(ptr noundef %335) #11
  %337 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %338 = trunc nuw i8 %337 to i1
  br i1 %338, label %339, label %343

339:                                              ; preds = %333
  %340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %341 = tail call i32 @fileno(ptr noundef %340) #11
  %342 = tail call i32 @isatty(i32 noundef %341) #11
  %.not407 = icmp eq i32 %342, 0
  br i1 %.not407, label %343, label %344

343:                                              ; preds = %339, %333
  br label %344

344:                                              ; preds = %339, %343
  %.str.5.sink671 = phi ptr [ @.str.5, %343 ], [ @.str.2, %339 ]
  store i32 %334, ptr %275, align 4, !tbaa !5
  %345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %346 = load i32, ptr @test_count, align 4, !tbaa !5
  %347 = load i32, ptr %221, align 4, !tbaa !5
  %348 = tail call ptr @s2n_strerror(i32 noundef %347, ptr noundef nonnull @.str.4) #11
  %349 = load i32, ptr %221, align 4, !tbaa !5
  %350 = tail call ptr @s2n_strerror_debug(i32 noundef %349, ptr noundef nonnull @.str.4) #11
  %351 = load i32, ptr %275, align 4, !tbaa !5
  %352 = tail call ptr @strerror(i32 noundef %351) #11
  %353 = load i32, ptr %275, align 4, !tbaa !5
  %354 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %345, ptr noundef nonnull %.str.5.sink671, i32 noundef %346, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 45, ptr noundef %348, ptr noundef %350, ptr noundef %352, i32 noundef %353) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

355:                                              ; preds = %328
  %356 = add nsw i32 %329, 2
  store i32 %356, ptr @test_count, align 4, !tbaa !5
  %357 = tail call ptr @s2n_strerror_debug(i32 noundef 469762098, ptr noundef nonnull @.str.4) #11
  %358 = icmp eq ptr %357, null
  br i1 %358, label %359, label %381

359:                                              ; preds = %355
  %360 = load i32, ptr %275, align 4, !tbaa !5
  %361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %362 = tail call i32 @s2n_print_stacktrace(ptr noundef %361) #11
  %363 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %364 = trunc nuw i8 %363 to i1
  br i1 %364, label %365, label %369

365:                                              ; preds = %359
  %366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %367 = tail call i32 @fileno(ptr noundef %366) #11
  %368 = tail call i32 @isatty(i32 noundef %367) #11
  %.not416 = icmp eq i32 %368, 0
  br i1 %.not416, label %369, label %370

369:                                              ; preds = %365, %359
  br label %370

370:                                              ; preds = %365, %369
  %.str.5.sink680 = phi ptr [ @.str.5, %369 ], [ @.str.2, %365 ]
  store i32 %360, ptr %275, align 4, !tbaa !5
  %371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %372 = load i32, ptr @test_count, align 4, !tbaa !5
  %373 = load i32, ptr %221, align 4, !tbaa !5
  %374 = tail call ptr @s2n_strerror(i32 noundef %373, ptr noundef nonnull @.str.4) #11
  %375 = load i32, ptr %221, align 4, !tbaa !5
  %376 = tail call ptr @s2n_strerror_debug(i32 noundef %375, ptr noundef nonnull @.str.4) #11
  %377 = load i32, ptr %275, align 4, !tbaa !5
  %378 = tail call ptr @strerror(i32 noundef %377) #11
  %379 = load i32, ptr %275, align 4, !tbaa !5
  %380 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %371, ptr noundef nonnull %.str.5.sink680, i32 noundef %372, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 45, ptr noundef %374, ptr noundef %376, ptr noundef %378, i32 noundef %379) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

381:                                              ; preds = %355
  store i32 0, ptr %221, align 4, !tbaa !5
  tail call void @s2n_debug_info_reset() #11
  store i32 0, ptr %275, align 4, !tbaa !5
  %382 = load i32, ptr @test_count, align 4, !tbaa !5
  %383 = add nsw i32 %382, 1
  store i32 %383, ptr @test_count, align 4, !tbaa !5
  %384 = getelementptr inbounds i8, ptr %162, i64 8
  %385 = load ptr, ptr %384, align 8, !tbaa !15
  %386 = icmp eq ptr %104, %385
  br i1 %386, label %387, label %409

387:                                              ; preds = %381
  %388 = load i32, ptr %275, align 4, !tbaa !5
  %389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %390 = tail call i32 @s2n_print_stacktrace(ptr noundef %389) #11
  %391 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %392 = trunc nuw i8 %391 to i1
  br i1 %392, label %393, label %397

393:                                              ; preds = %387
  %394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %395 = tail call i32 @fileno(ptr noundef %394) #11
  %396 = tail call i32 @isatty(i32 noundef %395) #11
  %.not415 = icmp eq i32 %396, 0
  br i1 %.not415, label %397, label %398

397:                                              ; preds = %393, %387
  br label %398

398:                                              ; preds = %393, %397
  %.str.5.sink689 = phi ptr [ @.str.5, %397 ], [ @.str.2, %393 ]
  store i32 %388, ptr %275, align 4, !tbaa !5
  %399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %400 = load i32, ptr @test_count, align 4, !tbaa !5
  %401 = load i32, ptr %221, align 4, !tbaa !5
  %402 = tail call ptr @s2n_strerror(i32 noundef %401, ptr noundef nonnull @.str.4) #11
  %403 = load i32, ptr %221, align 4, !tbaa !5
  %404 = tail call ptr @s2n_strerror_debug(i32 noundef %403, ptr noundef nonnull @.str.4) #11
  %405 = load i32, ptr %275, align 4, !tbaa !5
  %406 = tail call ptr @strerror(i32 noundef %405) #11
  %407 = load i32, ptr %275, align 4, !tbaa !5
  %408 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %399, ptr noundef nonnull %.str.5.sink689, i32 noundef %400, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 46, ptr noundef %402, ptr noundef %404, ptr noundef %406, i32 noundef %407) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

409:                                              ; preds = %381
  %410 = add nsw i32 %382, 2
  store i32 %410, ptr @test_count, align 4, !tbaa !5
  %411 = tail call i32 @s2n_connection_free(ptr noundef nonnull %162) #11
  %412 = icmp eq i32 %411, -1
  br i1 %412, label %413, label %435

413:                                              ; preds = %409
  %414 = load i32, ptr %275, align 4, !tbaa !5
  %415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %416 = tail call i32 @s2n_print_stacktrace(ptr noundef %415) #11
  %417 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %418 = trunc nuw i8 %417 to i1
  br i1 %418, label %419, label %423

419:                                              ; preds = %413
  %420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %421 = tail call i32 @fileno(ptr noundef %420) #11
  %422 = tail call i32 @isatty(i32 noundef %421) #11
  %.not414 = icmp eq i32 %422, 0
  br i1 %.not414, label %423, label %424

423:                                              ; preds = %419, %413
  br label %424

424:                                              ; preds = %419, %423
  %.str.5.sink698 = phi ptr [ @.str.5, %423 ], [ @.str.2, %419 ]
  store i32 %414, ptr %275, align 4, !tbaa !5
  %425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %426 = load i32, ptr @test_count, align 4, !tbaa !5
  %427 = load i32, ptr %221, align 4, !tbaa !5
  %428 = tail call ptr @s2n_strerror(i32 noundef %427, ptr noundef nonnull @.str.4) #11
  %429 = load i32, ptr %221, align 4, !tbaa !5
  %430 = tail call ptr @s2n_strerror_debug(i32 noundef %429, ptr noundef nonnull @.str.4) #11
  %431 = load i32, ptr %275, align 4, !tbaa !5
  %432 = tail call ptr @strerror(i32 noundef %431) #11
  %433 = load i32, ptr %275, align 4, !tbaa !5
  %434 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %425, ptr noundef nonnull %.str.5.sink698, i32 noundef %426, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 48, ptr noundef %428, ptr noundef %430, ptr noundef %432, i32 noundef %433) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

435:                                              ; preds = %409
  %436 = load i32, ptr @test_count, align 4, !tbaa !5
  %437 = add nsw i32 %436, 1
  store i32 %437, ptr @test_count, align 4, !tbaa !5
  %438 = tail call i32 @s2n_config_free(ptr noundef nonnull %104) #11
  %439 = icmp eq i32 %438, -1
  br i1 %439, label %440, label %462

440:                                              ; preds = %435
  %441 = load i32, ptr %275, align 4, !tbaa !5
  %442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %443 = tail call i32 @s2n_print_stacktrace(ptr noundef %442) #11
  %444 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %445 = trunc nuw i8 %444 to i1
  br i1 %445, label %446, label %450

446:                                              ; preds = %440
  %447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %448 = tail call i32 @fileno(ptr noundef %447) #11
  %449 = tail call i32 @isatty(i32 noundef %448) #11
  %.not413 = icmp eq i32 %449, 0
  br i1 %.not413, label %450, label %451

450:                                              ; preds = %446, %440
  br label %451

451:                                              ; preds = %446, %450
  %.str.5.sink707 = phi ptr [ @.str.5, %450 ], [ @.str.2, %446 ]
  store i32 %441, ptr %275, align 4, !tbaa !5
  %452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %453 = load i32, ptr @test_count, align 4, !tbaa !5
  %454 = load i32, ptr %221, align 4, !tbaa !5
  %455 = tail call ptr @s2n_strerror(i32 noundef %454, ptr noundef nonnull @.str.4) #11
  %456 = load i32, ptr %221, align 4, !tbaa !5
  %457 = tail call ptr @s2n_strerror_debug(i32 noundef %456, ptr noundef nonnull @.str.4) #11
  %458 = load i32, ptr %275, align 4, !tbaa !5
  %459 = tail call ptr @strerror(i32 noundef %458) #11
  %460 = load i32, ptr %275, align 4, !tbaa !5
  %461 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %452, ptr noundef nonnull %.str.5.sink707, i32 noundef %453, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 49, ptr noundef %455, ptr noundef %457, ptr noundef %459, i32 noundef %460) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

462:                                              ; preds = %435
  %463 = tail call i32 @s2n_cleanup() #11
  %464 = icmp eq i32 %463, -1
  br i1 %464, label %465, label %487

465:                                              ; preds = %462
  %466 = load i32, ptr %275, align 4, !tbaa !5
  %467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %468 = tail call i32 @s2n_print_stacktrace(ptr noundef %467) #11
  %469 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %470 = trunc nuw i8 %469 to i1
  br i1 %470, label %471, label %475

471:                                              ; preds = %465
  %472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %473 = tail call i32 @fileno(ptr noundef %472) #11
  %474 = tail call i32 @isatty(i32 noundef %473) #11
  %.not412 = icmp eq i32 %474, 0
  br i1 %.not412, label %475, label %476

475:                                              ; preds = %471, %465
  br label %476

476:                                              ; preds = %471, %475
  %.str.5.sink716 = phi ptr [ @.str.5, %475 ], [ @.str.2, %471 ]
  store i32 %466, ptr %275, align 4, !tbaa !5
  %477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %478 = load i32, ptr @test_count, align 4, !tbaa !5
  %479 = load i32, ptr %221, align 4, !tbaa !5
  %480 = tail call ptr @s2n_strerror(i32 noundef %479, ptr noundef nonnull @.str.4) #11
  %481 = load i32, ptr %221, align 4, !tbaa !5
  %482 = tail call ptr @s2n_strerror_debug(i32 noundef %481, ptr noundef nonnull @.str.4) #11
  %483 = load i32, ptr %275, align 4, !tbaa !5
  %484 = tail call ptr @strerror(i32 noundef %483) #11
  %485 = load i32, ptr %275, align 4, !tbaa !5
  %486 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %477, ptr noundef nonnull %.str.5.sink716, i32 noundef %478, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 50, ptr noundef %480, ptr noundef %482, ptr noundef %484, i32 noundef %485) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

487:                                              ; preds = %462
  %488 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #11
  %489 = icmp eq i32 %488, -1
  br i1 %489, label %490, label %512

490:                                              ; preds = %487
  %491 = load i32, ptr %275, align 4, !tbaa !5
  %492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %493 = tail call i32 @s2n_print_stacktrace(ptr noundef %492) #11
  %494 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %495 = trunc nuw i8 %494 to i1
  br i1 %495, label %496, label %500

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

500:                                              ; preds = %496, %490
  br label %501

501:                                              ; preds = %496, %500
  %.str.5.sink725 = phi ptr [ @.str.5, %500 ], [ @.str.2, %496 ]
  store i32 %491, ptr %275, align 4, !tbaa !5
  %502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %503 = load i32, ptr @test_count, align 4, !tbaa !5
  %504 = load i32, ptr %221, align 4, !tbaa !5
  %505 = tail call ptr @s2n_strerror(i32 noundef %504, ptr noundef nonnull @.str.4) #11
  %506 = load i32, ptr %221, align 4, !tbaa !5
  %507 = tail call ptr @s2n_strerror_debug(i32 noundef %506, ptr noundef nonnull @.str.4) #11
  %508 = load i32, ptr %275, align 4, !tbaa !5
  %509 = tail call ptr @strerror(i32 noundef %508) #11
  %510 = load i32, ptr %275, align 4, !tbaa !5
  %511 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %502, ptr noundef nonnull %.str.5.sink725, i32 noundef %503, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 50, ptr noundef %505, ptr noundef %507, ptr noundef %509, i32 noundef %510) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

512:                                              ; preds = %487
  %513 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %514 = trunc nuw i8 %513 to i1
  br i1 %514, label %515, label %526

515:                                              ; preds = %512
  %516 = load ptr, ptr @stdout, align 8, !tbaa !9
  %517 = tail call i32 @fileno(ptr noundef %516) #11
  %518 = tail call i32 @isatty(i32 noundef %517) #11
  %.not408 = icmp eq i32 %518, 0
  br i1 %.not408, label %526, label %519

519:                                              ; preds = %515
  %520 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not410 = icmp eq i32 %520, 0
  %521 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not410, label %524, label %522

522:                                              ; preds = %519
  %523 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %521, ptr noundef nonnull @.str.21, i32 noundef %520) #11
  br label %3878

524:                                              ; preds = %519
  %525 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %521, ptr noundef nonnull @.str.22) #11
  br label %3878

526:                                              ; preds = %515, %512
  %527 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not409 = icmp eq i32 %527, 0
  %528 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not409, label %531, label %529

529:                                              ; preds = %526
  %530 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %528, ptr noundef nonnull @.str.23, i32 noundef %527) #11
  br label %3878

531:                                              ; preds = %526
  %532 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %528, ptr noundef nonnull @.str.24) #11
  br label %3878

533:                                              ; preds = %102
  br i1 %107, label %534, label %558

534:                                              ; preds = %533
  %535 = tail call ptr @__errno_location() #12
  %536 = load i32, ptr %535, align 4, !tbaa !5
  %537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %538 = tail call i32 @s2n_print_stacktrace(ptr noundef %537) #11
  %539 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %540 = trunc nuw i8 %539 to i1
  br i1 %540, label %541, label %545

541:                                              ; preds = %534
  %542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %543 = tail call i32 @fileno(ptr noundef %542) #11
  %544 = tail call i32 @isatty(i32 noundef %543) #11
  %.not555 = icmp eq i32 %544, 0
  br i1 %.not555, label %545, label %546

545:                                              ; preds = %541, %534
  br label %546

546:                                              ; preds = %541, %545
  %.str.5.sink734 = phi ptr [ @.str.5, %545 ], [ @.str.2, %541 ]
  store i32 %536, ptr %535, align 4, !tbaa !5
  %547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %548 = load i32, ptr @test_count, align 4, !tbaa !5
  %549 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %550 = load i32, ptr %549, align 4, !tbaa !5
  %551 = tail call ptr @s2n_strerror(i32 noundef %550, ptr noundef nonnull @.str.4) #11
  %552 = load i32, ptr %549, align 4, !tbaa !5
  %553 = tail call ptr @s2n_strerror_debug(i32 noundef %552, ptr noundef nonnull @.str.4) #11
  %554 = load i32, ptr %535, align 4, !tbaa !5
  %555 = tail call ptr @strerror(i32 noundef %554) #11
  %556 = load i32, ptr %535, align 4, !tbaa !5
  %557 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %547, ptr noundef nonnull %.str.5.sink734, i32 noundef %548, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 56, ptr noundef %551, ptr noundef %553, ptr noundef %555, i32 noundef %556) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

558:                                              ; preds = %533
  %559 = add nsw i32 %105, 2
  store i32 %559, ptr @test_count, align 4, !tbaa !5
  %560 = load i32, ptr %104, align 8
  %561 = and i32 %560, 2
  %.not422 = icmp eq i32 %561, 0
  br i1 %.not422, label %586, label %562

562:                                              ; preds = %558
  %563 = tail call ptr @__errno_location() #12
  %564 = load i32, ptr %563, align 4, !tbaa !5
  %565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %566 = tail call i32 @s2n_print_stacktrace(ptr noundef %565) #11
  %567 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %568 = trunc nuw i8 %567 to i1
  br i1 %568, label %569, label %573

569:                                              ; preds = %562
  %570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %571 = tail call i32 @fileno(ptr noundef %570) #11
  %572 = tail call i32 @isatty(i32 noundef %571) #11
  %.not554 = icmp eq i32 %572, 0
  br i1 %.not554, label %573, label %574

573:                                              ; preds = %569, %562
  br label %574

574:                                              ; preds = %569, %573
  %.str.5.sink745 = phi ptr [ @.str.5, %573 ], [ @.str.2, %569 ]
  store i32 %564, ptr %563, align 4, !tbaa !5
  %575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %576 = load i32, ptr @test_count, align 4, !tbaa !5
  %577 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %578 = load i32, ptr %577, align 4, !tbaa !5
  %579 = tail call ptr @s2n_strerror(i32 noundef %578, ptr noundef nonnull @.str.4) #11
  %580 = load i32, ptr %577, align 4, !tbaa !5
  %581 = tail call ptr @s2n_strerror_debug(i32 noundef %580, ptr noundef nonnull @.str.4) #11
  %582 = load i32, ptr %563, align 4, !tbaa !5
  %583 = tail call ptr @strerror(i32 noundef %582) #11
  %584 = load i32, ptr %563, align 4, !tbaa !5
  %585 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %575, ptr noundef nonnull %.str.5.sink745, i32 noundef %576, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 57, ptr noundef %579, ptr noundef %581, ptr noundef %583, i32 noundef %584) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

586:                                              ; preds = %558
  %587 = tail call ptr @s2n_connection_new(i32 noundef 1) #11
  %588 = load i32, ptr @test_count, align 4, !tbaa !5
  %589 = add nsw i32 %588, 1
  store i32 %589, ptr @test_count, align 4, !tbaa !5
  %590 = tail call zeroext i1 @s2n_connection_is_quic_enabled(ptr noundef %587) #11
  br i1 %590, label %591, label %615

591:                                              ; preds = %586
  %592 = tail call ptr @__errno_location() #12
  %593 = load i32, ptr %592, align 4, !tbaa !5
  %594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %595 = tail call i32 @s2n_print_stacktrace(ptr noundef %594) #11
  %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 = %591
  %599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %600 = tail call i32 @fileno(ptr noundef %599) #11
  %601 = tail call i32 @isatty(i32 noundef %600) #11
  %.not553 = icmp eq i32 %601, 0
  br i1 %.not553, label %602, label %603

602:                                              ; preds = %598, %591
  br label %603

603:                                              ; preds = %598, %602
  %.str.5.sink756 = phi ptr [ @.str.5, %602 ], [ @.str.2, %598 ]
  store i32 %593, ptr %592, align 4, !tbaa !5
  %604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %605 = load i32, ptr @test_count, align 4, !tbaa !5
  %606 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %607 = load i32, ptr %606, align 4, !tbaa !5
  %608 = tail call ptr @s2n_strerror(i32 noundef %607, ptr noundef nonnull @.str.4) #11
  %609 = load i32, ptr %606, align 4, !tbaa !5
  %610 = tail call ptr @s2n_strerror_debug(i32 noundef %609, ptr noundef nonnull @.str.4) #11
  %611 = load i32, ptr %592, align 4, !tbaa !5
  %612 = tail call ptr @strerror(i32 noundef %611) #11
  %613 = load i32, ptr %592, align 4, !tbaa !5
  %614 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %604, ptr noundef nonnull %.str.5.sink756, i32 noundef %605, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 60, ptr noundef %608, ptr noundef %610, ptr noundef %612, i32 noundef %613) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

615:                                              ; preds = %586
  %616 = load i32, ptr @test_count, align 4, !tbaa !5
  %617 = add nsw i32 %616, 1
  store i32 %617, ptr @test_count, align 4, !tbaa !5
  %618 = tail call i32 @s2n_connection_set_config(ptr noundef %587, ptr noundef nonnull %104) #11
  %619 = icmp eq i32 %618, -1
  br i1 %619, label %620, label %644

620:                                              ; preds = %615
  %621 = tail call ptr @__errno_location() #12
  %622 = load i32, ptr %621, align 4, !tbaa !5
  %623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %624 = tail call i32 @s2n_print_stacktrace(ptr noundef %623) #11
  %625 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %626 = trunc nuw i8 %625 to i1
  br i1 %626, label %627, label %631

627:                                              ; preds = %620
  %628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %629 = tail call i32 @fileno(ptr noundef %628) #11
  %630 = tail call i32 @isatty(i32 noundef %629) #11
  %.not552 = icmp eq i32 %630, 0
  br i1 %.not552, label %631, label %632

631:                                              ; preds = %627, %620
  br label %632

632:                                              ; preds = %627, %631
  %.str.5.sink767 = phi ptr [ @.str.5, %631 ], [ @.str.2, %627 ]
  store i32 %622, ptr %621, align 4, !tbaa !5
  %633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %634 = load i32, ptr @test_count, align 4, !tbaa !5
  %635 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %636 = load i32, ptr %635, align 4, !tbaa !5
  %637 = tail call ptr @s2n_strerror(i32 noundef %636, ptr noundef nonnull @.str.4) #11
  %638 = load i32, ptr %635, align 4, !tbaa !5
  %639 = tail call ptr @s2n_strerror_debug(i32 noundef %638, ptr noundef nonnull @.str.4) #11
  %640 = load i32, ptr %621, align 4, !tbaa !5
  %641 = tail call ptr @strerror(i32 noundef %640) #11
  %642 = load i32, ptr %621, align 4, !tbaa !5
  %643 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %633, ptr noundef nonnull %.str.5.sink767, i32 noundef %634, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 61, ptr noundef %637, ptr noundef %639, ptr noundef %641, i32 noundef %642) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

644:                                              ; preds = %615
  %645 = load i32, ptr @test_count, align 4, !tbaa !5
  %646 = add nsw i32 %645, 1
  store i32 %646, ptr @test_count, align 4, !tbaa !5
  %647 = tail call zeroext i1 @s2n_connection_is_quic_enabled(ptr noundef %587) #11
  br i1 %647, label %648, label %672

648:                                              ; preds = %644
  %649 = tail call ptr @__errno_location() #12
  %650 = load i32, ptr %649, align 4, !tbaa !5
  %651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %652 = tail call i32 @s2n_print_stacktrace(ptr noundef %651) #11
  %653 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %654 = trunc nuw i8 %653 to i1
  br i1 %654, label %655, label %659

655:                                              ; preds = %648
  %656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %657 = tail call i32 @fileno(ptr noundef %656) #11
  %658 = tail call i32 @isatty(i32 noundef %657) #11
  %.not551 = icmp eq i32 %658, 0
  br i1 %.not551, label %659, label %660

659:                                              ; preds = %655, %648
  br label %660

660:                                              ; preds = %655, %659
  %.str.5.sink778 = phi ptr [ @.str.5, %659 ], [ @.str.2, %655 ]
  store i32 %650, ptr %649, align 4, !tbaa !5
  %661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %662 = load i32, ptr @test_count, align 4, !tbaa !5
  %663 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %664 = load i32, ptr %663, align 4, !tbaa !5
  %665 = tail call ptr @s2n_strerror(i32 noundef %664, ptr noundef nonnull @.str.4) #11
  %666 = load i32, ptr %663, align 4, !tbaa !5
  %667 = tail call ptr @s2n_strerror_debug(i32 noundef %666, ptr noundef nonnull @.str.4) #11
  %668 = load i32, ptr %649, align 4, !tbaa !5
  %669 = tail call ptr @strerror(i32 noundef %668) #11
  %670 = load i32, ptr %649, align 4, !tbaa !5
  %671 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %661, ptr noundef nonnull %.str.5.sink778, i32 noundef %662, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 62, ptr noundef %665, ptr noundef %667, ptr noundef %669, i32 noundef %670) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

672:                                              ; preds = %644
  %673 = load i32, ptr @test_count, align 4, !tbaa !5
  %674 = add nsw i32 %673, 1
  store i32 %674, ptr @test_count, align 4, !tbaa !5
  %675 = tail call i32 @s2n_config_enable_quic(ptr noundef null) #11
  %676 = icmp eq i32 %675, -1
  br i1 %676, label %701, label %677

677:                                              ; preds = %672
  %678 = tail call ptr @__errno_location() #12
  %679 = load i32, ptr %678, align 4, !tbaa !5
  %680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %681 = tail call i32 @s2n_print_stacktrace(ptr noundef %680) #11
  %682 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %683 = trunc nuw i8 %682 to i1
  br i1 %683, label %684, label %688

684:                                              ; preds = %677
  %685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %686 = tail call i32 @fileno(ptr noundef %685) #11
  %687 = tail call i32 @isatty(i32 noundef %686) #11
  %.not423 = icmp eq i32 %687, 0
  br i1 %.not423, label %688, label %689

688:                                              ; preds = %684, %677
  br label %689

689:                                              ; preds = %684, %688
  %.str.5.sink789 = phi ptr [ @.str.5, %688 ], [ @.str.2, %684 ]
  store i32 %679, ptr %678, align 4, !tbaa !5
  %690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %691 = load i32, ptr @test_count, align 4, !tbaa !5
  %692 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %693 = load i32, ptr %692, align 4, !tbaa !5
  %694 = tail call ptr @s2n_strerror(i32 noundef %693, ptr noundef nonnull @.str.4) #11
  %695 = load i32, ptr %692, align 4, !tbaa !5
  %696 = tail call ptr @s2n_strerror_debug(i32 noundef %695, ptr noundef nonnull @.str.4) #11
  %697 = load i32, ptr %678, align 4, !tbaa !5
  %698 = tail call ptr @strerror(i32 noundef %697) #11
  %699 = load i32, ptr %678, align 4, !tbaa !5
  %700 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %690, ptr noundef nonnull %.str.5.sink789, i32 noundef %691, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 66, ptr noundef %694, ptr noundef %696, ptr noundef %698, i32 noundef %699) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

701:                                              ; preds = %672
  %702 = load i32, ptr @test_count, align 4, !tbaa !5
  %703 = add nsw i32 %702, 1
  store i32 %703, ptr @test_count, align 4, !tbaa !5
  %704 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %705 = load i32, ptr %704, align 4, !tbaa !5
  %706 = icmp eq i32 %705, 402653193
  br i1 %706, label %730, label %707

707:                                              ; preds = %701
  %708 = tail call ptr @__errno_location() #12
  %709 = load i32, ptr %708, align 4, !tbaa !5
  %710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %711 = tail call i32 @s2n_print_stacktrace(ptr noundef %710) #11
  %712 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %713 = trunc nuw i8 %712 to i1
  br i1 %713, label %714, label %718

714:                                              ; preds = %707
  %715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %716 = tail call i32 @fileno(ptr noundef %715) #11
  %717 = tail call i32 @isatty(i32 noundef %716) #11
  %.not424 = icmp eq i32 %717, 0
  br i1 %.not424, label %718, label %719

718:                                              ; preds = %714, %707
  br label %719

719:                                              ; preds = %714, %718
  %.str.5.sink800 = phi ptr [ @.str.5, %718 ], [ @.str.2, %714 ]
  store i32 %709, ptr %708, align 4, !tbaa !5
  %720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %721 = load i32, ptr @test_count, align 4, !tbaa !5
  %722 = load i32, ptr %704, align 4, !tbaa !5
  %723 = tail call ptr @s2n_strerror(i32 noundef %722, ptr noundef nonnull @.str.4) #11
  %724 = load i32, ptr %704, align 4, !tbaa !5
  %725 = tail call ptr @s2n_strerror_debug(i32 noundef %724, ptr noundef nonnull @.str.4) #11
  %726 = load i32, ptr %708, align 4, !tbaa !5
  %727 = tail call ptr @strerror(i32 noundef %726) #11
  %728 = load i32, ptr %708, align 4, !tbaa !5
  %729 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %720, ptr noundef nonnull %.str.5.sink800, i32 noundef %721, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 66, ptr noundef %723, ptr noundef %725, ptr noundef %727, i32 noundef %728) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

730:                                              ; preds = %701
  %731 = add nsw i32 %702, 2
  store i32 %731, ptr @test_count, align 4, !tbaa !5
  %732 = tail call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #11
  %733 = icmp eq ptr %732, null
  br i1 %733, label %734, label %757

734:                                              ; preds = %730
  %735 = tail call ptr @__errno_location() #12
  %736 = load i32, ptr %735, align 4, !tbaa !5
  %737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %738 = tail call i32 @s2n_print_stacktrace(ptr noundef %737) #11
  %739 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %740 = trunc nuw i8 %739 to i1
  br i1 %740, label %741, label %745

741:                                              ; preds = %734
  %742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %743 = tail call i32 @fileno(ptr noundef %742) #11
  %744 = tail call i32 @isatty(i32 noundef %743) #11
  %.not550 = icmp eq i32 %744, 0
  br i1 %.not550, label %745, label %746

745:                                              ; preds = %741, %734
  br label %746

746:                                              ; preds = %741, %745
  %.str.5.sink809 = phi ptr [ @.str.5, %745 ], [ @.str.2, %741 ]
  store i32 %736, ptr %735, align 4, !tbaa !5
  %747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %748 = load i32, ptr @test_count, align 4, !tbaa !5
  %749 = load i32, ptr %704, align 4, !tbaa !5
  %750 = tail call ptr @s2n_strerror(i32 noundef %749, ptr noundef nonnull @.str.4) #11
  %751 = load i32, ptr %704, align 4, !tbaa !5
  %752 = tail call ptr @s2n_strerror_debug(i32 noundef %751, ptr noundef nonnull @.str.4) #11
  %753 = load i32, ptr %735, align 4, !tbaa !5
  %754 = tail call ptr @strerror(i32 noundef %753) #11
  %755 = load i32, ptr %735, align 4, !tbaa !5
  %756 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %747, ptr noundef nonnull %.str.5.sink809, i32 noundef %748, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 66, ptr noundef %750, ptr noundef %752, ptr noundef %754, i32 noundef %755) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

757:                                              ; preds = %730
  store i32 0, ptr %704, align 4, !tbaa !5
  tail call void @s2n_debug_info_reset() #11
  %758 = tail call ptr @__errno_location() #12
  store i32 0, ptr %758, align 4, !tbaa !5
  %759 = load i32, ptr @test_count, align 4, !tbaa !5
  %760 = add nsw i32 %759, 1
  store i32 %760, ptr @test_count, align 4, !tbaa !5
  %761 = load i32, ptr %104, align 8
  %762 = and i32 %761, 2
  %.not425 = icmp eq i32 %762, 0
  br i1 %.not425, label %785, label %763

763:                                              ; preds = %757
  %764 = load i32, ptr %758, align 4, !tbaa !5
  %765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %766 = tail call i32 @s2n_print_stacktrace(ptr noundef %765) #11
  %767 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %768 = trunc nuw i8 %767 to i1
  br i1 %768, label %769, label %773

769:                                              ; preds = %763
  %770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %771 = tail call i32 @fileno(ptr noundef %770) #11
  %772 = tail call i32 @isatty(i32 noundef %771) #11
  %.not549 = icmp eq i32 %772, 0
  br i1 %.not549, label %773, label %774

773:                                              ; preds = %769, %763
  br label %774

774:                                              ; preds = %769, %773
  %.str.5.sink818 = phi ptr [ @.str.5, %773 ], [ @.str.2, %769 ]
  store i32 %764, ptr %758, align 4, !tbaa !5
  %775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %776 = load i32, ptr @test_count, align 4, !tbaa !5
  %777 = load i32, ptr %704, align 4, !tbaa !5
  %778 = tail call ptr @s2n_strerror(i32 noundef %777, ptr noundef nonnull @.str.4) #11
  %779 = load i32, ptr %704, align 4, !tbaa !5
  %780 = tail call ptr @s2n_strerror_debug(i32 noundef %779, ptr noundef nonnull @.str.4) #11
  %781 = load i32, ptr %758, align 4, !tbaa !5
  %782 = tail call ptr @strerror(i32 noundef %781) #11
  %783 = load i32, ptr %758, align 4, !tbaa !5
  %784 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %775, ptr noundef nonnull %.str.5.sink818, i32 noundef %776, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 67, ptr noundef %778, ptr noundef %780, ptr noundef %782, i32 noundef %783) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

785:                                              ; preds = %757
  %786 = add nsw i32 %759, 2
  store i32 %786, ptr @test_count, align 4, !tbaa !5
  %787 = tail call zeroext i1 @s2n_connection_is_quic_enabled(ptr noundef %587) #11
  br i1 %787, label %788, label %810

788:                                              ; preds = %785
  %789 = load i32, ptr %758, align 4, !tbaa !5
  %790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %791 = tail call i32 @s2n_print_stacktrace(ptr noundef %790) #11
  %792 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %793 = trunc nuw i8 %792 to i1
  br i1 %793, label %794, label %798

794:                                              ; preds = %788
  %795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %796 = tail call i32 @fileno(ptr noundef %795) #11
  %797 = tail call i32 @isatty(i32 noundef %796) #11
  %.not548 = icmp eq i32 %797, 0
  br i1 %.not548, label %798, label %799

798:                                              ; preds = %794, %788
  br label %799

799:                                              ; preds = %794, %798
  %.str.5.sink827 = phi ptr [ @.str.5, %798 ], [ @.str.2, %794 ]
  store i32 %789, ptr %758, align 4, !tbaa !5
  %800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %801 = load i32, ptr @test_count, align 4, !tbaa !5
  %802 = load i32, ptr %704, align 4, !tbaa !5
  %803 = tail call ptr @s2n_strerror(i32 noundef %802, ptr noundef nonnull @.str.4) #11
  %804 = load i32, ptr %704, align 4, !tbaa !5
  %805 = tail call ptr @s2n_strerror_debug(i32 noundef %804, ptr noundef nonnull @.str.4) #11
  %806 = load i32, ptr %758, align 4, !tbaa !5
  %807 = tail call ptr @strerror(i32 noundef %806) #11
  %808 = load i32, ptr %758, align 4, !tbaa !5
  %809 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %800, ptr noundef nonnull %.str.5.sink827, i32 noundef %801, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 68, ptr noundef %803, ptr noundef %805, ptr noundef %807, i32 noundef %808) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

810:                                              ; preds = %785
  %811 = load i32, ptr @test_count, align 4, !tbaa !5
  %812 = add nsw i32 %811, 1
  store i32 %812, ptr @test_count, align 4, !tbaa !5
  %813 = tail call i32 @s2n_config_enable_quic(ptr noundef nonnull %104) #11
  %814 = icmp eq i32 %813, -1
  br i1 %814, label %815, label %837

815:                                              ; preds = %810
  %816 = load i32, ptr %758, align 4, !tbaa !5
  %817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %818 = tail call i32 @s2n_print_stacktrace(ptr noundef %817) #11
  %819 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %820 = trunc nuw i8 %819 to i1
  br i1 %820, label %821, label %825

821:                                              ; preds = %815
  %822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %823 = tail call i32 @fileno(ptr noundef %822) #11
  %824 = tail call i32 @isatty(i32 noundef %823) #11
  %.not547 = icmp eq i32 %824, 0
  br i1 %.not547, label %825, label %826

825:                                              ; preds = %821, %815
  br label %826

826:                                              ; preds = %821, %825
  %.str.5.sink836 = phi ptr [ @.str.5, %825 ], [ @.str.2, %821 ]
  store i32 %816, ptr %758, align 4, !tbaa !5
  %827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %828 = load i32, ptr @test_count, align 4, !tbaa !5
  %829 = load i32, ptr %704, align 4, !tbaa !5
  %830 = tail call ptr @s2n_strerror(i32 noundef %829, ptr noundef nonnull @.str.4) #11
  %831 = load i32, ptr %704, align 4, !tbaa !5
  %832 = tail call ptr @s2n_strerror_debug(i32 noundef %831, ptr noundef nonnull @.str.4) #11
  %833 = load i32, ptr %758, align 4, !tbaa !5
  %834 = tail call ptr @strerror(i32 noundef %833) #11
  %835 = load i32, ptr %758, align 4, !tbaa !5
  %836 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %827, ptr noundef nonnull %.str.5.sink836, i32 noundef %828, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 73, ptr noundef %830, ptr noundef %832, ptr noundef %834, i32 noundef %835) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

837:                                              ; preds = %810
  %838 = load i32, ptr @test_count, align 4, !tbaa !5
  %839 = add nsw i32 %838, 1
  store i32 %839, ptr @test_count, align 4, !tbaa !5
  %840 = load i32, ptr %104, align 8
  %841 = and i32 %840, 2
  %.not426 = icmp eq i32 %841, 0
  br i1 %.not426, label %842, label %864

842:                                              ; preds = %837
  %843 = load i32, ptr %758, align 4, !tbaa !5
  %844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %845 = tail call i32 @s2n_print_stacktrace(ptr noundef %844) #11
  %846 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %847 = trunc nuw i8 %846 to i1
  br i1 %847, label %848, label %852

848:                                              ; preds = %842
  %849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %850 = tail call i32 @fileno(ptr noundef %849) #11
  %851 = tail call i32 @isatty(i32 noundef %850) #11
  %.not427 = icmp eq i32 %851, 0
  br i1 %.not427, label %852, label %853

852:                                              ; preds = %848, %842
  br label %853

853:                                              ; preds = %848, %852
  %.str.5.sink845 = phi ptr [ @.str.5, %852 ], [ @.str.2, %848 ]
  store i32 %843, ptr %758, align 4, !tbaa !5
  %854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %855 = load i32, ptr @test_count, align 4, !tbaa !5
  %856 = load i32, ptr %704, align 4, !tbaa !5
  %857 = tail call ptr @s2n_strerror(i32 noundef %856, ptr noundef nonnull @.str.4) #11
  %858 = load i32, ptr %704, align 4, !tbaa !5
  %859 = tail call ptr @s2n_strerror_debug(i32 noundef %858, ptr noundef nonnull @.str.4) #11
  %860 = load i32, ptr %758, align 4, !tbaa !5
  %861 = tail call ptr @strerror(i32 noundef %860) #11
  %862 = load i32, ptr %758, align 4, !tbaa !5
  %863 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %854, ptr noundef nonnull %.str.5.sink845, i32 noundef %855, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 74, ptr noundef %857, ptr noundef %859, ptr noundef %861, i32 noundef %862) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

864:                                              ; preds = %837
  %865 = add nsw i32 %838, 2
  store i32 %865, ptr @test_count, align 4, !tbaa !5
  %866 = tail call zeroext i1 @s2n_connection_is_quic_enabled(ptr noundef %587) #11
  br i1 %866, label %889, label %867

867:                                              ; preds = %864
  %868 = load i32, ptr %758, align 4, !tbaa !5
  %869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %870 = tail call i32 @s2n_print_stacktrace(ptr noundef %869) #11
  %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 = tail call i32 @fileno(ptr noundef %874) #11
  %876 = tail call i32 @isatty(i32 noundef %875) #11
  %.not428 = icmp eq i32 %876, 0
  br i1 %.not428, label %877, label %878

877:                                              ; preds = %873, %867
  br label %878

878:                                              ; preds = %873, %877
  %.str.5.sink854 = phi ptr [ @.str.5, %877 ], [ @.str.2, %873 ]
  store i32 %868, ptr %758, 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 %704, align 4, !tbaa !5
  %882 = tail call ptr @s2n_strerror(i32 noundef %881, ptr noundef nonnull @.str.4) #11
  %883 = load i32, ptr %704, align 4, !tbaa !5
  %884 = tail call ptr @s2n_strerror_debug(i32 noundef %883, ptr noundef nonnull @.str.4) #11
  %885 = load i32, ptr %758, align 4, !tbaa !5
  %886 = tail call ptr @strerror(i32 noundef %885) #11
  %887 = load i32, ptr %758, align 4, !tbaa !5
  %888 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %879, ptr noundef nonnull %.str.5.sink854, i32 noundef %880, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 75, ptr noundef %882, ptr noundef %884, ptr noundef %886, i32 noundef %887) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

889:                                              ; preds = %864
  %890 = load i32, ptr @test_count, align 4, !tbaa !5
  %891 = add nsw i32 %890, 1
  store i32 %891, ptr @test_count, align 4, !tbaa !5
  %892 = tail call i32 @s2n_config_enable_quic(ptr noundef nonnull %104) #11
  %893 = icmp eq i32 %892, -1
  br i1 %893, label %894, label %916

894:                                              ; preds = %889
  %895 = load i32, ptr %758, align 4, !tbaa !5
  %896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %897 = tail call i32 @s2n_print_stacktrace(ptr noundef %896) #11
  %898 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %899 = trunc nuw i8 %898 to i1
  br i1 %899, label %900, label %904

900:                                              ; preds = %894
  %901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %902 = tail call i32 @fileno(ptr noundef %901) #11
  %903 = tail call i32 @isatty(i32 noundef %902) #11
  %.not546 = icmp eq i32 %903, 0
  br i1 %.not546, label %904, label %905

904:                                              ; preds = %900, %894
  br label %905

905:                                              ; preds = %900, %904
  %.str.5.sink863 = phi ptr [ @.str.5, %904 ], [ @.str.2, %900 ]
  store i32 %895, ptr %758, align 4, !tbaa !5
  %906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %907 = load i32, ptr @test_count, align 4, !tbaa !5
  %908 = load i32, ptr %704, align 4, !tbaa !5
  %909 = tail call ptr @s2n_strerror(i32 noundef %908, ptr noundef nonnull @.str.4) #11
  %910 = load i32, ptr %704, align 4, !tbaa !5
  %911 = tail call ptr @s2n_strerror_debug(i32 noundef %910, ptr noundef nonnull @.str.4) #11
  %912 = load i32, ptr %758, align 4, !tbaa !5
  %913 = tail call ptr @strerror(i32 noundef %912) #11
  %914 = load i32, ptr %758, align 4, !tbaa !5
  %915 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %906, ptr noundef nonnull %.str.5.sink863, i32 noundef %907, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 78, ptr noundef %909, ptr noundef %911, ptr noundef %913, i32 noundef %914) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

916:                                              ; preds = %889
  %917 = load i32, ptr @test_count, align 4, !tbaa !5
  %918 = add nsw i32 %917, 1
  store i32 %918, ptr @test_count, align 4, !tbaa !5
  %919 = load i32, ptr %104, align 8
  %920 = and i32 %919, 2
  %.not429 = icmp eq i32 %920, 0
  br i1 %.not429, label %921, label %943

921:                                              ; preds = %916
  %922 = load i32, ptr %758, align 4, !tbaa !5
  %923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %924 = tail call i32 @s2n_print_stacktrace(ptr noundef %923) #11
  %925 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %926 = trunc nuw i8 %925 to i1
  br i1 %926, label %927, label %931

927:                                              ; preds = %921
  %928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %929 = tail call i32 @fileno(ptr noundef %928) #11
  %930 = tail call i32 @isatty(i32 noundef %929) #11
  %.not430 = icmp eq i32 %930, 0
  br i1 %.not430, label %931, label %932

931:                                              ; preds = %927, %921
  br label %932

932:                                              ; preds = %927, %931
  %.str.5.sink872 = phi ptr [ @.str.5, %931 ], [ @.str.2, %927 ]
  store i32 %922, ptr %758, align 4, !tbaa !5
  %933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %934 = load i32, ptr @test_count, align 4, !tbaa !5
  %935 = load i32, ptr %704, align 4, !tbaa !5
  %936 = tail call ptr @s2n_strerror(i32 noundef %935, ptr noundef nonnull @.str.4) #11
  %937 = load i32, ptr %704, align 4, !tbaa !5
  %938 = tail call ptr @s2n_strerror_debug(i32 noundef %937, ptr noundef nonnull @.str.4) #11
  %939 = load i32, ptr %758, align 4, !tbaa !5
  %940 = tail call ptr @strerror(i32 noundef %939) #11
  %941 = load i32, ptr %758, align 4, !tbaa !5
  %942 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %933, ptr noundef nonnull %.str.5.sink872, i32 noundef %934, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 79, ptr noundef %936, ptr noundef %938, ptr noundef %940, i32 noundef %941) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

943:                                              ; preds = %916
  %944 = add nsw i32 %917, 2
  store i32 %944, ptr @test_count, align 4, !tbaa !5
  %945 = tail call zeroext i1 @s2n_connection_is_quic_enabled(ptr noundef %587) #11
  br i1 %945, label %968, label %946

946:                                              ; preds = %943
  %947 = load i32, ptr %758, align 4, !tbaa !5
  %948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %949 = tail call i32 @s2n_print_stacktrace(ptr noundef %948) #11
  %950 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %951 = trunc nuw i8 %950 to i1
  br i1 %951, label %952, label %956

952:                                              ; preds = %946
  %953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %954 = tail call i32 @fileno(ptr noundef %953) #11
  %955 = tail call i32 @isatty(i32 noundef %954) #11
  %.not431 = icmp eq i32 %955, 0
  br i1 %.not431, label %956, label %957

956:                                              ; preds = %952, %946
  br label %957

957:                                              ; preds = %952, %956
  %.str.5.sink881 = phi ptr [ @.str.5, %956 ], [ @.str.2, %952 ]
  store i32 %947, ptr %758, align 4, !tbaa !5
  %958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %959 = load i32, ptr @test_count, align 4, !tbaa !5
  %960 = load i32, ptr %704, align 4, !tbaa !5
  %961 = tail call ptr @s2n_strerror(i32 noundef %960, ptr noundef nonnull @.str.4) #11
  %962 = load i32, ptr %704, align 4, !tbaa !5
  %963 = tail call ptr @s2n_strerror_debug(i32 noundef %962, ptr noundef nonnull @.str.4) #11
  %964 = load i32, ptr %758, align 4, !tbaa !5
  %965 = tail call ptr @strerror(i32 noundef %964) #11
  %966 = load i32, ptr %758, align 4, !tbaa !5
  %967 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %958, ptr noundef nonnull %.str.5.sink881, i32 noundef %959, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 80, ptr noundef %961, ptr noundef %963, ptr noundef %965, i32 noundef %966) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

968:                                              ; preds = %943
  %969 = load i32, ptr @test_count, align 4, !tbaa !5
  %970 = add nsw i32 %969, 1
  store i32 %970, ptr @test_count, align 4, !tbaa !5
  %971 = tail call i32 @s2n_connection_free(ptr noundef %587) #11
  %972 = icmp eq i32 %971, -1
  br i1 %972, label %973, label %995

973:                                              ; preds = %968
  %974 = load i32, ptr %758, align 4, !tbaa !5
  %975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %976 = tail call i32 @s2n_print_stacktrace(ptr noundef %975) #11
  %977 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %978 = trunc nuw i8 %977 to i1
  br i1 %978, label %979, label %983

979:                                              ; preds = %973
  %980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %981 = tail call i32 @fileno(ptr noundef %980) #11
  %982 = tail call i32 @isatty(i32 noundef %981) #11
  %.not545 = icmp eq i32 %982, 0
  br i1 %.not545, label %983, label %984

983:                                              ; preds = %979, %973
  br label %984

984:                                              ; preds = %979, %983
  %.str.5.sink890 = phi ptr [ @.str.5, %983 ], [ @.str.2, %979 ]
  store i32 %974, ptr %758, align 4, !tbaa !5
  %985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %986 = load i32, ptr @test_count, align 4, !tbaa !5
  %987 = load i32, ptr %704, align 4, !tbaa !5
  %988 = tail call ptr @s2n_strerror(i32 noundef %987, ptr noundef nonnull @.str.4) #11
  %989 = load i32, ptr %704, align 4, !tbaa !5
  %990 = tail call ptr @s2n_strerror_debug(i32 noundef %989, ptr noundef nonnull @.str.4) #11
  %991 = load i32, ptr %758, align 4, !tbaa !5
  %992 = tail call ptr @strerror(i32 noundef %991) #11
  %993 = load i32, ptr %758, align 4, !tbaa !5
  %994 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %985, ptr noundef nonnull %.str.5.sink890, i32 noundef %986, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 83, ptr noundef %988, ptr noundef %990, ptr noundef %992, i32 noundef %993) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

995:                                              ; preds = %968
  %996 = load i32, ptr @test_count, align 4, !tbaa !5
  %997 = add nsw i32 %996, 1
  store i32 %997, ptr @test_count, align 4, !tbaa !5
  %998 = tail call i32 @s2n_config_free(ptr noundef nonnull %104) #11
  %999 = icmp eq i32 %998, -1
  br i1 %999, label %1000, label %1022

1000:                                             ; preds = %995
  %1001 = load i32, ptr %758, align 4, !tbaa !5
  %1002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1003 = tail call i32 @s2n_print_stacktrace(ptr noundef %1002) #11
  %1004 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1005 = trunc nuw i8 %1004 to i1
  br i1 %1005, label %1006, label %1010

1006:                                             ; preds = %1000
  %1007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1008 = tail call i32 @fileno(ptr noundef %1007) #11
  %1009 = tail call i32 @isatty(i32 noundef %1008) #11
  %.not544 = icmp eq i32 %1009, 0
  br i1 %.not544, label %1010, label %1011

1010:                                             ; preds = %1006, %1000
  br label %1011

1011:                                             ; preds = %1006, %1010
  %.str.5.sink899 = phi ptr [ @.str.5, %1010 ], [ @.str.2, %1006 ]
  store i32 %1001, ptr %758, align 4, !tbaa !5
  %1012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1013 = load i32, ptr @test_count, align 4, !tbaa !5
  %1014 = load i32, ptr %704, align 4, !tbaa !5
  %1015 = tail call ptr @s2n_strerror(i32 noundef %1014, ptr noundef nonnull @.str.4) #11
  %1016 = load i32, ptr %704, align 4, !tbaa !5
  %1017 = tail call ptr @s2n_strerror_debug(i32 noundef %1016, ptr noundef nonnull @.str.4) #11
  %1018 = load i32, ptr %758, align 4, !tbaa !5
  %1019 = tail call ptr @strerror(i32 noundef %1018) #11
  %1020 = load i32, ptr %758, align 4, !tbaa !5
  %1021 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1012, ptr noundef nonnull %.str.5.sink899, i32 noundef %1013, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 84, ptr noundef %1015, ptr noundef %1017, ptr noundef %1019, i32 noundef %1020) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1022:                                             ; preds = %995
  %1023 = tail call ptr @s2n_connection_new(i32 noundef 1) #11
  %1024 = load i32, ptr @test_count, align 4, !tbaa !5
  %1025 = add nsw i32 %1024, 1
  store i32 %1025, ptr @test_count, align 4, !tbaa !5
  %1026 = tail call zeroext i1 @s2n_connection_is_quic_enabled(ptr noundef %1023) #11
  br i1 %1026, label %1027, label %1049

1027:                                             ; preds = %1022
  %1028 = load i32, ptr %758, align 4, !tbaa !5
  %1029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1030 = tail call i32 @s2n_print_stacktrace(ptr noundef %1029) #11
  %1031 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1032 = trunc nuw i8 %1031 to i1
  br i1 %1032, label %1033, label %1037

1033:                                             ; preds = %1027
  %1034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1035 = tail call i32 @fileno(ptr noundef %1034) #11
  %1036 = tail call i32 @isatty(i32 noundef %1035) #11
  %.not543 = icmp eq i32 %1036, 0
  br i1 %.not543, label %1037, label %1038

1037:                                             ; preds = %1033, %1027
  br label %1038

1038:                                             ; preds = %1033, %1037
  %.str.5.sink908 = phi ptr [ @.str.5, %1037 ], [ @.str.2, %1033 ]
  store i32 %1028, ptr %758, align 4, !tbaa !5
  %1039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1040 = load i32, ptr @test_count, align 4, !tbaa !5
  %1041 = load i32, ptr %704, align 4, !tbaa !5
  %1042 = tail call ptr @s2n_strerror(i32 noundef %1041, ptr noundef nonnull @.str.4) #11
  %1043 = load i32, ptr %704, align 4, !tbaa !5
  %1044 = tail call ptr @s2n_strerror_debug(i32 noundef %1043, ptr noundef nonnull @.str.4) #11
  %1045 = load i32, ptr %758, align 4, !tbaa !5
  %1046 = tail call ptr @strerror(i32 noundef %1045) #11
  %1047 = load i32, ptr %758, align 4, !tbaa !5
  %1048 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1039, ptr noundef nonnull %.str.5.sink908, i32 noundef %1040, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 90, ptr noundef %1042, ptr noundef %1044, ptr noundef %1046, i32 noundef %1047) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1049:                                             ; preds = %1022
  %1050 = load i32, ptr @test_count, align 4, !tbaa !5
  %1051 = add nsw i32 %1050, 1
  store i32 %1051, ptr @test_count, align 4, !tbaa !5
  %1052 = tail call i32 @s2n_connection_enable_quic(ptr noundef null) #11
  %1053 = icmp eq i32 %1052, -1
  br i1 %1053, label %1076, label %1054

1054:                                             ; preds = %1049
  %1055 = load i32, ptr %758, align 4, !tbaa !5
  %1056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1057 = tail call i32 @s2n_print_stacktrace(ptr noundef %1056) #11
  %1058 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1059 = trunc nuw i8 %1058 to i1
  br i1 %1059, label %1060, label %1064

1060:                                             ; preds = %1054
  %1061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1062 = tail call i32 @fileno(ptr noundef %1061) #11
  %1063 = tail call i32 @isatty(i32 noundef %1062) #11
  %.not432 = icmp eq i32 %1063, 0
  br i1 %.not432, label %1064, label %1065

1064:                                             ; preds = %1060, %1054
  br label %1065

1065:                                             ; preds = %1060, %1064
  %.str.5.sink917 = phi ptr [ @.str.5, %1064 ], [ @.str.2, %1060 ]
  store i32 %1055, ptr %758, align 4, !tbaa !5
  %1066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1067 = load i32, ptr @test_count, align 4, !tbaa !5
  %1068 = load i32, ptr %704, align 4, !tbaa !5
  %1069 = tail call ptr @s2n_strerror(i32 noundef %1068, ptr noundef nonnull @.str.4) #11
  %1070 = load i32, ptr %704, align 4, !tbaa !5
  %1071 = tail call ptr @s2n_strerror_debug(i32 noundef %1070, ptr noundef nonnull @.str.4) #11
  %1072 = load i32, ptr %758, align 4, !tbaa !5
  %1073 = tail call ptr @strerror(i32 noundef %1072) #11
  %1074 = load i32, ptr %758, align 4, !tbaa !5
  %1075 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1066, ptr noundef nonnull %.str.5.sink917, i32 noundef %1067, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 94, ptr noundef %1069, ptr noundef %1071, ptr noundef %1073, i32 noundef %1074) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1076:                                             ; preds = %1049
  %1077 = load i32, ptr @test_count, align 4, !tbaa !5
  %1078 = add nsw i32 %1077, 1
  store i32 %1078, ptr @test_count, align 4, !tbaa !5
  %1079 = load i32, ptr %704, align 4, !tbaa !5
  %1080 = icmp eq i32 %1079, 402653193
  br i1 %1080, label %1103, label %1081

1081:                                             ; preds = %1076
  %1082 = load i32, ptr %758, align 4, !tbaa !5
  %1083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1084 = tail call i32 @s2n_print_stacktrace(ptr noundef %1083) #11
  %1085 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1086 = trunc nuw i8 %1085 to i1
  br i1 %1086, label %1087, label %1091

1087:                                             ; preds = %1081
  %1088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1089 = tail call i32 @fileno(ptr noundef %1088) #11
  %1090 = tail call i32 @isatty(i32 noundef %1089) #11
  %.not433 = icmp eq i32 %1090, 0
  br i1 %.not433, label %1091, label %1092

1091:                                             ; preds = %1087, %1081
  br label %1092

1092:                                             ; preds = %1087, %1091
  %.str.5.sink926 = phi ptr [ @.str.5, %1091 ], [ @.str.2, %1087 ]
  store i32 %1082, ptr %758, align 4, !tbaa !5
  %1093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1094 = load i32, ptr @test_count, align 4, !tbaa !5
  %1095 = load i32, ptr %704, align 4, !tbaa !5
  %1096 = tail call ptr @s2n_strerror(i32 noundef %1095, ptr noundef nonnull @.str.4) #11
  %1097 = load i32, ptr %704, align 4, !tbaa !5
  %1098 = tail call ptr @s2n_strerror_debug(i32 noundef %1097, ptr noundef nonnull @.str.4) #11
  %1099 = load i32, ptr %758, align 4, !tbaa !5
  %1100 = tail call ptr @strerror(i32 noundef %1099) #11
  %1101 = load i32, ptr %758, align 4, !tbaa !5
  %1102 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1093, ptr noundef nonnull %.str.5.sink926, i32 noundef %1094, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 94, ptr noundef %1096, ptr noundef %1098, ptr noundef %1100, i32 noundef %1101) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1103:                                             ; preds = %1076
  %1104 = add nsw i32 %1077, 2
  store i32 %1104, ptr @test_count, align 4, !tbaa !5
  %1105 = tail call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #11
  %1106 = icmp eq ptr %1105, null
  br i1 %1106, label %1107, label %1129

1107:                                             ; preds = %1103
  %1108 = load i32, ptr %758, align 4, !tbaa !5
  %1109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1110 = tail call i32 @s2n_print_stacktrace(ptr noundef %1109) #11
  %1111 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1112 = trunc nuw i8 %1111 to i1
  br i1 %1112, label %1113, label %1117

1113:                                             ; preds = %1107
  %1114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1115 = tail call i32 @fileno(ptr noundef %1114) #11
  %1116 = tail call i32 @isatty(i32 noundef %1115) #11
  %.not542 = icmp eq i32 %1116, 0
  br i1 %.not542, label %1117, label %1118

1117:                                             ; preds = %1113, %1107
  br label %1118

1118:                                             ; preds = %1113, %1117
  %.str.5.sink935 = phi ptr [ @.str.5, %1117 ], [ @.str.2, %1113 ]
  store i32 %1108, ptr %758, align 4, !tbaa !5
  %1119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1120 = load i32, ptr @test_count, align 4, !tbaa !5
  %1121 = load i32, ptr %704, align 4, !tbaa !5
  %1122 = tail call ptr @s2n_strerror(i32 noundef %1121, ptr noundef nonnull @.str.4) #11
  %1123 = load i32, ptr %704, align 4, !tbaa !5
  %1124 = tail call ptr @s2n_strerror_debug(i32 noundef %1123, ptr noundef nonnull @.str.4) #11
  %1125 = load i32, ptr %758, align 4, !tbaa !5
  %1126 = tail call ptr @strerror(i32 noundef %1125) #11
  %1127 = load i32, ptr %758, align 4, !tbaa !5
  %1128 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1119, ptr noundef nonnull %.str.5.sink935, i32 noundef %1120, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 94, ptr noundef %1122, ptr noundef %1124, ptr noundef %1126, i32 noundef %1127) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1129:                                             ; preds = %1103
  store i32 0, ptr %704, align 4, !tbaa !5
  tail call void @s2n_debug_info_reset() #11
  store i32 0, ptr %758, align 4, !tbaa !5
  %1130 = load i32, ptr @test_count, align 4, !tbaa !5
  %1131 = add nsw i32 %1130, 1
  store i32 %1131, ptr @test_count, align 4, !tbaa !5
  %1132 = tail call zeroext i1 @s2n_connection_is_quic_enabled(ptr noundef %1023) #11
  br i1 %1132, label %1133, label %1155

1133:                                             ; preds = %1129
  %1134 = load i32, ptr %758, align 4, !tbaa !5
  %1135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1136 = tail call i32 @s2n_print_stacktrace(ptr noundef %1135) #11
  %1137 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1138 = trunc nuw i8 %1137 to i1
  br i1 %1138, label %1139, label %1143

1139:                                             ; preds = %1133
  %1140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1141 = tail call i32 @fileno(ptr noundef %1140) #11
  %1142 = tail call i32 @isatty(i32 noundef %1141) #11
  %.not541 = icmp eq i32 %1142, 0
  br i1 %.not541, label %1143, label %1144

1143:                                             ; preds = %1139, %1133
  br label %1144

1144:                                             ; preds = %1139, %1143
  %.str.5.sink944 = phi ptr [ @.str.5, %1143 ], [ @.str.2, %1139 ]
  store i32 %1134, ptr %758, align 4, !tbaa !5
  %1145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1146 = load i32, ptr @test_count, align 4, !tbaa !5
  %1147 = load i32, ptr %704, align 4, !tbaa !5
  %1148 = tail call ptr @s2n_strerror(i32 noundef %1147, ptr noundef nonnull @.str.4) #11
  %1149 = load i32, ptr %704, align 4, !tbaa !5
  %1150 = tail call ptr @s2n_strerror_debug(i32 noundef %1149, ptr noundef nonnull @.str.4) #11
  %1151 = load i32, ptr %758, align 4, !tbaa !5
  %1152 = tail call ptr @strerror(i32 noundef %1151) #11
  %1153 = load i32, ptr %758, align 4, !tbaa !5
  %1154 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1145, ptr noundef nonnull %.str.5.sink944, i32 noundef %1146, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 95, ptr noundef %1148, ptr noundef %1150, ptr noundef %1152, i32 noundef %1153) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1155:                                             ; preds = %1129
  %1156 = load i32, ptr @test_count, align 4, !tbaa !5
  %1157 = add nsw i32 %1156, 1
  store i32 %1157, ptr @test_count, align 4, !tbaa !5
  %1158 = tail call i32 @s2n_connection_enable_quic(ptr noundef %1023) #11
  %1159 = icmp eq i32 %1158, -1
  br i1 %1159, label %1160, label %1182

1160:                                             ; preds = %1155
  %1161 = load i32, ptr %758, align 4, !tbaa !5
  %1162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1163 = tail call i32 @s2n_print_stacktrace(ptr noundef %1162) #11
  %1164 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1165 = trunc nuw i8 %1164 to i1
  br i1 %1165, label %1166, label %1170

1166:                                             ; preds = %1160
  %1167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1168 = tail call i32 @fileno(ptr noundef %1167) #11
  %1169 = tail call i32 @isatty(i32 noundef %1168) #11
  %.not540 = icmp eq i32 %1169, 0
  br i1 %.not540, label %1170, label %1171

1170:                                             ; preds = %1166, %1160
  br label %1171

1171:                                             ; preds = %1166, %1170
  %.str.5.sink953 = phi ptr [ @.str.5, %1170 ], [ @.str.2, %1166 ]
  store i32 %1161, ptr %758, align 4, !tbaa !5
  %1172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1173 = load i32, ptr @test_count, align 4, !tbaa !5
  %1174 = load i32, ptr %704, align 4, !tbaa !5
  %1175 = tail call ptr @s2n_strerror(i32 noundef %1174, ptr noundef nonnull @.str.4) #11
  %1176 = load i32, ptr %704, align 4, !tbaa !5
  %1177 = tail call ptr @s2n_strerror_debug(i32 noundef %1176, ptr noundef nonnull @.str.4) #11
  %1178 = load i32, ptr %758, align 4, !tbaa !5
  %1179 = tail call ptr @strerror(i32 noundef %1178) #11
  %1180 = load i32, ptr %758, align 4, !tbaa !5
  %1181 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1172, ptr noundef nonnull %.str.5.sink953, i32 noundef %1173, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 100, ptr noundef %1175, ptr noundef %1177, ptr noundef %1179, i32 noundef %1180) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1182:                                             ; preds = %1155
  %1183 = load i32, ptr @test_count, align 4, !tbaa !5
  %1184 = add nsw i32 %1183, 1
  store i32 %1184, ptr @test_count, align 4, !tbaa !5
  %1185 = tail call zeroext i1 @s2n_connection_is_quic_enabled(ptr noundef %1023) #11
  br i1 %1185, label %1208, label %1186

1186:                                             ; preds = %1182
  %1187 = load i32, ptr %758, align 4, !tbaa !5
  %1188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1189 = tail call i32 @s2n_print_stacktrace(ptr noundef %1188) #11
  %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 = tail call i32 @fileno(ptr noundef %1193) #11
  %1195 = tail call i32 @isatty(i32 noundef %1194) #11
  %.not434 = icmp eq i32 %1195, 0
  br i1 %.not434, label %1196, label %1197

1196:                                             ; preds = %1192, %1186
  br label %1197

1197:                                             ; preds = %1192, %1196
  %.str.5.sink962 = phi ptr [ @.str.5, %1196 ], [ @.str.2, %1192 ]
  store i32 %1187, ptr %758, 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 %704, align 4, !tbaa !5
  %1201 = tail call ptr @s2n_strerror(i32 noundef %1200, ptr noundef nonnull @.str.4) #11
  %1202 = load i32, ptr %704, align 4, !tbaa !5
  %1203 = tail call ptr @s2n_strerror_debug(i32 noundef %1202, ptr noundef nonnull @.str.4) #11
  %1204 = load i32, ptr %758, align 4, !tbaa !5
  %1205 = tail call ptr @strerror(i32 noundef %1204) #11
  %1206 = load i32, ptr %758, align 4, !tbaa !5
  %1207 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1198, ptr noundef nonnull %.str.5.sink962, i32 noundef %1199, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 101, ptr noundef %1201, ptr noundef %1203, ptr noundef %1205, i32 noundef %1206) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1208:                                             ; preds = %1182
  %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 = tail call i32 @s2n_connection_enable_quic(ptr noundef %1023) #11
  %1212 = icmp eq i32 %1211, -1
  br i1 %1212, label %1213, label %1235

1213:                                             ; preds = %1208
  %1214 = load i32, ptr %758, align 4, !tbaa !5
  %1215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1216 = tail call i32 @s2n_print_stacktrace(ptr noundef %1215) #11
  %1217 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1218 = trunc nuw i8 %1217 to i1
  br i1 %1218, label %1219, label %1223

1219:                                             ; preds = %1213
  %1220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1221 = tail call i32 @fileno(ptr noundef %1220) #11
  %1222 = tail call i32 @isatty(i32 noundef %1221) #11
  %.not539 = icmp eq i32 %1222, 0
  br i1 %.not539, label %1223, label %1224

1223:                                             ; preds = %1219, %1213
  br label %1224

1224:                                             ; preds = %1219, %1223
  %.str.5.sink971 = phi ptr [ @.str.5, %1223 ], [ @.str.2, %1219 ]
  store i32 %1214, ptr %758, align 4, !tbaa !5
  %1225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1226 = load i32, ptr @test_count, align 4, !tbaa !5
  %1227 = load i32, ptr %704, align 4, !tbaa !5
  %1228 = tail call ptr @s2n_strerror(i32 noundef %1227, ptr noundef nonnull @.str.4) #11
  %1229 = load i32, ptr %704, align 4, !tbaa !5
  %1230 = tail call ptr @s2n_strerror_debug(i32 noundef %1229, ptr noundef nonnull @.str.4) #11
  %1231 = load i32, ptr %758, align 4, !tbaa !5
  %1232 = tail call ptr @strerror(i32 noundef %1231) #11
  %1233 = load i32, ptr %758, align 4, !tbaa !5
  %1234 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1225, ptr noundef nonnull %.str.5.sink971, i32 noundef %1226, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 104, ptr noundef %1228, ptr noundef %1230, ptr noundef %1232, i32 noundef %1233) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1235:                                             ; preds = %1208
  %1236 = load i32, ptr @test_count, align 4, !tbaa !5
  %1237 = add nsw i32 %1236, 1
  store i32 %1237, ptr @test_count, align 4, !tbaa !5
  %1238 = tail call zeroext i1 @s2n_connection_is_quic_enabled(ptr noundef %1023) #11
  br i1 %1238, label %1261, label %1239

1239:                                             ; preds = %1235
  %1240 = load i32, ptr %758, align 4, !tbaa !5
  %1241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1242 = tail call i32 @s2n_print_stacktrace(ptr noundef %1241) #11
  %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 = tail call i32 @fileno(ptr noundef %1246) #11
  %1248 = tail call i32 @isatty(i32 noundef %1247) #11
  %.not435 = icmp eq i32 %1248, 0
  br i1 %.not435, label %1249, label %1250

1249:                                             ; preds = %1245, %1239
  br label %1250

1250:                                             ; preds = %1245, %1249
  %.str.5.sink980 = phi ptr [ @.str.5, %1249 ], [ @.str.2, %1245 ]
  store i32 %1240, ptr %758, 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 %704, align 4, !tbaa !5
  %1254 = tail call ptr @s2n_strerror(i32 noundef %1253, ptr noundef nonnull @.str.4) #11
  %1255 = load i32, ptr %704, align 4, !tbaa !5
  %1256 = tail call ptr @s2n_strerror_debug(i32 noundef %1255, ptr noundef nonnull @.str.4) #11
  %1257 = load i32, ptr %758, align 4, !tbaa !5
  %1258 = tail call ptr @strerror(i32 noundef %1257) #11
  %1259 = load i32, ptr %758, align 4, !tbaa !5
  %1260 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1251, ptr noundef nonnull %.str.5.sink980, i32 noundef %1252, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 105, ptr noundef %1254, ptr noundef %1256, ptr noundef %1258, i32 noundef %1259) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1261:                                             ; preds = %1235
  %1262 = tail call ptr @s2n_config_new() #11
  %1263 = load i32, ptr @test_count, align 4, !tbaa !5
  %1264 = add nsw i32 %1263, 1
  store i32 %1264, ptr @test_count, align 4, !tbaa !5
  %1265 = icmp eq ptr %1262, null
  br i1 %1265, label %1266, label %1288

1266:                                             ; preds = %1261
  %1267 = load i32, ptr %758, align 4, !tbaa !5
  %1268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1269 = tail call i32 @s2n_print_stacktrace(ptr noundef %1268) #11
  %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 = tail call i32 @fileno(ptr noundef %1273) #11
  %1275 = tail call i32 @isatty(i32 noundef %1274) #11
  %.not538 = icmp eq i32 %1275, 0
  br i1 %.not538, label %1276, label %1277

1276:                                             ; preds = %1272, %1266
  br label %1277

1277:                                             ; preds = %1272, %1276
  %.str.5.sink989 = phi ptr [ @.str.5, %1276 ], [ @.str.2, %1272 ]
  store i32 %1267, ptr %758, 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 %704, align 4, !tbaa !5
  %1281 = tail call ptr @s2n_strerror(i32 noundef %1280, ptr noundef nonnull @.str.4) #11
  %1282 = load i32, ptr %704, align 4, !tbaa !5
  %1283 = tail call ptr @s2n_strerror_debug(i32 noundef %1282, ptr noundef nonnull @.str.4) #11
  %1284 = load i32, ptr %758, align 4, !tbaa !5
  %1285 = tail call ptr @strerror(i32 noundef %1284) #11
  %1286 = load i32, ptr %758, align 4, !tbaa !5
  %1287 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1278, ptr noundef nonnull %.str.5.sink989, i32 noundef %1279, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 111, ptr noundef %1281, ptr noundef %1283, ptr noundef %1285, i32 noundef %1286) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1288:                                             ; preds = %1261
  %1289 = add nsw i32 %1263, 2
  store i32 %1289, ptr @test_count, align 4, !tbaa !5
  %1290 = load i32, ptr %1262, align 8
  %1291 = and i32 %1290, 2
  %.not436 = icmp eq i32 %1291, 0
  br i1 %.not436, label %1314, label %1292

1292:                                             ; preds = %1288
  %1293 = load i32, ptr %758, align 4, !tbaa !5
  %1294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1295 = tail call i32 @s2n_print_stacktrace(ptr noundef %1294) #11
  %1296 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1297 = trunc nuw i8 %1296 to i1
  br i1 %1297, label %1298, label %1302

1298:                                             ; preds = %1292
  %1299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1300 = tail call i32 @fileno(ptr noundef %1299) #11
  %1301 = tail call i32 @isatty(i32 noundef %1300) #11
  %.not537 = icmp eq i32 %1301, 0
  br i1 %.not537, label %1302, label %1303

1302:                                             ; preds = %1298, %1292
  br label %1303

1303:                                             ; preds = %1298, %1302
  %.str.5.sink998 = phi ptr [ @.str.5, %1302 ], [ @.str.2, %1298 ]
  store i32 %1293, ptr %758, align 4, !tbaa !5
  %1304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1305 = load i32, ptr @test_count, align 4, !tbaa !5
  %1306 = load i32, ptr %704, align 4, !tbaa !5
  %1307 = tail call ptr @s2n_strerror(i32 noundef %1306, ptr noundef nonnull @.str.4) #11
  %1308 = load i32, ptr %704, align 4, !tbaa !5
  %1309 = tail call ptr @s2n_strerror_debug(i32 noundef %1308, ptr noundef nonnull @.str.4) #11
  %1310 = load i32, ptr %758, align 4, !tbaa !5
  %1311 = tail call ptr @strerror(i32 noundef %1310) #11
  %1312 = load i32, ptr %758, align 4, !tbaa !5
  %1313 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1304, ptr noundef nonnull %.str.5.sink998, i32 noundef %1305, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 112, ptr noundef %1307, ptr noundef %1309, ptr noundef %1311, i32 noundef %1312) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1314:                                             ; preds = %1288
  %1315 = add nsw i32 %1263, 3
  store i32 %1315, ptr @test_count, align 4, !tbaa !5
  %1316 = tail call i32 @s2n_connection_set_config(ptr noundef %1023, ptr noundef nonnull %1262) #11
  %1317 = icmp eq i32 %1316, -1
  br i1 %1317, label %1318, label %1340

1318:                                             ; preds = %1314
  %1319 = load i32, ptr %758, align 4, !tbaa !5
  %1320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1321 = tail call i32 @s2n_print_stacktrace(ptr noundef %1320) #11
  %1322 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1323 = trunc nuw i8 %1322 to i1
  br i1 %1323, label %1324, label %1328

1324:                                             ; preds = %1318
  %1325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1326 = tail call i32 @fileno(ptr noundef %1325) #11
  %1327 = tail call i32 @isatty(i32 noundef %1326) #11
  %.not536 = icmp eq i32 %1327, 0
  br i1 %.not536, label %1328, label %1329

1328:                                             ; preds = %1324, %1318
  br label %1329

1329:                                             ; preds = %1324, %1328
  %.str.5.sink1007 = phi ptr [ @.str.5, %1328 ], [ @.str.2, %1324 ]
  store i32 %1319, ptr %758, align 4, !tbaa !5
  %1330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1331 = load i32, ptr @test_count, align 4, !tbaa !5
  %1332 = load i32, ptr %704, align 4, !tbaa !5
  %1333 = tail call ptr @s2n_strerror(i32 noundef %1332, ptr noundef nonnull @.str.4) #11
  %1334 = load i32, ptr %704, align 4, !tbaa !5
  %1335 = tail call ptr @s2n_strerror_debug(i32 noundef %1334, ptr noundef nonnull @.str.4) #11
  %1336 = load i32, ptr %758, align 4, !tbaa !5
  %1337 = tail call ptr @strerror(i32 noundef %1336) #11
  %1338 = load i32, ptr %758, align 4, !tbaa !5
  %1339 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1330, ptr noundef nonnull %.str.5.sink1007, i32 noundef %1331, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 113, ptr noundef %1333, ptr noundef %1335, ptr noundef %1337, i32 noundef %1338) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1340:                                             ; preds = %1314
  %1341 = load i32, ptr @test_count, align 4, !tbaa !5
  %1342 = add nsw i32 %1341, 1
  store i32 %1342, ptr @test_count, align 4, !tbaa !5
  %1343 = tail call i32 @s2n_config_enable_quic(ptr noundef nonnull %1262) #11
  %1344 = icmp eq i32 %1343, -1
  br i1 %1344, label %1345, label %1367

1345:                                             ; preds = %1340
  %1346 = load i32, ptr %758, align 4, !tbaa !5
  %1347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1348 = tail call i32 @s2n_print_stacktrace(ptr noundef %1347) #11
  %1349 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1350 = trunc nuw i8 %1349 to i1
  br i1 %1350, label %1351, label %1355

1351:                                             ; preds = %1345
  %1352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1353 = tail call i32 @fileno(ptr noundef %1352) #11
  %1354 = tail call i32 @isatty(i32 noundef %1353) #11
  %.not535 = icmp eq i32 %1354, 0
  br i1 %.not535, label %1355, label %1356

1355:                                             ; preds = %1351, %1345
  br label %1356

1356:                                             ; preds = %1351, %1355
  %.str.5.sink1016 = phi ptr [ @.str.5, %1355 ], [ @.str.2, %1351 ]
  store i32 %1346, ptr %758, align 4, !tbaa !5
  %1357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1358 = load i32, ptr @test_count, align 4, !tbaa !5
  %1359 = load i32, ptr %704, align 4, !tbaa !5
  %1360 = tail call ptr @s2n_strerror(i32 noundef %1359, ptr noundef nonnull @.str.4) #11
  %1361 = load i32, ptr %704, align 4, !tbaa !5
  %1362 = tail call ptr @s2n_strerror_debug(i32 noundef %1361, ptr noundef nonnull @.str.4) #11
  %1363 = load i32, ptr %758, align 4, !tbaa !5
  %1364 = tail call ptr @strerror(i32 noundef %1363) #11
  %1365 = load i32, ptr %758, align 4, !tbaa !5
  %1366 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1357, ptr noundef nonnull %.str.5.sink1016, i32 noundef %1358, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 115, ptr noundef %1360, ptr noundef %1362, ptr noundef %1364, i32 noundef %1365) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1367:                                             ; preds = %1340
  %1368 = load i32, ptr @test_count, align 4, !tbaa !5
  %1369 = add nsw i32 %1368, 1
  store i32 %1369, ptr @test_count, align 4, !tbaa !5
  %1370 = tail call zeroext i1 @s2n_connection_is_quic_enabled(ptr noundef %1023) #11
  br i1 %1370, label %1393, label %1371

1371:                                             ; preds = %1367
  %1372 = load i32, ptr %758, align 4, !tbaa !5
  %1373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1374 = tail call i32 @s2n_print_stacktrace(ptr noundef %1373) #11
  %1375 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1376 = trunc nuw i8 %1375 to i1
  br i1 %1376, label %1377, label %1381

1377:                                             ; preds = %1371
  %1378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1379 = tail call i32 @fileno(ptr noundef %1378) #11
  %1380 = tail call i32 @isatty(i32 noundef %1379) #11
  %.not437 = icmp eq i32 %1380, 0
  br i1 %.not437, label %1381, label %1382

1381:                                             ; preds = %1377, %1371
  br label %1382

1382:                                             ; preds = %1377, %1381
  %.str.5.sink1025 = phi ptr [ @.str.5, %1381 ], [ @.str.2, %1377 ]
  store i32 %1372, ptr %758, align 4, !tbaa !5
  %1383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1384 = load i32, ptr @test_count, align 4, !tbaa !5
  %1385 = load i32, ptr %704, align 4, !tbaa !5
  %1386 = tail call ptr @s2n_strerror(i32 noundef %1385, ptr noundef nonnull @.str.4) #11
  %1387 = load i32, ptr %704, align 4, !tbaa !5
  %1388 = tail call ptr @s2n_strerror_debug(i32 noundef %1387, ptr noundef nonnull @.str.4) #11
  %1389 = load i32, ptr %758, align 4, !tbaa !5
  %1390 = tail call ptr @strerror(i32 noundef %1389) #11
  %1391 = load i32, ptr %758, align 4, !tbaa !5
  %1392 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1383, ptr noundef nonnull %.str.5.sink1025, i32 noundef %1384, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 116, ptr noundef %1386, ptr noundef %1388, ptr noundef %1390, i32 noundef %1391) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1393:                                             ; preds = %1367
  %1394 = load i32, ptr @test_count, align 4, !tbaa !5
  %1395 = add nsw i32 %1394, 1
  store i32 %1395, ptr @test_count, align 4, !tbaa !5
  %1396 = tail call i32 @s2n_config_free(ptr noundef nonnull %1262) #11
  %1397 = icmp eq i32 %1396, -1
  br i1 %1397, label %1398, label %1420

1398:                                             ; preds = %1393
  %1399 = load i32, ptr %758, align 4, !tbaa !5
  %1400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1401 = tail call i32 @s2n_print_stacktrace(ptr noundef %1400) #11
  %1402 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1403 = trunc nuw i8 %1402 to i1
  br i1 %1403, label %1404, label %1408

1404:                                             ; preds = %1398
  %1405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1406 = tail call i32 @fileno(ptr noundef %1405) #11
  %1407 = tail call i32 @isatty(i32 noundef %1406) #11
  %.not534 = icmp eq i32 %1407, 0
  br i1 %.not534, label %1408, label %1409

1408:                                             ; preds = %1404, %1398
  br label %1409

1409:                                             ; preds = %1404, %1408
  %.str.5.sink1034 = phi ptr [ @.str.5, %1408 ], [ @.str.2, %1404 ]
  store i32 %1399, ptr %758, align 4, !tbaa !5
  %1410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1411 = load i32, ptr @test_count, align 4, !tbaa !5
  %1412 = load i32, ptr %704, align 4, !tbaa !5
  %1413 = tail call ptr @s2n_strerror(i32 noundef %1412, ptr noundef nonnull @.str.4) #11
  %1414 = load i32, ptr %704, align 4, !tbaa !5
  %1415 = tail call ptr @s2n_strerror_debug(i32 noundef %1414, ptr noundef nonnull @.str.4) #11
  %1416 = load i32, ptr %758, align 4, !tbaa !5
  %1417 = tail call ptr @strerror(i32 noundef %1416) #11
  %1418 = load i32, ptr %758, align 4, !tbaa !5
  %1419 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1410, ptr noundef nonnull %.str.5.sink1034, i32 noundef %1411, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 118, ptr noundef %1413, ptr noundef %1415, ptr noundef %1417, i32 noundef %1418) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1420:                                             ; preds = %1393
  %1421 = load i32, ptr @test_count, align 4, !tbaa !5
  %1422 = add nsw i32 %1421, 1
  store i32 %1422, ptr @test_count, align 4, !tbaa !5
  %1423 = tail call i32 @s2n_connection_free(ptr noundef %1023) #11
  %1424 = icmp eq i32 %1423, -1
  br i1 %1424, label %1425, label %1447

1425:                                             ; preds = %1420
  %1426 = load i32, ptr %758, align 4, !tbaa !5
  %1427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1428 = tail call i32 @s2n_print_stacktrace(ptr noundef %1427) #11
  %1429 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1430 = trunc nuw i8 %1429 to i1
  br i1 %1430, label %1431, label %1435

1431:                                             ; preds = %1425
  %1432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1433 = tail call i32 @fileno(ptr noundef %1432) #11
  %1434 = tail call i32 @isatty(i32 noundef %1433) #11
  %.not533 = icmp eq i32 %1434, 0
  br i1 %.not533, label %1435, label %1436

1435:                                             ; preds = %1431, %1425
  br label %1436

1436:                                             ; preds = %1431, %1435
  %.str.5.sink1043 = phi ptr [ @.str.5, %1435 ], [ @.str.2, %1431 ]
  store i32 %1426, ptr %758, align 4, !tbaa !5
  %1437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1438 = load i32, ptr @test_count, align 4, !tbaa !5
  %1439 = load i32, ptr %704, align 4, !tbaa !5
  %1440 = tail call ptr @s2n_strerror(i32 noundef %1439, ptr noundef nonnull @.str.4) #11
  %1441 = load i32, ptr %704, align 4, !tbaa !5
  %1442 = tail call ptr @s2n_strerror_debug(i32 noundef %1441, ptr noundef nonnull @.str.4) #11
  %1443 = load i32, ptr %758, align 4, !tbaa !5
  %1444 = tail call ptr @strerror(i32 noundef %1443) #11
  %1445 = load i32, ptr %758, align 4, !tbaa !5
  %1446 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1437, ptr noundef nonnull %.str.5.sink1043, i32 noundef %1438, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 121, ptr noundef %1440, ptr noundef %1442, ptr noundef %1444, i32 noundef %1445) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1447:                                             ; preds = %1420
  %1448 = tail call ptr @s2n_config_new() #11
  %1449 = load i32, ptr @test_count, align 4, !tbaa !5
  %1450 = add nsw i32 %1449, 1
  store i32 %1450, ptr @test_count, align 4, !tbaa !5
  %1451 = icmp eq ptr %1448, null
  br i1 %1451, label %1452, label %1474

1452:                                             ; preds = %1447
  %1453 = load i32, ptr %758, align 4, !tbaa !5
  %1454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1455 = tail call i32 @s2n_print_stacktrace(ptr noundef %1454) #11
  %1456 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1457 = trunc nuw i8 %1456 to i1
  br i1 %1457, label %1458, label %1462

1458:                                             ; preds = %1452
  %1459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1460 = tail call i32 @fileno(ptr noundef %1459) #11
  %1461 = tail call i32 @isatty(i32 noundef %1460) #11
  %.not532 = icmp eq i32 %1461, 0
  br i1 %.not532, label %1462, label %1463

1462:                                             ; preds = %1458, %1452
  br label %1463

1463:                                             ; preds = %1458, %1462
  %.str.5.sink1052 = phi ptr [ @.str.5, %1462 ], [ @.str.2, %1458 ]
  store i32 %1453, ptr %758, align 4, !tbaa !5
  %1464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1465 = load i32, ptr @test_count, align 4, !tbaa !5
  %1466 = load i32, ptr %704, align 4, !tbaa !5
  %1467 = tail call ptr @s2n_strerror(i32 noundef %1466, ptr noundef nonnull @.str.4) #11
  %1468 = load i32, ptr %704, align 4, !tbaa !5
  %1469 = tail call ptr @s2n_strerror_debug(i32 noundef %1468, ptr noundef nonnull @.str.4) #11
  %1470 = load i32, ptr %758, align 4, !tbaa !5
  %1471 = tail call ptr @strerror(i32 noundef %1470) #11
  %1472 = load i32, ptr %758, align 4, !tbaa !5
  %1473 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1464, ptr noundef nonnull %.str.5.sink1052, i32 noundef %1465, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 129, ptr noundef %1467, ptr noundef %1469, ptr noundef %1471, i32 noundef %1472) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1474:                                             ; preds = %1447
  %1475 = tail call ptr @s2n_config_new() #11
  %1476 = load i32, ptr @test_count, align 4, !tbaa !5
  %1477 = add nsw i32 %1476, 1
  store i32 %1477, ptr @test_count, align 4, !tbaa !5
  %1478 = icmp eq ptr %1475, null
  br i1 %1478, label %1479, label %1501

1479:                                             ; preds = %1474
  %1480 = load i32, ptr %758, align 4, !tbaa !5
  %1481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1482 = tail call i32 @s2n_print_stacktrace(ptr noundef %1481) #11
  %1483 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1484 = trunc nuw i8 %1483 to i1
  br i1 %1484, label %1485, label %1489

1485:                                             ; preds = %1479
  %1486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1487 = tail call i32 @fileno(ptr noundef %1486) #11
  %1488 = tail call i32 @isatty(i32 noundef %1487) #11
  %.not531 = icmp eq i32 %1488, 0
  br i1 %.not531, label %1489, label %1490

1489:                                             ; preds = %1485, %1479
  br label %1490

1490:                                             ; preds = %1485, %1489
  %.str.5.sink1061 = phi ptr [ @.str.5, %1489 ], [ @.str.2, %1485 ]
  store i32 %1480, ptr %758, align 4, !tbaa !5
  %1491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1492 = load i32, ptr @test_count, align 4, !tbaa !5
  %1493 = load i32, ptr %704, align 4, !tbaa !5
  %1494 = tail call ptr @s2n_strerror(i32 noundef %1493, ptr noundef nonnull @.str.4) #11
  %1495 = load i32, ptr %704, align 4, !tbaa !5
  %1496 = tail call ptr @s2n_strerror_debug(i32 noundef %1495, ptr noundef nonnull @.str.4) #11
  %1497 = load i32, ptr %758, align 4, !tbaa !5
  %1498 = tail call ptr @strerror(i32 noundef %1497) #11
  %1499 = load i32, ptr %758, align 4, !tbaa !5
  %1500 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1491, ptr noundef nonnull %.str.5.sink1061, i32 noundef %1492, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 132, ptr noundef %1494, ptr noundef %1496, ptr noundef %1498, i32 noundef %1499) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1501:                                             ; preds = %1474
  %1502 = add nsw i32 %1476, 2
  store i32 %1502, ptr @test_count, align 4, !tbaa !5
  %1503 = tail call i32 @s2n_config_enable_quic(ptr noundef nonnull %1475) #11
  %1504 = icmp eq i32 %1503, -1
  br i1 %1504, label %1505, label %1527

1505:                                             ; preds = %1501
  %1506 = load i32, ptr %758, align 4, !tbaa !5
  %1507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1508 = tail call i32 @s2n_print_stacktrace(ptr noundef %1507) #11
  %1509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1510 = trunc nuw i8 %1509 to i1
  br i1 %1510, label %1511, label %1515

1511:                                             ; preds = %1505
  %1512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1513 = tail call i32 @fileno(ptr noundef %1512) #11
  %1514 = tail call i32 @isatty(i32 noundef %1513) #11
  %.not530 = icmp eq i32 %1514, 0
  br i1 %.not530, label %1515, label %1516

1515:                                             ; preds = %1511, %1505
  br label %1516

1516:                                             ; preds = %1511, %1515
  %.str.5.sink1070 = phi ptr [ @.str.5, %1515 ], [ @.str.2, %1511 ]
  store i32 %1506, ptr %758, align 4, !tbaa !5
  %1517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1518 = load i32, ptr @test_count, align 4, !tbaa !5
  %1519 = load i32, ptr %704, align 4, !tbaa !5
  %1520 = tail call ptr @s2n_strerror(i32 noundef %1519, ptr noundef nonnull @.str.4) #11
  %1521 = load i32, ptr %704, align 4, !tbaa !5
  %1522 = tail call ptr @s2n_strerror_debug(i32 noundef %1521, ptr noundef nonnull @.str.4) #11
  %1523 = load i32, ptr %758, align 4, !tbaa !5
  %1524 = tail call ptr @strerror(i32 noundef %1523) #11
  %1525 = load i32, ptr %758, align 4, !tbaa !5
  %1526 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1517, ptr noundef nonnull %.str.5.sink1070, i32 noundef %1518, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 133, ptr noundef %1520, ptr noundef %1522, ptr noundef %1524, i32 noundef %1525) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1527:                                             ; preds = %1501
  %1528 = tail call ptr @s2n_connection_new(i32 noundef 1) #11
  %1529 = load i32, ptr @test_count, align 4, !tbaa !5
  %1530 = add nsw i32 %1529, 1
  store i32 %1530, ptr @test_count, align 4, !tbaa !5
  %1531 = icmp eq ptr %1528, null
  br i1 %1531, label %1532, label %1554

1532:                                             ; preds = %1527
  %1533 = load i32, ptr %758, align 4, !tbaa !5
  %1534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1535 = tail call i32 @s2n_print_stacktrace(ptr noundef %1534) #11
  %1536 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1537 = trunc nuw i8 %1536 to i1
  br i1 %1537, label %1538, label %1542

1538:                                             ; preds = %1532
  %1539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1540 = tail call i32 @fileno(ptr noundef %1539) #11
  %1541 = tail call i32 @isatty(i32 noundef %1540) #11
  %.not529 = icmp eq i32 %1541, 0
  br i1 %.not529, label %1542, label %1543

1542:                                             ; preds = %1538, %1532
  br label %1543

1543:                                             ; preds = %1538, %1542
  %.str.5.sink1079 = phi ptr [ @.str.5, %1542 ], [ @.str.2, %1538 ]
  store i32 %1533, ptr %758, align 4, !tbaa !5
  %1544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1545 = load i32, ptr @test_count, align 4, !tbaa !5
  %1546 = load i32, ptr %704, align 4, !tbaa !5
  %1547 = tail call ptr @s2n_strerror(i32 noundef %1546, ptr noundef nonnull @.str.4) #11
  %1548 = load i32, ptr %704, align 4, !tbaa !5
  %1549 = tail call ptr @s2n_strerror_debug(i32 noundef %1548, ptr noundef nonnull @.str.4) #11
  %1550 = load i32, ptr %758, align 4, !tbaa !5
  %1551 = tail call ptr @strerror(i32 noundef %1550) #11
  %1552 = load i32, ptr %758, align 4, !tbaa !5
  %1553 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1544, ptr noundef nonnull %.str.5.sink1079, i32 noundef %1545, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 136, ptr noundef %1547, ptr noundef %1549, ptr noundef %1551, i32 noundef %1552) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1554:                                             ; preds = %1527
  %1555 = add nsw i32 %1529, 2
  store i32 %1555, ptr @test_count, align 4, !tbaa !5
  %1556 = tail call zeroext i1 @s2n_connection_is_quic_enabled(ptr noundef nonnull %1528) #11
  br i1 %1556, label %1557, label %1579

1557:                                             ; preds = %1554
  %1558 = load i32, ptr %758, align 4, !tbaa !5
  %1559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1560 = tail call i32 @s2n_print_stacktrace(ptr noundef %1559) #11
  %1561 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1562 = trunc nuw i8 %1561 to i1
  br i1 %1562, label %1563, label %1567

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

1567:                                             ; preds = %1563, %1557
  br label %1568

1568:                                             ; preds = %1563, %1567
  %.str.5.sink1088 = phi ptr [ @.str.5, %1567 ], [ @.str.2, %1563 ]
  store i32 %1558, ptr %758, align 4, !tbaa !5
  %1569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1570 = load i32, ptr @test_count, align 4, !tbaa !5
  %1571 = load i32, ptr %704, align 4, !tbaa !5
  %1572 = tail call ptr @s2n_strerror(i32 noundef %1571, ptr noundef nonnull @.str.4) #11
  %1573 = load i32, ptr %704, align 4, !tbaa !5
  %1574 = tail call ptr @s2n_strerror_debug(i32 noundef %1573, ptr noundef nonnull @.str.4) #11
  %1575 = load i32, ptr %758, align 4, !tbaa !5
  %1576 = tail call ptr @strerror(i32 noundef %1575) #11
  %1577 = load i32, ptr %758, align 4, !tbaa !5
  %1578 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1569, ptr noundef nonnull %.str.5.sink1088, i32 noundef %1570, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 138, ptr noundef %1572, ptr noundef %1574, ptr noundef %1576, i32 noundef %1577) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1579:                                             ; preds = %1554
  %1580 = load i32, ptr @test_count, align 4, !tbaa !5
  %1581 = add nsw i32 %1580, 1
  store i32 %1581, ptr @test_count, align 4, !tbaa !5
  %1582 = tail call i32 @s2n_connection_set_config(ptr noundef nonnull %1528, ptr noundef nonnull %1448) #11
  %1583 = icmp eq i32 %1582, -1
  br i1 %1583, label %1584, label %1606

1584:                                             ; preds = %1579
  %1585 = load i32, ptr %758, align 4, !tbaa !5
  %1586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1587 = tail call i32 @s2n_print_stacktrace(ptr noundef %1586) #11
  %1588 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1589 = trunc nuw i8 %1588 to i1
  br i1 %1589, label %1590, label %1594

1590:                                             ; preds = %1584
  %1591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1592 = tail call i32 @fileno(ptr noundef %1591) #11
  %1593 = tail call i32 @isatty(i32 noundef %1592) #11
  %.not527 = icmp eq i32 %1593, 0
  br i1 %.not527, label %1594, label %1595

1594:                                             ; preds = %1590, %1584
  br label %1595

1595:                                             ; preds = %1590, %1594
  %.str.5.sink1097 = phi ptr [ @.str.5, %1594 ], [ @.str.2, %1590 ]
  store i32 %1585, ptr %758, align 4, !tbaa !5
  %1596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1597 = load i32, ptr @test_count, align 4, !tbaa !5
  %1598 = load i32, ptr %704, align 4, !tbaa !5
  %1599 = tail call ptr @s2n_strerror(i32 noundef %1598, ptr noundef nonnull @.str.4) #11
  %1600 = load i32, ptr %704, align 4, !tbaa !5
  %1601 = tail call ptr @s2n_strerror_debug(i32 noundef %1600, ptr noundef nonnull @.str.4) #11
  %1602 = load i32, ptr %758, align 4, !tbaa !5
  %1603 = tail call ptr @strerror(i32 noundef %1602) #11
  %1604 = load i32, ptr %758, align 4, !tbaa !5
  %1605 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1596, ptr noundef nonnull %.str.5.sink1097, i32 noundef %1597, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 139, ptr noundef %1599, ptr noundef %1601, ptr noundef %1603, i32 noundef %1604) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1606:                                             ; preds = %1579
  %1607 = load i32, ptr @test_count, align 4, !tbaa !5
  %1608 = add nsw i32 %1607, 1
  store i32 %1608, ptr @test_count, align 4, !tbaa !5
  %1609 = tail call zeroext i1 @s2n_connection_is_quic_enabled(ptr noundef nonnull %1528) #11
  br i1 %1609, label %1610, label %1632

1610:                                             ; preds = %1606
  %1611 = load i32, ptr %758, align 4, !tbaa !5
  %1612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1613 = tail call i32 @s2n_print_stacktrace(ptr noundef %1612) #11
  %1614 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1615 = trunc nuw i8 %1614 to i1
  br i1 %1615, label %1616, label %1620

1616:                                             ; preds = %1610
  %1617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1618 = tail call i32 @fileno(ptr noundef %1617) #11
  %1619 = tail call i32 @isatty(i32 noundef %1618) #11
  %.not526 = icmp eq i32 %1619, 0
  br i1 %.not526, label %1620, label %1621

1620:                                             ; preds = %1616, %1610
  br label %1621

1621:                                             ; preds = %1616, %1620
  %.str.5.sink1106 = phi ptr [ @.str.5, %1620 ], [ @.str.2, %1616 ]
  store i32 %1611, ptr %758, align 4, !tbaa !5
  %1622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1623 = load i32, ptr @test_count, align 4, !tbaa !5
  %1624 = load i32, ptr %704, align 4, !tbaa !5
  %1625 = tail call ptr @s2n_strerror(i32 noundef %1624, ptr noundef nonnull @.str.4) #11
  %1626 = load i32, ptr %704, align 4, !tbaa !5
  %1627 = tail call ptr @s2n_strerror_debug(i32 noundef %1626, ptr noundef nonnull @.str.4) #11
  %1628 = load i32, ptr %758, align 4, !tbaa !5
  %1629 = tail call ptr @strerror(i32 noundef %1628) #11
  %1630 = load i32, ptr %758, align 4, !tbaa !5
  %1631 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1622, ptr noundef nonnull %.str.5.sink1106, i32 noundef %1623, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 140, ptr noundef %1625, ptr noundef %1627, ptr noundef %1629, i32 noundef %1630) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1632:                                             ; preds = %1606
  %1633 = load i32, ptr @test_count, align 4, !tbaa !5
  %1634 = add nsw i32 %1633, 1
  store i32 %1634, ptr @test_count, align 4, !tbaa !5
  %1635 = tail call i32 @s2n_connection_set_config(ptr noundef nonnull %1528, ptr noundef nonnull %1475) #11
  %1636 = icmp eq i32 %1635, -1
  br i1 %1636, label %1637, label %1659

1637:                                             ; preds = %1632
  %1638 = load i32, ptr %758, align 4, !tbaa !5
  %1639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1640 = tail call i32 @s2n_print_stacktrace(ptr noundef %1639) #11
  %1641 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1642 = trunc nuw i8 %1641 to i1
  br i1 %1642, label %1643, label %1647

1643:                                             ; preds = %1637
  %1644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1645 = tail call i32 @fileno(ptr noundef %1644) #11
  %1646 = tail call i32 @isatty(i32 noundef %1645) #11
  %.not525 = icmp eq i32 %1646, 0
  br i1 %.not525, label %1647, label %1648

1647:                                             ; preds = %1643, %1637
  br label %1648

1648:                                             ; preds = %1643, %1647
  %.str.5.sink1115 = phi ptr [ @.str.5, %1647 ], [ @.str.2, %1643 ]
  store i32 %1638, ptr %758, align 4, !tbaa !5
  %1649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1650 = load i32, ptr @test_count, align 4, !tbaa !5
  %1651 = load i32, ptr %704, align 4, !tbaa !5
  %1652 = tail call ptr @s2n_strerror(i32 noundef %1651, ptr noundef nonnull @.str.4) #11
  %1653 = load i32, ptr %704, align 4, !tbaa !5
  %1654 = tail call ptr @s2n_strerror_debug(i32 noundef %1653, ptr noundef nonnull @.str.4) #11
  %1655 = load i32, ptr %758, align 4, !tbaa !5
  %1656 = tail call ptr @strerror(i32 noundef %1655) #11
  %1657 = load i32, ptr %758, align 4, !tbaa !5
  %1658 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1649, ptr noundef nonnull %.str.5.sink1115, i32 noundef %1650, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 141, ptr noundef %1652, ptr noundef %1654, ptr noundef %1656, i32 noundef %1657) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1659:                                             ; preds = %1632
  %1660 = load i32, ptr @test_count, align 4, !tbaa !5
  %1661 = add nsw i32 %1660, 1
  store i32 %1661, ptr @test_count, align 4, !tbaa !5
  %1662 = tail call zeroext i1 @s2n_connection_is_quic_enabled(ptr noundef nonnull %1528) #11
  br i1 %1662, label %1685, label %1663

1663:                                             ; preds = %1659
  %1664 = load i32, ptr %758, align 4, !tbaa !5
  %1665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1666 = tail call i32 @s2n_print_stacktrace(ptr noundef %1665) #11
  %1667 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1668 = trunc nuw i8 %1667 to i1
  br i1 %1668, label %1669, label %1673

1669:                                             ; preds = %1663
  %1670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1671 = tail call i32 @fileno(ptr noundef %1670) #11
  %1672 = tail call i32 @isatty(i32 noundef %1671) #11
  %.not438 = icmp eq i32 %1672, 0
  br i1 %.not438, label %1673, label %1674

1673:                                             ; preds = %1669, %1663
  br label %1674

1674:                                             ; preds = %1669, %1673
  %.str.5.sink1124 = phi ptr [ @.str.5, %1673 ], [ @.str.2, %1669 ]
  store i32 %1664, ptr %758, align 4, !tbaa !5
  %1675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1676 = load i32, ptr @test_count, align 4, !tbaa !5
  %1677 = load i32, ptr %704, align 4, !tbaa !5
  %1678 = tail call ptr @s2n_strerror(i32 noundef %1677, ptr noundef nonnull @.str.4) #11
  %1679 = load i32, ptr %704, align 4, !tbaa !5
  %1680 = tail call ptr @s2n_strerror_debug(i32 noundef %1679, ptr noundef nonnull @.str.4) #11
  %1681 = load i32, ptr %758, align 4, !tbaa !5
  %1682 = tail call ptr @strerror(i32 noundef %1681) #11
  %1683 = load i32, ptr %758, align 4, !tbaa !5
  %1684 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1675, ptr noundef nonnull %.str.5.sink1124, i32 noundef %1676, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 142, ptr noundef %1678, ptr noundef %1680, ptr noundef %1682, i32 noundef %1683) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1685:                                             ; preds = %1659
  %1686 = load i32, ptr @test_count, align 4, !tbaa !5
  %1687 = add nsw i32 %1686, 1
  store i32 %1687, ptr @test_count, align 4, !tbaa !5
  %1688 = tail call i32 @s2n_connection_set_config(ptr noundef nonnull %1528, ptr noundef nonnull %1448) #11
  %1689 = icmp eq i32 %1688, -1
  br i1 %1689, label %1690, label %1712

1690:                                             ; preds = %1685
  %1691 = load i32, ptr %758, align 4, !tbaa !5
  %1692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1693 = tail call i32 @s2n_print_stacktrace(ptr noundef %1692) #11
  %1694 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1695 = trunc nuw i8 %1694 to i1
  br i1 %1695, label %1696, label %1700

1696:                                             ; preds = %1690
  %1697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1698 = tail call i32 @fileno(ptr noundef %1697) #11
  %1699 = tail call i32 @isatty(i32 noundef %1698) #11
  %.not524 = icmp eq i32 %1699, 0
  br i1 %.not524, label %1700, label %1701

1700:                                             ; preds = %1696, %1690
  br label %1701

1701:                                             ; preds = %1696, %1700
  %.str.5.sink1133 = phi ptr [ @.str.5, %1700 ], [ @.str.2, %1696 ]
  store i32 %1691, ptr %758, align 4, !tbaa !5
  %1702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1703 = load i32, ptr @test_count, align 4, !tbaa !5
  %1704 = load i32, ptr %704, align 4, !tbaa !5
  %1705 = tail call ptr @s2n_strerror(i32 noundef %1704, ptr noundef nonnull @.str.4) #11
  %1706 = load i32, ptr %704, align 4, !tbaa !5
  %1707 = tail call ptr @s2n_strerror_debug(i32 noundef %1706, ptr noundef nonnull @.str.4) #11
  %1708 = load i32, ptr %758, align 4, !tbaa !5
  %1709 = tail call ptr @strerror(i32 noundef %1708) #11
  %1710 = load i32, ptr %758, align 4, !tbaa !5
  %1711 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1702, ptr noundef nonnull %.str.5.sink1133, i32 noundef %1703, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 143, ptr noundef %1705, ptr noundef %1707, ptr noundef %1709, i32 noundef %1710) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1712:                                             ; preds = %1685
  %1713 = load i32, ptr @test_count, align 4, !tbaa !5
  %1714 = add nsw i32 %1713, 1
  store i32 %1714, ptr @test_count, align 4, !tbaa !5
  %1715 = tail call zeroext i1 @s2n_connection_is_quic_enabled(ptr noundef nonnull %1528) #11
  br i1 %1715, label %1738, label %1716

1716:                                             ; preds = %1712
  %1717 = load i32, ptr %758, align 4, !tbaa !5
  %1718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1719 = tail call i32 @s2n_print_stacktrace(ptr noundef %1718) #11
  %1720 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1721 = trunc nuw i8 %1720 to i1
  br i1 %1721, label %1722, label %1726

1722:                                             ; preds = %1716
  %1723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1724 = tail call i32 @fileno(ptr noundef %1723) #11
  %1725 = tail call i32 @isatty(i32 noundef %1724) #11
  %.not439 = icmp eq i32 %1725, 0
  br i1 %.not439, label %1726, label %1727

1726:                                             ; preds = %1722, %1716
  br label %1727

1727:                                             ; preds = %1722, %1726
  %.str.5.sink1142 = phi ptr [ @.str.5, %1726 ], [ @.str.2, %1722 ]
  store i32 %1717, ptr %758, align 4, !tbaa !5
  %1728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1729 = load i32, ptr @test_count, align 4, !tbaa !5
  %1730 = load i32, ptr %704, align 4, !tbaa !5
  %1731 = tail call ptr @s2n_strerror(i32 noundef %1730, ptr noundef nonnull @.str.4) #11
  %1732 = load i32, ptr %704, align 4, !tbaa !5
  %1733 = tail call ptr @s2n_strerror_debug(i32 noundef %1732, ptr noundef nonnull @.str.4) #11
  %1734 = load i32, ptr %758, align 4, !tbaa !5
  %1735 = tail call ptr @strerror(i32 noundef %1734) #11
  %1736 = load i32, ptr %758, align 4, !tbaa !5
  %1737 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1728, ptr noundef nonnull %.str.5.sink1142, i32 noundef %1729, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 144, ptr noundef %1731, ptr noundef %1733, ptr noundef %1735, i32 noundef %1736) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1738:                                             ; preds = %1712
  %1739 = load i32, ptr @test_count, align 4, !tbaa !5
  %1740 = add nsw i32 %1739, 1
  store i32 %1740, ptr @test_count, align 4, !tbaa !5
  %1741 = tail call i32 @s2n_config_free(ptr noundef nonnull %1448) #11
  %1742 = icmp eq i32 %1741, -1
  br i1 %1742, label %1743, label %1765

1743:                                             ; preds = %1738
  %1744 = load i32, ptr %758, align 4, !tbaa !5
  %1745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1746 = tail call i32 @s2n_print_stacktrace(ptr noundef %1745) #11
  %1747 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1748 = trunc nuw i8 %1747 to i1
  br i1 %1748, label %1749, label %1753

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

1753:                                             ; preds = %1749, %1743
  br label %1754

1754:                                             ; preds = %1749, %1753
  %.str.5.sink1151 = phi ptr [ @.str.5, %1753 ], [ @.str.2, %1749 ]
  store i32 %1744, ptr %758, align 4, !tbaa !5
  %1755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1756 = load i32, ptr @test_count, align 4, !tbaa !5
  %1757 = load i32, ptr %704, align 4, !tbaa !5
  %1758 = tail call ptr @s2n_strerror(i32 noundef %1757, ptr noundef nonnull @.str.4) #11
  %1759 = load i32, ptr %704, align 4, !tbaa !5
  %1760 = tail call ptr @s2n_strerror_debug(i32 noundef %1759, ptr noundef nonnull @.str.4) #11
  %1761 = load i32, ptr %758, align 4, !tbaa !5
  %1762 = tail call ptr @strerror(i32 noundef %1761) #11
  %1763 = load i32, ptr %758, align 4, !tbaa !5
  %1764 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1755, ptr noundef nonnull %.str.5.sink1151, i32 noundef %1756, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 146, ptr noundef %1758, ptr noundef %1760, ptr noundef %1762, i32 noundef %1763) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1765:                                             ; preds = %1738
  %1766 = load i32, ptr @test_count, align 4, !tbaa !5
  %1767 = add nsw i32 %1766, 1
  store i32 %1767, ptr @test_count, align 4, !tbaa !5
  %1768 = tail call i32 @s2n_config_free(ptr noundef nonnull %1475) #11
  %1769 = icmp eq i32 %1768, -1
  br i1 %1769, label %1770, label %1792

1770:                                             ; preds = %1765
  %1771 = load i32, ptr %758, align 4, !tbaa !5
  %1772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1773 = tail call i32 @s2n_print_stacktrace(ptr noundef %1772) #11
  %1774 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1775 = trunc nuw i8 %1774 to i1
  br i1 %1775, label %1776, label %1780

1776:                                             ; preds = %1770
  %1777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1778 = tail call i32 @fileno(ptr noundef %1777) #11
  %1779 = tail call i32 @isatty(i32 noundef %1778) #11
  %.not522 = icmp eq i32 %1779, 0
  br i1 %.not522, label %1780, label %1781

1780:                                             ; preds = %1776, %1770
  br label %1781

1781:                                             ; preds = %1776, %1780
  %.str.5.sink1160 = phi ptr [ @.str.5, %1780 ], [ @.str.2, %1776 ]
  store i32 %1771, ptr %758, align 4, !tbaa !5
  %1782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1783 = load i32, ptr @test_count, align 4, !tbaa !5
  %1784 = load i32, ptr %704, align 4, !tbaa !5
  %1785 = tail call ptr @s2n_strerror(i32 noundef %1784, ptr noundef nonnull @.str.4) #11
  %1786 = load i32, ptr %704, align 4, !tbaa !5
  %1787 = tail call ptr @s2n_strerror_debug(i32 noundef %1786, ptr noundef nonnull @.str.4) #11
  %1788 = load i32, ptr %758, align 4, !tbaa !5
  %1789 = tail call ptr @strerror(i32 noundef %1788) #11
  %1790 = load i32, ptr %758, align 4, !tbaa !5
  %1791 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1782, ptr noundef nonnull %.str.5.sink1160, i32 noundef %1783, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 147, ptr noundef %1785, ptr noundef %1787, ptr noundef %1789, i32 noundef %1790) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1792:                                             ; preds = %1765
  %1793 = load i32, ptr @test_count, align 4, !tbaa !5
  %1794 = add nsw i32 %1793, 1
  store i32 %1794, ptr @test_count, align 4, !tbaa !5
  %1795 = tail call i32 @s2n_connection_free(ptr noundef nonnull %1528) #11
  %1796 = icmp eq i32 %1795, -1
  br i1 %1796, label %1797, label %1819

1797:                                             ; preds = %1792
  %1798 = load i32, ptr %758, align 4, !tbaa !5
  %1799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1800 = tail call i32 @s2n_print_stacktrace(ptr noundef %1799) #11
  %1801 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1802 = trunc nuw i8 %1801 to i1
  br i1 %1802, label %1803, label %1807

1803:                                             ; preds = %1797
  %1804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1805 = tail call i32 @fileno(ptr noundef %1804) #11
  %1806 = tail call i32 @isatty(i32 noundef %1805) #11
  %.not521 = icmp eq i32 %1806, 0
  br i1 %.not521, label %1807, label %1808

1807:                                             ; preds = %1803, %1797
  br label %1808

1808:                                             ; preds = %1803, %1807
  %.str.5.sink1169 = phi ptr [ @.str.5, %1807 ], [ @.str.2, %1803 ]
  store i32 %1798, ptr %758, align 4, !tbaa !5
  %1809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1810 = load i32, ptr @test_count, align 4, !tbaa !5
  %1811 = load i32, ptr %704, align 4, !tbaa !5
  %1812 = tail call ptr @s2n_strerror(i32 noundef %1811, ptr noundef nonnull @.str.4) #11
  %1813 = load i32, ptr %704, align 4, !tbaa !5
  %1814 = tail call ptr @s2n_strerror_debug(i32 noundef %1813, ptr noundef nonnull @.str.4) #11
  %1815 = load i32, ptr %758, align 4, !tbaa !5
  %1816 = tail call ptr @strerror(i32 noundef %1815) #11
  %1817 = load i32, ptr %758, align 4, !tbaa !5
  %1818 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1809, ptr noundef nonnull %.str.5.sink1169, i32 noundef %1810, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 148, ptr noundef %1812, ptr noundef %1814, ptr noundef %1816, i32 noundef %1817) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1819:                                             ; preds = %1792
  call void @llvm.lifetime.start.p0(i64 4184, ptr nonnull %3) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(4184) %3, i8 0, i64 4184, i1 false)
  %1820 = load i32, ptr @test_count, align 4, !tbaa !5
  %1821 = add nsw i32 %1820, 1
  store i32 %1821, ptr @test_count, align 4, !tbaa !5
  %1822 = tail call i32 @s2n_connection_set_quic_transport_parameters(ptr noundef null, ptr noundef nonnull @TEST_DATA, i16 noundef zeroext 5) #11
  %1823 = icmp eq i32 %1822, -1
  br i1 %1823, label %1846, label %1824

1824:                                             ; preds = %1819
  %1825 = load i32, ptr %758, align 4, !tbaa !5
  %1826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1827 = tail call i32 @s2n_print_stacktrace(ptr noundef %1826) #11
  %1828 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1829 = trunc nuw i8 %1828 to i1
  br i1 %1829, label %1830, label %1834

1830:                                             ; preds = %1824
  %1831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1832 = tail call i32 @fileno(ptr noundef %1831) #11
  %1833 = tail call i32 @isatty(i32 noundef %1832) #11
  %.not440 = icmp eq i32 %1833, 0
  br i1 %.not440, label %1834, label %1835

1834:                                             ; preds = %1830, %1824
  br label %1835

1835:                                             ; preds = %1830, %1834
  %.str.5.sink1178 = phi ptr [ @.str.5, %1834 ], [ @.str.2, %1830 ]
  store i32 %1825, ptr %758, align 4, !tbaa !5
  %1836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1837 = load i32, ptr @test_count, align 4, !tbaa !5
  %1838 = load i32, ptr %704, align 4, !tbaa !5
  %1839 = tail call ptr @s2n_strerror(i32 noundef %1838, ptr noundef nonnull @.str.4) #11
  %1840 = load i32, ptr %704, align 4, !tbaa !5
  %1841 = tail call ptr @s2n_strerror_debug(i32 noundef %1840, ptr noundef nonnull @.str.4) #11
  %1842 = load i32, ptr %758, align 4, !tbaa !5
  %1843 = tail call ptr @strerror(i32 noundef %1842) #11
  %1844 = load i32, ptr %758, align 4, !tbaa !5
  %1845 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1836, ptr noundef nonnull %.str.5.sink1178, i32 noundef %1837, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 157, ptr noundef %1839, ptr noundef %1841, ptr noundef %1843, i32 noundef %1844) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1846:                                             ; preds = %1819
  %1847 = load i32, ptr @test_count, align 4, !tbaa !5
  %1848 = add nsw i32 %1847, 1
  store i32 %1848, ptr @test_count, align 4, !tbaa !5
  %1849 = load i32, ptr %704, align 4, !tbaa !5
  %1850 = icmp eq i32 %1849, 402653193
  br i1 %1850, label %1873, label %1851

1851:                                             ; preds = %1846
  %1852 = load i32, ptr %758, align 4, !tbaa !5
  %1853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1854 = tail call i32 @s2n_print_stacktrace(ptr noundef %1853) #11
  %1855 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1856 = trunc nuw i8 %1855 to i1
  br i1 %1856, label %1857, label %1861

1857:                                             ; preds = %1851
  %1858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1859 = tail call i32 @fileno(ptr noundef %1858) #11
  %1860 = tail call i32 @isatty(i32 noundef %1859) #11
  %.not441 = icmp eq i32 %1860, 0
  br i1 %.not441, label %1861, label %1862

1861:                                             ; preds = %1857, %1851
  br label %1862

1862:                                             ; preds = %1857, %1861
  %.str.5.sink1187 = phi ptr [ @.str.5, %1861 ], [ @.str.2, %1857 ]
  store i32 %1852, ptr %758, align 4, !tbaa !5
  %1863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1864 = load i32, ptr @test_count, align 4, !tbaa !5
  %1865 = load i32, ptr %704, align 4, !tbaa !5
  %1866 = tail call ptr @s2n_strerror(i32 noundef %1865, ptr noundef nonnull @.str.4) #11
  %1867 = load i32, ptr %704, align 4, !tbaa !5
  %1868 = tail call ptr @s2n_strerror_debug(i32 noundef %1867, ptr noundef nonnull @.str.4) #11
  %1869 = load i32, ptr %758, align 4, !tbaa !5
  %1870 = tail call ptr @strerror(i32 noundef %1869) #11
  %1871 = load i32, ptr %758, align 4, !tbaa !5
  %1872 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1863, ptr noundef nonnull %.str.5.sink1187, i32 noundef %1864, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 157, ptr noundef %1866, ptr noundef %1868, ptr noundef %1870, i32 noundef %1871) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1873:                                             ; preds = %1846
  %1874 = add nsw i32 %1847, 2
  store i32 %1874, ptr @test_count, align 4, !tbaa !5
  %1875 = tail call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #11
  %1876 = icmp eq ptr %1875, null
  br i1 %1876, label %1877, label %1899

1877:                                             ; preds = %1873
  %1878 = load i32, ptr %758, align 4, !tbaa !5
  %1879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1880 = tail call i32 @s2n_print_stacktrace(ptr noundef %1879) #11
  %1881 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1882 = trunc nuw i8 %1881 to i1
  br i1 %1882, label %1883, label %1887

1883:                                             ; preds = %1877
  %1884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1885 = tail call i32 @fileno(ptr noundef %1884) #11
  %1886 = tail call i32 @isatty(i32 noundef %1885) #11
  %.not520 = icmp eq i32 %1886, 0
  br i1 %.not520, label %1887, label %1888

1887:                                             ; preds = %1883, %1877
  br label %1888

1888:                                             ; preds = %1883, %1887
  %.str.5.sink1196 = phi ptr [ @.str.5, %1887 ], [ @.str.2, %1883 ]
  store i32 %1878, ptr %758, align 4, !tbaa !5
  %1889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1890 = load i32, ptr @test_count, align 4, !tbaa !5
  %1891 = load i32, ptr %704, align 4, !tbaa !5
  %1892 = tail call ptr @s2n_strerror(i32 noundef %1891, ptr noundef nonnull @.str.4) #11
  %1893 = load i32, ptr %704, align 4, !tbaa !5
  %1894 = tail call ptr @s2n_strerror_debug(i32 noundef %1893, ptr noundef nonnull @.str.4) #11
  %1895 = load i32, ptr %758, align 4, !tbaa !5
  %1896 = tail call ptr @strerror(i32 noundef %1895) #11
  %1897 = load i32, ptr %758, align 4, !tbaa !5
  %1898 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1889, ptr noundef nonnull %.str.5.sink1196, i32 noundef %1890, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 157, ptr noundef %1892, ptr noundef %1894, ptr noundef %1896, i32 noundef %1897) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

1899:                                             ; preds = %1873
  store i32 0, ptr %704, align 4, !tbaa !5
  tail call void @s2n_debug_info_reset() #11
  store i32 0, ptr %758, align 4, !tbaa !5
  %1900 = load i32, ptr @test_count, align 4, !tbaa !5
  %1901 = add nsw i32 %1900, 1
  store i32 %1901, ptr @test_count, align 4, !tbaa !5
  %1902 = call i32 @s2n_connection_set_quic_transport_parameters(ptr noundef nonnull %3, ptr noundef null, i16 noundef zeroext 5) #11
  %1903 = icmp eq i32 %1902, -1
  br i1 %1903, label %1926, label %1904

1904:                                             ; preds = %1899
  %1905 = load i32, ptr %758, align 4, !tbaa !5
  %1906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1907 = call i32 @s2n_print_stacktrace(ptr noundef %1906) #11
  %1908 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1909 = trunc nuw i8 %1908 to i1
  br i1 %1909, label %1910, label %1914

1910:                                             ; preds = %1904
  %1911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1912 = call i32 @fileno(ptr noundef %1911) #11
  %1913 = call i32 @isatty(i32 noundef %1912) #11
  %.not442 = icmp eq i32 %1913, 0
  br i1 %.not442, label %1914, label %1915

1914:                                             ; preds = %1910, %1904
  br label %1915

1915:                                             ; preds = %1910, %1914
  %.str.5.sink1205 = phi ptr [ @.str.5, %1914 ], [ @.str.2, %1910 ]
  store i32 %1905, ptr %758, align 4, !tbaa !5
  %1916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1917 = load i32, ptr @test_count, align 4, !tbaa !5
  %1918 = load i32, ptr %704, align 4, !tbaa !5
  %1919 = call ptr @s2n_strerror(i32 noundef %1918, ptr noundef nonnull @.str.4) #11
  %1920 = load i32, ptr %704, align 4, !tbaa !5
  %1921 = call ptr @s2n_strerror_debug(i32 noundef %1920, ptr noundef nonnull @.str.4) #11
  %1922 = load i32, ptr %758, align 4, !tbaa !5
  %1923 = call ptr @strerror(i32 noundef %1922) #11
  %1924 = load i32, ptr %758, align 4, !tbaa !5
  %1925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1916, ptr noundef nonnull %.str.5.sink1205, i32 noundef %1917, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 159, ptr noundef %1919, ptr noundef %1921, ptr noundef %1923, i32 noundef %1924) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1926:                                             ; preds = %1899
  %1927 = load i32, ptr @test_count, align 4, !tbaa !5
  %1928 = add nsw i32 %1927, 1
  store i32 %1928, ptr @test_count, align 4, !tbaa !5
  %1929 = load i32, ptr %704, align 4, !tbaa !5
  %1930 = icmp eq i32 %1929, 402653193
  br i1 %1930, label %1953, label %1931

1931:                                             ; preds = %1926
  %1932 = load i32, ptr %758, align 4, !tbaa !5
  %1933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1934 = call i32 @s2n_print_stacktrace(ptr noundef %1933) #11
  %1935 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1936 = trunc nuw i8 %1935 to i1
  br i1 %1936, label %1937, label %1941

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

1941:                                             ; preds = %1937, %1931
  br label %1942

1942:                                             ; preds = %1937, %1941
  %.str.5.sink1214 = phi ptr [ @.str.5, %1941 ], [ @.str.2, %1937 ]
  store i32 %1932, ptr %758, align 4, !tbaa !5
  %1943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1944 = load i32, ptr @test_count, align 4, !tbaa !5
  %1945 = load i32, ptr %704, align 4, !tbaa !5
  %1946 = call ptr @s2n_strerror(i32 noundef %1945, ptr noundef nonnull @.str.4) #11
  %1947 = load i32, ptr %704, align 4, !tbaa !5
  %1948 = call ptr @s2n_strerror_debug(i32 noundef %1947, ptr noundef nonnull @.str.4) #11
  %1949 = load i32, ptr %758, align 4, !tbaa !5
  %1950 = call ptr @strerror(i32 noundef %1949) #11
  %1951 = load i32, ptr %758, align 4, !tbaa !5
  %1952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1943, ptr noundef nonnull %.str.5.sink1214, i32 noundef %1944, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 159, ptr noundef %1946, ptr noundef %1948, ptr noundef %1950, i32 noundef %1951) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1953:                                             ; preds = %1926
  %1954 = add nsw i32 %1927, 2
  store i32 %1954, ptr @test_count, align 4, !tbaa !5
  %1955 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #11
  %1956 = icmp eq ptr %1955, null
  br i1 %1956, label %1957, label %1979

1957:                                             ; preds = %1953
  %1958 = load i32, ptr %758, align 4, !tbaa !5
  %1959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1960 = call i32 @s2n_print_stacktrace(ptr noundef %1959) #11
  %1961 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1962 = trunc nuw i8 %1961 to i1
  br i1 %1962, label %1963, label %1967

1963:                                             ; preds = %1957
  %1964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1965 = call i32 @fileno(ptr noundef %1964) #11
  %1966 = call i32 @isatty(i32 noundef %1965) #11
  %.not519 = icmp eq i32 %1966, 0
  br i1 %.not519, label %1967, label %1968

1967:                                             ; preds = %1963, %1957
  br label %1968

1968:                                             ; preds = %1963, %1967
  %.str.5.sink1223 = phi ptr [ @.str.5, %1967 ], [ @.str.2, %1963 ]
  store i32 %1958, ptr %758, align 4, !tbaa !5
  %1969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1970 = load i32, ptr @test_count, align 4, !tbaa !5
  %1971 = load i32, ptr %704, align 4, !tbaa !5
  %1972 = call ptr @s2n_strerror(i32 noundef %1971, ptr noundef nonnull @.str.4) #11
  %1973 = load i32, ptr %704, align 4, !tbaa !5
  %1974 = call ptr @s2n_strerror_debug(i32 noundef %1973, ptr noundef nonnull @.str.4) #11
  %1975 = load i32, ptr %758, align 4, !tbaa !5
  %1976 = call ptr @strerror(i32 noundef %1975) #11
  %1977 = load i32, ptr %758, align 4, !tbaa !5
  %1978 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1969, ptr noundef nonnull %.str.5.sink1223, i32 noundef %1970, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 159, ptr noundef %1972, ptr noundef %1974, ptr noundef %1976, i32 noundef %1977) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1979:                                             ; preds = %1953
  store i32 0, ptr %704, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %758, align 4, !tbaa !5
  %1980 = load i32, ptr @test_count, align 4, !tbaa !5
  %1981 = add nsw i32 %1980, 1
  store i32 %1981, ptr @test_count, align 4, !tbaa !5
  %1982 = call i32 @s2n_connection_set_quic_transport_parameters(ptr noundef nonnull %3, ptr noundef nonnull @TEST_DATA, i16 noundef zeroext 0) #11
  %1983 = icmp eq i32 %1982, -1
  br i1 %1983, label %1984, label %2006

1984:                                             ; preds = %1979
  %1985 = load i32, ptr %758, align 4, !tbaa !5
  %1986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1987 = call i32 @s2n_print_stacktrace(ptr noundef %1986) #11
  %1988 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1989 = trunc nuw i8 %1988 to i1
  br i1 %1989, label %1990, label %1994

1990:                                             ; preds = %1984
  %1991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1992 = call i32 @fileno(ptr noundef %1991) #11
  %1993 = call i32 @isatty(i32 noundef %1992) #11
  %.not518 = icmp eq i32 %1993, 0
  br i1 %.not518, label %1994, label %1995

1994:                                             ; preds = %1990, %1984
  br label %1995

1995:                                             ; preds = %1990, %1994
  %.str.5.sink1232 = phi ptr [ @.str.5, %1994 ], [ @.str.2, %1990 ]
  store i32 %1985, ptr %758, align 4, !tbaa !5
  %1996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1997 = load i32, ptr @test_count, align 4, !tbaa !5
  %1998 = load i32, ptr %704, align 4, !tbaa !5
  %1999 = call ptr @s2n_strerror(i32 noundef %1998, ptr noundef nonnull @.str.4) #11
  %2000 = load i32, ptr %704, align 4, !tbaa !5
  %2001 = call ptr @s2n_strerror_debug(i32 noundef %2000, ptr noundef nonnull @.str.4) #11
  %2002 = load i32, ptr %758, align 4, !tbaa !5
  %2003 = call ptr @strerror(i32 noundef %2002) #11
  %2004 = load i32, ptr %758, align 4, !tbaa !5
  %2005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1996, ptr noundef nonnull %.str.5.sink1232, i32 noundef %1997, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 160, ptr noundef %1999, ptr noundef %2001, ptr noundef %2003, i32 noundef %2004) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2006:                                             ; preds = %1979
  %2007 = load i32, ptr @test_count, align 4, !tbaa !5
  %2008 = add nsw i32 %2007, 1
  store i32 %2008, ptr @test_count, align 4, !tbaa !5
  %2009 = getelementptr inbounds i8, ptr %3, i64 2856
  %2010 = load i32, ptr %2009, align 8, !tbaa !42
  %2011 = icmp eq i32 %2010, 0
  br i1 %2011, label %2034, label %2012

2012:                                             ; preds = %2006
  %2013 = load i32, ptr %758, align 4, !tbaa !5
  %2014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2015 = call i32 @s2n_print_stacktrace(ptr noundef %2014) #11
  %2016 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2017 = trunc nuw i8 %2016 to i1
  br i1 %2017, label %2018, label %2022

2018:                                             ; preds = %2012
  %2019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2020 = call i32 @fileno(ptr noundef %2019) #11
  %2021 = call i32 @isatty(i32 noundef %2020) #11
  %.not444 = icmp eq i32 %2021, 0
  br i1 %.not444, label %2022, label %2023

2022:                                             ; preds = %2018, %2012
  br label %2023

2023:                                             ; preds = %2018, %2022
  %.str.5.sink1241 = phi ptr [ @.str.5, %2022 ], [ @.str.2, %2018 ]
  store i32 %2013, ptr %758, align 4, !tbaa !5
  %2024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2025 = load i32, ptr @test_count, align 4, !tbaa !5
  %2026 = load i32, ptr %704, align 4, !tbaa !5
  %2027 = call ptr @s2n_strerror(i32 noundef %2026, ptr noundef nonnull @.str.4) #11
  %2028 = load i32, ptr %704, align 4, !tbaa !5
  %2029 = call ptr @s2n_strerror_debug(i32 noundef %2028, ptr noundef nonnull @.str.4) #11
  %2030 = load i32, ptr %758, align 4, !tbaa !5
  %2031 = call ptr @strerror(i32 noundef %2030) #11
  %2032 = load i32, ptr %758, align 4, !tbaa !5
  %2033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2024, ptr noundef nonnull %.str.5.sink1241, i32 noundef %2025, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 161, ptr noundef %2027, ptr noundef %2029, ptr noundef %2031, i32 noundef %2032) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2034:                                             ; preds = %2006
  call void @llvm.lifetime.end.p0(i64 4184, ptr nonnull %3) #11
  %2035 = add nsw i32 %2007, 2
  store i32 %2035, ptr @test_count, align 4, !tbaa !5
  %2036 = call ptr @s2n_connection_new(i32 noundef 1) #11
  %2037 = icmp eq ptr %2036, null
  br i1 %2037, label %2038, label %2060

2038:                                             ; preds = %2034
  %2039 = load i32, ptr %758, align 4, !tbaa !5
  %2040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2041 = call i32 @s2n_print_stacktrace(ptr noundef %2040) #11
  %2042 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2043 = trunc nuw i8 %2042 to i1
  br i1 %2043, label %2044, label %2048

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

2048:                                             ; preds = %2044, %2038
  br label %2049

2049:                                             ; preds = %2044, %2048
  %.str.5.sink1250 = phi ptr [ @.str.5, %2048 ], [ @.str.2, %2044 ]
  store i32 %2039, ptr %758, align 4, !tbaa !5
  %2050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2051 = load i32, ptr @test_count, align 4, !tbaa !5
  %2052 = load i32, ptr %704, align 4, !tbaa !5
  %2053 = call ptr @s2n_strerror(i32 noundef %2052, ptr noundef nonnull @.str.4) #11
  %2054 = load i32, ptr %704, align 4, !tbaa !5
  %2055 = call ptr @s2n_strerror_debug(i32 noundef %2054, ptr noundef nonnull @.str.4) #11
  %2056 = load i32, ptr %758, align 4, !tbaa !5
  %2057 = call ptr @strerror(i32 noundef %2056) #11
  %2058 = load i32, ptr %758, align 4, !tbaa !5
  %2059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2050, ptr noundef nonnull %.str.5.sink1250, i32 noundef %2051, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 167, ptr noundef %2053, ptr noundef %2055, ptr noundef %2057, i32 noundef %2058) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2060:                                             ; preds = %2034
  %2061 = call i32 @s2n_connection_set_quic_transport_parameters(ptr noundef nonnull %2036, ptr noundef nonnull @TEST_DATA, i16 noundef zeroext 5) #11
  %2062 = load i32, ptr @test_count, align 4, !tbaa !5
  %2063 = add nsw i32 %2062, 1
  store i32 %2063, ptr @test_count, align 4, !tbaa !5
  %2064 = getelementptr inbounds i8, ptr %2036, i64 2848
  %2065 = load ptr, ptr %2064, align 8, !tbaa !43
  %bcmp = call i32 @bcmp(ptr noundef nonnull dereferenceable(5) %2065, ptr noundef nonnull dereferenceable(5) @TEST_DATA, i64 5)
  %2066 = icmp eq i32 %bcmp, 0
  br i1 %2066, label %2089, label %2067

2067:                                             ; preds = %2060
  %2068 = load i32, ptr %758, align 4, !tbaa !5
  %2069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2070 = call i32 @s2n_print_stacktrace(ptr noundef %2069) #11
  %2071 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2072 = trunc nuw i8 %2071 to i1
  br i1 %2072, label %2073, label %2077

2073:                                             ; preds = %2067
  %2074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2075 = call i32 @fileno(ptr noundef %2074) #11
  %2076 = call i32 @isatty(i32 noundef %2075) #11
  %.not445 = icmp eq i32 %2076, 0
  br i1 %.not445, label %2077, label %2078

2077:                                             ; preds = %2073, %2067
  br label %2078

2078:                                             ; preds = %2073, %2077
  %.str.5.sink1259 = phi ptr [ @.str.5, %2077 ], [ @.str.2, %2073 ]
  store i32 %2068, ptr %758, align 4, !tbaa !5
  %2079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2080 = load i32, ptr @test_count, align 4, !tbaa !5
  %2081 = load i32, ptr %704, align 4, !tbaa !5
  %2082 = call ptr @s2n_strerror(i32 noundef %2081, ptr noundef nonnull @.str.4) #11
  %2083 = load i32, ptr %704, align 4, !tbaa !5
  %2084 = call ptr @s2n_strerror_debug(i32 noundef %2083, ptr noundef nonnull @.str.4) #11
  %2085 = load i32, ptr %758, align 4, !tbaa !5
  %2086 = call ptr @strerror(i32 noundef %2085) #11
  %2087 = load i32, ptr %758, align 4, !tbaa !5
  %2088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2079, ptr noundef nonnull %.str.5.sink1259, i32 noundef %2080, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 170, ptr noundef %2082, ptr noundef %2084, ptr noundef %2086, i32 noundef %2087) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2089:                                             ; preds = %2060
  call void @llvm.lifetime.start.p0(i64 17, ptr nonnull %4) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(17) %4, ptr noundef nonnull align 16 dereferenceable(17) @__const.main.other_data, i64 17, i1 false)
  %2090 = call i32 @s2n_connection_set_quic_transport_parameters(ptr noundef nonnull %2036, ptr noundef nonnull %4, i16 noundef zeroext 17) #11
  %2091 = load i32, ptr @test_count, align 4, !tbaa !5
  %2092 = add nsw i32 %2091, 1
  store i32 %2092, ptr @test_count, align 4, !tbaa !5
  %2093 = load ptr, ptr %2064, align 8, !tbaa !43
  %bcmp446 = call i32 @bcmp(ptr noundef nonnull dereferenceable(17) %2093, ptr noundef nonnull dereferenceable(17) %4, i64 17)
  %2094 = icmp eq i32 %bcmp446, 0
  br i1 %2094, label %2117, label %2095

2095:                                             ; preds = %2089
  %2096 = load i32, ptr %758, align 4, !tbaa !5
  %2097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2098 = call i32 @s2n_print_stacktrace(ptr noundef %2097) #11
  %2099 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2100 = trunc nuw i8 %2099 to i1
  br i1 %2100, label %2101, label %2105

2101:                                             ; preds = %2095
  %2102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2103 = call i32 @fileno(ptr noundef %2102) #11
  %2104 = call i32 @isatty(i32 noundef %2103) #11
  %.not447 = icmp eq i32 %2104, 0
  br i1 %.not447, label %2105, label %2106

2105:                                             ; preds = %2101, %2095
  br label %2106

2106:                                             ; preds = %2101, %2105
  %.str.5.sink1268 = phi ptr [ @.str.5, %2105 ], [ @.str.2, %2101 ]
  store i32 %2096, ptr %758, align 4, !tbaa !5
  %2107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2108 = load i32, ptr @test_count, align 4, !tbaa !5
  %2109 = load i32, ptr %704, align 4, !tbaa !5
  %2110 = call ptr @s2n_strerror(i32 noundef %2109, ptr noundef nonnull @.str.4) #11
  %2111 = load i32, ptr %704, align 4, !tbaa !5
  %2112 = call ptr @s2n_strerror_debug(i32 noundef %2111, ptr noundef nonnull @.str.4) #11
  %2113 = load i32, ptr %758, align 4, !tbaa !5
  %2114 = call ptr @strerror(i32 noundef %2113) #11
  %2115 = load i32, ptr %758, align 4, !tbaa !5
  %2116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2107, ptr noundef nonnull %.str.5.sink1268, i32 noundef %2108, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 175, ptr noundef %2110, ptr noundef %2112, ptr noundef %2114, i32 noundef %2115) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2117:                                             ; preds = %2089
  %2118 = add nsw i32 %2091, 2
  store i32 %2118, ptr @test_count, align 4, !tbaa !5
  %2119 = call i32 @s2n_connection_free(ptr noundef nonnull %2036) #11
  %2120 = icmp eq i32 %2119, -1
  br i1 %2120, label %2121, label %2143

2121:                                             ; preds = %2117
  %2122 = load i32, ptr %758, align 4, !tbaa !5
  %2123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2124 = call i32 @s2n_print_stacktrace(ptr noundef %2123) #11
  %2125 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2126 = trunc nuw i8 %2125 to i1
  br i1 %2126, label %2127, label %2131

2127:                                             ; preds = %2121
  %2128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2129 = call i32 @fileno(ptr noundef %2128) #11
  %2130 = call i32 @isatty(i32 noundef %2129) #11
  %.not516 = icmp eq i32 %2130, 0
  br i1 %.not516, label %2131, label %2132

2131:                                             ; preds = %2127, %2121
  br label %2132

2132:                                             ; preds = %2127, %2131
  %.str.5.sink1277 = phi ptr [ @.str.5, %2131 ], [ @.str.2, %2127 ]
  store i32 %2122, ptr %758, align 4, !tbaa !5
  %2133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2134 = load i32, ptr @test_count, align 4, !tbaa !5
  %2135 = load i32, ptr %704, align 4, !tbaa !5
  %2136 = call ptr @s2n_strerror(i32 noundef %2135, ptr noundef nonnull @.str.4) #11
  %2137 = load i32, ptr %704, align 4, !tbaa !5
  %2138 = call ptr @s2n_strerror_debug(i32 noundef %2137, ptr noundef nonnull @.str.4) #11
  %2139 = load i32, ptr %758, align 4, !tbaa !5
  %2140 = call ptr @strerror(i32 noundef %2139) #11
  %2141 = load i32, ptr %758, align 4, !tbaa !5
  %2142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2133, ptr noundef nonnull %.str.5.sink1277, i32 noundef %2134, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 177, ptr noundef %2136, ptr noundef %2138, ptr noundef %2140, i32 noundef %2141) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2143:                                             ; preds = %2117
  call void @llvm.lifetime.end.p0(i64 17, ptr nonnull %4) #11
  call void @llvm.lifetime.start.p0(i64 4184, ptr nonnull %5) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(4184) %5, i8 0, i64 4184, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #11
  store ptr null, ptr %6, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %7) #11
  store i16 0, ptr %7, align 2, !tbaa !44
  %2144 = load i32, ptr @test_count, align 4, !tbaa !5
  %2145 = add nsw i32 %2144, 1
  store i32 %2145, ptr @test_count, align 4, !tbaa !5
  %2146 = call i32 @s2n_connection_get_quic_transport_parameters(ptr noundef null, ptr noundef nonnull %6, ptr noundef nonnull %7) #11
  %2147 = icmp eq i32 %2146, -1
  br i1 %2147, label %2170, label %2148

2148:                                             ; preds = %2143
  %2149 = load i32, ptr %758, align 4, !tbaa !5
  %2150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2151 = call i32 @s2n_print_stacktrace(ptr noundef %2150) #11
  %2152 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2153 = trunc nuw i8 %2152 to i1
  br i1 %2153, label %2154, label %2158

2154:                                             ; preds = %2148
  %2155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2156 = call i32 @fileno(ptr noundef %2155) #11
  %2157 = call i32 @isatty(i32 noundef %2156) #11
  %.not448 = icmp eq i32 %2157, 0
  br i1 %.not448, label %2158, label %2159

2158:                                             ; preds = %2154, %2148
  br label %2159

2159:                                             ; preds = %2154, %2158
  %.str.5.sink1286 = phi ptr [ @.str.5, %2158 ], [ @.str.2, %2154 ]
  store i32 %2149, ptr %758, align 4, !tbaa !5
  %2160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2161 = load i32, ptr @test_count, align 4, !tbaa !5
  %2162 = load i32, ptr %704, align 4, !tbaa !5
  %2163 = call ptr @s2n_strerror(i32 noundef %2162, ptr noundef nonnull @.str.4) #11
  %2164 = load i32, ptr %704, align 4, !tbaa !5
  %2165 = call ptr @s2n_strerror_debug(i32 noundef %2164, ptr noundef nonnull @.str.4) #11
  %2166 = load i32, ptr %758, align 4, !tbaa !5
  %2167 = call ptr @strerror(i32 noundef %2166) #11
  %2168 = load i32, ptr %758, align 4, !tbaa !5
  %2169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2160, ptr noundef nonnull %.str.5.sink1286, i32 noundef %2161, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 190, ptr noundef %2163, ptr noundef %2165, ptr noundef %2167, i32 noundef %2168) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2170:                                             ; preds = %2143
  %2171 = load i32, ptr @test_count, align 4, !tbaa !5
  %2172 = add nsw i32 %2171, 1
  store i32 %2172, ptr @test_count, align 4, !tbaa !5
  %2173 = load i32, ptr %704, align 4, !tbaa !5
  %2174 = icmp eq i32 %2173, 402653193
  br i1 %2174, label %2197, label %2175

2175:                                             ; preds = %2170
  %2176 = load i32, ptr %758, align 4, !tbaa !5
  %2177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2178 = call i32 @s2n_print_stacktrace(ptr noundef %2177) #11
  %2179 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2180 = trunc nuw i8 %2179 to i1
  br i1 %2180, label %2181, label %2185

2181:                                             ; preds = %2175
  %2182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2183 = call i32 @fileno(ptr noundef %2182) #11
  %2184 = call i32 @isatty(i32 noundef %2183) #11
  %.not449 = icmp eq i32 %2184, 0
  br i1 %.not449, label %2185, label %2186

2185:                                             ; preds = %2181, %2175
  br label %2186

2186:                                             ; preds = %2181, %2185
  %.str.5.sink1295 = phi ptr [ @.str.5, %2185 ], [ @.str.2, %2181 ]
  store i32 %2176, ptr %758, align 4, !tbaa !5
  %2187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2188 = load i32, ptr @test_count, align 4, !tbaa !5
  %2189 = load i32, ptr %704, align 4, !tbaa !5
  %2190 = call ptr @s2n_strerror(i32 noundef %2189, ptr noundef nonnull @.str.4) #11
  %2191 = load i32, ptr %704, align 4, !tbaa !5
  %2192 = call ptr @s2n_strerror_debug(i32 noundef %2191, ptr noundef nonnull @.str.4) #11
  %2193 = load i32, ptr %758, align 4, !tbaa !5
  %2194 = call ptr @strerror(i32 noundef %2193) #11
  %2195 = load i32, ptr %758, align 4, !tbaa !5
  %2196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2187, ptr noundef nonnull %.str.5.sink1295, i32 noundef %2188, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 190, ptr noundef %2190, ptr noundef %2192, ptr noundef %2194, i32 noundef %2195) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2197:                                             ; preds = %2170
  %2198 = add nsw i32 %2171, 2
  store i32 %2198, ptr @test_count, align 4, !tbaa !5
  %2199 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #11
  %2200 = icmp eq ptr %2199, null
  br i1 %2200, label %2201, label %2223

2201:                                             ; preds = %2197
  %2202 = load i32, ptr %758, align 4, !tbaa !5
  %2203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2204 = call i32 @s2n_print_stacktrace(ptr noundef %2203) #11
  %2205 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2206 = trunc nuw i8 %2205 to i1
  br i1 %2206, label %2207, label %2211

2207:                                             ; preds = %2201
  %2208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2209 = call i32 @fileno(ptr noundef %2208) #11
  %2210 = call i32 @isatty(i32 noundef %2209) #11
  %.not515 = icmp eq i32 %2210, 0
  br i1 %.not515, label %2211, label %2212

2211:                                             ; preds = %2207, %2201
  br label %2212

2212:                                             ; preds = %2207, %2211
  %.str.5.sink1304 = phi ptr [ @.str.5, %2211 ], [ @.str.2, %2207 ]
  store i32 %2202, ptr %758, align 4, !tbaa !5
  %2213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2214 = load i32, ptr @test_count, align 4, !tbaa !5
  %2215 = load i32, ptr %704, align 4, !tbaa !5
  %2216 = call ptr @s2n_strerror(i32 noundef %2215, ptr noundef nonnull @.str.4) #11
  %2217 = load i32, ptr %704, align 4, !tbaa !5
  %2218 = call ptr @s2n_strerror_debug(i32 noundef %2217, ptr noundef nonnull @.str.4) #11
  %2219 = load i32, ptr %758, align 4, !tbaa !5
  %2220 = call ptr @strerror(i32 noundef %2219) #11
  %2221 = load i32, ptr %758, align 4, !tbaa !5
  %2222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2213, ptr noundef nonnull %.str.5.sink1304, i32 noundef %2214, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 190, ptr noundef %2216, ptr noundef %2218, ptr noundef %2220, i32 noundef %2221) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2223:                                             ; preds = %2197
  store i32 0, ptr %704, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %758, align 4, !tbaa !5
  %2224 = load i32, ptr @test_count, align 4, !tbaa !5
  %2225 = add nsw i32 %2224, 1
  store i32 %2225, ptr @test_count, align 4, !tbaa !5
  %2226 = call i32 @s2n_connection_get_quic_transport_parameters(ptr noundef nonnull %5, ptr noundef null, ptr noundef nonnull %7) #11
  %2227 = icmp eq i32 %2226, -1
  br i1 %2227, label %2250, label %2228

2228:                                             ; preds = %2223
  %2229 = load i32, ptr %758, align 4, !tbaa !5
  %2230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2231 = call i32 @s2n_print_stacktrace(ptr noundef %2230) #11
  %2232 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2233 = trunc nuw i8 %2232 to i1
  br i1 %2233, label %2234, label %2238

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

2238:                                             ; preds = %2234, %2228
  br label %2239

2239:                                             ; preds = %2234, %2238
  %.str.5.sink1313 = phi ptr [ @.str.5, %2238 ], [ @.str.2, %2234 ]
  store i32 %2229, ptr %758, align 4, !tbaa !5
  %2240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2241 = load i32, ptr @test_count, align 4, !tbaa !5
  %2242 = load i32, ptr %704, align 4, !tbaa !5
  %2243 = call ptr @s2n_strerror(i32 noundef %2242, ptr noundef nonnull @.str.4) #11
  %2244 = load i32, ptr %704, align 4, !tbaa !5
  %2245 = call ptr @s2n_strerror_debug(i32 noundef %2244, ptr noundef nonnull @.str.4) #11
  %2246 = load i32, ptr %758, align 4, !tbaa !5
  %2247 = call ptr @strerror(i32 noundef %2246) #11
  %2248 = load i32, ptr %758, align 4, !tbaa !5
  %2249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2240, ptr noundef nonnull %.str.5.sink1313, i32 noundef %2241, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 192, ptr noundef %2243, ptr noundef %2245, ptr noundef %2247, i32 noundef %2248) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2250:                                             ; preds = %2223
  %2251 = load i32, ptr @test_count, align 4, !tbaa !5
  %2252 = add nsw i32 %2251, 1
  store i32 %2252, ptr @test_count, align 4, !tbaa !5
  %2253 = load i32, ptr %704, align 4, !tbaa !5
  %2254 = icmp eq i32 %2253, 402653193
  br i1 %2254, label %2277, label %2255

2255:                                             ; preds = %2250
  %2256 = load i32, ptr %758, align 4, !tbaa !5
  %2257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2258 = call i32 @s2n_print_stacktrace(ptr noundef %2257) #11
  %2259 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2260 = trunc nuw i8 %2259 to i1
  br i1 %2260, label %2261, label %2265

2261:                                             ; preds = %2255
  %2262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2263 = call i32 @fileno(ptr noundef %2262) #11
  %2264 = call i32 @isatty(i32 noundef %2263) #11
  %.not451 = icmp eq i32 %2264, 0
  br i1 %.not451, label %2265, label %2266

2265:                                             ; preds = %2261, %2255
  br label %2266

2266:                                             ; preds = %2261, %2265
  %.str.5.sink1322 = phi ptr [ @.str.5, %2265 ], [ @.str.2, %2261 ]
  store i32 %2256, ptr %758, align 4, !tbaa !5
  %2267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2268 = load i32, ptr @test_count, align 4, !tbaa !5
  %2269 = load i32, ptr %704, align 4, !tbaa !5
  %2270 = call ptr @s2n_strerror(i32 noundef %2269, ptr noundef nonnull @.str.4) #11
  %2271 = load i32, ptr %704, align 4, !tbaa !5
  %2272 = call ptr @s2n_strerror_debug(i32 noundef %2271, ptr noundef nonnull @.str.4) #11
  %2273 = load i32, ptr %758, align 4, !tbaa !5
  %2274 = call ptr @strerror(i32 noundef %2273) #11
  %2275 = load i32, ptr %758, align 4, !tbaa !5
  %2276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2267, ptr noundef nonnull %.str.5.sink1322, i32 noundef %2268, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 192, ptr noundef %2270, ptr noundef %2272, ptr noundef %2274, i32 noundef %2275) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2277:                                             ; preds = %2250
  %2278 = add nsw i32 %2251, 2
  store i32 %2278, ptr @test_count, align 4, !tbaa !5
  %2279 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #11
  %2280 = icmp eq ptr %2279, null
  br i1 %2280, label %2281, label %2303

2281:                                             ; preds = %2277
  %2282 = load i32, ptr %758, align 4, !tbaa !5
  %2283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2284 = call i32 @s2n_print_stacktrace(ptr noundef %2283) #11
  %2285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2286 = trunc nuw i8 %2285 to i1
  br i1 %2286, label %2287, label %2291

2287:                                             ; preds = %2281
  %2288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2289 = call i32 @fileno(ptr noundef %2288) #11
  %2290 = call i32 @isatty(i32 noundef %2289) #11
  %.not514 = icmp eq i32 %2290, 0
  br i1 %.not514, label %2291, label %2292

2291:                                             ; preds = %2287, %2281
  br label %2292

2292:                                             ; preds = %2287, %2291
  %.str.5.sink1331 = phi ptr [ @.str.5, %2291 ], [ @.str.2, %2287 ]
  store i32 %2282, ptr %758, align 4, !tbaa !5
  %2293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2294 = load i32, ptr @test_count, align 4, !tbaa !5
  %2295 = load i32, ptr %704, align 4, !tbaa !5
  %2296 = call ptr @s2n_strerror(i32 noundef %2295, ptr noundef nonnull @.str.4) #11
  %2297 = load i32, ptr %704, align 4, !tbaa !5
  %2298 = call ptr @s2n_strerror_debug(i32 noundef %2297, ptr noundef nonnull @.str.4) #11
  %2299 = load i32, ptr %758, align 4, !tbaa !5
  %2300 = call ptr @strerror(i32 noundef %2299) #11
  %2301 = load i32, ptr %758, align 4, !tbaa !5
  %2302 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2293, ptr noundef nonnull %.str.5.sink1331, i32 noundef %2294, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 192, ptr noundef %2296, ptr noundef %2298, ptr noundef %2300, i32 noundef %2301) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2303:                                             ; preds = %2277
  store i32 0, ptr %704, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %758, align 4, !tbaa !5
  %2304 = load i32, ptr @test_count, align 4, !tbaa !5
  %2305 = add nsw i32 %2304, 1
  store i32 %2305, ptr @test_count, align 4, !tbaa !5
  %2306 = call i32 @s2n_connection_get_quic_transport_parameters(ptr noundef nonnull %5, ptr noundef nonnull %6, ptr noundef null) #11
  %2307 = icmp eq i32 %2306, -1
  br i1 %2307, label %2330, label %2308

2308:                                             ; preds = %2303
  %2309 = load i32, ptr %758, align 4, !tbaa !5
  %2310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2311 = call i32 @s2n_print_stacktrace(ptr noundef %2310) #11
  %2312 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2313 = trunc nuw i8 %2312 to i1
  br i1 %2313, label %2314, label %2318

2314:                                             ; preds = %2308
  %2315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2316 = call i32 @fileno(ptr noundef %2315) #11
  %2317 = call i32 @isatty(i32 noundef %2316) #11
  %.not452 = icmp eq i32 %2317, 0
  br i1 %.not452, label %2318, label %2319

2318:                                             ; preds = %2314, %2308
  br label %2319

2319:                                             ; preds = %2314, %2318
  %.str.5.sink1340 = phi ptr [ @.str.5, %2318 ], [ @.str.2, %2314 ]
  store i32 %2309, ptr %758, align 4, !tbaa !5
  %2320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2321 = load i32, ptr @test_count, align 4, !tbaa !5
  %2322 = load i32, ptr %704, align 4, !tbaa !5
  %2323 = call ptr @s2n_strerror(i32 noundef %2322, ptr noundef nonnull @.str.4) #11
  %2324 = load i32, ptr %704, align 4, !tbaa !5
  %2325 = call ptr @s2n_strerror_debug(i32 noundef %2324, ptr noundef nonnull @.str.4) #11
  %2326 = load i32, ptr %758, align 4, !tbaa !5
  %2327 = call ptr @strerror(i32 noundef %2326) #11
  %2328 = load i32, ptr %758, align 4, !tbaa !5
  %2329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2320, ptr noundef nonnull %.str.5.sink1340, i32 noundef %2321, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 194, ptr noundef %2323, ptr noundef %2325, ptr noundef %2327, i32 noundef %2328) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2330:                                             ; preds = %2303
  %2331 = load i32, ptr @test_count, align 4, !tbaa !5
  %2332 = add nsw i32 %2331, 1
  store i32 %2332, ptr @test_count, align 4, !tbaa !5
  %2333 = load i32, ptr %704, align 4, !tbaa !5
  %2334 = icmp eq i32 %2333, 402653193
  br i1 %2334, label %2357, label %2335

2335:                                             ; preds = %2330
  %2336 = load i32, ptr %758, align 4, !tbaa !5
  %2337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2338 = call i32 @s2n_print_stacktrace(ptr noundef %2337) #11
  %2339 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2340 = trunc nuw i8 %2339 to i1
  br i1 %2340, label %2341, label %2345

2341:                                             ; preds = %2335
  %2342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2343 = call i32 @fileno(ptr noundef %2342) #11
  %2344 = call i32 @isatty(i32 noundef %2343) #11
  %.not453 = icmp eq i32 %2344, 0
  br i1 %.not453, label %2345, label %2346

2345:                                             ; preds = %2341, %2335
  br label %2346

2346:                                             ; preds = %2341, %2345
  %.str.5.sink1349 = phi ptr [ @.str.5, %2345 ], [ @.str.2, %2341 ]
  store i32 %2336, ptr %758, align 4, !tbaa !5
  %2347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2348 = load i32, ptr @test_count, align 4, !tbaa !5
  %2349 = load i32, ptr %704, align 4, !tbaa !5
  %2350 = call ptr @s2n_strerror(i32 noundef %2349, ptr noundef nonnull @.str.4) #11
  %2351 = load i32, ptr %704, align 4, !tbaa !5
  %2352 = call ptr @s2n_strerror_debug(i32 noundef %2351, ptr noundef nonnull @.str.4) #11
  %2353 = load i32, ptr %758, align 4, !tbaa !5
  %2354 = call ptr @strerror(i32 noundef %2353) #11
  %2355 = load i32, ptr %758, align 4, !tbaa !5
  %2356 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2347, ptr noundef nonnull %.str.5.sink1349, i32 noundef %2348, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 194, ptr noundef %2350, ptr noundef %2352, ptr noundef %2354, i32 noundef %2355) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2357:                                             ; preds = %2330
  %2358 = add nsw i32 %2331, 2
  store i32 %2358, ptr @test_count, align 4, !tbaa !5
  %2359 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #11
  %2360 = icmp eq ptr %2359, null
  br i1 %2360, label %2361, label %2383

2361:                                             ; preds = %2357
  %2362 = load i32, ptr %758, align 4, !tbaa !5
  %2363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2364 = call i32 @s2n_print_stacktrace(ptr noundef %2363) #11
  %2365 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2366 = trunc nuw i8 %2365 to i1
  br i1 %2366, label %2367, label %2371

2367:                                             ; preds = %2361
  %2368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2369 = call i32 @fileno(ptr noundef %2368) #11
  %2370 = call i32 @isatty(i32 noundef %2369) #11
  %.not513 = icmp eq i32 %2370, 0
  br i1 %.not513, label %2371, label %2372

2371:                                             ; preds = %2367, %2361
  br label %2372

2372:                                             ; preds = %2367, %2371
  %.str.5.sink1358 = phi ptr [ @.str.5, %2371 ], [ @.str.2, %2367 ]
  store i32 %2362, ptr %758, align 4, !tbaa !5
  %2373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2374 = load i32, ptr @test_count, align 4, !tbaa !5
  %2375 = load i32, ptr %704, align 4, !tbaa !5
  %2376 = call ptr @s2n_strerror(i32 noundef %2375, ptr noundef nonnull @.str.4) #11
  %2377 = load i32, ptr %704, align 4, !tbaa !5
  %2378 = call ptr @s2n_strerror_debug(i32 noundef %2377, ptr noundef nonnull @.str.4) #11
  %2379 = load i32, ptr %758, align 4, !tbaa !5
  %2380 = call ptr @strerror(i32 noundef %2379) #11
  %2381 = load i32, ptr %758, align 4, !tbaa !5
  %2382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2373, ptr noundef nonnull %.str.5.sink1358, i32 noundef %2374, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 194, ptr noundef %2376, ptr noundef %2378, ptr noundef %2380, i32 noundef %2381) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2383:                                             ; preds = %2357
  store i32 0, ptr %704, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %758, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %7) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #11
  call void @llvm.lifetime.end.p0(i64 4184, ptr nonnull %5) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #11
  store ptr @TEST_DATA, ptr %8, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %9) #11
  store i16 5, ptr %9, align 2, !tbaa !44
  %2384 = load i32, ptr @test_count, align 4, !tbaa !5
  %2385 = add nsw i32 %2384, 1
  store i32 %2385, ptr @test_count, align 4, !tbaa !5
  %2386 = call ptr @s2n_connection_new(i32 noundef 1) #11
  %2387 = icmp eq ptr %2386, null
  br i1 %2387, label %2388, label %2410

2388:                                             ; preds = %2383
  %2389 = load i32, ptr %758, align 4, !tbaa !5
  %2390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2391 = call i32 @s2n_print_stacktrace(ptr noundef %2390) #11
  %2392 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2393 = trunc nuw i8 %2392 to i1
  br i1 %2393, label %2394, label %2398

2394:                                             ; preds = %2388
  %2395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2396 = call i32 @fileno(ptr noundef %2395) #11
  %2397 = call i32 @isatty(i32 noundef %2396) #11
  %.not512 = icmp eq i32 %2397, 0
  br i1 %.not512, label %2398, label %2399

2398:                                             ; preds = %2394, %2388
  br label %2399

2399:                                             ; preds = %2394, %2398
  %.str.5.sink1367 = phi ptr [ @.str.5, %2398 ], [ @.str.2, %2394 ]
  store i32 %2389, ptr %758, align 4, !tbaa !5
  %2400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2401 = load i32, ptr @test_count, align 4, !tbaa !5
  %2402 = load i32, ptr %704, align 4, !tbaa !5
  %2403 = call ptr @s2n_strerror(i32 noundef %2402, ptr noundef nonnull @.str.4) #11
  %2404 = load i32, ptr %704, align 4, !tbaa !5
  %2405 = call ptr @s2n_strerror_debug(i32 noundef %2404, ptr noundef nonnull @.str.4) #11
  %2406 = load i32, ptr %758, align 4, !tbaa !5
  %2407 = call ptr @strerror(i32 noundef %2406) #11
  %2408 = load i32, ptr %758, align 4, !tbaa !5
  %2409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2400, ptr noundef nonnull %.str.5.sink1367, i32 noundef %2401, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 203, ptr noundef %2403, ptr noundef %2405, ptr noundef %2407, i32 noundef %2408) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2410:                                             ; preds = %2383
  %2411 = load i32, ptr @test_count, align 4, !tbaa !5
  %2412 = add nsw i32 %2411, 1
  store i32 %2412, ptr @test_count, align 4, !tbaa !5
  %2413 = call i32 @s2n_connection_get_quic_transport_parameters(ptr noundef nonnull %2386, ptr noundef nonnull %8, ptr noundef nonnull %9) #11
  %2414 = icmp eq i32 %2413, -1
  br i1 %2414, label %2415, label %2437

2415:                                             ; preds = %2410
  %2416 = load i32, ptr %758, align 4, !tbaa !5
  %2417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2418 = call i32 @s2n_print_stacktrace(ptr noundef %2417) #11
  %2419 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2420 = trunc nuw i8 %2419 to i1
  br i1 %2420, label %2421, label %2425

2421:                                             ; preds = %2415
  %2422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2423 = call i32 @fileno(ptr noundef %2422) #11
  %2424 = call i32 @isatty(i32 noundef %2423) #11
  %.not511 = icmp eq i32 %2424, 0
  br i1 %.not511, label %2425, label %2426

2425:                                             ; preds = %2421, %2415
  br label %2426

2426:                                             ; preds = %2421, %2425
  %.str.5.sink1376 = phi ptr [ @.str.5, %2425 ], [ @.str.2, %2421 ]
  store i32 %2416, ptr %758, align 4, !tbaa !5
  %2427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2428 = load i32, ptr @test_count, align 4, !tbaa !5
  %2429 = load i32, ptr %704, align 4, !tbaa !5
  %2430 = call ptr @s2n_strerror(i32 noundef %2429, ptr noundef nonnull @.str.4) #11
  %2431 = load i32, ptr %704, align 4, !tbaa !5
  %2432 = call ptr @s2n_strerror_debug(i32 noundef %2431, ptr noundef nonnull @.str.4) #11
  %2433 = load i32, ptr %758, align 4, !tbaa !5
  %2434 = call ptr @strerror(i32 noundef %2433) #11
  %2435 = load i32, ptr %758, align 4, !tbaa !5
  %2436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2427, ptr noundef nonnull %.str.5.sink1376, i32 noundef %2428, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 205, ptr noundef %2430, ptr noundef %2432, ptr noundef %2434, i32 noundef %2435) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2437:                                             ; preds = %2410
  %2438 = load i32, ptr @test_count, align 4, !tbaa !5
  %2439 = add nsw i32 %2438, 1
  store i32 %2439, ptr @test_count, align 4, !tbaa !5
  %2440 = load ptr, ptr %8, align 8, !tbaa !9
  %2441 = icmp eq ptr %2440, null
  br i1 %2441, label %2464, label %2442

2442:                                             ; preds = %2437
  %2443 = load i32, ptr %758, align 4, !tbaa !5
  %2444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2445 = call i32 @s2n_print_stacktrace(ptr noundef %2444) #11
  %2446 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2447 = trunc nuw i8 %2446 to i1
  br i1 %2447, label %2448, label %2452

2448:                                             ; preds = %2442
  %2449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2450 = call i32 @fileno(ptr noundef %2449) #11
  %2451 = call i32 @isatty(i32 noundef %2450) #11
  %.not454 = icmp eq i32 %2451, 0
  br i1 %.not454, label %2452, label %2453

2452:                                             ; preds = %2448, %2442
  br label %2453

2453:                                             ; preds = %2448, %2452
  %.str.5.sink1385 = phi ptr [ @.str.5, %2452 ], [ @.str.2, %2448 ]
  store i32 %2443, ptr %758, align 4, !tbaa !5
  %2454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2455 = load i32, ptr @test_count, align 4, !tbaa !5
  %2456 = load i32, ptr %704, align 4, !tbaa !5
  %2457 = call ptr @s2n_strerror(i32 noundef %2456, ptr noundef nonnull @.str.4) #11
  %2458 = load i32, ptr %704, align 4, !tbaa !5
  %2459 = call ptr @s2n_strerror_debug(i32 noundef %2458, ptr noundef nonnull @.str.4) #11
  %2460 = load i32, ptr %758, align 4, !tbaa !5
  %2461 = call ptr @strerror(i32 noundef %2460) #11
  %2462 = load i32, ptr %758, align 4, !tbaa !5
  %2463 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2454, ptr noundef nonnull %.str.5.sink1385, i32 noundef %2455, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 206, ptr noundef %2457, ptr noundef %2459, ptr noundef %2461, i32 noundef %2462) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2464:                                             ; preds = %2437
  %2465 = add nsw i32 %2438, 2
  store i32 %2465, ptr @test_count, align 4, !tbaa !5
  %2466 = load i16, ptr %9, align 2, !tbaa !44
  %2467 = icmp eq i16 %2466, 0
  br i1 %2467, label %2490, label %2468

2468:                                             ; preds = %2464
  %2469 = load i32, ptr %758, align 4, !tbaa !5
  %2470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2471 = call i32 @s2n_print_stacktrace(ptr noundef %2470) #11
  %2472 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2473 = trunc nuw i8 %2472 to i1
  br i1 %2473, label %2474, label %2478

2474:                                             ; preds = %2468
  %2475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2476 = call i32 @fileno(ptr noundef %2475) #11
  %2477 = call i32 @isatty(i32 noundef %2476) #11
  %.not455 = icmp eq i32 %2477, 0
  br i1 %.not455, label %2478, label %2479

2478:                                             ; preds = %2474, %2468
  br label %2479

2479:                                             ; preds = %2474, %2478
  %.str.5.sink1394 = phi ptr [ @.str.5, %2478 ], [ @.str.2, %2474 ]
  store i32 %2469, ptr %758, align 4, !tbaa !5
  %2480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2481 = load i32, ptr @test_count, align 4, !tbaa !5
  %2482 = load i32, ptr %704, align 4, !tbaa !5
  %2483 = call ptr @s2n_strerror(i32 noundef %2482, ptr noundef nonnull @.str.4) #11
  %2484 = load i32, ptr %704, align 4, !tbaa !5
  %2485 = call ptr @s2n_strerror_debug(i32 noundef %2484, ptr noundef nonnull @.str.4) #11
  %2486 = load i32, ptr %758, align 4, !tbaa !5
  %2487 = call ptr @strerror(i32 noundef %2486) #11
  %2488 = load i32, ptr %758, align 4, !tbaa !5
  %2489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2480, ptr noundef nonnull %.str.5.sink1394, i32 noundef %2481, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 207, ptr noundef %2483, ptr noundef %2485, ptr noundef %2487, i32 noundef %2488) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2490:                                             ; preds = %2464
  %2491 = add nsw i32 %2438, 3
  store i32 %2491, ptr @test_count, align 4, !tbaa !5
  %2492 = call i32 @s2n_connection_free(ptr noundef nonnull %2386) #11
  %2493 = icmp eq i32 %2492, -1
  br i1 %2493, label %2494, label %2516

2494:                                             ; preds = %2490
  %2495 = load i32, ptr %758, align 4, !tbaa !5
  %2496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2497 = call i32 @s2n_print_stacktrace(ptr noundef %2496) #11
  %2498 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2499 = trunc nuw i8 %2498 to i1
  br i1 %2499, label %2500, label %2504

2500:                                             ; preds = %2494
  %2501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2502 = call i32 @fileno(ptr noundef %2501) #11
  %2503 = call i32 @isatty(i32 noundef %2502) #11
  %.not510 = icmp eq i32 %2503, 0
  br i1 %.not510, label %2504, label %2505

2504:                                             ; preds = %2500, %2494
  br label %2505

2505:                                             ; preds = %2500, %2504
  %.str.5.sink1403 = phi ptr [ @.str.5, %2504 ], [ @.str.2, %2500 ]
  store i32 %2495, ptr %758, align 4, !tbaa !5
  %2506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2507 = load i32, ptr @test_count, align 4, !tbaa !5
  %2508 = load i32, ptr %704, align 4, !tbaa !5
  %2509 = call ptr @s2n_strerror(i32 noundef %2508, ptr noundef nonnull @.str.4) #11
  %2510 = load i32, ptr %704, align 4, !tbaa !5
  %2511 = call ptr @s2n_strerror_debug(i32 noundef %2510, ptr noundef nonnull @.str.4) #11
  %2512 = load i32, ptr %758, align 4, !tbaa !5
  %2513 = call ptr @strerror(i32 noundef %2512) #11
  %2514 = load i32, ptr %758, align 4, !tbaa !5
  %2515 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2506, ptr noundef nonnull %.str.5.sink1403, i32 noundef %2507, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 209, ptr noundef %2509, ptr noundef %2511, ptr noundef %2513, i32 noundef %2514) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2516:                                             ; preds = %2490
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %9) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #11
  store ptr null, ptr %10, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %11) #11
  store i16 0, ptr %11, align 2, !tbaa !44
  %2517 = load i32, ptr @test_count, align 4, !tbaa !5
  %2518 = add nsw i32 %2517, 1
  store i32 %2518, ptr @test_count, align 4, !tbaa !5
  %2519 = call ptr @s2n_connection_new(i32 noundef 1) #11
  %2520 = icmp eq ptr %2519, null
  br i1 %2520, label %2521, label %2543

2521:                                             ; preds = %2516
  %2522 = load i32, ptr %758, align 4, !tbaa !5
  %2523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2524 = call i32 @s2n_print_stacktrace(ptr noundef %2523) #11
  %2525 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2526 = trunc nuw i8 %2525 to i1
  br i1 %2526, label %2527, label %2531

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

2531:                                             ; preds = %2527, %2521
  br label %2532

2532:                                             ; preds = %2527, %2531
  %.str.5.sink1412 = phi ptr [ @.str.5, %2531 ], [ @.str.2, %2527 ]
  store i32 %2522, ptr %758, align 4, !tbaa !5
  %2533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2534 = load i32, ptr @test_count, align 4, !tbaa !5
  %2535 = load i32, ptr %704, align 4, !tbaa !5
  %2536 = call ptr @s2n_strerror(i32 noundef %2535, ptr noundef nonnull @.str.4) #11
  %2537 = load i32, ptr %704, align 4, !tbaa !5
  %2538 = call ptr @s2n_strerror_debug(i32 noundef %2537, ptr noundef nonnull @.str.4) #11
  %2539 = load i32, ptr %758, align 4, !tbaa !5
  %2540 = call ptr @strerror(i32 noundef %2539) #11
  %2541 = load i32, ptr %758, align 4, !tbaa !5
  %2542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2533, ptr noundef nonnull %.str.5.sink1412, i32 noundef %2534, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 218, ptr noundef %2536, ptr noundef %2538, ptr noundef %2540, i32 noundef %2541) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2543:                                             ; preds = %2516
  %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 = getelementptr inbounds i8, ptr %2519, i64 2872
  %2547 = call i32 @s2n_alloc(ptr noundef nonnull %2546, i32 noundef 5) #11
  %2548 = icmp eq i32 %2547, -1
  br i1 %2548, label %2549, label %2571

2549:                                             ; preds = %2543
  %2550 = load i32, ptr %758, align 4, !tbaa !5
  %2551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2552 = call i32 @s2n_print_stacktrace(ptr noundef %2551) #11
  %2553 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2554 = trunc nuw i8 %2553 to i1
  br i1 %2554, label %2555, label %2559

2555:                                             ; preds = %2549
  %2556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2557 = call i32 @fileno(ptr noundef %2556) #11
  %2558 = call i32 @isatty(i32 noundef %2557) #11
  %.not508 = icmp eq i32 %2558, 0
  br i1 %.not508, label %2559, label %2560

2559:                                             ; preds = %2555, %2549
  br label %2560

2560:                                             ; preds = %2555, %2559
  %.str.5.sink1421 = phi ptr [ @.str.5, %2559 ], [ @.str.2, %2555 ]
  store i32 %2550, ptr %758, align 4, !tbaa !5
  %2561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2562 = load i32, ptr @test_count, align 4, !tbaa !5
  %2563 = load i32, ptr %704, align 4, !tbaa !5
  %2564 = call ptr @s2n_strerror(i32 noundef %2563, ptr noundef nonnull @.str.4) #11
  %2565 = load i32, ptr %704, align 4, !tbaa !5
  %2566 = call ptr @s2n_strerror_debug(i32 noundef %2565, ptr noundef nonnull @.str.4) #11
  %2567 = load i32, ptr %758, align 4, !tbaa !5
  %2568 = call ptr @strerror(i32 noundef %2567) #11
  %2569 = load i32, ptr %758, align 4, !tbaa !5
  %2570 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2561, ptr noundef nonnull %.str.5.sink1421, i32 noundef %2562, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 220, ptr noundef %2564, ptr noundef %2566, ptr noundef %2568, i32 noundef %2569) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2571:                                             ; preds = %2543
  %2572 = load ptr, ptr %2546, align 8, !tbaa !45
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(5) %2572, ptr noundef nonnull align 1 dereferenceable(5) @TEST_DATA, i64 5, i1 false)
  %2573 = load i32, ptr @test_count, align 4, !tbaa !5
  %2574 = add nsw i32 %2573, 1
  store i32 %2574, ptr @test_count, align 4, !tbaa !5
  %2575 = call i32 @s2n_connection_get_quic_transport_parameters(ptr noundef nonnull %2519, ptr noundef nonnull %10, ptr noundef nonnull %11) #11
  %2576 = icmp eq i32 %2575, -1
  br i1 %2576, label %2577, label %2599

2577:                                             ; preds = %2571
  %2578 = load i32, ptr %758, align 4, !tbaa !5
  %2579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2580 = call i32 @s2n_print_stacktrace(ptr noundef %2579) #11
  %2581 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2582 = trunc nuw i8 %2581 to i1
  br i1 %2582, label %2583, label %2587

2583:                                             ; preds = %2577
  %2584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2585 = call i32 @fileno(ptr noundef %2584) #11
  %2586 = call i32 @isatty(i32 noundef %2585) #11
  %.not506 = icmp eq i32 %2586, 0
  br i1 %.not506, label %2587, label %2588

2587:                                             ; preds = %2583, %2577
  br label %2588

2588:                                             ; preds = %2583, %2587
  %.str.5.sink1430 = phi ptr [ @.str.5, %2587 ], [ @.str.2, %2583 ]
  store i32 %2578, ptr %758, align 4, !tbaa !5
  %2589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2590 = load i32, ptr @test_count, align 4, !tbaa !5
  %2591 = load i32, ptr %704, align 4, !tbaa !5
  %2592 = call ptr @s2n_strerror(i32 noundef %2591, ptr noundef nonnull @.str.4) #11
  %2593 = load i32, ptr %704, align 4, !tbaa !5
  %2594 = call ptr @s2n_strerror_debug(i32 noundef %2593, ptr noundef nonnull @.str.4) #11
  %2595 = load i32, ptr %758, align 4, !tbaa !5
  %2596 = call ptr @strerror(i32 noundef %2595) #11
  %2597 = load i32, ptr %758, align 4, !tbaa !5
  %2598 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2589, ptr noundef nonnull %.str.5.sink1430, i32 noundef %2590, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 223, ptr noundef %2592, ptr noundef %2594, ptr noundef %2596, i32 noundef %2597) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2599:                                             ; preds = %2571
  %2600 = load i32, ptr @test_count, align 4, !tbaa !5
  %2601 = add nsw i32 %2600, 1
  store i32 %2601, ptr @test_count, align 4, !tbaa !5
  %2602 = load ptr, ptr %10, align 8, !tbaa !9
  %2603 = load ptr, ptr %2546, align 8, !tbaa !45
  %2604 = icmp eq ptr %2602, %2603
  br i1 %2604, label %2627, label %2605

2605:                                             ; preds = %2599
  %2606 = load i32, ptr %758, align 4, !tbaa !5
  %2607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2608 = call i32 @s2n_print_stacktrace(ptr noundef %2607) #11
  %2609 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2610 = trunc nuw i8 %2609 to i1
  br i1 %2610, label %2611, label %2615

2611:                                             ; preds = %2605
  %2612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2613 = call i32 @fileno(ptr noundef %2612) #11
  %2614 = call i32 @isatty(i32 noundef %2613) #11
  %.not456 = icmp eq i32 %2614, 0
  br i1 %.not456, label %2615, label %2616

2615:                                             ; preds = %2611, %2605
  br label %2616

2616:                                             ; preds = %2611, %2615
  %.str.5.sink1439 = phi ptr [ @.str.5, %2615 ], [ @.str.2, %2611 ]
  store i32 %2606, ptr %758, align 4, !tbaa !5
  %2617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2618 = load i32, ptr @test_count, align 4, !tbaa !5
  %2619 = load i32, ptr %704, align 4, !tbaa !5
  %2620 = call ptr @s2n_strerror(i32 noundef %2619, ptr noundef nonnull @.str.4) #11
  %2621 = load i32, ptr %704, align 4, !tbaa !5
  %2622 = call ptr @s2n_strerror_debug(i32 noundef %2621, ptr noundef nonnull @.str.4) #11
  %2623 = load i32, ptr %758, align 4, !tbaa !5
  %2624 = call ptr @strerror(i32 noundef %2623) #11
  %2625 = load i32, ptr %758, align 4, !tbaa !5
  %2626 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2617, ptr noundef nonnull %.str.5.sink1439, i32 noundef %2618, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 224, ptr noundef %2620, ptr noundef %2622, ptr noundef %2624, i32 noundef %2625) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2627:                                             ; preds = %2599
  %2628 = add nsw i32 %2600, 2
  store i32 %2628, ptr @test_count, align 4, !tbaa !5
  %2629 = load i16, ptr %11, align 2, !tbaa !44
  %2630 = zext i16 %2629 to i32
  %2631 = getelementptr inbounds i8, ptr %2519, i64 2880
  %2632 = load i32, ptr %2631, align 8, !tbaa !46
  %2633 = icmp eq i32 %2632, %2630
  br i1 %2633, label %2656, label %2634

2634:                                             ; preds = %2627
  %2635 = load i32, ptr %758, align 4, !tbaa !5
  %2636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2637 = call i32 @s2n_print_stacktrace(ptr noundef %2636) #11
  %2638 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2639 = trunc nuw i8 %2638 to i1
  br i1 %2639, label %2640, label %2644

2640:                                             ; preds = %2634
  %2641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2642 = call i32 @fileno(ptr noundef %2641) #11
  %2643 = call i32 @isatty(i32 noundef %2642) #11
  %.not457 = icmp eq i32 %2643, 0
  br i1 %.not457, label %2644, label %2645

2644:                                             ; preds = %2640, %2634
  br label %2645

2645:                                             ; preds = %2640, %2644
  %.str.5.sink1448 = phi ptr [ @.str.5, %2644 ], [ @.str.2, %2640 ]
  store i32 %2635, ptr %758, align 4, !tbaa !5
  %2646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2647 = load i32, ptr @test_count, align 4, !tbaa !5
  %2648 = load i32, ptr %704, align 4, !tbaa !5
  %2649 = call ptr @s2n_strerror(i32 noundef %2648, ptr noundef nonnull @.str.4) #11
  %2650 = load i32, ptr %704, align 4, !tbaa !5
  %2651 = call ptr @s2n_strerror_debug(i32 noundef %2650, ptr noundef nonnull @.str.4) #11
  %2652 = load i32, ptr %758, align 4, !tbaa !5
  %2653 = call ptr @strerror(i32 noundef %2652) #11
  %2654 = load i32, ptr %758, align 4, !tbaa !5
  %2655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2646, ptr noundef nonnull %.str.5.sink1448, i32 noundef %2647, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 225, ptr noundef %2649, ptr noundef %2651, ptr noundef %2653, i32 noundef %2654) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2656:                                             ; preds = %2627
  %2657 = add nsw i32 %2600, 3
  store i32 %2657, ptr @test_count, align 4, !tbaa !5
  %2658 = call i32 @s2n_connection_free(ptr noundef nonnull %2519) #11
  %2659 = icmp eq i32 %2658, -1
  br i1 %2659, label %2660, label %2682

2660:                                             ; preds = %2656
  %2661 = load i32, ptr %758, align 4, !tbaa !5
  %2662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2663 = call i32 @s2n_print_stacktrace(ptr noundef %2662) #11
  %2664 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2665 = trunc nuw i8 %2664 to i1
  br i1 %2665, label %2666, label %2670

2666:                                             ; preds = %2660
  %2667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2668 = call i32 @fileno(ptr noundef %2667) #11
  %2669 = call i32 @isatty(i32 noundef %2668) #11
  %.not505 = icmp eq i32 %2669, 0
  br i1 %.not505, label %2670, label %2671

2670:                                             ; preds = %2666, %2660
  br label %2671

2671:                                             ; preds = %2666, %2670
  %.str.5.sink1457 = phi ptr [ @.str.5, %2670 ], [ @.str.2, %2666 ]
  store i32 %2661, ptr %758, align 4, !tbaa !5
  %2672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2673 = load i32, ptr @test_count, align 4, !tbaa !5
  %2674 = load i32, ptr %704, align 4, !tbaa !5
  %2675 = call ptr @s2n_strerror(i32 noundef %2674, ptr noundef nonnull @.str.4) #11
  %2676 = load i32, ptr %704, align 4, !tbaa !5
  %2677 = call ptr @s2n_strerror_debug(i32 noundef %2676, ptr noundef nonnull @.str.4) #11
  %2678 = load i32, ptr %758, align 4, !tbaa !5
  %2679 = call ptr @strerror(i32 noundef %2678) #11
  %2680 = load i32, ptr %758, align 4, !tbaa !5
  %2681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2672, ptr noundef nonnull %.str.5.sink1457, i32 noundef %2673, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 227, ptr noundef %2675, ptr noundef %2677, ptr noundef %2679, i32 noundef %2680) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2682:                                             ; preds = %2656
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %11) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %12) #11
  store i8 0, ptr %12, align 1, !tbaa !47
  %2683 = load i32, ptr @test_count, align 4, !tbaa !5
  %2684 = add nsw i32 %2683, 1
  store i32 %2684, ptr @test_count, align 4, !tbaa !5
  %2685 = call ptr @s2n_connection_new(i32 noundef 1) #11
  %2686 = icmp eq ptr %2685, null
  br i1 %2686, label %2687, label %2709

2687:                                             ; preds = %2682
  %2688 = load i32, ptr %758, align 4, !tbaa !5
  %2689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2690 = call i32 @s2n_print_stacktrace(ptr noundef %2689) #11
  %2691 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2692 = trunc nuw i8 %2691 to i1
  br i1 %2692, label %2693, label %2697

2693:                                             ; preds = %2687
  %2694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2695 = call i32 @fileno(ptr noundef %2694) #11
  %2696 = call i32 @isatty(i32 noundef %2695) #11
  %.not504 = icmp eq i32 %2696, 0
  br i1 %.not504, label %2697, label %2698

2697:                                             ; preds = %2693, %2687
  br label %2698

2698:                                             ; preds = %2693, %2697
  %.str.5.sink1466 = phi ptr [ @.str.5, %2697 ], [ @.str.2, %2693 ]
  store i32 %2688, ptr %758, align 4, !tbaa !5
  %2699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2700 = load i32, ptr @test_count, align 4, !tbaa !5
  %2701 = load i32, ptr %704, align 4, !tbaa !5
  %2702 = call ptr @s2n_strerror(i32 noundef %2701, ptr noundef nonnull @.str.4) #11
  %2703 = load i32, ptr %704, align 4, !tbaa !5
  %2704 = call ptr @s2n_strerror_debug(i32 noundef %2703, ptr noundef nonnull @.str.4) #11
  %2705 = load i32, ptr %758, align 4, !tbaa !5
  %2706 = call ptr @strerror(i32 noundef %2705) #11
  %2707 = load i32, ptr %758, align 4, !tbaa !5
  %2708 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2699, ptr noundef nonnull %.str.5.sink1466, i32 noundef %2700, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 238, ptr noundef %2702, ptr noundef %2704, ptr noundef %2706, i32 noundef %2707) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2709:                                             ; preds = %2682
  %2710 = load i32, ptr @test_count, align 4, !tbaa !5
  %2711 = add nsw i32 %2710, 1
  store i32 %2711, ptr @test_count, align 4, !tbaa !5
  %2712 = call i32 @s2n_connection_set_secret_callback(ptr noundef null, ptr noundef nonnull @s2n_test_noop_secret_handler, ptr noundef nonnull %12) #11
  %2713 = icmp eq i32 %2712, -1
  br i1 %2713, label %2736, label %2714

2714:                                             ; preds = %2709
  %2715 = load i32, ptr %758, align 4, !tbaa !5
  %2716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2717 = call i32 @s2n_print_stacktrace(ptr noundef %2716) #11
  %2718 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2719 = trunc nuw i8 %2718 to i1
  br i1 %2719, label %2720, label %2724

2720:                                             ; preds = %2714
  %2721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2722 = call i32 @fileno(ptr noundef %2721) #11
  %2723 = call i32 @isatty(i32 noundef %2722) #11
  %.not458 = icmp eq i32 %2723, 0
  br i1 %.not458, label %2724, label %2725

2724:                                             ; preds = %2720, %2714
  br label %2725

2725:                                             ; preds = %2720, %2724
  %.str.5.sink1475 = phi ptr [ @.str.5, %2724 ], [ @.str.2, %2720 ]
  store i32 %2715, ptr %758, align 4, !tbaa !5
  %2726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2727 = load i32, ptr @test_count, align 4, !tbaa !5
  %2728 = load i32, ptr %704, align 4, !tbaa !5
  %2729 = call ptr @s2n_strerror(i32 noundef %2728, ptr noundef nonnull @.str.4) #11
  %2730 = load i32, ptr %704, align 4, !tbaa !5
  %2731 = call ptr @s2n_strerror_debug(i32 noundef %2730, ptr noundef nonnull @.str.4) #11
  %2732 = load i32, ptr %758, align 4, !tbaa !5
  %2733 = call ptr @strerror(i32 noundef %2732) #11
  %2734 = load i32, ptr %758, align 4, !tbaa !5
  %2735 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2726, ptr noundef nonnull %.str.5.sink1475, i32 noundef %2727, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 240, ptr noundef %2729, ptr noundef %2731, ptr noundef %2733, i32 noundef %2734) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2736:                                             ; preds = %2709
  %2737 = load i32, ptr @test_count, align 4, !tbaa !5
  %2738 = add nsw i32 %2737, 1
  store i32 %2738, ptr @test_count, align 4, !tbaa !5
  %2739 = load i32, ptr %704, align 4, !tbaa !5
  %2740 = icmp eq i32 %2739, 402653193
  br i1 %2740, label %2763, label %2741

2741:                                             ; preds = %2736
  %2742 = load i32, ptr %758, align 4, !tbaa !5
  %2743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2744 = call i32 @s2n_print_stacktrace(ptr noundef %2743) #11
  %2745 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2746 = trunc nuw i8 %2745 to i1
  br i1 %2746, label %2747, label %2751

2747:                                             ; preds = %2741
  %2748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2749 = call i32 @fileno(ptr noundef %2748) #11
  %2750 = call i32 @isatty(i32 noundef %2749) #11
  %.not459 = icmp eq i32 %2750, 0
  br i1 %.not459, label %2751, label %2752

2751:                                             ; preds = %2747, %2741
  br label %2752

2752:                                             ; preds = %2747, %2751
  %.str.5.sink1484 = phi ptr [ @.str.5, %2751 ], [ @.str.2, %2747 ]
  store i32 %2742, ptr %758, align 4, !tbaa !5
  %2753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2754 = load i32, ptr @test_count, align 4, !tbaa !5
  %2755 = load i32, ptr %704, align 4, !tbaa !5
  %2756 = call ptr @s2n_strerror(i32 noundef %2755, ptr noundef nonnull @.str.4) #11
  %2757 = load i32, ptr %704, align 4, !tbaa !5
  %2758 = call ptr @s2n_strerror_debug(i32 noundef %2757, ptr noundef nonnull @.str.4) #11
  %2759 = load i32, ptr %758, align 4, !tbaa !5
  %2760 = call ptr @strerror(i32 noundef %2759) #11
  %2761 = load i32, ptr %758, align 4, !tbaa !5
  %2762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2753, ptr noundef nonnull %.str.5.sink1484, i32 noundef %2754, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 240, ptr noundef %2756, ptr noundef %2758, ptr noundef %2760, i32 noundef %2761) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2763:                                             ; preds = %2736
  %2764 = add nsw i32 %2737, 2
  store i32 %2764, ptr @test_count, align 4, !tbaa !5
  %2765 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #11
  %2766 = icmp eq ptr %2765, null
  br i1 %2766, label %2767, label %2789

2767:                                             ; preds = %2763
  %2768 = load i32, ptr %758, align 4, !tbaa !5
  %2769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2770 = call i32 @s2n_print_stacktrace(ptr noundef %2769) #11
  %2771 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2772 = trunc nuw i8 %2771 to i1
  br i1 %2772, label %2773, label %2777

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

2777:                                             ; preds = %2773, %2767
  br label %2778

2778:                                             ; preds = %2773, %2777
  %.str.5.sink1493 = phi ptr [ @.str.5, %2777 ], [ @.str.2, %2773 ]
  store i32 %2768, ptr %758, align 4, !tbaa !5
  %2779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2780 = load i32, ptr @test_count, align 4, !tbaa !5
  %2781 = load i32, ptr %704, align 4, !tbaa !5
  %2782 = call ptr @s2n_strerror(i32 noundef %2781, ptr noundef nonnull @.str.4) #11
  %2783 = load i32, ptr %704, align 4, !tbaa !5
  %2784 = call ptr @s2n_strerror_debug(i32 noundef %2783, ptr noundef nonnull @.str.4) #11
  %2785 = load i32, ptr %758, align 4, !tbaa !5
  %2786 = call ptr @strerror(i32 noundef %2785) #11
  %2787 = load i32, ptr %758, align 4, !tbaa !5
  %2788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2779, ptr noundef nonnull %.str.5.sink1493, i32 noundef %2780, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 240, ptr noundef %2782, ptr noundef %2784, ptr noundef %2786, i32 noundef %2787) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2789:                                             ; preds = %2763
  store i32 0, ptr %704, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %758, align 4, !tbaa !5
  %2790 = load i32, ptr @test_count, align 4, !tbaa !5
  %2791 = add nsw i32 %2790, 1
  store i32 %2791, ptr @test_count, align 4, !tbaa !5
  %2792 = call i32 @s2n_connection_set_secret_callback(ptr noundef nonnull %2685, ptr noundef null, ptr noundef nonnull %12) #11
  %2793 = icmp eq i32 %2792, -1
  br i1 %2793, label %2816, label %2794

2794:                                             ; preds = %2789
  %2795 = load i32, ptr %758, align 4, !tbaa !5
  %2796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2797 = call i32 @s2n_print_stacktrace(ptr noundef %2796) #11
  %2798 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2799 = trunc nuw i8 %2798 to i1
  br i1 %2799, label %2800, label %2804

2800:                                             ; preds = %2794
  %2801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2802 = call i32 @fileno(ptr noundef %2801) #11
  %2803 = call i32 @isatty(i32 noundef %2802) #11
  %.not460 = icmp eq i32 %2803, 0
  br i1 %.not460, label %2804, label %2805

2804:                                             ; preds = %2800, %2794
  br label %2805

2805:                                             ; preds = %2800, %2804
  %.str.5.sink1502 = phi ptr [ @.str.5, %2804 ], [ @.str.2, %2800 ]
  store i32 %2795, ptr %758, align 4, !tbaa !5
  %2806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2807 = load i32, ptr @test_count, align 4, !tbaa !5
  %2808 = load i32, ptr %704, align 4, !tbaa !5
  %2809 = call ptr @s2n_strerror(i32 noundef %2808, ptr noundef nonnull @.str.4) #11
  %2810 = load i32, ptr %704, align 4, !tbaa !5
  %2811 = call ptr @s2n_strerror_debug(i32 noundef %2810, ptr noundef nonnull @.str.4) #11
  %2812 = load i32, ptr %758, align 4, !tbaa !5
  %2813 = call ptr @strerror(i32 noundef %2812) #11
  %2814 = load i32, ptr %758, align 4, !tbaa !5
  %2815 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2806, ptr noundef nonnull %.str.5.sink1502, i32 noundef %2807, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 241, ptr noundef %2809, ptr noundef %2811, ptr noundef %2813, i32 noundef %2814) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2816:                                             ; preds = %2789
  %2817 = load i32, ptr @test_count, align 4, !tbaa !5
  %2818 = add nsw i32 %2817, 1
  store i32 %2818, ptr @test_count, align 4, !tbaa !5
  %2819 = load i32, ptr %704, align 4, !tbaa !5
  %2820 = icmp eq i32 %2819, 402653193
  br i1 %2820, label %2843, label %2821

2821:                                             ; preds = %2816
  %2822 = load i32, ptr %758, align 4, !tbaa !5
  %2823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2824 = call i32 @s2n_print_stacktrace(ptr noundef %2823) #11
  %2825 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2826 = trunc nuw i8 %2825 to i1
  br i1 %2826, label %2827, label %2831

2827:                                             ; preds = %2821
  %2828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2829 = call i32 @fileno(ptr noundef %2828) #11
  %2830 = call i32 @isatty(i32 noundef %2829) #11
  %.not461 = icmp eq i32 %2830, 0
  br i1 %.not461, label %2831, label %2832

2831:                                             ; preds = %2827, %2821
  br label %2832

2832:                                             ; preds = %2827, %2831
  %.str.5.sink1511 = phi ptr [ @.str.5, %2831 ], [ @.str.2, %2827 ]
  store i32 %2822, ptr %758, align 4, !tbaa !5
  %2833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2834 = load i32, ptr @test_count, align 4, !tbaa !5
  %2835 = load i32, ptr %704, align 4, !tbaa !5
  %2836 = call ptr @s2n_strerror(i32 noundef %2835, ptr noundef nonnull @.str.4) #11
  %2837 = load i32, ptr %704, align 4, !tbaa !5
  %2838 = call ptr @s2n_strerror_debug(i32 noundef %2837, ptr noundef nonnull @.str.4) #11
  %2839 = load i32, ptr %758, align 4, !tbaa !5
  %2840 = call ptr @strerror(i32 noundef %2839) #11
  %2841 = load i32, ptr %758, align 4, !tbaa !5
  %2842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2833, ptr noundef nonnull %.str.5.sink1511, i32 noundef %2834, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 241, ptr noundef %2836, ptr noundef %2838, ptr noundef %2840, i32 noundef %2841) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2843:                                             ; preds = %2816
  %2844 = add nsw i32 %2817, 2
  store i32 %2844, ptr @test_count, align 4, !tbaa !5
  %2845 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #11
  %2846 = icmp eq ptr %2845, null
  br i1 %2846, label %2847, label %2869

2847:                                             ; preds = %2843
  %2848 = load i32, ptr %758, align 4, !tbaa !5
  %2849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2850 = call i32 @s2n_print_stacktrace(ptr noundef %2849) #11
  %2851 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2852 = trunc nuw i8 %2851 to i1
  br i1 %2852, label %2853, label %2857

2853:                                             ; preds = %2847
  %2854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2855 = call i32 @fileno(ptr noundef %2854) #11
  %2856 = call i32 @isatty(i32 noundef %2855) #11
  %.not502 = icmp eq i32 %2856, 0
  br i1 %.not502, label %2857, label %2858

2857:                                             ; preds = %2853, %2847
  br label %2858

2858:                                             ; preds = %2853, %2857
  %.str.5.sink1520 = phi ptr [ @.str.5, %2857 ], [ @.str.2, %2853 ]
  store i32 %2848, ptr %758, align 4, !tbaa !5
  %2859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2860 = load i32, ptr @test_count, align 4, !tbaa !5
  %2861 = load i32, ptr %704, align 4, !tbaa !5
  %2862 = call ptr @s2n_strerror(i32 noundef %2861, ptr noundef nonnull @.str.4) #11
  %2863 = load i32, ptr %704, align 4, !tbaa !5
  %2864 = call ptr @s2n_strerror_debug(i32 noundef %2863, ptr noundef nonnull @.str.4) #11
  %2865 = load i32, ptr %758, align 4, !tbaa !5
  %2866 = call ptr @strerror(i32 noundef %2865) #11
  %2867 = load i32, ptr %758, align 4, !tbaa !5
  %2868 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2859, ptr noundef nonnull %.str.5.sink1520, i32 noundef %2860, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 241, ptr noundef %2862, ptr noundef %2864, ptr noundef %2866, i32 noundef %2867) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2869:                                             ; preds = %2843
  store i32 0, ptr %704, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %758, align 4, !tbaa !5
  %2870 = load i32, ptr @test_count, align 4, !tbaa !5
  %2871 = add nsw i32 %2870, 1
  store i32 %2871, ptr @test_count, align 4, !tbaa !5
  %2872 = getelementptr inbounds i8, ptr %2685, i64 32
  %2873 = load ptr, ptr %2872, align 8, !tbaa !48
  %2874 = icmp eq ptr %2873, null
  br i1 %2874, label %2897, label %2875

2875:                                             ; preds = %2869
  %2876 = load i32, ptr %758, align 4, !tbaa !5
  %2877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2878 = call i32 @s2n_print_stacktrace(ptr noundef %2877) #11
  %2879 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2880 = trunc nuw i8 %2879 to i1
  br i1 %2880, label %2881, label %2885

2881:                                             ; preds = %2875
  %2882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2883 = call i32 @fileno(ptr noundef %2882) #11
  %2884 = call i32 @isatty(i32 noundef %2883) #11
  %.not462 = icmp eq i32 %2884, 0
  br i1 %.not462, label %2885, label %2886

2885:                                             ; preds = %2881, %2875
  br label %2886

2886:                                             ; preds = %2881, %2885
  %.str.5.sink1529 = phi ptr [ @.str.5, %2885 ], [ @.str.2, %2881 ]
  store i32 %2876, ptr %758, align 4, !tbaa !5
  %2887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2888 = load i32, ptr @test_count, align 4, !tbaa !5
  %2889 = load i32, ptr %704, align 4, !tbaa !5
  %2890 = call ptr @s2n_strerror(i32 noundef %2889, ptr noundef nonnull @.str.4) #11
  %2891 = load i32, ptr %704, align 4, !tbaa !5
  %2892 = call ptr @s2n_strerror_debug(i32 noundef %2891, ptr noundef nonnull @.str.4) #11
  %2893 = load i32, ptr %758, align 4, !tbaa !5
  %2894 = call ptr @strerror(i32 noundef %2893) #11
  %2895 = load i32, ptr %758, align 4, !tbaa !5
  %2896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2887, ptr noundef nonnull %.str.5.sink1529, i32 noundef %2888, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 243, ptr noundef %2890, ptr noundef %2892, ptr noundef %2894, i32 noundef %2895) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2897:                                             ; preds = %2869
  %2898 = add nsw i32 %2870, 2
  store i32 %2898, ptr @test_count, align 4, !tbaa !5
  %2899 = getelementptr inbounds i8, ptr %2685, i64 40
  %2900 = load ptr, ptr %2899, align 8, !tbaa !49
  %2901 = icmp eq ptr %2900, null
  br i1 %2901, label %2924, label %2902

2902:                                             ; preds = %2897
  %2903 = load i32, ptr %758, align 4, !tbaa !5
  %2904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2905 = call i32 @s2n_print_stacktrace(ptr noundef %2904) #11
  %2906 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2907 = trunc nuw i8 %2906 to i1
  br i1 %2907, label %2908, label %2912

2908:                                             ; preds = %2902
  %2909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2910 = call i32 @fileno(ptr noundef %2909) #11
  %2911 = call i32 @isatty(i32 noundef %2910) #11
  %.not463 = icmp eq i32 %2911, 0
  br i1 %.not463, label %2912, label %2913

2912:                                             ; preds = %2908, %2902
  br label %2913

2913:                                             ; preds = %2908, %2912
  %.str.5.sink1538 = phi ptr [ @.str.5, %2912 ], [ @.str.2, %2908 ]
  store i32 %2903, ptr %758, align 4, !tbaa !5
  %2914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2915 = load i32, ptr @test_count, align 4, !tbaa !5
  %2916 = load i32, ptr %704, align 4, !tbaa !5
  %2917 = call ptr @s2n_strerror(i32 noundef %2916, ptr noundef nonnull @.str.4) #11
  %2918 = load i32, ptr %704, align 4, !tbaa !5
  %2919 = call ptr @s2n_strerror_debug(i32 noundef %2918, ptr noundef nonnull @.str.4) #11
  %2920 = load i32, ptr %758, align 4, !tbaa !5
  %2921 = call ptr @strerror(i32 noundef %2920) #11
  %2922 = load i32, ptr %758, align 4, !tbaa !5
  %2923 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2914, ptr noundef nonnull %.str.5.sink1538, i32 noundef %2915, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 244, ptr noundef %2917, ptr noundef %2919, ptr noundef %2921, i32 noundef %2922) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2924:                                             ; preds = %2897
  %2925 = add nsw i32 %2870, 3
  store i32 %2925, ptr @test_count, align 4, !tbaa !5
  %2926 = call i32 @s2n_connection_free(ptr noundef nonnull %2685) #11
  %2927 = icmp eq i32 %2926, -1
  br i1 %2927, label %2928, label %2950

2928:                                             ; preds = %2924
  %2929 = load i32, ptr %758, align 4, !tbaa !5
  %2930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2931 = call i32 @s2n_print_stacktrace(ptr noundef %2930) #11
  %2932 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2933 = trunc nuw i8 %2932 to i1
  br i1 %2933, label %2934, label %2938

2934:                                             ; preds = %2928
  %2935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2936 = call i32 @fileno(ptr noundef %2935) #11
  %2937 = call i32 @isatty(i32 noundef %2936) #11
  %.not501 = icmp eq i32 %2937, 0
  br i1 %.not501, label %2938, label %2939

2938:                                             ; preds = %2934, %2928
  br label %2939

2939:                                             ; preds = %2934, %2938
  %.str.5.sink1547 = phi ptr [ @.str.5, %2938 ], [ @.str.2, %2934 ]
  store i32 %2929, ptr %758, align 4, !tbaa !5
  %2940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2941 = load i32, ptr @test_count, align 4, !tbaa !5
  %2942 = load i32, ptr %704, align 4, !tbaa !5
  %2943 = call ptr @s2n_strerror(i32 noundef %2942, ptr noundef nonnull @.str.4) #11
  %2944 = load i32, ptr %704, align 4, !tbaa !5
  %2945 = call ptr @s2n_strerror_debug(i32 noundef %2944, ptr noundef nonnull @.str.4) #11
  %2946 = load i32, ptr %758, align 4, !tbaa !5
  %2947 = call ptr @strerror(i32 noundef %2946) #11
  %2948 = load i32, ptr %758, align 4, !tbaa !5
  %2949 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2940, ptr noundef nonnull %.str.5.sink1547, i32 noundef %2941, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 246, ptr noundef %2943, ptr noundef %2945, ptr noundef %2947, i32 noundef %2948) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2950:                                             ; preds = %2924
  %2951 = load i32, ptr @test_count, align 4, !tbaa !5
  %2952 = add nsw i32 %2951, 1
  store i32 %2952, ptr @test_count, align 4, !tbaa !5
  %2953 = call ptr @s2n_connection_new(i32 noundef 1) #11
  %2954 = icmp eq ptr %2953, null
  br i1 %2954, label %2955, label %2977

2955:                                             ; preds = %2950
  %2956 = load i32, ptr %758, align 4, !tbaa !5
  %2957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2958 = call i32 @s2n_print_stacktrace(ptr noundef %2957) #11
  %2959 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2960 = trunc nuw i8 %2959 to i1
  br i1 %2960, label %2961, label %2965

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

2965:                                             ; preds = %2961, %2955
  br label %2966

2966:                                             ; preds = %2961, %2965
  %.str.5.sink1556 = phi ptr [ @.str.5, %2965 ], [ @.str.2, %2961 ]
  store i32 %2956, ptr %758, align 4, !tbaa !5
  %2967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2968 = load i32, ptr @test_count, align 4, !tbaa !5
  %2969 = load i32, ptr %704, align 4, !tbaa !5
  %2970 = call ptr @s2n_strerror(i32 noundef %2969, ptr noundef nonnull @.str.4) #11
  %2971 = load i32, ptr %704, align 4, !tbaa !5
  %2972 = call ptr @s2n_strerror_debug(i32 noundef %2971, ptr noundef nonnull @.str.4) #11
  %2973 = load i32, ptr %758, align 4, !tbaa !5
  %2974 = call ptr @strerror(i32 noundef %2973) #11
  %2975 = load i32, ptr %758, align 4, !tbaa !5
  %2976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2967, ptr noundef nonnull %.str.5.sink1556, i32 noundef %2968, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 252, ptr noundef %2970, ptr noundef %2972, ptr noundef %2974, i32 noundef %2975) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2977:                                             ; preds = %2950
  %2978 = load i32, ptr @test_count, align 4, !tbaa !5
  %2979 = add nsw i32 %2978, 1
  store i32 %2979, ptr @test_count, align 4, !tbaa !5
  %2980 = getelementptr inbounds i8, ptr %2953, i64 32
  %2981 = load ptr, ptr %2980, align 8, !tbaa !48
  %2982 = icmp eq ptr %2981, null
  br i1 %2982, label %3005, label %2983

2983:                                             ; preds = %2977
  %2984 = load i32, ptr %758, align 4, !tbaa !5
  %2985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2986 = call i32 @s2n_print_stacktrace(ptr noundef %2985) #11
  %2987 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2988 = trunc nuw i8 %2987 to i1
  br i1 %2988, label %2989, label %2993

2989:                                             ; preds = %2983
  %2990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2991 = call i32 @fileno(ptr noundef %2990) #11
  %2992 = call i32 @isatty(i32 noundef %2991) #11
  %.not464 = icmp eq i32 %2992, 0
  br i1 %.not464, label %2993, label %2994

2993:                                             ; preds = %2989, %2983
  br label %2994

2994:                                             ; preds = %2989, %2993
  %.str.5.sink1565 = phi ptr [ @.str.5, %2993 ], [ @.str.2, %2989 ]
  store i32 %2984, ptr %758, align 4, !tbaa !5
  %2995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2996 = load i32, ptr @test_count, align 4, !tbaa !5
  %2997 = load i32, ptr %704, align 4, !tbaa !5
  %2998 = call ptr @s2n_strerror(i32 noundef %2997, ptr noundef nonnull @.str.4) #11
  %2999 = load i32, ptr %704, align 4, !tbaa !5
  %3000 = call ptr @s2n_strerror_debug(i32 noundef %2999, ptr noundef nonnull @.str.4) #11
  %3001 = load i32, ptr %758, align 4, !tbaa !5
  %3002 = call ptr @strerror(i32 noundef %3001) #11
  %3003 = load i32, ptr %758, align 4, !tbaa !5
  %3004 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2995, ptr noundef nonnull %.str.5.sink1565, i32 noundef %2996, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 253, ptr noundef %2998, ptr noundef %3000, ptr noundef %3002, i32 noundef %3003) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3005:                                             ; preds = %2977
  %3006 = add nsw i32 %2978, 2
  store i32 %3006, ptr @test_count, align 4, !tbaa !5
  %3007 = getelementptr inbounds i8, ptr %2953, i64 40
  %3008 = load ptr, ptr %3007, align 8, !tbaa !49
  %3009 = icmp eq ptr %3008, null
  br i1 %3009, label %3032, label %3010

3010:                                             ; preds = %3005
  %3011 = load i32, ptr %758, align 4, !tbaa !5
  %3012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3013 = call i32 @s2n_print_stacktrace(ptr noundef %3012) #11
  %3014 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3015 = trunc nuw i8 %3014 to i1
  br i1 %3015, label %3016, label %3020

3016:                                             ; preds = %3010
  %3017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3018 = call i32 @fileno(ptr noundef %3017) #11
  %3019 = call i32 @isatty(i32 noundef %3018) #11
  %.not465 = icmp eq i32 %3019, 0
  br i1 %.not465, label %3020, label %3021

3020:                                             ; preds = %3016, %3010
  br label %3021

3021:                                             ; preds = %3016, %3020
  %.str.5.sink1574 = phi ptr [ @.str.5, %3020 ], [ @.str.2, %3016 ]
  store i32 %3011, ptr %758, align 4, !tbaa !5
  %3022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3023 = load i32, ptr @test_count, align 4, !tbaa !5
  %3024 = load i32, ptr %704, align 4, !tbaa !5
  %3025 = call ptr @s2n_strerror(i32 noundef %3024, ptr noundef nonnull @.str.4) #11
  %3026 = load i32, ptr %704, align 4, !tbaa !5
  %3027 = call ptr @s2n_strerror_debug(i32 noundef %3026, ptr noundef nonnull @.str.4) #11
  %3028 = load i32, ptr %758, align 4, !tbaa !5
  %3029 = call ptr @strerror(i32 noundef %3028) #11
  %3030 = load i32, ptr %758, align 4, !tbaa !5
  %3031 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3022, ptr noundef nonnull %.str.5.sink1574, i32 noundef %3023, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 254, ptr noundef %3025, ptr noundef %3027, ptr noundef %3029, i32 noundef %3030) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3032:                                             ; preds = %3005
  %3033 = add nsw i32 %2978, 3
  store i32 %3033, ptr @test_count, align 4, !tbaa !5
  %3034 = call i32 @s2n_connection_set_secret_callback(ptr noundef nonnull %2953, ptr noundef nonnull @s2n_test_noop_secret_handler, ptr noundef null) #11
  %3035 = icmp eq i32 %3034, -1
  br i1 %3035, label %3036, label %3058

3036:                                             ; preds = %3032
  %3037 = load i32, ptr %758, align 4, !tbaa !5
  %3038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3039 = call i32 @s2n_print_stacktrace(ptr noundef %3038) #11
  %3040 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3041 = trunc nuw i8 %3040 to i1
  br i1 %3041, label %3042, label %3046

3042:                                             ; preds = %3036
  %3043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3044 = call i32 @fileno(ptr noundef %3043) #11
  %3045 = call i32 @isatty(i32 noundef %3044) #11
  %.not499 = icmp eq i32 %3045, 0
  br i1 %.not499, label %3046, label %3047

3046:                                             ; preds = %3042, %3036
  br label %3047

3047:                                             ; preds = %3042, %3046
  %.str.5.sink1583 = phi ptr [ @.str.5, %3046 ], [ @.str.2, %3042 ]
  store i32 %3037, ptr %758, align 4, !tbaa !5
  %3048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3049 = load i32, ptr @test_count, align 4, !tbaa !5
  %3050 = load i32, ptr %704, align 4, !tbaa !5
  %3051 = call ptr @s2n_strerror(i32 noundef %3050, ptr noundef nonnull @.str.4) #11
  %3052 = load i32, ptr %704, align 4, !tbaa !5
  %3053 = call ptr @s2n_strerror_debug(i32 noundef %3052, ptr noundef nonnull @.str.4) #11
  %3054 = load i32, ptr %758, align 4, !tbaa !5
  %3055 = call ptr @strerror(i32 noundef %3054) #11
  %3056 = load i32, ptr %758, align 4, !tbaa !5
  %3057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3048, ptr noundef nonnull %.str.5.sink1583, i32 noundef %3049, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 256, ptr noundef %3051, ptr noundef %3053, ptr noundef %3055, i32 noundef %3056) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3058:                                             ; preds = %3032
  %3059 = load i32, ptr @test_count, align 4, !tbaa !5
  %3060 = add nsw i32 %3059, 1
  store i32 %3060, ptr @test_count, align 4, !tbaa !5
  %3061 = load ptr, ptr %2980, align 8, !tbaa !48
  %3062 = icmp eq ptr %3061, @s2n_test_noop_secret_handler
  br i1 %3062, label %3085, label %3063

3063:                                             ; preds = %3058
  %3064 = load i32, ptr %758, align 4, !tbaa !5
  %3065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3066 = call i32 @s2n_print_stacktrace(ptr noundef %3065) #11
  %3067 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3068 = trunc nuw i8 %3067 to i1
  br i1 %3068, label %3069, label %3073

3069:                                             ; preds = %3063
  %3070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3071 = call i32 @fileno(ptr noundef %3070) #11
  %3072 = call i32 @isatty(i32 noundef %3071) #11
  %.not466 = icmp eq i32 %3072, 0
  br i1 %.not466, label %3073, label %3074

3073:                                             ; preds = %3069, %3063
  br label %3074

3074:                                             ; preds = %3069, %3073
  %.str.5.sink1592 = phi ptr [ @.str.5, %3073 ], [ @.str.2, %3069 ]
  store i32 %3064, ptr %758, align 4, !tbaa !5
  %3075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3076 = load i32, ptr @test_count, align 4, !tbaa !5
  %3077 = load i32, ptr %704, align 4, !tbaa !5
  %3078 = call ptr @s2n_strerror(i32 noundef %3077, ptr noundef nonnull @.str.4) #11
  %3079 = load i32, ptr %704, align 4, !tbaa !5
  %3080 = call ptr @s2n_strerror_debug(i32 noundef %3079, ptr noundef nonnull @.str.4) #11
  %3081 = load i32, ptr %758, align 4, !tbaa !5
  %3082 = call ptr @strerror(i32 noundef %3081) #11
  %3083 = load i32, ptr %758, align 4, !tbaa !5
  %3084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3075, ptr noundef nonnull %.str.5.sink1592, i32 noundef %3076, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 258, ptr noundef %3078, ptr noundef %3080, ptr noundef %3082, i32 noundef %3083) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3085:                                             ; preds = %3058
  %3086 = add nsw i32 %3059, 2
  store i32 %3086, ptr @test_count, align 4, !tbaa !5
  %3087 = load ptr, ptr %3007, align 8, !tbaa !49
  %3088 = icmp eq ptr %3087, null
  br i1 %3088, label %3111, label %3089

3089:                                             ; preds = %3085
  %3090 = load i32, ptr %758, align 4, !tbaa !5
  %3091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3092 = call i32 @s2n_print_stacktrace(ptr noundef %3091) #11
  %3093 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3094 = trunc nuw i8 %3093 to i1
  br i1 %3094, label %3095, label %3099

3095:                                             ; preds = %3089
  %3096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3097 = call i32 @fileno(ptr noundef %3096) #11
  %3098 = call i32 @isatty(i32 noundef %3097) #11
  %.not467 = icmp eq i32 %3098, 0
  br i1 %.not467, label %3099, label %3100

3099:                                             ; preds = %3095, %3089
  br label %3100

3100:                                             ; preds = %3095, %3099
  %.str.5.sink1601 = phi ptr [ @.str.5, %3099 ], [ @.str.2, %3095 ]
  store i32 %3090, ptr %758, align 4, !tbaa !5
  %3101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3102 = load i32, ptr @test_count, align 4, !tbaa !5
  %3103 = load i32, ptr %704, align 4, !tbaa !5
  %3104 = call ptr @s2n_strerror(i32 noundef %3103, ptr noundef nonnull @.str.4) #11
  %3105 = load i32, ptr %704, align 4, !tbaa !5
  %3106 = call ptr @s2n_strerror_debug(i32 noundef %3105, ptr noundef nonnull @.str.4) #11
  %3107 = load i32, ptr %758, align 4, !tbaa !5
  %3108 = call ptr @strerror(i32 noundef %3107) #11
  %3109 = load i32, ptr %758, align 4, !tbaa !5
  %3110 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3101, ptr noundef nonnull %.str.5.sink1601, i32 noundef %3102, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 259, ptr noundef %3104, ptr noundef %3106, ptr noundef %3108, i32 noundef %3109) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3111:                                             ; preds = %3085
  %3112 = add nsw i32 %3059, 3
  store i32 %3112, ptr @test_count, align 4, !tbaa !5
  %3113 = call i32 @s2n_connection_free(ptr noundef nonnull %2953) #11
  %3114 = icmp eq i32 %3113, -1
  br i1 %3114, label %3115, label %3137

3115:                                             ; preds = %3111
  %3116 = load i32, ptr %758, align 4, !tbaa !5
  %3117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3118 = call i32 @s2n_print_stacktrace(ptr noundef %3117) #11
  %3119 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3120 = trunc nuw i8 %3119 to i1
  br i1 %3120, label %3121, label %3125

3121:                                             ; preds = %3115
  %3122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3123 = call i32 @fileno(ptr noundef %3122) #11
  %3124 = call i32 @isatty(i32 noundef %3123) #11
  %.not498 = icmp eq i32 %3124, 0
  br i1 %.not498, label %3125, label %3126

3125:                                             ; preds = %3121, %3115
  br label %3126

3126:                                             ; preds = %3121, %3125
  %.str.5.sink1610 = phi ptr [ @.str.5, %3125 ], [ @.str.2, %3121 ]
  store i32 %3116, ptr %758, align 4, !tbaa !5
  %3127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3128 = load i32, ptr @test_count, align 4, !tbaa !5
  %3129 = load i32, ptr %704, align 4, !tbaa !5
  %3130 = call ptr @s2n_strerror(i32 noundef %3129, ptr noundef nonnull @.str.4) #11
  %3131 = load i32, ptr %704, align 4, !tbaa !5
  %3132 = call ptr @s2n_strerror_debug(i32 noundef %3131, ptr noundef nonnull @.str.4) #11
  %3133 = load i32, ptr %758, align 4, !tbaa !5
  %3134 = call ptr @strerror(i32 noundef %3133) #11
  %3135 = load i32, ptr %758, align 4, !tbaa !5
  %3136 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3127, ptr noundef nonnull %.str.5.sink1610, i32 noundef %3128, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 261, ptr noundef %3130, ptr noundef %3132, ptr noundef %3134, i32 noundef %3135) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3137:                                             ; preds = %3111
  %3138 = load i32, ptr @test_count, align 4, !tbaa !5
  %3139 = add nsw i32 %3138, 1
  store i32 %3139, ptr @test_count, align 4, !tbaa !5
  %3140 = call ptr @s2n_connection_new(i32 noundef 1) #11
  %3141 = icmp eq ptr %3140, null
  br i1 %3141, label %3142, label %3164

3142:                                             ; preds = %3137
  %3143 = load i32, ptr %758, align 4, !tbaa !5
  %3144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3145 = call i32 @s2n_print_stacktrace(ptr noundef %3144) #11
  %3146 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3147 = trunc nuw i8 %3146 to i1
  br i1 %3147, label %3148, label %3152

3148:                                             ; preds = %3142
  %3149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3150 = call i32 @fileno(ptr noundef %3149) #11
  %3151 = call i32 @isatty(i32 noundef %3150) #11
  %.not497 = icmp eq i32 %3151, 0
  br i1 %.not497, label %3152, label %3153

3152:                                             ; preds = %3148, %3142
  br label %3153

3153:                                             ; preds = %3148, %3152
  %.str.5.sink1619 = phi ptr [ @.str.5, %3152 ], [ @.str.2, %3148 ]
  store i32 %3143, ptr %758, align 4, !tbaa !5
  %3154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3155 = load i32, ptr @test_count, align 4, !tbaa !5
  %3156 = load i32, ptr %704, align 4, !tbaa !5
  %3157 = call ptr @s2n_strerror(i32 noundef %3156, ptr noundef nonnull @.str.4) #11
  %3158 = load i32, ptr %704, align 4, !tbaa !5
  %3159 = call ptr @s2n_strerror_debug(i32 noundef %3158, ptr noundef nonnull @.str.4) #11
  %3160 = load i32, ptr %758, align 4, !tbaa !5
  %3161 = call ptr @strerror(i32 noundef %3160) #11
  %3162 = load i32, ptr %758, align 4, !tbaa !5
  %3163 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3154, ptr noundef nonnull %.str.5.sink1619, i32 noundef %3155, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 267, ptr noundef %3157, ptr noundef %3159, ptr noundef %3161, i32 noundef %3162) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3164:                                             ; preds = %3137
  %3165 = load i32, ptr @test_count, align 4, !tbaa !5
  %3166 = add nsw i32 %3165, 1
  store i32 %3166, ptr @test_count, align 4, !tbaa !5
  %3167 = getelementptr inbounds i8, ptr %3140, i64 32
  %3168 = load ptr, ptr %3167, align 8, !tbaa !48
  %3169 = icmp eq ptr %3168, null
  br i1 %3169, label %3192, label %3170

3170:                                             ; preds = %3164
  %3171 = load i32, ptr %758, align 4, !tbaa !5
  %3172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3173 = call i32 @s2n_print_stacktrace(ptr noundef %3172) #11
  %3174 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3175 = trunc nuw i8 %3174 to i1
  br i1 %3175, label %3176, label %3180

3176:                                             ; preds = %3170
  %3177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3178 = call i32 @fileno(ptr noundef %3177) #11
  %3179 = call i32 @isatty(i32 noundef %3178) #11
  %.not468 = icmp eq i32 %3179, 0
  br i1 %.not468, label %3180, label %3181

3180:                                             ; preds = %3176, %3170
  br label %3181

3181:                                             ; preds = %3176, %3180
  %.str.5.sink1628 = phi ptr [ @.str.5, %3180 ], [ @.str.2, %3176 ]
  store i32 %3171, ptr %758, align 4, !tbaa !5
  %3182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3183 = load i32, ptr @test_count, align 4, !tbaa !5
  %3184 = load i32, ptr %704, align 4, !tbaa !5
  %3185 = call ptr @s2n_strerror(i32 noundef %3184, ptr noundef nonnull @.str.4) #11
  %3186 = load i32, ptr %704, align 4, !tbaa !5
  %3187 = call ptr @s2n_strerror_debug(i32 noundef %3186, ptr noundef nonnull @.str.4) #11
  %3188 = load i32, ptr %758, align 4, !tbaa !5
  %3189 = call ptr @strerror(i32 noundef %3188) #11
  %3190 = load i32, ptr %758, align 4, !tbaa !5
  %3191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3182, ptr noundef nonnull %.str.5.sink1628, i32 noundef %3183, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 268, ptr noundef %3185, ptr noundef %3187, ptr noundef %3189, i32 noundef %3190) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3192:                                             ; preds = %3164
  %3193 = add nsw i32 %3165, 2
  store i32 %3193, ptr @test_count, align 4, !tbaa !5
  %3194 = getelementptr inbounds i8, ptr %3140, i64 40
  %3195 = load ptr, ptr %3194, align 8, !tbaa !49
  %3196 = icmp eq ptr %3195, null
  br i1 %3196, label %3219, label %3197

3197:                                             ; preds = %3192
  %3198 = load i32, ptr %758, align 4, !tbaa !5
  %3199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3200 = call i32 @s2n_print_stacktrace(ptr noundef %3199) #11
  %3201 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3202 = trunc nuw i8 %3201 to i1
  br i1 %3202, label %3203, label %3207

3203:                                             ; preds = %3197
  %3204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3205 = call i32 @fileno(ptr noundef %3204) #11
  %3206 = call i32 @isatty(i32 noundef %3205) #11
  %.not469 = icmp eq i32 %3206, 0
  br i1 %.not469, label %3207, label %3208

3207:                                             ; preds = %3203, %3197
  br label %3208

3208:                                             ; preds = %3203, %3207
  %.str.5.sink1637 = phi ptr [ @.str.5, %3207 ], [ @.str.2, %3203 ]
  store i32 %3198, ptr %758, align 4, !tbaa !5
  %3209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3210 = load i32, ptr @test_count, align 4, !tbaa !5
  %3211 = load i32, ptr %704, align 4, !tbaa !5
  %3212 = call ptr @s2n_strerror(i32 noundef %3211, ptr noundef nonnull @.str.4) #11
  %3213 = load i32, ptr %704, align 4, !tbaa !5
  %3214 = call ptr @s2n_strerror_debug(i32 noundef %3213, ptr noundef nonnull @.str.4) #11
  %3215 = load i32, ptr %758, align 4, !tbaa !5
  %3216 = call ptr @strerror(i32 noundef %3215) #11
  %3217 = load i32, ptr %758, align 4, !tbaa !5
  %3218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3209, ptr noundef nonnull %.str.5.sink1637, i32 noundef %3210, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 269, ptr noundef %3212, ptr noundef %3214, ptr noundef %3216, i32 noundef %3217) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3219:                                             ; preds = %3192
  %3220 = add nsw i32 %3165, 3
  store i32 %3220, ptr @test_count, align 4, !tbaa !5
  %3221 = call i32 @s2n_connection_set_secret_callback(ptr noundef nonnull %3140, ptr noundef nonnull @s2n_test_noop_secret_handler, ptr noundef nonnull %12) #11
  %3222 = icmp eq i32 %3221, -1
  br i1 %3222, label %3223, label %3245

3223:                                             ; preds = %3219
  %3224 = load i32, ptr %758, align 4, !tbaa !5
  %3225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3226 = call i32 @s2n_print_stacktrace(ptr noundef %3225) #11
  %3227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3228 = trunc nuw i8 %3227 to i1
  br i1 %3228, label %3229, label %3233

3229:                                             ; preds = %3223
  %3230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3231 = call i32 @fileno(ptr noundef %3230) #11
  %3232 = call i32 @isatty(i32 noundef %3231) #11
  %.not496 = icmp eq i32 %3232, 0
  br i1 %.not496, label %3233, label %3234

3233:                                             ; preds = %3229, %3223
  br label %3234

3234:                                             ; preds = %3229, %3233
  %.str.5.sink1646 = phi ptr [ @.str.5, %3233 ], [ @.str.2, %3229 ]
  store i32 %3224, ptr %758, align 4, !tbaa !5
  %3235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3236 = load i32, ptr @test_count, align 4, !tbaa !5
  %3237 = load i32, ptr %704, align 4, !tbaa !5
  %3238 = call ptr @s2n_strerror(i32 noundef %3237, ptr noundef nonnull @.str.4) #11
  %3239 = load i32, ptr %704, align 4, !tbaa !5
  %3240 = call ptr @s2n_strerror_debug(i32 noundef %3239, ptr noundef nonnull @.str.4) #11
  %3241 = load i32, ptr %758, align 4, !tbaa !5
  %3242 = call ptr @strerror(i32 noundef %3241) #11
  %3243 = load i32, ptr %758, align 4, !tbaa !5
  %3244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3235, ptr noundef nonnull %.str.5.sink1646, i32 noundef %3236, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 271, ptr noundef %3238, ptr noundef %3240, ptr noundef %3242, i32 noundef %3243) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3245:                                             ; preds = %3219
  %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 = load ptr, ptr %3167, align 8, !tbaa !48
  %3249 = icmp eq ptr %3248, @s2n_test_noop_secret_handler
  br i1 %3249, label %3272, label %3250

3250:                                             ; preds = %3245
  %3251 = load i32, ptr %758, align 4, !tbaa !5
  %3252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3253 = call i32 @s2n_print_stacktrace(ptr noundef %3252) #11
  %3254 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3255 = trunc nuw i8 %3254 to i1
  br i1 %3255, label %3256, label %3260

3256:                                             ; preds = %3250
  %3257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3258 = call i32 @fileno(ptr noundef %3257) #11
  %3259 = call i32 @isatty(i32 noundef %3258) #11
  %.not470 = icmp eq i32 %3259, 0
  br i1 %.not470, label %3260, label %3261

3260:                                             ; preds = %3256, %3250
  br label %3261

3261:                                             ; preds = %3256, %3260
  %.str.5.sink1655 = phi ptr [ @.str.5, %3260 ], [ @.str.2, %3256 ]
  store i32 %3251, ptr %758, align 4, !tbaa !5
  %3262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3263 = load i32, ptr @test_count, align 4, !tbaa !5
  %3264 = load i32, ptr %704, align 4, !tbaa !5
  %3265 = call ptr @s2n_strerror(i32 noundef %3264, ptr noundef nonnull @.str.4) #11
  %3266 = load i32, ptr %704, align 4, !tbaa !5
  %3267 = call ptr @s2n_strerror_debug(i32 noundef %3266, ptr noundef nonnull @.str.4) #11
  %3268 = load i32, ptr %758, align 4, !tbaa !5
  %3269 = call ptr @strerror(i32 noundef %3268) #11
  %3270 = load i32, ptr %758, align 4, !tbaa !5
  %3271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3262, ptr noundef nonnull %.str.5.sink1655, i32 noundef %3263, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 273, ptr noundef %3265, ptr noundef %3267, ptr noundef %3269, i32 noundef %3270) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3272:                                             ; preds = %3245
  %3273 = add nsw i32 %3246, 2
  store i32 %3273, ptr @test_count, align 4, !tbaa !5
  %3274 = load ptr, ptr %3194, align 8, !tbaa !49
  %3275 = icmp eq ptr %3274, %12
  br i1 %3275, label %3298, label %3276

3276:                                             ; preds = %3272
  %3277 = load i32, ptr %758, align 4, !tbaa !5
  %3278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3279 = call i32 @s2n_print_stacktrace(ptr noundef %3278) #11
  %3280 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3281 = trunc nuw i8 %3280 to i1
  br i1 %3281, label %3282, label %3286

3282:                                             ; preds = %3276
  %3283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3284 = call i32 @fileno(ptr noundef %3283) #11
  %3285 = call i32 @isatty(i32 noundef %3284) #11
  %.not471 = icmp eq i32 %3285, 0
  br i1 %.not471, label %3286, label %3287

3286:                                             ; preds = %3282, %3276
  br label %3287

3287:                                             ; preds = %3282, %3286
  %.str.5.sink1664 = phi ptr [ @.str.5, %3286 ], [ @.str.2, %3282 ]
  store i32 %3277, ptr %758, align 4, !tbaa !5
  %3288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3289 = load i32, ptr @test_count, align 4, !tbaa !5
  %3290 = load i32, ptr %704, align 4, !tbaa !5
  %3291 = call ptr @s2n_strerror(i32 noundef %3290, ptr noundef nonnull @.str.4) #11
  %3292 = load i32, ptr %704, align 4, !tbaa !5
  %3293 = call ptr @s2n_strerror_debug(i32 noundef %3292, ptr noundef nonnull @.str.4) #11
  %3294 = load i32, ptr %758, align 4, !tbaa !5
  %3295 = call ptr @strerror(i32 noundef %3294) #11
  %3296 = load i32, ptr %758, align 4, !tbaa !5
  %3297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3288, ptr noundef nonnull %.str.5.sink1664, i32 noundef %3289, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 274, ptr noundef %3291, ptr noundef %3293, ptr noundef %3295, i32 noundef %3296) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3298:                                             ; preds = %3272
  %3299 = add nsw i32 %3246, 3
  store i32 %3299, ptr @test_count, align 4, !tbaa !5
  %3300 = call i32 @s2n_connection_free(ptr noundef nonnull %3140) #11
  %3301 = icmp eq i32 %3300, -1
  br i1 %3301, label %3302, label %3324

3302:                                             ; preds = %3298
  %3303 = load i32, ptr %758, align 4, !tbaa !5
  %3304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3305 = call i32 @s2n_print_stacktrace(ptr noundef %3304) #11
  %3306 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3307 = trunc nuw i8 %3306 to i1
  br i1 %3307, label %3308, label %3312

3308:                                             ; preds = %3302
  %3309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3310 = call i32 @fileno(ptr noundef %3309) #11
  %3311 = call i32 @isatty(i32 noundef %3310) #11
  %.not495 = icmp eq i32 %3311, 0
  br i1 %.not495, label %3312, label %3313

3312:                                             ; preds = %3308, %3302
  br label %3313

3313:                                             ; preds = %3308, %3312
  %.str.5.sink1673 = phi ptr [ @.str.5, %3312 ], [ @.str.2, %3308 ]
  store i32 %3303, ptr %758, align 4, !tbaa !5
  %3314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3315 = load i32, ptr @test_count, align 4, !tbaa !5
  %3316 = load i32, ptr %704, align 4, !tbaa !5
  %3317 = call ptr @s2n_strerror(i32 noundef %3316, ptr noundef nonnull @.str.4) #11
  %3318 = load i32, ptr %704, align 4, !tbaa !5
  %3319 = call ptr @s2n_strerror_debug(i32 noundef %3318, ptr noundef nonnull @.str.4) #11
  %3320 = load i32, ptr %758, align 4, !tbaa !5
  %3321 = call ptr @strerror(i32 noundef %3320) #11
  %3322 = load i32, ptr %758, align 4, !tbaa !5
  %3323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3314, ptr noundef nonnull %.str.5.sink1673, i32 noundef %3315, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 276, ptr noundef %3317, ptr noundef %3319, ptr noundef %3321, i32 noundef %3322) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3324:                                             ; preds = %3298
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #11
  %3325 = load i32, ptr @test_count, align 4, !tbaa !5
  %3326 = add nsw i32 %3325, 1
  store i32 %3326, ptr @test_count, align 4, !tbaa !5
  %3327 = call ptr @s2n_config_new() #11
  %3328 = icmp eq ptr %3327, null
  br i1 %3328, label %3329, label %3351

3329:                                             ; preds = %3324
  %3330 = load i32, ptr %758, align 4, !tbaa !5
  %3331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3332 = call i32 @s2n_print_stacktrace(ptr noundef %3331) #11
  %3333 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3334 = trunc nuw i8 %3333 to i1
  br i1 %3334, label %3335, label %3339

3335:                                             ; preds = %3329
  %3336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3337 = call i32 @fileno(ptr noundef %3336) #11
  %3338 = call i32 @isatty(i32 noundef %3337) #11
  %.not494 = icmp eq i32 %3338, 0
  br i1 %.not494, label %3339, label %3340

3339:                                             ; preds = %3335, %3329
  br label %3340

3340:                                             ; preds = %3335, %3339
  %.str.5.sink1682 = phi ptr [ @.str.5, %3339 ], [ @.str.2, %3335 ]
  store i32 %3330, ptr %758, align 4, !tbaa !5
  %3341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3342 = load i32, ptr @test_count, align 4, !tbaa !5
  %3343 = load i32, ptr %704, align 4, !tbaa !5
  %3344 = call ptr @s2n_strerror(i32 noundef %3343, ptr noundef nonnull @.str.4) #11
  %3345 = load i32, ptr %704, align 4, !tbaa !5
  %3346 = call ptr @s2n_strerror_debug(i32 noundef %3345, ptr noundef nonnull @.str.4) #11
  %3347 = load i32, ptr %758, align 4, !tbaa !5
  %3348 = call ptr @strerror(i32 noundef %3347) #11
  %3349 = load i32, ptr %758, align 4, !tbaa !5
  %3350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3341, ptr noundef nonnull %.str.5.sink1682, i32 noundef %3342, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 283, ptr noundef %3344, ptr noundef %3346, ptr noundef %3348, i32 noundef %3349) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3351:                                             ; preds = %3324
  %3352 = load i32, ptr @test_count, align 4, !tbaa !5
  %3353 = add nsw i32 %3352, 1
  store i32 %3353, ptr @test_count, align 4, !tbaa !5
  %3354 = call i32 @s2n_config_enable_quic(ptr noundef nonnull %3327) #11
  %3355 = icmp eq i32 %3354, -1
  br i1 %3355, label %3356, label %3378

3356:                                             ; preds = %3351
  %3357 = load i32, ptr %758, align 4, !tbaa !5
  %3358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3359 = call i32 @s2n_print_stacktrace(ptr noundef %3358) #11
  %3360 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3361 = trunc nuw i8 %3360 to i1
  br i1 %3361, label %3362, label %3366

3362:                                             ; preds = %3356
  %3363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3364 = call i32 @fileno(ptr noundef %3363) #11
  %3365 = call i32 @isatty(i32 noundef %3364) #11
  %.not493 = icmp eq i32 %3365, 0
  br i1 %.not493, label %3366, label %3367

3366:                                             ; preds = %3362, %3356
  br label %3367

3367:                                             ; preds = %3362, %3366
  %.str.5.sink1691 = phi ptr [ @.str.5, %3366 ], [ @.str.2, %3362 ]
  store i32 %3357, ptr %758, align 4, !tbaa !5
  %3368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3369 = load i32, ptr @test_count, align 4, !tbaa !5
  %3370 = load i32, ptr %704, align 4, !tbaa !5
  %3371 = call ptr @s2n_strerror(i32 noundef %3370, ptr noundef nonnull @.str.4) #11
  %3372 = load i32, ptr %704, align 4, !tbaa !5
  %3373 = call ptr @s2n_strerror_debug(i32 noundef %3372, ptr noundef nonnull @.str.4) #11
  %3374 = load i32, ptr %758, align 4, !tbaa !5
  %3375 = call ptr @strerror(i32 noundef %3374) #11
  %3376 = load i32, ptr %758, align 4, !tbaa !5
  %3377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3368, ptr noundef nonnull %.str.5.sink1691, i32 noundef %3369, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 284, ptr noundef %3371, ptr noundef %3373, ptr noundef %3375, i32 noundef %3376) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3378:                                             ; preds = %3351
  %3379 = load i32, ptr @test_count, align 4, !tbaa !5
  %3380 = add nsw i32 %3379, 1
  store i32 %3380, ptr @test_count, align 4, !tbaa !5
  %3381 = call ptr @s2n_connection_new(i32 noundef 0) #11
  %3382 = icmp eq ptr %3381, null
  br i1 %3382, label %3383, label %3405

3383:                                             ; preds = %3378
  %3384 = load i32, ptr %758, align 4, !tbaa !5
  %3385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3386 = call i32 @s2n_print_stacktrace(ptr noundef %3385) #11
  %3387 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3388 = trunc nuw i8 %3387 to i1
  br i1 %3388, label %3389, label %3393

3389:                                             ; preds = %3383
  %3390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3391 = call i32 @fileno(ptr noundef %3390) #11
  %3392 = call i32 @isatty(i32 noundef %3391) #11
  %.not492 = icmp eq i32 %3392, 0
  br i1 %.not492, label %3393, label %3394

3393:                                             ; preds = %3389, %3383
  br label %3394

3394:                                             ; preds = %3389, %3393
  %.str.5.sink1700 = phi ptr [ @.str.5, %3393 ], [ @.str.2, %3389 ]
  store i32 %3384, ptr %758, align 4, !tbaa !5
  %3395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3396 = load i32, ptr @test_count, align 4, !tbaa !5
  %3397 = load i32, ptr %704, align 4, !tbaa !5
  %3398 = call ptr @s2n_strerror(i32 noundef %3397, ptr noundef nonnull @.str.4) #11
  %3399 = load i32, ptr %704, align 4, !tbaa !5
  %3400 = call ptr @s2n_strerror_debug(i32 noundef %3399, ptr noundef nonnull @.str.4) #11
  %3401 = load i32, ptr %758, align 4, !tbaa !5
  %3402 = call ptr @strerror(i32 noundef %3401) #11
  %3403 = load i32, ptr %758, align 4, !tbaa !5
  %3404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3395, ptr noundef nonnull %.str.5.sink1700, i32 noundef %3396, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 287, ptr noundef %3398, ptr noundef %3400, ptr noundef %3402, i32 noundef %3403) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3405:                                             ; preds = %3378
  %3406 = load i32, ptr @test_count, align 4, !tbaa !5
  %3407 = add nsw i32 %3406, 1
  store i32 %3407, ptr @test_count, align 4, !tbaa !5
  %3408 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3381, ptr noundef nonnull %3327) #11
  %3409 = icmp eq i32 %3408, -1
  br i1 %3409, label %3410, label %3432

3410:                                             ; preds = %3405
  %3411 = load i32, ptr %758, align 4, !tbaa !5
  %3412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3413 = call i32 @s2n_print_stacktrace(ptr noundef %3412) #11
  %3414 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3415 = trunc nuw i8 %3414 to i1
  br i1 %3415, label %3416, label %3420

3416:                                             ; preds = %3410
  %3417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3418 = call i32 @fileno(ptr noundef %3417) #11
  %3419 = call i32 @isatty(i32 noundef %3418) #11
  %.not491 = icmp eq i32 %3419, 0
  br i1 %.not491, label %3420, label %3421

3420:                                             ; preds = %3416, %3410
  br label %3421

3421:                                             ; preds = %3416, %3420
  %.str.5.sink1709 = phi ptr [ @.str.5, %3420 ], [ @.str.2, %3416 ]
  store i32 %3411, ptr %758, align 4, !tbaa !5
  %3422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3423 = load i32, ptr @test_count, align 4, !tbaa !5
  %3424 = load i32, ptr %704, align 4, !tbaa !5
  %3425 = call ptr @s2n_strerror(i32 noundef %3424, ptr noundef nonnull @.str.4) #11
  %3426 = load i32, ptr %704, align 4, !tbaa !5
  %3427 = call ptr @s2n_strerror_debug(i32 noundef %3426, ptr noundef nonnull @.str.4) #11
  %3428 = load i32, ptr %758, align 4, !tbaa !5
  %3429 = call ptr @strerror(i32 noundef %3428) #11
  %3430 = load i32, ptr %758, align 4, !tbaa !5
  %3431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3422, ptr noundef nonnull %.str.5.sink1709, i32 noundef %3423, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 288, ptr noundef %3425, ptr noundef %3427, ptr noundef %3429, i32 noundef %3430) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3432:                                             ; preds = %3405
  call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %13) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(10) %13, i8 0, i64 10, i1 false)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %14) #11
  store ptr %13, ptr %14, align 8, !tbaa !50
  %3433 = getelementptr inbounds i8, ptr %14, i64 8
  store i64 10, ptr %3433, align 8, !tbaa !52
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %15) #11
  %3434 = load i32, ptr @test_count, align 4, !tbaa !5
  %3435 = add nsw i32 %3434, 1
  store i32 %3435, ptr @test_count, align 4, !tbaa !5
  %3436 = call i64 @s2n_recv(ptr noundef nonnull %3381, ptr noundef nonnull %13, i64 noundef 10, ptr noundef nonnull %15) #11
  %3437 = icmp eq i64 %3436, -1
  br i1 %3437, label %3460, label %3438

3438:                                             ; preds = %3432
  %3439 = load i32, ptr %758, align 4, !tbaa !5
  %3440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3441 = call i32 @s2n_print_stacktrace(ptr noundef %3440) #11
  %3442 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3443 = trunc nuw i8 %3442 to i1
  br i1 %3443, label %3444, label %3448

3444:                                             ; preds = %3438
  %3445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3446 = call i32 @fileno(ptr noundef %3445) #11
  %3447 = call i32 @isatty(i32 noundef %3446) #11
  %.not472 = icmp eq i32 %3447, 0
  br i1 %.not472, label %3448, label %3449

3448:                                             ; preds = %3444, %3438
  br label %3449

3449:                                             ; preds = %3444, %3448
  %.str.5.sink1718 = phi ptr [ @.str.5, %3448 ], [ @.str.2, %3444 ]
  store i32 %3439, ptr %758, align 4, !tbaa !5
  %3450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3451 = load i32, ptr @test_count, align 4, !tbaa !5
  %3452 = load i32, ptr %704, align 4, !tbaa !5
  %3453 = call ptr @s2n_strerror(i32 noundef %3452, ptr noundef nonnull @.str.4) #11
  %3454 = load i32, ptr %704, align 4, !tbaa !5
  %3455 = call ptr @s2n_strerror_debug(i32 noundef %3454, ptr noundef nonnull @.str.4) #11
  %3456 = load i32, ptr %758, align 4, !tbaa !5
  %3457 = call ptr @strerror(i32 noundef %3456) #11
  %3458 = load i32, ptr %758, align 4, !tbaa !5
  %3459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3450, ptr noundef nonnull %.str.5.sink1718, i32 noundef %3451, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.1, i32 noundef 294, ptr noundef %3453, ptr noundef %3455, ptr noundef %3457, i32 noundef %3458) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3460:                                             ; preds = %3432
  %3461 = load i32, ptr @test_count, align 4, !tbaa !5
  %3462 = add nsw i32 %3461, 1
  store i32 %3462, ptr @test_count, align 4, !tbaa !5
  %3463 = load i32, ptr %704, align 4, !tbaa !5
  %3464 = icmp eq i32 %3463, 469762107
  br i1 %3464, label %3487, label %3465

3465:                                             ; preds = %3460
  %3466 = load i32, ptr %758, align 4, !tbaa !5
  %3467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3468 = call i32 @s2n_print_stacktrace(ptr noundef %3467) #11
  %3469 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3470 = trunc nuw i8 %3469 to i1
  br i1 %3470, label %3471, label %3475

3471:                                             ; preds = %3465
  %3472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3473 = call i32 @fileno(ptr noundef %3472) #11
  %3474 = call i32 @isatty(i32 noundef %3473) #11
  %.not473 = icmp eq i32 %3474, 0
  br i1 %.not473, label %3475, label %3476

3475:                                             ; preds = %3471, %3465
  br label %3476

3476:                                             ; preds = %3471, %3475
  %.str.5.sink1727 = phi ptr [ @.str.5, %3475 ], [ @.str.2, %3471 ]
  store i32 %3466, ptr %758, align 4, !tbaa !5
  %3477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3478 = load i32, ptr @test_count, align 4, !tbaa !5
  %3479 = load i32, ptr %704, align 4, !tbaa !5
  %3480 = call ptr @s2n_strerror(i32 noundef %3479, ptr noundef nonnull @.str.4) #11
  %3481 = load i32, ptr %704, align 4, !tbaa !5
  %3482 = call ptr @s2n_strerror_debug(i32 noundef %3481, ptr noundef nonnull @.str.4) #11
  %3483 = load i32, ptr %758, align 4, !tbaa !5
  %3484 = call ptr @strerror(i32 noundef %3483) #11
  %3485 = load i32, ptr %758, align 4, !tbaa !5
  %3486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3477, ptr noundef nonnull %.str.5.sink1727, i32 noundef %3478, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 294, ptr noundef %3480, ptr noundef %3482, ptr noundef %3484, i32 noundef %3485) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3487:                                             ; preds = %3460
  %3488 = add nsw i32 %3461, 2
  store i32 %3488, ptr @test_count, align 4, !tbaa !5
  %3489 = call ptr @s2n_strerror_debug(i32 noundef 469762107, ptr noundef nonnull @.str.4) #11
  %3490 = icmp eq ptr %3489, null
  br i1 %3490, label %3491, label %3513

3491:                                             ; preds = %3487
  %3492 = load i32, ptr %758, align 4, !tbaa !5
  %3493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3494 = call i32 @s2n_print_stacktrace(ptr noundef %3493) #11
  %3495 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3496 = trunc nuw i8 %3495 to i1
  br i1 %3496, label %3497, label %3501

3497:                                             ; preds = %3491
  %3498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3499 = call i32 @fileno(ptr noundef %3498) #11
  %3500 = call i32 @isatty(i32 noundef %3499) #11
  %.not490 = icmp eq i32 %3500, 0
  br i1 %.not490, label %3501, label %3502

3501:                                             ; preds = %3497, %3491
  br label %3502

3502:                                             ; preds = %3497, %3501
  %.str.5.sink1736 = phi ptr [ @.str.5, %3501 ], [ @.str.2, %3497 ]
  store i32 %3492, ptr %758, align 4, !tbaa !5
  %3503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3504 = load i32, ptr @test_count, align 4, !tbaa !5
  %3505 = load i32, ptr %704, align 4, !tbaa !5
  %3506 = call ptr @s2n_strerror(i32 noundef %3505, ptr noundef nonnull @.str.4) #11
  %3507 = load i32, ptr %704, align 4, !tbaa !5
  %3508 = call ptr @s2n_strerror_debug(i32 noundef %3507, ptr noundef nonnull @.str.4) #11
  %3509 = load i32, ptr %758, align 4, !tbaa !5
  %3510 = call ptr @strerror(i32 noundef %3509) #11
  %3511 = load i32, ptr %758, align 4, !tbaa !5
  %3512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3503, ptr noundef nonnull %.str.5.sink1736, i32 noundef %3504, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 294, ptr noundef %3506, ptr noundef %3508, ptr noundef %3510, i32 noundef %3511) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3513:                                             ; preds = %3487
  store i32 0, ptr %704, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %758, align 4, !tbaa !5
  %3514 = load i32, ptr @test_count, align 4, !tbaa !5
  %3515 = add nsw i32 %3514, 1
  store i32 %3515, ptr @test_count, align 4, !tbaa !5
  %3516 = call i64 @s2n_send(ptr noundef nonnull %3381, ptr noundef nonnull %13, i64 noundef 10, ptr noundef nonnull %15) #11
  %3517 = icmp eq i64 %3516, -1
  br i1 %3517, label %3540, label %3518

3518:                                             ; preds = %3513
  %3519 = load i32, ptr %758, align 4, !tbaa !5
  %3520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3521 = call i32 @s2n_print_stacktrace(ptr noundef %3520) #11
  %3522 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3523 = trunc nuw i8 %3522 to i1
  br i1 %3523, label %3524, label %3528

3524:                                             ; preds = %3518
  %3525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3526 = call i32 @fileno(ptr noundef %3525) #11
  %3527 = call i32 @isatty(i32 noundef %3526) #11
  %.not474 = icmp eq i32 %3527, 0
  br i1 %.not474, label %3528, label %3529

3528:                                             ; preds = %3524, %3518
  br label %3529

3529:                                             ; preds = %3524, %3528
  %.str.5.sink1745 = phi ptr [ @.str.5, %3528 ], [ @.str.2, %3524 ]
  store i32 %3519, ptr %758, align 4, !tbaa !5
  %3530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3531 = load i32, ptr @test_count, align 4, !tbaa !5
  %3532 = load i32, ptr %704, align 4, !tbaa !5
  %3533 = call ptr @s2n_strerror(i32 noundef %3532, ptr noundef nonnull @.str.4) #11
  %3534 = load i32, ptr %704, align 4, !tbaa !5
  %3535 = call ptr @s2n_strerror_debug(i32 noundef %3534, ptr noundef nonnull @.str.4) #11
  %3536 = load i32, ptr %758, align 4, !tbaa !5
  %3537 = call ptr @strerror(i32 noundef %3536) #11
  %3538 = load i32, ptr %758, align 4, !tbaa !5
  %3539 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3530, ptr noundef nonnull %.str.5.sink1745, i32 noundef %3531, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.1, i32 noundef 295, ptr noundef %3533, ptr noundef %3535, ptr noundef %3537, i32 noundef %3538) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3540:                                             ; preds = %3513
  %3541 = load i32, ptr @test_count, align 4, !tbaa !5
  %3542 = add nsw i32 %3541, 1
  store i32 %3542, ptr @test_count, align 4, !tbaa !5
  %3543 = load i32, ptr %704, align 4, !tbaa !5
  %3544 = icmp eq i32 %3543, 469762107
  br i1 %3544, label %3567, label %3545

3545:                                             ; preds = %3540
  %3546 = load i32, ptr %758, align 4, !tbaa !5
  %3547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3548 = call i32 @s2n_print_stacktrace(ptr noundef %3547) #11
  %3549 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3550 = trunc nuw i8 %3549 to i1
  br i1 %3550, label %3551, label %3555

3551:                                             ; preds = %3545
  %3552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3553 = call i32 @fileno(ptr noundef %3552) #11
  %3554 = call i32 @isatty(i32 noundef %3553) #11
  %.not475 = icmp eq i32 %3554, 0
  br i1 %.not475, label %3555, label %3556

3555:                                             ; preds = %3551, %3545
  br label %3556

3556:                                             ; preds = %3551, %3555
  %.str.5.sink1754 = phi ptr [ @.str.5, %3555 ], [ @.str.2, %3551 ]
  store i32 %3546, ptr %758, align 4, !tbaa !5
  %3557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3558 = load i32, ptr @test_count, align 4, !tbaa !5
  %3559 = load i32, ptr %704, align 4, !tbaa !5
  %3560 = call ptr @s2n_strerror(i32 noundef %3559, ptr noundef nonnull @.str.4) #11
  %3561 = load i32, ptr %704, align 4, !tbaa !5
  %3562 = call ptr @s2n_strerror_debug(i32 noundef %3561, ptr noundef nonnull @.str.4) #11
  %3563 = load i32, ptr %758, align 4, !tbaa !5
  %3564 = call ptr @strerror(i32 noundef %3563) #11
  %3565 = load i32, ptr %758, align 4, !tbaa !5
  %3566 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3557, ptr noundef nonnull %.str.5.sink1754, i32 noundef %3558, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 295, ptr noundef %3560, ptr noundef %3562, ptr noundef %3564, i32 noundef %3565) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3567:                                             ; preds = %3540
  %3568 = add nsw i32 %3541, 2
  store i32 %3568, ptr @test_count, align 4, !tbaa !5
  %3569 = call ptr @s2n_strerror_debug(i32 noundef 469762107, ptr noundef nonnull @.str.4) #11
  %3570 = icmp eq ptr %3569, null
  br i1 %3570, label %3571, label %3593

3571:                                             ; preds = %3567
  %3572 = load i32, ptr %758, align 4, !tbaa !5
  %3573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3574 = call i32 @s2n_print_stacktrace(ptr noundef %3573) #11
  %3575 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3576 = trunc nuw i8 %3575 to i1
  br i1 %3576, label %3577, label %3581

3577:                                             ; preds = %3571
  %3578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3579 = call i32 @fileno(ptr noundef %3578) #11
  %3580 = call i32 @isatty(i32 noundef %3579) #11
  %.not489 = icmp eq i32 %3580, 0
  br i1 %.not489, label %3581, label %3582

3581:                                             ; preds = %3577, %3571
  br label %3582

3582:                                             ; preds = %3577, %3581
  %.str.5.sink1763 = phi ptr [ @.str.5, %3581 ], [ @.str.2, %3577 ]
  store i32 %3572, ptr %758, align 4, !tbaa !5
  %3583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3584 = load i32, ptr @test_count, align 4, !tbaa !5
  %3585 = load i32, ptr %704, align 4, !tbaa !5
  %3586 = call ptr @s2n_strerror(i32 noundef %3585, ptr noundef nonnull @.str.4) #11
  %3587 = load i32, ptr %704, align 4, !tbaa !5
  %3588 = call ptr @s2n_strerror_debug(i32 noundef %3587, ptr noundef nonnull @.str.4) #11
  %3589 = load i32, ptr %758, align 4, !tbaa !5
  %3590 = call ptr @strerror(i32 noundef %3589) #11
  %3591 = load i32, ptr %758, align 4, !tbaa !5
  %3592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3583, ptr noundef nonnull %.str.5.sink1763, i32 noundef %3584, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 295, ptr noundef %3586, ptr noundef %3588, ptr noundef %3590, i32 noundef %3591) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3593:                                             ; preds = %3567
  store i32 0, ptr %704, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %758, align 4, !tbaa !5
  %3594 = load i32, ptr @test_count, align 4, !tbaa !5
  %3595 = add nsw i32 %3594, 1
  store i32 %3595, ptr @test_count, align 4, !tbaa !5
  %3596 = call i64 @s2n_sendv(ptr noundef nonnull %3381, ptr noundef nonnull %14, i64 noundef 1, ptr noundef nonnull %15) #11
  %3597 = icmp eq i64 %3596, -1
  br i1 %3597, label %3620, label %3598

3598:                                             ; preds = %3593
  %3599 = load i32, ptr %758, align 4, !tbaa !5
  %3600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3601 = call i32 @s2n_print_stacktrace(ptr noundef %3600) #11
  %3602 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3603 = trunc nuw i8 %3602 to i1
  br i1 %3603, label %3604, label %3608

3604:                                             ; preds = %3598
  %3605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3606 = call i32 @fileno(ptr noundef %3605) #11
  %3607 = call i32 @isatty(i32 noundef %3606) #11
  %.not476 = icmp eq i32 %3607, 0
  br i1 %.not476, label %3608, label %3609

3608:                                             ; preds = %3604, %3598
  br label %3609

3609:                                             ; preds = %3604, %3608
  %.str.5.sink1772 = phi ptr [ @.str.5, %3608 ], [ @.str.2, %3604 ]
  store i32 %3599, ptr %758, align 4, !tbaa !5
  %3610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3611 = load i32, ptr @test_count, align 4, !tbaa !5
  %3612 = load i32, ptr %704, align 4, !tbaa !5
  %3613 = call ptr @s2n_strerror(i32 noundef %3612, ptr noundef nonnull @.str.4) #11
  %3614 = load i32, ptr %704, align 4, !tbaa !5
  %3615 = call ptr @s2n_strerror_debug(i32 noundef %3614, ptr noundef nonnull @.str.4) #11
  %3616 = load i32, ptr %758, align 4, !tbaa !5
  %3617 = call ptr @strerror(i32 noundef %3616) #11
  %3618 = load i32, ptr %758, align 4, !tbaa !5
  %3619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3610, ptr noundef nonnull %.str.5.sink1772, i32 noundef %3611, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.1, i32 noundef 296, ptr noundef %3613, ptr noundef %3615, ptr noundef %3617, i32 noundef %3618) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3620:                                             ; preds = %3593
  %3621 = load i32, ptr @test_count, align 4, !tbaa !5
  %3622 = add nsw i32 %3621, 1
  store i32 %3622, ptr @test_count, align 4, !tbaa !5
  %3623 = load i32, ptr %704, align 4, !tbaa !5
  %3624 = icmp eq i32 %3623, 469762107
  br i1 %3624, label %3647, label %3625

3625:                                             ; preds = %3620
  %3626 = load i32, ptr %758, align 4, !tbaa !5
  %3627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3628 = call i32 @s2n_print_stacktrace(ptr noundef %3627) #11
  %3629 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3630 = trunc nuw i8 %3629 to i1
  br i1 %3630, label %3631, label %3635

3631:                                             ; preds = %3625
  %3632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3633 = call i32 @fileno(ptr noundef %3632) #11
  %3634 = call i32 @isatty(i32 noundef %3633) #11
  %.not477 = icmp eq i32 %3634, 0
  br i1 %.not477, label %3635, label %3636

3635:                                             ; preds = %3631, %3625
  br label %3636

3636:                                             ; preds = %3631, %3635
  %.str.5.sink1781 = phi ptr [ @.str.5, %3635 ], [ @.str.2, %3631 ]
  store i32 %3626, ptr %758, align 4, !tbaa !5
  %3637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3638 = load i32, ptr @test_count, align 4, !tbaa !5
  %3639 = load i32, ptr %704, align 4, !tbaa !5
  %3640 = call ptr @s2n_strerror(i32 noundef %3639, ptr noundef nonnull @.str.4) #11
  %3641 = load i32, ptr %704, align 4, !tbaa !5
  %3642 = call ptr @s2n_strerror_debug(i32 noundef %3641, ptr noundef nonnull @.str.4) #11
  %3643 = load i32, ptr %758, align 4, !tbaa !5
  %3644 = call ptr @strerror(i32 noundef %3643) #11
  %3645 = load i32, ptr %758, align 4, !tbaa !5
  %3646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3637, ptr noundef nonnull %.str.5.sink1781, i32 noundef %3638, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 296, ptr noundef %3640, ptr noundef %3642, ptr noundef %3644, i32 noundef %3645) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3647:                                             ; preds = %3620
  %3648 = add nsw i32 %3621, 2
  store i32 %3648, ptr @test_count, align 4, !tbaa !5
  %3649 = call ptr @s2n_strerror_debug(i32 noundef 469762107, ptr noundef nonnull @.str.4) #11
  %3650 = icmp eq ptr %3649, null
  br i1 %3650, label %3651, label %3673

3651:                                             ; preds = %3647
  %3652 = load i32, ptr %758, align 4, !tbaa !5
  %3653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3654 = call i32 @s2n_print_stacktrace(ptr noundef %3653) #11
  %3655 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3656 = trunc nuw i8 %3655 to i1
  br i1 %3656, label %3657, label %3661

3657:                                             ; preds = %3651
  %3658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3659 = call i32 @fileno(ptr noundef %3658) #11
  %3660 = call i32 @isatty(i32 noundef %3659) #11
  %.not488 = icmp eq i32 %3660, 0
  br i1 %.not488, label %3661, label %3662

3661:                                             ; preds = %3657, %3651
  br label %3662

3662:                                             ; preds = %3657, %3661
  %.str.5.sink1790 = phi ptr [ @.str.5, %3661 ], [ @.str.2, %3657 ]
  store i32 %3652, ptr %758, align 4, !tbaa !5
  %3663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3664 = load i32, ptr @test_count, align 4, !tbaa !5
  %3665 = load i32, ptr %704, align 4, !tbaa !5
  %3666 = call ptr @s2n_strerror(i32 noundef %3665, ptr noundef nonnull @.str.4) #11
  %3667 = load i32, ptr %704, align 4, !tbaa !5
  %3668 = call ptr @s2n_strerror_debug(i32 noundef %3667, ptr noundef nonnull @.str.4) #11
  %3669 = load i32, ptr %758, align 4, !tbaa !5
  %3670 = call ptr @strerror(i32 noundef %3669) #11
  %3671 = load i32, ptr %758, align 4, !tbaa !5
  %3672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3663, ptr noundef nonnull %.str.5.sink1790, i32 noundef %3664, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 296, ptr noundef %3666, ptr noundef %3668, ptr noundef %3670, i32 noundef %3671) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3673:                                             ; preds = %3647
  store i32 0, ptr %704, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %758, align 4, !tbaa !5
  %3674 = load i32, ptr @test_count, align 4, !tbaa !5
  %3675 = add nsw i32 %3674, 1
  store i32 %3675, ptr @test_count, align 4, !tbaa !5
  %3676 = call i64 @s2n_sendv_with_offset(ptr noundef nonnull %3381, ptr noundef nonnull %14, i64 noundef 1, i64 noundef 0, ptr noundef nonnull %15) #11
  %3677 = icmp eq i64 %3676, -1
  br i1 %3677, label %3700, label %3678

3678:                                             ; preds = %3673
  %3679 = load i32, ptr %758, align 4, !tbaa !5
  %3680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3681 = call i32 @s2n_print_stacktrace(ptr noundef %3680) #11
  %3682 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3683 = trunc nuw i8 %3682 to i1
  br i1 %3683, label %3684, label %3688

3684:                                             ; preds = %3678
  %3685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3686 = call i32 @fileno(ptr noundef %3685) #11
  %3687 = call i32 @isatty(i32 noundef %3686) #11
  %.not478 = icmp eq i32 %3687, 0
  br i1 %.not478, label %3688, label %3689

3688:                                             ; preds = %3684, %3678
  br label %3689

3689:                                             ; preds = %3684, %3688
  %.str.5.sink1799 = phi ptr [ @.str.5, %3688 ], [ @.str.2, %3684 ]
  store i32 %3679, ptr %758, align 4, !tbaa !5
  %3690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3691 = load i32, ptr @test_count, align 4, !tbaa !5
  %3692 = load i32, ptr %704, align 4, !tbaa !5
  %3693 = call ptr @s2n_strerror(i32 noundef %3692, ptr noundef nonnull @.str.4) #11
  %3694 = load i32, ptr %704, align 4, !tbaa !5
  %3695 = call ptr @s2n_strerror_debug(i32 noundef %3694, ptr noundef nonnull @.str.4) #11
  %3696 = load i32, ptr %758, align 4, !tbaa !5
  %3697 = call ptr @strerror(i32 noundef %3696) #11
  %3698 = load i32, ptr %758, align 4, !tbaa !5
  %3699 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3690, ptr noundef nonnull %.str.5.sink1799, i32 noundef %3691, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 297, ptr noundef %3693, ptr noundef %3695, ptr noundef %3697, i32 noundef %3698) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3700:                                             ; preds = %3673
  %3701 = load i32, ptr @test_count, align 4, !tbaa !5
  %3702 = add nsw i32 %3701, 1
  store i32 %3702, ptr @test_count, align 4, !tbaa !5
  %3703 = load i32, ptr %704, align 4, !tbaa !5
  %3704 = icmp eq i32 %3703, 469762107
  br i1 %3704, label %3727, label %3705

3705:                                             ; preds = %3700
  %3706 = load i32, ptr %758, align 4, !tbaa !5
  %3707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3708 = call i32 @s2n_print_stacktrace(ptr noundef %3707) #11
  %3709 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3710 = trunc nuw i8 %3709 to i1
  br i1 %3710, label %3711, label %3715

3711:                                             ; preds = %3705
  %3712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3713 = call i32 @fileno(ptr noundef %3712) #11
  %3714 = call i32 @isatty(i32 noundef %3713) #11
  %.not479 = icmp eq i32 %3714, 0
  br i1 %.not479, label %3715, label %3716

3715:                                             ; preds = %3711, %3705
  br label %3716

3716:                                             ; preds = %3711, %3715
  %.str.5.sink1808 = phi ptr [ @.str.5, %3715 ], [ @.str.2, %3711 ]
  store i32 %3706, ptr %758, align 4, !tbaa !5
  %3717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3718 = load i32, ptr @test_count, align 4, !tbaa !5
  %3719 = load i32, ptr %704, align 4, !tbaa !5
  %3720 = call ptr @s2n_strerror(i32 noundef %3719, ptr noundef nonnull @.str.4) #11
  %3721 = load i32, ptr %704, align 4, !tbaa !5
  %3722 = call ptr @s2n_strerror_debug(i32 noundef %3721, ptr noundef nonnull @.str.4) #11
  %3723 = load i32, ptr %758, align 4, !tbaa !5
  %3724 = call ptr @strerror(i32 noundef %3723) #11
  %3725 = load i32, ptr %758, align 4, !tbaa !5
  %3726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3717, ptr noundef nonnull %.str.5.sink1808, i32 noundef %3718, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 297, ptr noundef %3720, ptr noundef %3722, ptr noundef %3724, i32 noundef %3725) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3727:                                             ; preds = %3700
  %3728 = add nsw i32 %3701, 2
  store i32 %3728, ptr @test_count, align 4, !tbaa !5
  %3729 = call ptr @s2n_strerror_debug(i32 noundef 469762107, ptr noundef nonnull @.str.4) #11
  %3730 = icmp eq ptr %3729, null
  br i1 %3730, label %3731, label %3753

3731:                                             ; preds = %3727
  %3732 = load i32, ptr %758, align 4, !tbaa !5
  %3733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3734 = call i32 @s2n_print_stacktrace(ptr noundef %3733) #11
  %3735 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3736 = trunc nuw i8 %3735 to i1
  br i1 %3736, label %3737, label %3741

3737:                                             ; preds = %3731
  %3738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3739 = call i32 @fileno(ptr noundef %3738) #11
  %3740 = call i32 @isatty(i32 noundef %3739) #11
  %.not487 = icmp eq i32 %3740, 0
  br i1 %.not487, label %3741, label %3742

3741:                                             ; preds = %3737, %3731
  br label %3742

3742:                                             ; preds = %3737, %3741
  %.str.5.sink1817 = phi ptr [ @.str.5, %3741 ], [ @.str.2, %3737 ]
  store i32 %3732, ptr %758, align 4, !tbaa !5
  %3743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3744 = load i32, ptr @test_count, align 4, !tbaa !5
  %3745 = load i32, ptr %704, align 4, !tbaa !5
  %3746 = call ptr @s2n_strerror(i32 noundef %3745, ptr noundef nonnull @.str.4) #11
  %3747 = load i32, ptr %704, align 4, !tbaa !5
  %3748 = call ptr @s2n_strerror_debug(i32 noundef %3747, ptr noundef nonnull @.str.4) #11
  %3749 = load i32, ptr %758, align 4, !tbaa !5
  %3750 = call ptr @strerror(i32 noundef %3749) #11
  %3751 = load i32, ptr %758, align 4, !tbaa !5
  %3752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3743, ptr noundef nonnull %.str.5.sink1817, i32 noundef %3744, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 297, ptr noundef %3746, ptr noundef %3748, ptr noundef %3750, i32 noundef %3751) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3753:                                             ; preds = %3727
  store i32 0, ptr %704, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %758, align 4, !tbaa !5
  %3754 = load i32, ptr @test_count, align 4, !tbaa !5
  %3755 = add nsw i32 %3754, 1
  store i32 %3755, ptr @test_count, align 4, !tbaa !5
  %3756 = call i32 @s2n_connection_free(ptr noundef nonnull %3381) #11
  %3757 = icmp eq i32 %3756, -1
  br i1 %3757, label %3758, label %3780

3758:                                             ; preds = %3753
  %3759 = load i32, ptr %758, align 4, !tbaa !5
  %3760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3761 = call i32 @s2n_print_stacktrace(ptr noundef %3760) #11
  %3762 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3763 = trunc nuw i8 %3762 to i1
  br i1 %3763, label %3764, label %3768

3764:                                             ; preds = %3758
  %3765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3766 = call i32 @fileno(ptr noundef %3765) #11
  %3767 = call i32 @isatty(i32 noundef %3766) #11
  %.not486 = icmp eq i32 %3767, 0
  br i1 %.not486, label %3768, label %3769

3768:                                             ; preds = %3764, %3758
  br label %3769

3769:                                             ; preds = %3764, %3768
  %.str.5.sink1826 = phi ptr [ @.str.5, %3768 ], [ @.str.2, %3764 ]
  store i32 %3759, ptr %758, align 4, !tbaa !5
  %3770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3771 = load i32, ptr @test_count, align 4, !tbaa !5
  %3772 = load i32, ptr %704, align 4, !tbaa !5
  %3773 = call ptr @s2n_strerror(i32 noundef %3772, ptr noundef nonnull @.str.4) #11
  %3774 = load i32, ptr %704, align 4, !tbaa !5
  %3775 = call ptr @s2n_strerror_debug(i32 noundef %3774, ptr noundef nonnull @.str.4) #11
  %3776 = load i32, ptr %758, align 4, !tbaa !5
  %3777 = call ptr @strerror(i32 noundef %3776) #11
  %3778 = load i32, ptr %758, align 4, !tbaa !5
  %3779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3770, ptr noundef nonnull %.str.5.sink1826, i32 noundef %3771, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 299, ptr noundef %3773, ptr noundef %3775, ptr noundef %3777, i32 noundef %3778) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3780:                                             ; preds = %3753
  %3781 = load i32, ptr @test_count, align 4, !tbaa !5
  %3782 = add nsw i32 %3781, 1
  store i32 %3782, ptr @test_count, align 4, !tbaa !5
  %3783 = call i32 @s2n_config_free(ptr noundef nonnull %3327) #11
  %3784 = icmp eq i32 %3783, -1
  br i1 %3784, label %3785, label %3807

3785:                                             ; preds = %3780
  %3786 = load i32, ptr %758, align 4, !tbaa !5
  %3787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3788 = call i32 @s2n_print_stacktrace(ptr noundef %3787) #11
  %3789 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3790 = trunc nuw i8 %3789 to i1
  br i1 %3790, label %3791, label %3795

3791:                                             ; preds = %3785
  %3792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3793 = call i32 @fileno(ptr noundef %3792) #11
  %3794 = call i32 @isatty(i32 noundef %3793) #11
  %.not485 = icmp eq i32 %3794, 0
  br i1 %.not485, label %3795, label %3796

3795:                                             ; preds = %3791, %3785
  br label %3796

3796:                                             ; preds = %3791, %3795
  %.str.5.sink1835 = phi ptr [ @.str.5, %3795 ], [ @.str.2, %3791 ]
  store i32 %3786, ptr %758, align 4, !tbaa !5
  %3797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3798 = load i32, ptr @test_count, align 4, !tbaa !5
  %3799 = load i32, ptr %704, align 4, !tbaa !5
  %3800 = call ptr @s2n_strerror(i32 noundef %3799, ptr noundef nonnull @.str.4) #11
  %3801 = load i32, ptr %704, align 4, !tbaa !5
  %3802 = call ptr @s2n_strerror_debug(i32 noundef %3801, ptr noundef nonnull @.str.4) #11
  %3803 = load i32, ptr %758, align 4, !tbaa !5
  %3804 = call ptr @strerror(i32 noundef %3803) #11
  %3805 = load i32, ptr %758, align 4, !tbaa !5
  %3806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3797, ptr noundef nonnull %.str.5.sink1835, i32 noundef %3798, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 300, ptr noundef %3800, ptr noundef %3802, ptr noundef %3804, i32 noundef %3805) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3807:                                             ; preds = %3780
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %14) #11
  call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %13) #11
  %3808 = call i32 @s2n_cleanup() #11
  %3809 = icmp eq i32 %3808, -1
  br i1 %3809, label %3810, label %3832

3810:                                             ; preds = %3807
  %3811 = load i32, ptr %758, align 4, !tbaa !5
  %3812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3813 = call i32 @s2n_print_stacktrace(ptr noundef %3812) #11
  %3814 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3815 = trunc nuw i8 %3814 to i1
  br i1 %3815, label %3816, label %3820

3816:                                             ; preds = %3810
  %3817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3818 = call i32 @fileno(ptr noundef %3817) #11
  %3819 = call i32 @isatty(i32 noundef %3818) #11
  %.not484 = icmp eq i32 %3819, 0
  br i1 %.not484, label %3820, label %3821

3820:                                             ; preds = %3816, %3810
  br label %3821

3821:                                             ; preds = %3816, %3820
  %.str.5.sink1844 = phi ptr [ @.str.5, %3820 ], [ @.str.2, %3816 ]
  store i32 %3811, ptr %758, align 4, !tbaa !5
  %3822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3823 = load i32, ptr @test_count, align 4, !tbaa !5
  %3824 = load i32, ptr %704, align 4, !tbaa !5
  %3825 = call ptr @s2n_strerror(i32 noundef %3824, ptr noundef nonnull @.str.4) #11
  %3826 = load i32, ptr %704, align 4, !tbaa !5
  %3827 = call ptr @s2n_strerror_debug(i32 noundef %3826, ptr noundef nonnull @.str.4) #11
  %3828 = load i32, ptr %758, align 4, !tbaa !5
  %3829 = call ptr @strerror(i32 noundef %3828) #11
  %3830 = load i32, ptr %758, align 4, !tbaa !5
  %3831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3822, ptr noundef nonnull %.str.5.sink1844, i32 noundef %3823, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 303, ptr noundef %3825, ptr noundef %3827, ptr noundef %3829, i32 noundef %3830) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3832:                                             ; preds = %3807
  %3833 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #11
  %3834 = icmp eq i32 %3833, -1
  br i1 %3834, label %3835, label %3857

3835:                                             ; preds = %3832
  %3836 = load i32, ptr %758, align 4, !tbaa !5
  %3837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3838 = call i32 @s2n_print_stacktrace(ptr noundef %3837) #11
  %3839 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3840 = trunc nuw i8 %3839 to i1
  br i1 %3840, label %3841, label %3845

3841:                                             ; preds = %3835
  %3842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3843 = call i32 @fileno(ptr noundef %3842) #11
  %3844 = call i32 @isatty(i32 noundef %3843) #11
  %.not483 = icmp eq i32 %3844, 0
  br i1 %.not483, label %3845, label %3846

3845:                                             ; preds = %3841, %3835
  br label %3846

3846:                                             ; preds = %3841, %3845
  %.str.5.sink1853 = phi ptr [ @.str.5, %3845 ], [ @.str.2, %3841 ]
  store i32 %3836, ptr %758, align 4, !tbaa !5
  %3847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3848 = load i32, ptr @test_count, align 4, !tbaa !5
  %3849 = load i32, ptr %704, align 4, !tbaa !5
  %3850 = call ptr @s2n_strerror(i32 noundef %3849, ptr noundef nonnull @.str.4) #11
  %3851 = load i32, ptr %704, align 4, !tbaa !5
  %3852 = call ptr @s2n_strerror_debug(i32 noundef %3851, ptr noundef nonnull @.str.4) #11
  %3853 = load i32, ptr %758, align 4, !tbaa !5
  %3854 = call ptr @strerror(i32 noundef %3853) #11
  %3855 = load i32, ptr %758, align 4, !tbaa !5
  %3856 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3847, ptr noundef nonnull %.str.5.sink1853, i32 noundef %3848, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 303, ptr noundef %3850, ptr noundef %3852, ptr noundef %3854, i32 noundef %3855) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3857:                                             ; preds = %3832
  %3858 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3859 = trunc nuw i8 %3858 to i1
  br i1 %3859, label %3860, label %3871

3860:                                             ; preds = %3857
  %3861 = load ptr, ptr @stdout, align 8, !tbaa !9
  %3862 = call i32 @fileno(ptr noundef %3861) #11
  %3863 = call i32 @isatty(i32 noundef %3862) #11
  %.not480 = icmp eq i32 %3863, 0
  br i1 %.not480, label %3871, label %3864

3864:                                             ; preds = %3860
  %3865 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not482 = icmp eq i32 %3865, 0
  %3866 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not482, label %3869, label %3867

3867:                                             ; preds = %3864
  %3868 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3866, ptr noundef nonnull @.str.21, i32 noundef %3865) #11
  br label %3878

3869:                                             ; preds = %3864
  %3870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3866, ptr noundef nonnull @.str.22) #11
  br label %3878

3871:                                             ; preds = %3860, %3857
  %3872 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not481 = icmp eq i32 %3872, 0
  %3873 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not481, label %3876, label %3874

3874:                                             ; preds = %3871
  %3875 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3873, ptr noundef nonnull @.str.23, i32 noundef %3872) #11
  br label %3878

3876:                                             ; preds = %3871
  %3877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3873, ptr noundef nonnull @.str.24) #11
  br label %3878

3878:                                             ; preds = %3869, %3867, %3876, %3874, %524, %522, %531, %529
  ret i32 0
}

; Function Attrs: nofree nounwind
declare noundef i32 @fprintf(ptr nocapture noundef, ptr nocapture noundef readonly, ...) local_unnamed_addr #1

; Function Attrs: nofree nounwind
declare noundef i32 @fflush(ptr nocapture noundef) local_unnamed_addr #1

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) local_unnamed_addr #2

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

; Function Attrs: mustprogress nofree nosync nounwind willreturn memory(none)
declare ptr @__errno_location() local_unnamed_addr #4

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #2

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

; Function Attrs: nofree nounwind
declare noundef i32 @fileno(ptr nocapture noundef) local_unnamed_addr #1

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

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

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

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

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

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

declare i32 @s2n_enable_atexit() local_unnamed_addr #2

declare i32 @s2n_init() local_unnamed_addr #2

declare zeroext i1 @s2n_is_tls13_fully_supported(...) local_unnamed_addr #2

declare ptr @s2n_config_new() local_unnamed_addr #2

declare i32 @s2n_config_enable_quic(ptr noundef) local_unnamed_addr #2

declare ptr @s2n_connection_new(i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_enable_quic(ptr noundef) local_unnamed_addr #2

declare void @s2n_debug_info_reset() local_unnamed_addr #2

declare i32 @s2n_connection_set_config(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_cleanup() local_unnamed_addr #2

declare zeroext i1 @s2n_connection_is_quic_enabled(ptr noundef) local_unnamed_addr #2

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #8

declare i32 @s2n_connection_set_quic_transport_parameters(ptr noundef, ptr noundef, i16 noundef zeroext) local_unnamed_addr #2

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #9

declare i32 @s2n_connection_get_quic_transport_parameters(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_alloc(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_secret_callback(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_test_noop_secret_handler(ptr noundef, ptr noundef, i32 noundef, ptr noundef, i8 noundef zeroext) #0

declare i64 @s2n_recv(ptr noundef, ptr noundef, i64 noundef, ptr noundef) local_unnamed_addr #2

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

declare i64 @s2n_sendv(ptr noundef, ptr noundef, i64 noundef, ptr noundef) local_unnamed_addr #2

declare i64 @s2n_sendv_with_offset(ptr noundef, ptr noundef, i64 noundef, i64 noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: nofree nounwind willreturn memory(argmem: read)
declare i32 @bcmp(ptr nocapture, ptr nocapture, i64) local_unnamed_addr #10

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nofree nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { mustprogress nofree nosync nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #7 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #9 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #10 = { nofree nounwind willreturn memory(argmem: read) }
attributes #11 = { nounwind }
attributes #12 = { nounwind willreturn memory(none) }
attributes #13 = { cold nounwind }
attributes #14 = { noreturn nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !10, i64 8}
!16 = !{!"s2n_connection", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !7, i64 80, !7, i64 102, !7, i64 124, !6, i64 148, !6, i64 152, !17, i64 160, !18, i64 168, !18, i64 176, !7, i64 184, !7, i64 216, !7, i64 217, !7, i64 218, !7, i64 219, !7, i64 220, !7, i64 221, !7, i64 222, !10, i64 224, !10, i64 232, !19, i64 240, !10, i64 632, !10, i64 640, !20, i64 648, !26, i64 1144, !29, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !32, i64 1776, !32, i64 1816, !32, i64 1856, !32, i64 1896, !6, i64 1936, !18, i64 1944, !7, i64 1952, !32, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !33, i64 2004, !33, i64 2008, !34, i64 2016, !31, i64 2208, !6, i64 2212, !31, i64 2216, !18, i64 2224, !7, i64 2232, !18, i64 2240, !18, i64 2248, !18, i64 2256, !33, i64 2264, !33, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !25, i64 2792, !6, i64 2816, !25, i64 2824, !25, i64 2848, !25, i64 2872, !36, i64 2896, !38, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !25, i64 3784, !6, i64 3808, !40, i64 3816, !7, i64 3848, !32, i64 3992, !25, i64 4032, !25, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !31, i64 4084, !31, i64 4086, !6, i64 4088, !6, i64 4092, !25, i64 4096, !6, i64 4120, !41, i64 4128, !33, i64 4176, !7, i64 4180, !7, i64 4181}
!17 = !{!"s2n_timer", !18, i64 0}
!18 = !{!"long", !7, i64 0}
!19 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!20 = !{!"s2n_kex_parameters", !21, i64 0, !22, i64 8, !7, i64 24, !22, i64 56, !23, i64 72, !23, i64 184, !7, i64 296, !24, i64 360, !25, i64 448, !25, i64 472}
!21 = !{!"s2n_dh_params", !10, i64 0}
!22 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!23 = !{!"s2n_kem_group_params", !10, i64 0, !24, i64 8, !22, i64 96}
!24 = !{!"s2n_kem_params", !10, i64 0, !25, i64 8, !25, i64 32, !25, i64 56, !12, i64 80}
!25 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!26 = !{!"s2n_handshake_parameters", !27, i64 0, !27, i64 48, !25, i64 96, !6, i64 120, !28, i64 124, !10, i64 384, !10, i64 392, !10, i64 400, !7, i64 408, !7, i64 440, !7, i64 472, !7, i64 473, !7, i64 474, !7, i64 506}
!27 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!28 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!29 = !{!"s2n_psk_parameters", !6, i64 0, !30, i64 8, !31, i64 40, !31, i64 42, !10, i64 48, !6, i64 56}
!30 = !{!"s2n_array", !25, i64 0, !6, i64 24, !6, i64 28}
!31 = !{!"short", !7, i64 0}
!32 = !{!"s2n_stuffer", !25, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!33 = !{!"", !6, i64 0}
!34 = !{!"s2n_handshake", !32, i64 0, !10, i64 40, !7, i64 48, !7, i64 56, !7, i64 104, !7, i64 152, !6, i64 156, !6, i64 160, !6, i64 164, !6, i64 168, !35, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!35 = !{!"s2n_offered_early_data", !10, i64 0}
!36 = !{!"s2n_client_hello", !25, i64 0, !37, i64 24, !25, i64 728, !25, i64 752, !25, i64 776, !7, i64 800, !7, i64 801, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802}
!37 = !{!"", !7, i64 0, !25, i64 672, !31, i64 696}
!38 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !31, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !39, i64 48, !12, i64 52}
!39 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!40 = !{!"s2n_ticket_fields", !25, i64 0, !6, i64 24}
!41 = !{!"s2n_post_handshake", !32, i64 0, !7, i64 40}
!42 = !{!16, !6, i64 2856}
!43 = !{!16, !10, i64 2848}
!44 = !{!31, !31, i64 0}
!45 = !{!16, !10, i64 2872}
!46 = !{!16, !6, i64 2880}
!47 = !{!7, !7, i64 0}
!48 = !{!16, !10, i64 32}
!49 = !{!16, !10, i64 40}
!50 = !{!51, !10, i64 0}
!51 = !{!"iovec", !10, i64 0, !18, i64 8}
!52 = !{!51, !18, i64 8}


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass,TailCallElimPass