; LLVM IR from aws/s2n-tls :: tests/unit (s2n_quic_transport_params_extension_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_extension_type = type { i16, i8, i16, ptr, ptr, ptr, ptr }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_connection = type { i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, [22 x i8], [22 x i8], [22 x i8], i32, i32, %struct.s2n_timer, i64, i64, [32 x i8], i8, i8, i8, i8, i8, i8, i8, ptr, ptr, %struct.s2n_secrets, ptr, ptr, %struct.s2n_kex_parameters, %struct.s2n_handshake_parameters, %struct.s2n_psk_parameters, ptr, i8, i32, [5 x i8], %struct.s2n_stuffer, %struct.s2n_stuffer, %struct.s2n_stuffer, %struct.s2n_stuffer, i32, i64, [2 x i8], %struct.s2n_stuffer, i8, i8, i8, i8, %struct.s2n_atomic_flag, %struct.s2n_atomic_flag, %struct.s2n_handshake, i16, i32, i16, i64, i8, i64, i64, i64, %struct.s2n_atomic_flag, %struct.s2n_atomic_flag, [256 x i8], [256 x i8], i32, %struct.s2n_blob, i32, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_client_hello, %struct.s2n_x509_validator, ptr, ptr, i8, i32, %struct.s2n_blob, i32, %struct.s2n_ticket_fields, [138 x i8], %struct.s2n_stuffer, %struct.s2n_blob, %struct.s2n_blob, i8, i8, i8, i16, i16, i32, i32, %struct.s2n_blob, i32, %struct.s2n_post_handshake, %struct.s2n_atomic_flag, i8, i8 }
%struct.s2n_timer = type { i64 }
%struct.s2n_secrets = type { %union.anon, i32 }
%union.anon = type { %struct.s2n_tls13_secrets }
%struct.s2n_tls13_secrets = type { [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], i32 }
%struct.s2n_kex_parameters = type { %struct.s2n_dh_params, %struct.s2n_ecc_evp_params, [4 x ptr], %struct.s2n_ecc_evp_params, %struct.s2n_kem_group_params, %struct.s2n_kem_group_params, [8 x ptr], %struct.s2n_kem_params, %struct.s2n_blob, %struct.s2n_blob }
%struct.s2n_dh_params = type { ptr }
%struct.s2n_ecc_evp_params = type { ptr, ptr }
%struct.s2n_kem_group_params = type { ptr, %struct.s2n_kem_params, %struct.s2n_ecc_evp_params }
%struct.s2n_kem_params = type { ptr, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, i8 }
%struct.s2n_handshake_parameters = type { %struct.s2n_pkey, %struct.s2n_pkey, %struct.s2n_blob, i32, %struct.s2n_sig_scheme_list, ptr, ptr, ptr, [4 x ptr], [4 x ptr], i8, i8, [32 x i8], [32 x i8] }
%struct.s2n_pkey = type { ptr, ptr, ptr, ptr, ptr, ptr }
%struct.s2n_sig_scheme_list = type { [128 x i16], i8 }
%struct.s2n_psk_parameters = type { i32, %struct.s2n_array, i16, i16, ptr, i32 }
%struct.s2n_array = type { %struct.s2n_blob, i32, i32 }
%struct.s2n_handshake = type { %struct.s2n_stuffer, ptr, [8 x i8], [48 x i8], [48 x i8], i8, i32, i32, i32, i32, %struct.s2n_offered_early_data, i8, i32 }
%struct.s2n_offered_early_data = type { ptr }
%struct.s2n_client_hello = type { %struct.s2n_blob, %struct.s2n_parsed_extensions_list, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, i8, i8, i8 }
%struct.s2n_parsed_extensions_list = type { [21 x %struct.s2n_parsed_extension], %struct.s2n_blob, i16 }
%struct.s2n_parsed_extension = type { %struct.s2n_blob, i16, i16, i8 }
%struct.s2n_x509_validator = type { ptr, ptr, i8, i8, i16, ptr, i32, ptr, %struct.s2n_cert_validation_info, i8 }
%struct.s2n_cert_validation_info = type { i8, [3 x i8] }
%struct.s2n_ticket_fields = type { %struct.s2n_blob, i32 }
%struct.s2n_post_handshake = type { %struct.s2n_stuffer, [4 x i8] }
%struct.s2n_atomic_flag = type { i32 }

@s2n_use_color_in_output = external dso_local global i8, align 1
@test_count = external dso_local global i32, align 4
@stdout = external global ptr, align 8
@.str = external hidden unnamed_addr constant [19 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [99 x i8], align 1
@stderr = external global ptr, align 8
@.str.2 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [52 x i8], align 1
@s2n_errno = external thread_local global i32, align 4
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [68 x i8], align 1
@s2n_quic_transport_parameters_extension = external constant %struct.s2n_extension_type, align 8
@.str.17 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [64 x i8], align 1
@TEST_DATA = external hidden constant [31 x i8], align 16
@.str.34 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [110 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [116 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [117 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [61 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local i32 @main(i32 noundef %0, ptr noundef %1) #0 {
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca ptr, align 8
  %12 = alloca i32, align 4
  %13 = alloca ptr, align 8
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca ptr, align 8
  %23 = alloca i32, align 4
  %24 = alloca ptr, align 8
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca i8, align 1
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca %struct.s2n_stuffer, align 8
  %41 = alloca ptr, align 8
  %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 i32, align 4
  %48 = alloca i32, align 4
  %49 = alloca i32, align 4
  %50 = alloca %struct.s2n_stuffer, align 8
  %51 = alloca i32, align 4
  %52 = alloca ptr, align 8
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca ptr, align 8
  %56 = alloca i32, align 4
  %57 = alloca i32, align 4
  %58 = alloca i32, align 4
  %59 = alloca i32, align 4
  %60 = alloca i32, align 4
  %61 = alloca i32, align 4
  %62 = alloca i32, align 4
  %63 = alloca i32, align 4
  %64 = alloca %struct.s2n_stuffer, align 8
  %65 = alloca i32, align 4
  %66 = alloca ptr, align 8
  %67 = alloca i32, align 4
  %68 = alloca i32, align 4
  %69 = alloca ptr, align 8
  %70 = alloca i32, align 4
  %71 = alloca i32, align 4
  %72 = alloca i32, align 4
  %73 = alloca i32, align 4
  %74 = alloca i32, align 4
  %75 = alloca i32, align 4
  %76 = alloca i32, align 4
  %77 = alloca %struct.s2n_stuffer, align 8
  %78 = alloca ptr, align 8
  %79 = alloca i32, align 4
  %80 = alloca i32, align 4
  %81 = alloca i32, align 4
  %82 = alloca i32, align 4
  %83 = alloca i32, align 4
  %84 = alloca i32, align 4
  %85 = alloca 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 ptr, align 8
  %91 = alloca i32, align 4
  %92 = alloca i32, align 4
  %93 = alloca ptr, align 8
  %94 = alloca i32, align 4
  %95 = alloca i32, align 4
  %96 = alloca %struct.s2n_stuffer, align 8
  %97 = alloca i32, align 4
  %98 = alloca i32, align 4
  %99 = alloca i32, align 4
  %100 = alloca i32, align 4
  %101 = alloca i32, align 4
  %102 = alloca i32, align 4
  %103 = alloca i32, align 4
  %104 = alloca ptr, align 8
  %105 = alloca i32, align 4
  %106 = alloca i32, align 4
  %107 = alloca ptr, align 8
  %108 = alloca i32, align 4
  %109 = alloca i32, align 4
  %110 = alloca %struct.s2n_stuffer, align 8
  %111 = alloca i32, align 4
  %112 = alloca i32, align 4
  %113 = alloca i32, align 4
  %114 = alloca i32, align 4
  %115 = alloca %struct.s2n_stuffer, align 8
  %116 = alloca i32, align 4
  %117 = alloca ptr, align 8
  %118 = alloca i32, align 4
  %119 = alloca i32, align 4
  %120 = alloca ptr, align 8
  %121 = alloca i32, align 4
  %122 = alloca i32, align 4
  %123 = alloca ptr, align 8
  %124 = alloca i32, align 4
  %125 = alloca i32, align 4
  %126 = alloca i32, align 4
  %127 = alloca i32, align 4
  %128 = alloca i32, align 4
  %129 = alloca i32, align 4
  %130 = alloca i32, align 4
  %131 = alloca i32, align 4
  %132 = alloca i32, align 4
  %133 = alloca i32, align 4
  %134 = alloca i32, align 4
  %135 = alloca i32, align 4
  %136 = alloca i32, align 4
  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 %137

137:                                              ; preds = %2
  br label %138

138:                                              ; preds = %137
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %139 = load ptr, ptr @stdout, align 8, !tbaa !9
  %140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %139, ptr noundef @.str, ptr noundef @.str.1) #9
  %141 = load ptr, ptr @stdout, align 8, !tbaa !9
  %142 = call i32 @fflush(ptr noundef %141)
  br label %143

143:                                              ; preds = %138
  %144 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %145 = icmp eq i32 %144, -1
  br i1 %145, label %146, label %197

146:                                              ; preds = %143
  br label %147

147:                                              ; preds = %146
  br label %148

148:                                              ; preds = %147
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #9
  %149 = call ptr @__errno_location() #10
  %150 = load i32, ptr %149, align 4, !tbaa !5
  store i32 %150, ptr %6, align 4, !tbaa !5
  %151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %152 = call i32 @s2n_print_stacktrace(ptr noundef %151)
  %153 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %154 = trunc i8 %153 to i1
  br i1 %154, label %155, label %177

155:                                              ; preds = %148
  %156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %157 = call i32 @fileno(ptr noundef %156) #9
  %158 = call i32 @isatty(i32 noundef %157) #9
  %159 = icmp ne i32 %158, 0
  br i1 %159, label %160, label %177

160:                                              ; preds = %155
  %161 = load i32, ptr %6, align 4, !tbaa !5
  %162 = call ptr @__errno_location() #10
  store i32 %161, ptr %162, align 4, !tbaa !5
  %163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %164 = load i32, ptr @test_count, align 4, !tbaa !5
  %165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %166 = load i32, ptr %165, align 4, !tbaa !5
  %167 = call ptr @s2n_strerror(i32 noundef %166, ptr noundef @.str.4)
  %168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %169 = load i32, ptr %168, align 4, !tbaa !5
  %170 = call ptr @s2n_strerror_debug(i32 noundef %169, ptr noundef @.str.4)
  %171 = call ptr @__errno_location() #10
  %172 = load i32, ptr %171, align 4, !tbaa !5
  %173 = call ptr @strerror(i32 noundef %172) #9
  %174 = call ptr @__errno_location() #10
  %175 = load i32, ptr %174, align 4, !tbaa !5
  %176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %163, ptr noundef @.str.2, i32 noundef %164, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 27, ptr noundef %167, ptr noundef %170, ptr noundef %173, i32 noundef %175) #9
  br label %194

177:                                              ; preds = %155, %148
  %178 = load i32, ptr %6, align 4, !tbaa !5
  %179 = call ptr @__errno_location() #10
  store i32 %178, ptr %179, align 4, !tbaa !5
  %180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %181 = load i32, ptr @test_count, align 4, !tbaa !5
  %182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %183 = load i32, ptr %182, align 4, !tbaa !5
  %184 = call ptr @s2n_strerror(i32 noundef %183, ptr noundef @.str.4)
  %185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %186 = load i32, ptr %185, align 4, !tbaa !5
  %187 = call ptr @s2n_strerror_debug(i32 noundef %186, ptr noundef @.str.4)
  %188 = call ptr @__errno_location() #10
  %189 = load i32, ptr %188, align 4, !tbaa !5
  %190 = call ptr @strerror(i32 noundef %189) #9
  %191 = call ptr @__errno_location() #10
  %192 = load i32, ptr %191, align 4, !tbaa !5
  %193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %180, ptr noundef @.str.5, i32 noundef %181, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 27, ptr noundef %184, ptr noundef %187, ptr noundef %190, i32 noundef %192) #9
  br label %194

194:                                              ; preds = %177, %160
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #9
  br label %195

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

196:                                              ; No predecessors!
  br label %197

197:                                              ; preds = %196, %143
  br label %198

198:                                              ; preds = %197
  br label %199

199:                                              ; preds = %198
  %200 = load i32, ptr @test_count, align 4, !tbaa !5
  %201 = add nsw i32 %200, 1
  store i32 %201, ptr @test_count, align 4, !tbaa !5
  %202 = call i32 @s2n_enable_atexit()
  %203 = icmp eq i32 %202, -1
  br i1 %203, label %204, label %255

204:                                              ; preds = %199
  br label %205

205:                                              ; preds = %204
  br label %206

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

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

218:                                              ; preds = %213
  %219 = load i32, ptr %7, align 4, !tbaa !5
  %220 = call ptr @__errno_location() #10
  store i32 %219, ptr %220, align 4, !tbaa !5
  %221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %222 = load i32, ptr @test_count, align 4, !tbaa !5
  %223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %224 = load i32, ptr %223, align 4, !tbaa !5
  %225 = call ptr @s2n_strerror(i32 noundef %224, ptr noundef @.str.4)
  %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_debug(i32 noundef %227, ptr noundef @.str.4)
  %229 = call ptr @__errno_location() #10
  %230 = load i32, ptr %229, align 4, !tbaa !5
  %231 = call ptr @strerror(i32 noundef %230) #9
  %232 = call ptr @__errno_location() #10
  %233 = load i32, ptr %232, align 4, !tbaa !5
  %234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %221, ptr noundef @.str.2, i32 noundef %222, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 27, ptr noundef %225, ptr noundef %228, ptr noundef %231, i32 noundef %233) #9
  br label %252

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

252:                                              ; preds = %235, %218
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #9
  br label %253

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

254:                                              ; No predecessors!
  br label %255

255:                                              ; preds = %254, %199
  br label %256

256:                                              ; preds = %255
  br label %257

257:                                              ; preds = %256
  br label %258

258:                                              ; preds = %257
  %259 = call i32 @s2n_init()
  %260 = icmp eq i32 %259, -1
  br i1 %260, label %261, label %312

261:                                              ; preds = %258
  br label %262

262:                                              ; preds = %261
  br label %263

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

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

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

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

309:                                              ; preds = %292, %275
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #9
  br label %310

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

311:                                              ; No predecessors!
  br label %312

312:                                              ; preds = %311, %258
  br label %313

313:                                              ; preds = %312
  br label %314

314:                                              ; preds = %313
  %315 = call zeroext i1 (...) @s2n_is_tls13_fully_supported()
  br i1 %315, label %463, label %316

316:                                              ; preds = %314
  br label %317

317:                                              ; preds = %316
  br label %318

318:                                              ; preds = %317
  %319 = call i32 @s2n_cleanup()
  %320 = icmp eq i32 %319, -1
  br i1 %320, label %321, label %372

321:                                              ; preds = %318
  br label %322

322:                                              ; preds = %321
  br label %323

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

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

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

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

369:                                              ; preds = %352, %335
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #9
  br label %370

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

371:                                              ; No predecessors!
  br label %372

372:                                              ; preds = %371, %318
  br label %373

373:                                              ; preds = %372
  br label %374

374:                                              ; preds = %373
  br label %375

375:                                              ; preds = %374
  %376 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %377 = icmp eq i32 %376, -1
  br i1 %377, label %378, label %429

378:                                              ; preds = %375
  br label %379

379:                                              ; preds = %378
  br label %380

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

387:                                              ; preds = %380
  %388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %389 = call i32 @fileno(ptr noundef %388) #9
  %390 = call i32 @isatty(i32 noundef %389) #9
  %391 = icmp ne i32 %390, 0
  br i1 %391, label %392, label %409

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

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

426:                                              ; preds = %409, %392
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #9
  br label %427

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

428:                                              ; No predecessors!
  br label %429

429:                                              ; preds = %428, %375
  br label %430

430:                                              ; preds = %429
  %431 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %432 = trunc i8 %431 to i1
  br i1 %432, label %433, label %449

433:                                              ; preds = %430
  %434 = load ptr, ptr @stdout, align 8, !tbaa !9
  %435 = call i32 @fileno(ptr noundef %434) #9
  %436 = call i32 @isatty(i32 noundef %435) #9
  %437 = icmp ne i32 %436, 0
  br i1 %437, label %438, label %449

438:                                              ; preds = %433
  %439 = load i32, ptr @test_count, align 4, !tbaa !5
  %440 = icmp ne i32 %439, 0
  br i1 %440, label %441, label %445

441:                                              ; preds = %438
  %442 = load ptr, ptr @stdout, align 8, !tbaa !9
  %443 = load i32, ptr @test_count, align 4, !tbaa !5
  %444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %442, ptr noundef @.str.10, i32 noundef %443) #9
  br label %448

445:                                              ; preds = %438
  %446 = load ptr, ptr @stdout, align 8, !tbaa !9
  %447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %446, ptr noundef @.str.11) #9
  br label %448

448:                                              ; preds = %445, %441
  br label %460

449:                                              ; preds = %433, %430
  %450 = load i32, ptr @test_count, align 4, !tbaa !5
  %451 = icmp ne i32 %450, 0
  br i1 %451, label %452, label %456

452:                                              ; preds = %449
  %453 = load ptr, ptr @stdout, align 8, !tbaa !9
  %454 = load i32, ptr @test_count, align 4, !tbaa !5
  %455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %453, ptr noundef @.str.12, i32 noundef %454) #9
  br label %459

456:                                              ; preds = %449
  %457 = load ptr, ptr @stdout, align 8, !tbaa !9
  %458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %457, ptr noundef @.str.13) #9
  br label %459

459:                                              ; preds = %456, %452
  br label %460

460:                                              ; preds = %459, %448
  store i32 0, ptr %3, align 4
  br label %6848

461:                                              ; No predecessors!
  br label %462

462:                                              ; preds = %461
  br label %463

463:                                              ; preds = %462, %314
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #9
  store ptr null, ptr %11, align 8, !tbaa !9
  br label %464

464:                                              ; preds = %463
  %465 = load i32, ptr @test_count, align 4, !tbaa !5
  %466 = add nsw i32 %465, 1
  store i32 %466, ptr @test_count, align 4, !tbaa !5
  %467 = call ptr @s2n_config_new()
  store ptr %467, ptr %11, align 8, !tbaa !9
  %468 = icmp eq ptr %467, null
  br i1 %468, label %469, label %522

469:                                              ; preds = %464
  br label %470

470:                                              ; preds = %469
  br label %471

471:                                              ; preds = %470
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #9
  %472 = call ptr @__errno_location() #10
  %473 = load i32, ptr %472, align 4, !tbaa !5
  store i32 %473, ptr %12, align 4, !tbaa !5
  %474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %475 = call i32 @s2n_print_stacktrace(ptr noundef %474)
  %476 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %477 = trunc i8 %476 to i1
  br i1 %477, label %478, label %500

478:                                              ; preds = %471
  %479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %480 = call i32 @fileno(ptr noundef %479) #9
  %481 = call i32 @isatty(i32 noundef %480) #9
  %482 = icmp ne i32 %481, 0
  br i1 %482, label %483, label %500

483:                                              ; preds = %478
  %484 = load i32, ptr %12, align 4, !tbaa !5
  %485 = call ptr @__errno_location() #10
  store i32 %484, ptr %485, align 4, !tbaa !5
  %486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %487 = load i32, ptr @test_count, align 4, !tbaa !5
  %488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %489 = load i32, ptr %488, align 4, !tbaa !5
  %490 = call ptr @s2n_strerror(i32 noundef %489, ptr noundef @.str.4)
  %491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %492 = load i32, ptr %491, align 4, !tbaa !5
  %493 = call ptr @s2n_strerror_debug(i32 noundef %492, ptr noundef @.str.4)
  %494 = call ptr @__errno_location() #10
  %495 = load i32, ptr %494, align 4, !tbaa !5
  %496 = call ptr @strerror(i32 noundef %495) #9
  %497 = call ptr @__errno_location() #10
  %498 = load i32, ptr %497, align 4, !tbaa !5
  %499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %486, ptr noundef @.str.2, i32 noundef %487, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 36, ptr noundef %490, ptr noundef %493, ptr noundef %496, i32 noundef %498) #9
  br label %517

500:                                              ; preds = %478, %471
  %501 = load i32, ptr %12, align 4, !tbaa !5
  %502 = call ptr @__errno_location() #10
  store i32 %501, ptr %502, align 4, !tbaa !5
  %503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %504 = load i32, ptr @test_count, align 4, !tbaa !5
  %505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %506 = load i32, ptr %505, align 4, !tbaa !5
  %507 = call ptr @s2n_strerror(i32 noundef %506, ptr noundef @.str.4)
  %508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %509 = load i32, ptr %508, align 4, !tbaa !5
  %510 = call ptr @s2n_strerror_debug(i32 noundef %509, ptr noundef @.str.4)
  %511 = call ptr @__errno_location() #10
  %512 = load i32, ptr %511, align 4, !tbaa !5
  %513 = call ptr @strerror(i32 noundef %512) #9
  %514 = call ptr @__errno_location() #10
  %515 = load i32, ptr %514, align 4, !tbaa !5
  %516 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %503, ptr noundef @.str.5, i32 noundef %504, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 36, ptr noundef %507, ptr noundef %510, ptr noundef %513, i32 noundef %515) #9
  br label %517

517:                                              ; preds = %500, %483
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #9
  br label %518

518:                                              ; preds = %517
  br label %519

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

520:                                              ; No predecessors!
  br label %521

521:                                              ; preds = %520
  br label %522

522:                                              ; preds = %521, %464
  br label %523

523:                                              ; preds = %522
  br label %524

524:                                              ; preds = %523
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #9
  store ptr null, ptr %13, align 8, !tbaa !9
  br label %525

525:                                              ; preds = %524
  %526 = load i32, ptr @test_count, align 4, !tbaa !5
  %527 = add nsw i32 %526, 1
  store i32 %527, ptr @test_count, align 4, !tbaa !5
  %528 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %528, ptr %13, align 8, !tbaa !9
  %529 = icmp eq ptr %528, null
  br i1 %529, label %530, label %583

530:                                              ; preds = %525
  br label %531

531:                                              ; preds = %530
  br label %532

532:                                              ; preds = %531
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #9
  %533 = call ptr @__errno_location() #10
  %534 = load i32, ptr %533, align 4, !tbaa !5
  store i32 %534, ptr %14, align 4, !tbaa !5
  %535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %536 = call i32 @s2n_print_stacktrace(ptr noundef %535)
  %537 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %538 = trunc i8 %537 to i1
  br i1 %538, label %539, label %561

539:                                              ; preds = %532
  %540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %541 = call i32 @fileno(ptr noundef %540) #9
  %542 = call i32 @isatty(i32 noundef %541) #9
  %543 = icmp ne i32 %542, 0
  br i1 %543, label %544, label %561

544:                                              ; preds = %539
  %545 = load i32, ptr %14, align 4, !tbaa !5
  %546 = call ptr @__errno_location() #10
  store i32 %545, ptr %546, align 4, !tbaa !5
  %547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %548 = load i32, ptr @test_count, align 4, !tbaa !5
  %549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %550 = load i32, ptr %549, align 4, !tbaa !5
  %551 = call ptr @s2n_strerror(i32 noundef %550, ptr noundef @.str.4)
  %552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %553 = load i32, ptr %552, align 4, !tbaa !5
  %554 = call ptr @s2n_strerror_debug(i32 noundef %553, ptr noundef @.str.4)
  %555 = call ptr @__errno_location() #10
  %556 = load i32, ptr %555, align 4, !tbaa !5
  %557 = call ptr @strerror(i32 noundef %556) #9
  %558 = call ptr @__errno_location() #10
  %559 = load i32, ptr %558, align 4, !tbaa !5
  %560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %547, ptr noundef @.str.2, i32 noundef %548, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 39, ptr noundef %551, ptr noundef %554, ptr noundef %557, i32 noundef %559) #9
  br label %578

561:                                              ; preds = %539, %532
  %562 = load i32, ptr %14, align 4, !tbaa !5
  %563 = call ptr @__errno_location() #10
  store i32 %562, ptr %563, align 4, !tbaa !5
  %564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %565 = load i32, ptr @test_count, align 4, !tbaa !5
  %566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %567 = load i32, ptr %566, align 4, !tbaa !5
  %568 = call ptr @s2n_strerror(i32 noundef %567, ptr noundef @.str.4)
  %569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %570 = load i32, ptr %569, align 4, !tbaa !5
  %571 = call ptr @s2n_strerror_debug(i32 noundef %570, ptr noundef @.str.4)
  %572 = call ptr @__errno_location() #10
  %573 = load i32, ptr %572, align 4, !tbaa !5
  %574 = call ptr @strerror(i32 noundef %573) #9
  %575 = call ptr @__errno_location() #10
  %576 = load i32, ptr %575, align 4, !tbaa !5
  %577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %564, ptr noundef @.str.5, i32 noundef %565, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 39, ptr noundef %568, ptr noundef %571, ptr noundef %574, i32 noundef %576) #9
  br label %578

578:                                              ; preds = %561, %544
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #9
  br label %579

579:                                              ; preds = %578
  br label %580

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

581:                                              ; No predecessors!
  br label %582

582:                                              ; preds = %581
  br label %583

583:                                              ; preds = %582, %525
  br label %584

584:                                              ; preds = %583
  br label %585

585:                                              ; preds = %584
  br label %586

586:                                              ; preds = %585
  %587 = load i32, ptr @test_count, align 4, !tbaa !5
  %588 = add nsw i32 %587, 1
  store i32 %588, ptr @test_count, align 4, !tbaa !5
  %589 = load ptr, ptr %13, align 8, !tbaa !9
  %590 = load ptr, ptr %11, align 8, !tbaa !9
  %591 = call i32 @s2n_connection_set_config(ptr noundef %589, ptr noundef %590)
  %592 = icmp eq i32 %591, -1
  br i1 %592, label %593, label %646

593:                                              ; preds = %586
  br label %594

594:                                              ; preds = %593
  br label %595

595:                                              ; preds = %594
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #9
  %596 = call ptr @__errno_location() #10
  %597 = load i32, ptr %596, align 4, !tbaa !5
  store i32 %597, ptr %15, align 4, !tbaa !5
  %598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %599 = call i32 @s2n_print_stacktrace(ptr noundef %598)
  %600 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %601 = trunc i8 %600 to i1
  br i1 %601, label %602, label %624

602:                                              ; preds = %595
  %603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %604 = call i32 @fileno(ptr noundef %603) #9
  %605 = call i32 @isatty(i32 noundef %604) #9
  %606 = icmp ne i32 %605, 0
  br i1 %606, label %607, label %624

607:                                              ; preds = %602
  %608 = load i32, ptr %15, align 4, !tbaa !5
  %609 = call ptr @__errno_location() #10
  store i32 %608, ptr %609, align 4, !tbaa !5
  %610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %611 = load i32, ptr @test_count, align 4, !tbaa !5
  %612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %613 = load i32, ptr %612, align 4, !tbaa !5
  %614 = call ptr @s2n_strerror(i32 noundef %613, ptr noundef @.str.4)
  %615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %616 = load i32, ptr %615, align 4, !tbaa !5
  %617 = call ptr @s2n_strerror_debug(i32 noundef %616, ptr noundef @.str.4)
  %618 = call ptr @__errno_location() #10
  %619 = load i32, ptr %618, align 4, !tbaa !5
  %620 = call ptr @strerror(i32 noundef %619) #9
  %621 = call ptr @__errno_location() #10
  %622 = load i32, ptr %621, align 4, !tbaa !5
  %623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %610, ptr noundef @.str.2, i32 noundef %611, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 40, ptr noundef %614, ptr noundef %617, ptr noundef %620, i32 noundef %622) #9
  br label %641

624:                                              ; preds = %602, %595
  %625 = load i32, ptr %15, align 4, !tbaa !5
  %626 = call ptr @__errno_location() #10
  store i32 %625, ptr %626, align 4, !tbaa !5
  %627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %628 = load i32, ptr @test_count, align 4, !tbaa !5
  %629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %630 = load i32, ptr %629, align 4, !tbaa !5
  %631 = call ptr @s2n_strerror(i32 noundef %630, ptr noundef @.str.4)
  %632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %633 = load i32, ptr %632, align 4, !tbaa !5
  %634 = call ptr @s2n_strerror_debug(i32 noundef %633, ptr noundef @.str.4)
  %635 = call ptr @__errno_location() #10
  %636 = load i32, ptr %635, align 4, !tbaa !5
  %637 = call ptr @strerror(i32 noundef %636) #9
  %638 = call ptr @__errno_location() #10
  %639 = load i32, ptr %638, align 4, !tbaa !5
  %640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %627, ptr noundef @.str.5, i32 noundef %628, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 40, ptr noundef %631, ptr noundef %634, ptr noundef %637, i32 noundef %639) #9
  br label %641

641:                                              ; preds = %624, %607
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #9
  br label %642

642:                                              ; preds = %641
  br label %643

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

644:                                              ; No predecessors!
  br label %645

645:                                              ; preds = %644
  br label %646

646:                                              ; preds = %645, %586
  br label %647

647:                                              ; preds = %646
  br label %648

648:                                              ; preds = %647
  br label %649

649:                                              ; preds = %648
  %650 = load i32, ptr @test_count, align 4, !tbaa !5
  %651 = add nsw i32 %650, 1
  store i32 %651, ptr @test_count, align 4, !tbaa !5
  %652 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_quic_transport_parameters_extension, i32 0, i32 5), align 8, !tbaa !15
  %653 = call zeroext i1 %652(ptr noundef null)
  br i1 %653, label %654, label %707

654:                                              ; preds = %649
  br label %655

655:                                              ; preds = %654
  br label %656

656:                                              ; preds = %655
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #9
  %657 = call ptr @__errno_location() #10
  %658 = load i32, ptr %657, align 4, !tbaa !5
  store i32 %658, ptr %16, align 4, !tbaa !5
  %659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %660 = call i32 @s2n_print_stacktrace(ptr noundef %659)
  %661 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %662 = trunc i8 %661 to i1
  br i1 %662, label %663, label %685

663:                                              ; preds = %656
  %664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %665 = call i32 @fileno(ptr noundef %664) #9
  %666 = call i32 @isatty(i32 noundef %665) #9
  %667 = icmp ne i32 %666, 0
  br i1 %667, label %668, label %685

668:                                              ; preds = %663
  %669 = load i32, ptr %16, align 4, !tbaa !5
  %670 = call ptr @__errno_location() #10
  store i32 %669, ptr %670, align 4, !tbaa !5
  %671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %672 = load i32, ptr @test_count, align 4, !tbaa !5
  %673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %674 = load i32, ptr %673, align 4, !tbaa !5
  %675 = call ptr @s2n_strerror(i32 noundef %674, ptr noundef @.str.4)
  %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 = call ptr @__errno_location() #10
  %680 = load i32, ptr %679, align 4, !tbaa !5
  %681 = call ptr @strerror(i32 noundef %680) #9
  %682 = call ptr @__errno_location() #10
  %683 = load i32, ptr %682, align 4, !tbaa !5
  %684 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %671, ptr noundef @.str.2, i32 noundef %672, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 43, ptr noundef %675, ptr noundef %678, ptr noundef %681, i32 noundef %683) #9
  br label %702

685:                                              ; preds = %663, %656
  %686 = load i32, ptr %16, align 4, !tbaa !5
  %687 = call ptr @__errno_location() #10
  store i32 %686, ptr %687, align 4, !tbaa !5
  %688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %689 = load i32, ptr @test_count, align 4, !tbaa !5
  %690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %691 = load i32, ptr %690, align 4, !tbaa !5
  %692 = call ptr @s2n_strerror(i32 noundef %691, ptr noundef @.str.4)
  %693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %694 = load i32, ptr %693, align 4, !tbaa !5
  %695 = call ptr @s2n_strerror_debug(i32 noundef %694, ptr noundef @.str.4)
  %696 = call ptr @__errno_location() #10
  %697 = load i32, ptr %696, align 4, !tbaa !5
  %698 = call ptr @strerror(i32 noundef %697) #9
  %699 = call ptr @__errno_location() #10
  %700 = load i32, ptr %699, align 4, !tbaa !5
  %701 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %688, ptr noundef @.str.5, i32 noundef %689, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 43, ptr noundef %692, ptr noundef %695, ptr noundef %698, i32 noundef %700) #9
  br label %702

702:                                              ; preds = %685, %668
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #9
  br label %703

703:                                              ; preds = %702
  br label %704

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

705:                                              ; No predecessors!
  br label %706

706:                                              ; preds = %705
  br label %707

707:                                              ; preds = %706, %649
  br label %708

708:                                              ; preds = %707
  br label %709

709:                                              ; preds = %708
  br label %710

710:                                              ; preds = %709
  %711 = load i32, ptr @test_count, align 4, !tbaa !5
  %712 = add nsw i32 %711, 1
  store i32 %712, ptr @test_count, align 4, !tbaa !5
  %713 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_quic_transport_parameters_extension, i32 0, i32 5), align 8, !tbaa !15
  %714 = load ptr, ptr %13, align 8, !tbaa !9
  %715 = call zeroext i1 %713(ptr noundef %714)
  br i1 %715, label %716, label %769

716:                                              ; preds = %710
  br label %717

717:                                              ; preds = %716
  br label %718

718:                                              ; preds = %717
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #9
  %719 = call ptr @__errno_location() #10
  %720 = load i32, ptr %719, align 4, !tbaa !5
  store i32 %720, ptr %17, align 4, !tbaa !5
  %721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %722 = call i32 @s2n_print_stacktrace(ptr noundef %721)
  %723 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %724 = trunc i8 %723 to i1
  br i1 %724, label %725, label %747

725:                                              ; preds = %718
  %726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %727 = call i32 @fileno(ptr noundef %726) #9
  %728 = call i32 @isatty(i32 noundef %727) #9
  %729 = icmp ne i32 %728, 0
  br i1 %729, label %730, label %747

730:                                              ; preds = %725
  %731 = load i32, ptr %17, align 4, !tbaa !5
  %732 = call ptr @__errno_location() #10
  store i32 %731, ptr %732, align 4, !tbaa !5
  %733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %734 = load i32, ptr @test_count, align 4, !tbaa !5
  %735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %736 = load i32, ptr %735, align 4, !tbaa !5
  %737 = call ptr @s2n_strerror(i32 noundef %736, ptr noundef @.str.4)
  %738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %739 = load i32, ptr %738, align 4, !tbaa !5
  %740 = call ptr @s2n_strerror_debug(i32 noundef %739, ptr noundef @.str.4)
  %741 = call ptr @__errno_location() #10
  %742 = load i32, ptr %741, align 4, !tbaa !5
  %743 = call ptr @strerror(i32 noundef %742) #9
  %744 = call ptr @__errno_location() #10
  %745 = load i32, ptr %744, align 4, !tbaa !5
  %746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %733, ptr noundef @.str.2, i32 noundef %734, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 46, ptr noundef %737, ptr noundef %740, ptr noundef %743, i32 noundef %745) #9
  br label %764

747:                                              ; preds = %725, %718
  %748 = load i32, ptr %17, align 4, !tbaa !5
  %749 = call ptr @__errno_location() #10
  store i32 %748, ptr %749, align 4, !tbaa !5
  %750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %751 = load i32, ptr @test_count, align 4, !tbaa !5
  %752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %753 = load i32, ptr %752, align 4, !tbaa !5
  %754 = call ptr @s2n_strerror(i32 noundef %753, ptr noundef @.str.4)
  %755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %756 = load i32, ptr %755, align 4, !tbaa !5
  %757 = call ptr @s2n_strerror_debug(i32 noundef %756, ptr noundef @.str.4)
  %758 = call ptr @__errno_location() #10
  %759 = load i32, ptr %758, align 4, !tbaa !5
  %760 = call ptr @strerror(i32 noundef %759) #9
  %761 = call ptr @__errno_location() #10
  %762 = load i32, ptr %761, align 4, !tbaa !5
  %763 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %750, ptr noundef @.str.5, i32 noundef %751, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 46, ptr noundef %754, ptr noundef %757, ptr noundef %760, i32 noundef %762) #9
  br label %764

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

765:                                              ; preds = %764
  br label %766

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

767:                                              ; No predecessors!
  br label %768

768:                                              ; preds = %767
  br label %769

769:                                              ; preds = %768, %710
  br label %770

770:                                              ; preds = %769
  br label %771

771:                                              ; preds = %770
  br label %772

772:                                              ; preds = %771
  %773 = load i32, ptr @test_count, align 4, !tbaa !5
  %774 = add nsw i32 %773, 1
  store i32 %774, ptr @test_count, align 4, !tbaa !5
  %775 = load ptr, ptr %11, align 8, !tbaa !9
  %776 = call i32 @s2n_config_enable_quic(ptr noundef %775)
  %777 = icmp eq i32 %776, -1
  br i1 %777, label %778, label %831

778:                                              ; preds = %772
  br label %779

779:                                              ; preds = %778
  br label %780

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

787:                                              ; preds = %780
  %788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %789 = call i32 @fileno(ptr noundef %788) #9
  %790 = call i32 @isatty(i32 noundef %789) #9
  %791 = icmp ne i32 %790, 0
  br i1 %791, label %792, label %809

792:                                              ; preds = %787
  %793 = load i32, ptr %18, align 4, !tbaa !5
  %794 = call ptr @__errno_location() #10
  store i32 %793, ptr %794, align 4, !tbaa !5
  %795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %796 = load i32, ptr @test_count, align 4, !tbaa !5
  %797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %798 = load i32, ptr %797, align 4, !tbaa !5
  %799 = call ptr @s2n_strerror(i32 noundef %798, ptr noundef @.str.4)
  %800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %801 = load i32, ptr %800, align 4, !tbaa !5
  %802 = call ptr @s2n_strerror_debug(i32 noundef %801, ptr noundef @.str.4)
  %803 = call ptr @__errno_location() #10
  %804 = load i32, ptr %803, align 4, !tbaa !5
  %805 = call ptr @strerror(i32 noundef %804) #9
  %806 = call ptr @__errno_location() #10
  %807 = load i32, ptr %806, align 4, !tbaa !5
  %808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %795, ptr noundef @.str.2, i32 noundef %796, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 49, ptr noundef %799, ptr noundef %802, ptr noundef %805, i32 noundef %807) #9
  br label %826

809:                                              ; preds = %787, %780
  %810 = load i32, ptr %18, align 4, !tbaa !5
  %811 = call ptr @__errno_location() #10
  store i32 %810, ptr %811, align 4, !tbaa !5
  %812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %813 = load i32, ptr @test_count, align 4, !tbaa !5
  %814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %815 = load i32, ptr %814, align 4, !tbaa !5
  %816 = call ptr @s2n_strerror(i32 noundef %815, ptr noundef @.str.4)
  %817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %818 = load i32, ptr %817, align 4, !tbaa !5
  %819 = call ptr @s2n_strerror_debug(i32 noundef %818, ptr noundef @.str.4)
  %820 = call ptr @__errno_location() #10
  %821 = load i32, ptr %820, align 4, !tbaa !5
  %822 = call ptr @strerror(i32 noundef %821) #9
  %823 = call ptr @__errno_location() #10
  %824 = load i32, ptr %823, align 4, !tbaa !5
  %825 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %812, ptr noundef @.str.5, i32 noundef %813, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 49, ptr noundef %816, ptr noundef %819, ptr noundef %822, i32 noundef %824) #9
  br label %826

826:                                              ; preds = %809, %792
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #9
  br label %827

827:                                              ; preds = %826
  br label %828

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

829:                                              ; No predecessors!
  br label %830

830:                                              ; preds = %829
  br label %831

831:                                              ; preds = %830, %772
  br label %832

832:                                              ; preds = %831
  br label %833

833:                                              ; preds = %832
  br label %834

834:                                              ; preds = %833
  %835 = load i32, ptr @test_count, align 4, !tbaa !5
  %836 = add nsw i32 %835, 1
  store i32 %836, ptr @test_count, align 4, !tbaa !5
  %837 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_quic_transport_parameters_extension, i32 0, i32 5), align 8, !tbaa !15
  %838 = load ptr, ptr %13, align 8, !tbaa !9
  %839 = call zeroext i1 %837(ptr noundef %838)
  br i1 %839, label %893, label %840

840:                                              ; preds = %834
  br label %841

841:                                              ; preds = %840
  br label %842

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

849:                                              ; preds = %842
  %850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %851 = call i32 @fileno(ptr noundef %850) #9
  %852 = call i32 @isatty(i32 noundef %851) #9
  %853 = icmp ne i32 %852, 0
  br i1 %853, label %854, label %871

854:                                              ; preds = %849
  %855 = load i32, ptr %19, align 4, !tbaa !5
  %856 = call ptr @__errno_location() #10
  store i32 %855, ptr %856, align 4, !tbaa !5
  %857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %858 = load i32, ptr @test_count, align 4, !tbaa !5
  %859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %860 = load i32, ptr %859, align 4, !tbaa !5
  %861 = call ptr @s2n_strerror(i32 noundef %860, ptr noundef @.str.4)
  %862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %863 = load i32, ptr %862, align 4, !tbaa !5
  %864 = call ptr @s2n_strerror_debug(i32 noundef %863, ptr noundef @.str.4)
  %865 = call ptr @__errno_location() #10
  %866 = load i32, ptr %865, align 4, !tbaa !5
  %867 = call ptr @strerror(i32 noundef %866) #9
  %868 = call ptr @__errno_location() #10
  %869 = load i32, ptr %868, align 4, !tbaa !5
  %870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %857, ptr noundef @.str.2, i32 noundef %858, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 50, ptr noundef %861, ptr noundef %864, ptr noundef %867, i32 noundef %869) #9
  br label %888

871:                                              ; preds = %849, %842
  %872 = load i32, ptr %19, align 4, !tbaa !5
  %873 = call ptr @__errno_location() #10
  store i32 %872, ptr %873, align 4, !tbaa !5
  %874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %875 = load i32, ptr @test_count, align 4, !tbaa !5
  %876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %877 = load i32, ptr %876, align 4, !tbaa !5
  %878 = call ptr @s2n_strerror(i32 noundef %877, ptr noundef @.str.4)
  %879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %880 = load i32, ptr %879, align 4, !tbaa !5
  %881 = call ptr @s2n_strerror_debug(i32 noundef %880, ptr noundef @.str.4)
  %882 = call ptr @__errno_location() #10
  %883 = load i32, ptr %882, align 4, !tbaa !5
  %884 = call ptr @strerror(i32 noundef %883) #9
  %885 = call ptr @__errno_location() #10
  %886 = load i32, ptr %885, align 4, !tbaa !5
  %887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %874, ptr noundef @.str.5, i32 noundef %875, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 50, ptr noundef %878, ptr noundef %881, ptr noundef %884, i32 noundef %886) #9
  br label %888

888:                                              ; preds = %871, %854
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #9
  br label %889

889:                                              ; preds = %888
  br label %890

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

891:                                              ; No predecessors!
  br label %892

892:                                              ; preds = %891
  br label %893

893:                                              ; preds = %892, %834
  br label %894

894:                                              ; preds = %893
  br label %895

895:                                              ; preds = %894
  br label %896

896:                                              ; preds = %895
  %897 = load i32, ptr @test_count, align 4, !tbaa !5
  %898 = add nsw i32 %897, 1
  store i32 %898, ptr @test_count, align 4, !tbaa !5
  %899 = load ptr, ptr %13, align 8, !tbaa !9
  %900 = call i32 @s2n_connection_free(ptr noundef %899)
  %901 = icmp eq i32 %900, -1
  br i1 %901, label %902, label %955

902:                                              ; preds = %896
  br label %903

903:                                              ; preds = %902
  br label %904

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

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

916:                                              ; preds = %911
  %917 = load i32, ptr %20, align 4, !tbaa !5
  %918 = call ptr @__errno_location() #10
  store i32 %917, ptr %918, align 4, !tbaa !5
  %919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %920 = load i32, ptr @test_count, align 4, !tbaa !5
  %921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %922 = load i32, ptr %921, align 4, !tbaa !5
  %923 = call ptr @s2n_strerror(i32 noundef %922, ptr noundef @.str.4)
  %924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %925 = load i32, ptr %924, align 4, !tbaa !5
  %926 = call ptr @s2n_strerror_debug(i32 noundef %925, ptr noundef @.str.4)
  %927 = call ptr @__errno_location() #10
  %928 = load i32, ptr %927, align 4, !tbaa !5
  %929 = call ptr @strerror(i32 noundef %928) #9
  %930 = call ptr @__errno_location() #10
  %931 = load i32, ptr %930, align 4, !tbaa !5
  %932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %919, ptr noundef @.str.2, i32 noundef %920, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 52, ptr noundef %923, ptr noundef %926, ptr noundef %929, i32 noundef %931) #9
  br label %950

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

950:                                              ; preds = %933, %916
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #9
  br label %951

951:                                              ; preds = %950
  br label %952

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

953:                                              ; No predecessors!
  br label %954

954:                                              ; preds = %953
  br label %955

955:                                              ; preds = %954, %896
  br label %956

956:                                              ; preds = %955
  br label %957

957:                                              ; preds = %956
  br label %958

958:                                              ; preds = %957
  %959 = load i32, ptr @test_count, align 4, !tbaa !5
  %960 = add nsw i32 %959, 1
  store i32 %960, ptr @test_count, align 4, !tbaa !5
  %961 = load ptr, ptr %11, align 8, !tbaa !9
  %962 = call i32 @s2n_config_free(ptr noundef %961)
  %963 = icmp eq i32 %962, -1
  br i1 %963, label %964, label %1017

964:                                              ; preds = %958
  br label %965

965:                                              ; preds = %964
  br label %966

966:                                              ; preds = %965
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #9
  %967 = call ptr @__errno_location() #10
  %968 = load i32, ptr %967, align 4, !tbaa !5
  store i32 %968, ptr %21, align 4, !tbaa !5
  %969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %970 = call i32 @s2n_print_stacktrace(ptr noundef %969)
  %971 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %972 = trunc i8 %971 to i1
  br i1 %972, label %973, label %995

973:                                              ; preds = %966
  %974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %975 = call i32 @fileno(ptr noundef %974) #9
  %976 = call i32 @isatty(i32 noundef %975) #9
  %977 = icmp ne i32 %976, 0
  br i1 %977, label %978, label %995

978:                                              ; preds = %973
  %979 = load i32, ptr %21, align 4, !tbaa !5
  %980 = call ptr @__errno_location() #10
  store i32 %979, ptr %980, align 4, !tbaa !5
  %981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %982 = load i32, ptr @test_count, align 4, !tbaa !5
  %983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %984 = load i32, ptr %983, align 4, !tbaa !5
  %985 = call ptr @s2n_strerror(i32 noundef %984, ptr noundef @.str.4)
  %986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %987 = load i32, ptr %986, align 4, !tbaa !5
  %988 = call ptr @s2n_strerror_debug(i32 noundef %987, ptr noundef @.str.4)
  %989 = call ptr @__errno_location() #10
  %990 = load i32, ptr %989, align 4, !tbaa !5
  %991 = call ptr @strerror(i32 noundef %990) #9
  %992 = call ptr @__errno_location() #10
  %993 = load i32, ptr %992, align 4, !tbaa !5
  %994 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %981, ptr noundef @.str.2, i32 noundef %982, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 53, ptr noundef %985, ptr noundef %988, ptr noundef %991, i32 noundef %993) #9
  br label %1012

995:                                              ; preds = %973, %966
  %996 = load i32, ptr %21, align 4, !tbaa !5
  %997 = call ptr @__errno_location() #10
  store i32 %996, ptr %997, align 4, !tbaa !5
  %998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %999 = load i32, ptr @test_count, align 4, !tbaa !5
  %1000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1001 = load i32, ptr %1000, align 4, !tbaa !5
  %1002 = call ptr @s2n_strerror(i32 noundef %1001, ptr noundef @.str.4)
  %1003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1004 = load i32, ptr %1003, align 4, !tbaa !5
  %1005 = call ptr @s2n_strerror_debug(i32 noundef %1004, ptr noundef @.str.4)
  %1006 = call ptr @__errno_location() #10
  %1007 = load i32, ptr %1006, align 4, !tbaa !5
  %1008 = call ptr @strerror(i32 noundef %1007) #9
  %1009 = call ptr @__errno_location() #10
  %1010 = load i32, ptr %1009, align 4, !tbaa !5
  %1011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %998, ptr noundef @.str.5, i32 noundef %999, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 53, ptr noundef %1002, ptr noundef %1005, ptr noundef %1008, i32 noundef %1010) #9
  br label %1012

1012:                                             ; preds = %995, %978
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #9
  br label %1013

1013:                                             ; preds = %1012
  br label %1014

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

1015:                                             ; No predecessors!
  br label %1016

1016:                                             ; preds = %1015
  br label %1017

1017:                                             ; preds = %1016, %958
  br label %1018

1018:                                             ; preds = %1017
  br label %1019

1019:                                             ; preds = %1018
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #9
  store ptr null, ptr %22, align 8, !tbaa !9
  br label %1020

1020:                                             ; preds = %1019
  %1021 = load i32, ptr @test_count, align 4, !tbaa !5
  %1022 = add nsw i32 %1021, 1
  store i32 %1022, ptr @test_count, align 4, !tbaa !5
  %1023 = call ptr @s2n_config_new()
  store ptr %1023, ptr %22, align 8, !tbaa !9
  %1024 = icmp eq ptr %1023, null
  br i1 %1024, label %1025, label %1078

1025:                                             ; preds = %1020
  br label %1026

1026:                                             ; preds = %1025
  br label %1027

1027:                                             ; preds = %1026
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #9
  %1028 = call ptr @__errno_location() #10
  %1029 = load i32, ptr %1028, align 4, !tbaa !5
  store i32 %1029, ptr %23, align 4, !tbaa !5
  %1030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1031 = call i32 @s2n_print_stacktrace(ptr noundef %1030)
  %1032 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1033 = trunc i8 %1032 to i1
  br i1 %1033, label %1034, label %1056

1034:                                             ; preds = %1027
  %1035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1036 = call i32 @fileno(ptr noundef %1035) #9
  %1037 = call i32 @isatty(i32 noundef %1036) #9
  %1038 = icmp ne i32 %1037, 0
  br i1 %1038, label %1039, label %1056

1039:                                             ; preds = %1034
  %1040 = load i32, ptr %23, align 4, !tbaa !5
  %1041 = call ptr @__errno_location() #10
  store i32 %1040, ptr %1041, align 4, !tbaa !5
  %1042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1043 = load i32, ptr @test_count, align 4, !tbaa !5
  %1044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1045 = load i32, ptr %1044, align 4, !tbaa !5
  %1046 = call ptr @s2n_strerror(i32 noundef %1045, ptr noundef @.str.4)
  %1047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1048 = load i32, ptr %1047, align 4, !tbaa !5
  %1049 = call ptr @s2n_strerror_debug(i32 noundef %1048, ptr noundef @.str.4)
  %1050 = call ptr @__errno_location() #10
  %1051 = load i32, ptr %1050, align 4, !tbaa !5
  %1052 = call ptr @strerror(i32 noundef %1051) #9
  %1053 = call ptr @__errno_location() #10
  %1054 = load i32, ptr %1053, align 4, !tbaa !5
  %1055 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1042, ptr noundef @.str.2, i32 noundef %1043, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 59, ptr noundef %1046, ptr noundef %1049, ptr noundef %1052, i32 noundef %1054) #9
  br label %1073

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

1073:                                             ; preds = %1056, %1039
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #9
  br label %1074

1074:                                             ; preds = %1073
  br label %1075

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

1076:                                             ; No predecessors!
  br label %1077

1077:                                             ; preds = %1076
  br label %1078

1078:                                             ; preds = %1077, %1020
  br label %1079

1079:                                             ; preds = %1078
  br label %1080

1080:                                             ; preds = %1079
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #9
  store ptr null, ptr %24, align 8, !tbaa !9
  br label %1081

1081:                                             ; preds = %1080
  %1082 = load i32, ptr @test_count, align 4, !tbaa !5
  %1083 = add nsw i32 %1082, 1
  store i32 %1083, ptr @test_count, align 4, !tbaa !5
  %1084 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %1084, ptr %24, align 8, !tbaa !9
  %1085 = icmp eq ptr %1084, null
  br i1 %1085, label %1086, label %1139

1086:                                             ; preds = %1081
  br label %1087

1087:                                             ; preds = %1086
  br label %1088

1088:                                             ; preds = %1087
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #9
  %1089 = call ptr @__errno_location() #10
  %1090 = load i32, ptr %1089, align 4, !tbaa !5
  store i32 %1090, ptr %25, align 4, !tbaa !5
  %1091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1092 = call i32 @s2n_print_stacktrace(ptr noundef %1091)
  %1093 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1094 = trunc i8 %1093 to i1
  br i1 %1094, label %1095, label %1117

1095:                                             ; preds = %1088
  %1096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1097 = call i32 @fileno(ptr noundef %1096) #9
  %1098 = call i32 @isatty(i32 noundef %1097) #9
  %1099 = icmp ne i32 %1098, 0
  br i1 %1099, label %1100, label %1117

1100:                                             ; preds = %1095
  %1101 = load i32, ptr %25, align 4, !tbaa !5
  %1102 = call ptr @__errno_location() #10
  store i32 %1101, ptr %1102, align 4, !tbaa !5
  %1103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1104 = load i32, ptr @test_count, align 4, !tbaa !5
  %1105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1106 = load i32, ptr %1105, align 4, !tbaa !5
  %1107 = call ptr @s2n_strerror(i32 noundef %1106, ptr noundef @.str.4)
  %1108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1109 = load i32, ptr %1108, align 4, !tbaa !5
  %1110 = call ptr @s2n_strerror_debug(i32 noundef %1109, ptr noundef @.str.4)
  %1111 = call ptr @__errno_location() #10
  %1112 = load i32, ptr %1111, align 4, !tbaa !5
  %1113 = call ptr @strerror(i32 noundef %1112) #9
  %1114 = call ptr @__errno_location() #10
  %1115 = load i32, ptr %1114, align 4, !tbaa !5
  %1116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1103, ptr noundef @.str.2, i32 noundef %1104, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 62, ptr noundef %1107, ptr noundef %1110, ptr noundef %1113, i32 noundef %1115) #9
  br label %1134

1117:                                             ; preds = %1095, %1088
  %1118 = load i32, ptr %25, align 4, !tbaa !5
  %1119 = call ptr @__errno_location() #10
  store i32 %1118, ptr %1119, align 4, !tbaa !5
  %1120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1121 = load i32, ptr @test_count, align 4, !tbaa !5
  %1122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1123 = load i32, ptr %1122, align 4, !tbaa !5
  %1124 = call ptr @s2n_strerror(i32 noundef %1123, ptr noundef @.str.4)
  %1125 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1126 = load i32, ptr %1125, align 4, !tbaa !5
  %1127 = call ptr @s2n_strerror_debug(i32 noundef %1126, ptr noundef @.str.4)
  %1128 = call ptr @__errno_location() #10
  %1129 = load i32, ptr %1128, align 4, !tbaa !5
  %1130 = call ptr @strerror(i32 noundef %1129) #9
  %1131 = call ptr @__errno_location() #10
  %1132 = load i32, ptr %1131, align 4, !tbaa !5
  %1133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1120, ptr noundef @.str.5, i32 noundef %1121, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 62, ptr noundef %1124, ptr noundef %1127, ptr noundef %1130, i32 noundef %1132) #9
  br label %1134

1134:                                             ; preds = %1117, %1100
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #9
  br label %1135

1135:                                             ; preds = %1134
  br label %1136

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

1137:                                             ; No predecessors!
  br label %1138

1138:                                             ; preds = %1137
  br label %1139

1139:                                             ; preds = %1138, %1081
  br label %1140

1140:                                             ; preds = %1139
  br label %1141

1141:                                             ; preds = %1140
  br label %1142

1142:                                             ; preds = %1141
  %1143 = load i32, ptr @test_count, align 4, !tbaa !5
  %1144 = add nsw i32 %1143, 1
  store i32 %1144, ptr @test_count, align 4, !tbaa !5
  %1145 = load ptr, ptr %24, align 8, !tbaa !9
  %1146 = load ptr, ptr %22, align 8, !tbaa !9
  %1147 = call i32 @s2n_connection_set_config(ptr noundef %1145, ptr noundef %1146)
  %1148 = icmp eq i32 %1147, -1
  br i1 %1148, label %1149, label %1202

1149:                                             ; preds = %1142
  br label %1150

1150:                                             ; preds = %1149
  br label %1151

1151:                                             ; preds = %1150
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #9
  %1152 = call ptr @__errno_location() #10
  %1153 = load i32, ptr %1152, align 4, !tbaa !5
  store i32 %1153, ptr %26, align 4, !tbaa !5
  %1154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1155 = call i32 @s2n_print_stacktrace(ptr noundef %1154)
  %1156 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1157 = trunc i8 %1156 to i1
  br i1 %1157, label %1158, label %1180

1158:                                             ; preds = %1151
  %1159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1160 = call i32 @fileno(ptr noundef %1159) #9
  %1161 = call i32 @isatty(i32 noundef %1160) #9
  %1162 = icmp ne i32 %1161, 0
  br i1 %1162, label %1163, label %1180

1163:                                             ; preds = %1158
  %1164 = load i32, ptr %26, align 4, !tbaa !5
  %1165 = call ptr @__errno_location() #10
  store i32 %1164, ptr %1165, align 4, !tbaa !5
  %1166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1167 = load i32, ptr @test_count, align 4, !tbaa !5
  %1168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1169 = load i32, ptr %1168, align 4, !tbaa !5
  %1170 = call ptr @s2n_strerror(i32 noundef %1169, ptr noundef @.str.4)
  %1171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1172 = load i32, ptr %1171, align 4, !tbaa !5
  %1173 = call ptr @s2n_strerror_debug(i32 noundef %1172, ptr noundef @.str.4)
  %1174 = call ptr @__errno_location() #10
  %1175 = load i32, ptr %1174, align 4, !tbaa !5
  %1176 = call ptr @strerror(i32 noundef %1175) #9
  %1177 = call ptr @__errno_location() #10
  %1178 = load i32, ptr %1177, align 4, !tbaa !5
  %1179 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1166, ptr noundef @.str.2, i32 noundef %1167, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 63, ptr noundef %1170, ptr noundef %1173, ptr noundef %1176, i32 noundef %1178) #9
  br label %1197

1180:                                             ; preds = %1158, %1151
  %1181 = load i32, ptr %26, align 4, !tbaa !5
  %1182 = call ptr @__errno_location() #10
  store i32 %1181, ptr %1182, align 4, !tbaa !5
  %1183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1184 = load i32, ptr @test_count, align 4, !tbaa !5
  %1185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1186 = load i32, ptr %1185, align 4, !tbaa !5
  %1187 = call ptr @s2n_strerror(i32 noundef %1186, ptr noundef @.str.4)
  %1188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1189 = load i32, ptr %1188, align 4, !tbaa !5
  %1190 = call ptr @s2n_strerror_debug(i32 noundef %1189, ptr noundef @.str.4)
  %1191 = call ptr @__errno_location() #10
  %1192 = load i32, ptr %1191, align 4, !tbaa !5
  %1193 = call ptr @strerror(i32 noundef %1192) #9
  %1194 = call ptr @__errno_location() #10
  %1195 = load i32, ptr %1194, align 4, !tbaa !5
  %1196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1183, ptr noundef @.str.5, i32 noundef %1184, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 63, ptr noundef %1187, ptr noundef %1190, ptr noundef %1193, i32 noundef %1195) #9
  br label %1197

1197:                                             ; preds = %1180, %1163
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #9
  br label %1198

1198:                                             ; preds = %1197
  br label %1199

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

1200:                                             ; No predecessors!
  br label %1201

1201:                                             ; preds = %1200
  br label %1202

1202:                                             ; preds = %1201, %1142
  br label %1203

1203:                                             ; preds = %1202
  br label %1204

1204:                                             ; preds = %1203
  br label %1205

1205:                                             ; preds = %1204
  br label %1206

1206:                                             ; preds = %1205
  br label %1207

1207:                                             ; preds = %1206
  %1208 = load i32, ptr @test_count, align 4, !tbaa !5
  %1209 = add nsw i32 %1208, 1
  store i32 %1209, ptr @test_count, align 4, !tbaa !5
  %1210 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_quic_transport_parameters_extension, i32 0, i32 6), align 8, !tbaa !18
  %1211 = call i32 %1210(ptr noundef null)
  %1212 = icmp eq i32 %1211, -1
  br i1 %1212, label %1266, label %1213

1213:                                             ; preds = %1207
  br label %1214

1214:                                             ; preds = %1213
  br label %1215

1215:                                             ; preds = %1214
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #9
  %1216 = call ptr @__errno_location() #10
  %1217 = load i32, ptr %1216, align 4, !tbaa !5
  store i32 %1217, ptr %27, align 4, !tbaa !5
  %1218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1219 = call i32 @s2n_print_stacktrace(ptr noundef %1218)
  %1220 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1221 = trunc i8 %1220 to i1
  br i1 %1221, label %1222, label %1244

1222:                                             ; preds = %1215
  %1223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1224 = call i32 @fileno(ptr noundef %1223) #9
  %1225 = call i32 @isatty(i32 noundef %1224) #9
  %1226 = icmp ne i32 %1225, 0
  br i1 %1226, label %1227, label %1244

1227:                                             ; preds = %1222
  %1228 = load i32, ptr %27, align 4, !tbaa !5
  %1229 = call ptr @__errno_location() #10
  store i32 %1228, ptr %1229, align 4, !tbaa !5
  %1230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1231 = load i32, ptr @test_count, align 4, !tbaa !5
  %1232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1233 = load i32, ptr %1232, align 4, !tbaa !5
  %1234 = call ptr @s2n_strerror(i32 noundef %1233, ptr noundef @.str.4)
  %1235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1236 = load i32, ptr %1235, align 4, !tbaa !5
  %1237 = call ptr @s2n_strerror_debug(i32 noundef %1236, ptr noundef @.str.4)
  %1238 = call ptr @__errno_location() #10
  %1239 = load i32, ptr %1238, align 4, !tbaa !5
  %1240 = call ptr @strerror(i32 noundef %1239) #9
  %1241 = call ptr @__errno_location() #10
  %1242 = load i32, ptr %1241, align 4, !tbaa !5
  %1243 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1230, ptr noundef @.str.2, i32 noundef %1231, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 66, ptr noundef %1234, ptr noundef %1237, ptr noundef %1240, i32 noundef %1242) #9
  br label %1261

1244:                                             ; preds = %1222, %1215
  %1245 = load i32, ptr %27, align 4, !tbaa !5
  %1246 = call ptr @__errno_location() #10
  store i32 %1245, ptr %1246, align 4, !tbaa !5
  %1247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1248 = load i32, ptr @test_count, align 4, !tbaa !5
  %1249 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1250 = load i32, ptr %1249, align 4, !tbaa !5
  %1251 = call ptr @s2n_strerror(i32 noundef %1250, ptr noundef @.str.4)
  %1252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1253 = load i32, ptr %1252, align 4, !tbaa !5
  %1254 = call ptr @s2n_strerror_debug(i32 noundef %1253, ptr noundef @.str.4)
  %1255 = call ptr @__errno_location() #10
  %1256 = load i32, ptr %1255, align 4, !tbaa !5
  %1257 = call ptr @strerror(i32 noundef %1256) #9
  %1258 = call ptr @__errno_location() #10
  %1259 = load i32, ptr %1258, align 4, !tbaa !5
  %1260 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1247, ptr noundef @.str.5, i32 noundef %1248, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 66, ptr noundef %1251, ptr noundef %1254, ptr noundef %1257, i32 noundef %1259) #9
  br label %1261

1261:                                             ; preds = %1244, %1227
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #9
  br label %1262

1262:                                             ; preds = %1261
  br label %1263

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

1264:                                             ; No predecessors!
  br label %1265

1265:                                             ; preds = %1264
  br label %1266

1266:                                             ; preds = %1265, %1207
  br label %1267

1267:                                             ; preds = %1266
  br label %1268

1268:                                             ; preds = %1267
  br label %1269

1269:                                             ; preds = %1268
  %1270 = load i32, ptr @test_count, align 4, !tbaa !5
  %1271 = add nsw i32 %1270, 1
  store i32 %1271, ptr @test_count, align 4, !tbaa !5
  %1272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1273 = load i32, ptr %1272, align 4, !tbaa !5
  %1274 = icmp eq i32 %1273, 402653193
  br i1 %1274, label %1328, label %1275

1275:                                             ; preds = %1269
  br label %1276

1276:                                             ; preds = %1275
  br label %1277

1277:                                             ; preds = %1276
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #9
  %1278 = call ptr @__errno_location() #10
  %1279 = load i32, ptr %1278, align 4, !tbaa !5
  store i32 %1279, ptr %28, align 4, !tbaa !5
  %1280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1281 = call i32 @s2n_print_stacktrace(ptr noundef %1280)
  %1282 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1283 = trunc i8 %1282 to i1
  br i1 %1283, label %1284, label %1306

1284:                                             ; preds = %1277
  %1285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1286 = call i32 @fileno(ptr noundef %1285) #9
  %1287 = call i32 @isatty(i32 noundef %1286) #9
  %1288 = icmp ne i32 %1287, 0
  br i1 %1288, label %1289, label %1306

1289:                                             ; preds = %1284
  %1290 = load i32, ptr %28, align 4, !tbaa !5
  %1291 = call ptr @__errno_location() #10
  store i32 %1290, ptr %1291, align 4, !tbaa !5
  %1292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1293 = load i32, ptr @test_count, align 4, !tbaa !5
  %1294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1295 = load i32, ptr %1294, align 4, !tbaa !5
  %1296 = call ptr @s2n_strerror(i32 noundef %1295, ptr noundef @.str.4)
  %1297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1298 = load i32, ptr %1297, align 4, !tbaa !5
  %1299 = call ptr @s2n_strerror_debug(i32 noundef %1298, ptr noundef @.str.4)
  %1300 = call ptr @__errno_location() #10
  %1301 = load i32, ptr %1300, align 4, !tbaa !5
  %1302 = call ptr @strerror(i32 noundef %1301) #9
  %1303 = call ptr @__errno_location() #10
  %1304 = load i32, ptr %1303, align 4, !tbaa !5
  %1305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1292, ptr noundef @.str.2, i32 noundef %1293, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 66, ptr noundef %1296, ptr noundef %1299, ptr noundef %1302, i32 noundef %1304) #9
  br label %1323

1306:                                             ; preds = %1284, %1277
  %1307 = load i32, ptr %28, align 4, !tbaa !5
  %1308 = call ptr @__errno_location() #10
  store i32 %1307, ptr %1308, align 4, !tbaa !5
  %1309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1310 = load i32, ptr @test_count, align 4, !tbaa !5
  %1311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1312 = load i32, ptr %1311, align 4, !tbaa !5
  %1313 = call ptr @s2n_strerror(i32 noundef %1312, ptr noundef @.str.4)
  %1314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1315 = load i32, ptr %1314, align 4, !tbaa !5
  %1316 = call ptr @s2n_strerror_debug(i32 noundef %1315, ptr noundef @.str.4)
  %1317 = call ptr @__errno_location() #10
  %1318 = load i32, ptr %1317, align 4, !tbaa !5
  %1319 = call ptr @strerror(i32 noundef %1318) #9
  %1320 = call ptr @__errno_location() #10
  %1321 = load i32, ptr %1320, align 4, !tbaa !5
  %1322 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1309, ptr noundef @.str.5, i32 noundef %1310, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 66, ptr noundef %1313, ptr noundef %1316, ptr noundef %1319, i32 noundef %1321) #9
  br label %1323

1323:                                             ; preds = %1306, %1289
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #9
  br label %1324

1324:                                             ; preds = %1323
  br label %1325

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

1326:                                             ; No predecessors!
  br label %1327

1327:                                             ; preds = %1326
  br label %1328

1328:                                             ; preds = %1327, %1269
  br label %1329

1329:                                             ; preds = %1328
  br label %1330

1330:                                             ; preds = %1329
  br label %1331

1331:                                             ; preds = %1330
  %1332 = load i32, ptr @test_count, align 4, !tbaa !5
  %1333 = add nsw i32 %1332, 1
  store i32 %1333, ptr @test_count, align 4, !tbaa !5
  %1334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1335 = load i32, ptr %1334, align 4, !tbaa !5
  %1336 = call ptr @s2n_strerror_debug(i32 noundef %1335, ptr noundef @.str.4)
  %1337 = icmp eq ptr %1336, null
  br i1 %1337, label %1338, label %1391

1338:                                             ; preds = %1331
  br label %1339

1339:                                             ; preds = %1338
  br label %1340

1340:                                             ; preds = %1339
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #9
  %1341 = call ptr @__errno_location() #10
  %1342 = load i32, ptr %1341, align 4, !tbaa !5
  store i32 %1342, ptr %29, align 4, !tbaa !5
  %1343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1344 = call i32 @s2n_print_stacktrace(ptr noundef %1343)
  %1345 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1346 = trunc i8 %1345 to i1
  br i1 %1346, label %1347, label %1369

1347:                                             ; preds = %1340
  %1348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1349 = call i32 @fileno(ptr noundef %1348) #9
  %1350 = call i32 @isatty(i32 noundef %1349) #9
  %1351 = icmp ne i32 %1350, 0
  br i1 %1351, label %1352, label %1369

1352:                                             ; preds = %1347
  %1353 = load i32, ptr %29, align 4, !tbaa !5
  %1354 = call ptr @__errno_location() #10
  store i32 %1353, ptr %1354, align 4, !tbaa !5
  %1355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1356 = load i32, ptr @test_count, align 4, !tbaa !5
  %1357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1358 = load i32, ptr %1357, align 4, !tbaa !5
  %1359 = call ptr @s2n_strerror(i32 noundef %1358, ptr noundef @.str.4)
  %1360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1361 = load i32, ptr %1360, align 4, !tbaa !5
  %1362 = call ptr @s2n_strerror_debug(i32 noundef %1361, ptr noundef @.str.4)
  %1363 = call ptr @__errno_location() #10
  %1364 = load i32, ptr %1363, align 4, !tbaa !5
  %1365 = call ptr @strerror(i32 noundef %1364) #9
  %1366 = call ptr @__errno_location() #10
  %1367 = load i32, ptr %1366, align 4, !tbaa !5
  %1368 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1355, ptr noundef @.str.2, i32 noundef %1356, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 66, ptr noundef %1359, ptr noundef %1362, ptr noundef %1365, i32 noundef %1367) #9
  br label %1386

1369:                                             ; preds = %1347, %1340
  %1370 = load i32, ptr %29, align 4, !tbaa !5
  %1371 = call ptr @__errno_location() #10
  store i32 %1370, ptr %1371, align 4, !tbaa !5
  %1372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1373 = load i32, ptr @test_count, align 4, !tbaa !5
  %1374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1375 = load i32, ptr %1374, align 4, !tbaa !5
  %1376 = call ptr @s2n_strerror(i32 noundef %1375, ptr noundef @.str.4)
  %1377 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1378 = load i32, ptr %1377, align 4, !tbaa !5
  %1379 = call ptr @s2n_strerror_debug(i32 noundef %1378, ptr noundef @.str.4)
  %1380 = call ptr @__errno_location() #10
  %1381 = load i32, ptr %1380, align 4, !tbaa !5
  %1382 = call ptr @strerror(i32 noundef %1381) #9
  %1383 = call ptr @__errno_location() #10
  %1384 = load i32, ptr %1383, align 4, !tbaa !5
  %1385 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1372, ptr noundef @.str.5, i32 noundef %1373, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 66, ptr noundef %1376, ptr noundef %1379, ptr noundef %1382, i32 noundef %1384) #9
  br label %1386

1386:                                             ; preds = %1369, %1352
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #9
  br label %1387

1387:                                             ; preds = %1386
  br label %1388

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

1389:                                             ; No predecessors!
  br label %1390

1390:                                             ; preds = %1389
  br label %1391

1391:                                             ; preds = %1390, %1331
  br label %1392

1392:                                             ; preds = %1391
  br label %1393

1393:                                             ; preds = %1392
  br label %1394

1394:                                             ; preds = %1393
  br label %1395

1395:                                             ; preds = %1394
  br label %1396

1396:                                             ; preds = %1395
  %1397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1397, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1398 = call ptr @__errno_location() #10
  store i32 0, ptr %1398, align 4, !tbaa !5
  br label %1399

1399:                                             ; preds = %1396
  br label %1400

1400:                                             ; preds = %1399
  br label %1401

1401:                                             ; preds = %1400
  br label %1402

1402:                                             ; preds = %1401
  br label %1403

1403:                                             ; preds = %1402
  %1404 = load i32, ptr @test_count, align 4, !tbaa !5
  %1405 = add nsw i32 %1404, 1
  store i32 %1405, ptr @test_count, align 4, !tbaa !5
  %1406 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_quic_transport_parameters_extension, i32 0, i32 6), align 8, !tbaa !18
  %1407 = load ptr, ptr %24, align 8, !tbaa !9
  %1408 = call i32 %1406(ptr noundef %1407)
  %1409 = icmp eq i32 %1408, -1
  br i1 %1409, label %1410, label %1463

1410:                                             ; preds = %1403
  br label %1411

1411:                                             ; preds = %1410
  br label %1412

1412:                                             ; preds = %1411
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #9
  %1413 = call ptr @__errno_location() #10
  %1414 = load i32, ptr %1413, align 4, !tbaa !5
  store i32 %1414, ptr %30, align 4, !tbaa !5
  %1415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1416 = call i32 @s2n_print_stacktrace(ptr noundef %1415)
  %1417 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1418 = trunc i8 %1417 to i1
  br i1 %1418, label %1419, label %1441

1419:                                             ; preds = %1412
  %1420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1421 = call i32 @fileno(ptr noundef %1420) #9
  %1422 = call i32 @isatty(i32 noundef %1421) #9
  %1423 = icmp ne i32 %1422, 0
  br i1 %1423, label %1424, label %1441

1424:                                             ; preds = %1419
  %1425 = load i32, ptr %30, align 4, !tbaa !5
  %1426 = call ptr @__errno_location() #10
  store i32 %1425, ptr %1426, align 4, !tbaa !5
  %1427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1428 = load i32, ptr @test_count, align 4, !tbaa !5
  %1429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1430 = load i32, ptr %1429, align 4, !tbaa !5
  %1431 = call ptr @s2n_strerror(i32 noundef %1430, ptr noundef @.str.4)
  %1432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1433 = load i32, ptr %1432, align 4, !tbaa !5
  %1434 = call ptr @s2n_strerror_debug(i32 noundef %1433, ptr noundef @.str.4)
  %1435 = call ptr @__errno_location() #10
  %1436 = load i32, ptr %1435, align 4, !tbaa !5
  %1437 = call ptr @strerror(i32 noundef %1436) #9
  %1438 = call ptr @__errno_location() #10
  %1439 = load i32, ptr %1438, align 4, !tbaa !5
  %1440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1427, ptr noundef @.str.2, i32 noundef %1428, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 69, ptr noundef %1431, ptr noundef %1434, ptr noundef %1437, i32 noundef %1439) #9
  br label %1458

1441:                                             ; preds = %1419, %1412
  %1442 = load i32, ptr %30, align 4, !tbaa !5
  %1443 = call ptr @__errno_location() #10
  store i32 %1442, ptr %1443, align 4, !tbaa !5
  %1444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1445 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1447, ptr noundef @.str.4)
  %1449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1450 = load i32, ptr %1449, align 4, !tbaa !5
  %1451 = call ptr @s2n_strerror_debug(i32 noundef %1450, ptr noundef @.str.4)
  %1452 = call ptr @__errno_location() #10
  %1453 = load i32, ptr %1452, align 4, !tbaa !5
  %1454 = call ptr @strerror(i32 noundef %1453) #9
  %1455 = call ptr @__errno_location() #10
  %1456 = load i32, ptr %1455, align 4, !tbaa !5
  %1457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1444, ptr noundef @.str.5, i32 noundef %1445, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 69, ptr noundef %1448, ptr noundef %1451, ptr noundef %1454, i32 noundef %1456) #9
  br label %1458

1458:                                             ; preds = %1441, %1424
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #9
  br label %1459

1459:                                             ; preds = %1458
  br label %1460

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

1461:                                             ; No predecessors!
  br label %1462

1462:                                             ; preds = %1461
  br label %1463

1463:                                             ; preds = %1462, %1403
  br label %1464

1464:                                             ; preds = %1463
  br label %1465

1465:                                             ; preds = %1464
  br label %1466

1466:                                             ; preds = %1465
  %1467 = load i32, ptr @test_count, align 4, !tbaa !5
  %1468 = add nsw i32 %1467, 1
  store i32 %1468, ptr @test_count, align 4, !tbaa !5
  %1469 = load ptr, ptr %22, align 8, !tbaa !9
  %1470 = call i32 @s2n_config_enable_quic(ptr noundef %1469)
  %1471 = icmp eq i32 %1470, -1
  br i1 %1471, label %1472, label %1525

1472:                                             ; preds = %1466
  br label %1473

1473:                                             ; preds = %1472
  br label %1474

1474:                                             ; preds = %1473
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #9
  %1475 = call ptr @__errno_location() #10
  %1476 = load i32, ptr %1475, align 4, !tbaa !5
  store i32 %1476, ptr %31, align 4, !tbaa !5
  %1477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1478 = call i32 @s2n_print_stacktrace(ptr noundef %1477)
  %1479 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1480 = trunc i8 %1479 to i1
  br i1 %1480, label %1481, label %1503

1481:                                             ; preds = %1474
  %1482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1483 = call i32 @fileno(ptr noundef %1482) #9
  %1484 = call i32 @isatty(i32 noundef %1483) #9
  %1485 = icmp ne i32 %1484, 0
  br i1 %1485, label %1486, label %1503

1486:                                             ; preds = %1481
  %1487 = load i32, ptr %31, align 4, !tbaa !5
  %1488 = call ptr @__errno_location() #10
  store i32 %1487, ptr %1488, align 4, !tbaa !5
  %1489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1490 = load i32, ptr @test_count, align 4, !tbaa !5
  %1491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1492 = load i32, ptr %1491, align 4, !tbaa !5
  %1493 = call ptr @s2n_strerror(i32 noundef %1492, ptr noundef @.str.4)
  %1494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1495 = load i32, ptr %1494, align 4, !tbaa !5
  %1496 = call ptr @s2n_strerror_debug(i32 noundef %1495, ptr noundef @.str.4)
  %1497 = call ptr @__errno_location() #10
  %1498 = load i32, ptr %1497, align 4, !tbaa !5
  %1499 = call ptr @strerror(i32 noundef %1498) #9
  %1500 = call ptr @__errno_location() #10
  %1501 = load i32, ptr %1500, align 4, !tbaa !5
  %1502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1489, ptr noundef @.str.2, i32 noundef %1490, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 80, ptr noundef %1493, ptr noundef %1496, ptr noundef %1499, i32 noundef %1501) #9
  br label %1520

1503:                                             ; preds = %1481, %1474
  %1504 = load i32, ptr %31, align 4, !tbaa !5
  %1505 = call ptr @__errno_location() #10
  store i32 %1504, ptr %1505, align 4, !tbaa !5
  %1506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1507 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1509, ptr noundef @.str.4)
  %1511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1512 = load i32, ptr %1511, align 4, !tbaa !5
  %1513 = call ptr @s2n_strerror_debug(i32 noundef %1512, ptr noundef @.str.4)
  %1514 = call ptr @__errno_location() #10
  %1515 = load i32, ptr %1514, align 4, !tbaa !5
  %1516 = call ptr @strerror(i32 noundef %1515) #9
  %1517 = call ptr @__errno_location() #10
  %1518 = load i32, ptr %1517, align 4, !tbaa !5
  %1519 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1506, ptr noundef @.str.5, i32 noundef %1507, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 80, ptr noundef %1510, ptr noundef %1513, ptr noundef %1516, i32 noundef %1518) #9
  br label %1520

1520:                                             ; preds = %1503, %1486
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #9
  br label %1521

1521:                                             ; preds = %1520
  br label %1522

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

1523:                                             ; No predecessors!
  br label %1524

1524:                                             ; preds = %1523
  br label %1525

1525:                                             ; preds = %1524, %1466
  br label %1526

1526:                                             ; preds = %1525
  br label %1527

1527:                                             ; preds = %1526
  br label %1528

1528:                                             ; preds = %1527
  br label %1529

1529:                                             ; preds = %1528
  br label %1530

1530:                                             ; preds = %1529
  %1531 = load i32, ptr @test_count, align 4, !tbaa !5
  %1532 = add nsw i32 %1531, 1
  store i32 %1532, ptr @test_count, align 4, !tbaa !5
  %1533 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_quic_transport_parameters_extension, i32 0, i32 6), align 8, !tbaa !18
  %1534 = load ptr, ptr %24, align 8, !tbaa !9
  %1535 = call i32 %1533(ptr noundef %1534)
  %1536 = icmp eq i32 %1535, -1
  br i1 %1536, label %1590, label %1537

1537:                                             ; preds = %1530
  br label %1538

1538:                                             ; preds = %1537
  br label %1539

1539:                                             ; preds = %1538
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #9
  %1540 = call ptr @__errno_location() #10
  %1541 = load i32, ptr %1540, align 4, !tbaa !5
  store i32 %1541, ptr %32, align 4, !tbaa !5
  %1542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1543 = call i32 @s2n_print_stacktrace(ptr noundef %1542)
  %1544 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1545 = trunc i8 %1544 to i1
  br i1 %1545, label %1546, label %1568

1546:                                             ; preds = %1539
  %1547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1548 = call i32 @fileno(ptr noundef %1547) #9
  %1549 = call i32 @isatty(i32 noundef %1548) #9
  %1550 = icmp ne i32 %1549, 0
  br i1 %1550, label %1551, label %1568

1551:                                             ; preds = %1546
  %1552 = load i32, ptr %32, align 4, !tbaa !5
  %1553 = call ptr @__errno_location() #10
  store i32 %1552, ptr %1553, align 4, !tbaa !5
  %1554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1555 = load i32, ptr @test_count, align 4, !tbaa !5
  %1556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1557 = load i32, ptr %1556, align 4, !tbaa !5
  %1558 = call ptr @s2n_strerror(i32 noundef %1557, ptr noundef @.str.4)
  %1559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1560 = load i32, ptr %1559, align 4, !tbaa !5
  %1561 = call ptr @s2n_strerror_debug(i32 noundef %1560, ptr noundef @.str.4)
  %1562 = call ptr @__errno_location() #10
  %1563 = load i32, ptr %1562, align 4, !tbaa !5
  %1564 = call ptr @strerror(i32 noundef %1563) #9
  %1565 = call ptr @__errno_location() #10
  %1566 = load i32, ptr %1565, align 4, !tbaa !5
  %1567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1554, ptr noundef @.str.2, i32 noundef %1555, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 82, ptr noundef %1558, ptr noundef %1561, ptr noundef %1564, i32 noundef %1566) #9
  br label %1585

1568:                                             ; preds = %1546, %1539
  %1569 = load i32, ptr %32, align 4, !tbaa !5
  %1570 = call ptr @__errno_location() #10
  store i32 %1569, ptr %1570, align 4, !tbaa !5
  %1571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1572 = load i32, ptr @test_count, align 4, !tbaa !5
  %1573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1574 = load i32, ptr %1573, align 4, !tbaa !5
  %1575 = call ptr @s2n_strerror(i32 noundef %1574, ptr noundef @.str.4)
  %1576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1577 = load i32, ptr %1576, align 4, !tbaa !5
  %1578 = call ptr @s2n_strerror_debug(i32 noundef %1577, ptr noundef @.str.4)
  %1579 = call ptr @__errno_location() #10
  %1580 = load i32, ptr %1579, align 4, !tbaa !5
  %1581 = call ptr @strerror(i32 noundef %1580) #9
  %1582 = call ptr @__errno_location() #10
  %1583 = load i32, ptr %1582, align 4, !tbaa !5
  %1584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1571, ptr noundef @.str.5, i32 noundef %1572, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 82, ptr noundef %1575, ptr noundef %1578, ptr noundef %1581, i32 noundef %1583) #9
  br label %1585

1585:                                             ; preds = %1568, %1551
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #9
  br label %1586

1586:                                             ; preds = %1585
  br label %1587

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

1588:                                             ; No predecessors!
  br label %1589

1589:                                             ; preds = %1588
  br label %1590

1590:                                             ; preds = %1589, %1530
  br label %1591

1591:                                             ; preds = %1590
  br label %1592

1592:                                             ; preds = %1591
  br label %1593

1593:                                             ; preds = %1592
  %1594 = load i32, ptr @test_count, align 4, !tbaa !5
  %1595 = add nsw i32 %1594, 1
  store i32 %1595, ptr @test_count, align 4, !tbaa !5
  %1596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1597 = load i32, ptr %1596, align 4, !tbaa !5
  %1598 = icmp eq i32 %1597, 335544393
  br i1 %1598, label %1652, label %1599

1599:                                             ; preds = %1593
  br label %1600

1600:                                             ; preds = %1599
  br label %1601

1601:                                             ; preds = %1600
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #9
  %1602 = call ptr @__errno_location() #10
  %1603 = load i32, ptr %1602, align 4, !tbaa !5
  store i32 %1603, ptr %33, align 4, !tbaa !5
  %1604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1605 = call i32 @s2n_print_stacktrace(ptr noundef %1604)
  %1606 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1607 = trunc i8 %1606 to i1
  br i1 %1607, label %1608, label %1630

1608:                                             ; preds = %1601
  %1609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1610 = call i32 @fileno(ptr noundef %1609) #9
  %1611 = call i32 @isatty(i32 noundef %1610) #9
  %1612 = icmp ne i32 %1611, 0
  br i1 %1612, label %1613, label %1630

1613:                                             ; preds = %1608
  %1614 = load i32, ptr %33, align 4, !tbaa !5
  %1615 = call ptr @__errno_location() #10
  store i32 %1614, ptr %1615, align 4, !tbaa !5
  %1616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1617 = load i32, ptr @test_count, align 4, !tbaa !5
  %1618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1619 = load i32, ptr %1618, align 4, !tbaa !5
  %1620 = call ptr @s2n_strerror(i32 noundef %1619, ptr noundef @.str.4)
  %1621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1622 = load i32, ptr %1621, align 4, !tbaa !5
  %1623 = call ptr @s2n_strerror_debug(i32 noundef %1622, ptr noundef @.str.4)
  %1624 = call ptr @__errno_location() #10
  %1625 = load i32, ptr %1624, align 4, !tbaa !5
  %1626 = call ptr @strerror(i32 noundef %1625) #9
  %1627 = call ptr @__errno_location() #10
  %1628 = load i32, ptr %1627, align 4, !tbaa !5
  %1629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1616, ptr noundef @.str.2, i32 noundef %1617, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 82, ptr noundef %1620, ptr noundef %1623, ptr noundef %1626, i32 noundef %1628) #9
  br label %1647

1630:                                             ; preds = %1608, %1601
  %1631 = load i32, ptr %33, align 4, !tbaa !5
  %1632 = call ptr @__errno_location() #10
  store i32 %1631, ptr %1632, align 4, !tbaa !5
  %1633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1634 = load i32, ptr @test_count, align 4, !tbaa !5
  %1635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1636 = load i32, ptr %1635, align 4, !tbaa !5
  %1637 = call ptr @s2n_strerror(i32 noundef %1636, ptr noundef @.str.4)
  %1638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1639 = load i32, ptr %1638, align 4, !tbaa !5
  %1640 = call ptr @s2n_strerror_debug(i32 noundef %1639, ptr noundef @.str.4)
  %1641 = call ptr @__errno_location() #10
  %1642 = load i32, ptr %1641, align 4, !tbaa !5
  %1643 = call ptr @strerror(i32 noundef %1642) #9
  %1644 = call ptr @__errno_location() #10
  %1645 = load i32, ptr %1644, align 4, !tbaa !5
  %1646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1633, ptr noundef @.str.5, i32 noundef %1634, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 82, ptr noundef %1637, ptr noundef %1640, ptr noundef %1643, i32 noundef %1645) #9
  br label %1647

1647:                                             ; preds = %1630, %1613
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #9
  br label %1648

1648:                                             ; preds = %1647
  br label %1649

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

1650:                                             ; No predecessors!
  br label %1651

1651:                                             ; preds = %1650
  br label %1652

1652:                                             ; preds = %1651, %1593
  br label %1653

1653:                                             ; preds = %1652
  br label %1654

1654:                                             ; preds = %1653
  br label %1655

1655:                                             ; preds = %1654
  %1656 = load i32, ptr @test_count, align 4, !tbaa !5
  %1657 = add nsw i32 %1656, 1
  store i32 %1657, ptr @test_count, align 4, !tbaa !5
  %1658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1659 = load i32, ptr %1658, align 4, !tbaa !5
  %1660 = call ptr @s2n_strerror_debug(i32 noundef %1659, ptr noundef @.str.4)
  %1661 = icmp eq ptr %1660, null
  br i1 %1661, label %1662, label %1715

1662:                                             ; preds = %1655
  br label %1663

1663:                                             ; preds = %1662
  br label %1664

1664:                                             ; preds = %1663
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #9
  %1665 = call ptr @__errno_location() #10
  %1666 = load i32, ptr %1665, align 4, !tbaa !5
  store i32 %1666, ptr %34, align 4, !tbaa !5
  %1667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1668 = call i32 @s2n_print_stacktrace(ptr noundef %1667)
  %1669 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1670 = trunc i8 %1669 to i1
  br i1 %1670, label %1671, label %1693

1671:                                             ; preds = %1664
  %1672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1673 = call i32 @fileno(ptr noundef %1672) #9
  %1674 = call i32 @isatty(i32 noundef %1673) #9
  %1675 = icmp ne i32 %1674, 0
  br i1 %1675, label %1676, label %1693

1676:                                             ; preds = %1671
  %1677 = load i32, ptr %34, align 4, !tbaa !5
  %1678 = call ptr @__errno_location() #10
  store i32 %1677, ptr %1678, align 4, !tbaa !5
  %1679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1680 = load i32, ptr @test_count, align 4, !tbaa !5
  %1681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1682 = load i32, ptr %1681, align 4, !tbaa !5
  %1683 = call ptr @s2n_strerror(i32 noundef %1682, ptr noundef @.str.4)
  %1684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1685 = load i32, ptr %1684, align 4, !tbaa !5
  %1686 = call ptr @s2n_strerror_debug(i32 noundef %1685, ptr noundef @.str.4)
  %1687 = call ptr @__errno_location() #10
  %1688 = load i32, ptr %1687, align 4, !tbaa !5
  %1689 = call ptr @strerror(i32 noundef %1688) #9
  %1690 = call ptr @__errno_location() #10
  %1691 = load i32, ptr %1690, align 4, !tbaa !5
  %1692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1679, ptr noundef @.str.2, i32 noundef %1680, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 82, ptr noundef %1683, ptr noundef %1686, ptr noundef %1689, i32 noundef %1691) #9
  br label %1710

1693:                                             ; preds = %1671, %1664
  %1694 = load i32, ptr %34, align 4, !tbaa !5
  %1695 = call ptr @__errno_location() #10
  store i32 %1694, ptr %1695, align 4, !tbaa !5
  %1696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1697 = load i32, ptr @test_count, align 4, !tbaa !5
  %1698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1699 = load i32, ptr %1698, align 4, !tbaa !5
  %1700 = call ptr @s2n_strerror(i32 noundef %1699, ptr noundef @.str.4)
  %1701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1702 = load i32, ptr %1701, align 4, !tbaa !5
  %1703 = call ptr @s2n_strerror_debug(i32 noundef %1702, ptr noundef @.str.4)
  %1704 = call ptr @__errno_location() #10
  %1705 = load i32, ptr %1704, align 4, !tbaa !5
  %1706 = call ptr @strerror(i32 noundef %1705) #9
  %1707 = call ptr @__errno_location() #10
  %1708 = load i32, ptr %1707, align 4, !tbaa !5
  %1709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1696, ptr noundef @.str.5, i32 noundef %1697, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 82, ptr noundef %1700, ptr noundef %1703, ptr noundef %1706, i32 noundef %1708) #9
  br label %1710

1710:                                             ; preds = %1693, %1676
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #9
  br label %1711

1711:                                             ; preds = %1710
  br label %1712

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

1713:                                             ; No predecessors!
  br label %1714

1714:                                             ; preds = %1713
  br label %1715

1715:                                             ; preds = %1714, %1655
  br label %1716

1716:                                             ; preds = %1715
  br label %1717

1717:                                             ; preds = %1716
  br label %1718

1718:                                             ; preds = %1717
  br label %1719

1719:                                             ; preds = %1718
  call void @llvm.lifetime.start.p0(i64 1, ptr %35) #9
  store i8 0, ptr %35, align 1, !tbaa !19
  br label %1720

1720:                                             ; preds = %1719
  %1721 = load i32, ptr @test_count, align 4, !tbaa !5
  %1722 = add nsw i32 %1721, 1
  store i32 %1722, ptr @test_count, align 4, !tbaa !5
  %1723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1724 = load i32, ptr %1723, align 4, !tbaa !5
  %1725 = call i32 @s2n_error_get_alert(i32 noundef %1724, ptr noundef %35)
  %1726 = icmp eq i32 %1725, -1
  br i1 %1726, label %1727, label %1780

1727:                                             ; preds = %1720
  br label %1728

1728:                                             ; preds = %1727
  br label %1729

1729:                                             ; preds = %1728
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #9
  %1730 = call ptr @__errno_location() #10
  %1731 = load i32, ptr %1730, align 4, !tbaa !5
  store i32 %1731, ptr %36, align 4, !tbaa !5
  %1732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1733 = call i32 @s2n_print_stacktrace(ptr noundef %1732)
  %1734 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1735 = trunc i8 %1734 to i1
  br i1 %1735, label %1736, label %1758

1736:                                             ; preds = %1729
  %1737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1738 = call i32 @fileno(ptr noundef %1737) #9
  %1739 = call i32 @isatty(i32 noundef %1738) #9
  %1740 = icmp ne i32 %1739, 0
  br i1 %1740, label %1741, label %1758

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

1758:                                             ; preds = %1736, %1729
  %1759 = load i32, ptr %36, align 4, !tbaa !5
  %1760 = call ptr @__errno_location() #10
  store i32 %1759, ptr %1760, align 4, !tbaa !5
  %1761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1762 = load i32, ptr @test_count, align 4, !tbaa !5
  %1763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1764 = load i32, ptr %1763, align 4, !tbaa !5
  %1765 = call ptr @s2n_strerror(i32 noundef %1764, ptr noundef @.str.4)
  %1766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1767 = load i32, ptr %1766, align 4, !tbaa !5
  %1768 = call ptr @s2n_strerror_debug(i32 noundef %1767, ptr noundef @.str.4)
  %1769 = call ptr @__errno_location() #10
  %1770 = load i32, ptr %1769, align 4, !tbaa !5
  %1771 = call ptr @strerror(i32 noundef %1770) #9
  %1772 = call ptr @__errno_location() #10
  %1773 = load i32, ptr %1772, align 4, !tbaa !5
  %1774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1761, ptr noundef @.str.5, i32 noundef %1762, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 82, ptr noundef %1765, ptr noundef %1768, ptr noundef %1771, i32 noundef %1773) #9
  br label %1775

1775:                                             ; preds = %1758, %1741
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #9
  br label %1776

1776:                                             ; preds = %1775
  br label %1777

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

1778:                                             ; No predecessors!
  br label %1779

1779:                                             ; preds = %1778
  br label %1780

1780:                                             ; preds = %1779, %1720
  br label %1781

1781:                                             ; preds = %1780
  br label %1782

1782:                                             ; preds = %1781
  br label %1783

1783:                                             ; preds = %1782
  %1784 = load i32, ptr @test_count, align 4, !tbaa !5
  %1785 = add nsw i32 %1784, 1
  store i32 %1785, ptr @test_count, align 4, !tbaa !5
  %1786 = load i8, ptr %35, align 1, !tbaa !19
  %1787 = zext i8 %1786 to i32
  %1788 = icmp eq i32 %1787, 109
  br i1 %1788, label %1842, label %1789

1789:                                             ; preds = %1783
  br label %1790

1790:                                             ; preds = %1789
  br label %1791

1791:                                             ; preds = %1790
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #9
  %1792 = call ptr @__errno_location() #10
  %1793 = load i32, ptr %1792, align 4, !tbaa !5
  store i32 %1793, ptr %37, align 4, !tbaa !5
  %1794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1795 = call i32 @s2n_print_stacktrace(ptr noundef %1794)
  %1796 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1797 = trunc i8 %1796 to i1
  br i1 %1797, label %1798, label %1820

1798:                                             ; preds = %1791
  %1799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1800 = call i32 @fileno(ptr noundef %1799) #9
  %1801 = call i32 @isatty(i32 noundef %1800) #9
  %1802 = icmp ne i32 %1801, 0
  br i1 %1802, label %1803, label %1820

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

1820:                                             ; preds = %1798, %1791
  %1821 = load i32, ptr %37, align 4, !tbaa !5
  %1822 = call ptr @__errno_location() #10
  store i32 %1821, ptr %1822, align 4, !tbaa !5
  %1823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1824 = load i32, ptr @test_count, align 4, !tbaa !5
  %1825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1826 = load i32, ptr %1825, align 4, !tbaa !5
  %1827 = call ptr @s2n_strerror(i32 noundef %1826, ptr noundef @.str.4)
  %1828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1829 = load i32, ptr %1828, align 4, !tbaa !5
  %1830 = call ptr @s2n_strerror_debug(i32 noundef %1829, ptr noundef @.str.4)
  %1831 = call ptr @__errno_location() #10
  %1832 = load i32, ptr %1831, align 4, !tbaa !5
  %1833 = call ptr @strerror(i32 noundef %1832) #9
  %1834 = call ptr @__errno_location() #10
  %1835 = load i32, ptr %1834, align 4, !tbaa !5
  %1836 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1823, ptr noundef @.str.5, i32 noundef %1824, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 82, ptr noundef %1827, ptr noundef %1830, ptr noundef %1833, i32 noundef %1835) #9
  br label %1837

1837:                                             ; preds = %1820, %1803
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #9
  br label %1838

1838:                                             ; preds = %1837
  br label %1839

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

1840:                                             ; No predecessors!
  br label %1841

1841:                                             ; preds = %1840
  br label %1842

1842:                                             ; preds = %1841, %1783
  br label %1843

1843:                                             ; preds = %1842
  br label %1844

1844:                                             ; preds = %1843
  br label %1845

1845:                                             ; preds = %1844
  %1846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1846, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1847 = call ptr @__errno_location() #10
  store i32 0, ptr %1847, align 4, !tbaa !5
  br label %1848

1848:                                             ; preds = %1845
  br label %1849

1849:                                             ; preds = %1848
  call void @llvm.lifetime.end.p0(i64 1, ptr %35) #9
  br label %1850

1850:                                             ; preds = %1849
  br label %1851

1851:                                             ; preds = %1850
  br label %1852

1852:                                             ; preds = %1851
  %1853 = load i32, ptr @test_count, align 4, !tbaa !5
  %1854 = add nsw i32 %1853, 1
  store i32 %1854, ptr @test_count, align 4, !tbaa !5
  %1855 = load ptr, ptr %24, align 8, !tbaa !9
  %1856 = call i32 @s2n_connection_free(ptr noundef %1855)
  %1857 = icmp eq i32 %1856, -1
  br i1 %1857, label %1858, label %1911

1858:                                             ; preds = %1852
  br label %1859

1859:                                             ; preds = %1858
  br label %1860

1860:                                             ; preds = %1859
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #9
  %1861 = call ptr @__errno_location() #10
  %1862 = load i32, ptr %1861, align 4, !tbaa !5
  store i32 %1862, ptr %38, align 4, !tbaa !5
  %1863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1864 = call i32 @s2n_print_stacktrace(ptr noundef %1863)
  %1865 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1866 = trunc i8 %1865 to i1
  br i1 %1866, label %1867, label %1889

1867:                                             ; preds = %1860
  %1868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1869 = call i32 @fileno(ptr noundef %1868) #9
  %1870 = call i32 @isatty(i32 noundef %1869) #9
  %1871 = icmp ne i32 %1870, 0
  br i1 %1871, label %1872, label %1889

1872:                                             ; preds = %1867
  %1873 = load i32, ptr %38, align 4, !tbaa !5
  %1874 = call ptr @__errno_location() #10
  store i32 %1873, ptr %1874, align 4, !tbaa !5
  %1875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1876 = load i32, ptr @test_count, align 4, !tbaa !5
  %1877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1878 = load i32, ptr %1877, align 4, !tbaa !5
  %1879 = call ptr @s2n_strerror(i32 noundef %1878, ptr noundef @.str.4)
  %1880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1881 = load i32, ptr %1880, align 4, !tbaa !5
  %1882 = call ptr @s2n_strerror_debug(i32 noundef %1881, ptr noundef @.str.4)
  %1883 = call ptr @__errno_location() #10
  %1884 = load i32, ptr %1883, align 4, !tbaa !5
  %1885 = call ptr @strerror(i32 noundef %1884) #9
  %1886 = call ptr @__errno_location() #10
  %1887 = load i32, ptr %1886, align 4, !tbaa !5
  %1888 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1875, ptr noundef @.str.2, i32 noundef %1876, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 84, ptr noundef %1879, ptr noundef %1882, ptr noundef %1885, i32 noundef %1887) #9
  br label %1906

1889:                                             ; preds = %1867, %1860
  %1890 = load i32, ptr %38, align 4, !tbaa !5
  %1891 = call ptr @__errno_location() #10
  store i32 %1890, ptr %1891, align 4, !tbaa !5
  %1892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1893 = load i32, ptr @test_count, align 4, !tbaa !5
  %1894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1895 = load i32, ptr %1894, align 4, !tbaa !5
  %1896 = call ptr @s2n_strerror(i32 noundef %1895, ptr noundef @.str.4)
  %1897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1898 = load i32, ptr %1897, align 4, !tbaa !5
  %1899 = call ptr @s2n_strerror_debug(i32 noundef %1898, ptr noundef @.str.4)
  %1900 = call ptr @__errno_location() #10
  %1901 = load i32, ptr %1900, align 4, !tbaa !5
  %1902 = call ptr @strerror(i32 noundef %1901) #9
  %1903 = call ptr @__errno_location() #10
  %1904 = load i32, ptr %1903, align 4, !tbaa !5
  %1905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1892, ptr noundef @.str.5, i32 noundef %1893, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 84, ptr noundef %1896, ptr noundef %1899, ptr noundef %1902, i32 noundef %1904) #9
  br label %1906

1906:                                             ; preds = %1889, %1872
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #9
  br label %1907

1907:                                             ; preds = %1906
  br label %1908

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

1909:                                             ; No predecessors!
  br label %1910

1910:                                             ; preds = %1909
  br label %1911

1911:                                             ; preds = %1910, %1852
  br label %1912

1912:                                             ; preds = %1911
  br label %1913

1913:                                             ; preds = %1912
  br label %1914

1914:                                             ; preds = %1913
  %1915 = load i32, ptr @test_count, align 4, !tbaa !5
  %1916 = add nsw i32 %1915, 1
  store i32 %1916, ptr @test_count, align 4, !tbaa !5
  %1917 = load ptr, ptr %22, align 8, !tbaa !9
  %1918 = call i32 @s2n_config_free(ptr noundef %1917)
  %1919 = icmp eq i32 %1918, -1
  br i1 %1919, label %1920, label %1973

1920:                                             ; preds = %1914
  br label %1921

1921:                                             ; preds = %1920
  br label %1922

1922:                                             ; preds = %1921
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #9
  %1923 = call ptr @__errno_location() #10
  %1924 = load i32, ptr %1923, align 4, !tbaa !5
  store i32 %1924, ptr %39, align 4, !tbaa !5
  %1925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1926 = call i32 @s2n_print_stacktrace(ptr noundef %1925)
  %1927 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1928 = trunc i8 %1927 to i1
  br i1 %1928, label %1929, label %1951

1929:                                             ; preds = %1922
  %1930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1931 = call i32 @fileno(ptr noundef %1930) #9
  %1932 = call i32 @isatty(i32 noundef %1931) #9
  %1933 = icmp ne i32 %1932, 0
  br i1 %1933, label %1934, label %1951

1934:                                             ; preds = %1929
  %1935 = load i32, ptr %39, align 4, !tbaa !5
  %1936 = call ptr @__errno_location() #10
  store i32 %1935, ptr %1936, align 4, !tbaa !5
  %1937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1938 = load i32, ptr @test_count, align 4, !tbaa !5
  %1939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1940 = load i32, ptr %1939, align 4, !tbaa !5
  %1941 = call ptr @s2n_strerror(i32 noundef %1940, ptr noundef @.str.4)
  %1942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1943 = load i32, ptr %1942, align 4, !tbaa !5
  %1944 = call ptr @s2n_strerror_debug(i32 noundef %1943, ptr noundef @.str.4)
  %1945 = call ptr @__errno_location() #10
  %1946 = load i32, ptr %1945, align 4, !tbaa !5
  %1947 = call ptr @strerror(i32 noundef %1946) #9
  %1948 = call ptr @__errno_location() #10
  %1949 = load i32, ptr %1948, align 4, !tbaa !5
  %1950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1937, ptr noundef @.str.2, i32 noundef %1938, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 85, ptr noundef %1941, ptr noundef %1944, ptr noundef %1947, i32 noundef %1949) #9
  br label %1968

1951:                                             ; preds = %1929, %1922
  %1952 = load i32, ptr %39, align 4, !tbaa !5
  %1953 = call ptr @__errno_location() #10
  store i32 %1952, ptr %1953, align 4, !tbaa !5
  %1954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1955 = load i32, ptr @test_count, align 4, !tbaa !5
  %1956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1957 = load i32, ptr %1956, align 4, !tbaa !5
  %1958 = call ptr @s2n_strerror(i32 noundef %1957, ptr noundef @.str.4)
  %1959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1960 = load i32, ptr %1959, align 4, !tbaa !5
  %1961 = call ptr @s2n_strerror_debug(i32 noundef %1960, ptr noundef @.str.4)
  %1962 = call ptr @__errno_location() #10
  %1963 = load i32, ptr %1962, align 4, !tbaa !5
  %1964 = call ptr @strerror(i32 noundef %1963) #9
  %1965 = call ptr @__errno_location() #10
  %1966 = load i32, ptr %1965, align 4, !tbaa !5
  %1967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1954, ptr noundef @.str.5, i32 noundef %1955, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 85, ptr noundef %1958, ptr noundef %1961, ptr noundef %1964, i32 noundef %1966) #9
  br label %1968

1968:                                             ; preds = %1951, %1934
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #9
  br label %1969

1969:                                             ; preds = %1968
  br label %1970

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

1971:                                             ; No predecessors!
  br label %1972

1972:                                             ; preds = %1971
  br label %1973

1973:                                             ; preds = %1972, %1914
  br label %1974

1974:                                             ; preds = %1973
  br label %1975

1975:                                             ; preds = %1974
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #9
  call void @llvm.lifetime.start.p0(i64 40, ptr %40) #9
  call void @llvm.memset.p0.i64(ptr align 8 %40, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #9
  store ptr null, ptr %41, align 8, !tbaa !9
  br label %1976

1976:                                             ; preds = %1975
  %1977 = load i32, ptr @test_count, align 4, !tbaa !5
  %1978 = add nsw i32 %1977, 1
  store i32 %1978, ptr @test_count, align 4, !tbaa !5
  %1979 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %1979, ptr %41, align 8, !tbaa !9
  %1980 = icmp eq ptr %1979, null
  br i1 %1980, label %1981, label %2034

1981:                                             ; preds = %1976
  br label %1982

1982:                                             ; preds = %1981
  br label %1983

1983:                                             ; preds = %1982
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #9
  %1984 = call ptr @__errno_location() #10
  %1985 = load i32, ptr %1984, align 4, !tbaa !5
  store i32 %1985, ptr %42, align 4, !tbaa !5
  %1986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1987 = call i32 @s2n_print_stacktrace(ptr noundef %1986)
  %1988 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1989 = trunc i8 %1988 to i1
  br i1 %1989, label %1990, label %2012

1990:                                             ; preds = %1983
  %1991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1992 = call i32 @fileno(ptr noundef %1991) #9
  %1993 = call i32 @isatty(i32 noundef %1992) #9
  %1994 = icmp ne i32 %1993, 0
  br i1 %1994, label %1995, label %2012

1995:                                             ; preds = %1990
  %1996 = load i32, ptr %42, align 4, !tbaa !5
  %1997 = call ptr @__errno_location() #10
  store i32 %1996, ptr %1997, align 4, !tbaa !5
  %1998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1999 = load i32, ptr @test_count, align 4, !tbaa !5
  %2000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2001 = load i32, ptr %2000, align 4, !tbaa !5
  %2002 = call ptr @s2n_strerror(i32 noundef %2001, ptr noundef @.str.4)
  %2003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2004 = load i32, ptr %2003, align 4, !tbaa !5
  %2005 = call ptr @s2n_strerror_debug(i32 noundef %2004, ptr noundef @.str.4)
  %2006 = call ptr @__errno_location() #10
  %2007 = load i32, ptr %2006, align 4, !tbaa !5
  %2008 = call ptr @strerror(i32 noundef %2007) #9
  %2009 = call ptr @__errno_location() #10
  %2010 = load i32, ptr %2009, align 4, !tbaa !5
  %2011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1998, ptr noundef @.str.2, i32 noundef %1999, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 95, ptr noundef %2002, ptr noundef %2005, ptr noundef %2008, i32 noundef %2010) #9
  br label %2029

2012:                                             ; preds = %1990, %1983
  %2013 = load i32, ptr %42, align 4, !tbaa !5
  %2014 = call ptr @__errno_location() #10
  store i32 %2013, ptr %2014, align 4, !tbaa !5
  %2015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2016 = load i32, ptr @test_count, align 4, !tbaa !5
  %2017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2018 = load i32, ptr %2017, align 4, !tbaa !5
  %2019 = call ptr @s2n_strerror(i32 noundef %2018, ptr noundef @.str.4)
  %2020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2021 = load i32, ptr %2020, align 4, !tbaa !5
  %2022 = call ptr @s2n_strerror_debug(i32 noundef %2021, ptr noundef @.str.4)
  %2023 = call ptr @__errno_location() #10
  %2024 = load i32, ptr %2023, align 4, !tbaa !5
  %2025 = call ptr @strerror(i32 noundef %2024) #9
  %2026 = call ptr @__errno_location() #10
  %2027 = load i32, ptr %2026, align 4, !tbaa !5
  %2028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2015, ptr noundef @.str.5, i32 noundef %2016, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 95, ptr noundef %2019, ptr noundef %2022, ptr noundef %2025, i32 noundef %2027) #9
  br label %2029

2029:                                             ; preds = %2012, %1995
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #9
  br label %2030

2030:                                             ; preds = %2029
  br label %2031

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

2032:                                             ; No predecessors!
  br label %2033

2033:                                             ; preds = %2032
  br label %2034

2034:                                             ; preds = %2033, %1976
  br label %2035

2035:                                             ; preds = %2034
  br label %2036

2036:                                             ; preds = %2035
  br label %2037

2037:                                             ; preds = %2036
  br label %2038

2038:                                             ; preds = %2037
  br label %2039

2039:                                             ; preds = %2038
  %2040 = load i32, ptr @test_count, align 4, !tbaa !5
  %2041 = add nsw i32 %2040, 1
  store i32 %2041, ptr @test_count, align 4, !tbaa !5
  %2042 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_quic_transport_parameters_extension, i32 0, i32 3), align 8, !tbaa !20
  %2043 = call i32 %2042(ptr noundef null, ptr noundef %40)
  %2044 = icmp eq i32 %2043, -1
  br i1 %2044, label %2098, label %2045

2045:                                             ; preds = %2039
  br label %2046

2046:                                             ; preds = %2045
  br label %2047

2047:                                             ; preds = %2046
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #9
  %2048 = call ptr @__errno_location() #10
  %2049 = load i32, ptr %2048, align 4, !tbaa !5
  store i32 %2049, ptr %43, align 4, !tbaa !5
  %2050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2051 = call i32 @s2n_print_stacktrace(ptr noundef %2050)
  %2052 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2053 = trunc i8 %2052 to i1
  br i1 %2053, label %2054, label %2076

2054:                                             ; preds = %2047
  %2055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2056 = call i32 @fileno(ptr noundef %2055) #9
  %2057 = call i32 @isatty(i32 noundef %2056) #9
  %2058 = icmp ne i32 %2057, 0
  br i1 %2058, label %2059, label %2076

2059:                                             ; preds = %2054
  %2060 = load i32, ptr %43, align 4, !tbaa !5
  %2061 = call ptr @__errno_location() #10
  store i32 %2060, ptr %2061, align 4, !tbaa !5
  %2062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2063 = load i32, ptr @test_count, align 4, !tbaa !5
  %2064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2065 = load i32, ptr %2064, align 4, !tbaa !5
  %2066 = call ptr @s2n_strerror(i32 noundef %2065, ptr noundef @.str.4)
  %2067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2068 = load i32, ptr %2067, align 4, !tbaa !5
  %2069 = call ptr @s2n_strerror_debug(i32 noundef %2068, ptr noundef @.str.4)
  %2070 = call ptr @__errno_location() #10
  %2071 = load i32, ptr %2070, align 4, !tbaa !5
  %2072 = call ptr @strerror(i32 noundef %2071) #9
  %2073 = call ptr @__errno_location() #10
  %2074 = load i32, ptr %2073, align 4, !tbaa !5
  %2075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2062, ptr noundef @.str.2, i32 noundef %2063, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 97, ptr noundef %2066, ptr noundef %2069, ptr noundef %2072, i32 noundef %2074) #9
  br label %2093

2076:                                             ; preds = %2054, %2047
  %2077 = load i32, ptr %43, align 4, !tbaa !5
  %2078 = call ptr @__errno_location() #10
  store i32 %2077, ptr %2078, align 4, !tbaa !5
  %2079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2080 = load i32, ptr @test_count, align 4, !tbaa !5
  %2081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2082 = load i32, ptr %2081, align 4, !tbaa !5
  %2083 = call ptr @s2n_strerror(i32 noundef %2082, ptr noundef @.str.4)
  %2084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2085 = load i32, ptr %2084, align 4, !tbaa !5
  %2086 = call ptr @s2n_strerror_debug(i32 noundef %2085, ptr noundef @.str.4)
  %2087 = call ptr @__errno_location() #10
  %2088 = load i32, ptr %2087, align 4, !tbaa !5
  %2089 = call ptr @strerror(i32 noundef %2088) #9
  %2090 = call ptr @__errno_location() #10
  %2091 = load i32, ptr %2090, align 4, !tbaa !5
  %2092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2079, ptr noundef @.str.5, i32 noundef %2080, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 97, ptr noundef %2083, ptr noundef %2086, ptr noundef %2089, i32 noundef %2091) #9
  br label %2093

2093:                                             ; preds = %2076, %2059
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #9
  br label %2094

2094:                                             ; preds = %2093
  br label %2095

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

2096:                                             ; No predecessors!
  br label %2097

2097:                                             ; preds = %2096
  br label %2098

2098:                                             ; preds = %2097, %2039
  br label %2099

2099:                                             ; preds = %2098
  br label %2100

2100:                                             ; preds = %2099
  br label %2101

2101:                                             ; preds = %2100
  %2102 = load i32, ptr @test_count, align 4, !tbaa !5
  %2103 = add nsw i32 %2102, 1
  store i32 %2103, ptr @test_count, align 4, !tbaa !5
  %2104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2105 = load i32, ptr %2104, align 4, !tbaa !5
  %2106 = icmp eq i32 %2105, 402653193
  br i1 %2106, label %2160, label %2107

2107:                                             ; preds = %2101
  br label %2108

2108:                                             ; preds = %2107
  br label %2109

2109:                                             ; preds = %2108
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #9
  %2110 = call ptr @__errno_location() #10
  %2111 = load i32, ptr %2110, align 4, !tbaa !5
  store i32 %2111, ptr %44, align 4, !tbaa !5
  %2112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2113 = call i32 @s2n_print_stacktrace(ptr noundef %2112)
  %2114 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2115 = trunc i8 %2114 to i1
  br i1 %2115, label %2116, label %2138

2116:                                             ; preds = %2109
  %2117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2118 = call i32 @fileno(ptr noundef %2117) #9
  %2119 = call i32 @isatty(i32 noundef %2118) #9
  %2120 = icmp ne i32 %2119, 0
  br i1 %2120, label %2121, label %2138

2121:                                             ; preds = %2116
  %2122 = load i32, ptr %44, align 4, !tbaa !5
  %2123 = call ptr @__errno_location() #10
  store i32 %2122, ptr %2123, align 4, !tbaa !5
  %2124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2125 = load i32, ptr @test_count, align 4, !tbaa !5
  %2126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2127 = load i32, ptr %2126, align 4, !tbaa !5
  %2128 = call ptr @s2n_strerror(i32 noundef %2127, ptr noundef @.str.4)
  %2129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2130 = load i32, ptr %2129, align 4, !tbaa !5
  %2131 = call ptr @s2n_strerror_debug(i32 noundef %2130, ptr noundef @.str.4)
  %2132 = call ptr @__errno_location() #10
  %2133 = load i32, ptr %2132, align 4, !tbaa !5
  %2134 = call ptr @strerror(i32 noundef %2133) #9
  %2135 = call ptr @__errno_location() #10
  %2136 = load i32, ptr %2135, align 4, !tbaa !5
  %2137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2124, ptr noundef @.str.2, i32 noundef %2125, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 97, ptr noundef %2128, ptr noundef %2131, ptr noundef %2134, i32 noundef %2136) #9
  br label %2155

2138:                                             ; preds = %2116, %2109
  %2139 = load i32, ptr %44, align 4, !tbaa !5
  %2140 = call ptr @__errno_location() #10
  store i32 %2139, ptr %2140, align 4, !tbaa !5
  %2141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2142 = load i32, ptr @test_count, align 4, !tbaa !5
  %2143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2144 = load i32, ptr %2143, align 4, !tbaa !5
  %2145 = call ptr @s2n_strerror(i32 noundef %2144, ptr noundef @.str.4)
  %2146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2147 = load i32, ptr %2146, align 4, !tbaa !5
  %2148 = call ptr @s2n_strerror_debug(i32 noundef %2147, ptr noundef @.str.4)
  %2149 = call ptr @__errno_location() #10
  %2150 = load i32, ptr %2149, align 4, !tbaa !5
  %2151 = call ptr @strerror(i32 noundef %2150) #9
  %2152 = call ptr @__errno_location() #10
  %2153 = load i32, ptr %2152, align 4, !tbaa !5
  %2154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2141, ptr noundef @.str.5, i32 noundef %2142, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 97, ptr noundef %2145, ptr noundef %2148, ptr noundef %2151, i32 noundef %2153) #9
  br label %2155

2155:                                             ; preds = %2138, %2121
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #9
  br label %2156

2156:                                             ; preds = %2155
  br label %2157

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

2158:                                             ; No predecessors!
  br label %2159

2159:                                             ; preds = %2158
  br label %2160

2160:                                             ; preds = %2159, %2101
  br label %2161

2161:                                             ; preds = %2160
  br label %2162

2162:                                             ; preds = %2161
  br label %2163

2163:                                             ; preds = %2162
  %2164 = load i32, ptr @test_count, align 4, !tbaa !5
  %2165 = add nsw i32 %2164, 1
  store i32 %2165, ptr @test_count, align 4, !tbaa !5
  %2166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2167 = load i32, ptr %2166, align 4, !tbaa !5
  %2168 = call ptr @s2n_strerror_debug(i32 noundef %2167, ptr noundef @.str.4)
  %2169 = icmp eq ptr %2168, null
  br i1 %2169, label %2170, label %2223

2170:                                             ; preds = %2163
  br label %2171

2171:                                             ; preds = %2170
  br label %2172

2172:                                             ; preds = %2171
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #9
  %2173 = call ptr @__errno_location() #10
  %2174 = load i32, ptr %2173, align 4, !tbaa !5
  store i32 %2174, ptr %45, align 4, !tbaa !5
  %2175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2176 = call i32 @s2n_print_stacktrace(ptr noundef %2175)
  %2177 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2178 = trunc i8 %2177 to i1
  br i1 %2178, label %2179, label %2201

2179:                                             ; preds = %2172
  %2180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2181 = call i32 @fileno(ptr noundef %2180) #9
  %2182 = call i32 @isatty(i32 noundef %2181) #9
  %2183 = icmp ne i32 %2182, 0
  br i1 %2183, label %2184, label %2201

2184:                                             ; preds = %2179
  %2185 = load i32, ptr %45, align 4, !tbaa !5
  %2186 = call ptr @__errno_location() #10
  store i32 %2185, ptr %2186, align 4, !tbaa !5
  %2187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2188 = load i32, ptr @test_count, align 4, !tbaa !5
  %2189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2190 = load i32, ptr %2189, align 4, !tbaa !5
  %2191 = call ptr @s2n_strerror(i32 noundef %2190, ptr noundef @.str.4)
  %2192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2193 = load i32, ptr %2192, align 4, !tbaa !5
  %2194 = call ptr @s2n_strerror_debug(i32 noundef %2193, ptr noundef @.str.4)
  %2195 = call ptr @__errno_location() #10
  %2196 = load i32, ptr %2195, align 4, !tbaa !5
  %2197 = call ptr @strerror(i32 noundef %2196) #9
  %2198 = call ptr @__errno_location() #10
  %2199 = load i32, ptr %2198, align 4, !tbaa !5
  %2200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2187, ptr noundef @.str.2, i32 noundef %2188, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 97, ptr noundef %2191, ptr noundef %2194, ptr noundef %2197, i32 noundef %2199) #9
  br label %2218

2201:                                             ; preds = %2179, %2172
  %2202 = load i32, ptr %45, align 4, !tbaa !5
  %2203 = call ptr @__errno_location() #10
  store i32 %2202, ptr %2203, align 4, !tbaa !5
  %2204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2205 = load i32, ptr @test_count, align 4, !tbaa !5
  %2206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2207 = load i32, ptr %2206, align 4, !tbaa !5
  %2208 = call ptr @s2n_strerror(i32 noundef %2207, ptr noundef @.str.4)
  %2209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2210 = load i32, ptr %2209, align 4, !tbaa !5
  %2211 = call ptr @s2n_strerror_debug(i32 noundef %2210, ptr noundef @.str.4)
  %2212 = call ptr @__errno_location() #10
  %2213 = load i32, ptr %2212, align 4, !tbaa !5
  %2214 = call ptr @strerror(i32 noundef %2213) #9
  %2215 = call ptr @__errno_location() #10
  %2216 = load i32, ptr %2215, align 4, !tbaa !5
  %2217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2204, ptr noundef @.str.5, i32 noundef %2205, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 97, ptr noundef %2208, ptr noundef %2211, ptr noundef %2214, i32 noundef %2216) #9
  br label %2218

2218:                                             ; preds = %2201, %2184
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #9
  br label %2219

2219:                                             ; preds = %2218
  br label %2220

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

2221:                                             ; No predecessors!
  br label %2222

2222:                                             ; preds = %2221
  br label %2223

2223:                                             ; preds = %2222, %2163
  br label %2224

2224:                                             ; preds = %2223
  br label %2225

2225:                                             ; preds = %2224
  br label %2226

2226:                                             ; preds = %2225
  br label %2227

2227:                                             ; preds = %2226
  br label %2228

2228:                                             ; preds = %2227
  %2229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2229, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2230 = call ptr @__errno_location() #10
  store i32 0, ptr %2230, align 4, !tbaa !5
  br label %2231

2231:                                             ; preds = %2228
  br label %2232

2232:                                             ; preds = %2231
  br label %2233

2233:                                             ; preds = %2232
  br label %2234

2234:                                             ; preds = %2233
  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 getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_quic_transport_parameters_extension, i32 0, i32 3), align 8, !tbaa !20
  %2241 = load ptr, ptr %41, align 8, !tbaa !9
  %2242 = call i32 %2240(ptr noundef %2241, ptr noundef null)
  %2243 = icmp eq i32 %2242, -1
  br i1 %2243, label %2297, label %2244

2244:                                             ; preds = %2237
  br label %2245

2245:                                             ; preds = %2244
  br label %2246

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

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

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

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

2292:                                             ; preds = %2275, %2258
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #9
  br label %2293

2293:                                             ; preds = %2292
  br label %2294

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

2295:                                             ; No predecessors!
  br label %2296

2296:                                             ; preds = %2295
  br label %2297

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

2298:                                             ; preds = %2297
  br label %2299

2299:                                             ; preds = %2298
  br label %2300

2300:                                             ; preds = %2299
  %2301 = load i32, ptr @test_count, align 4, !tbaa !5
  %2302 = add nsw i32 %2301, 1
  store i32 %2302, ptr @test_count, align 4, !tbaa !5
  %2303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2304 = load i32, ptr %2303, align 4, !tbaa !5
  %2305 = icmp eq i32 %2304, 402653193
  br i1 %2305, label %2359, label %2306

2306:                                             ; preds = %2300
  br label %2307

2307:                                             ; preds = %2306
  br label %2308

2308:                                             ; preds = %2307
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #9
  %2309 = call ptr @__errno_location() #10
  %2310 = load i32, ptr %2309, align 4, !tbaa !5
  store i32 %2310, ptr %47, 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) #9
  %2318 = call i32 @isatty(i32 noundef %2317) #9
  %2319 = icmp ne i32 %2318, 0
  br i1 %2319, label %2320, label %2337

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

2337:                                             ; preds = %2315, %2308
  %2338 = load i32, ptr %47, align 4, !tbaa !5
  %2339 = call ptr @__errno_location() #10
  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() #10
  %2349 = load i32, ptr %2348, align 4, !tbaa !5
  %2350 = call ptr @strerror(i32 noundef %2349) #9
  %2351 = call ptr @__errno_location() #10
  %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.24, ptr noundef @.str.1, i32 noundef 98, ptr noundef %2344, ptr noundef %2347, ptr noundef %2350, i32 noundef %2352) #9
  br label %2354

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

2355:                                             ; preds = %2354
  br label %2356

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

2357:                                             ; No predecessors!
  br label %2358

2358:                                             ; preds = %2357
  br label %2359

2359:                                             ; preds = %2358, %2300
  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 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2366 = load i32, ptr %2365, align 4, !tbaa !5
  %2367 = call ptr @s2n_strerror_debug(i32 noundef %2366, ptr noundef @.str.4)
  %2368 = icmp eq ptr %2367, null
  br i1 %2368, label %2369, label %2422

2369:                                             ; preds = %2362
  br label %2370

2370:                                             ; preds = %2369
  br label %2371

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

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

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

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

2417:                                             ; preds = %2400, %2383
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #9
  br label %2418

2418:                                             ; preds = %2417
  br label %2419

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

2420:                                             ; No predecessors!
  br label %2421

2421:                                             ; preds = %2420
  br label %2422

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

2423:                                             ; preds = %2422
  br label %2424

2424:                                             ; preds = %2423
  br label %2425

2425:                                             ; preds = %2424
  br label %2426

2426:                                             ; preds = %2425
  br label %2427

2427:                                             ; preds = %2426
  %2428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2428, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2429 = call ptr @__errno_location() #10
  store i32 0, ptr %2429, align 4, !tbaa !5
  br label %2430

2430:                                             ; preds = %2427
  br label %2431

2431:                                             ; preds = %2430
  br label %2432

2432:                                             ; preds = %2431
  br label %2433

2433:                                             ; preds = %2432
  br label %2434

2434:                                             ; preds = %2433
  %2435 = load i32, ptr @test_count, align 4, !tbaa !5
  %2436 = add nsw i32 %2435, 1
  store i32 %2436, ptr @test_count, align 4, !tbaa !5
  %2437 = load ptr, ptr %41, align 8, !tbaa !9
  %2438 = call i32 @s2n_connection_free(ptr noundef %2437)
  %2439 = icmp eq i32 %2438, -1
  br i1 %2439, label %2440, label %2493

2440:                                             ; preds = %2434
  br label %2441

2441:                                             ; preds = %2440
  br label %2442

2442:                                             ; preds = %2441
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #9
  %2443 = call ptr @__errno_location() #10
  %2444 = load i32, ptr %2443, align 4, !tbaa !5
  store i32 %2444, ptr %49, align 4, !tbaa !5
  %2445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2446 = call i32 @s2n_print_stacktrace(ptr noundef %2445)
  %2447 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2448 = trunc i8 %2447 to i1
  br i1 %2448, label %2449, label %2471

2449:                                             ; preds = %2442
  %2450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2451 = call i32 @fileno(ptr noundef %2450) #9
  %2452 = call i32 @isatty(i32 noundef %2451) #9
  %2453 = icmp ne i32 %2452, 0
  br i1 %2453, label %2454, label %2471

2454:                                             ; preds = %2449
  %2455 = load i32, ptr %49, align 4, !tbaa !5
  %2456 = call ptr @__errno_location() #10
  store i32 %2455, ptr %2456, align 4, !tbaa !5
  %2457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2458 = load i32, ptr @test_count, align 4, !tbaa !5
  %2459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2460 = load i32, ptr %2459, align 4, !tbaa !5
  %2461 = call ptr @s2n_strerror(i32 noundef %2460, ptr noundef @.str.4)
  %2462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2463 = load i32, ptr %2462, align 4, !tbaa !5
  %2464 = call ptr @s2n_strerror_debug(i32 noundef %2463, ptr noundef @.str.4)
  %2465 = call ptr @__errno_location() #10
  %2466 = load i32, ptr %2465, align 4, !tbaa !5
  %2467 = call ptr @strerror(i32 noundef %2466) #9
  %2468 = call ptr @__errno_location() #10
  %2469 = load i32, ptr %2468, align 4, !tbaa !5
  %2470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2457, ptr noundef @.str.2, i32 noundef %2458, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 100, ptr noundef %2461, ptr noundef %2464, ptr noundef %2467, i32 noundef %2469) #9
  br label %2488

2471:                                             ; preds = %2449, %2442
  %2472 = load i32, ptr %49, align 4, !tbaa !5
  %2473 = call ptr @__errno_location() #10
  store i32 %2472, ptr %2473, align 4, !tbaa !5
  %2474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2475 = load i32, ptr @test_count, align 4, !tbaa !5
  %2476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2477 = load i32, ptr %2476, align 4, !tbaa !5
  %2478 = call ptr @s2n_strerror(i32 noundef %2477, ptr noundef @.str.4)
  %2479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2480 = load i32, ptr %2479, align 4, !tbaa !5
  %2481 = call ptr @s2n_strerror_debug(i32 noundef %2480, ptr noundef @.str.4)
  %2482 = call ptr @__errno_location() #10
  %2483 = load i32, ptr %2482, align 4, !tbaa !5
  %2484 = call ptr @strerror(i32 noundef %2483) #9
  %2485 = call ptr @__errno_location() #10
  %2486 = load i32, ptr %2485, align 4, !tbaa !5
  %2487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2474, ptr noundef @.str.5, i32 noundef %2475, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 100, ptr noundef %2478, ptr noundef %2481, ptr noundef %2484, i32 noundef %2486) #9
  br label %2488

2488:                                             ; preds = %2471, %2454
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #9
  br label %2489

2489:                                             ; preds = %2488
  br label %2490

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

2491:                                             ; No predecessors!
  br label %2492

2492:                                             ; preds = %2491
  br label %2493

2493:                                             ; preds = %2492, %2434
  br label %2494

2494:                                             ; preds = %2493
  br label %2495

2495:                                             ; preds = %2494
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #9
  call void @llvm.lifetime.end.p0(i64 40, ptr %40) #9
  call void @llvm.lifetime.start.p0(i64 40, ptr %50) #9
  call void @llvm.memset.p0.i64(ptr align 8 %50, i8 0, i64 40, i1 false)
  br label %2496

2496:                                             ; preds = %2495
  %2497 = load i32, ptr @test_count, align 4, !tbaa !5
  %2498 = add nsw i32 %2497, 1
  store i32 %2498, ptr @test_count, align 4, !tbaa !5
  %2499 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %50, i32 noundef 0)
  %2500 = icmp eq i32 %2499, -1
  br i1 %2500, label %2501, label %2554

2501:                                             ; preds = %2496
  br label %2502

2502:                                             ; preds = %2501
  br label %2503

2503:                                             ; preds = %2502
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #9
  %2504 = call ptr @__errno_location() #10
  %2505 = load i32, ptr %2504, align 4, !tbaa !5
  store i32 %2505, ptr %51, align 4, !tbaa !5
  %2506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2507 = call i32 @s2n_print_stacktrace(ptr noundef %2506)
  %2508 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2509 = trunc i8 %2508 to i1
  br i1 %2509, label %2510, label %2532

2510:                                             ; preds = %2503
  %2511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2512 = call i32 @fileno(ptr noundef %2511) #9
  %2513 = call i32 @isatty(i32 noundef %2512) #9
  %2514 = icmp ne i32 %2513, 0
  br i1 %2514, label %2515, label %2532

2515:                                             ; preds = %2510
  %2516 = load i32, ptr %51, align 4, !tbaa !5
  %2517 = call ptr @__errno_location() #10
  store i32 %2516, ptr %2517, align 4, !tbaa !5
  %2518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2519 = load i32, ptr @test_count, align 4, !tbaa !5
  %2520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2521 = load i32, ptr %2520, align 4, !tbaa !5
  %2522 = call ptr @s2n_strerror(i32 noundef %2521, ptr noundef @.str.4)
  %2523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2524 = load i32, ptr %2523, align 4, !tbaa !5
  %2525 = call ptr @s2n_strerror_debug(i32 noundef %2524, ptr noundef @.str.4)
  %2526 = call ptr @__errno_location() #10
  %2527 = load i32, ptr %2526, align 4, !tbaa !5
  %2528 = call ptr @strerror(i32 noundef %2527) #9
  %2529 = call ptr @__errno_location() #10
  %2530 = load i32, ptr %2529, align 4, !tbaa !5
  %2531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2518, ptr noundef @.str.2, i32 noundef %2519, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 106, ptr noundef %2522, ptr noundef %2525, ptr noundef %2528, i32 noundef %2530) #9
  br label %2549

2532:                                             ; preds = %2510, %2503
  %2533 = load i32, ptr %51, align 4, !tbaa !5
  %2534 = call ptr @__errno_location() #10
  store i32 %2533, ptr %2534, align 4, !tbaa !5
  %2535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2536 = load i32, ptr @test_count, align 4, !tbaa !5
  %2537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2538 = load i32, ptr %2537, align 4, !tbaa !5
  %2539 = call ptr @s2n_strerror(i32 noundef %2538, ptr noundef @.str.4)
  %2540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2541 = load i32, ptr %2540, align 4, !tbaa !5
  %2542 = call ptr @s2n_strerror_debug(i32 noundef %2541, ptr noundef @.str.4)
  %2543 = call ptr @__errno_location() #10
  %2544 = load i32, ptr %2543, align 4, !tbaa !5
  %2545 = call ptr @strerror(i32 noundef %2544) #9
  %2546 = call ptr @__errno_location() #10
  %2547 = load i32, ptr %2546, align 4, !tbaa !5
  %2548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2535, ptr noundef @.str.5, i32 noundef %2536, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 106, ptr noundef %2539, ptr noundef %2542, ptr noundef %2545, i32 noundef %2547) #9
  br label %2549

2549:                                             ; preds = %2532, %2515
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #9
  br label %2550

2550:                                             ; preds = %2549
  br label %2551

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

2552:                                             ; No predecessors!
  br label %2553

2553:                                             ; preds = %2552
  br label %2554

2554:                                             ; preds = %2553, %2496
  br label %2555

2555:                                             ; preds = %2554
  br label %2556

2556:                                             ; preds = %2555
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #9
  store ptr null, ptr %52, align 8, !tbaa !9
  br label %2557

2557:                                             ; preds = %2556
  %2558 = load i32, ptr @test_count, align 4, !tbaa !5
  %2559 = add nsw i32 %2558, 1
  store i32 %2559, ptr @test_count, align 4, !tbaa !5
  %2560 = call ptr @s2n_config_new()
  store ptr %2560, ptr %52, align 8, !tbaa !9
  %2561 = icmp eq ptr %2560, null
  br i1 %2561, label %2562, label %2615

2562:                                             ; preds = %2557
  br label %2563

2563:                                             ; preds = %2562
  br label %2564

2564:                                             ; preds = %2563
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #9
  %2565 = call ptr @__errno_location() #10
  %2566 = load i32, ptr %2565, align 4, !tbaa !5
  store i32 %2566, ptr %53, align 4, !tbaa !5
  %2567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2568 = call i32 @s2n_print_stacktrace(ptr noundef %2567)
  %2569 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2570 = trunc i8 %2569 to i1
  br i1 %2570, label %2571, label %2593

2571:                                             ; preds = %2564
  %2572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2573 = call i32 @fileno(ptr noundef %2572) #9
  %2574 = call i32 @isatty(i32 noundef %2573) #9
  %2575 = icmp ne i32 %2574, 0
  br i1 %2575, label %2576, label %2593

2576:                                             ; preds = %2571
  %2577 = load i32, ptr %53, align 4, !tbaa !5
  %2578 = call ptr @__errno_location() #10
  store i32 %2577, ptr %2578, align 4, !tbaa !5
  %2579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2580 = load i32, ptr @test_count, align 4, !tbaa !5
  %2581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2582 = load i32, ptr %2581, align 4, !tbaa !5
  %2583 = call ptr @s2n_strerror(i32 noundef %2582, ptr noundef @.str.4)
  %2584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2585 = load i32, ptr %2584, align 4, !tbaa !5
  %2586 = call ptr @s2n_strerror_debug(i32 noundef %2585, ptr noundef @.str.4)
  %2587 = call ptr @__errno_location() #10
  %2588 = load i32, ptr %2587, align 4, !tbaa !5
  %2589 = call ptr @strerror(i32 noundef %2588) #9
  %2590 = call ptr @__errno_location() #10
  %2591 = load i32, ptr %2590, align 4, !tbaa !5
  %2592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2579, ptr noundef @.str.2, i32 noundef %2580, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 109, ptr noundef %2583, ptr noundef %2586, ptr noundef %2589, i32 noundef %2591) #9
  br label %2610

2593:                                             ; preds = %2571, %2564
  %2594 = load i32, ptr %53, align 4, !tbaa !5
  %2595 = call ptr @__errno_location() #10
  store i32 %2594, ptr %2595, align 4, !tbaa !5
  %2596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2597 = load i32, ptr @test_count, align 4, !tbaa !5
  %2598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2599 = load i32, ptr %2598, align 4, !tbaa !5
  %2600 = call ptr @s2n_strerror(i32 noundef %2599, ptr noundef @.str.4)
  %2601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2602 = load i32, ptr %2601, align 4, !tbaa !5
  %2603 = call ptr @s2n_strerror_debug(i32 noundef %2602, ptr noundef @.str.4)
  %2604 = call ptr @__errno_location() #10
  %2605 = load i32, ptr %2604, align 4, !tbaa !5
  %2606 = call ptr @strerror(i32 noundef %2605) #9
  %2607 = call ptr @__errno_location() #10
  %2608 = load i32, ptr %2607, align 4, !tbaa !5
  %2609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2596, ptr noundef @.str.5, i32 noundef %2597, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 109, ptr noundef %2600, ptr noundef %2603, ptr noundef %2606, i32 noundef %2608) #9
  br label %2610

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

2611:                                             ; preds = %2610
  br label %2612

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

2613:                                             ; No predecessors!
  br label %2614

2614:                                             ; preds = %2613
  br label %2615

2615:                                             ; preds = %2614, %2557
  br label %2616

2616:                                             ; preds = %2615
  br label %2617

2617:                                             ; preds = %2616
  br label %2618

2618:                                             ; preds = %2617
  %2619 = load i32, ptr @test_count, align 4, !tbaa !5
  %2620 = add nsw i32 %2619, 1
  store i32 %2620, ptr @test_count, align 4, !tbaa !5
  %2621 = load ptr, ptr %52, align 8, !tbaa !9
  %2622 = call i32 @s2n_config_enable_quic(ptr noundef %2621)
  %2623 = icmp eq i32 %2622, -1
  br i1 %2623, label %2624, label %2677

2624:                                             ; preds = %2618
  br label %2625

2625:                                             ; preds = %2624
  br label %2626

2626:                                             ; preds = %2625
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #9
  %2627 = call ptr @__errno_location() #10
  %2628 = load i32, ptr %2627, align 4, !tbaa !5
  store i32 %2628, ptr %54, align 4, !tbaa !5
  %2629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2630 = call i32 @s2n_print_stacktrace(ptr noundef %2629)
  %2631 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2632 = trunc i8 %2631 to i1
  br i1 %2632, label %2633, label %2655

2633:                                             ; preds = %2626
  %2634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2635 = call i32 @fileno(ptr noundef %2634) #9
  %2636 = call i32 @isatty(i32 noundef %2635) #9
  %2637 = icmp ne i32 %2636, 0
  br i1 %2637, label %2638, label %2655

2638:                                             ; preds = %2633
  %2639 = load i32, ptr %54, align 4, !tbaa !5
  %2640 = call ptr @__errno_location() #10
  store i32 %2639, ptr %2640, align 4, !tbaa !5
  %2641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2642 = load i32, ptr @test_count, align 4, !tbaa !5
  %2643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2644 = load i32, ptr %2643, align 4, !tbaa !5
  %2645 = call ptr @s2n_strerror(i32 noundef %2644, ptr noundef @.str.4)
  %2646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2647 = load i32, ptr %2646, align 4, !tbaa !5
  %2648 = call ptr @s2n_strerror_debug(i32 noundef %2647, ptr noundef @.str.4)
  %2649 = call ptr @__errno_location() #10
  %2650 = load i32, ptr %2649, align 4, !tbaa !5
  %2651 = call ptr @strerror(i32 noundef %2650) #9
  %2652 = call ptr @__errno_location() #10
  %2653 = load i32, ptr %2652, align 4, !tbaa !5
  %2654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2641, ptr noundef @.str.2, i32 noundef %2642, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 110, ptr noundef %2645, ptr noundef %2648, ptr noundef %2651, i32 noundef %2653) #9
  br label %2672

2655:                                             ; preds = %2633, %2626
  %2656 = load i32, ptr %54, align 4, !tbaa !5
  %2657 = call ptr @__errno_location() #10
  store i32 %2656, ptr %2657, align 4, !tbaa !5
  %2658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2659 = load i32, ptr @test_count, align 4, !tbaa !5
  %2660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2661 = load i32, ptr %2660, align 4, !tbaa !5
  %2662 = call ptr @s2n_strerror(i32 noundef %2661, ptr noundef @.str.4)
  %2663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2664 = load i32, ptr %2663, align 4, !tbaa !5
  %2665 = call ptr @s2n_strerror_debug(i32 noundef %2664, ptr noundef @.str.4)
  %2666 = call ptr @__errno_location() #10
  %2667 = load i32, ptr %2666, align 4, !tbaa !5
  %2668 = call ptr @strerror(i32 noundef %2667) #9
  %2669 = call ptr @__errno_location() #10
  %2670 = load i32, ptr %2669, align 4, !tbaa !5
  %2671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2658, ptr noundef @.str.5, i32 noundef %2659, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 110, ptr noundef %2662, ptr noundef %2665, ptr noundef %2668, i32 noundef %2670) #9
  br label %2672

2672:                                             ; preds = %2655, %2638
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #9
  br label %2673

2673:                                             ; preds = %2672
  br label %2674

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

2675:                                             ; No predecessors!
  br label %2676

2676:                                             ; preds = %2675
  br label %2677

2677:                                             ; preds = %2676, %2618
  br label %2678

2678:                                             ; preds = %2677
  br label %2679

2679:                                             ; preds = %2678
  call void @llvm.lifetime.start.p0(i64 8, ptr %55) #9
  store ptr null, ptr %55, align 8, !tbaa !9
  br label %2680

2680:                                             ; preds = %2679
  %2681 = load i32, ptr @test_count, align 4, !tbaa !5
  %2682 = add nsw i32 %2681, 1
  store i32 %2682, ptr @test_count, align 4, !tbaa !5
  %2683 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %2683, ptr %55, align 8, !tbaa !9
  %2684 = icmp eq ptr %2683, null
  br i1 %2684, label %2685, label %2738

2685:                                             ; preds = %2680
  br label %2686

2686:                                             ; preds = %2685
  br label %2687

2687:                                             ; preds = %2686
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #9
  %2688 = call ptr @__errno_location() #10
  %2689 = load i32, ptr %2688, align 4, !tbaa !5
  store i32 %2689, ptr %56, align 4, !tbaa !5
  %2690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2691 = call i32 @s2n_print_stacktrace(ptr noundef %2690)
  %2692 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2693 = trunc i8 %2692 to i1
  br i1 %2693, label %2694, label %2716

2694:                                             ; preds = %2687
  %2695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2696 = call i32 @fileno(ptr noundef %2695) #9
  %2697 = call i32 @isatty(i32 noundef %2696) #9
  %2698 = icmp ne i32 %2697, 0
  br i1 %2698, label %2699, label %2716

2699:                                             ; preds = %2694
  %2700 = load i32, ptr %56, align 4, !tbaa !5
  %2701 = call ptr @__errno_location() #10
  store i32 %2700, ptr %2701, align 4, !tbaa !5
  %2702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2703 = load i32, ptr @test_count, align 4, !tbaa !5
  %2704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2705 = load i32, ptr %2704, align 4, !tbaa !5
  %2706 = call ptr @s2n_strerror(i32 noundef %2705, ptr noundef @.str.4)
  %2707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2708 = load i32, ptr %2707, align 4, !tbaa !5
  %2709 = call ptr @s2n_strerror_debug(i32 noundef %2708, ptr noundef @.str.4)
  %2710 = call ptr @__errno_location() #10
  %2711 = load i32, ptr %2710, align 4, !tbaa !5
  %2712 = call ptr @strerror(i32 noundef %2711) #9
  %2713 = call ptr @__errno_location() #10
  %2714 = load i32, ptr %2713, align 4, !tbaa !5
  %2715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2702, ptr noundef @.str.2, i32 noundef %2703, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 113, ptr noundef %2706, ptr noundef %2709, ptr noundef %2712, i32 noundef %2714) #9
  br label %2733

2716:                                             ; preds = %2694, %2687
  %2717 = load i32, ptr %56, align 4, !tbaa !5
  %2718 = call ptr @__errno_location() #10
  store i32 %2717, ptr %2718, align 4, !tbaa !5
  %2719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2720 = load i32, ptr @test_count, align 4, !tbaa !5
  %2721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2722 = load i32, ptr %2721, align 4, !tbaa !5
  %2723 = call ptr @s2n_strerror(i32 noundef %2722, ptr noundef @.str.4)
  %2724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2725 = load i32, ptr %2724, align 4, !tbaa !5
  %2726 = call ptr @s2n_strerror_debug(i32 noundef %2725, ptr noundef @.str.4)
  %2727 = call ptr @__errno_location() #10
  %2728 = load i32, ptr %2727, align 4, !tbaa !5
  %2729 = call ptr @strerror(i32 noundef %2728) #9
  %2730 = call ptr @__errno_location() #10
  %2731 = load i32, ptr %2730, align 4, !tbaa !5
  %2732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2719, ptr noundef @.str.5, i32 noundef %2720, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 113, ptr noundef %2723, ptr noundef %2726, ptr noundef %2729, i32 noundef %2731) #9
  br label %2733

2733:                                             ; preds = %2716, %2699
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #9
  br label %2734

2734:                                             ; preds = %2733
  br label %2735

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

2736:                                             ; No predecessors!
  br label %2737

2737:                                             ; preds = %2736
  br label %2738

2738:                                             ; preds = %2737, %2680
  br label %2739

2739:                                             ; preds = %2738
  br label %2740

2740:                                             ; preds = %2739
  br label %2741

2741:                                             ; preds = %2740
  %2742 = load i32, ptr @test_count, align 4, !tbaa !5
  %2743 = add nsw i32 %2742, 1
  store i32 %2743, ptr @test_count, align 4, !tbaa !5
  %2744 = load ptr, ptr %55, align 8, !tbaa !9
  %2745 = load ptr, ptr %52, align 8, !tbaa !9
  %2746 = call i32 @s2n_connection_set_config(ptr noundef %2744, ptr noundef %2745)
  %2747 = icmp eq i32 %2746, -1
  br i1 %2747, label %2748, label %2801

2748:                                             ; preds = %2741
  br label %2749

2749:                                             ; preds = %2748
  br label %2750

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

2757:                                             ; preds = %2750
  %2758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2759 = call i32 @fileno(ptr noundef %2758) #9
  %2760 = call i32 @isatty(i32 noundef %2759) #9
  %2761 = icmp ne i32 %2760, 0
  br i1 %2761, label %2762, label %2779

2762:                                             ; preds = %2757
  %2763 = load i32, ptr %57, align 4, !tbaa !5
  %2764 = call ptr @__errno_location() #10
  store i32 %2763, ptr %2764, align 4, !tbaa !5
  %2765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2766 = load i32, ptr @test_count, align 4, !tbaa !5
  %2767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2768 = load i32, ptr %2767, align 4, !tbaa !5
  %2769 = call ptr @s2n_strerror(i32 noundef %2768, ptr noundef @.str.4)
  %2770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2771 = load i32, ptr %2770, align 4, !tbaa !5
  %2772 = call ptr @s2n_strerror_debug(i32 noundef %2771, ptr noundef @.str.4)
  %2773 = call ptr @__errno_location() #10
  %2774 = load i32, ptr %2773, align 4, !tbaa !5
  %2775 = call ptr @strerror(i32 noundef %2774) #9
  %2776 = call ptr @__errno_location() #10
  %2777 = load i32, ptr %2776, align 4, !tbaa !5
  %2778 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2765, ptr noundef @.str.2, i32 noundef %2766, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 114, ptr noundef %2769, ptr noundef %2772, ptr noundef %2775, i32 noundef %2777) #9
  br label %2796

2779:                                             ; preds = %2757, %2750
  %2780 = load i32, ptr %57, align 4, !tbaa !5
  %2781 = call ptr @__errno_location() #10
  store i32 %2780, ptr %2781, align 4, !tbaa !5
  %2782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2783 = load i32, ptr @test_count, align 4, !tbaa !5
  %2784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2785 = load i32, ptr %2784, align 4, !tbaa !5
  %2786 = call ptr @s2n_strerror(i32 noundef %2785, ptr noundef @.str.4)
  %2787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2788 = load i32, ptr %2787, align 4, !tbaa !5
  %2789 = call ptr @s2n_strerror_debug(i32 noundef %2788, ptr noundef @.str.4)
  %2790 = call ptr @__errno_location() #10
  %2791 = load i32, ptr %2790, align 4, !tbaa !5
  %2792 = call ptr @strerror(i32 noundef %2791) #9
  %2793 = call ptr @__errno_location() #10
  %2794 = load i32, ptr %2793, align 4, !tbaa !5
  %2795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2782, ptr noundef @.str.5, i32 noundef %2783, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 114, ptr noundef %2786, ptr noundef %2789, ptr noundef %2792, i32 noundef %2794) #9
  br label %2796

2796:                                             ; preds = %2779, %2762
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #9
  br label %2797

2797:                                             ; preds = %2796
  br label %2798

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

2799:                                             ; No predecessors!
  br label %2800

2800:                                             ; preds = %2799
  br label %2801

2801:                                             ; preds = %2800, %2741
  br label %2802

2802:                                             ; preds = %2801
  br label %2803

2803:                                             ; preds = %2802
  br label %2804

2804:                                             ; preds = %2803
  %2805 = load i32, ptr @test_count, align 4, !tbaa !5
  %2806 = add nsw i32 %2805, 1
  store i32 %2806, ptr @test_count, align 4, !tbaa !5
  %2807 = load ptr, ptr %55, align 8, !tbaa !9
  %2808 = call i32 @s2n_connection_set_quic_transport_parameters(ptr noundef %2807, ptr noundef @TEST_DATA, i16 noundef zeroext 31)
  %2809 = icmp eq i32 %2808, -1
  br i1 %2809, label %2810, label %2863

2810:                                             ; preds = %2804
  br label %2811

2811:                                             ; preds = %2810
  br label %2812

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

2819:                                             ; preds = %2812
  %2820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2821 = call i32 @fileno(ptr noundef %2820) #9
  %2822 = call i32 @isatty(i32 noundef %2821) #9
  %2823 = icmp ne i32 %2822, 0
  br i1 %2823, label %2824, label %2841

2824:                                             ; preds = %2819
  %2825 = load i32, ptr %58, align 4, !tbaa !5
  %2826 = call ptr @__errno_location() #10
  store i32 %2825, ptr %2826, align 4, !tbaa !5
  %2827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2828 = load i32, ptr @test_count, align 4, !tbaa !5
  %2829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2830 = load i32, ptr %2829, align 4, !tbaa !5
  %2831 = call ptr @s2n_strerror(i32 noundef %2830, ptr noundef @.str.4)
  %2832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2833 = load i32, ptr %2832, align 4, !tbaa !5
  %2834 = call ptr @s2n_strerror_debug(i32 noundef %2833, ptr noundef @.str.4)
  %2835 = call ptr @__errno_location() #10
  %2836 = load i32, ptr %2835, align 4, !tbaa !5
  %2837 = call ptr @strerror(i32 noundef %2836) #9
  %2838 = call ptr @__errno_location() #10
  %2839 = load i32, ptr %2838, align 4, !tbaa !5
  %2840 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2827, ptr noundef @.str.2, i32 noundef %2828, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 115, ptr noundef %2831, ptr noundef %2834, ptr noundef %2837, i32 noundef %2839) #9
  br label %2858

2841:                                             ; preds = %2819, %2812
  %2842 = load i32, ptr %58, align 4, !tbaa !5
  %2843 = call ptr @__errno_location() #10
  store i32 %2842, ptr %2843, align 4, !tbaa !5
  %2844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2845 = load i32, ptr @test_count, align 4, !tbaa !5
  %2846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2847 = load i32, ptr %2846, align 4, !tbaa !5
  %2848 = call ptr @s2n_strerror(i32 noundef %2847, ptr noundef @.str.4)
  %2849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2850 = load i32, ptr %2849, align 4, !tbaa !5
  %2851 = call ptr @s2n_strerror_debug(i32 noundef %2850, ptr noundef @.str.4)
  %2852 = call ptr @__errno_location() #10
  %2853 = load i32, ptr %2852, align 4, !tbaa !5
  %2854 = call ptr @strerror(i32 noundef %2853) #9
  %2855 = call ptr @__errno_location() #10
  %2856 = load i32, ptr %2855, align 4, !tbaa !5
  %2857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2844, ptr noundef @.str.5, i32 noundef %2845, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 115, ptr noundef %2848, ptr noundef %2851, ptr noundef %2854, i32 noundef %2856) #9
  br label %2858

2858:                                             ; preds = %2841, %2824
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #9
  br label %2859

2859:                                             ; preds = %2858
  br label %2860

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

2861:                                             ; No predecessors!
  br label %2862

2862:                                             ; preds = %2861
  br label %2863

2863:                                             ; preds = %2862, %2804
  br label %2864

2864:                                             ; preds = %2863
  br label %2865

2865:                                             ; preds = %2864
  br label %2866

2866:                                             ; preds = %2865
  %2867 = load i32, ptr @test_count, align 4, !tbaa !5
  %2868 = add nsw i32 %2867, 1
  store i32 %2868, ptr @test_count, align 4, !tbaa !5
  %2869 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_quic_transport_parameters_extension, i32 0, i32 3), align 8, !tbaa !20
  %2870 = load ptr, ptr %55, align 8, !tbaa !9
  %2871 = call i32 %2869(ptr noundef %2870, ptr noundef %50)
  %2872 = icmp eq i32 %2871, -1
  br i1 %2872, label %2873, label %2926

2873:                                             ; preds = %2866
  br label %2874

2874:                                             ; preds = %2873
  br label %2875

2875:                                             ; preds = %2874
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #9
  %2876 = call ptr @__errno_location() #10
  %2877 = load i32, ptr %2876, align 4, !tbaa !5
  store i32 %2877, ptr %59, 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) #9
  %2885 = call i32 @isatty(i32 noundef %2884) #9
  %2886 = icmp ne i32 %2885, 0
  br i1 %2886, label %2887, label %2904

2887:                                             ; preds = %2882
  %2888 = load i32, ptr %59, align 4, !tbaa !5
  %2889 = call ptr @__errno_location() #10
  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() #10
  %2899 = load i32, ptr %2898, align 4, !tbaa !5
  %2900 = call ptr @strerror(i32 noundef %2899) #9
  %2901 = call ptr @__errno_location() #10
  %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.35, ptr noundef @.str.1, i32 noundef 117, ptr noundef %2894, ptr noundef %2897, ptr noundef %2900, i32 noundef %2902) #9
  br label %2921

2904:                                             ; preds = %2882, %2875
  %2905 = load i32, ptr %59, align 4, !tbaa !5
  %2906 = call ptr @__errno_location() #10
  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() #10
  %2916 = load i32, ptr %2915, align 4, !tbaa !5
  %2917 = call ptr @strerror(i32 noundef %2916) #9
  %2918 = call ptr @__errno_location() #10
  %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.35, ptr noundef @.str.1, i32 noundef 117, ptr noundef %2911, ptr noundef %2914, ptr noundef %2917, i32 noundef %2919) #9
  br label %2921

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

2922:                                             ; preds = %2921
  br label %2923

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

2924:                                             ; No predecessors!
  br label %2925

2925:                                             ; preds = %2924
  br label %2926

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

2927:                                             ; preds = %2926
  br label %2928

2928:                                             ; preds = %2927
  br label %2929

2929:                                             ; preds = %2928
  br label %2930

2930:                                             ; preds = %2929
  %2931 = load i32, ptr @test_count, align 4, !tbaa !5
  %2932 = add nsw i32 %2931, 1
  store i32 %2932, ptr @test_count, align 4, !tbaa !5
  %2933 = getelementptr inbounds %struct.s2n_stuffer, ptr %50, i32 0, i32 0
  %2934 = getelementptr inbounds %struct.s2n_blob, ptr %2933, i32 0, i32 0
  %2935 = load ptr, ptr %2934, align 8, !tbaa !21
  %2936 = call i32 @memcmp(ptr noundef %2935, ptr noundef @TEST_DATA, i64 noundef 31) #12
  %2937 = icmp eq i32 %2936, 0
  br i1 %2937, label %2991, label %2938

2938:                                             ; preds = %2930
  br label %2939

2939:                                             ; preds = %2938
  br label %2940

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

2947:                                             ; preds = %2940
  %2948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2949 = call i32 @fileno(ptr noundef %2948) #9
  %2950 = call i32 @isatty(i32 noundef %2949) #9
  %2951 = icmp ne i32 %2950, 0
  br i1 %2951, label %2952, label %2969

2952:                                             ; preds = %2947
  %2953 = load i32, ptr %60, align 4, !tbaa !5
  %2954 = call ptr @__errno_location() #10
  store i32 %2953, ptr %2954, align 4, !tbaa !5
  %2955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2956 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %2958, ptr noundef @.str.4)
  %2960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2961 = load i32, ptr %2960, align 4, !tbaa !5
  %2962 = call ptr @s2n_strerror_debug(i32 noundef %2961, ptr noundef @.str.4)
  %2963 = call ptr @__errno_location() #10
  %2964 = load i32, ptr %2963, align 4, !tbaa !5
  %2965 = call ptr @strerror(i32 noundef %2964) #9
  %2966 = call ptr @__errno_location() #10
  %2967 = load i32, ptr %2966, align 4, !tbaa !5
  %2968 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2955, ptr noundef @.str.2, i32 noundef %2956, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 118, ptr noundef %2959, ptr noundef %2962, ptr noundef %2965, i32 noundef %2967) #9
  br label %2986

2969:                                             ; preds = %2947, %2940
  %2970 = load i32, ptr %60, align 4, !tbaa !5
  %2971 = call ptr @__errno_location() #10
  store i32 %2970, ptr %2971, align 4, !tbaa !5
  %2972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2973 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %2975, ptr noundef @.str.4)
  %2977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2978 = load i32, ptr %2977, align 4, !tbaa !5
  %2979 = call ptr @s2n_strerror_debug(i32 noundef %2978, ptr noundef @.str.4)
  %2980 = call ptr @__errno_location() #10
  %2981 = load i32, ptr %2980, align 4, !tbaa !5
  %2982 = call ptr @strerror(i32 noundef %2981) #9
  %2983 = call ptr @__errno_location() #10
  %2984 = load i32, ptr %2983, align 4, !tbaa !5
  %2985 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2972, ptr noundef @.str.5, i32 noundef %2973, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 118, ptr noundef %2976, ptr noundef %2979, ptr noundef %2982, i32 noundef %2984) #9
  br label %2986

2986:                                             ; preds = %2969, %2952
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #9
  br label %2987

2987:                                             ; preds = %2986
  br label %2988

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

2989:                                             ; No predecessors!
  br label %2990

2990:                                             ; preds = %2989
  br label %2991

2991:                                             ; preds = %2990, %2930
  br label %2992

2992:                                             ; preds = %2991
  br label %2993

2993:                                             ; preds = %2992
  br label %2994

2994:                                             ; preds = %2993
  br label %2995

2995:                                             ; preds = %2994
  br label %2996

2996:                                             ; preds = %2995
  %2997 = load i32, ptr @test_count, align 4, !tbaa !5
  %2998 = add nsw i32 %2997, 1
  store i32 %2998, ptr @test_count, align 4, !tbaa !5
  %2999 = load ptr, ptr %55, align 8, !tbaa !9
  %3000 = call i32 @s2n_connection_free(ptr noundef %2999)
  %3001 = icmp eq i32 %3000, -1
  br i1 %3001, label %3002, label %3055

3002:                                             ; preds = %2996
  br label %3003

3003:                                             ; preds = %3002
  br label %3004

3004:                                             ; preds = %3003
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #9
  %3005 = call ptr @__errno_location() #10
  %3006 = load i32, ptr %3005, align 4, !tbaa !5
  store i32 %3006, ptr %61, align 4, !tbaa !5
  %3007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3008 = call i32 @s2n_print_stacktrace(ptr noundef %3007)
  %3009 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3010 = trunc i8 %3009 to i1
  br i1 %3010, label %3011, label %3033

3011:                                             ; preds = %3004
  %3012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3013 = call i32 @fileno(ptr noundef %3012) #9
  %3014 = call i32 @isatty(i32 noundef %3013) #9
  %3015 = icmp ne i32 %3014, 0
  br i1 %3015, label %3016, label %3033

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

3033:                                             ; preds = %3011, %3004
  %3034 = load i32, ptr %61, align 4, !tbaa !5
  %3035 = call ptr @__errno_location() #10
  store i32 %3034, ptr %3035, align 4, !tbaa !5
  %3036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3037 = load i32, ptr @test_count, align 4, !tbaa !5
  %3038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3039 = load i32, ptr %3038, align 4, !tbaa !5
  %3040 = call ptr @s2n_strerror(i32 noundef %3039, ptr noundef @.str.4)
  %3041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3042 = load i32, ptr %3041, align 4, !tbaa !5
  %3043 = call ptr @s2n_strerror_debug(i32 noundef %3042, ptr noundef @.str.4)
  %3044 = call ptr @__errno_location() #10
  %3045 = load i32, ptr %3044, align 4, !tbaa !5
  %3046 = call ptr @strerror(i32 noundef %3045) #9
  %3047 = call ptr @__errno_location() #10
  %3048 = load i32, ptr %3047, align 4, !tbaa !5
  %3049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3036, ptr noundef @.str.5, i32 noundef %3037, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 120, ptr noundef %3040, ptr noundef %3043, ptr noundef %3046, i32 noundef %3048) #9
  br label %3050

3050:                                             ; preds = %3033, %3016
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #9
  br label %3051

3051:                                             ; preds = %3050
  br label %3052

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

3053:                                             ; No predecessors!
  br label %3054

3054:                                             ; preds = %3053
  br label %3055

3055:                                             ; preds = %3054, %2996
  br label %3056

3056:                                             ; preds = %3055
  br label %3057

3057:                                             ; preds = %3056
  br label %3058

3058:                                             ; preds = %3057
  %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 %52, align 8, !tbaa !9
  %3062 = call i32 @s2n_config_free(ptr noundef %3061)
  %3063 = icmp eq i32 %3062, -1
  br i1 %3063, label %3064, label %3117

3064:                                             ; preds = %3058
  br label %3065

3065:                                             ; preds = %3064
  br label %3066

3066:                                             ; preds = %3065
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #9
  %3067 = call ptr @__errno_location() #10
  %3068 = load i32, ptr %3067, align 4, !tbaa !5
  store i32 %3068, ptr %62, align 4, !tbaa !5
  %3069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3070 = call i32 @s2n_print_stacktrace(ptr noundef %3069)
  %3071 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3072 = trunc i8 %3071 to i1
  br i1 %3072, label %3073, label %3095

3073:                                             ; preds = %3066
  %3074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3075 = call i32 @fileno(ptr noundef %3074) #9
  %3076 = call i32 @isatty(i32 noundef %3075) #9
  %3077 = icmp ne i32 %3076, 0
  br i1 %3077, label %3078, label %3095

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

3095:                                             ; preds = %3073, %3066
  %3096 = load i32, ptr %62, align 4, !tbaa !5
  %3097 = call ptr @__errno_location() #10
  store i32 %3096, ptr %3097, align 4, !tbaa !5
  %3098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3099 = load i32, ptr @test_count, align 4, !tbaa !5
  %3100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3101 = load i32, ptr %3100, align 4, !tbaa !5
  %3102 = call ptr @s2n_strerror(i32 noundef %3101, ptr noundef @.str.4)
  %3103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3104 = load i32, ptr %3103, align 4, !tbaa !5
  %3105 = call ptr @s2n_strerror_debug(i32 noundef %3104, ptr noundef @.str.4)
  %3106 = call ptr @__errno_location() #10
  %3107 = load i32, ptr %3106, align 4, !tbaa !5
  %3108 = call ptr @strerror(i32 noundef %3107) #9
  %3109 = call ptr @__errno_location() #10
  %3110 = load i32, ptr %3109, align 4, !tbaa !5
  %3111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3098, ptr noundef @.str.5, i32 noundef %3099, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 121, ptr noundef %3102, ptr noundef %3105, ptr noundef %3108, i32 noundef %3110) #9
  br label %3112

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

3113:                                             ; preds = %3112
  br label %3114

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

3115:                                             ; No predecessors!
  br label %3116

3116:                                             ; preds = %3115
  br label %3117

3117:                                             ; preds = %3116, %3058
  br label %3118

3118:                                             ; preds = %3117
  br label %3119

3119:                                             ; preds = %3118
  br label %3120

3120:                                             ; preds = %3119
  %3121 = load i32, ptr @test_count, align 4, !tbaa !5
  %3122 = add nsw i32 %3121, 1
  store i32 %3122, ptr @test_count, align 4, !tbaa !5
  %3123 = call i32 @s2n_stuffer_free(ptr noundef %50)
  %3124 = icmp eq i32 %3123, -1
  br i1 %3124, label %3125, label %3178

3125:                                             ; preds = %3120
  br label %3126

3126:                                             ; preds = %3125
  br label %3127

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

3134:                                             ; preds = %3127
  %3135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3136 = call i32 @fileno(ptr noundef %3135) #9
  %3137 = call i32 @isatty(i32 noundef %3136) #9
  %3138 = icmp ne i32 %3137, 0
  br i1 %3138, label %3139, label %3156

3139:                                             ; preds = %3134
  %3140 = load i32, ptr %63, align 4, !tbaa !5
  %3141 = call ptr @__errno_location() #10
  store i32 %3140, ptr %3141, align 4, !tbaa !5
  %3142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3143 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3145, ptr noundef @.str.4)
  %3147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3148 = load i32, ptr %3147, align 4, !tbaa !5
  %3149 = call ptr @s2n_strerror_debug(i32 noundef %3148, ptr noundef @.str.4)
  %3150 = call ptr @__errno_location() #10
  %3151 = load i32, ptr %3150, align 4, !tbaa !5
  %3152 = call ptr @strerror(i32 noundef %3151) #9
  %3153 = call ptr @__errno_location() #10
  %3154 = load i32, ptr %3153, align 4, !tbaa !5
  %3155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3142, ptr noundef @.str.2, i32 noundef %3143, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 122, ptr noundef %3146, ptr noundef %3149, ptr noundef %3152, i32 noundef %3154) #9
  br label %3173

3156:                                             ; preds = %3134, %3127
  %3157 = load i32, ptr %63, align 4, !tbaa !5
  %3158 = call ptr @__errno_location() #10
  store i32 %3157, ptr %3158, align 4, !tbaa !5
  %3159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3160 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3162, ptr noundef @.str.4)
  %3164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3165 = load i32, ptr %3164, align 4, !tbaa !5
  %3166 = call ptr @s2n_strerror_debug(i32 noundef %3165, ptr noundef @.str.4)
  %3167 = call ptr @__errno_location() #10
  %3168 = load i32, ptr %3167, align 4, !tbaa !5
  %3169 = call ptr @strerror(i32 noundef %3168) #9
  %3170 = call ptr @__errno_location() #10
  %3171 = load i32, ptr %3170, align 4, !tbaa !5
  %3172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3159, ptr noundef @.str.5, i32 noundef %3160, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 122, ptr noundef %3163, ptr noundef %3166, ptr noundef %3169, i32 noundef %3171) #9
  br label %3173

3173:                                             ; preds = %3156, %3139
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #9
  br label %3174

3174:                                             ; preds = %3173
  br label %3175

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

3176:                                             ; No predecessors!
  br label %3177

3177:                                             ; preds = %3176
  br label %3178

3178:                                             ; preds = %3177, %3120
  br label %3179

3179:                                             ; preds = %3178
  br label %3180

3180:                                             ; preds = %3179
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #9
  call void @llvm.lifetime.end.p0(i64 40, ptr %50) #9
  call void @llvm.lifetime.start.p0(i64 40, ptr %64) #9
  call void @llvm.memset.p0.i64(ptr align 8 %64, i8 0, i64 40, i1 false)
  br label %3181

3181:                                             ; preds = %3180
  %3182 = load i32, ptr @test_count, align 4, !tbaa !5
  %3183 = add nsw i32 %3182, 1
  store i32 %3183, ptr @test_count, align 4, !tbaa !5
  %3184 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %64, i32 noundef 0)
  %3185 = icmp eq i32 %3184, -1
  br i1 %3185, label %3186, label %3239

3186:                                             ; preds = %3181
  br label %3187

3187:                                             ; preds = %3186
  br label %3188

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

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

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

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

3234:                                             ; preds = %3217, %3200
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #9
  br label %3235

3235:                                             ; preds = %3234
  br label %3236

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

3237:                                             ; No predecessors!
  br label %3238

3238:                                             ; preds = %3237
  br label %3239

3239:                                             ; preds = %3238, %3181
  br label %3240

3240:                                             ; preds = %3239
  br label %3241

3241:                                             ; preds = %3240
  call void @llvm.lifetime.start.p0(i64 8, ptr %66) #9
  store ptr null, ptr %66, align 8, !tbaa !9
  br label %3242

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

3247:                                             ; preds = %3242
  br label %3248

3248:                                             ; preds = %3247
  br label %3249

3249:                                             ; preds = %3248
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #9
  %3250 = call ptr @__errno_location() #10
  %3251 = load i32, ptr %3250, align 4, !tbaa !5
  store i32 %3251, ptr %67, 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) #9
  %3259 = call i32 @isatty(i32 noundef %3258) #9
  %3260 = icmp ne i32 %3259, 0
  br i1 %3260, label %3261, label %3278

3261:                                             ; preds = %3256
  %3262 = load i32, ptr %67, align 4, !tbaa !5
  %3263 = call ptr @__errno_location() #10
  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() #10
  %3273 = load i32, ptr %3272, align 4, !tbaa !5
  %3274 = call ptr @strerror(i32 noundef %3273) #9
  %3275 = call ptr @__errno_location() #10
  %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.14, ptr noundef @.str.1, i32 noundef 131, ptr noundef %3268, ptr noundef %3271, ptr noundef %3274, i32 noundef %3276) #9
  br label %3295

3278:                                             ; preds = %3256, %3249
  %3279 = load i32, ptr %67, align 4, !tbaa !5
  %3280 = call ptr @__errno_location() #10
  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() #10
  %3290 = load i32, ptr %3289, align 4, !tbaa !5
  %3291 = call ptr @strerror(i32 noundef %3290) #9
  %3292 = call ptr @__errno_location() #10
  %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.14, ptr noundef @.str.1, i32 noundef 131, ptr noundef %3285, ptr noundef %3288, ptr noundef %3291, i32 noundef %3293) #9
  br label %3295

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

3296:                                             ; preds = %3295
  br label %3297

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

3298:                                             ; No predecessors!
  br label %3299

3299:                                             ; preds = %3298
  br label %3300

3300:                                             ; preds = %3299, %3242
  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 %66, align 8, !tbaa !9
  %3307 = call i32 @s2n_config_enable_quic(ptr noundef %3306)
  %3308 = icmp eq i32 %3307, -1
  br i1 %3308, label %3309, label %3362

3309:                                             ; preds = %3303
  br label %3310

3310:                                             ; preds = %3309
  br label %3311

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

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

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

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

3357:                                             ; preds = %3340, %3323
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #9
  br label %3358

3358:                                             ; preds = %3357
  br label %3359

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

3360:                                             ; No predecessors!
  br label %3361

3361:                                             ; preds = %3360
  br label %3362

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

3363:                                             ; preds = %3362
  br label %3364

3364:                                             ; preds = %3363
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #9
  store ptr null, ptr %69, align 8, !tbaa !9
  br label %3365

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

3370:                                             ; preds = %3365
  br label %3371

3371:                                             ; preds = %3370
  br label %3372

3372:                                             ; preds = %3371
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #9
  %3373 = call ptr @__errno_location() #10
  %3374 = load i32, ptr %3373, align 4, !tbaa !5
  store i32 %3374, ptr %70, 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) #9
  %3382 = call i32 @isatty(i32 noundef %3381) #9
  %3383 = icmp ne i32 %3382, 0
  br i1 %3383, label %3384, label %3401

3384:                                             ; preds = %3379
  %3385 = load i32, ptr %70, align 4, !tbaa !5
  %3386 = call ptr @__errno_location() #10
  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() #10
  %3396 = load i32, ptr %3395, align 4, !tbaa !5
  %3397 = call ptr @strerror(i32 noundef %3396) #9
  %3398 = call ptr @__errno_location() #10
  %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.15, ptr noundef @.str.1, i32 noundef 135, ptr noundef %3391, ptr noundef %3394, ptr noundef %3397, i32 noundef %3399) #9
  br label %3418

3401:                                             ; preds = %3379, %3372
  %3402 = load i32, ptr %70, align 4, !tbaa !5
  %3403 = call ptr @__errno_location() #10
  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() #10
  %3413 = load i32, ptr %3412, align 4, !tbaa !5
  %3414 = call ptr @strerror(i32 noundef %3413) #9
  %3415 = call ptr @__errno_location() #10
  %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.15, ptr noundef @.str.1, i32 noundef 135, ptr noundef %3408, ptr noundef %3411, ptr noundef %3414, i32 noundef %3416) #9
  br label %3418

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

3419:                                             ; preds = %3418
  br label %3420

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

3421:                                             ; No predecessors!
  br label %3422

3422:                                             ; preds = %3421
  br label %3423

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

3424:                                             ; preds = %3423
  br label %3425

3425:                                             ; preds = %3424
  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 %69, align 8, !tbaa !9
  %3430 = load ptr, ptr %66, align 8, !tbaa !9
  %3431 = call i32 @s2n_connection_set_config(ptr noundef %3429, ptr noundef %3430)
  %3432 = icmp eq i32 %3431, -1
  br i1 %3432, label %3433, label %3486

3433:                                             ; preds = %3426
  br label %3434

3434:                                             ; preds = %3433
  br label %3435

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

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

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

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

3481:                                             ; preds = %3464, %3447
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #9
  br label %3482

3482:                                             ; preds = %3481
  br label %3483

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

3484:                                             ; No predecessors!
  br label %3485

3485:                                             ; preds = %3484
  br label %3486

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

3487:                                             ; preds = %3486
  br label %3488

3488:                                             ; preds = %3487
  br label %3489

3489:                                             ; preds = %3488
  %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 getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_quic_transport_parameters_extension, i32 0, i32 3), align 8, !tbaa !20
  %3493 = load ptr, ptr %69, align 8, !tbaa !9
  %3494 = call i32 %3492(ptr noundef %3493, ptr noundef %64)
  %3495 = icmp eq i32 %3494, -1
  br i1 %3495, label %3496, label %3549

3496:                                             ; preds = %3489
  br label %3497

3497:                                             ; preds = %3496
  br label %3498

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

3505:                                             ; preds = %3498
  %3506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3507 = call i32 @fileno(ptr noundef %3506) #9
  %3508 = call i32 @isatty(i32 noundef %3507) #9
  %3509 = icmp ne i32 %3508, 0
  br i1 %3509, label %3510, label %3527

3510:                                             ; preds = %3505
  %3511 = load i32, ptr %72, align 4, !tbaa !5
  %3512 = call ptr @__errno_location() #10
  store i32 %3511, ptr %3512, align 4, !tbaa !5
  %3513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3514 = load i32, ptr @test_count, align 4, !tbaa !5
  %3515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3516 = load i32, ptr %3515, align 4, !tbaa !5
  %3517 = call ptr @s2n_strerror(i32 noundef %3516, ptr noundef @.str.4)
  %3518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3519 = load i32, ptr %3518, align 4, !tbaa !5
  %3520 = call ptr @s2n_strerror_debug(i32 noundef %3519, ptr noundef @.str.4)
  %3521 = call ptr @__errno_location() #10
  %3522 = load i32, ptr %3521, align 4, !tbaa !5
  %3523 = call ptr @strerror(i32 noundef %3522) #9
  %3524 = call ptr @__errno_location() #10
  %3525 = load i32, ptr %3524, align 4, !tbaa !5
  %3526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3513, ptr noundef @.str.2, i32 noundef %3514, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 138, ptr noundef %3517, ptr noundef %3520, ptr noundef %3523, i32 noundef %3525) #9
  br label %3544

3527:                                             ; preds = %3505, %3498
  %3528 = load i32, ptr %72, align 4, !tbaa !5
  %3529 = call ptr @__errno_location() #10
  store i32 %3528, ptr %3529, align 4, !tbaa !5
  %3530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3531 = load i32, ptr @test_count, align 4, !tbaa !5
  %3532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3533 = load i32, ptr %3532, align 4, !tbaa !5
  %3534 = call ptr @s2n_strerror(i32 noundef %3533, ptr noundef @.str.4)
  %3535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3536 = load i32, ptr %3535, align 4, !tbaa !5
  %3537 = call ptr @s2n_strerror_debug(i32 noundef %3536, ptr noundef @.str.4)
  %3538 = call ptr @__errno_location() #10
  %3539 = load i32, ptr %3538, align 4, !tbaa !5
  %3540 = call ptr @strerror(i32 noundef %3539) #9
  %3541 = call ptr @__errno_location() #10
  %3542 = load i32, ptr %3541, align 4, !tbaa !5
  %3543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3530, ptr noundef @.str.5, i32 noundef %3531, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 138, ptr noundef %3534, ptr noundef %3537, ptr noundef %3540, i32 noundef %3542) #9
  br label %3544

3544:                                             ; preds = %3527, %3510
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #9
  br label %3545

3545:                                             ; preds = %3544
  br label %3546

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

3547:                                             ; No predecessors!
  br label %3548

3548:                                             ; preds = %3547
  br label %3549

3549:                                             ; preds = %3548, %3489
  br label %3550

3550:                                             ; preds = %3549
  br label %3551

3551:                                             ; preds = %3550
  br label %3552

3552:                                             ; preds = %3551
  %3553 = load i32, ptr @test_count, align 4, !tbaa !5
  %3554 = add nsw i32 %3553, 1
  store i32 %3554, ptr @test_count, align 4, !tbaa !5
  %3555 = getelementptr inbounds %struct.s2n_stuffer, ptr %64, i32 0, i32 2
  %3556 = load i32, ptr %3555, align 4, !tbaa !24
  %3557 = getelementptr inbounds %struct.s2n_stuffer, ptr %64, i32 0, i32 1
  %3558 = load i32, ptr %3557, align 8, !tbaa !25
  %3559 = sub i32 %3556, %3558
  %3560 = icmp eq i32 %3559, 0
  br i1 %3560, label %3614, label %3561

3561:                                             ; preds = %3552
  br label %3562

3562:                                             ; preds = %3561
  br label %3563

3563:                                             ; preds = %3562
  call void @llvm.lifetime.start.p0(i64 4, ptr %73) #9
  %3564 = call ptr @__errno_location() #10
  %3565 = load i32, ptr %3564, align 4, !tbaa !5
  store i32 %3565, ptr %73, align 4, !tbaa !5
  %3566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3567 = call i32 @s2n_print_stacktrace(ptr noundef %3566)
  %3568 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3569 = trunc i8 %3568 to i1
  br i1 %3569, label %3570, label %3592

3570:                                             ; preds = %3563
  %3571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3572 = call i32 @fileno(ptr noundef %3571) #9
  %3573 = call i32 @isatty(i32 noundef %3572) #9
  %3574 = icmp ne i32 %3573, 0
  br i1 %3574, label %3575, label %3592

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

3592:                                             ; preds = %3570, %3563
  %3593 = load i32, ptr %73, align 4, !tbaa !5
  %3594 = call ptr @__errno_location() #10
  store i32 %3593, ptr %3594, align 4, !tbaa !5
  %3595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3596 = load i32, ptr @test_count, align 4, !tbaa !5
  %3597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3598 = load i32, ptr %3597, align 4, !tbaa !5
  %3599 = call ptr @s2n_strerror(i32 noundef %3598, ptr noundef @.str.4)
  %3600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3601 = load i32, ptr %3600, align 4, !tbaa !5
  %3602 = call ptr @s2n_strerror_debug(i32 noundef %3601, ptr noundef @.str.4)
  %3603 = call ptr @__errno_location() #10
  %3604 = load i32, ptr %3603, align 4, !tbaa !5
  %3605 = call ptr @strerror(i32 noundef %3604) #9
  %3606 = call ptr @__errno_location() #10
  %3607 = load i32, ptr %3606, align 4, !tbaa !5
  %3608 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3595, ptr noundef @.str.5, i32 noundef %3596, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 139, ptr noundef %3599, ptr noundef %3602, ptr noundef %3605, i32 noundef %3607) #9
  br label %3609

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

3610:                                             ; preds = %3609
  br label %3611

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

3612:                                             ; No predecessors!
  br label %3613

3613:                                             ; preds = %3612
  br label %3614

3614:                                             ; preds = %3613, %3552
  br label %3615

3615:                                             ; preds = %3614
  br label %3616

3616:                                             ; preds = %3615
  br label %3617

3617:                                             ; preds = %3616
  %3618 = load i32, ptr @test_count, align 4, !tbaa !5
  %3619 = add nsw i32 %3618, 1
  store i32 %3619, ptr @test_count, align 4, !tbaa !5
  %3620 = load ptr, ptr %69, align 8, !tbaa !9
  %3621 = call i32 @s2n_connection_free(ptr noundef %3620)
  %3622 = icmp eq i32 %3621, -1
  br i1 %3622, label %3623, label %3676

3623:                                             ; preds = %3617
  br label %3624

3624:                                             ; preds = %3623
  br label %3625

3625:                                             ; preds = %3624
  call void @llvm.lifetime.start.p0(i64 4, ptr %74) #9
  %3626 = call ptr @__errno_location() #10
  %3627 = load i32, ptr %3626, align 4, !tbaa !5
  store i32 %3627, ptr %74, align 4, !tbaa !5
  %3628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3629 = call i32 @s2n_print_stacktrace(ptr noundef %3628)
  %3630 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3631 = trunc i8 %3630 to i1
  br i1 %3631, label %3632, label %3654

3632:                                             ; preds = %3625
  %3633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3634 = call i32 @fileno(ptr noundef %3633) #9
  %3635 = call i32 @isatty(i32 noundef %3634) #9
  %3636 = icmp ne i32 %3635, 0
  br i1 %3636, label %3637, label %3654

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

3654:                                             ; preds = %3632, %3625
  %3655 = load i32, ptr %74, align 4, !tbaa !5
  %3656 = call ptr @__errno_location() #10
  store i32 %3655, ptr %3656, align 4, !tbaa !5
  %3657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3658 = load i32, ptr @test_count, align 4, !tbaa !5
  %3659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3660 = load i32, ptr %3659, align 4, !tbaa !5
  %3661 = call ptr @s2n_strerror(i32 noundef %3660, ptr noundef @.str.4)
  %3662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3663 = load i32, ptr %3662, align 4, !tbaa !5
  %3664 = call ptr @s2n_strerror_debug(i32 noundef %3663, ptr noundef @.str.4)
  %3665 = call ptr @__errno_location() #10
  %3666 = load i32, ptr %3665, align 4, !tbaa !5
  %3667 = call ptr @strerror(i32 noundef %3666) #9
  %3668 = call ptr @__errno_location() #10
  %3669 = load i32, ptr %3668, align 4, !tbaa !5
  %3670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3657, ptr noundef @.str.5, i32 noundef %3658, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 141, ptr noundef %3661, ptr noundef %3664, ptr noundef %3667, i32 noundef %3669) #9
  br label %3671

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

3672:                                             ; preds = %3671
  br label %3673

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

3674:                                             ; No predecessors!
  br label %3675

3675:                                             ; preds = %3674
  br label %3676

3676:                                             ; preds = %3675, %3617
  br label %3677

3677:                                             ; preds = %3676
  br label %3678

3678:                                             ; preds = %3677
  br label %3679

3679:                                             ; preds = %3678
  %3680 = load i32, ptr @test_count, align 4, !tbaa !5
  %3681 = add nsw i32 %3680, 1
  store i32 %3681, ptr @test_count, align 4, !tbaa !5
  %3682 = load ptr, ptr %66, align 8, !tbaa !9
  %3683 = call i32 @s2n_config_free(ptr noundef %3682)
  %3684 = icmp eq i32 %3683, -1
  br i1 %3684, label %3685, label %3738

3685:                                             ; preds = %3679
  br label %3686

3686:                                             ; preds = %3685
  br label %3687

3687:                                             ; preds = %3686
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #9
  %3688 = call ptr @__errno_location() #10
  %3689 = load i32, ptr %3688, align 4, !tbaa !5
  store i32 %3689, ptr %75, align 4, !tbaa !5
  %3690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3691 = call i32 @s2n_print_stacktrace(ptr noundef %3690)
  %3692 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3693 = trunc i8 %3692 to i1
  br i1 %3693, label %3694, label %3716

3694:                                             ; preds = %3687
  %3695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3696 = call i32 @fileno(ptr noundef %3695) #9
  %3697 = call i32 @isatty(i32 noundef %3696) #9
  %3698 = icmp ne i32 %3697, 0
  br i1 %3698, label %3699, label %3716

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

3716:                                             ; preds = %3694, %3687
  %3717 = load i32, ptr %75, align 4, !tbaa !5
  %3718 = call ptr @__errno_location() #10
  store i32 %3717, ptr %3718, align 4, !tbaa !5
  %3719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3720 = load i32, ptr @test_count, align 4, !tbaa !5
  %3721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3722 = load i32, ptr %3721, align 4, !tbaa !5
  %3723 = call ptr @s2n_strerror(i32 noundef %3722, ptr noundef @.str.4)
  %3724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3725 = load i32, ptr %3724, align 4, !tbaa !5
  %3726 = call ptr @s2n_strerror_debug(i32 noundef %3725, ptr noundef @.str.4)
  %3727 = call ptr @__errno_location() #10
  %3728 = load i32, ptr %3727, align 4, !tbaa !5
  %3729 = call ptr @strerror(i32 noundef %3728) #9
  %3730 = call ptr @__errno_location() #10
  %3731 = load i32, ptr %3730, align 4, !tbaa !5
  %3732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3719, ptr noundef @.str.5, i32 noundef %3720, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 142, ptr noundef %3723, ptr noundef %3726, ptr noundef %3729, i32 noundef %3731) #9
  br label %3733

3733:                                             ; preds = %3716, %3699
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #9
  br label %3734

3734:                                             ; preds = %3733
  br label %3735

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

3736:                                             ; No predecessors!
  br label %3737

3737:                                             ; preds = %3736
  br label %3738

3738:                                             ; preds = %3737, %3679
  br label %3739

3739:                                             ; preds = %3738
  br label %3740

3740:                                             ; preds = %3739
  br label %3741

3741:                                             ; preds = %3740
  %3742 = load i32, ptr @test_count, align 4, !tbaa !5
  %3743 = add nsw i32 %3742, 1
  store i32 %3743, ptr @test_count, align 4, !tbaa !5
  %3744 = call i32 @s2n_stuffer_free(ptr noundef %64)
  %3745 = icmp eq i32 %3744, -1
  br i1 %3745, label %3746, label %3799

3746:                                             ; preds = %3741
  br label %3747

3747:                                             ; preds = %3746
  br label %3748

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

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

3760:                                             ; preds = %3755
  %3761 = load i32, ptr %76, align 4, !tbaa !5
  %3762 = call ptr @__errno_location() #10
  store i32 %3761, ptr %3762, align 4, !tbaa !5
  %3763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3764 = load i32, ptr @test_count, align 4, !tbaa !5
  %3765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3766 = load i32, ptr %3765, align 4, !tbaa !5
  %3767 = call ptr @s2n_strerror(i32 noundef %3766, ptr noundef @.str.4)
  %3768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3769 = load i32, ptr %3768, align 4, !tbaa !5
  %3770 = call ptr @s2n_strerror_debug(i32 noundef %3769, ptr noundef @.str.4)
  %3771 = call ptr @__errno_location() #10
  %3772 = load i32, ptr %3771, align 4, !tbaa !5
  %3773 = call ptr @strerror(i32 noundef %3772) #9
  %3774 = call ptr @__errno_location() #10
  %3775 = load i32, ptr %3774, align 4, !tbaa !5
  %3776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3763, ptr noundef @.str.2, i32 noundef %3764, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 143, ptr noundef %3767, ptr noundef %3770, ptr noundef %3773, i32 noundef %3775) #9
  br label %3794

3777:                                             ; preds = %3755, %3748
  %3778 = load i32, ptr %76, align 4, !tbaa !5
  %3779 = call ptr @__errno_location() #10
  store i32 %3778, ptr %3779, align 4, !tbaa !5
  %3780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3781 = load i32, ptr @test_count, align 4, !tbaa !5
  %3782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3783 = load i32, ptr %3782, align 4, !tbaa !5
  %3784 = call ptr @s2n_strerror(i32 noundef %3783, ptr noundef @.str.4)
  %3785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3786 = load i32, ptr %3785, align 4, !tbaa !5
  %3787 = call ptr @s2n_strerror_debug(i32 noundef %3786, ptr noundef @.str.4)
  %3788 = call ptr @__errno_location() #10
  %3789 = load i32, ptr %3788, align 4, !tbaa !5
  %3790 = call ptr @strerror(i32 noundef %3789) #9
  %3791 = call ptr @__errno_location() #10
  %3792 = load i32, ptr %3791, align 4, !tbaa !5
  %3793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3780, ptr noundef @.str.5, i32 noundef %3781, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 143, ptr noundef %3784, ptr noundef %3787, ptr noundef %3790, i32 noundef %3792) #9
  br label %3794

3794:                                             ; preds = %3777, %3760
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #9
  br label %3795

3795:                                             ; preds = %3794
  br label %3796

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

3797:                                             ; No predecessors!
  br label %3798

3798:                                             ; preds = %3797
  br label %3799

3799:                                             ; preds = %3798, %3741
  br label %3800

3800:                                             ; preds = %3799
  br label %3801

3801:                                             ; preds = %3800
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #9
  call void @llvm.lifetime.end.p0(i64 40, ptr %64) #9
  call void @llvm.lifetime.start.p0(i64 40, ptr %77) #9
  call void @llvm.memset.p0.i64(ptr align 8 %77, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %78) #9
  store ptr null, ptr %78, align 8, !tbaa !9
  br label %3802

3802:                                             ; preds = %3801
  %3803 = load i32, ptr @test_count, align 4, !tbaa !5
  %3804 = add nsw i32 %3803, 1
  store i32 %3804, ptr @test_count, align 4, !tbaa !5
  %3805 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %3805, ptr %78, align 8, !tbaa !9
  %3806 = icmp eq ptr %3805, null
  br i1 %3806, label %3807, label %3860

3807:                                             ; preds = %3802
  br label %3808

3808:                                             ; preds = %3807
  br label %3809

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

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

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

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

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

3856:                                             ; preds = %3855
  br label %3857

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

3858:                                             ; No predecessors!
  br label %3859

3859:                                             ; preds = %3858
  br label %3860

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

3861:                                             ; preds = %3860
  br label %3862

3862:                                             ; preds = %3861
  br label %3863

3863:                                             ; preds = %3862
  br label %3864

3864:                                             ; preds = %3863
  br label %3865

3865:                                             ; preds = %3864
  %3866 = load i32, ptr @test_count, align 4, !tbaa !5
  %3867 = add nsw i32 %3866, 1
  store i32 %3867, ptr @test_count, align 4, !tbaa !5
  %3868 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_quic_transport_parameters_extension, i32 0, i32 4), align 8, !tbaa !26
  %3869 = call i32 %3868(ptr noundef null, ptr noundef %77)
  %3870 = icmp eq i32 %3869, -1
  br i1 %3870, label %3924, label %3871

3871:                                             ; preds = %3865
  br label %3872

3872:                                             ; preds = %3871
  br label %3873

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

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

3885:                                             ; preds = %3880
  %3886 = load i32, ptr %80, align 4, !tbaa !5
  %3887 = call ptr @__errno_location() #10
  store i32 %3886, ptr %3887, align 4, !tbaa !5
  %3888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3889 = load i32, ptr @test_count, align 4, !tbaa !5
  %3890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3891 = load i32, ptr %3890, align 4, !tbaa !5
  %3892 = call ptr @s2n_strerror(i32 noundef %3891, ptr noundef @.str.4)
  %3893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3894 = load i32, ptr %3893, align 4, !tbaa !5
  %3895 = call ptr @s2n_strerror_debug(i32 noundef %3894, ptr noundef @.str.4)
  %3896 = call ptr @__errno_location() #10
  %3897 = load i32, ptr %3896, align 4, !tbaa !5
  %3898 = call ptr @strerror(i32 noundef %3897) #9
  %3899 = call ptr @__errno_location() #10
  %3900 = load i32, ptr %3899, align 4, !tbaa !5
  %3901 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3888, ptr noundef @.str.2, i32 noundef %3889, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 156, ptr noundef %3892, ptr noundef %3895, ptr noundef %3898, i32 noundef %3900) #9
  br label %3919

3902:                                             ; preds = %3880, %3873
  %3903 = load i32, ptr %80, align 4, !tbaa !5
  %3904 = call ptr @__errno_location() #10
  store i32 %3903, ptr %3904, align 4, !tbaa !5
  %3905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3906 = load i32, ptr @test_count, align 4, !tbaa !5
  %3907 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3908 = load i32, ptr %3907, align 4, !tbaa !5
  %3909 = call ptr @s2n_strerror(i32 noundef %3908, ptr noundef @.str.4)
  %3910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3911 = load i32, ptr %3910, align 4, !tbaa !5
  %3912 = call ptr @s2n_strerror_debug(i32 noundef %3911, ptr noundef @.str.4)
  %3913 = call ptr @__errno_location() #10
  %3914 = load i32, ptr %3913, align 4, !tbaa !5
  %3915 = call ptr @strerror(i32 noundef %3914) #9
  %3916 = call ptr @__errno_location() #10
  %3917 = load i32, ptr %3916, align 4, !tbaa !5
  %3918 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3905, ptr noundef @.str.5, i32 noundef %3906, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 156, ptr noundef %3909, ptr noundef %3912, ptr noundef %3915, i32 noundef %3917) #9
  br label %3919

3919:                                             ; preds = %3902, %3885
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #9
  br label %3920

3920:                                             ; preds = %3919
  br label %3921

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

3922:                                             ; No predecessors!
  br label %3923

3923:                                             ; preds = %3922
  br label %3924

3924:                                             ; preds = %3923, %3865
  br label %3925

3925:                                             ; preds = %3924
  br label %3926

3926:                                             ; preds = %3925
  br label %3927

3927:                                             ; preds = %3926
  %3928 = load i32, ptr @test_count, align 4, !tbaa !5
  %3929 = add nsw i32 %3928, 1
  store i32 %3929, ptr @test_count, align 4, !tbaa !5
  %3930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3931 = load i32, ptr %3930, align 4, !tbaa !5
  %3932 = icmp eq i32 %3931, 402653193
  br i1 %3932, label %3986, label %3933

3933:                                             ; preds = %3927
  br label %3934

3934:                                             ; preds = %3933
  br label %3935

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

3942:                                             ; preds = %3935
  %3943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3944 = call i32 @fileno(ptr noundef %3943) #9
  %3945 = call i32 @isatty(i32 noundef %3944) #9
  %3946 = icmp ne i32 %3945, 0
  br i1 %3946, label %3947, label %3964

3947:                                             ; preds = %3942
  %3948 = load i32, ptr %81, align 4, !tbaa !5
  %3949 = call ptr @__errno_location() #10
  store i32 %3948, ptr %3949, align 4, !tbaa !5
  %3950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3951 = load i32, ptr @test_count, align 4, !tbaa !5
  %3952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3953 = load i32, ptr %3952, align 4, !tbaa !5
  %3954 = call ptr @s2n_strerror(i32 noundef %3953, ptr noundef @.str.4)
  %3955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3956 = load i32, ptr %3955, align 4, !tbaa !5
  %3957 = call ptr @s2n_strerror_debug(i32 noundef %3956, ptr noundef @.str.4)
  %3958 = call ptr @__errno_location() #10
  %3959 = load i32, ptr %3958, align 4, !tbaa !5
  %3960 = call ptr @strerror(i32 noundef %3959) #9
  %3961 = call ptr @__errno_location() #10
  %3962 = load i32, ptr %3961, align 4, !tbaa !5
  %3963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3950, ptr noundef @.str.2, i32 noundef %3951, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 156, ptr noundef %3954, ptr noundef %3957, ptr noundef %3960, i32 noundef %3962) #9
  br label %3981

3964:                                             ; preds = %3942, %3935
  %3965 = load i32, ptr %81, align 4, !tbaa !5
  %3966 = call ptr @__errno_location() #10
  store i32 %3965, ptr %3966, align 4, !tbaa !5
  %3967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3968 = load i32, ptr @test_count, align 4, !tbaa !5
  %3969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3970 = load i32, ptr %3969, align 4, !tbaa !5
  %3971 = call ptr @s2n_strerror(i32 noundef %3970, ptr noundef @.str.4)
  %3972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3973 = load i32, ptr %3972, align 4, !tbaa !5
  %3974 = call ptr @s2n_strerror_debug(i32 noundef %3973, ptr noundef @.str.4)
  %3975 = call ptr @__errno_location() #10
  %3976 = load i32, ptr %3975, align 4, !tbaa !5
  %3977 = call ptr @strerror(i32 noundef %3976) #9
  %3978 = call ptr @__errno_location() #10
  %3979 = load i32, ptr %3978, align 4, !tbaa !5
  %3980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3967, ptr noundef @.str.5, i32 noundef %3968, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 156, ptr noundef %3971, ptr noundef %3974, ptr noundef %3977, i32 noundef %3979) #9
  br label %3981

3981:                                             ; preds = %3964, %3947
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #9
  br label %3982

3982:                                             ; preds = %3981
  br label %3983

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

3984:                                             ; No predecessors!
  br label %3985

3985:                                             ; preds = %3984
  br label %3986

3986:                                             ; preds = %3985, %3927
  br label %3987

3987:                                             ; preds = %3986
  br label %3988

3988:                                             ; preds = %3987
  br label %3989

3989:                                             ; preds = %3988
  %3990 = load i32, ptr @test_count, align 4, !tbaa !5
  %3991 = add nsw i32 %3990, 1
  store i32 %3991, ptr @test_count, align 4, !tbaa !5
  %3992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3993 = load i32, ptr %3992, align 4, !tbaa !5
  %3994 = call ptr @s2n_strerror_debug(i32 noundef %3993, ptr noundef @.str.4)
  %3995 = icmp eq ptr %3994, null
  br i1 %3995, label %3996, label %4049

3996:                                             ; preds = %3989
  br label %3997

3997:                                             ; preds = %3996
  br label %3998

3998:                                             ; preds = %3997
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #9
  %3999 = call ptr @__errno_location() #10
  %4000 = load i32, ptr %3999, align 4, !tbaa !5
  store i32 %4000, ptr %82, align 4, !tbaa !5
  %4001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4002 = call i32 @s2n_print_stacktrace(ptr noundef %4001)
  %4003 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4004 = trunc i8 %4003 to i1
  br i1 %4004, label %4005, label %4027

4005:                                             ; preds = %3998
  %4006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4007 = call i32 @fileno(ptr noundef %4006) #9
  %4008 = call i32 @isatty(i32 noundef %4007) #9
  %4009 = icmp ne i32 %4008, 0
  br i1 %4009, label %4010, label %4027

4010:                                             ; preds = %4005
  %4011 = load i32, ptr %82, align 4, !tbaa !5
  %4012 = call ptr @__errno_location() #10
  store i32 %4011, ptr %4012, align 4, !tbaa !5
  %4013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4014 = load i32, ptr @test_count, align 4, !tbaa !5
  %4015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4016 = load i32, ptr %4015, align 4, !tbaa !5
  %4017 = call ptr @s2n_strerror(i32 noundef %4016, ptr noundef @.str.4)
  %4018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4019 = load i32, ptr %4018, align 4, !tbaa !5
  %4020 = call ptr @s2n_strerror_debug(i32 noundef %4019, ptr noundef @.str.4)
  %4021 = call ptr @__errno_location() #10
  %4022 = load i32, ptr %4021, align 4, !tbaa !5
  %4023 = call ptr @strerror(i32 noundef %4022) #9
  %4024 = call ptr @__errno_location() #10
  %4025 = load i32, ptr %4024, align 4, !tbaa !5
  %4026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4013, ptr noundef @.str.2, i32 noundef %4014, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 156, ptr noundef %4017, ptr noundef %4020, ptr noundef %4023, i32 noundef %4025) #9
  br label %4044

4027:                                             ; preds = %4005, %3998
  %4028 = load i32, ptr %82, align 4, !tbaa !5
  %4029 = call ptr @__errno_location() #10
  store i32 %4028, ptr %4029, align 4, !tbaa !5
  %4030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4031 = load i32, ptr @test_count, align 4, !tbaa !5
  %4032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4033 = load i32, ptr %4032, align 4, !tbaa !5
  %4034 = call ptr @s2n_strerror(i32 noundef %4033, ptr noundef @.str.4)
  %4035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4036 = load i32, ptr %4035, align 4, !tbaa !5
  %4037 = call ptr @s2n_strerror_debug(i32 noundef %4036, ptr noundef @.str.4)
  %4038 = call ptr @__errno_location() #10
  %4039 = load i32, ptr %4038, align 4, !tbaa !5
  %4040 = call ptr @strerror(i32 noundef %4039) #9
  %4041 = call ptr @__errno_location() #10
  %4042 = load i32, ptr %4041, align 4, !tbaa !5
  %4043 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4030, ptr noundef @.str.5, i32 noundef %4031, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 156, ptr noundef %4034, ptr noundef %4037, ptr noundef %4040, i32 noundef %4042) #9
  br label %4044

4044:                                             ; preds = %4027, %4010
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #9
  br label %4045

4045:                                             ; preds = %4044
  br label %4046

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

4047:                                             ; No predecessors!
  br label %4048

4048:                                             ; preds = %4047
  br label %4049

4049:                                             ; preds = %4048, %3989
  br label %4050

4050:                                             ; preds = %4049
  br label %4051

4051:                                             ; preds = %4050
  br label %4052

4052:                                             ; preds = %4051
  br label %4053

4053:                                             ; preds = %4052
  br label %4054

4054:                                             ; preds = %4053
  %4055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4055, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4056 = call ptr @__errno_location() #10
  store i32 0, ptr %4056, align 4, !tbaa !5
  br label %4057

4057:                                             ; preds = %4054
  br label %4058

4058:                                             ; preds = %4057
  br label %4059

4059:                                             ; preds = %4058
  br label %4060

4060:                                             ; preds = %4059
  br label %4061

4061:                                             ; preds = %4060
  br label %4062

4062:                                             ; preds = %4061
  br label %4063

4063:                                             ; preds = %4062
  %4064 = load i32, ptr @test_count, align 4, !tbaa !5
  %4065 = add nsw i32 %4064, 1
  store i32 %4065, ptr @test_count, align 4, !tbaa !5
  %4066 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_quic_transport_parameters_extension, i32 0, i32 4), align 8, !tbaa !26
  %4067 = load ptr, ptr %78, align 8, !tbaa !9
  %4068 = call i32 %4066(ptr noundef %4067, ptr noundef null)
  %4069 = icmp eq i32 %4068, -1
  br i1 %4069, label %4123, label %4070

4070:                                             ; preds = %4063
  br label %4071

4071:                                             ; preds = %4070
  br label %4072

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

4079:                                             ; preds = %4072
  %4080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4081 = call i32 @fileno(ptr noundef %4080) #9
  %4082 = call i32 @isatty(i32 noundef %4081) #9
  %4083 = icmp ne i32 %4082, 0
  br i1 %4083, label %4084, label %4101

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

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

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

4119:                                             ; preds = %4118
  br label %4120

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

4121:                                             ; No predecessors!
  br label %4122

4122:                                             ; preds = %4121
  br label %4123

4123:                                             ; preds = %4122, %4063
  br label %4124

4124:                                             ; preds = %4123
  br label %4125

4125:                                             ; preds = %4124
  br label %4126

4126:                                             ; preds = %4125
  %4127 = load i32, ptr @test_count, align 4, !tbaa !5
  %4128 = add nsw i32 %4127, 1
  store i32 %4128, ptr @test_count, align 4, !tbaa !5
  %4129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4130 = load i32, ptr %4129, align 4, !tbaa !5
  %4131 = icmp eq i32 %4130, 402653193
  br i1 %4131, label %4185, label %4132

4132:                                             ; preds = %4126
  br label %4133

4133:                                             ; preds = %4132
  br label %4134

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

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

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

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

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

4181:                                             ; preds = %4180
  br label %4182

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

4183:                                             ; No predecessors!
  br label %4184

4184:                                             ; preds = %4183
  br label %4185

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

4186:                                             ; preds = %4185
  br label %4187

4187:                                             ; preds = %4186
  br label %4188

4188:                                             ; preds = %4187
  %4189 = load i32, ptr @test_count, align 4, !tbaa !5
  %4190 = add nsw i32 %4189, 1
  store i32 %4190, ptr @test_count, align 4, !tbaa !5
  %4191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4192 = load i32, ptr %4191, align 4, !tbaa !5
  %4193 = call ptr @s2n_strerror_debug(i32 noundef %4192, ptr noundef @.str.4)
  %4194 = icmp eq ptr %4193, null
  br i1 %4194, label %4195, label %4248

4195:                                             ; preds = %4188
  br label %4196

4196:                                             ; preds = %4195
  br label %4197

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

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

4209:                                             ; preds = %4204
  %4210 = load i32, ptr %85, align 4, !tbaa !5
  %4211 = call ptr @__errno_location() #10
  store i32 %4210, ptr %4211, align 4, !tbaa !5
  %4212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4213 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %4215, ptr noundef @.str.4)
  %4217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4218 = load i32, ptr %4217, align 4, !tbaa !5
  %4219 = call ptr @s2n_strerror_debug(i32 noundef %4218, ptr noundef @.str.4)
  %4220 = call ptr @__errno_location() #10
  %4221 = load i32, ptr %4220, align 4, !tbaa !5
  %4222 = call ptr @strerror(i32 noundef %4221) #9
  %4223 = call ptr @__errno_location() #10
  %4224 = load i32, ptr %4223, align 4, !tbaa !5
  %4225 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4212, ptr noundef @.str.2, i32 noundef %4213, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 157, ptr noundef %4216, ptr noundef %4219, ptr noundef %4222, i32 noundef %4224) #9
  br label %4243

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

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

4244:                                             ; preds = %4243
  br label %4245

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

4246:                                             ; No predecessors!
  br label %4247

4247:                                             ; preds = %4246
  br label %4248

4248:                                             ; preds = %4247, %4188
  br label %4249

4249:                                             ; preds = %4248
  br label %4250

4250:                                             ; preds = %4249
  br label %4251

4251:                                             ; preds = %4250
  br label %4252

4252:                                             ; preds = %4251
  br label %4253

4253:                                             ; preds = %4252
  %4254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4254, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4255 = call ptr @__errno_location() #10
  store i32 0, ptr %4255, align 4, !tbaa !5
  br label %4256

4256:                                             ; preds = %4253
  br label %4257

4257:                                             ; preds = %4256
  br label %4258

4258:                                             ; preds = %4257
  br label %4259

4259:                                             ; preds = %4258
  br label %4260

4260:                                             ; preds = %4259
  br label %4261

4261:                                             ; preds = %4260
  br label %4262

4262:                                             ; preds = %4261
  %4263 = load i32, ptr @test_count, align 4, !tbaa !5
  %4264 = add nsw i32 %4263, 1
  store i32 %4264, ptr @test_count, align 4, !tbaa !5
  %4265 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_quic_transport_parameters_extension, i32 0, i32 4), align 8, !tbaa !26
  %4266 = load ptr, ptr %78, align 8, !tbaa !9
  %4267 = call i32 %4265(ptr noundef %4266, ptr noundef %77)
  %4268 = icmp eq i32 %4267, -1
  br i1 %4268, label %4322, label %4269

4269:                                             ; preds = %4262
  br label %4270

4270:                                             ; preds = %4269
  br label %4271

4271:                                             ; preds = %4270
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #9
  %4272 = call ptr @__errno_location() #10
  %4273 = load i32, ptr %4272, align 4, !tbaa !5
  store i32 %4273, ptr %86, align 4, !tbaa !5
  %4274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4275 = call i32 @s2n_print_stacktrace(ptr noundef %4274)
  %4276 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4277 = trunc i8 %4276 to i1
  br i1 %4277, label %4278, label %4300

4278:                                             ; preds = %4271
  %4279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4280 = call i32 @fileno(ptr noundef %4279) #9
  %4281 = call i32 @isatty(i32 noundef %4280) #9
  %4282 = icmp ne i32 %4281, 0
  br i1 %4282, label %4283, label %4300

4283:                                             ; preds = %4278
  %4284 = load i32, ptr %86, align 4, !tbaa !5
  %4285 = call ptr @__errno_location() #10
  store i32 %4284, ptr %4285, align 4, !tbaa !5
  %4286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4287 = load i32, ptr @test_count, align 4, !tbaa !5
  %4288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4289 = load i32, ptr %4288, align 4, !tbaa !5
  %4290 = call ptr @s2n_strerror(i32 noundef %4289, ptr noundef @.str.4)
  %4291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4292 = load i32, ptr %4291, align 4, !tbaa !5
  %4293 = call ptr @s2n_strerror_debug(i32 noundef %4292, ptr noundef @.str.4)
  %4294 = call ptr @__errno_location() #10
  %4295 = load i32, ptr %4294, align 4, !tbaa !5
  %4296 = call ptr @strerror(i32 noundef %4295) #9
  %4297 = call ptr @__errno_location() #10
  %4298 = load i32, ptr %4297, align 4, !tbaa !5
  %4299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4286, ptr noundef @.str.2, i32 noundef %4287, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 159, ptr noundef %4290, ptr noundef %4293, ptr noundef %4296, i32 noundef %4298) #9
  br label %4317

4300:                                             ; preds = %4278, %4271
  %4301 = load i32, ptr %86, align 4, !tbaa !5
  %4302 = call ptr @__errno_location() #10
  store i32 %4301, ptr %4302, align 4, !tbaa !5
  %4303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4304 = load i32, ptr @test_count, align 4, !tbaa !5
  %4305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4306 = load i32, ptr %4305, align 4, !tbaa !5
  %4307 = call ptr @s2n_strerror(i32 noundef %4306, ptr noundef @.str.4)
  %4308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4309 = load i32, ptr %4308, align 4, !tbaa !5
  %4310 = call ptr @s2n_strerror_debug(i32 noundef %4309, ptr noundef @.str.4)
  %4311 = call ptr @__errno_location() #10
  %4312 = load i32, ptr %4311, align 4, !tbaa !5
  %4313 = call ptr @strerror(i32 noundef %4312) #9
  %4314 = call ptr @__errno_location() #10
  %4315 = load i32, ptr %4314, align 4, !tbaa !5
  %4316 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4303, ptr noundef @.str.5, i32 noundef %4304, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 159, ptr noundef %4307, ptr noundef %4310, ptr noundef %4313, i32 noundef %4315) #9
  br label %4317

4317:                                             ; preds = %4300, %4283
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #9
  br label %4318

4318:                                             ; preds = %4317
  br label %4319

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

4320:                                             ; No predecessors!
  br label %4321

4321:                                             ; preds = %4320
  br label %4322

4322:                                             ; preds = %4321, %4262
  br label %4323

4323:                                             ; preds = %4322
  br label %4324

4324:                                             ; preds = %4323
  br label %4325

4325:                                             ; preds = %4324
  %4326 = load i32, ptr @test_count, align 4, !tbaa !5
  %4327 = add nsw i32 %4326, 1
  store i32 %4327, ptr @test_count, align 4, !tbaa !5
  %4328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4329 = load i32, ptr %4328, align 4, !tbaa !5
  %4330 = icmp eq i32 %4329, 335544394
  br i1 %4330, label %4384, label %4331

4331:                                             ; preds = %4325
  br label %4332

4332:                                             ; preds = %4331
  br label %4333

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

4340:                                             ; preds = %4333
  %4341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4342 = call i32 @fileno(ptr noundef %4341) #9
  %4343 = call i32 @isatty(i32 noundef %4342) #9
  %4344 = icmp ne i32 %4343, 0
  br i1 %4344, label %4345, label %4362

4345:                                             ; preds = %4340
  %4346 = load i32, ptr %87, align 4, !tbaa !5
  %4347 = call ptr @__errno_location() #10
  store i32 %4346, ptr %4347, align 4, !tbaa !5
  %4348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4349 = load i32, ptr @test_count, align 4, !tbaa !5
  %4350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4351 = load i32, ptr %4350, align 4, !tbaa !5
  %4352 = call ptr @s2n_strerror(i32 noundef %4351, ptr noundef @.str.4)
  %4353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4354 = load i32, ptr %4353, align 4, !tbaa !5
  %4355 = call ptr @s2n_strerror_debug(i32 noundef %4354, ptr noundef @.str.4)
  %4356 = call ptr @__errno_location() #10
  %4357 = load i32, ptr %4356, align 4, !tbaa !5
  %4358 = call ptr @strerror(i32 noundef %4357) #9
  %4359 = call ptr @__errno_location() #10
  %4360 = load i32, ptr %4359, align 4, !tbaa !5
  %4361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4348, ptr noundef @.str.2, i32 noundef %4349, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 159, ptr noundef %4352, ptr noundef %4355, ptr noundef %4358, i32 noundef %4360) #9
  br label %4379

4362:                                             ; preds = %4340, %4333
  %4363 = load i32, ptr %87, align 4, !tbaa !5
  %4364 = call ptr @__errno_location() #10
  store i32 %4363, ptr %4364, align 4, !tbaa !5
  %4365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4366 = load i32, ptr @test_count, align 4, !tbaa !5
  %4367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4368 = load i32, ptr %4367, align 4, !tbaa !5
  %4369 = call ptr @s2n_strerror(i32 noundef %4368, ptr noundef @.str.4)
  %4370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4371 = load i32, ptr %4370, align 4, !tbaa !5
  %4372 = call ptr @s2n_strerror_debug(i32 noundef %4371, ptr noundef @.str.4)
  %4373 = call ptr @__errno_location() #10
  %4374 = load i32, ptr %4373, align 4, !tbaa !5
  %4375 = call ptr @strerror(i32 noundef %4374) #9
  %4376 = call ptr @__errno_location() #10
  %4377 = load i32, ptr %4376, align 4, !tbaa !5
  %4378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4365, ptr noundef @.str.5, i32 noundef %4366, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 159, ptr noundef %4369, ptr noundef %4372, ptr noundef %4375, i32 noundef %4377) #9
  br label %4379

4379:                                             ; preds = %4362, %4345
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #9
  br label %4380

4380:                                             ; preds = %4379
  br label %4381

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

4382:                                             ; No predecessors!
  br label %4383

4383:                                             ; preds = %4382
  br label %4384

4384:                                             ; preds = %4383, %4325
  br label %4385

4385:                                             ; preds = %4384
  br label %4386

4386:                                             ; preds = %4385
  br label %4387

4387:                                             ; preds = %4386
  %4388 = load i32, ptr @test_count, align 4, !tbaa !5
  %4389 = add nsw i32 %4388, 1
  store i32 %4389, ptr @test_count, align 4, !tbaa !5
  %4390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4391 = load i32, ptr %4390, align 4, !tbaa !5
  %4392 = call ptr @s2n_strerror_debug(i32 noundef %4391, ptr noundef @.str.4)
  %4393 = icmp eq ptr %4392, null
  br i1 %4393, label %4394, label %4447

4394:                                             ; preds = %4387
  br label %4395

4395:                                             ; preds = %4394
  br label %4396

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

4403:                                             ; preds = %4396
  %4404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4405 = call i32 @fileno(ptr noundef %4404) #9
  %4406 = call i32 @isatty(i32 noundef %4405) #9
  %4407 = icmp ne i32 %4406, 0
  br i1 %4407, label %4408, label %4425

4408:                                             ; preds = %4403
  %4409 = load i32, ptr %88, align 4, !tbaa !5
  %4410 = call ptr @__errno_location() #10
  store i32 %4409, ptr %4410, align 4, !tbaa !5
  %4411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4412 = load i32, ptr @test_count, align 4, !tbaa !5
  %4413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4414 = load i32, ptr %4413, align 4, !tbaa !5
  %4415 = call ptr @s2n_strerror(i32 noundef %4414, ptr noundef @.str.4)
  %4416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4417 = load i32, ptr %4416, align 4, !tbaa !5
  %4418 = call ptr @s2n_strerror_debug(i32 noundef %4417, ptr noundef @.str.4)
  %4419 = call ptr @__errno_location() #10
  %4420 = load i32, ptr %4419, align 4, !tbaa !5
  %4421 = call ptr @strerror(i32 noundef %4420) #9
  %4422 = call ptr @__errno_location() #10
  %4423 = load i32, ptr %4422, align 4, !tbaa !5
  %4424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4411, ptr noundef @.str.2, i32 noundef %4412, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 159, ptr noundef %4415, ptr noundef %4418, ptr noundef %4421, i32 noundef %4423) #9
  br label %4442

4425:                                             ; preds = %4403, %4396
  %4426 = load i32, ptr %88, align 4, !tbaa !5
  %4427 = call ptr @__errno_location() #10
  store i32 %4426, ptr %4427, align 4, !tbaa !5
  %4428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4429 = load i32, ptr @test_count, align 4, !tbaa !5
  %4430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4431 = load i32, ptr %4430, align 4, !tbaa !5
  %4432 = call ptr @s2n_strerror(i32 noundef %4431, ptr noundef @.str.4)
  %4433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4434 = load i32, ptr %4433, align 4, !tbaa !5
  %4435 = call ptr @s2n_strerror_debug(i32 noundef %4434, ptr noundef @.str.4)
  %4436 = call ptr @__errno_location() #10
  %4437 = load i32, ptr %4436, align 4, !tbaa !5
  %4438 = call ptr @strerror(i32 noundef %4437) #9
  %4439 = call ptr @__errno_location() #10
  %4440 = load i32, ptr %4439, align 4, !tbaa !5
  %4441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4428, ptr noundef @.str.5, i32 noundef %4429, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 159, ptr noundef %4432, ptr noundef %4435, ptr noundef %4438, i32 noundef %4440) #9
  br label %4442

4442:                                             ; preds = %4425, %4408
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #9
  br label %4443

4443:                                             ; preds = %4442
  br label %4444

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

4445:                                             ; No predecessors!
  br label %4446

4446:                                             ; preds = %4445
  br label %4447

4447:                                             ; preds = %4446, %4387
  br label %4448

4448:                                             ; preds = %4447
  br label %4449

4449:                                             ; preds = %4448
  br label %4450

4450:                                             ; preds = %4449
  br label %4451

4451:                                             ; preds = %4450
  br label %4452

4452:                                             ; preds = %4451
  %4453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4453, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4454 = call ptr @__errno_location() #10
  store i32 0, ptr %4454, align 4, !tbaa !5
  br label %4455

4455:                                             ; preds = %4452
  br label %4456

4456:                                             ; preds = %4455
  br label %4457

4457:                                             ; preds = %4456
  br label %4458

4458:                                             ; preds = %4457
  br label %4459

4459:                                             ; preds = %4458
  %4460 = load i32, ptr @test_count, align 4, !tbaa !5
  %4461 = add nsw i32 %4460, 1
  store i32 %4461, ptr @test_count, align 4, !tbaa !5
  %4462 = load ptr, ptr %78, align 8, !tbaa !9
  %4463 = call i32 @s2n_connection_free(ptr noundef %4462)
  %4464 = icmp eq i32 %4463, -1
  br i1 %4464, label %4465, label %4518

4465:                                             ; preds = %4459
  br label %4466

4466:                                             ; preds = %4465
  br label %4467

4467:                                             ; preds = %4466
  call void @llvm.lifetime.start.p0(i64 4, ptr %89) #9
  %4468 = call ptr @__errno_location() #10
  %4469 = load i32, ptr %4468, align 4, !tbaa !5
  store i32 %4469, ptr %89, align 4, !tbaa !5
  %4470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4471 = call i32 @s2n_print_stacktrace(ptr noundef %4470)
  %4472 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4473 = trunc i8 %4472 to i1
  br i1 %4473, label %4474, label %4496

4474:                                             ; preds = %4467
  %4475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4476 = call i32 @fileno(ptr noundef %4475) #9
  %4477 = call i32 @isatty(i32 noundef %4476) #9
  %4478 = icmp ne i32 %4477, 0
  br i1 %4478, label %4479, label %4496

4479:                                             ; preds = %4474
  %4480 = load i32, ptr %89, align 4, !tbaa !5
  %4481 = call ptr @__errno_location() #10
  store i32 %4480, ptr %4481, align 4, !tbaa !5
  %4482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4483 = load i32, ptr @test_count, align 4, !tbaa !5
  %4484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4485 = load i32, ptr %4484, align 4, !tbaa !5
  %4486 = call ptr @s2n_strerror(i32 noundef %4485, ptr noundef @.str.4)
  %4487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4488 = load i32, ptr %4487, align 4, !tbaa !5
  %4489 = call ptr @s2n_strerror_debug(i32 noundef %4488, ptr noundef @.str.4)
  %4490 = call ptr @__errno_location() #10
  %4491 = load i32, ptr %4490, align 4, !tbaa !5
  %4492 = call ptr @strerror(i32 noundef %4491) #9
  %4493 = call ptr @__errno_location() #10
  %4494 = load i32, ptr %4493, align 4, !tbaa !5
  %4495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4482, ptr noundef @.str.2, i32 noundef %4483, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 161, ptr noundef %4486, ptr noundef %4489, ptr noundef %4492, i32 noundef %4494) #9
  br label %4513

4496:                                             ; preds = %4474, %4467
  %4497 = load i32, ptr %89, align 4, !tbaa !5
  %4498 = call ptr @__errno_location() #10
  store i32 %4497, ptr %4498, align 4, !tbaa !5
  %4499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4500 = load i32, ptr @test_count, align 4, !tbaa !5
  %4501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4502 = load i32, ptr %4501, align 4, !tbaa !5
  %4503 = call ptr @s2n_strerror(i32 noundef %4502, ptr noundef @.str.4)
  %4504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4505 = load i32, ptr %4504, align 4, !tbaa !5
  %4506 = call ptr @s2n_strerror_debug(i32 noundef %4505, ptr noundef @.str.4)
  %4507 = call ptr @__errno_location() #10
  %4508 = load i32, ptr %4507, align 4, !tbaa !5
  %4509 = call ptr @strerror(i32 noundef %4508) #9
  %4510 = call ptr @__errno_location() #10
  %4511 = load i32, ptr %4510, align 4, !tbaa !5
  %4512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4499, ptr noundef @.str.5, i32 noundef %4500, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 161, ptr noundef %4503, ptr noundef %4506, ptr noundef %4509, i32 noundef %4511) #9
  br label %4513

4513:                                             ; preds = %4496, %4479
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #9
  br label %4514

4514:                                             ; preds = %4513
  br label %4515

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

4516:                                             ; No predecessors!
  br label %4517

4517:                                             ; preds = %4516
  br label %4518

4518:                                             ; preds = %4517, %4459
  br label %4519

4519:                                             ; preds = %4518
  br label %4520

4520:                                             ; preds = %4519
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #9
  call void @llvm.lifetime.end.p0(i64 40, ptr %77) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %90) #9
  store ptr null, ptr %90, align 8, !tbaa !9
  br label %4521

4521:                                             ; preds = %4520
  %4522 = load i32, ptr @test_count, align 4, !tbaa !5
  %4523 = add nsw i32 %4522, 1
  store i32 %4523, ptr @test_count, align 4, !tbaa !5
  %4524 = call ptr @s2n_config_new()
  store ptr %4524, ptr %90, align 8, !tbaa !9
  %4525 = icmp eq ptr %4524, null
  br i1 %4525, label %4526, label %4579

4526:                                             ; preds = %4521
  br label %4527

4527:                                             ; preds = %4526
  br label %4528

4528:                                             ; preds = %4527
  call void @llvm.lifetime.start.p0(i64 4, ptr %91) #9
  %4529 = call ptr @__errno_location() #10
  %4530 = load i32, ptr %4529, align 4, !tbaa !5
  store i32 %4530, ptr %91, align 4, !tbaa !5
  %4531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4532 = call i32 @s2n_print_stacktrace(ptr noundef %4531)
  %4533 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4534 = trunc i8 %4533 to i1
  br i1 %4534, label %4535, label %4557

4535:                                             ; preds = %4528
  %4536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4537 = call i32 @fileno(ptr noundef %4536) #9
  %4538 = call i32 @isatty(i32 noundef %4537) #9
  %4539 = icmp ne i32 %4538, 0
  br i1 %4539, label %4540, label %4557

4540:                                             ; preds = %4535
  %4541 = load i32, ptr %91, align 4, !tbaa !5
  %4542 = call ptr @__errno_location() #10
  store i32 %4541, ptr %4542, align 4, !tbaa !5
  %4543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4544 = load i32, ptr @test_count, align 4, !tbaa !5
  %4545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4546 = load i32, ptr %4545, align 4, !tbaa !5
  %4547 = call ptr @s2n_strerror(i32 noundef %4546, ptr noundef @.str.4)
  %4548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4549 = load i32, ptr %4548, align 4, !tbaa !5
  %4550 = call ptr @s2n_strerror_debug(i32 noundef %4549, ptr noundef @.str.4)
  %4551 = call ptr @__errno_location() #10
  %4552 = load i32, ptr %4551, align 4, !tbaa !5
  %4553 = call ptr @strerror(i32 noundef %4552) #9
  %4554 = call ptr @__errno_location() #10
  %4555 = load i32, ptr %4554, align 4, !tbaa !5
  %4556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4543, ptr noundef @.str.2, i32 noundef %4544, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 167, ptr noundef %4547, ptr noundef %4550, ptr noundef %4553, i32 noundef %4555) #9
  br label %4574

4557:                                             ; preds = %4535, %4528
  %4558 = load i32, ptr %91, align 4, !tbaa !5
  %4559 = call ptr @__errno_location() #10
  store i32 %4558, ptr %4559, align 4, !tbaa !5
  %4560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4561 = load i32, ptr @test_count, align 4, !tbaa !5
  %4562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4563 = load i32, ptr %4562, align 4, !tbaa !5
  %4564 = call ptr @s2n_strerror(i32 noundef %4563, ptr noundef @.str.4)
  %4565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4566 = load i32, ptr %4565, align 4, !tbaa !5
  %4567 = call ptr @s2n_strerror_debug(i32 noundef %4566, ptr noundef @.str.4)
  %4568 = call ptr @__errno_location() #10
  %4569 = load i32, ptr %4568, align 4, !tbaa !5
  %4570 = call ptr @strerror(i32 noundef %4569) #9
  %4571 = call ptr @__errno_location() #10
  %4572 = load i32, ptr %4571, align 4, !tbaa !5
  %4573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4560, ptr noundef @.str.5, i32 noundef %4561, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 167, ptr noundef %4564, ptr noundef %4567, ptr noundef %4570, i32 noundef %4572) #9
  br label %4574

4574:                                             ; preds = %4557, %4540
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #9
  br label %4575

4575:                                             ; preds = %4574
  br label %4576

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

4577:                                             ; No predecessors!
  br label %4578

4578:                                             ; preds = %4577
  br label %4579

4579:                                             ; preds = %4578, %4521
  br label %4580

4580:                                             ; preds = %4579
  br label %4581

4581:                                             ; preds = %4580
  br label %4582

4582:                                             ; preds = %4581
  %4583 = load i32, ptr @test_count, align 4, !tbaa !5
  %4584 = add nsw i32 %4583, 1
  store i32 %4584, ptr @test_count, align 4, !tbaa !5
  %4585 = load ptr, ptr %90, align 8, !tbaa !9
  %4586 = call i32 @s2n_config_enable_quic(ptr noundef %4585)
  %4587 = icmp eq i32 %4586, -1
  br i1 %4587, label %4588, label %4641

4588:                                             ; preds = %4582
  br label %4589

4589:                                             ; preds = %4588
  br label %4590

4590:                                             ; preds = %4589
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #9
  %4591 = call ptr @__errno_location() #10
  %4592 = load i32, ptr %4591, align 4, !tbaa !5
  store i32 %4592, ptr %92, align 4, !tbaa !5
  %4593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4594 = call i32 @s2n_print_stacktrace(ptr noundef %4593)
  %4595 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4596 = trunc i8 %4595 to i1
  br i1 %4596, label %4597, label %4619

4597:                                             ; preds = %4590
  %4598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4599 = call i32 @fileno(ptr noundef %4598) #9
  %4600 = call i32 @isatty(i32 noundef %4599) #9
  %4601 = icmp ne i32 %4600, 0
  br i1 %4601, label %4602, label %4619

4602:                                             ; preds = %4597
  %4603 = load i32, ptr %92, align 4, !tbaa !5
  %4604 = call ptr @__errno_location() #10
  store i32 %4603, ptr %4604, align 4, !tbaa !5
  %4605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4606 = load i32, ptr @test_count, align 4, !tbaa !5
  %4607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4608 = load i32, ptr %4607, align 4, !tbaa !5
  %4609 = call ptr @s2n_strerror(i32 noundef %4608, ptr noundef @.str.4)
  %4610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4611 = load i32, ptr %4610, align 4, !tbaa !5
  %4612 = call ptr @s2n_strerror_debug(i32 noundef %4611, ptr noundef @.str.4)
  %4613 = call ptr @__errno_location() #10
  %4614 = load i32, ptr %4613, align 4, !tbaa !5
  %4615 = call ptr @strerror(i32 noundef %4614) #9
  %4616 = call ptr @__errno_location() #10
  %4617 = load i32, ptr %4616, align 4, !tbaa !5
  %4618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4605, ptr noundef @.str.2, i32 noundef %4606, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 168, ptr noundef %4609, ptr noundef %4612, ptr noundef %4615, i32 noundef %4617) #9
  br label %4636

4619:                                             ; preds = %4597, %4590
  %4620 = load i32, ptr %92, align 4, !tbaa !5
  %4621 = call ptr @__errno_location() #10
  store i32 %4620, ptr %4621, align 4, !tbaa !5
  %4622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4623 = load i32, ptr @test_count, align 4, !tbaa !5
  %4624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4625 = load i32, ptr %4624, align 4, !tbaa !5
  %4626 = call ptr @s2n_strerror(i32 noundef %4625, ptr noundef @.str.4)
  %4627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4628 = load i32, ptr %4627, align 4, !tbaa !5
  %4629 = call ptr @s2n_strerror_debug(i32 noundef %4628, ptr noundef @.str.4)
  %4630 = call ptr @__errno_location() #10
  %4631 = load i32, ptr %4630, align 4, !tbaa !5
  %4632 = call ptr @strerror(i32 noundef %4631) #9
  %4633 = call ptr @__errno_location() #10
  %4634 = load i32, ptr %4633, align 4, !tbaa !5
  %4635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4622, ptr noundef @.str.5, i32 noundef %4623, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 168, ptr noundef %4626, ptr noundef %4629, ptr noundef %4632, i32 noundef %4634) #9
  br label %4636

4636:                                             ; preds = %4619, %4602
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #9
  br label %4637

4637:                                             ; preds = %4636
  br label %4638

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

4639:                                             ; No predecessors!
  br label %4640

4640:                                             ; preds = %4639
  br label %4641

4641:                                             ; preds = %4640, %4582
  br label %4642

4642:                                             ; preds = %4641
  br label %4643

4643:                                             ; preds = %4642
  call void @llvm.lifetime.start.p0(i64 8, ptr %93) #9
  store ptr null, ptr %93, align 8, !tbaa !9
  br label %4644

4644:                                             ; preds = %4643
  %4645 = load i32, ptr @test_count, align 4, !tbaa !5
  %4646 = add nsw i32 %4645, 1
  store i32 %4646, ptr @test_count, align 4, !tbaa !5
  %4647 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %4647, ptr %93, align 8, !tbaa !9
  %4648 = icmp eq ptr %4647, null
  br i1 %4648, label %4649, label %4702

4649:                                             ; preds = %4644
  br label %4650

4650:                                             ; preds = %4649
  br label %4651

4651:                                             ; preds = %4650
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #9
  %4652 = call ptr @__errno_location() #10
  %4653 = load i32, ptr %4652, align 4, !tbaa !5
  store i32 %4653, ptr %94, align 4, !tbaa !5
  %4654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4655 = call i32 @s2n_print_stacktrace(ptr noundef %4654)
  %4656 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4657 = trunc i8 %4656 to i1
  br i1 %4657, label %4658, label %4680

4658:                                             ; preds = %4651
  %4659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4660 = call i32 @fileno(ptr noundef %4659) #9
  %4661 = call i32 @isatty(i32 noundef %4660) #9
  %4662 = icmp ne i32 %4661, 0
  br i1 %4662, label %4663, label %4680

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

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

4697:                                             ; preds = %4680, %4663
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #9
  br label %4698

4698:                                             ; preds = %4697
  br label %4699

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

4700:                                             ; No predecessors!
  br label %4701

4701:                                             ; preds = %4700
  br label %4702

4702:                                             ; preds = %4701, %4644
  br label %4703

4703:                                             ; preds = %4702
  br label %4704

4704:                                             ; preds = %4703
  br label %4705

4705:                                             ; preds = %4704
  %4706 = load i32, ptr @test_count, align 4, !tbaa !5
  %4707 = add nsw i32 %4706, 1
  store i32 %4707, ptr @test_count, align 4, !tbaa !5
  %4708 = load ptr, ptr %93, align 8, !tbaa !9
  %4709 = load ptr, ptr %90, align 8, !tbaa !9
  %4710 = call i32 @s2n_connection_set_config(ptr noundef %4708, ptr noundef %4709)
  %4711 = icmp eq i32 %4710, -1
  br i1 %4711, label %4712, label %4765

4712:                                             ; preds = %4705
  br label %4713

4713:                                             ; preds = %4712
  br label %4714

4714:                                             ; preds = %4713
  call void @llvm.lifetime.start.p0(i64 4, ptr %95) #9
  %4715 = call ptr @__errno_location() #10
  %4716 = load i32, ptr %4715, align 4, !tbaa !5
  store i32 %4716, ptr %95, align 4, !tbaa !5
  %4717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4718 = call i32 @s2n_print_stacktrace(ptr noundef %4717)
  %4719 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4720 = trunc i8 %4719 to i1
  br i1 %4720, label %4721, label %4743

4721:                                             ; preds = %4714
  %4722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4723 = call i32 @fileno(ptr noundef %4722) #9
  %4724 = call i32 @isatty(i32 noundef %4723) #9
  %4725 = icmp ne i32 %4724, 0
  br i1 %4725, label %4726, label %4743

4726:                                             ; preds = %4721
  %4727 = load i32, ptr %95, align 4, !tbaa !5
  %4728 = call ptr @__errno_location() #10
  store i32 %4727, ptr %4728, align 4, !tbaa !5
  %4729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4730 = load i32, ptr @test_count, align 4, !tbaa !5
  %4731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4732 = load i32, ptr %4731, align 4, !tbaa !5
  %4733 = call ptr @s2n_strerror(i32 noundef %4732, ptr noundef @.str.4)
  %4734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4735 = load i32, ptr %4734, align 4, !tbaa !5
  %4736 = call ptr @s2n_strerror_debug(i32 noundef %4735, ptr noundef @.str.4)
  %4737 = call ptr @__errno_location() #10
  %4738 = load i32, ptr %4737, align 4, !tbaa !5
  %4739 = call ptr @strerror(i32 noundef %4738) #9
  %4740 = call ptr @__errno_location() #10
  %4741 = load i32, ptr %4740, align 4, !tbaa !5
  %4742 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4729, ptr noundef @.str.2, i32 noundef %4730, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 172, ptr noundef %4733, ptr noundef %4736, ptr noundef %4739, i32 noundef %4741) #9
  br label %4760

4743:                                             ; preds = %4721, %4714
  %4744 = load i32, ptr %95, align 4, !tbaa !5
  %4745 = call ptr @__errno_location() #10
  store i32 %4744, ptr %4745, align 4, !tbaa !5
  %4746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4747 = load i32, ptr @test_count, align 4, !tbaa !5
  %4748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4749 = load i32, ptr %4748, align 4, !tbaa !5
  %4750 = call ptr @s2n_strerror(i32 noundef %4749, ptr noundef @.str.4)
  %4751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4752 = load i32, ptr %4751, align 4, !tbaa !5
  %4753 = call ptr @s2n_strerror_debug(i32 noundef %4752, ptr noundef @.str.4)
  %4754 = call ptr @__errno_location() #10
  %4755 = load i32, ptr %4754, align 4, !tbaa !5
  %4756 = call ptr @strerror(i32 noundef %4755) #9
  %4757 = call ptr @__errno_location() #10
  %4758 = load i32, ptr %4757, align 4, !tbaa !5
  %4759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4746, ptr noundef @.str.5, i32 noundef %4747, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 172, ptr noundef %4750, ptr noundef %4753, ptr noundef %4756, i32 noundef %4758) #9
  br label %4760

4760:                                             ; preds = %4743, %4726
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #9
  br label %4761

4761:                                             ; preds = %4760
  br label %4762

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

4763:                                             ; No predecessors!
  br label %4764

4764:                                             ; preds = %4763
  br label %4765

4765:                                             ; preds = %4764, %4705
  br label %4766

4766:                                             ; preds = %4765
  br label %4767

4767:                                             ; preds = %4766
  call void @llvm.lifetime.start.p0(i64 40, ptr %96) #9
  call void @llvm.memset.p0.i64(ptr align 8 %96, i8 0, i64 40, i1 false)
  br label %4768

4768:                                             ; preds = %4767
  %4769 = load i32, ptr @test_count, align 4, !tbaa !5
  %4770 = add nsw i32 %4769, 1
  store i32 %4770, ptr @test_count, align 4, !tbaa !5
  %4771 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %96, i32 noundef 0)
  %4772 = icmp eq i32 %4771, -1
  br i1 %4772, label %4773, label %4826

4773:                                             ; preds = %4768
  br label %4774

4774:                                             ; preds = %4773
  br label %4775

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

4782:                                             ; preds = %4775
  %4783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4784 = call i32 @fileno(ptr noundef %4783) #9
  %4785 = call i32 @isatty(i32 noundef %4784) #9
  %4786 = icmp ne i32 %4785, 0
  br i1 %4786, label %4787, label %4804

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

4804:                                             ; preds = %4782, %4775
  %4805 = load i32, ptr %97, align 4, !tbaa !5
  %4806 = call ptr @__errno_location() #10
  store i32 %4805, ptr %4806, align 4, !tbaa !5
  %4807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4808 = load i32, ptr @test_count, align 4, !tbaa !5
  %4809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4810 = load i32, ptr %4809, align 4, !tbaa !5
  %4811 = call ptr @s2n_strerror(i32 noundef %4810, ptr noundef @.str.4)
  %4812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4813 = load i32, ptr %4812, align 4, !tbaa !5
  %4814 = call ptr @s2n_strerror_debug(i32 noundef %4813, ptr noundef @.str.4)
  %4815 = call ptr @__errno_location() #10
  %4816 = load i32, ptr %4815, align 4, !tbaa !5
  %4817 = call ptr @strerror(i32 noundef %4816) #9
  %4818 = call ptr @__errno_location() #10
  %4819 = load i32, ptr %4818, align 4, !tbaa !5
  %4820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4807, ptr noundef @.str.5, i32 noundef %4808, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 175, ptr noundef %4811, ptr noundef %4814, ptr noundef %4817, i32 noundef %4819) #9
  br label %4821

4821:                                             ; preds = %4804, %4787
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #9
  br label %4822

4822:                                             ; preds = %4821
  br label %4823

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

4824:                                             ; No predecessors!
  br label %4825

4825:                                             ; preds = %4824
  br label %4826

4826:                                             ; preds = %4825, %4768
  br label %4827

4827:                                             ; preds = %4826
  br label %4828

4828:                                             ; preds = %4827
  br label %4829

4829:                                             ; preds = %4828
  %4830 = load i32, ptr @test_count, align 4, !tbaa !5
  %4831 = add nsw i32 %4830, 1
  store i32 %4831, ptr @test_count, align 4, !tbaa !5
  %4832 = call i32 @s2n_stuffer_write_bytes(ptr noundef %96, ptr noundef @TEST_DATA, i32 noundef 31)
  %4833 = icmp eq i32 %4832, -1
  br i1 %4833, label %4834, label %4887

4834:                                             ; preds = %4829
  br label %4835

4835:                                             ; preds = %4834
  br label %4836

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

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

4848:                                             ; preds = %4843
  %4849 = load i32, ptr %98, align 4, !tbaa !5
  %4850 = call ptr @__errno_location() #10
  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() #10
  %4860 = load i32, ptr %4859, align 4, !tbaa !5
  %4861 = call ptr @strerror(i32 noundef %4860) #9
  %4862 = call ptr @__errno_location() #10
  %4863 = load i32, ptr %4862, align 4, !tbaa !5
  %4864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4851, ptr noundef @.str.2, i32 noundef %4852, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 176, ptr noundef %4855, ptr noundef %4858, ptr noundef %4861, i32 noundef %4863) #9
  br label %4882

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

4882:                                             ; preds = %4865, %4848
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #9
  br label %4883

4883:                                             ; preds = %4882
  br label %4884

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

4885:                                             ; No predecessors!
  br label %4886

4886:                                             ; preds = %4885
  br label %4887

4887:                                             ; preds = %4886, %4829
  br label %4888

4888:                                             ; preds = %4887
  br label %4889

4889:                                             ; preds = %4888
  br label %4890

4890:                                             ; preds = %4889
  %4891 = load i32, ptr @test_count, align 4, !tbaa !5
  %4892 = add nsw i32 %4891, 1
  store i32 %4892, ptr @test_count, align 4, !tbaa !5
  %4893 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_quic_transport_parameters_extension, i32 0, i32 4), align 8, !tbaa !26
  %4894 = load ptr, ptr %93, align 8, !tbaa !9
  %4895 = call i32 %4893(ptr noundef %4894, ptr noundef %96)
  %4896 = icmp eq i32 %4895, -1
  br i1 %4896, label %4897, label %4950

4897:                                             ; preds = %4890
  br label %4898

4898:                                             ; preds = %4897
  br label %4899

4899:                                             ; preds = %4898
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #9
  %4900 = call ptr @__errno_location() #10
  %4901 = load i32, ptr %4900, align 4, !tbaa !5
  store i32 %4901, ptr %99, align 4, !tbaa !5
  %4902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4903 = call i32 @s2n_print_stacktrace(ptr noundef %4902)
  %4904 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4905 = trunc i8 %4904 to i1
  br i1 %4905, label %4906, label %4928

4906:                                             ; preds = %4899
  %4907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4908 = call i32 @fileno(ptr noundef %4907) #9
  %4909 = call i32 @isatty(i32 noundef %4908) #9
  %4910 = icmp ne i32 %4909, 0
  br i1 %4910, label %4911, label %4928

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

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

4945:                                             ; preds = %4928, %4911
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #9
  br label %4946

4946:                                             ; preds = %4945
  br label %4947

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

4948:                                             ; No predecessors!
  br label %4949

4949:                                             ; preds = %4948
  br label %4950

4950:                                             ; preds = %4949, %4890
  br label %4951

4951:                                             ; preds = %4950
  br label %4952

4952:                                             ; preds = %4951
  br label %4953

4953:                                             ; preds = %4952
  br label %4954

4954:                                             ; preds = %4953
  %4955 = load i32, ptr @test_count, align 4, !tbaa !5
  %4956 = add nsw i32 %4955, 1
  store i32 %4956, ptr @test_count, align 4, !tbaa !5
  %4957 = load ptr, ptr %93, align 8, !tbaa !9
  %4958 = getelementptr inbounds %struct.s2n_connection, ptr %4957, i32 0, i32 70
  %4959 = getelementptr inbounds %struct.s2n_blob, ptr %4958, i32 0, i32 0
  %4960 = load ptr, ptr %4959, align 8, !tbaa !27
  %4961 = call i32 @memcmp(ptr noundef %4960, ptr noundef @TEST_DATA, i64 noundef 31) #12
  %4962 = icmp eq i32 %4961, 0
  br i1 %4962, label %5016, label %4963

4963:                                             ; preds = %4954
  br label %4964

4964:                                             ; preds = %4963
  br label %4965

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

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

4977:                                             ; preds = %4972
  %4978 = load i32, ptr %100, align 4, !tbaa !5
  %4979 = call ptr @__errno_location() #10
  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() #10
  %4989 = load i32, ptr %4988, align 4, !tbaa !5
  %4990 = call ptr @strerror(i32 noundef %4989) #9
  %4991 = call ptr @__errno_location() #10
  %4992 = load i32, ptr %4991, align 4, !tbaa !5
  %4993 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4980, ptr noundef @.str.2, i32 noundef %4981, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 179, ptr noundef %4984, ptr noundef %4987, ptr noundef %4990, i32 noundef %4992) #9
  br label %5011

4994:                                             ; preds = %4972, %4965
  %4995 = load i32, ptr %100, align 4, !tbaa !5
  %4996 = call ptr @__errno_location() #10
  store i32 %4995, ptr %4996, align 4, !tbaa !5
  %4997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4998 = load i32, ptr @test_count, align 4, !tbaa !5
  %4999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5000 = load i32, ptr %4999, align 4, !tbaa !5
  %5001 = call ptr @s2n_strerror(i32 noundef %5000, ptr noundef @.str.4)
  %5002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5003 = load i32, ptr %5002, align 4, !tbaa !5
  %5004 = call ptr @s2n_strerror_debug(i32 noundef %5003, ptr noundef @.str.4)
  %5005 = call ptr @__errno_location() #10
  %5006 = load i32, ptr %5005, align 4, !tbaa !5
  %5007 = call ptr @strerror(i32 noundef %5006) #9
  %5008 = call ptr @__errno_location() #10
  %5009 = load i32, ptr %5008, align 4, !tbaa !5
  %5010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4997, ptr noundef @.str.5, i32 noundef %4998, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 179, ptr noundef %5001, ptr noundef %5004, ptr noundef %5007, i32 noundef %5009) #9
  br label %5011

5011:                                             ; preds = %4994, %4977
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #9
  br label %5012

5012:                                             ; preds = %5011
  br label %5013

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

5014:                                             ; No predecessors!
  br label %5015

5015:                                             ; preds = %5014
  br label %5016

5016:                                             ; preds = %5015, %4954
  br label %5017

5017:                                             ; preds = %5016
  br label %5018

5018:                                             ; preds = %5017
  br label %5019

5019:                                             ; preds = %5018
  br label %5020

5020:                                             ; preds = %5019
  br label %5021

5021:                                             ; preds = %5020
  %5022 = load i32, ptr @test_count, align 4, !tbaa !5
  %5023 = add nsw i32 %5022, 1
  store i32 %5023, ptr @test_count, align 4, !tbaa !5
  %5024 = load ptr, ptr %93, align 8, !tbaa !9
  %5025 = call i32 @s2n_connection_free(ptr noundef %5024)
  %5026 = icmp eq i32 %5025, -1
  br i1 %5026, label %5027, label %5080

5027:                                             ; preds = %5021
  br label %5028

5028:                                             ; preds = %5027
  br label %5029

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

5036:                                             ; preds = %5029
  %5037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5038 = call i32 @fileno(ptr noundef %5037) #9
  %5039 = call i32 @isatty(i32 noundef %5038) #9
  %5040 = icmp ne i32 %5039, 0
  br i1 %5040, label %5041, label %5058

5041:                                             ; preds = %5036
  %5042 = load i32, ptr %101, align 4, !tbaa !5
  %5043 = call ptr @__errno_location() #10
  store i32 %5042, ptr %5043, align 4, !tbaa !5
  %5044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5045 = load i32, ptr @test_count, align 4, !tbaa !5
  %5046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5047 = load i32, ptr %5046, align 4, !tbaa !5
  %5048 = call ptr @s2n_strerror(i32 noundef %5047, ptr noundef @.str.4)
  %5049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5050 = load i32, ptr %5049, align 4, !tbaa !5
  %5051 = call ptr @s2n_strerror_debug(i32 noundef %5050, ptr noundef @.str.4)
  %5052 = call ptr @__errno_location() #10
  %5053 = load i32, ptr %5052, align 4, !tbaa !5
  %5054 = call ptr @strerror(i32 noundef %5053) #9
  %5055 = call ptr @__errno_location() #10
  %5056 = load i32, ptr %5055, align 4, !tbaa !5
  %5057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5044, ptr noundef @.str.2, i32 noundef %5045, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 181, ptr noundef %5048, ptr noundef %5051, ptr noundef %5054, i32 noundef %5056) #9
  br label %5075

5058:                                             ; preds = %5036, %5029
  %5059 = load i32, ptr %101, align 4, !tbaa !5
  %5060 = call ptr @__errno_location() #10
  store i32 %5059, ptr %5060, align 4, !tbaa !5
  %5061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5062 = load i32, ptr @test_count, align 4, !tbaa !5
  %5063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5064 = load i32, ptr %5063, align 4, !tbaa !5
  %5065 = call ptr @s2n_strerror(i32 noundef %5064, ptr noundef @.str.4)
  %5066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5067 = load i32, ptr %5066, align 4, !tbaa !5
  %5068 = call ptr @s2n_strerror_debug(i32 noundef %5067, ptr noundef @.str.4)
  %5069 = call ptr @__errno_location() #10
  %5070 = load i32, ptr %5069, align 4, !tbaa !5
  %5071 = call ptr @strerror(i32 noundef %5070) #9
  %5072 = call ptr @__errno_location() #10
  %5073 = load i32, ptr %5072, align 4, !tbaa !5
  %5074 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5061, ptr noundef @.str.5, i32 noundef %5062, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 181, ptr noundef %5065, ptr noundef %5068, ptr noundef %5071, i32 noundef %5073) #9
  br label %5075

5075:                                             ; preds = %5058, %5041
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #9
  br label %5076

5076:                                             ; preds = %5075
  br label %5077

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

5078:                                             ; No predecessors!
  br label %5079

5079:                                             ; preds = %5078
  br label %5080

5080:                                             ; preds = %5079, %5021
  br label %5081

5081:                                             ; preds = %5080
  br label %5082

5082:                                             ; preds = %5081
  br label %5083

5083:                                             ; preds = %5082
  %5084 = load i32, ptr @test_count, align 4, !tbaa !5
  %5085 = add nsw i32 %5084, 1
  store i32 %5085, ptr @test_count, align 4, !tbaa !5
  %5086 = load ptr, ptr %90, align 8, !tbaa !9
  %5087 = call i32 @s2n_config_free(ptr noundef %5086)
  %5088 = icmp eq i32 %5087, -1
  br i1 %5088, label %5089, label %5142

5089:                                             ; preds = %5083
  br label %5090

5090:                                             ; preds = %5089
  br label %5091

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

5098:                                             ; preds = %5091
  %5099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5100 = call i32 @fileno(ptr noundef %5099) #9
  %5101 = call i32 @isatty(i32 noundef %5100) #9
  %5102 = icmp ne i32 %5101, 0
  br i1 %5102, label %5103, label %5120

5103:                                             ; preds = %5098
  %5104 = load i32, ptr %102, align 4, !tbaa !5
  %5105 = call ptr @__errno_location() #10
  store i32 %5104, ptr %5105, align 4, !tbaa !5
  %5106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5107 = load i32, ptr @test_count, align 4, !tbaa !5
  %5108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5109 = load i32, ptr %5108, align 4, !tbaa !5
  %5110 = call ptr @s2n_strerror(i32 noundef %5109, ptr noundef @.str.4)
  %5111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5112 = load i32, ptr %5111, align 4, !tbaa !5
  %5113 = call ptr @s2n_strerror_debug(i32 noundef %5112, ptr noundef @.str.4)
  %5114 = call ptr @__errno_location() #10
  %5115 = load i32, ptr %5114, align 4, !tbaa !5
  %5116 = call ptr @strerror(i32 noundef %5115) #9
  %5117 = call ptr @__errno_location() #10
  %5118 = load i32, ptr %5117, align 4, !tbaa !5
  %5119 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5106, ptr noundef @.str.2, i32 noundef %5107, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 182, ptr noundef %5110, ptr noundef %5113, ptr noundef %5116, i32 noundef %5118) #9
  br label %5137

5120:                                             ; preds = %5098, %5091
  %5121 = load i32, ptr %102, align 4, !tbaa !5
  %5122 = call ptr @__errno_location() #10
  store i32 %5121, ptr %5122, align 4, !tbaa !5
  %5123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5124 = load i32, ptr @test_count, align 4, !tbaa !5
  %5125 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5126 = load i32, ptr %5125, align 4, !tbaa !5
  %5127 = call ptr @s2n_strerror(i32 noundef %5126, ptr noundef @.str.4)
  %5128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5129 = load i32, ptr %5128, align 4, !tbaa !5
  %5130 = call ptr @s2n_strerror_debug(i32 noundef %5129, ptr noundef @.str.4)
  %5131 = call ptr @__errno_location() #10
  %5132 = load i32, ptr %5131, align 4, !tbaa !5
  %5133 = call ptr @strerror(i32 noundef %5132) #9
  %5134 = call ptr @__errno_location() #10
  %5135 = load i32, ptr %5134, align 4, !tbaa !5
  %5136 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5123, ptr noundef @.str.5, i32 noundef %5124, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 182, ptr noundef %5127, ptr noundef %5130, ptr noundef %5133, i32 noundef %5135) #9
  br label %5137

5137:                                             ; preds = %5120, %5103
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #9
  br label %5138

5138:                                             ; preds = %5137
  br label %5139

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

5140:                                             ; No predecessors!
  br label %5141

5141:                                             ; preds = %5140
  br label %5142

5142:                                             ; preds = %5141, %5083
  br label %5143

5143:                                             ; preds = %5142
  br label %5144

5144:                                             ; preds = %5143
  br label %5145

5145:                                             ; preds = %5144
  %5146 = load i32, ptr @test_count, align 4, !tbaa !5
  %5147 = add nsw i32 %5146, 1
  store i32 %5147, ptr @test_count, align 4, !tbaa !5
  %5148 = call i32 @s2n_stuffer_free(ptr noundef %96)
  %5149 = icmp eq i32 %5148, -1
  br i1 %5149, label %5150, label %5203

5150:                                             ; preds = %5145
  br label %5151

5151:                                             ; preds = %5150
  br label %5152

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

5159:                                             ; preds = %5152
  %5160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5161 = call i32 @fileno(ptr noundef %5160) #9
  %5162 = call i32 @isatty(i32 noundef %5161) #9
  %5163 = icmp ne i32 %5162, 0
  br i1 %5163, label %5164, label %5181

5164:                                             ; preds = %5159
  %5165 = load i32, ptr %103, align 4, !tbaa !5
  %5166 = call ptr @__errno_location() #10
  store i32 %5165, ptr %5166, align 4, !tbaa !5
  %5167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5168 = load i32, ptr @test_count, align 4, !tbaa !5
  %5169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5170 = load i32, ptr %5169, align 4, !tbaa !5
  %5171 = call ptr @s2n_strerror(i32 noundef %5170, ptr noundef @.str.4)
  %5172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5173 = load i32, ptr %5172, align 4, !tbaa !5
  %5174 = call ptr @s2n_strerror_debug(i32 noundef %5173, ptr noundef @.str.4)
  %5175 = call ptr @__errno_location() #10
  %5176 = load i32, ptr %5175, align 4, !tbaa !5
  %5177 = call ptr @strerror(i32 noundef %5176) #9
  %5178 = call ptr @__errno_location() #10
  %5179 = load i32, ptr %5178, align 4, !tbaa !5
  %5180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5167, ptr noundef @.str.2, i32 noundef %5168, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 183, ptr noundef %5171, ptr noundef %5174, ptr noundef %5177, i32 noundef %5179) #9
  br label %5198

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

5198:                                             ; preds = %5181, %5164
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #9
  br label %5199

5199:                                             ; preds = %5198
  br label %5200

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

5201:                                             ; No predecessors!
  br label %5202

5202:                                             ; preds = %5201
  br label %5203

5203:                                             ; preds = %5202, %5145
  br label %5204

5204:                                             ; preds = %5203
  br label %5205

5205:                                             ; preds = %5204
  call void @llvm.lifetime.end.p0(i64 40, ptr %96) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %104) #9
  store ptr null, ptr %104, align 8, !tbaa !9
  br label %5206

5206:                                             ; preds = %5205
  %5207 = load i32, ptr @test_count, align 4, !tbaa !5
  %5208 = add nsw i32 %5207, 1
  store i32 %5208, ptr @test_count, align 4, !tbaa !5
  %5209 = call ptr @s2n_config_new()
  store ptr %5209, ptr %104, align 8, !tbaa !9
  %5210 = icmp eq ptr %5209, null
  br i1 %5210, label %5211, label %5264

5211:                                             ; preds = %5206
  br label %5212

5212:                                             ; preds = %5211
  br label %5213

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

5220:                                             ; preds = %5213
  %5221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5222 = call i32 @fileno(ptr noundef %5221) #9
  %5223 = call i32 @isatty(i32 noundef %5222) #9
  %5224 = icmp ne i32 %5223, 0
  br i1 %5224, label %5225, label %5242

5225:                                             ; preds = %5220
  %5226 = load i32, ptr %105, align 4, !tbaa !5
  %5227 = call ptr @__errno_location() #10
  store i32 %5226, ptr %5227, align 4, !tbaa !5
  %5228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5229 = load i32, ptr @test_count, align 4, !tbaa !5
  %5230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5231 = load i32, ptr %5230, align 4, !tbaa !5
  %5232 = call ptr @s2n_strerror(i32 noundef %5231, ptr noundef @.str.4)
  %5233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5234 = load i32, ptr %5233, align 4, !tbaa !5
  %5235 = call ptr @s2n_strerror_debug(i32 noundef %5234, ptr noundef @.str.4)
  %5236 = call ptr @__errno_location() #10
  %5237 = load i32, ptr %5236, align 4, !tbaa !5
  %5238 = call ptr @strerror(i32 noundef %5237) #9
  %5239 = call ptr @__errno_location() #10
  %5240 = load i32, ptr %5239, align 4, !tbaa !5
  %5241 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5228, ptr noundef @.str.2, i32 noundef %5229, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 189, ptr noundef %5232, ptr noundef %5235, ptr noundef %5238, i32 noundef %5240) #9
  br label %5259

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

5259:                                             ; preds = %5242, %5225
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #9
  br label %5260

5260:                                             ; preds = %5259
  br label %5261

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

5262:                                             ; No predecessors!
  br label %5263

5263:                                             ; preds = %5262
  br label %5264

5264:                                             ; preds = %5263, %5206
  br label %5265

5265:                                             ; preds = %5264
  br label %5266

5266:                                             ; preds = %5265
  br label %5267

5267:                                             ; preds = %5266
  %5268 = load i32, ptr @test_count, align 4, !tbaa !5
  %5269 = add nsw i32 %5268, 1
  store i32 %5269, ptr @test_count, align 4, !tbaa !5
  %5270 = load ptr, ptr %104, align 8, !tbaa !9
  %5271 = call i32 @s2n_config_enable_quic(ptr noundef %5270)
  %5272 = icmp eq i32 %5271, -1
  br i1 %5272, label %5273, label %5326

5273:                                             ; preds = %5267
  br label %5274

5274:                                             ; preds = %5273
  br label %5275

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

5282:                                             ; preds = %5275
  %5283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5284 = call i32 @fileno(ptr noundef %5283) #9
  %5285 = call i32 @isatty(i32 noundef %5284) #9
  %5286 = icmp ne i32 %5285, 0
  br i1 %5286, label %5287, label %5304

5287:                                             ; preds = %5282
  %5288 = load i32, ptr %106, align 4, !tbaa !5
  %5289 = call ptr @__errno_location() #10
  store i32 %5288, ptr %5289, align 4, !tbaa !5
  %5290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5291 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %5293, ptr noundef @.str.4)
  %5295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5296 = load i32, ptr %5295, align 4, !tbaa !5
  %5297 = call ptr @s2n_strerror_debug(i32 noundef %5296, ptr noundef @.str.4)
  %5298 = call ptr @__errno_location() #10
  %5299 = load i32, ptr %5298, align 4, !tbaa !5
  %5300 = call ptr @strerror(i32 noundef %5299) #9
  %5301 = call ptr @__errno_location() #10
  %5302 = load i32, ptr %5301, align 4, !tbaa !5
  %5303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5290, ptr noundef @.str.2, i32 noundef %5291, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 190, ptr noundef %5294, ptr noundef %5297, ptr noundef %5300, i32 noundef %5302) #9
  br label %5321

5304:                                             ; preds = %5282, %5275
  %5305 = load i32, ptr %106, align 4, !tbaa !5
  %5306 = call ptr @__errno_location() #10
  store i32 %5305, ptr %5306, align 4, !tbaa !5
  %5307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5308 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %5310, ptr noundef @.str.4)
  %5312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5313 = load i32, ptr %5312, align 4, !tbaa !5
  %5314 = call ptr @s2n_strerror_debug(i32 noundef %5313, ptr noundef @.str.4)
  %5315 = call ptr @__errno_location() #10
  %5316 = load i32, ptr %5315, align 4, !tbaa !5
  %5317 = call ptr @strerror(i32 noundef %5316) #9
  %5318 = call ptr @__errno_location() #10
  %5319 = load i32, ptr %5318, align 4, !tbaa !5
  %5320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5307, ptr noundef @.str.5, i32 noundef %5308, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 190, ptr noundef %5311, ptr noundef %5314, ptr noundef %5317, i32 noundef %5319) #9
  br label %5321

5321:                                             ; preds = %5304, %5287
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #9
  br label %5322

5322:                                             ; preds = %5321
  br label %5323

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

5324:                                             ; No predecessors!
  br label %5325

5325:                                             ; preds = %5324
  br label %5326

5326:                                             ; preds = %5325, %5267
  br label %5327

5327:                                             ; preds = %5326
  br label %5328

5328:                                             ; preds = %5327
  call void @llvm.lifetime.start.p0(i64 8, ptr %107) #9
  store ptr null, ptr %107, align 8, !tbaa !9
  br label %5329

5329:                                             ; preds = %5328
  %5330 = load i32, ptr @test_count, align 4, !tbaa !5
  %5331 = add nsw i32 %5330, 1
  store i32 %5331, ptr @test_count, align 4, !tbaa !5
  %5332 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %5332, ptr %107, align 8, !tbaa !9
  %5333 = icmp eq ptr %5332, null
  br i1 %5333, label %5334, label %5387

5334:                                             ; preds = %5329
  br label %5335

5335:                                             ; preds = %5334
  br label %5336

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

5343:                                             ; preds = %5336
  %5344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5345 = call i32 @fileno(ptr noundef %5344) #9
  %5346 = call i32 @isatty(i32 noundef %5345) #9
  %5347 = icmp ne i32 %5346, 0
  br i1 %5347, label %5348, label %5365

5348:                                             ; preds = %5343
  %5349 = load i32, ptr %108, align 4, !tbaa !5
  %5350 = call ptr @__errno_location() #10
  store i32 %5349, ptr %5350, align 4, !tbaa !5
  %5351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5352 = load i32, ptr @test_count, align 4, !tbaa !5
  %5353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5354 = load i32, ptr %5353, align 4, !tbaa !5
  %5355 = call ptr @s2n_strerror(i32 noundef %5354, ptr noundef @.str.4)
  %5356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5357 = load i32, ptr %5356, align 4, !tbaa !5
  %5358 = call ptr @s2n_strerror_debug(i32 noundef %5357, ptr noundef @.str.4)
  %5359 = call ptr @__errno_location() #10
  %5360 = load i32, ptr %5359, align 4, !tbaa !5
  %5361 = call ptr @strerror(i32 noundef %5360) #9
  %5362 = call ptr @__errno_location() #10
  %5363 = load i32, ptr %5362, align 4, !tbaa !5
  %5364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5351, ptr noundef @.str.2, i32 noundef %5352, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 193, ptr noundef %5355, ptr noundef %5358, ptr noundef %5361, i32 noundef %5363) #9
  br label %5382

5365:                                             ; preds = %5343, %5336
  %5366 = load i32, ptr %108, align 4, !tbaa !5
  %5367 = call ptr @__errno_location() #10
  store i32 %5366, ptr %5367, align 4, !tbaa !5
  %5368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5369 = load i32, ptr @test_count, align 4, !tbaa !5
  %5370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5371 = load i32, ptr %5370, align 4, !tbaa !5
  %5372 = call ptr @s2n_strerror(i32 noundef %5371, ptr noundef @.str.4)
  %5373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5374 = load i32, ptr %5373, align 4, !tbaa !5
  %5375 = call ptr @s2n_strerror_debug(i32 noundef %5374, ptr noundef @.str.4)
  %5376 = call ptr @__errno_location() #10
  %5377 = load i32, ptr %5376, align 4, !tbaa !5
  %5378 = call ptr @strerror(i32 noundef %5377) #9
  %5379 = call ptr @__errno_location() #10
  %5380 = load i32, ptr %5379, align 4, !tbaa !5
  %5381 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5368, ptr noundef @.str.5, i32 noundef %5369, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 193, ptr noundef %5372, ptr noundef %5375, ptr noundef %5378, i32 noundef %5380) #9
  br label %5382

5382:                                             ; preds = %5365, %5348
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #9
  br label %5383

5383:                                             ; preds = %5382
  br label %5384

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

5385:                                             ; No predecessors!
  br label %5386

5386:                                             ; preds = %5385
  br label %5387

5387:                                             ; preds = %5386, %5329
  br label %5388

5388:                                             ; preds = %5387
  br label %5389

5389:                                             ; preds = %5388
  br label %5390

5390:                                             ; preds = %5389
  %5391 = load i32, ptr @test_count, align 4, !tbaa !5
  %5392 = add nsw i32 %5391, 1
  store i32 %5392, ptr @test_count, align 4, !tbaa !5
  %5393 = load ptr, ptr %107, align 8, !tbaa !9
  %5394 = load ptr, ptr %104, align 8, !tbaa !9
  %5395 = call i32 @s2n_connection_set_config(ptr noundef %5393, ptr noundef %5394)
  %5396 = icmp eq i32 %5395, -1
  br i1 %5396, label %5397, label %5450

5397:                                             ; preds = %5390
  br label %5398

5398:                                             ; preds = %5397
  br label %5399

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

5406:                                             ; preds = %5399
  %5407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5408 = call i32 @fileno(ptr noundef %5407) #9
  %5409 = call i32 @isatty(i32 noundef %5408) #9
  %5410 = icmp ne i32 %5409, 0
  br i1 %5410, label %5411, label %5428

5411:                                             ; preds = %5406
  %5412 = load i32, ptr %109, align 4, !tbaa !5
  %5413 = call ptr @__errno_location() #10
  store i32 %5412, ptr %5413, align 4, !tbaa !5
  %5414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5415 = load i32, ptr @test_count, align 4, !tbaa !5
  %5416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5417 = load i32, ptr %5416, align 4, !tbaa !5
  %5418 = call ptr @s2n_strerror(i32 noundef %5417, ptr noundef @.str.4)
  %5419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5420 = load i32, ptr %5419, align 4, !tbaa !5
  %5421 = call ptr @s2n_strerror_debug(i32 noundef %5420, ptr noundef @.str.4)
  %5422 = call ptr @__errno_location() #10
  %5423 = load i32, ptr %5422, align 4, !tbaa !5
  %5424 = call ptr @strerror(i32 noundef %5423) #9
  %5425 = call ptr @__errno_location() #10
  %5426 = load i32, ptr %5425, align 4, !tbaa !5
  %5427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5414, ptr noundef @.str.2, i32 noundef %5415, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 194, ptr noundef %5418, ptr noundef %5421, ptr noundef %5424, i32 noundef %5426) #9
  br label %5445

5428:                                             ; preds = %5406, %5399
  %5429 = load i32, ptr %109, align 4, !tbaa !5
  %5430 = call ptr @__errno_location() #10
  store i32 %5429, ptr %5430, align 4, !tbaa !5
  %5431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5432 = load i32, ptr @test_count, align 4, !tbaa !5
  %5433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5434 = load i32, ptr %5433, align 4, !tbaa !5
  %5435 = call ptr @s2n_strerror(i32 noundef %5434, ptr noundef @.str.4)
  %5436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5437 = load i32, ptr %5436, align 4, !tbaa !5
  %5438 = call ptr @s2n_strerror_debug(i32 noundef %5437, ptr noundef @.str.4)
  %5439 = call ptr @__errno_location() #10
  %5440 = load i32, ptr %5439, align 4, !tbaa !5
  %5441 = call ptr @strerror(i32 noundef %5440) #9
  %5442 = call ptr @__errno_location() #10
  %5443 = load i32, ptr %5442, align 4, !tbaa !5
  %5444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5431, ptr noundef @.str.5, i32 noundef %5432, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 194, ptr noundef %5435, ptr noundef %5438, ptr noundef %5441, i32 noundef %5443) #9
  br label %5445

5445:                                             ; preds = %5428, %5411
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #9
  br label %5446

5446:                                             ; preds = %5445
  br label %5447

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

5448:                                             ; No predecessors!
  br label %5449

5449:                                             ; preds = %5448
  br label %5450

5450:                                             ; preds = %5449, %5390
  br label %5451

5451:                                             ; preds = %5450
  br label %5452

5452:                                             ; preds = %5451
  call void @llvm.lifetime.start.p0(i64 40, ptr %110) #9
  call void @llvm.memset.p0.i64(ptr align 8 %110, i8 0, i64 40, i1 false)
  br label %5453

5453:                                             ; preds = %5452
  %5454 = load i32, ptr @test_count, align 4, !tbaa !5
  %5455 = add nsw i32 %5454, 1
  store i32 %5455, ptr @test_count, align 4, !tbaa !5
  %5456 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_quic_transport_parameters_extension, i32 0, i32 4), align 8, !tbaa !26
  %5457 = load ptr, ptr %107, align 8, !tbaa !9
  %5458 = call i32 %5456(ptr noundef %5457, ptr noundef %110)
  %5459 = icmp eq i32 %5458, -1
  br i1 %5459, label %5460, label %5513

5460:                                             ; preds = %5453
  br label %5461

5461:                                             ; preds = %5460
  br label %5462

5462:                                             ; preds = %5461
  call void @llvm.lifetime.start.p0(i64 4, ptr %111) #9
  %5463 = call ptr @__errno_location() #10
  %5464 = load i32, ptr %5463, align 4, !tbaa !5
  store i32 %5464, ptr %111, align 4, !tbaa !5
  %5465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5466 = call i32 @s2n_print_stacktrace(ptr noundef %5465)
  %5467 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5468 = trunc i8 %5467 to i1
  br i1 %5468, label %5469, label %5491

5469:                                             ; preds = %5462
  %5470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5471 = call i32 @fileno(ptr noundef %5470) #9
  %5472 = call i32 @isatty(i32 noundef %5471) #9
  %5473 = icmp ne i32 %5472, 0
  br i1 %5473, label %5474, label %5491

5474:                                             ; preds = %5469
  %5475 = load i32, ptr %111, align 4, !tbaa !5
  %5476 = call ptr @__errno_location() #10
  store i32 %5475, ptr %5476, align 4, !tbaa !5
  %5477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5478 = load i32, ptr @test_count, align 4, !tbaa !5
  %5479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5480 = load i32, ptr %5479, align 4, !tbaa !5
  %5481 = call ptr @s2n_strerror(i32 noundef %5480, ptr noundef @.str.4)
  %5482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5483 = load i32, ptr %5482, align 4, !tbaa !5
  %5484 = call ptr @s2n_strerror_debug(i32 noundef %5483, ptr noundef @.str.4)
  %5485 = call ptr @__errno_location() #10
  %5486 = load i32, ptr %5485, align 4, !tbaa !5
  %5487 = call ptr @strerror(i32 noundef %5486) #9
  %5488 = call ptr @__errno_location() #10
  %5489 = load i32, ptr %5488, align 4, !tbaa !5
  %5490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5477, ptr noundef @.str.2, i32 noundef %5478, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 198, ptr noundef %5481, ptr noundef %5484, ptr noundef %5487, i32 noundef %5489) #9
  br label %5508

5491:                                             ; preds = %5469, %5462
  %5492 = load i32, ptr %111, align 4, !tbaa !5
  %5493 = call ptr @__errno_location() #10
  store i32 %5492, ptr %5493, align 4, !tbaa !5
  %5494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5495 = load i32, ptr @test_count, align 4, !tbaa !5
  %5496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5497 = load i32, ptr %5496, align 4, !tbaa !5
  %5498 = call ptr @s2n_strerror(i32 noundef %5497, ptr noundef @.str.4)
  %5499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5500 = load i32, ptr %5499, align 4, !tbaa !5
  %5501 = call ptr @s2n_strerror_debug(i32 noundef %5500, ptr noundef @.str.4)
  %5502 = call ptr @__errno_location() #10
  %5503 = load i32, ptr %5502, align 4, !tbaa !5
  %5504 = call ptr @strerror(i32 noundef %5503) #9
  %5505 = call ptr @__errno_location() #10
  %5506 = load i32, ptr %5505, align 4, !tbaa !5
  %5507 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5494, ptr noundef @.str.5, i32 noundef %5495, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 198, ptr noundef %5498, ptr noundef %5501, ptr noundef %5504, i32 noundef %5506) #9
  br label %5508

5508:                                             ; preds = %5491, %5474
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #9
  br label %5509

5509:                                             ; preds = %5508
  br label %5510

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

5511:                                             ; No predecessors!
  br label %5512

5512:                                             ; preds = %5511
  br label %5513

5513:                                             ; preds = %5512, %5453
  br label %5514

5514:                                             ; preds = %5513
  br label %5515

5515:                                             ; preds = %5514
  br label %5516

5516:                                             ; preds = %5515
  %5517 = load i32, ptr @test_count, align 4, !tbaa !5
  %5518 = add nsw i32 %5517, 1
  store i32 %5518, ptr @test_count, align 4, !tbaa !5
  %5519 = load ptr, ptr %107, align 8, !tbaa !9
  %5520 = getelementptr inbounds %struct.s2n_connection, ptr %5519, i32 0, i32 70
  %5521 = getelementptr inbounds %struct.s2n_blob, ptr %5520, i32 0, i32 1
  %5522 = load i32, ptr %5521, align 8, !tbaa !51
  %5523 = icmp eq i32 %5522, 0
  br i1 %5523, label %5577, label %5524

5524:                                             ; preds = %5516
  br label %5525

5525:                                             ; preds = %5524
  br label %5526

5526:                                             ; preds = %5525
  call void @llvm.lifetime.start.p0(i64 4, ptr %112) #9
  %5527 = call ptr @__errno_location() #10
  %5528 = load i32, ptr %5527, align 4, !tbaa !5
  store i32 %5528, ptr %112, align 4, !tbaa !5
  %5529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5530 = call i32 @s2n_print_stacktrace(ptr noundef %5529)
  %5531 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5532 = trunc i8 %5531 to i1
  br i1 %5532, label %5533, label %5555

5533:                                             ; preds = %5526
  %5534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5535 = call i32 @fileno(ptr noundef %5534) #9
  %5536 = call i32 @isatty(i32 noundef %5535) #9
  %5537 = icmp ne i32 %5536, 0
  br i1 %5537, label %5538, label %5555

5538:                                             ; preds = %5533
  %5539 = load i32, ptr %112, align 4, !tbaa !5
  %5540 = call ptr @__errno_location() #10
  store i32 %5539, ptr %5540, align 4, !tbaa !5
  %5541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5542 = load i32, ptr @test_count, align 4, !tbaa !5
  %5543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5544 = load i32, ptr %5543, align 4, !tbaa !5
  %5545 = call ptr @s2n_strerror(i32 noundef %5544, ptr noundef @.str.4)
  %5546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5547 = load i32, ptr %5546, align 4, !tbaa !5
  %5548 = call ptr @s2n_strerror_debug(i32 noundef %5547, ptr noundef @.str.4)
  %5549 = call ptr @__errno_location() #10
  %5550 = load i32, ptr %5549, align 4, !tbaa !5
  %5551 = call ptr @strerror(i32 noundef %5550) #9
  %5552 = call ptr @__errno_location() #10
  %5553 = load i32, ptr %5552, align 4, !tbaa !5
  %5554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5541, ptr noundef @.str.2, i32 noundef %5542, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 199, ptr noundef %5545, ptr noundef %5548, ptr noundef %5551, i32 noundef %5553) #9
  br label %5572

5555:                                             ; preds = %5533, %5526
  %5556 = load i32, ptr %112, align 4, !tbaa !5
  %5557 = call ptr @__errno_location() #10
  store i32 %5556, ptr %5557, align 4, !tbaa !5
  %5558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5559 = load i32, ptr @test_count, align 4, !tbaa !5
  %5560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5561 = load i32, ptr %5560, align 4, !tbaa !5
  %5562 = call ptr @s2n_strerror(i32 noundef %5561, ptr noundef @.str.4)
  %5563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5564 = load i32, ptr %5563, align 4, !tbaa !5
  %5565 = call ptr @s2n_strerror_debug(i32 noundef %5564, ptr noundef @.str.4)
  %5566 = call ptr @__errno_location() #10
  %5567 = load i32, ptr %5566, align 4, !tbaa !5
  %5568 = call ptr @strerror(i32 noundef %5567) #9
  %5569 = call ptr @__errno_location() #10
  %5570 = load i32, ptr %5569, align 4, !tbaa !5
  %5571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5558, ptr noundef @.str.5, i32 noundef %5559, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 199, ptr noundef %5562, ptr noundef %5565, ptr noundef %5568, i32 noundef %5570) #9
  br label %5572

5572:                                             ; preds = %5555, %5538
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #9
  br label %5573

5573:                                             ; preds = %5572
  br label %5574

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

5575:                                             ; No predecessors!
  br label %5576

5576:                                             ; preds = %5575
  br label %5577

5577:                                             ; preds = %5576, %5516
  br label %5578

5578:                                             ; preds = %5577
  br label %5579

5579:                                             ; preds = %5578
  br label %5580

5580:                                             ; preds = %5579
  %5581 = load i32, ptr @test_count, align 4, !tbaa !5
  %5582 = add nsw i32 %5581, 1
  store i32 %5582, ptr @test_count, align 4, !tbaa !5
  %5583 = load ptr, ptr %107, align 8, !tbaa !9
  %5584 = call i32 @s2n_connection_free(ptr noundef %5583)
  %5585 = icmp eq i32 %5584, -1
  br i1 %5585, label %5586, label %5639

5586:                                             ; preds = %5580
  br label %5587

5587:                                             ; preds = %5586
  br label %5588

5588:                                             ; preds = %5587
  call void @llvm.lifetime.start.p0(i64 4, ptr %113) #9
  %5589 = call ptr @__errno_location() #10
  %5590 = load i32, ptr %5589, align 4, !tbaa !5
  store i32 %5590, ptr %113, align 4, !tbaa !5
  %5591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5592 = call i32 @s2n_print_stacktrace(ptr noundef %5591)
  %5593 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5594 = trunc i8 %5593 to i1
  br i1 %5594, label %5595, label %5617

5595:                                             ; preds = %5588
  %5596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5597 = call i32 @fileno(ptr noundef %5596) #9
  %5598 = call i32 @isatty(i32 noundef %5597) #9
  %5599 = icmp ne i32 %5598, 0
  br i1 %5599, label %5600, label %5617

5600:                                             ; preds = %5595
  %5601 = load i32, ptr %113, align 4, !tbaa !5
  %5602 = call ptr @__errno_location() #10
  store i32 %5601, ptr %5602, align 4, !tbaa !5
  %5603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5604 = load i32, ptr @test_count, align 4, !tbaa !5
  %5605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5606 = load i32, ptr %5605, align 4, !tbaa !5
  %5607 = call ptr @s2n_strerror(i32 noundef %5606, ptr noundef @.str.4)
  %5608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5609 = load i32, ptr %5608, align 4, !tbaa !5
  %5610 = call ptr @s2n_strerror_debug(i32 noundef %5609, ptr noundef @.str.4)
  %5611 = call ptr @__errno_location() #10
  %5612 = load i32, ptr %5611, align 4, !tbaa !5
  %5613 = call ptr @strerror(i32 noundef %5612) #9
  %5614 = call ptr @__errno_location() #10
  %5615 = load i32, ptr %5614, align 4, !tbaa !5
  %5616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5603, ptr noundef @.str.2, i32 noundef %5604, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 201, ptr noundef %5607, ptr noundef %5610, ptr noundef %5613, i32 noundef %5615) #9
  br label %5634

5617:                                             ; preds = %5595, %5588
  %5618 = load i32, ptr %113, align 4, !tbaa !5
  %5619 = call ptr @__errno_location() #10
  store i32 %5618, ptr %5619, align 4, !tbaa !5
  %5620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5621 = load i32, ptr @test_count, align 4, !tbaa !5
  %5622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5623 = load i32, ptr %5622, align 4, !tbaa !5
  %5624 = call ptr @s2n_strerror(i32 noundef %5623, ptr noundef @.str.4)
  %5625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5626 = load i32, ptr %5625, align 4, !tbaa !5
  %5627 = call ptr @s2n_strerror_debug(i32 noundef %5626, ptr noundef @.str.4)
  %5628 = call ptr @__errno_location() #10
  %5629 = load i32, ptr %5628, align 4, !tbaa !5
  %5630 = call ptr @strerror(i32 noundef %5629) #9
  %5631 = call ptr @__errno_location() #10
  %5632 = load i32, ptr %5631, align 4, !tbaa !5
  %5633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5620, ptr noundef @.str.5, i32 noundef %5621, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 201, ptr noundef %5624, ptr noundef %5627, ptr noundef %5630, i32 noundef %5632) #9
  br label %5634

5634:                                             ; preds = %5617, %5600
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #9
  br label %5635

5635:                                             ; preds = %5634
  br label %5636

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

5637:                                             ; No predecessors!
  br label %5638

5638:                                             ; preds = %5637
  br label %5639

5639:                                             ; preds = %5638, %5580
  br label %5640

5640:                                             ; preds = %5639
  br label %5641

5641:                                             ; preds = %5640
  br label %5642

5642:                                             ; preds = %5641
  %5643 = load i32, ptr @test_count, align 4, !tbaa !5
  %5644 = add nsw i32 %5643, 1
  store i32 %5644, ptr @test_count, align 4, !tbaa !5
  %5645 = load ptr, ptr %104, align 8, !tbaa !9
  %5646 = call i32 @s2n_config_free(ptr noundef %5645)
  %5647 = icmp eq i32 %5646, -1
  br i1 %5647, label %5648, label %5701

5648:                                             ; preds = %5642
  br label %5649

5649:                                             ; preds = %5648
  br label %5650

5650:                                             ; preds = %5649
  call void @llvm.lifetime.start.p0(i64 4, ptr %114) #9
  %5651 = call ptr @__errno_location() #10
  %5652 = load i32, ptr %5651, align 4, !tbaa !5
  store i32 %5652, ptr %114, align 4, !tbaa !5
  %5653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5654 = call i32 @s2n_print_stacktrace(ptr noundef %5653)
  %5655 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5656 = trunc i8 %5655 to i1
  br i1 %5656, label %5657, label %5679

5657:                                             ; preds = %5650
  %5658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5659 = call i32 @fileno(ptr noundef %5658) #9
  %5660 = call i32 @isatty(i32 noundef %5659) #9
  %5661 = icmp ne i32 %5660, 0
  br i1 %5661, label %5662, label %5679

5662:                                             ; preds = %5657
  %5663 = load i32, ptr %114, align 4, !tbaa !5
  %5664 = call ptr @__errno_location() #10
  store i32 %5663, ptr %5664, align 4, !tbaa !5
  %5665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5666 = load i32, ptr @test_count, align 4, !tbaa !5
  %5667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5668 = load i32, ptr %5667, align 4, !tbaa !5
  %5669 = call ptr @s2n_strerror(i32 noundef %5668, ptr noundef @.str.4)
  %5670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5671 = load i32, ptr %5670, align 4, !tbaa !5
  %5672 = call ptr @s2n_strerror_debug(i32 noundef %5671, ptr noundef @.str.4)
  %5673 = call ptr @__errno_location() #10
  %5674 = load i32, ptr %5673, align 4, !tbaa !5
  %5675 = call ptr @strerror(i32 noundef %5674) #9
  %5676 = call ptr @__errno_location() #10
  %5677 = load i32, ptr %5676, align 4, !tbaa !5
  %5678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5665, ptr noundef @.str.2, i32 noundef %5666, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 202, ptr noundef %5669, ptr noundef %5672, ptr noundef %5675, i32 noundef %5677) #9
  br label %5696

5679:                                             ; preds = %5657, %5650
  %5680 = load i32, ptr %114, align 4, !tbaa !5
  %5681 = call ptr @__errno_location() #10
  store i32 %5680, ptr %5681, align 4, !tbaa !5
  %5682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5683 = load i32, ptr @test_count, align 4, !tbaa !5
  %5684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5685 = load i32, ptr %5684, align 4, !tbaa !5
  %5686 = call ptr @s2n_strerror(i32 noundef %5685, ptr noundef @.str.4)
  %5687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5688 = load i32, ptr %5687, align 4, !tbaa !5
  %5689 = call ptr @s2n_strerror_debug(i32 noundef %5688, ptr noundef @.str.4)
  %5690 = call ptr @__errno_location() #10
  %5691 = load i32, ptr %5690, align 4, !tbaa !5
  %5692 = call ptr @strerror(i32 noundef %5691) #9
  %5693 = call ptr @__errno_location() #10
  %5694 = load i32, ptr %5693, align 4, !tbaa !5
  %5695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5682, ptr noundef @.str.5, i32 noundef %5683, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 202, ptr noundef %5686, ptr noundef %5689, ptr noundef %5692, i32 noundef %5694) #9
  br label %5696

5696:                                             ; preds = %5679, %5662
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #9
  br label %5697

5697:                                             ; preds = %5696
  br label %5698

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

5699:                                             ; No predecessors!
  br label %5700

5700:                                             ; preds = %5699
  br label %5701

5701:                                             ; preds = %5700, %5642
  br label %5702

5702:                                             ; preds = %5701
  br label %5703

5703:                                             ; preds = %5702
  call void @llvm.lifetime.end.p0(i64 40, ptr %110) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %107) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %104) #9
  call void @llvm.lifetime.start.p0(i64 40, ptr %115) #9
  call void @llvm.memset.p0.i64(ptr align 8 %115, i8 0, i64 40, i1 false)
  br label %5704

5704:                                             ; preds = %5703
  %5705 = load i32, ptr @test_count, align 4, !tbaa !5
  %5706 = add nsw i32 %5705, 1
  store i32 %5706, ptr @test_count, align 4, !tbaa !5
  %5707 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %115, i32 noundef 0)
  %5708 = icmp eq i32 %5707, -1
  br i1 %5708, label %5709, label %5762

5709:                                             ; preds = %5704
  br label %5710

5710:                                             ; preds = %5709
  br label %5711

5711:                                             ; preds = %5710
  call void @llvm.lifetime.start.p0(i64 4, ptr %116) #9
  %5712 = call ptr @__errno_location() #10
  %5713 = load i32, ptr %5712, align 4, !tbaa !5
  store i32 %5713, ptr %116, align 4, !tbaa !5
  %5714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5715 = call i32 @s2n_print_stacktrace(ptr noundef %5714)
  %5716 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5717 = trunc i8 %5716 to i1
  br i1 %5717, label %5718, label %5740

5718:                                             ; preds = %5711
  %5719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5720 = call i32 @fileno(ptr noundef %5719) #9
  %5721 = call i32 @isatty(i32 noundef %5720) #9
  %5722 = icmp ne i32 %5721, 0
  br i1 %5722, label %5723, label %5740

5723:                                             ; preds = %5718
  %5724 = load i32, ptr %116, align 4, !tbaa !5
  %5725 = call ptr @__errno_location() #10
  store i32 %5724, ptr %5725, align 4, !tbaa !5
  %5726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5727 = load i32, ptr @test_count, align 4, !tbaa !5
  %5728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5729 = load i32, ptr %5728, align 4, !tbaa !5
  %5730 = call ptr @s2n_strerror(i32 noundef %5729, ptr noundef @.str.4)
  %5731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5732 = load i32, ptr %5731, align 4, !tbaa !5
  %5733 = call ptr @s2n_strerror_debug(i32 noundef %5732, ptr noundef @.str.4)
  %5734 = call ptr @__errno_location() #10
  %5735 = load i32, ptr %5734, align 4, !tbaa !5
  %5736 = call ptr @strerror(i32 noundef %5735) #9
  %5737 = call ptr @__errno_location() #10
  %5738 = load i32, ptr %5737, align 4, !tbaa !5
  %5739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5726, ptr noundef @.str.2, i32 noundef %5727, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 208, ptr noundef %5730, ptr noundef %5733, ptr noundef %5736, i32 noundef %5738) #9
  br label %5757

5740:                                             ; preds = %5718, %5711
  %5741 = load i32, ptr %116, align 4, !tbaa !5
  %5742 = call ptr @__errno_location() #10
  store i32 %5741, ptr %5742, align 4, !tbaa !5
  %5743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5744 = load i32, ptr @test_count, align 4, !tbaa !5
  %5745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5746 = load i32, ptr %5745, align 4, !tbaa !5
  %5747 = call ptr @s2n_strerror(i32 noundef %5746, ptr noundef @.str.4)
  %5748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5749 = load i32, ptr %5748, align 4, !tbaa !5
  %5750 = call ptr @s2n_strerror_debug(i32 noundef %5749, ptr noundef @.str.4)
  %5751 = call ptr @__errno_location() #10
  %5752 = load i32, ptr %5751, align 4, !tbaa !5
  %5753 = call ptr @strerror(i32 noundef %5752) #9
  %5754 = call ptr @__errno_location() #10
  %5755 = load i32, ptr %5754, align 4, !tbaa !5
  %5756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5743, ptr noundef @.str.5, i32 noundef %5744, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 208, ptr noundef %5747, ptr noundef %5750, ptr noundef %5753, i32 noundef %5755) #9
  br label %5757

5757:                                             ; preds = %5740, %5723
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #9
  br label %5758

5758:                                             ; preds = %5757
  br label %5759

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

5760:                                             ; No predecessors!
  br label %5761

5761:                                             ; preds = %5760
  br label %5762

5762:                                             ; preds = %5761, %5704
  br label %5763

5763:                                             ; preds = %5762
  br label %5764

5764:                                             ; preds = %5763
  call void @llvm.lifetime.start.p0(i64 8, ptr %117) #9
  store ptr null, ptr %117, align 8, !tbaa !9
  br label %5765

5765:                                             ; preds = %5764
  %5766 = load i32, ptr @test_count, align 4, !tbaa !5
  %5767 = add nsw i32 %5766, 1
  store i32 %5767, ptr @test_count, align 4, !tbaa !5
  %5768 = call ptr @s2n_config_new()
  store ptr %5768, ptr %117, align 8, !tbaa !9
  %5769 = icmp eq ptr %5768, null
  br i1 %5769, label %5770, label %5823

5770:                                             ; preds = %5765
  br label %5771

5771:                                             ; preds = %5770
  br label %5772

5772:                                             ; preds = %5771
  call void @llvm.lifetime.start.p0(i64 4, ptr %118) #9
  %5773 = call ptr @__errno_location() #10
  %5774 = load i32, ptr %5773, align 4, !tbaa !5
  store i32 %5774, ptr %118, align 4, !tbaa !5
  %5775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5776 = call i32 @s2n_print_stacktrace(ptr noundef %5775)
  %5777 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5778 = trunc i8 %5777 to i1
  br i1 %5778, label %5779, label %5801

5779:                                             ; preds = %5772
  %5780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5781 = call i32 @fileno(ptr noundef %5780) #9
  %5782 = call i32 @isatty(i32 noundef %5781) #9
  %5783 = icmp ne i32 %5782, 0
  br i1 %5783, label %5784, label %5801

5784:                                             ; preds = %5779
  %5785 = load i32, ptr %118, align 4, !tbaa !5
  %5786 = call ptr @__errno_location() #10
  store i32 %5785, ptr %5786, align 4, !tbaa !5
  %5787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5788 = load i32, ptr @test_count, align 4, !tbaa !5
  %5789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5790 = load i32, ptr %5789, align 4, !tbaa !5
  %5791 = call ptr @s2n_strerror(i32 noundef %5790, ptr noundef @.str.4)
  %5792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5793 = load i32, ptr %5792, align 4, !tbaa !5
  %5794 = call ptr @s2n_strerror_debug(i32 noundef %5793, ptr noundef @.str.4)
  %5795 = call ptr @__errno_location() #10
  %5796 = load i32, ptr %5795, align 4, !tbaa !5
  %5797 = call ptr @strerror(i32 noundef %5796) #9
  %5798 = call ptr @__errno_location() #10
  %5799 = load i32, ptr %5798, align 4, !tbaa !5
  %5800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5787, ptr noundef @.str.2, i32 noundef %5788, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 211, ptr noundef %5791, ptr noundef %5794, ptr noundef %5797, i32 noundef %5799) #9
  br label %5818

5801:                                             ; preds = %5779, %5772
  %5802 = load i32, ptr %118, align 4, !tbaa !5
  %5803 = call ptr @__errno_location() #10
  store i32 %5802, ptr %5803, align 4, !tbaa !5
  %5804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5805 = load i32, ptr @test_count, align 4, !tbaa !5
  %5806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5807 = load i32, ptr %5806, align 4, !tbaa !5
  %5808 = call ptr @s2n_strerror(i32 noundef %5807, ptr noundef @.str.4)
  %5809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5810 = load i32, ptr %5809, align 4, !tbaa !5
  %5811 = call ptr @s2n_strerror_debug(i32 noundef %5810, ptr noundef @.str.4)
  %5812 = call ptr @__errno_location() #10
  %5813 = load i32, ptr %5812, align 4, !tbaa !5
  %5814 = call ptr @strerror(i32 noundef %5813) #9
  %5815 = call ptr @__errno_location() #10
  %5816 = load i32, ptr %5815, align 4, !tbaa !5
  %5817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5804, ptr noundef @.str.5, i32 noundef %5805, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 211, ptr noundef %5808, ptr noundef %5811, ptr noundef %5814, i32 noundef %5816) #9
  br label %5818

5818:                                             ; preds = %5801, %5784
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #9
  br label %5819

5819:                                             ; preds = %5818
  br label %5820

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

5821:                                             ; No predecessors!
  br label %5822

5822:                                             ; preds = %5821
  br label %5823

5823:                                             ; preds = %5822, %5765
  br label %5824

5824:                                             ; preds = %5823
  br label %5825

5825:                                             ; preds = %5824
  br label %5826

5826:                                             ; preds = %5825
  %5827 = load i32, ptr @test_count, align 4, !tbaa !5
  %5828 = add nsw i32 %5827, 1
  store i32 %5828, ptr @test_count, align 4, !tbaa !5
  %5829 = load ptr, ptr %117, align 8, !tbaa !9
  %5830 = call i32 @s2n_config_enable_quic(ptr noundef %5829)
  %5831 = icmp eq i32 %5830, -1
  br i1 %5831, label %5832, label %5885

5832:                                             ; preds = %5826
  br label %5833

5833:                                             ; preds = %5832
  br label %5834

5834:                                             ; preds = %5833
  call void @llvm.lifetime.start.p0(i64 4, ptr %119) #9
  %5835 = call ptr @__errno_location() #10
  %5836 = load i32, ptr %5835, align 4, !tbaa !5
  store i32 %5836, ptr %119, align 4, !tbaa !5
  %5837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5838 = call i32 @s2n_print_stacktrace(ptr noundef %5837)
  %5839 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5840 = trunc i8 %5839 to i1
  br i1 %5840, label %5841, label %5863

5841:                                             ; preds = %5834
  %5842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5843 = call i32 @fileno(ptr noundef %5842) #9
  %5844 = call i32 @isatty(i32 noundef %5843) #9
  %5845 = icmp ne i32 %5844, 0
  br i1 %5845, label %5846, label %5863

5846:                                             ; preds = %5841
  %5847 = load i32, ptr %119, align 4, !tbaa !5
  %5848 = call ptr @__errno_location() #10
  store i32 %5847, ptr %5848, align 4, !tbaa !5
  %5849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5850 = load i32, ptr @test_count, align 4, !tbaa !5
  %5851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5852 = load i32, ptr %5851, align 4, !tbaa !5
  %5853 = call ptr @s2n_strerror(i32 noundef %5852, ptr noundef @.str.4)
  %5854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5855 = load i32, ptr %5854, align 4, !tbaa !5
  %5856 = call ptr @s2n_strerror_debug(i32 noundef %5855, ptr noundef @.str.4)
  %5857 = call ptr @__errno_location() #10
  %5858 = load i32, ptr %5857, align 4, !tbaa !5
  %5859 = call ptr @strerror(i32 noundef %5858) #9
  %5860 = call ptr @__errno_location() #10
  %5861 = load i32, ptr %5860, align 4, !tbaa !5
  %5862 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5849, ptr noundef @.str.2, i32 noundef %5850, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 212, ptr noundef %5853, ptr noundef %5856, ptr noundef %5859, i32 noundef %5861) #9
  br label %5880

5863:                                             ; preds = %5841, %5834
  %5864 = load i32, ptr %119, align 4, !tbaa !5
  %5865 = call ptr @__errno_location() #10
  store i32 %5864, ptr %5865, align 4, !tbaa !5
  %5866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5867 = load i32, ptr @test_count, align 4, !tbaa !5
  %5868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5869 = load i32, ptr %5868, align 4, !tbaa !5
  %5870 = call ptr @s2n_strerror(i32 noundef %5869, ptr noundef @.str.4)
  %5871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5872 = load i32, ptr %5871, align 4, !tbaa !5
  %5873 = call ptr @s2n_strerror_debug(i32 noundef %5872, ptr noundef @.str.4)
  %5874 = call ptr @__errno_location() #10
  %5875 = load i32, ptr %5874, align 4, !tbaa !5
  %5876 = call ptr @strerror(i32 noundef %5875) #9
  %5877 = call ptr @__errno_location() #10
  %5878 = load i32, ptr %5877, align 4, !tbaa !5
  %5879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5866, ptr noundef @.str.5, i32 noundef %5867, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 212, ptr noundef %5870, ptr noundef %5873, ptr noundef %5876, i32 noundef %5878) #9
  br label %5880

5880:                                             ; preds = %5863, %5846
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #9
  br label %5881

5881:                                             ; preds = %5880
  br label %5882

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

5883:                                             ; No predecessors!
  br label %5884

5884:                                             ; preds = %5883
  br label %5885

5885:                                             ; preds = %5884, %5826
  br label %5886

5886:                                             ; preds = %5885
  br label %5887

5887:                                             ; preds = %5886
  call void @llvm.lifetime.start.p0(i64 8, ptr %120) #9
  store ptr null, ptr %120, align 8, !tbaa !9
  br label %5888

5888:                                             ; preds = %5887
  %5889 = load i32, ptr @test_count, align 4, !tbaa !5
  %5890 = add nsw i32 %5889, 1
  store i32 %5890, ptr @test_count, align 4, !tbaa !5
  %5891 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %5891, ptr %120, align 8, !tbaa !9
  %5892 = icmp eq ptr %5891, null
  br i1 %5892, label %5893, label %5946

5893:                                             ; preds = %5888
  br label %5894

5894:                                             ; preds = %5893
  br label %5895

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

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

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

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

5941:                                             ; preds = %5924, %5907
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #9
  br label %5942

5942:                                             ; preds = %5941
  br label %5943

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

5944:                                             ; No predecessors!
  br label %5945

5945:                                             ; preds = %5944
  br label %5946

5946:                                             ; preds = %5945, %5888
  br label %5947

5947:                                             ; preds = %5946
  br label %5948

5948:                                             ; preds = %5947
  br label %5949

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

5956:                                             ; preds = %5949
  br label %5957

5957:                                             ; preds = %5956
  br label %5958

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

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

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

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

6004:                                             ; preds = %5987, %5970
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #9
  br label %6005

6005:                                             ; preds = %6004
  br label %6006

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

6007:                                             ; No predecessors!
  br label %6008

6008:                                             ; preds = %6007
  br label %6009

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

6010:                                             ; preds = %6009
  br label %6011

6011:                                             ; preds = %6010
  call void @llvm.lifetime.start.p0(i64 8, ptr %123) #9
  store ptr null, ptr %123, align 8, !tbaa !9
  br label %6012

6012:                                             ; preds = %6011
  %6013 = load i32, ptr @test_count, align 4, !tbaa !5
  %6014 = add nsw i32 %6013, 1
  store i32 %6014, ptr @test_count, align 4, !tbaa !5
  %6015 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %6015, ptr %123, align 8, !tbaa !9
  %6016 = icmp eq ptr %6015, null
  br i1 %6016, label %6017, label %6070

6017:                                             ; preds = %6012
  br label %6018

6018:                                             ; preds = %6017
  br label %6019

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

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

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

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

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

6066:                                             ; preds = %6065
  br label %6067

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

6068:                                             ; No predecessors!
  br label %6069

6069:                                             ; preds = %6068
  br label %6070

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

6071:                                             ; preds = %6070
  br label %6072

6072:                                             ; preds = %6071
  br label %6073

6073:                                             ; preds = %6072
  %6074 = load i32, ptr @test_count, align 4, !tbaa !5
  %6075 = add nsw i32 %6074, 1
  store i32 %6075, ptr @test_count, align 4, !tbaa !5
  %6076 = load ptr, ptr %123, align 8, !tbaa !9
  %6077 = load ptr, ptr %117, align 8, !tbaa !9
  %6078 = call i32 @s2n_connection_set_config(ptr noundef %6076, ptr noundef %6077)
  %6079 = icmp eq i32 %6078, -1
  br i1 %6079, label %6080, label %6133

6080:                                             ; preds = %6073
  br label %6081

6081:                                             ; preds = %6080
  br label %6082

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

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

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

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

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

6129:                                             ; preds = %6128
  br label %6130

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

6131:                                             ; No predecessors!
  br label %6132

6132:                                             ; preds = %6131
  br label %6133

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

6134:                                             ; preds = %6133
  br label %6135

6135:                                             ; preds = %6134
  br label %6136

6136:                                             ; preds = %6135
  %6137 = load i32, ptr @test_count, align 4, !tbaa !5
  %6138 = add nsw i32 %6137, 1
  store i32 %6138, ptr @test_count, align 4, !tbaa !5
  %6139 = load ptr, ptr %123, align 8, !tbaa !9
  %6140 = call i32 @s2n_connection_set_quic_transport_parameters(ptr noundef %6139, ptr noundef @TEST_DATA, i16 noundef zeroext 31)
  %6141 = icmp eq i32 %6140, -1
  br i1 %6141, label %6142, label %6195

6142:                                             ; preds = %6136
  br label %6143

6143:                                             ; preds = %6142
  br label %6144

6144:                                             ; preds = %6143
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #9
  %6145 = call ptr @__errno_location() #10
  %6146 = load i32, ptr %6145, align 4, !tbaa !5
  store i32 %6146, ptr %126, align 4, !tbaa !5
  %6147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6148 = call i32 @s2n_print_stacktrace(ptr noundef %6147)
  %6149 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6150 = trunc i8 %6149 to i1
  br i1 %6150, label %6151, label %6173

6151:                                             ; preds = %6144
  %6152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6153 = call i32 @fileno(ptr noundef %6152) #9
  %6154 = call i32 @isatty(i32 noundef %6153) #9
  %6155 = icmp ne i32 %6154, 0
  br i1 %6155, label %6156, label %6173

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

6173:                                             ; preds = %6151, %6144
  %6174 = load i32, ptr %126, align 4, !tbaa !5
  %6175 = call ptr @__errno_location() #10
  store i32 %6174, ptr %6175, align 4, !tbaa !5
  %6176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6177 = load i32, ptr @test_count, align 4, !tbaa !5
  %6178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6179 = load i32, ptr %6178, align 4, !tbaa !5
  %6180 = call ptr @s2n_strerror(i32 noundef %6179, ptr noundef @.str.4)
  %6181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6182 = load i32, ptr %6181, align 4, !tbaa !5
  %6183 = call ptr @s2n_strerror_debug(i32 noundef %6182, ptr noundef @.str.4)
  %6184 = call ptr @__errno_location() #10
  %6185 = load i32, ptr %6184, align 4, !tbaa !5
  %6186 = call ptr @strerror(i32 noundef %6185) #9
  %6187 = call ptr @__errno_location() #10
  %6188 = load i32, ptr %6187, align 4, !tbaa !5
  %6189 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6176, ptr noundef @.str.5, i32 noundef %6177, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 221, ptr noundef %6180, ptr noundef %6183, ptr noundef %6186, i32 noundef %6188) #9
  br label %6190

6190:                                             ; preds = %6173, %6156
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #9
  br label %6191

6191:                                             ; preds = %6190
  br label %6192

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

6193:                                             ; No predecessors!
  br label %6194

6194:                                             ; preds = %6193
  br label %6195

6195:                                             ; preds = %6194, %6136
  br label %6196

6196:                                             ; preds = %6195
  br label %6197

6197:                                             ; preds = %6196
  br label %6198

6198:                                             ; preds = %6197
  %6199 = load i32, ptr @test_count, align 4, !tbaa !5
  %6200 = add nsw i32 %6199, 1
  store i32 %6200, ptr @test_count, align 4, !tbaa !5
  %6201 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_quic_transport_parameters_extension, i32 0, i32 3), align 8, !tbaa !20
  %6202 = load ptr, ptr %123, align 8, !tbaa !9
  %6203 = call i32 %6201(ptr noundef %6202, ptr noundef %115)
  %6204 = icmp eq i32 %6203, -1
  br i1 %6204, label %6205, label %6258

6205:                                             ; preds = %6198
  br label %6206

6206:                                             ; preds = %6205
  br label %6207

6207:                                             ; preds = %6206
  call void @llvm.lifetime.start.p0(i64 4, ptr %127) #9
  %6208 = call ptr @__errno_location() #10
  %6209 = load i32, ptr %6208, align 4, !tbaa !5
  store i32 %6209, ptr %127, align 4, !tbaa !5
  %6210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6211 = call i32 @s2n_print_stacktrace(ptr noundef %6210)
  %6212 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6213 = trunc i8 %6212 to i1
  br i1 %6213, label %6214, label %6236

6214:                                             ; preds = %6207
  %6215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6216 = call i32 @fileno(ptr noundef %6215) #9
  %6217 = call i32 @isatty(i32 noundef %6216) #9
  %6218 = icmp ne i32 %6217, 0
  br i1 %6218, label %6219, label %6236

6219:                                             ; preds = %6214
  %6220 = load i32, ptr %127, align 4, !tbaa !5
  %6221 = call ptr @__errno_location() #10
  store i32 %6220, ptr %6221, align 4, !tbaa !5
  %6222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6223 = load i32, ptr @test_count, align 4, !tbaa !5
  %6224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6225 = load i32, ptr %6224, align 4, !tbaa !5
  %6226 = call ptr @s2n_strerror(i32 noundef %6225, ptr noundef @.str.4)
  %6227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6228 = load i32, ptr %6227, align 4, !tbaa !5
  %6229 = call ptr @s2n_strerror_debug(i32 noundef %6228, ptr noundef @.str.4)
  %6230 = call ptr @__errno_location() #10
  %6231 = load i32, ptr %6230, align 4, !tbaa !5
  %6232 = call ptr @strerror(i32 noundef %6231) #9
  %6233 = call ptr @__errno_location() #10
  %6234 = load i32, ptr %6233, align 4, !tbaa !5
  %6235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6222, ptr noundef @.str.2, i32 noundef %6223, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 223, ptr noundef %6226, ptr noundef %6229, ptr noundef %6232, i32 noundef %6234) #9
  br label %6253

6236:                                             ; preds = %6214, %6207
  %6237 = load i32, ptr %127, align 4, !tbaa !5
  %6238 = call ptr @__errno_location() #10
  store i32 %6237, ptr %6238, align 4, !tbaa !5
  %6239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6240 = load i32, ptr @test_count, align 4, !tbaa !5
  %6241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6242 = load i32, ptr %6241, align 4, !tbaa !5
  %6243 = call ptr @s2n_strerror(i32 noundef %6242, ptr noundef @.str.4)
  %6244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6245 = load i32, ptr %6244, align 4, !tbaa !5
  %6246 = call ptr @s2n_strerror_debug(i32 noundef %6245, ptr noundef @.str.4)
  %6247 = call ptr @__errno_location() #10
  %6248 = load i32, ptr %6247, align 4, !tbaa !5
  %6249 = call ptr @strerror(i32 noundef %6248) #9
  %6250 = call ptr @__errno_location() #10
  %6251 = load i32, ptr %6250, align 4, !tbaa !5
  %6252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6239, ptr noundef @.str.5, i32 noundef %6240, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 223, ptr noundef %6243, ptr noundef %6246, ptr noundef %6249, i32 noundef %6251) #9
  br label %6253

6253:                                             ; preds = %6236, %6219
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #9
  br label %6254

6254:                                             ; preds = %6253
  br label %6255

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

6256:                                             ; No predecessors!
  br label %6257

6257:                                             ; preds = %6256
  br label %6258

6258:                                             ; preds = %6257, %6198
  br label %6259

6259:                                             ; preds = %6258
  br label %6260

6260:                                             ; preds = %6259
  br label %6261

6261:                                             ; preds = %6260
  %6262 = load i32, ptr @test_count, align 4, !tbaa !5
  %6263 = add nsw i32 %6262, 1
  store i32 %6263, ptr @test_count, align 4, !tbaa !5
  %6264 = load ptr, ptr %120, align 8, !tbaa !9
  %6265 = getelementptr inbounds %struct.s2n_connection, ptr %6264, i32 0, i32 70
  %6266 = getelementptr inbounds %struct.s2n_blob, ptr %6265, i32 0, i32 1
  %6267 = load i32, ptr %6266, align 8, !tbaa !51
  %6268 = icmp eq i32 %6267, 0
  br i1 %6268, label %6322, label %6269

6269:                                             ; preds = %6261
  br label %6270

6270:                                             ; preds = %6269
  br label %6271

6271:                                             ; preds = %6270
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #9
  %6272 = call ptr @__errno_location() #10
  %6273 = load i32, ptr %6272, align 4, !tbaa !5
  store i32 %6273, ptr %128, align 4, !tbaa !5
  %6274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6275 = call i32 @s2n_print_stacktrace(ptr noundef %6274)
  %6276 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6277 = trunc i8 %6276 to i1
  br i1 %6277, label %6278, label %6300

6278:                                             ; preds = %6271
  %6279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6280 = call i32 @fileno(ptr noundef %6279) #9
  %6281 = call i32 @isatty(i32 noundef %6280) #9
  %6282 = icmp ne i32 %6281, 0
  br i1 %6282, label %6283, label %6300

6283:                                             ; preds = %6278
  %6284 = load i32, ptr %128, align 4, !tbaa !5
  %6285 = call ptr @__errno_location() #10
  store i32 %6284, ptr %6285, align 4, !tbaa !5
  %6286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6287 = load i32, ptr @test_count, align 4, !tbaa !5
  %6288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6289 = load i32, ptr %6288, align 4, !tbaa !5
  %6290 = call ptr @s2n_strerror(i32 noundef %6289, ptr noundef @.str.4)
  %6291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6292 = load i32, ptr %6291, align 4, !tbaa !5
  %6293 = call ptr @s2n_strerror_debug(i32 noundef %6292, ptr noundef @.str.4)
  %6294 = call ptr @__errno_location() #10
  %6295 = load i32, ptr %6294, align 4, !tbaa !5
  %6296 = call ptr @strerror(i32 noundef %6295) #9
  %6297 = call ptr @__errno_location() #10
  %6298 = load i32, ptr %6297, align 4, !tbaa !5
  %6299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6286, ptr noundef @.str.2, i32 noundef %6287, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 224, ptr noundef %6290, ptr noundef %6293, ptr noundef %6296, i32 noundef %6298) #9
  br label %6317

6300:                                             ; preds = %6278, %6271
  %6301 = load i32, ptr %128, align 4, !tbaa !5
  %6302 = call ptr @__errno_location() #10
  store i32 %6301, ptr %6302, align 4, !tbaa !5
  %6303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6304 = load i32, ptr @test_count, align 4, !tbaa !5
  %6305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6306 = load i32, ptr %6305, align 4, !tbaa !5
  %6307 = call ptr @s2n_strerror(i32 noundef %6306, ptr noundef @.str.4)
  %6308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6309 = load i32, ptr %6308, align 4, !tbaa !5
  %6310 = call ptr @s2n_strerror_debug(i32 noundef %6309, ptr noundef @.str.4)
  %6311 = call ptr @__errno_location() #10
  %6312 = load i32, ptr %6311, align 4, !tbaa !5
  %6313 = call ptr @strerror(i32 noundef %6312) #9
  %6314 = call ptr @__errno_location() #10
  %6315 = load i32, ptr %6314, align 4, !tbaa !5
  %6316 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6303, ptr noundef @.str.5, i32 noundef %6304, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 224, ptr noundef %6307, ptr noundef %6310, ptr noundef %6313, i32 noundef %6315) #9
  br label %6317

6317:                                             ; preds = %6300, %6283
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #9
  br label %6318

6318:                                             ; preds = %6317
  br label %6319

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

6320:                                             ; No predecessors!
  br label %6321

6321:                                             ; preds = %6320
  br label %6322

6322:                                             ; preds = %6321, %6261
  br label %6323

6323:                                             ; preds = %6322
  br label %6324

6324:                                             ; preds = %6323
  br label %6325

6325:                                             ; preds = %6324
  %6326 = load i32, ptr @test_count, align 4, !tbaa !5
  %6327 = add nsw i32 %6326, 1
  store i32 %6327, ptr @test_count, align 4, !tbaa !5
  %6328 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_quic_transport_parameters_extension, i32 0, i32 4), align 8, !tbaa !26
  %6329 = load ptr, ptr %120, align 8, !tbaa !9
  %6330 = call i32 %6328(ptr noundef %6329, ptr noundef %115)
  %6331 = icmp eq i32 %6330, -1
  br i1 %6331, label %6332, label %6385

6332:                                             ; preds = %6325
  br label %6333

6333:                                             ; preds = %6332
  br label %6334

6334:                                             ; preds = %6333
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #9
  %6335 = call ptr @__errno_location() #10
  %6336 = load i32, ptr %6335, align 4, !tbaa !5
  store i32 %6336, ptr %129, align 4, !tbaa !5
  %6337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6338 = call i32 @s2n_print_stacktrace(ptr noundef %6337)
  %6339 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6340 = trunc i8 %6339 to i1
  br i1 %6340, label %6341, label %6363

6341:                                             ; preds = %6334
  %6342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6343 = call i32 @fileno(ptr noundef %6342) #9
  %6344 = call i32 @isatty(i32 noundef %6343) #9
  %6345 = icmp ne i32 %6344, 0
  br i1 %6345, label %6346, label %6363

6346:                                             ; preds = %6341
  %6347 = load i32, ptr %129, align 4, !tbaa !5
  %6348 = call ptr @__errno_location() #10
  store i32 %6347, ptr %6348, align 4, !tbaa !5
  %6349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6350 = load i32, ptr @test_count, align 4, !tbaa !5
  %6351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6352 = load i32, ptr %6351, align 4, !tbaa !5
  %6353 = call ptr @s2n_strerror(i32 noundef %6352, ptr noundef @.str.4)
  %6354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6355 = load i32, ptr %6354, align 4, !tbaa !5
  %6356 = call ptr @s2n_strerror_debug(i32 noundef %6355, ptr noundef @.str.4)
  %6357 = call ptr @__errno_location() #10
  %6358 = load i32, ptr %6357, align 4, !tbaa !5
  %6359 = call ptr @strerror(i32 noundef %6358) #9
  %6360 = call ptr @__errno_location() #10
  %6361 = load i32, ptr %6360, align 4, !tbaa !5
  %6362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6349, ptr noundef @.str.2, i32 noundef %6350, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 225, ptr noundef %6353, ptr noundef %6356, ptr noundef %6359, i32 noundef %6361) #9
  br label %6380

6363:                                             ; preds = %6341, %6334
  %6364 = load i32, ptr %129, align 4, !tbaa !5
  %6365 = call ptr @__errno_location() #10
  store i32 %6364, ptr %6365, align 4, !tbaa !5
  %6366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6367 = load i32, ptr @test_count, align 4, !tbaa !5
  %6368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6369 = load i32, ptr %6368, align 4, !tbaa !5
  %6370 = call ptr @s2n_strerror(i32 noundef %6369, ptr noundef @.str.4)
  %6371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6372 = load i32, ptr %6371, align 4, !tbaa !5
  %6373 = call ptr @s2n_strerror_debug(i32 noundef %6372, ptr noundef @.str.4)
  %6374 = call ptr @__errno_location() #10
  %6375 = load i32, ptr %6374, align 4, !tbaa !5
  %6376 = call ptr @strerror(i32 noundef %6375) #9
  %6377 = call ptr @__errno_location() #10
  %6378 = load i32, ptr %6377, align 4, !tbaa !5
  %6379 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6366, ptr noundef @.str.5, i32 noundef %6367, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 225, ptr noundef %6370, ptr noundef %6373, ptr noundef %6376, i32 noundef %6378) #9
  br label %6380

6380:                                             ; preds = %6363, %6346
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #9
  br label %6381

6381:                                             ; preds = %6380
  br label %6382

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

6383:                                             ; No predecessors!
  br label %6384

6384:                                             ; preds = %6383
  br label %6385

6385:                                             ; preds = %6384, %6325
  br label %6386

6386:                                             ; preds = %6385
  br label %6387

6387:                                             ; preds = %6386
  br label %6388

6388:                                             ; preds = %6387
  br label %6389

6389:                                             ; preds = %6388
  %6390 = load i32, ptr @test_count, align 4, !tbaa !5
  %6391 = add nsw i32 %6390, 1
  store i32 %6391, ptr @test_count, align 4, !tbaa !5
  %6392 = load ptr, ptr %120, align 8, !tbaa !9
  %6393 = getelementptr inbounds %struct.s2n_connection, ptr %6392, i32 0, i32 70
  %6394 = getelementptr inbounds %struct.s2n_blob, ptr %6393, i32 0, i32 0
  %6395 = load ptr, ptr %6394, align 8, !tbaa !27
  %6396 = call i32 @memcmp(ptr noundef %6395, ptr noundef @TEST_DATA, i64 noundef 31) #12
  %6397 = icmp eq i32 %6396, 0
  br i1 %6397, label %6451, label %6398

6398:                                             ; preds = %6389
  br label %6399

6399:                                             ; preds = %6398
  br label %6400

6400:                                             ; preds = %6399
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #9
  %6401 = call ptr @__errno_location() #10
  %6402 = load i32, ptr %6401, align 4, !tbaa !5
  store i32 %6402, ptr %130, align 4, !tbaa !5
  %6403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6404 = call i32 @s2n_print_stacktrace(ptr noundef %6403)
  %6405 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6406 = trunc i8 %6405 to i1
  br i1 %6406, label %6407, label %6429

6407:                                             ; preds = %6400
  %6408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6409 = call i32 @fileno(ptr noundef %6408) #9
  %6410 = call i32 @isatty(i32 noundef %6409) #9
  %6411 = icmp ne i32 %6410, 0
  br i1 %6411, label %6412, label %6429

6412:                                             ; preds = %6407
  %6413 = load i32, ptr %130, align 4, !tbaa !5
  %6414 = call ptr @__errno_location() #10
  store i32 %6413, ptr %6414, align 4, !tbaa !5
  %6415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6416 = load i32, ptr @test_count, align 4, !tbaa !5
  %6417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6418 = load i32, ptr %6417, align 4, !tbaa !5
  %6419 = call ptr @s2n_strerror(i32 noundef %6418, ptr noundef @.str.4)
  %6420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6421 = load i32, ptr %6420, align 4, !tbaa !5
  %6422 = call ptr @s2n_strerror_debug(i32 noundef %6421, ptr noundef @.str.4)
  %6423 = call ptr @__errno_location() #10
  %6424 = load i32, ptr %6423, align 4, !tbaa !5
  %6425 = call ptr @strerror(i32 noundef %6424) #9
  %6426 = call ptr @__errno_location() #10
  %6427 = load i32, ptr %6426, align 4, !tbaa !5
  %6428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6415, ptr noundef @.str.2, i32 noundef %6416, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 226, ptr noundef %6419, ptr noundef %6422, ptr noundef %6425, i32 noundef %6427) #9
  br label %6446

6429:                                             ; preds = %6407, %6400
  %6430 = load i32, ptr %130, align 4, !tbaa !5
  %6431 = call ptr @__errno_location() #10
  store i32 %6430, ptr %6431, align 4, !tbaa !5
  %6432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6433 = load i32, ptr @test_count, align 4, !tbaa !5
  %6434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6435 = load i32, ptr %6434, align 4, !tbaa !5
  %6436 = call ptr @s2n_strerror(i32 noundef %6435, ptr noundef @.str.4)
  %6437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6438 = load i32, ptr %6437, align 4, !tbaa !5
  %6439 = call ptr @s2n_strerror_debug(i32 noundef %6438, ptr noundef @.str.4)
  %6440 = call ptr @__errno_location() #10
  %6441 = load i32, ptr %6440, align 4, !tbaa !5
  %6442 = call ptr @strerror(i32 noundef %6441) #9
  %6443 = call ptr @__errno_location() #10
  %6444 = load i32, ptr %6443, align 4, !tbaa !5
  %6445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6432, ptr noundef @.str.5, i32 noundef %6433, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 226, ptr noundef %6436, ptr noundef %6439, ptr noundef %6442, i32 noundef %6444) #9
  br label %6446

6446:                                             ; preds = %6429, %6412
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #9
  br label %6447

6447:                                             ; preds = %6446
  br label %6448

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

6449:                                             ; No predecessors!
  br label %6450

6450:                                             ; preds = %6449
  br label %6451

6451:                                             ; preds = %6450, %6389
  br label %6452

6452:                                             ; preds = %6451
  br label %6453

6453:                                             ; preds = %6452
  br label %6454

6454:                                             ; preds = %6453
  br label %6455

6455:                                             ; preds = %6454
  br label %6456

6456:                                             ; preds = %6455
  %6457 = load i32, ptr @test_count, align 4, !tbaa !5
  %6458 = add nsw i32 %6457, 1
  store i32 %6458, ptr @test_count, align 4, !tbaa !5
  %6459 = load ptr, ptr %123, align 8, !tbaa !9
  %6460 = call i32 @s2n_connection_free(ptr noundef %6459)
  %6461 = icmp eq i32 %6460, -1
  br i1 %6461, label %6462, label %6515

6462:                                             ; preds = %6456
  br label %6463

6463:                                             ; preds = %6462
  br label %6464

6464:                                             ; preds = %6463
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #9
  %6465 = call ptr @__errno_location() #10
  %6466 = load i32, ptr %6465, align 4, !tbaa !5
  store i32 %6466, ptr %131, align 4, !tbaa !5
  %6467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6468 = call i32 @s2n_print_stacktrace(ptr noundef %6467)
  %6469 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6470 = trunc i8 %6469 to i1
  br i1 %6470, label %6471, label %6493

6471:                                             ; preds = %6464
  %6472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6473 = call i32 @fileno(ptr noundef %6472) #9
  %6474 = call i32 @isatty(i32 noundef %6473) #9
  %6475 = icmp ne i32 %6474, 0
  br i1 %6475, label %6476, label %6493

6476:                                             ; preds = %6471
  %6477 = load i32, ptr %131, align 4, !tbaa !5
  %6478 = call ptr @__errno_location() #10
  store i32 %6477, ptr %6478, align 4, !tbaa !5
  %6479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6480 = load i32, ptr @test_count, align 4, !tbaa !5
  %6481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6482 = load i32, ptr %6481, align 4, !tbaa !5
  %6483 = call ptr @s2n_strerror(i32 noundef %6482, ptr noundef @.str.4)
  %6484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6485 = load i32, ptr %6484, align 4, !tbaa !5
  %6486 = call ptr @s2n_strerror_debug(i32 noundef %6485, ptr noundef @.str.4)
  %6487 = call ptr @__errno_location() #10
  %6488 = load i32, ptr %6487, align 4, !tbaa !5
  %6489 = call ptr @strerror(i32 noundef %6488) #9
  %6490 = call ptr @__errno_location() #10
  %6491 = load i32, ptr %6490, align 4, !tbaa !5
  %6492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6479, ptr noundef @.str.2, i32 noundef %6480, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 228, ptr noundef %6483, ptr noundef %6486, ptr noundef %6489, i32 noundef %6491) #9
  br label %6510

6493:                                             ; preds = %6471, %6464
  %6494 = load i32, ptr %131, align 4, !tbaa !5
  %6495 = call ptr @__errno_location() #10
  store i32 %6494, ptr %6495, align 4, !tbaa !5
  %6496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6497 = load i32, ptr @test_count, align 4, !tbaa !5
  %6498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6499 = load i32, ptr %6498, align 4, !tbaa !5
  %6500 = call ptr @s2n_strerror(i32 noundef %6499, ptr noundef @.str.4)
  %6501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6502 = load i32, ptr %6501, align 4, !tbaa !5
  %6503 = call ptr @s2n_strerror_debug(i32 noundef %6502, ptr noundef @.str.4)
  %6504 = call ptr @__errno_location() #10
  %6505 = load i32, ptr %6504, align 4, !tbaa !5
  %6506 = call ptr @strerror(i32 noundef %6505) #9
  %6507 = call ptr @__errno_location() #10
  %6508 = load i32, ptr %6507, align 4, !tbaa !5
  %6509 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6496, ptr noundef @.str.5, i32 noundef %6497, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 228, ptr noundef %6500, ptr noundef %6503, ptr noundef %6506, i32 noundef %6508) #9
  br label %6510

6510:                                             ; preds = %6493, %6476
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #9
  br label %6511

6511:                                             ; preds = %6510
  br label %6512

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

6513:                                             ; No predecessors!
  br label %6514

6514:                                             ; preds = %6513
  br label %6515

6515:                                             ; preds = %6514, %6456
  br label %6516

6516:                                             ; preds = %6515
  br label %6517

6517:                                             ; preds = %6516
  br label %6518

6518:                                             ; preds = %6517
  %6519 = load i32, ptr @test_count, align 4, !tbaa !5
  %6520 = add nsw i32 %6519, 1
  store i32 %6520, ptr @test_count, align 4, !tbaa !5
  %6521 = load ptr, ptr %120, align 8, !tbaa !9
  %6522 = call i32 @s2n_connection_free(ptr noundef %6521)
  %6523 = icmp eq i32 %6522, -1
  br i1 %6523, label %6524, label %6577

6524:                                             ; preds = %6518
  br label %6525

6525:                                             ; preds = %6524
  br label %6526

6526:                                             ; preds = %6525
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #9
  %6527 = call ptr @__errno_location() #10
  %6528 = load i32, ptr %6527, align 4, !tbaa !5
  store i32 %6528, ptr %132, align 4, !tbaa !5
  %6529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6530 = call i32 @s2n_print_stacktrace(ptr noundef %6529)
  %6531 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6532 = trunc i8 %6531 to i1
  br i1 %6532, label %6533, label %6555

6533:                                             ; preds = %6526
  %6534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6535 = call i32 @fileno(ptr noundef %6534) #9
  %6536 = call i32 @isatty(i32 noundef %6535) #9
  %6537 = icmp ne i32 %6536, 0
  br i1 %6537, label %6538, label %6555

6538:                                             ; preds = %6533
  %6539 = load i32, ptr %132, align 4, !tbaa !5
  %6540 = call ptr @__errno_location() #10
  store i32 %6539, ptr %6540, align 4, !tbaa !5
  %6541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6542 = load i32, ptr @test_count, align 4, !tbaa !5
  %6543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6544 = load i32, ptr %6543, align 4, !tbaa !5
  %6545 = call ptr @s2n_strerror(i32 noundef %6544, ptr noundef @.str.4)
  %6546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6547 = load i32, ptr %6546, align 4, !tbaa !5
  %6548 = call ptr @s2n_strerror_debug(i32 noundef %6547, ptr noundef @.str.4)
  %6549 = call ptr @__errno_location() #10
  %6550 = load i32, ptr %6549, align 4, !tbaa !5
  %6551 = call ptr @strerror(i32 noundef %6550) #9
  %6552 = call ptr @__errno_location() #10
  %6553 = load i32, ptr %6552, align 4, !tbaa !5
  %6554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6541, ptr noundef @.str.2, i32 noundef %6542, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 229, ptr noundef %6545, ptr noundef %6548, ptr noundef %6551, i32 noundef %6553) #9
  br label %6572

6555:                                             ; preds = %6533, %6526
  %6556 = load i32, ptr %132, align 4, !tbaa !5
  %6557 = call ptr @__errno_location() #10
  store i32 %6556, ptr %6557, align 4, !tbaa !5
  %6558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6559 = load i32, ptr @test_count, align 4, !tbaa !5
  %6560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6561 = load i32, ptr %6560, align 4, !tbaa !5
  %6562 = call ptr @s2n_strerror(i32 noundef %6561, ptr noundef @.str.4)
  %6563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6564 = load i32, ptr %6563, align 4, !tbaa !5
  %6565 = call ptr @s2n_strerror_debug(i32 noundef %6564, ptr noundef @.str.4)
  %6566 = call ptr @__errno_location() #10
  %6567 = load i32, ptr %6566, align 4, !tbaa !5
  %6568 = call ptr @strerror(i32 noundef %6567) #9
  %6569 = call ptr @__errno_location() #10
  %6570 = load i32, ptr %6569, align 4, !tbaa !5
  %6571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6558, ptr noundef @.str.5, i32 noundef %6559, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 229, ptr noundef %6562, ptr noundef %6565, ptr noundef %6568, i32 noundef %6570) #9
  br label %6572

6572:                                             ; preds = %6555, %6538
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #9
  br label %6573

6573:                                             ; preds = %6572
  br label %6574

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

6575:                                             ; No predecessors!
  br label %6576

6576:                                             ; preds = %6575
  br label %6577

6577:                                             ; preds = %6576, %6518
  br label %6578

6578:                                             ; preds = %6577
  br label %6579

6579:                                             ; preds = %6578
  br label %6580

6580:                                             ; preds = %6579
  %6581 = load i32, ptr @test_count, align 4, !tbaa !5
  %6582 = add nsw i32 %6581, 1
  store i32 %6582, ptr @test_count, align 4, !tbaa !5
  %6583 = load ptr, ptr %117, align 8, !tbaa !9
  %6584 = call i32 @s2n_config_free(ptr noundef %6583)
  %6585 = icmp eq i32 %6584, -1
  br i1 %6585, label %6586, label %6639

6586:                                             ; preds = %6580
  br label %6587

6587:                                             ; preds = %6586
  br label %6588

6588:                                             ; preds = %6587
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #9
  %6589 = call ptr @__errno_location() #10
  %6590 = load i32, ptr %6589, align 4, !tbaa !5
  store i32 %6590, ptr %133, align 4, !tbaa !5
  %6591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6592 = call i32 @s2n_print_stacktrace(ptr noundef %6591)
  %6593 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6594 = trunc i8 %6593 to i1
  br i1 %6594, label %6595, label %6617

6595:                                             ; preds = %6588
  %6596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6597 = call i32 @fileno(ptr noundef %6596) #9
  %6598 = call i32 @isatty(i32 noundef %6597) #9
  %6599 = icmp ne i32 %6598, 0
  br i1 %6599, label %6600, label %6617

6600:                                             ; preds = %6595
  %6601 = load i32, ptr %133, align 4, !tbaa !5
  %6602 = call ptr @__errno_location() #10
  store i32 %6601, ptr %6602, align 4, !tbaa !5
  %6603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6604 = load i32, ptr @test_count, align 4, !tbaa !5
  %6605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6606 = load i32, ptr %6605, align 4, !tbaa !5
  %6607 = call ptr @s2n_strerror(i32 noundef %6606, ptr noundef @.str.4)
  %6608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6609 = load i32, ptr %6608, align 4, !tbaa !5
  %6610 = call ptr @s2n_strerror_debug(i32 noundef %6609, ptr noundef @.str.4)
  %6611 = call ptr @__errno_location() #10
  %6612 = load i32, ptr %6611, align 4, !tbaa !5
  %6613 = call ptr @strerror(i32 noundef %6612) #9
  %6614 = call ptr @__errno_location() #10
  %6615 = load i32, ptr %6614, align 4, !tbaa !5
  %6616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6603, ptr noundef @.str.2, i32 noundef %6604, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 230, ptr noundef %6607, ptr noundef %6610, ptr noundef %6613, i32 noundef %6615) #9
  br label %6634

6617:                                             ; preds = %6595, %6588
  %6618 = load i32, ptr %133, align 4, !tbaa !5
  %6619 = call ptr @__errno_location() #10
  store i32 %6618, ptr %6619, align 4, !tbaa !5
  %6620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6621 = load i32, ptr @test_count, align 4, !tbaa !5
  %6622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6623 = load i32, ptr %6622, align 4, !tbaa !5
  %6624 = call ptr @s2n_strerror(i32 noundef %6623, ptr noundef @.str.4)
  %6625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6626 = load i32, ptr %6625, align 4, !tbaa !5
  %6627 = call ptr @s2n_strerror_debug(i32 noundef %6626, ptr noundef @.str.4)
  %6628 = call ptr @__errno_location() #10
  %6629 = load i32, ptr %6628, align 4, !tbaa !5
  %6630 = call ptr @strerror(i32 noundef %6629) #9
  %6631 = call ptr @__errno_location() #10
  %6632 = load i32, ptr %6631, align 4, !tbaa !5
  %6633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6620, ptr noundef @.str.5, i32 noundef %6621, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 230, ptr noundef %6624, ptr noundef %6627, ptr noundef %6630, i32 noundef %6632) #9
  br label %6634

6634:                                             ; preds = %6617, %6600
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #9
  br label %6635

6635:                                             ; preds = %6634
  br label %6636

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

6637:                                             ; No predecessors!
  br label %6638

6638:                                             ; preds = %6637
  br label %6639

6639:                                             ; preds = %6638, %6580
  br label %6640

6640:                                             ; preds = %6639
  br label %6641

6641:                                             ; preds = %6640
  br label %6642

6642:                                             ; preds = %6641
  %6643 = load i32, ptr @test_count, align 4, !tbaa !5
  %6644 = add nsw i32 %6643, 1
  store i32 %6644, ptr @test_count, align 4, !tbaa !5
  %6645 = call i32 @s2n_stuffer_free(ptr noundef %115)
  %6646 = icmp eq i32 %6645, -1
  br i1 %6646, label %6647, label %6700

6647:                                             ; preds = %6642
  br label %6648

6648:                                             ; preds = %6647
  br label %6649

6649:                                             ; preds = %6648
  call void @llvm.lifetime.start.p0(i64 4, ptr %134) #9
  %6650 = call ptr @__errno_location() #10
  %6651 = load i32, ptr %6650, align 4, !tbaa !5
  store i32 %6651, ptr %134, align 4, !tbaa !5
  %6652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6653 = call i32 @s2n_print_stacktrace(ptr noundef %6652)
  %6654 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6655 = trunc i8 %6654 to i1
  br i1 %6655, label %6656, label %6678

6656:                                             ; preds = %6649
  %6657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6658 = call i32 @fileno(ptr noundef %6657) #9
  %6659 = call i32 @isatty(i32 noundef %6658) #9
  %6660 = icmp ne i32 %6659, 0
  br i1 %6660, label %6661, label %6678

6661:                                             ; preds = %6656
  %6662 = load i32, ptr %134, align 4, !tbaa !5
  %6663 = call ptr @__errno_location() #10
  store i32 %6662, ptr %6663, align 4, !tbaa !5
  %6664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6665 = load i32, ptr @test_count, align 4, !tbaa !5
  %6666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6667 = load i32, ptr %6666, align 4, !tbaa !5
  %6668 = call ptr @s2n_strerror(i32 noundef %6667, ptr noundef @.str.4)
  %6669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6670 = load i32, ptr %6669, align 4, !tbaa !5
  %6671 = call ptr @s2n_strerror_debug(i32 noundef %6670, ptr noundef @.str.4)
  %6672 = call ptr @__errno_location() #10
  %6673 = load i32, ptr %6672, align 4, !tbaa !5
  %6674 = call ptr @strerror(i32 noundef %6673) #9
  %6675 = call ptr @__errno_location() #10
  %6676 = load i32, ptr %6675, align 4, !tbaa !5
  %6677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6664, ptr noundef @.str.2, i32 noundef %6665, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 231, ptr noundef %6668, ptr noundef %6671, ptr noundef %6674, i32 noundef %6676) #9
  br label %6695

6678:                                             ; preds = %6656, %6649
  %6679 = load i32, ptr %134, align 4, !tbaa !5
  %6680 = call ptr @__errno_location() #10
  store i32 %6679, ptr %6680, align 4, !tbaa !5
  %6681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6682 = load i32, ptr @test_count, align 4, !tbaa !5
  %6683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6684 = load i32, ptr %6683, align 4, !tbaa !5
  %6685 = call ptr @s2n_strerror(i32 noundef %6684, ptr noundef @.str.4)
  %6686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6687 = load i32, ptr %6686, align 4, !tbaa !5
  %6688 = call ptr @s2n_strerror_debug(i32 noundef %6687, ptr noundef @.str.4)
  %6689 = call ptr @__errno_location() #10
  %6690 = load i32, ptr %6689, align 4, !tbaa !5
  %6691 = call ptr @strerror(i32 noundef %6690) #9
  %6692 = call ptr @__errno_location() #10
  %6693 = load i32, ptr %6692, align 4, !tbaa !5
  %6694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6681, ptr noundef @.str.5, i32 noundef %6682, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 231, ptr noundef %6685, ptr noundef %6688, ptr noundef %6691, i32 noundef %6693) #9
  br label %6695

6695:                                             ; preds = %6678, %6661
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #9
  br label %6696

6696:                                             ; preds = %6695
  br label %6697

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

6698:                                             ; No predecessors!
  br label %6699

6699:                                             ; preds = %6698
  br label %6700

6700:                                             ; preds = %6699, %6642
  br label %6701

6701:                                             ; preds = %6700
  br label %6702

6702:                                             ; preds = %6701
  call void @llvm.lifetime.end.p0(i64 8, ptr %123) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %120) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %117) #9
  call void @llvm.lifetime.end.p0(i64 40, ptr %115) #9
  br label %6703

6703:                                             ; preds = %6702
  br label %6704

6704:                                             ; preds = %6703
  %6705 = call i32 @s2n_cleanup()
  %6706 = icmp eq i32 %6705, -1
  br i1 %6706, label %6707, label %6758

6707:                                             ; preds = %6704
  br label %6708

6708:                                             ; preds = %6707
  br label %6709

6709:                                             ; preds = %6708
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #9
  %6710 = call ptr @__errno_location() #10
  %6711 = load i32, ptr %6710, align 4, !tbaa !5
  store i32 %6711, ptr %135, align 4, !tbaa !5
  %6712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6713 = call i32 @s2n_print_stacktrace(ptr noundef %6712)
  %6714 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6715 = trunc i8 %6714 to i1
  br i1 %6715, label %6716, label %6738

6716:                                             ; preds = %6709
  %6717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6718 = call i32 @fileno(ptr noundef %6717) #9
  %6719 = call i32 @isatty(i32 noundef %6718) #9
  %6720 = icmp ne i32 %6719, 0
  br i1 %6720, label %6721, label %6738

6721:                                             ; preds = %6716
  %6722 = load i32, ptr %135, align 4, !tbaa !5
  %6723 = call ptr @__errno_location() #10
  store i32 %6722, ptr %6723, align 4, !tbaa !5
  %6724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6725 = load i32, ptr @test_count, align 4, !tbaa !5
  %6726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6727 = load i32, ptr %6726, align 4, !tbaa !5
  %6728 = call ptr @s2n_strerror(i32 noundef %6727, ptr noundef @.str.4)
  %6729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6730 = load i32, ptr %6729, align 4, !tbaa !5
  %6731 = call ptr @s2n_strerror_debug(i32 noundef %6730, ptr noundef @.str.4)
  %6732 = call ptr @__errno_location() #10
  %6733 = load i32, ptr %6732, align 4, !tbaa !5
  %6734 = call ptr @strerror(i32 noundef %6733) #9
  %6735 = call ptr @__errno_location() #10
  %6736 = load i32, ptr %6735, align 4, !tbaa !5
  %6737 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6724, ptr noundef @.str.2, i32 noundef %6725, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 235, ptr noundef %6728, ptr noundef %6731, ptr noundef %6734, i32 noundef %6736) #9
  br label %6755

6738:                                             ; preds = %6716, %6709
  %6739 = load i32, ptr %135, align 4, !tbaa !5
  %6740 = call ptr @__errno_location() #10
  store i32 %6739, ptr %6740, align 4, !tbaa !5
  %6741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6742 = load i32, ptr @test_count, align 4, !tbaa !5
  %6743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6744 = load i32, ptr %6743, align 4, !tbaa !5
  %6745 = call ptr @s2n_strerror(i32 noundef %6744, ptr noundef @.str.4)
  %6746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6747 = load i32, ptr %6746, align 4, !tbaa !5
  %6748 = call ptr @s2n_strerror_debug(i32 noundef %6747, ptr noundef @.str.4)
  %6749 = call ptr @__errno_location() #10
  %6750 = load i32, ptr %6749, align 4, !tbaa !5
  %6751 = call ptr @strerror(i32 noundef %6750) #9
  %6752 = call ptr @__errno_location() #10
  %6753 = load i32, ptr %6752, align 4, !tbaa !5
  %6754 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6741, ptr noundef @.str.5, i32 noundef %6742, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 235, ptr noundef %6745, ptr noundef %6748, ptr noundef %6751, i32 noundef %6753) #9
  br label %6755

6755:                                             ; preds = %6738, %6721
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #9
  br label %6756

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

6757:                                             ; No predecessors!
  br label %6758

6758:                                             ; preds = %6757, %6704
  br label %6759

6759:                                             ; preds = %6758
  br label %6760

6760:                                             ; preds = %6759
  br label %6761

6761:                                             ; preds = %6760
  %6762 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %6763 = icmp eq i32 %6762, -1
  br i1 %6763, label %6764, label %6815

6764:                                             ; preds = %6761
  br label %6765

6765:                                             ; preds = %6764
  br label %6766

6766:                                             ; preds = %6765
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #9
  %6767 = call ptr @__errno_location() #10
  %6768 = load i32, ptr %6767, align 4, !tbaa !5
  store i32 %6768, ptr %136, align 4, !tbaa !5
  %6769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6770 = call i32 @s2n_print_stacktrace(ptr noundef %6769)
  %6771 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6772 = trunc i8 %6771 to i1
  br i1 %6772, label %6773, label %6795

6773:                                             ; preds = %6766
  %6774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6775 = call i32 @fileno(ptr noundef %6774) #9
  %6776 = call i32 @isatty(i32 noundef %6775) #9
  %6777 = icmp ne i32 %6776, 0
  br i1 %6777, label %6778, label %6795

6778:                                             ; preds = %6773
  %6779 = load i32, ptr %136, align 4, !tbaa !5
  %6780 = call ptr @__errno_location() #10
  store i32 %6779, ptr %6780, align 4, !tbaa !5
  %6781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6782 = load i32, ptr @test_count, align 4, !tbaa !5
  %6783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6784 = load i32, ptr %6783, align 4, !tbaa !5
  %6785 = call ptr @s2n_strerror(i32 noundef %6784, ptr noundef @.str.4)
  %6786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6787 = load i32, ptr %6786, align 4, !tbaa !5
  %6788 = call ptr @s2n_strerror_debug(i32 noundef %6787, ptr noundef @.str.4)
  %6789 = call ptr @__errno_location() #10
  %6790 = load i32, ptr %6789, align 4, !tbaa !5
  %6791 = call ptr @strerror(i32 noundef %6790) #9
  %6792 = call ptr @__errno_location() #10
  %6793 = load i32, ptr %6792, align 4, !tbaa !5
  %6794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6781, ptr noundef @.str.2, i32 noundef %6782, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 235, ptr noundef %6785, ptr noundef %6788, ptr noundef %6791, i32 noundef %6793) #9
  br label %6812

6795:                                             ; preds = %6773, %6766
  %6796 = load i32, ptr %136, align 4, !tbaa !5
  %6797 = call ptr @__errno_location() #10
  store i32 %6796, ptr %6797, align 4, !tbaa !5
  %6798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6799 = load i32, ptr @test_count, align 4, !tbaa !5
  %6800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6801 = load i32, ptr %6800, align 4, !tbaa !5
  %6802 = call ptr @s2n_strerror(i32 noundef %6801, ptr noundef @.str.4)
  %6803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6804 = load i32, ptr %6803, align 4, !tbaa !5
  %6805 = call ptr @s2n_strerror_debug(i32 noundef %6804, ptr noundef @.str.4)
  %6806 = call ptr @__errno_location() #10
  %6807 = load i32, ptr %6806, align 4, !tbaa !5
  %6808 = call ptr @strerror(i32 noundef %6807) #9
  %6809 = call ptr @__errno_location() #10
  %6810 = load i32, ptr %6809, align 4, !tbaa !5
  %6811 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6798, ptr noundef @.str.5, i32 noundef %6799, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 235, ptr noundef %6802, ptr noundef %6805, ptr noundef %6808, i32 noundef %6810) #9
  br label %6812

6812:                                             ; preds = %6795, %6778
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #9
  br label %6813

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

6814:                                             ; No predecessors!
  br label %6815

6815:                                             ; preds = %6814, %6761
  br label %6816

6816:                                             ; preds = %6815
  %6817 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6818 = trunc i8 %6817 to i1
  br i1 %6818, label %6819, label %6835

6819:                                             ; preds = %6816
  %6820 = load ptr, ptr @stdout, align 8, !tbaa !9
  %6821 = call i32 @fileno(ptr noundef %6820) #9
  %6822 = call i32 @isatty(i32 noundef %6821) #9
  %6823 = icmp ne i32 %6822, 0
  br i1 %6823, label %6824, label %6835

6824:                                             ; preds = %6819
  %6825 = load i32, ptr @test_count, align 4, !tbaa !5
  %6826 = icmp ne i32 %6825, 0
  br i1 %6826, label %6827, label %6831

6827:                                             ; preds = %6824
  %6828 = load ptr, ptr @stdout, align 8, !tbaa !9
  %6829 = load i32, ptr @test_count, align 4, !tbaa !5
  %6830 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6828, ptr noundef @.str.10, i32 noundef %6829) #9
  br label %6834

6831:                                             ; preds = %6824
  %6832 = load ptr, ptr @stdout, align 8, !tbaa !9
  %6833 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6832, ptr noundef @.str.11) #9
  br label %6834

6834:                                             ; preds = %6831, %6827
  br label %6846

6835:                                             ; preds = %6819, %6816
  %6836 = load i32, ptr @test_count, align 4, !tbaa !5
  %6837 = icmp ne i32 %6836, 0
  br i1 %6837, label %6838, label %6842

6838:                                             ; preds = %6835
  %6839 = load ptr, ptr @stdout, align 8, !tbaa !9
  %6840 = load i32, ptr @test_count, align 4, !tbaa !5
  %6841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6839, ptr noundef @.str.12, i32 noundef %6840) #9
  br label %6845

6842:                                             ; preds = %6835
  %6843 = load ptr, ptr @stdout, align 8, !tbaa !9
  %6844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6843, ptr noundef @.str.13) #9
  br label %6845

6845:                                             ; preds = %6842, %6838
  br label %6846

6846:                                             ; preds = %6845, %6834
  store i32 0, ptr %3, align 4
  br label %6848

6847:                                             ; No predecessors!
  br label %6848

6848:                                             ; preds = %6847, %6846, %460
  %6849 = load i32, ptr %3, align 4
  ret i32 %6849
}

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

declare i32 @fflush(ptr noundef) #2

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #2

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

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

declare i32 @s2n_print_stacktrace(ptr noundef) #2

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

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

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

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

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

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

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

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

declare i32 @s2n_enable_atexit() #2

declare i32 @s2n_init() #2

declare zeroext i1 @s2n_is_tls13_fully_supported(...) #2

declare i32 @s2n_cleanup() #2

declare ptr @s2n_config_new() #2

declare ptr @s2n_connection_new(i32 noundef) #2

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

declare i32 @s2n_config_enable_quic(ptr noundef) #2

declare i32 @s2n_connection_free(ptr noundef) #2

declare i32 @s2n_config_free(ptr noundef) #2

declare void @s2n_debug_info_reset() #2

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

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #7

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

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

declare i32 @s2n_stuffer_free(ptr noundef) #2

declare i32 @s2n_stuffer_write_bytes(ptr noundef, ptr noundef, i32 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 = { nounwind }
attributes #10 = { nounwind willreturn memory(none) }
attributes #11 = { noreturn nounwind }
attributes #12 = { 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 24}
!16 = !{!"", !17, i64 0, !6, i64 2, !17, i64 4, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32}
!17 = !{!"short", !7, i64 0}
!18 = !{!16, !10, i64 32}
!19 = !{!7, !7, i64 0}
!20 = !{!16, !10, i64 8}
!21 = !{!22, !10, i64 0}
!22 = !{!"s2n_stuffer", !23, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!23 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!24 = !{!22, !6, i64 28}
!25 = !{!22, !6, i64 24}
!26 = !{!16, !10, i64 16}
!27 = !{!28, !10, i64 2872}
!28 = !{!"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, !29, i64 160, !30, i64 168, !30, 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, !31, i64 240, !10, i64 632, !10, i64 640, !32, i64 648, !37, i64 1144, !40, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !22, i64 1776, !22, i64 1816, !22, i64 1856, !22, i64 1896, !6, i64 1936, !30, i64 1944, !7, i64 1952, !22, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !42, i64 2004, !42, i64 2008, !43, i64 2016, !17, i64 2208, !6, i64 2212, !17, i64 2216, !30, i64 2224, !7, i64 2232, !30, i64 2240, !30, i64 2248, !30, i64 2256, !42, i64 2264, !42, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !23, i64 2792, !6, i64 2816, !23, i64 2824, !23, i64 2848, !23, i64 2872, !45, i64 2896, !47, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !23, i64 3784, !6, i64 3808, !49, i64 3816, !7, i64 3848, !22, i64 3992, !23, i64 4032, !23, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !17, i64 4084, !17, i64 4086, !6, i64 4088, !6, i64 4092, !23, i64 4096, !6, i64 4120, !50, i64 4128, !42, i64 4176, !7, i64 4180, !7, i64 4181}
!29 = !{!"s2n_timer", !30, i64 0}
!30 = !{!"long", !7, i64 0}
!31 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!32 = !{!"s2n_kex_parameters", !33, i64 0, !34, i64 8, !7, i64 24, !34, i64 56, !35, i64 72, !35, i64 184, !7, i64 296, !36, i64 360, !23, i64 448, !23, i64 472}
!33 = !{!"s2n_dh_params", !10, i64 0}
!34 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!35 = !{!"s2n_kem_group_params", !10, i64 0, !36, i64 8, !34, i64 96}
!36 = !{!"s2n_kem_params", !10, i64 0, !23, i64 8, !23, i64 32, !23, i64 56, !12, i64 80}
!37 = !{!"s2n_handshake_parameters", !38, i64 0, !38, i64 48, !23, i64 96, !6, i64 120, !39, 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}
!38 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!39 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!40 = !{!"s2n_psk_parameters", !6, i64 0, !41, i64 8, !17, i64 40, !17, i64 42, !10, i64 48, !6, i64 56}
!41 = !{!"s2n_array", !23, i64 0, !6, i64 24, !6, i64 28}
!42 = !{!"", !6, i64 0}
!43 = !{!"s2n_handshake", !22, 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, !44, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!44 = !{!"s2n_offered_early_data", !10, i64 0}
!45 = !{!"s2n_client_hello", !23, i64 0, !46, i64 24, !23, i64 728, !23, i64 752, !23, 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}
!46 = !{!"", !7, i64 0, !23, i64 672, !17, i64 696}
!47 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !17, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !48, i64 48, !12, i64 52}
!48 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!49 = !{!"s2n_ticket_fields", !23, i64 0, !6, i64 24}
!50 = !{!"s2n_post_handshake", !22, i64 0, !7, i64 40}
!51 = !{!28, !6, i64 2880}


; 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_extension_type = type { i16, i8, i16, ptr, ptr, ptr, ptr }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }

@s2n_use_color_in_output = external dso_local local_unnamed_addr global i8, align 1
@test_count = external dso_local local_unnamed_addr global i32, align 4
@stdout = external local_unnamed_addr global ptr, align 8
@.str = external hidden unnamed_addr constant [19 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [99 x i8], align 1
@stderr = external local_unnamed_addr global ptr, align 8
@.str.2 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [52 x i8], align 1
@s2n_errno = external thread_local local_unnamed_addr global i32, align 4
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [68 x i8], align 1
@s2n_quic_transport_parameters_extension = external local_unnamed_addr constant %struct.s2n_extension_type, align 8
@.str.17 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [64 x i8], align 1
@TEST_DATA = external hidden constant [31 x i8], align 16
@.str.34 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [110 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [116 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [117 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [61 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @main(i32 noundef %0, ptr nocapture noundef readnone %1) local_unnamed_addr #0 {
  %3 = alloca i8, align 1
  %4 = alloca %struct.s2n_stuffer, align 8
  %5 = alloca %struct.s2n_stuffer, align 8
  %6 = alloca %struct.s2n_stuffer, align 8
  %7 = alloca %struct.s2n_stuffer, align 8
  %8 = alloca %struct.s2n_stuffer, align 8
  %9 = alloca %struct.s2n_stuffer, align 8
  %10 = alloca %struct.s2n_stuffer, align 8
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %11 = load ptr, ptr @stdout, align 8, !tbaa !9
  %12 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11, ptr noundef nonnull @.str, ptr noundef nonnull @.str.1) #10
  %13 = load ptr, ptr @stdout, align 8, !tbaa !9
  %14 = tail call i32 @fflush(ptr noundef %13)
  %15 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #10
  %16 = icmp eq i32 %15, -1
  br i1 %16, label %17, label %41

17:                                               ; preds = %2
  %18 = tail call ptr @__errno_location() #11
  %19 = load i32, ptr %18, align 4, !tbaa !5
  %20 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21 = tail call i32 @s2n_print_stacktrace(ptr noundef %20) #10
  %22 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23 = trunc nuw i8 %22 to i1
  br i1 %23, label %24, label %28

24:                                               ; preds = %17
  %25 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26 = tail call i32 @fileno(ptr noundef %25) #10
  %27 = tail call i32 @isatty(i32 noundef %26) #10
  %.not403 = icmp eq i32 %27, 0
  br i1 %.not403, label %28, label %29

28:                                               ; preds = %24, %17
  br label %29

29:                                               ; preds = %24, %28
  %.str.5.sink = phi ptr [ @.str.5, %28 ], [ @.str.2, %24 ]
  store i32 %19, ptr %18, align 4, !tbaa !5
  %30 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31 = load i32, ptr @test_count, align 4, !tbaa !5
  %32 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33 = load i32, ptr %32, align 4, !tbaa !5
  %34 = tail call ptr @s2n_strerror(i32 noundef %33, ptr noundef nonnull @.str.4) #10
  %35 = load i32, ptr %32, align 4, !tbaa !5
  %36 = tail call ptr @s2n_strerror_debug(i32 noundef %35, ptr noundef nonnull @.str.4) #10
  %37 = load i32, ptr %18, align 4, !tbaa !5
  %38 = tail call ptr @strerror(i32 noundef %37) #10
  %39 = load i32, ptr %18, align 4, !tbaa !5
  %40 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30, ptr noundef nonnull %.str.5.sink, i32 noundef %31, ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.1, i32 noundef 27, ptr noundef %34, ptr noundef %36, ptr noundef %38, i32 noundef %39) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

41:                                               ; preds = %2
  %42 = load i32, ptr @test_count, align 4, !tbaa !5
  %43 = add nsw i32 %42, 1
  store i32 %43, ptr @test_count, align 4, !tbaa !5
  %44 = tail call i32 @s2n_enable_atexit() #10
  %45 = icmp eq i32 %44, -1
  br i1 %45, label %46, label %70

46:                                               ; preds = %41
  %47 = tail call ptr @__errno_location() #11
  %48 = load i32, ptr %47, align 4, !tbaa !5
  %49 = load ptr, ptr @stderr, align 8, !tbaa !9
  %50 = tail call i32 @s2n_print_stacktrace(ptr noundef %49) #10
  %51 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %52 = trunc nuw i8 %51 to i1
  br i1 %52, label %53, label %57

53:                                               ; preds = %46
  %54 = load ptr, ptr @stderr, align 8, !tbaa !9
  %55 = tail call i32 @fileno(ptr noundef %54) #10
  %56 = tail call i32 @isatty(i32 noundef %55) #10
  %.not402 = icmp eq i32 %56, 0
  br i1 %.not402, label %57, label %58

57:                                               ; preds = %53, %46
  br label %58

58:                                               ; preds = %53, %57
  %.str.5.sink414 = phi ptr [ @.str.5, %57 ], [ @.str.2, %53 ]
  store i32 %48, ptr %47, align 4, !tbaa !5
  %59 = load ptr, ptr @stderr, align 8, !tbaa !9
  %60 = load i32, ptr @test_count, align 4, !tbaa !5
  %61 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %62 = load i32, ptr %61, align 4, !tbaa !5
  %63 = tail call ptr @s2n_strerror(i32 noundef %62, ptr noundef nonnull @.str.4) #10
  %64 = load i32, ptr %61, align 4, !tbaa !5
  %65 = tail call ptr @s2n_strerror_debug(i32 noundef %64, ptr noundef nonnull @.str.4) #10
  %66 = load i32, ptr %47, align 4, !tbaa !5
  %67 = tail call ptr @strerror(i32 noundef %66) #10
  %68 = load i32, ptr %47, align 4, !tbaa !5
  %69 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %59, ptr noundef nonnull %.str.5.sink414, i32 noundef %60, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.1, i32 noundef 27, ptr noundef %63, ptr noundef %65, ptr noundef %67, i32 noundef %68) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

70:                                               ; preds = %41
  %71 = tail call i32 @s2n_init() #10
  %72 = icmp eq i32 %71, -1
  br i1 %72, label %73, label %97

73:                                               ; preds = %70
  %74 = tail call ptr @__errno_location() #11
  %75 = load i32, ptr %74, align 4, !tbaa !5
  %76 = load ptr, ptr @stderr, align 8, !tbaa !9
  %77 = tail call i32 @s2n_print_stacktrace(ptr noundef %76) #10
  %78 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %79 = trunc nuw i8 %78 to i1
  br i1 %79, label %80, label %84

80:                                               ; preds = %73
  %81 = load ptr, ptr @stderr, align 8, !tbaa !9
  %82 = tail call i32 @fileno(ptr noundef %81) #10
  %83 = tail call i32 @isatty(i32 noundef %82) #10
  %.not401 = icmp eq i32 %83, 0
  br i1 %.not401, label %84, label %85

84:                                               ; preds = %80, %73
  br label %85

85:                                               ; preds = %80, %84
  %.str.5.sink425 = phi ptr [ @.str.5, %84 ], [ @.str.2, %80 ]
  store i32 %75, ptr %74, align 4, !tbaa !5
  %86 = load ptr, ptr @stderr, align 8, !tbaa !9
  %87 = load i32, ptr @test_count, align 4, !tbaa !5
  %88 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %89 = load i32, ptr %88, align 4, !tbaa !5
  %90 = tail call ptr @s2n_strerror(i32 noundef %89, ptr noundef nonnull @.str.4) #10
  %91 = load i32, ptr %88, align 4, !tbaa !5
  %92 = tail call ptr @s2n_strerror_debug(i32 noundef %91, ptr noundef nonnull @.str.4) #10
  %93 = load i32, ptr %74, align 4, !tbaa !5
  %94 = tail call ptr @strerror(i32 noundef %93) #10
  %95 = load i32, ptr %74, align 4, !tbaa !5
  %96 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %86, ptr noundef nonnull %.str.5.sink425, i32 noundef %87, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.1, i32 noundef 27, ptr noundef %90, ptr noundef %92, ptr noundef %94, i32 noundef %95) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

97:                                               ; preds = %70
  %98 = tail call zeroext i1 (...) @s2n_is_tls13_fully_supported() #10
  br i1 %98, label %174, label %99

99:                                               ; preds = %97
  %100 = tail call i32 @s2n_cleanup() #10
  %101 = icmp eq i32 %100, -1
  br i1 %101, label %102, label %126

102:                                              ; preds = %99
  %103 = tail call ptr @__errno_location() #11
  %104 = load i32, ptr %103, align 4, !tbaa !5
  %105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %106 = tail call i32 @s2n_print_stacktrace(ptr noundef %105) #10
  %107 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %108 = trunc nuw i8 %107 to i1
  br i1 %108, label %109, label %113

109:                                              ; preds = %102
  %110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %111 = tail call i32 @fileno(ptr noundef %110) #10
  %112 = tail call i32 @isatty(i32 noundef %111) #10
  %.not294 = icmp eq i32 %112, 0
  br i1 %.not294, label %113, label %114

113:                                              ; preds = %109, %102
  br label %114

114:                                              ; preds = %109, %113
  %.str.5.sink436 = phi ptr [ @.str.5, %113 ], [ @.str.2, %109 ]
  store i32 %104, ptr %103, align 4, !tbaa !5
  %115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %116 = load i32, ptr @test_count, align 4, !tbaa !5
  %117 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %118 = load i32, ptr %117, align 4, !tbaa !5
  %119 = tail call ptr @s2n_strerror(i32 noundef %118, ptr noundef nonnull @.str.4) #10
  %120 = load i32, ptr %117, align 4, !tbaa !5
  %121 = tail call ptr @s2n_strerror_debug(i32 noundef %120, ptr noundef nonnull @.str.4) #10
  %122 = load i32, ptr %103, align 4, !tbaa !5
  %123 = tail call ptr @strerror(i32 noundef %122) #10
  %124 = load i32, ptr %103, align 4, !tbaa !5
  %125 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %115, ptr noundef nonnull %.str.5.sink436, i32 noundef %116, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 30, ptr noundef %119, ptr noundef %121, ptr noundef %123, i32 noundef %124) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

126:                                              ; preds = %99
  %127 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #10
  %128 = icmp eq i32 %127, -1
  br i1 %128, label %129, label %153

129:                                              ; preds = %126
  %130 = tail call ptr @__errno_location() #11
  %131 = load i32, ptr %130, align 4, !tbaa !5
  %132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %133 = tail call i32 @s2n_print_stacktrace(ptr noundef %132) #10
  %134 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %135 = trunc nuw i8 %134 to i1
  br i1 %135, label %136, label %140

136:                                              ; preds = %129
  %137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %138 = tail call i32 @fileno(ptr noundef %137) #10
  %139 = tail call i32 @isatty(i32 noundef %138) #10
  %.not293 = icmp eq i32 %139, 0
  br i1 %.not293, label %140, label %141

140:                                              ; preds = %136, %129
  br label %141

141:                                              ; preds = %136, %140
  %.str.5.sink447 = phi ptr [ @.str.5, %140 ], [ @.str.2, %136 ]
  store i32 %131, ptr %130, align 4, !tbaa !5
  %142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %143 = load i32, ptr @test_count, align 4, !tbaa !5
  %144 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %145 = load i32, ptr %144, align 4, !tbaa !5
  %146 = tail call ptr @s2n_strerror(i32 noundef %145, ptr noundef nonnull @.str.4) #10
  %147 = load i32, ptr %144, align 4, !tbaa !5
  %148 = tail call ptr @s2n_strerror_debug(i32 noundef %147, ptr noundef nonnull @.str.4) #10
  %149 = load i32, ptr %130, align 4, !tbaa !5
  %150 = tail call ptr @strerror(i32 noundef %149) #10
  %151 = load i32, ptr %130, align 4, !tbaa !5
  %152 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %142, ptr noundef nonnull %.str.5.sink447, i32 noundef %143, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 30, ptr noundef %146, ptr noundef %148, ptr noundef %150, i32 noundef %151) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

153:                                              ; preds = %126
  %154 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %155 = trunc nuw i8 %154 to i1
  br i1 %155, label %156, label %167

156:                                              ; preds = %153
  %157 = load ptr, ptr @stdout, align 8, !tbaa !9
  %158 = tail call i32 @fileno(ptr noundef %157) #10
  %159 = tail call i32 @isatty(i32 noundef %158) #10
  %.not = icmp eq i32 %159, 0
  br i1 %.not, label %167, label %160

160:                                              ; preds = %156
  %161 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not292 = icmp eq i32 %161, 0
  %162 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not292, label %165, label %163

163:                                              ; preds = %160
  %164 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %162, ptr noundef nonnull @.str.10, i32 noundef %161) #10
  br label %2944

165:                                              ; preds = %160
  %166 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %162, ptr noundef nonnull @.str.11) #10
  br label %2944

167:                                              ; preds = %156, %153
  %168 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not291 = icmp eq i32 %168, 0
  %169 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not291, label %172, label %170

170:                                              ; preds = %167
  %171 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %169, ptr noundef nonnull @.str.12, i32 noundef %168) #10
  br label %2944

172:                                              ; preds = %167
  %173 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %169, ptr noundef nonnull @.str.13) #10
  br label %2944

174:                                              ; preds = %97
  %175 = load i32, ptr @test_count, align 4, !tbaa !5
  %176 = add nsw i32 %175, 1
  store i32 %176, ptr @test_count, align 4, !tbaa !5
  %177 = tail call ptr @s2n_config_new() #10
  %178 = icmp eq ptr %177, null
  br i1 %178, label %179, label %203

179:                                              ; preds = %174
  %180 = tail call ptr @__errno_location() #11
  %181 = load i32, ptr %180, align 4, !tbaa !5
  %182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %183 = tail call i32 @s2n_print_stacktrace(ptr noundef %182) #10
  %184 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %185 = trunc nuw i8 %184 to i1
  br i1 %185, label %186, label %190

186:                                              ; preds = %179
  %187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %188 = tail call i32 @fileno(ptr noundef %187) #10
  %189 = tail call i32 @isatty(i32 noundef %188) #10
  %.not400 = icmp eq i32 %189, 0
  br i1 %.not400, label %190, label %191

190:                                              ; preds = %186, %179
  br label %191

191:                                              ; preds = %186, %190
  %.str.5.sink458 = phi ptr [ @.str.5, %190 ], [ @.str.2, %186 ]
  store i32 %181, ptr %180, align 4, !tbaa !5
  %192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %193 = load i32, ptr @test_count, align 4, !tbaa !5
  %194 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %195 = load i32, ptr %194, align 4, !tbaa !5
  %196 = tail call ptr @s2n_strerror(i32 noundef %195, ptr noundef nonnull @.str.4) #10
  %197 = load i32, ptr %194, align 4, !tbaa !5
  %198 = tail call ptr @s2n_strerror_debug(i32 noundef %197, ptr noundef nonnull @.str.4) #10
  %199 = load i32, ptr %180, align 4, !tbaa !5
  %200 = tail call ptr @strerror(i32 noundef %199) #10
  %201 = load i32, ptr %180, align 4, !tbaa !5
  %202 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %192, ptr noundef nonnull %.str.5.sink458, i32 noundef %193, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 36, ptr noundef %196, ptr noundef %198, ptr noundef %200, i32 noundef %201) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

203:                                              ; preds = %174
  %204 = load i32, ptr @test_count, align 4, !tbaa !5
  %205 = add nsw i32 %204, 1
  store i32 %205, ptr @test_count, align 4, !tbaa !5
  %206 = tail call ptr @s2n_connection_new(i32 noundef 1) #10
  %207 = icmp eq ptr %206, null
  br i1 %207, label %208, label %232

208:                                              ; preds = %203
  %209 = tail call ptr @__errno_location() #11
  %210 = load i32, ptr %209, align 4, !tbaa !5
  %211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %212 = tail call i32 @s2n_print_stacktrace(ptr noundef %211) #10
  %213 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %214 = trunc nuw i8 %213 to i1
  br i1 %214, label %215, label %219

215:                                              ; preds = %208
  %216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %217 = tail call i32 @fileno(ptr noundef %216) #10
  %218 = tail call i32 @isatty(i32 noundef %217) #10
  %.not399 = icmp eq i32 %218, 0
  br i1 %.not399, label %219, label %220

219:                                              ; preds = %215, %208
  br label %220

220:                                              ; preds = %215, %219
  %.str.5.sink469 = phi ptr [ @.str.5, %219 ], [ @.str.2, %215 ]
  store i32 %210, ptr %209, align 4, !tbaa !5
  %221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %222 = load i32, ptr @test_count, align 4, !tbaa !5
  %223 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %224 = load i32, ptr %223, align 4, !tbaa !5
  %225 = tail call ptr @s2n_strerror(i32 noundef %224, ptr noundef nonnull @.str.4) #10
  %226 = load i32, ptr %223, align 4, !tbaa !5
  %227 = tail call ptr @s2n_strerror_debug(i32 noundef %226, ptr noundef nonnull @.str.4) #10
  %228 = load i32, ptr %209, align 4, !tbaa !5
  %229 = tail call ptr @strerror(i32 noundef %228) #10
  %230 = load i32, ptr %209, align 4, !tbaa !5
  %231 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %221, ptr noundef nonnull %.str.5.sink469, i32 noundef %222, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 39, ptr noundef %225, ptr noundef %227, ptr noundef %229, i32 noundef %230) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

232:                                              ; preds = %203
  %233 = load i32, ptr @test_count, align 4, !tbaa !5
  %234 = add nsw i32 %233, 1
  store i32 %234, ptr @test_count, align 4, !tbaa !5
  %235 = tail call i32 @s2n_connection_set_config(ptr noundef nonnull %206, ptr noundef nonnull %177) #10
  %236 = icmp eq i32 %235, -1
  br i1 %236, label %237, label %261

237:                                              ; preds = %232
  %238 = tail call ptr @__errno_location() #11
  %239 = load i32, ptr %238, align 4, !tbaa !5
  %240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %241 = tail call i32 @s2n_print_stacktrace(ptr noundef %240) #10
  %242 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %243 = trunc nuw i8 %242 to i1
  br i1 %243, label %244, label %248

244:                                              ; preds = %237
  %245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %246 = tail call i32 @fileno(ptr noundef %245) #10
  %247 = tail call i32 @isatty(i32 noundef %246) #10
  %.not398 = icmp eq i32 %247, 0
  br i1 %.not398, label %248, label %249

248:                                              ; preds = %244, %237
  br label %249

249:                                              ; preds = %244, %248
  %.str.5.sink480 = phi ptr [ @.str.5, %248 ], [ @.str.2, %244 ]
  store i32 %239, ptr %238, align 4, !tbaa !5
  %250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %251 = load i32, ptr @test_count, align 4, !tbaa !5
  %252 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %253 = load i32, ptr %252, align 4, !tbaa !5
  %254 = tail call ptr @s2n_strerror(i32 noundef %253, ptr noundef nonnull @.str.4) #10
  %255 = load i32, ptr %252, align 4, !tbaa !5
  %256 = tail call ptr @s2n_strerror_debug(i32 noundef %255, ptr noundef nonnull @.str.4) #10
  %257 = load i32, ptr %238, align 4, !tbaa !5
  %258 = tail call ptr @strerror(i32 noundef %257) #10
  %259 = load i32, ptr %238, align 4, !tbaa !5
  %260 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %250, ptr noundef nonnull %.str.5.sink480, i32 noundef %251, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 40, ptr noundef %254, ptr noundef %256, ptr noundef %258, i32 noundef %259) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

261:                                              ; preds = %232
  %262 = load i32, ptr @test_count, align 4, !tbaa !5
  %263 = add nsw i32 %262, 1
  store i32 %263, ptr @test_count, align 4, !tbaa !5
  %264 = load ptr, ptr getelementptr inbounds (i8, ptr @s2n_quic_transport_parameters_extension, i64 24), align 8, !tbaa !15
  %265 = tail call zeroext i1 %264(ptr noundef null) #10
  br i1 %265, label %266, label %290

266:                                              ; preds = %261
  %267 = tail call ptr @__errno_location() #11
  %268 = load i32, ptr %267, align 4, !tbaa !5
  %269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %270 = tail call i32 @s2n_print_stacktrace(ptr noundef %269) #10
  %271 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %272 = trunc nuw i8 %271 to i1
  br i1 %272, label %273, label %277

273:                                              ; preds = %266
  %274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %275 = tail call i32 @fileno(ptr noundef %274) #10
  %276 = tail call i32 @isatty(i32 noundef %275) #10
  %.not397 = icmp eq i32 %276, 0
  br i1 %.not397, label %277, label %278

277:                                              ; preds = %273, %266
  br label %278

278:                                              ; preds = %273, %277
  %.str.5.sink491 = phi ptr [ @.str.5, %277 ], [ @.str.2, %273 ]
  store i32 %268, ptr %267, align 4, !tbaa !5
  %279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %280 = load i32, ptr @test_count, align 4, !tbaa !5
  %281 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %282 = load i32, ptr %281, align 4, !tbaa !5
  %283 = tail call ptr @s2n_strerror(i32 noundef %282, ptr noundef nonnull @.str.4) #10
  %284 = load i32, ptr %281, align 4, !tbaa !5
  %285 = tail call ptr @s2n_strerror_debug(i32 noundef %284, ptr noundef nonnull @.str.4) #10
  %286 = load i32, ptr %267, align 4, !tbaa !5
  %287 = tail call ptr @strerror(i32 noundef %286) #10
  %288 = load i32, ptr %267, align 4, !tbaa !5
  %289 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %279, ptr noundef nonnull %.str.5.sink491, i32 noundef %280, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 43, ptr noundef %283, ptr noundef %285, ptr noundef %287, i32 noundef %288) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

290:                                              ; preds = %261
  %291 = load i32, ptr @test_count, align 4, !tbaa !5
  %292 = add nsw i32 %291, 1
  store i32 %292, ptr @test_count, align 4, !tbaa !5
  %293 = tail call zeroext i1 %264(ptr noundef nonnull %206) #10
  br i1 %293, label %294, label %318

294:                                              ; preds = %290
  %295 = tail call ptr @__errno_location() #11
  %296 = load i32, ptr %295, align 4, !tbaa !5
  %297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %298 = tail call i32 @s2n_print_stacktrace(ptr noundef %297) #10
  %299 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %300 = trunc nuw i8 %299 to i1
  br i1 %300, label %301, label %305

301:                                              ; preds = %294
  %302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %303 = tail call i32 @fileno(ptr noundef %302) #10
  %304 = tail call i32 @isatty(i32 noundef %303) #10
  %.not396 = icmp eq i32 %304, 0
  br i1 %.not396, label %305, label %306

305:                                              ; preds = %301, %294
  br label %306

306:                                              ; preds = %301, %305
  %.str.5.sink502 = phi ptr [ @.str.5, %305 ], [ @.str.2, %301 ]
  store i32 %296, ptr %295, align 4, !tbaa !5
  %307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %308 = load i32, ptr @test_count, align 4, !tbaa !5
  %309 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %310 = load i32, ptr %309, align 4, !tbaa !5
  %311 = tail call ptr @s2n_strerror(i32 noundef %310, ptr noundef nonnull @.str.4) #10
  %312 = load i32, ptr %309, align 4, !tbaa !5
  %313 = tail call ptr @s2n_strerror_debug(i32 noundef %312, ptr noundef nonnull @.str.4) #10
  %314 = load i32, ptr %295, align 4, !tbaa !5
  %315 = tail call ptr @strerror(i32 noundef %314) #10
  %316 = load i32, ptr %295, align 4, !tbaa !5
  %317 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %307, ptr noundef nonnull %.str.5.sink502, i32 noundef %308, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 46, ptr noundef %311, ptr noundef %313, ptr noundef %315, i32 noundef %316) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

318:                                              ; preds = %290
  %319 = load i32, ptr @test_count, align 4, !tbaa !5
  %320 = add nsw i32 %319, 1
  store i32 %320, ptr @test_count, align 4, !tbaa !5
  %321 = tail call i32 @s2n_config_enable_quic(ptr noundef nonnull %177) #10
  %322 = icmp eq i32 %321, -1
  br i1 %322, label %323, label %347

323:                                              ; preds = %318
  %324 = tail call ptr @__errno_location() #11
  %325 = load i32, ptr %324, align 4, !tbaa !5
  %326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %327 = tail call i32 @s2n_print_stacktrace(ptr noundef %326) #10
  %328 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %329 = trunc nuw i8 %328 to i1
  br i1 %329, label %330, label %334

330:                                              ; preds = %323
  %331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %332 = tail call i32 @fileno(ptr noundef %331) #10
  %333 = tail call i32 @isatty(i32 noundef %332) #10
  %.not395 = icmp eq i32 %333, 0
  br i1 %.not395, label %334, label %335

334:                                              ; preds = %330, %323
  br label %335

335:                                              ; preds = %330, %334
  %.str.5.sink513 = phi ptr [ @.str.5, %334 ], [ @.str.2, %330 ]
  store i32 %325, ptr %324, align 4, !tbaa !5
  %336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %337 = load i32, ptr @test_count, align 4, !tbaa !5
  %338 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %339 = load i32, ptr %338, align 4, !tbaa !5
  %340 = tail call ptr @s2n_strerror(i32 noundef %339, ptr noundef nonnull @.str.4) #10
  %341 = load i32, ptr %338, align 4, !tbaa !5
  %342 = tail call ptr @s2n_strerror_debug(i32 noundef %341, ptr noundef nonnull @.str.4) #10
  %343 = load i32, ptr %324, align 4, !tbaa !5
  %344 = tail call ptr @strerror(i32 noundef %343) #10
  %345 = load i32, ptr %324, align 4, !tbaa !5
  %346 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %336, ptr noundef nonnull %.str.5.sink513, i32 noundef %337, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 49, ptr noundef %340, ptr noundef %342, ptr noundef %344, i32 noundef %345) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

347:                                              ; preds = %318
  %348 = load i32, ptr @test_count, align 4, !tbaa !5
  %349 = add nsw i32 %348, 1
  store i32 %349, ptr @test_count, align 4, !tbaa !5
  %350 = tail call zeroext i1 %264(ptr noundef nonnull %206) #10
  br i1 %350, label %375, label %351

351:                                              ; preds = %347
  %352 = tail call ptr @__errno_location() #11
  %353 = load i32, ptr %352, align 4, !tbaa !5
  %354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %355 = tail call i32 @s2n_print_stacktrace(ptr noundef %354) #10
  %356 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %357 = trunc nuw i8 %356 to i1
  br i1 %357, label %358, label %362

358:                                              ; preds = %351
  %359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %360 = tail call i32 @fileno(ptr noundef %359) #10
  %361 = tail call i32 @isatty(i32 noundef %360) #10
  %.not295 = icmp eq i32 %361, 0
  br i1 %.not295, label %362, label %363

362:                                              ; preds = %358, %351
  br label %363

363:                                              ; preds = %358, %362
  %.str.5.sink524 = phi ptr [ @.str.5, %362 ], [ @.str.2, %358 ]
  store i32 %353, ptr %352, align 4, !tbaa !5
  %364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %365 = load i32, ptr @test_count, align 4, !tbaa !5
  %366 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %367 = load i32, ptr %366, align 4, !tbaa !5
  %368 = tail call ptr @s2n_strerror(i32 noundef %367, ptr noundef nonnull @.str.4) #10
  %369 = load i32, ptr %366, align 4, !tbaa !5
  %370 = tail call ptr @s2n_strerror_debug(i32 noundef %369, ptr noundef nonnull @.str.4) #10
  %371 = load i32, ptr %352, align 4, !tbaa !5
  %372 = tail call ptr @strerror(i32 noundef %371) #10
  %373 = load i32, ptr %352, align 4, !tbaa !5
  %374 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %364, ptr noundef nonnull %.str.5.sink524, i32 noundef %365, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 50, ptr noundef %368, ptr noundef %370, ptr noundef %372, i32 noundef %373) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

375:                                              ; preds = %347
  %376 = load i32, ptr @test_count, align 4, !tbaa !5
  %377 = add nsw i32 %376, 1
  store i32 %377, ptr @test_count, align 4, !tbaa !5
  %378 = tail call i32 @s2n_connection_free(ptr noundef nonnull %206) #10
  %379 = icmp eq i32 %378, -1
  br i1 %379, label %380, label %404

380:                                              ; preds = %375
  %381 = tail call ptr @__errno_location() #11
  %382 = load i32, ptr %381, align 4, !tbaa !5
  %383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %384 = tail call i32 @s2n_print_stacktrace(ptr noundef %383) #10
  %385 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %386 = trunc nuw i8 %385 to i1
  br i1 %386, label %387, label %391

387:                                              ; preds = %380
  %388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %389 = tail call i32 @fileno(ptr noundef %388) #10
  %390 = tail call i32 @isatty(i32 noundef %389) #10
  %.not394 = icmp eq i32 %390, 0
  br i1 %.not394, label %391, label %392

391:                                              ; preds = %387, %380
  br label %392

392:                                              ; preds = %387, %391
  %.str.5.sink535 = phi ptr [ @.str.5, %391 ], [ @.str.2, %387 ]
  store i32 %382, ptr %381, align 4, !tbaa !5
  %393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %394 = load i32, ptr @test_count, align 4, !tbaa !5
  %395 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %396 = load i32, ptr %395, align 4, !tbaa !5
  %397 = tail call ptr @s2n_strerror(i32 noundef %396, ptr noundef nonnull @.str.4) #10
  %398 = load i32, ptr %395, align 4, !tbaa !5
  %399 = tail call ptr @s2n_strerror_debug(i32 noundef %398, ptr noundef nonnull @.str.4) #10
  %400 = load i32, ptr %381, align 4, !tbaa !5
  %401 = tail call ptr @strerror(i32 noundef %400) #10
  %402 = load i32, ptr %381, align 4, !tbaa !5
  %403 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %393, ptr noundef nonnull %.str.5.sink535, i32 noundef %394, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 52, ptr noundef %397, ptr noundef %399, ptr noundef %401, i32 noundef %402) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

404:                                              ; preds = %375
  %405 = load i32, ptr @test_count, align 4, !tbaa !5
  %406 = add nsw i32 %405, 1
  store i32 %406, ptr @test_count, align 4, !tbaa !5
  %407 = tail call i32 @s2n_config_free(ptr noundef nonnull %177) #10
  %408 = icmp eq i32 %407, -1
  br i1 %408, label %409, label %433

409:                                              ; preds = %404
  %410 = tail call ptr @__errno_location() #11
  %411 = load i32, ptr %410, align 4, !tbaa !5
  %412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %413 = tail call i32 @s2n_print_stacktrace(ptr noundef %412) #10
  %414 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %415 = trunc nuw i8 %414 to i1
  br i1 %415, label %416, label %420

416:                                              ; preds = %409
  %417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %418 = tail call i32 @fileno(ptr noundef %417) #10
  %419 = tail call i32 @isatty(i32 noundef %418) #10
  %.not393 = icmp eq i32 %419, 0
  br i1 %.not393, label %420, label %421

420:                                              ; preds = %416, %409
  br label %421

421:                                              ; preds = %416, %420
  %.str.5.sink546 = phi ptr [ @.str.5, %420 ], [ @.str.2, %416 ]
  store i32 %411, ptr %410, align 4, !tbaa !5
  %422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %423 = load i32, ptr @test_count, align 4, !tbaa !5
  %424 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %425 = load i32, ptr %424, align 4, !tbaa !5
  %426 = tail call ptr @s2n_strerror(i32 noundef %425, ptr noundef nonnull @.str.4) #10
  %427 = load i32, ptr %424, align 4, !tbaa !5
  %428 = tail call ptr @s2n_strerror_debug(i32 noundef %427, ptr noundef nonnull @.str.4) #10
  %429 = load i32, ptr %410, align 4, !tbaa !5
  %430 = tail call ptr @strerror(i32 noundef %429) #10
  %431 = load i32, ptr %410, align 4, !tbaa !5
  %432 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %422, ptr noundef nonnull %.str.5.sink546, i32 noundef %423, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 53, ptr noundef %426, ptr noundef %428, ptr noundef %430, i32 noundef %431) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

433:                                              ; preds = %404
  %434 = load i32, ptr @test_count, align 4, !tbaa !5
  %435 = add nsw i32 %434, 1
  store i32 %435, ptr @test_count, align 4, !tbaa !5
  %436 = tail call ptr @s2n_config_new() #10
  %437 = icmp eq ptr %436, null
  br i1 %437, label %438, label %462

438:                                              ; preds = %433
  %439 = tail call ptr @__errno_location() #11
  %440 = load i32, ptr %439, align 4, !tbaa !5
  %441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %442 = tail call i32 @s2n_print_stacktrace(ptr noundef %441) #10
  %443 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %444 = trunc nuw i8 %443 to i1
  br i1 %444, label %445, label %449

445:                                              ; preds = %438
  %446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %447 = tail call i32 @fileno(ptr noundef %446) #10
  %448 = tail call i32 @isatty(i32 noundef %447) #10
  %.not392 = icmp eq i32 %448, 0
  br i1 %.not392, label %449, label %450

449:                                              ; preds = %445, %438
  br label %450

450:                                              ; preds = %445, %449
  %.str.5.sink557 = phi ptr [ @.str.5, %449 ], [ @.str.2, %445 ]
  store i32 %440, ptr %439, align 4, !tbaa !5
  %451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %452 = load i32, ptr @test_count, align 4, !tbaa !5
  %453 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %454 = load i32, ptr %453, align 4, !tbaa !5
  %455 = tail call ptr @s2n_strerror(i32 noundef %454, ptr noundef nonnull @.str.4) #10
  %456 = load i32, ptr %453, align 4, !tbaa !5
  %457 = tail call ptr @s2n_strerror_debug(i32 noundef %456, ptr noundef nonnull @.str.4) #10
  %458 = load i32, ptr %439, align 4, !tbaa !5
  %459 = tail call ptr @strerror(i32 noundef %458) #10
  %460 = load i32, ptr %439, align 4, !tbaa !5
  %461 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %451, ptr noundef nonnull %.str.5.sink557, i32 noundef %452, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 59, ptr noundef %455, ptr noundef %457, ptr noundef %459, i32 noundef %460) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

462:                                              ; preds = %433
  %463 = load i32, ptr @test_count, align 4, !tbaa !5
  %464 = add nsw i32 %463, 1
  store i32 %464, ptr @test_count, align 4, !tbaa !5
  %465 = tail call ptr @s2n_connection_new(i32 noundef 1) #10
  %466 = icmp eq ptr %465, null
  br i1 %466, label %467, label %491

467:                                              ; preds = %462
  %468 = tail call ptr @__errno_location() #11
  %469 = load i32, ptr %468, align 4, !tbaa !5
  %470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %471 = tail call i32 @s2n_print_stacktrace(ptr noundef %470) #10
  %472 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %473 = trunc nuw i8 %472 to i1
  br i1 %473, label %474, label %478

474:                                              ; preds = %467
  %475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %476 = tail call i32 @fileno(ptr noundef %475) #10
  %477 = tail call i32 @isatty(i32 noundef %476) #10
  %.not391 = icmp eq i32 %477, 0
  br i1 %.not391, label %478, label %479

478:                                              ; preds = %474, %467
  br label %479

479:                                              ; preds = %474, %478
  %.str.5.sink568 = phi ptr [ @.str.5, %478 ], [ @.str.2, %474 ]
  store i32 %469, ptr %468, align 4, !tbaa !5
  %480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %481 = load i32, ptr @test_count, align 4, !tbaa !5
  %482 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %483 = load i32, ptr %482, align 4, !tbaa !5
  %484 = tail call ptr @s2n_strerror(i32 noundef %483, ptr noundef nonnull @.str.4) #10
  %485 = load i32, ptr %482, align 4, !tbaa !5
  %486 = tail call ptr @s2n_strerror_debug(i32 noundef %485, ptr noundef nonnull @.str.4) #10
  %487 = load i32, ptr %468, align 4, !tbaa !5
  %488 = tail call ptr @strerror(i32 noundef %487) #10
  %489 = load i32, ptr %468, align 4, !tbaa !5
  %490 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %480, ptr noundef nonnull %.str.5.sink568, i32 noundef %481, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 62, ptr noundef %484, ptr noundef %486, ptr noundef %488, i32 noundef %489) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

491:                                              ; preds = %462
  %492 = load i32, ptr @test_count, align 4, !tbaa !5
  %493 = add nsw i32 %492, 1
  store i32 %493, ptr @test_count, align 4, !tbaa !5
  %494 = tail call i32 @s2n_connection_set_config(ptr noundef nonnull %465, ptr noundef nonnull %436) #10
  %495 = icmp eq i32 %494, -1
  br i1 %495, label %496, label %520

496:                                              ; preds = %491
  %497 = tail call ptr @__errno_location() #11
  %498 = load i32, ptr %497, align 4, !tbaa !5
  %499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %500 = tail call i32 @s2n_print_stacktrace(ptr noundef %499) #10
  %501 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %502 = trunc nuw i8 %501 to i1
  br i1 %502, label %503, label %507

503:                                              ; preds = %496
  %504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %505 = tail call i32 @fileno(ptr noundef %504) #10
  %506 = tail call i32 @isatty(i32 noundef %505) #10
  %.not390 = icmp eq i32 %506, 0
  br i1 %.not390, label %507, label %508

507:                                              ; preds = %503, %496
  br label %508

508:                                              ; preds = %503, %507
  %.str.5.sink579 = phi ptr [ @.str.5, %507 ], [ @.str.2, %503 ]
  store i32 %498, ptr %497, align 4, !tbaa !5
  %509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %510 = load i32, ptr @test_count, align 4, !tbaa !5
  %511 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %512 = load i32, ptr %511, align 4, !tbaa !5
  %513 = tail call ptr @s2n_strerror(i32 noundef %512, ptr noundef nonnull @.str.4) #10
  %514 = load i32, ptr %511, align 4, !tbaa !5
  %515 = tail call ptr @s2n_strerror_debug(i32 noundef %514, ptr noundef nonnull @.str.4) #10
  %516 = load i32, ptr %497, align 4, !tbaa !5
  %517 = tail call ptr @strerror(i32 noundef %516) #10
  %518 = load i32, ptr %497, align 4, !tbaa !5
  %519 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %509, ptr noundef nonnull %.str.5.sink579, i32 noundef %510, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 63, ptr noundef %513, ptr noundef %515, ptr noundef %517, i32 noundef %518) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

520:                                              ; preds = %491
  %521 = load i32, ptr @test_count, align 4, !tbaa !5
  %522 = add nsw i32 %521, 1
  store i32 %522, ptr @test_count, align 4, !tbaa !5
  %523 = load ptr, ptr getelementptr inbounds (i8, ptr @s2n_quic_transport_parameters_extension, i64 32), align 8, !tbaa !18
  %524 = tail call i32 %523(ptr noundef null) #10
  %525 = icmp eq i32 %524, -1
  br i1 %525, label %550, label %526

526:                                              ; preds = %520
  %527 = tail call ptr @__errno_location() #11
  %528 = load i32, ptr %527, align 4, !tbaa !5
  %529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %530 = tail call i32 @s2n_print_stacktrace(ptr noundef %529) #10
  %531 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %532 = trunc nuw i8 %531 to i1
  br i1 %532, label %533, label %537

533:                                              ; preds = %526
  %534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %535 = tail call i32 @fileno(ptr noundef %534) #10
  %536 = tail call i32 @isatty(i32 noundef %535) #10
  %.not296 = icmp eq i32 %536, 0
  br i1 %.not296, label %537, label %538

537:                                              ; preds = %533, %526
  br label %538

538:                                              ; preds = %533, %537
  %.str.5.sink590 = phi ptr [ @.str.5, %537 ], [ @.str.2, %533 ]
  store i32 %528, ptr %527, align 4, !tbaa !5
  %539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %540 = load i32, ptr @test_count, align 4, !tbaa !5
  %541 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %542 = load i32, ptr %541, align 4, !tbaa !5
  %543 = tail call ptr @s2n_strerror(i32 noundef %542, ptr noundef nonnull @.str.4) #10
  %544 = load i32, ptr %541, align 4, !tbaa !5
  %545 = tail call ptr @s2n_strerror_debug(i32 noundef %544, ptr noundef nonnull @.str.4) #10
  %546 = load i32, ptr %527, align 4, !tbaa !5
  %547 = tail call ptr @strerror(i32 noundef %546) #10
  %548 = load i32, ptr %527, align 4, !tbaa !5
  %549 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %539, ptr noundef nonnull %.str.5.sink590, i32 noundef %540, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 66, ptr noundef %543, ptr noundef %545, ptr noundef %547, i32 noundef %548) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

550:                                              ; preds = %520
  %551 = load i32, ptr @test_count, align 4, !tbaa !5
  %552 = add nsw i32 %551, 1
  store i32 %552, ptr @test_count, align 4, !tbaa !5
  %553 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %554 = load i32, ptr %553, align 4, !tbaa !5
  %555 = icmp eq i32 %554, 402653193
  br i1 %555, label %579, label %556

556:                                              ; preds = %550
  %557 = tail call ptr @__errno_location() #11
  %558 = load i32, ptr %557, align 4, !tbaa !5
  %559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %560 = tail call i32 @s2n_print_stacktrace(ptr noundef %559) #10
  %561 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %562 = trunc nuw i8 %561 to i1
  br i1 %562, label %563, label %567

563:                                              ; preds = %556
  %564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %565 = tail call i32 @fileno(ptr noundef %564) #10
  %566 = tail call i32 @isatty(i32 noundef %565) #10
  %.not297 = icmp eq i32 %566, 0
  br i1 %.not297, label %567, label %568

567:                                              ; preds = %563, %556
  br label %568

568:                                              ; preds = %563, %567
  %.str.5.sink601 = phi ptr [ @.str.5, %567 ], [ @.str.2, %563 ]
  store i32 %558, ptr %557, align 4, !tbaa !5
  %569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %570 = load i32, ptr @test_count, align 4, !tbaa !5
  %571 = load i32, ptr %553, align 4, !tbaa !5
  %572 = tail call ptr @s2n_strerror(i32 noundef %571, ptr noundef nonnull @.str.4) #10
  %573 = load i32, ptr %553, align 4, !tbaa !5
  %574 = tail call ptr @s2n_strerror_debug(i32 noundef %573, ptr noundef nonnull @.str.4) #10
  %575 = load i32, ptr %557, align 4, !tbaa !5
  %576 = tail call ptr @strerror(i32 noundef %575) #10
  %577 = load i32, ptr %557, align 4, !tbaa !5
  %578 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %569, ptr noundef nonnull %.str.5.sink601, i32 noundef %570, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 66, ptr noundef %572, ptr noundef %574, ptr noundef %576, i32 noundef %577) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

579:                                              ; preds = %550
  %580 = add nsw i32 %551, 2
  store i32 %580, ptr @test_count, align 4, !tbaa !5
  %581 = tail call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #10
  %582 = icmp eq ptr %581, null
  br i1 %582, label %583, label %606

583:                                              ; preds = %579
  %584 = tail call ptr @__errno_location() #11
  %585 = load i32, ptr %584, align 4, !tbaa !5
  %586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %587 = tail call i32 @s2n_print_stacktrace(ptr noundef %586) #10
  %588 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %589 = trunc nuw i8 %588 to i1
  br i1 %589, label %590, label %594

590:                                              ; preds = %583
  %591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %592 = tail call i32 @fileno(ptr noundef %591) #10
  %593 = tail call i32 @isatty(i32 noundef %592) #10
  %.not389 = icmp eq i32 %593, 0
  br i1 %.not389, label %594, label %595

594:                                              ; preds = %590, %583
  br label %595

595:                                              ; preds = %590, %594
  %.str.5.sink610 = phi ptr [ @.str.5, %594 ], [ @.str.2, %590 ]
  store i32 %585, ptr %584, align 4, !tbaa !5
  %596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %597 = load i32, ptr @test_count, align 4, !tbaa !5
  %598 = load i32, ptr %553, align 4, !tbaa !5
  %599 = tail call ptr @s2n_strerror(i32 noundef %598, ptr noundef nonnull @.str.4) #10
  %600 = load i32, ptr %553, align 4, !tbaa !5
  %601 = tail call ptr @s2n_strerror_debug(i32 noundef %600, ptr noundef nonnull @.str.4) #10
  %602 = load i32, ptr %584, align 4, !tbaa !5
  %603 = tail call ptr @strerror(i32 noundef %602) #10
  %604 = load i32, ptr %584, align 4, !tbaa !5
  %605 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %596, ptr noundef nonnull %.str.5.sink610, i32 noundef %597, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 66, ptr noundef %599, ptr noundef %601, ptr noundef %603, i32 noundef %604) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

606:                                              ; preds = %579
  store i32 0, ptr %553, align 4, !tbaa !5
  tail call void @s2n_debug_info_reset() #10
  %607 = tail call ptr @__errno_location() #11
  store i32 0, ptr %607, align 4, !tbaa !5
  %608 = load i32, ptr @test_count, align 4, !tbaa !5
  %609 = add nsw i32 %608, 1
  store i32 %609, ptr @test_count, align 4, !tbaa !5
  %610 = tail call i32 %523(ptr noundef nonnull %465) #10
  %611 = icmp eq i32 %610, -1
  br i1 %611, label %612, label %634

612:                                              ; preds = %606
  %613 = load i32, ptr %607, align 4, !tbaa !5
  %614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %615 = tail call i32 @s2n_print_stacktrace(ptr noundef %614) #10
  %616 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %617 = trunc nuw i8 %616 to i1
  br i1 %617, label %618, label %622

618:                                              ; preds = %612
  %619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %620 = tail call i32 @fileno(ptr noundef %619) #10
  %621 = tail call i32 @isatty(i32 noundef %620) #10
  %.not388 = icmp eq i32 %621, 0
  br i1 %.not388, label %622, label %623

622:                                              ; preds = %618, %612
  br label %623

623:                                              ; preds = %618, %622
  %.str.5.sink619 = phi ptr [ @.str.5, %622 ], [ @.str.2, %618 ]
  store i32 %613, ptr %607, align 4, !tbaa !5
  %624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %625 = load i32, ptr @test_count, align 4, !tbaa !5
  %626 = load i32, ptr %553, align 4, !tbaa !5
  %627 = tail call ptr @s2n_strerror(i32 noundef %626, ptr noundef nonnull @.str.4) #10
  %628 = load i32, ptr %553, align 4, !tbaa !5
  %629 = tail call ptr @s2n_strerror_debug(i32 noundef %628, ptr noundef nonnull @.str.4) #10
  %630 = load i32, ptr %607, align 4, !tbaa !5
  %631 = tail call ptr @strerror(i32 noundef %630) #10
  %632 = load i32, ptr %607, align 4, !tbaa !5
  %633 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %624, ptr noundef nonnull %.str.5.sink619, i32 noundef %625, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 69, ptr noundef %627, ptr noundef %629, ptr noundef %631, i32 noundef %632) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

634:                                              ; preds = %606
  %635 = load i32, ptr @test_count, align 4, !tbaa !5
  %636 = add nsw i32 %635, 1
  store i32 %636, ptr @test_count, align 4, !tbaa !5
  %637 = tail call i32 @s2n_config_enable_quic(ptr noundef nonnull %436) #10
  %638 = icmp eq i32 %637, -1
  br i1 %638, label %639, label %661

639:                                              ; preds = %634
  %640 = load i32, ptr %607, align 4, !tbaa !5
  %641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %642 = tail call i32 @s2n_print_stacktrace(ptr noundef %641) #10
  %643 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %644 = trunc nuw i8 %643 to i1
  br i1 %644, label %645, label %649

645:                                              ; preds = %639
  %646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %647 = tail call i32 @fileno(ptr noundef %646) #10
  %648 = tail call i32 @isatty(i32 noundef %647) #10
  %.not387 = icmp eq i32 %648, 0
  br i1 %.not387, label %649, label %650

649:                                              ; preds = %645, %639
  br label %650

650:                                              ; preds = %645, %649
  %.str.5.sink628 = phi ptr [ @.str.5, %649 ], [ @.str.2, %645 ]
  store i32 %640, ptr %607, align 4, !tbaa !5
  %651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %652 = load i32, ptr @test_count, align 4, !tbaa !5
  %653 = load i32, ptr %553, align 4, !tbaa !5
  %654 = tail call ptr @s2n_strerror(i32 noundef %653, ptr noundef nonnull @.str.4) #10
  %655 = load i32, ptr %553, align 4, !tbaa !5
  %656 = tail call ptr @s2n_strerror_debug(i32 noundef %655, ptr noundef nonnull @.str.4) #10
  %657 = load i32, ptr %607, align 4, !tbaa !5
  %658 = tail call ptr @strerror(i32 noundef %657) #10
  %659 = load i32, ptr %607, align 4, !tbaa !5
  %660 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %651, ptr noundef nonnull %.str.5.sink628, i32 noundef %652, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 80, ptr noundef %654, ptr noundef %656, ptr noundef %658, i32 noundef %659) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

661:                                              ; preds = %634
  %662 = load i32, ptr @test_count, align 4, !tbaa !5
  %663 = add nsw i32 %662, 1
  store i32 %663, ptr @test_count, align 4, !tbaa !5
  %664 = tail call i32 %523(ptr noundef nonnull %465) #10
  %665 = icmp eq i32 %664, -1
  br i1 %665, label %688, label %666

666:                                              ; preds = %661
  %667 = load i32, ptr %607, align 4, !tbaa !5
  %668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %669 = tail call i32 @s2n_print_stacktrace(ptr noundef %668) #10
  %670 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %671 = trunc nuw i8 %670 to i1
  br i1 %671, label %672, label %676

672:                                              ; preds = %666
  %673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %674 = tail call i32 @fileno(ptr noundef %673) #10
  %675 = tail call i32 @isatty(i32 noundef %674) #10
  %.not298 = icmp eq i32 %675, 0
  br i1 %.not298, label %676, label %677

676:                                              ; preds = %672, %666
  br label %677

677:                                              ; preds = %672, %676
  %.str.5.sink637 = phi ptr [ @.str.5, %676 ], [ @.str.2, %672 ]
  store i32 %667, ptr %607, align 4, !tbaa !5
  %678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %679 = load i32, ptr @test_count, align 4, !tbaa !5
  %680 = load i32, ptr %553, align 4, !tbaa !5
  %681 = tail call ptr @s2n_strerror(i32 noundef %680, ptr noundef nonnull @.str.4) #10
  %682 = load i32, ptr %553, align 4, !tbaa !5
  %683 = tail call ptr @s2n_strerror_debug(i32 noundef %682, ptr noundef nonnull @.str.4) #10
  %684 = load i32, ptr %607, align 4, !tbaa !5
  %685 = tail call ptr @strerror(i32 noundef %684) #10
  %686 = load i32, ptr %607, align 4, !tbaa !5
  %687 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %678, ptr noundef nonnull %.str.5.sink637, i32 noundef %679, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 82, ptr noundef %681, ptr noundef %683, ptr noundef %685, i32 noundef %686) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

688:                                              ; preds = %661
  %689 = load i32, ptr @test_count, align 4, !tbaa !5
  %690 = add nsw i32 %689, 1
  store i32 %690, ptr @test_count, align 4, !tbaa !5
  %691 = load i32, ptr %553, align 4, !tbaa !5
  %692 = icmp eq i32 %691, 335544393
  br i1 %692, label %715, label %693

693:                                              ; preds = %688
  %694 = load i32, ptr %607, align 4, !tbaa !5
  %695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %696 = tail call i32 @s2n_print_stacktrace(ptr noundef %695) #10
  %697 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %698 = trunc nuw i8 %697 to i1
  br i1 %698, label %699, label %703

699:                                              ; preds = %693
  %700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %701 = tail call i32 @fileno(ptr noundef %700) #10
  %702 = tail call i32 @isatty(i32 noundef %701) #10
  %.not299 = icmp eq i32 %702, 0
  br i1 %.not299, label %703, label %704

703:                                              ; preds = %699, %693
  br label %704

704:                                              ; preds = %699, %703
  %.str.5.sink646 = phi ptr [ @.str.5, %703 ], [ @.str.2, %699 ]
  store i32 %694, ptr %607, align 4, !tbaa !5
  %705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %706 = load i32, ptr @test_count, align 4, !tbaa !5
  %707 = load i32, ptr %553, align 4, !tbaa !5
  %708 = tail call ptr @s2n_strerror(i32 noundef %707, ptr noundef nonnull @.str.4) #10
  %709 = load i32, ptr %553, align 4, !tbaa !5
  %710 = tail call ptr @s2n_strerror_debug(i32 noundef %709, ptr noundef nonnull @.str.4) #10
  %711 = load i32, ptr %607, align 4, !tbaa !5
  %712 = tail call ptr @strerror(i32 noundef %711) #10
  %713 = load i32, ptr %607, align 4, !tbaa !5
  %714 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %705, ptr noundef nonnull %.str.5.sink646, i32 noundef %706, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 82, ptr noundef %708, ptr noundef %710, ptr noundef %712, i32 noundef %713) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

715:                                              ; preds = %688
  %716 = add nsw i32 %689, 2
  store i32 %716, ptr @test_count, align 4, !tbaa !5
  %717 = tail call ptr @s2n_strerror_debug(i32 noundef 335544393, ptr noundef nonnull @.str.4) #10
  %718 = icmp eq ptr %717, null
  br i1 %718, label %719, label %741

719:                                              ; preds = %715
  %720 = load i32, ptr %607, align 4, !tbaa !5
  %721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %722 = tail call i32 @s2n_print_stacktrace(ptr noundef %721) #10
  %723 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %724 = trunc nuw i8 %723 to i1
  br i1 %724, label %725, label %729

725:                                              ; preds = %719
  %726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %727 = tail call i32 @fileno(ptr noundef %726) #10
  %728 = tail call i32 @isatty(i32 noundef %727) #10
  %.not386 = icmp eq i32 %728, 0
  br i1 %.not386, label %729, label %730

729:                                              ; preds = %725, %719
  br label %730

730:                                              ; preds = %725, %729
  %.str.5.sink655 = phi ptr [ @.str.5, %729 ], [ @.str.2, %725 ]
  store i32 %720, ptr %607, align 4, !tbaa !5
  %731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %732 = load i32, ptr @test_count, align 4, !tbaa !5
  %733 = load i32, ptr %553, align 4, !tbaa !5
  %734 = tail call ptr @s2n_strerror(i32 noundef %733, ptr noundef nonnull @.str.4) #10
  %735 = load i32, ptr %553, align 4, !tbaa !5
  %736 = tail call ptr @s2n_strerror_debug(i32 noundef %735, ptr noundef nonnull @.str.4) #10
  %737 = load i32, ptr %607, align 4, !tbaa !5
  %738 = tail call ptr @strerror(i32 noundef %737) #10
  %739 = load i32, ptr %607, align 4, !tbaa !5
  %740 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %731, ptr noundef nonnull %.str.5.sink655, i32 noundef %732, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 82, ptr noundef %734, ptr noundef %736, ptr noundef %738, i32 noundef %739) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

741:                                              ; preds = %715
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %3) #10
  store i8 0, ptr %3, align 1, !tbaa !19
  %742 = load i32, ptr @test_count, align 4, !tbaa !5
  %743 = add nsw i32 %742, 1
  store i32 %743, ptr @test_count, align 4, !tbaa !5
  %744 = load i32, ptr %553, align 4, !tbaa !5
  %745 = call i32 @s2n_error_get_alert(i32 noundef %744, ptr noundef nonnull %3) #10
  %746 = icmp eq i32 %745, -1
  br i1 %746, label %747, label %769

747:                                              ; preds = %741
  %748 = load i32, ptr %607, align 4, !tbaa !5
  %749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %750 = call i32 @s2n_print_stacktrace(ptr noundef %749) #10
  %751 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %752 = trunc nuw i8 %751 to i1
  br i1 %752, label %753, label %757

753:                                              ; preds = %747
  %754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %755 = call i32 @fileno(ptr noundef %754) #10
  %756 = call i32 @isatty(i32 noundef %755) #10
  %.not385 = icmp eq i32 %756, 0
  br i1 %.not385, label %757, label %758

757:                                              ; preds = %753, %747
  br label %758

758:                                              ; preds = %753, %757
  %.str.5.sink664 = phi ptr [ @.str.5, %757 ], [ @.str.2, %753 ]
  store i32 %748, ptr %607, align 4, !tbaa !5
  %759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %760 = load i32, ptr @test_count, align 4, !tbaa !5
  %761 = load i32, ptr %553, align 4, !tbaa !5
  %762 = call ptr @s2n_strerror(i32 noundef %761, ptr noundef nonnull @.str.4) #10
  %763 = load i32, ptr %553, align 4, !tbaa !5
  %764 = call ptr @s2n_strerror_debug(i32 noundef %763, ptr noundef nonnull @.str.4) #10
  %765 = load i32, ptr %607, align 4, !tbaa !5
  %766 = call ptr @strerror(i32 noundef %765) #10
  %767 = load i32, ptr %607, align 4, !tbaa !5
  %768 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %759, ptr noundef nonnull %.str.5.sink664, i32 noundef %760, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 82, ptr noundef %762, ptr noundef %764, ptr noundef %766, i32 noundef %767) #12
  call void @exit(i32 noundef 1) #13
  unreachable

769:                                              ; preds = %741
  %770 = load i32, ptr @test_count, align 4, !tbaa !5
  %771 = add nsw i32 %770, 1
  store i32 %771, ptr @test_count, align 4, !tbaa !5
  %772 = load i8, ptr %3, align 1, !tbaa !19
  %773 = icmp eq i8 %772, 109
  br i1 %773, label %796, label %774

774:                                              ; preds = %769
  %775 = load i32, ptr %607, align 4, !tbaa !5
  %776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %777 = call i32 @s2n_print_stacktrace(ptr noundef %776) #10
  %778 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %779 = trunc nuw i8 %778 to i1
  br i1 %779, label %780, label %784

780:                                              ; preds = %774
  %781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %782 = call i32 @fileno(ptr noundef %781) #10
  %783 = call i32 @isatty(i32 noundef %782) #10
  %.not300 = icmp eq i32 %783, 0
  br i1 %.not300, label %784, label %785

784:                                              ; preds = %780, %774
  br label %785

785:                                              ; preds = %780, %784
  %.str.5.sink673 = phi ptr [ @.str.5, %784 ], [ @.str.2, %780 ]
  store i32 %775, ptr %607, align 4, !tbaa !5
  %786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %787 = load i32, ptr @test_count, align 4, !tbaa !5
  %788 = load i32, ptr %553, align 4, !tbaa !5
  %789 = call ptr @s2n_strerror(i32 noundef %788, ptr noundef nonnull @.str.4) #10
  %790 = load i32, ptr %553, align 4, !tbaa !5
  %791 = call ptr @s2n_strerror_debug(i32 noundef %790, ptr noundef nonnull @.str.4) #10
  %792 = load i32, ptr %607, align 4, !tbaa !5
  %793 = call ptr @strerror(i32 noundef %792) #10
  %794 = load i32, ptr %607, align 4, !tbaa !5
  %795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %786, ptr noundef nonnull %.str.5.sink673, i32 noundef %787, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 82, ptr noundef %789, ptr noundef %791, ptr noundef %793, i32 noundef %794) #12
  call void @exit(i32 noundef 1) #13
  unreachable

796:                                              ; preds = %769
  store i32 0, ptr %553, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #10
  store i32 0, ptr %607, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %3) #10
  %797 = load i32, ptr @test_count, align 4, !tbaa !5
  %798 = add nsw i32 %797, 1
  store i32 %798, ptr @test_count, align 4, !tbaa !5
  %799 = call i32 @s2n_connection_free(ptr noundef nonnull %465) #10
  %800 = icmp eq i32 %799, -1
  br i1 %800, label %801, label %823

801:                                              ; preds = %796
  %802 = load i32, ptr %607, align 4, !tbaa !5
  %803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %804 = call i32 @s2n_print_stacktrace(ptr noundef %803) #10
  %805 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %806 = trunc nuw i8 %805 to i1
  br i1 %806, label %807, label %811

807:                                              ; preds = %801
  %808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %809 = call i32 @fileno(ptr noundef %808) #10
  %810 = call i32 @isatty(i32 noundef %809) #10
  %.not384 = icmp eq i32 %810, 0
  br i1 %.not384, label %811, label %812

811:                                              ; preds = %807, %801
  br label %812

812:                                              ; preds = %807, %811
  %.str.5.sink682 = phi ptr [ @.str.5, %811 ], [ @.str.2, %807 ]
  store i32 %802, ptr %607, align 4, !tbaa !5
  %813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %814 = load i32, ptr @test_count, align 4, !tbaa !5
  %815 = load i32, ptr %553, align 4, !tbaa !5
  %816 = call ptr @s2n_strerror(i32 noundef %815, ptr noundef nonnull @.str.4) #10
  %817 = load i32, ptr %553, align 4, !tbaa !5
  %818 = call ptr @s2n_strerror_debug(i32 noundef %817, ptr noundef nonnull @.str.4) #10
  %819 = load i32, ptr %607, align 4, !tbaa !5
  %820 = call ptr @strerror(i32 noundef %819) #10
  %821 = load i32, ptr %607, align 4, !tbaa !5
  %822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %813, ptr noundef nonnull %.str.5.sink682, i32 noundef %814, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 84, ptr noundef %816, ptr noundef %818, ptr noundef %820, i32 noundef %821) #12
  call void @exit(i32 noundef 1) #13
  unreachable

823:                                              ; preds = %796
  %824 = load i32, ptr @test_count, align 4, !tbaa !5
  %825 = add nsw i32 %824, 1
  store i32 %825, ptr @test_count, align 4, !tbaa !5
  %826 = call i32 @s2n_config_free(ptr noundef nonnull %436) #10
  %827 = icmp eq i32 %826, -1
  br i1 %827, label %828, label %850

828:                                              ; preds = %823
  %829 = load i32, ptr %607, align 4, !tbaa !5
  %830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %831 = call i32 @s2n_print_stacktrace(ptr noundef %830) #10
  %832 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %833 = trunc nuw i8 %832 to i1
  br i1 %833, label %834, label %838

834:                                              ; preds = %828
  %835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %836 = call i32 @fileno(ptr noundef %835) #10
  %837 = call i32 @isatty(i32 noundef %836) #10
  %.not383 = icmp eq i32 %837, 0
  br i1 %.not383, label %838, label %839

838:                                              ; preds = %834, %828
  br label %839

839:                                              ; preds = %834, %838
  %.str.5.sink691 = phi ptr [ @.str.5, %838 ], [ @.str.2, %834 ]
  store i32 %829, ptr %607, align 4, !tbaa !5
  %840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %841 = load i32, ptr @test_count, align 4, !tbaa !5
  %842 = load i32, ptr %553, align 4, !tbaa !5
  %843 = call ptr @s2n_strerror(i32 noundef %842, ptr noundef nonnull @.str.4) #10
  %844 = load i32, ptr %553, align 4, !tbaa !5
  %845 = call ptr @s2n_strerror_debug(i32 noundef %844, ptr noundef nonnull @.str.4) #10
  %846 = load i32, ptr %607, align 4, !tbaa !5
  %847 = call ptr @strerror(i32 noundef %846) #10
  %848 = load i32, ptr %607, align 4, !tbaa !5
  %849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %840, ptr noundef nonnull %.str.5.sink691, i32 noundef %841, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 85, ptr noundef %843, ptr noundef %845, ptr noundef %847, i32 noundef %848) #12
  call void @exit(i32 noundef 1) #13
  unreachable

850:                                              ; preds = %823
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %4) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %4, i8 0, i64 40, i1 false)
  %851 = load i32, ptr @test_count, align 4, !tbaa !5
  %852 = add nsw i32 %851, 1
  store i32 %852, ptr @test_count, align 4, !tbaa !5
  %853 = call ptr @s2n_connection_new(i32 noundef 1) #10
  %854 = icmp eq ptr %853, null
  br i1 %854, label %855, label %877

855:                                              ; preds = %850
  %856 = load i32, ptr %607, align 4, !tbaa !5
  %857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %858 = call i32 @s2n_print_stacktrace(ptr noundef %857) #10
  %859 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %860 = trunc nuw i8 %859 to i1
  br i1 %860, label %861, label %865

861:                                              ; preds = %855
  %862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %863 = call i32 @fileno(ptr noundef %862) #10
  %864 = call i32 @isatty(i32 noundef %863) #10
  %.not382 = icmp eq i32 %864, 0
  br i1 %.not382, label %865, label %866

865:                                              ; preds = %861, %855
  br label %866

866:                                              ; preds = %861, %865
  %.str.5.sink700 = phi ptr [ @.str.5, %865 ], [ @.str.2, %861 ]
  store i32 %856, ptr %607, align 4, !tbaa !5
  %867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %868 = load i32, ptr @test_count, align 4, !tbaa !5
  %869 = load i32, ptr %553, align 4, !tbaa !5
  %870 = call ptr @s2n_strerror(i32 noundef %869, ptr noundef nonnull @.str.4) #10
  %871 = load i32, ptr %553, align 4, !tbaa !5
  %872 = call ptr @s2n_strerror_debug(i32 noundef %871, ptr noundef nonnull @.str.4) #10
  %873 = load i32, ptr %607, align 4, !tbaa !5
  %874 = call ptr @strerror(i32 noundef %873) #10
  %875 = load i32, ptr %607, align 4, !tbaa !5
  %876 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %867, ptr noundef nonnull %.str.5.sink700, i32 noundef %868, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 95, ptr noundef %870, ptr noundef %872, ptr noundef %874, i32 noundef %875) #12
  call void @exit(i32 noundef 1) #13
  unreachable

877:                                              ; preds = %850
  %878 = load i32, ptr @test_count, align 4, !tbaa !5
  %879 = add nsw i32 %878, 1
  store i32 %879, ptr @test_count, align 4, !tbaa !5
  %880 = load ptr, ptr getelementptr inbounds (i8, ptr @s2n_quic_transport_parameters_extension, i64 8), align 8, !tbaa !20
  %881 = call i32 %880(ptr noundef null, ptr noundef nonnull %4) #10
  %882 = icmp eq i32 %881, -1
  br i1 %882, label %905, label %883

883:                                              ; preds = %877
  %884 = load i32, ptr %607, align 4, !tbaa !5
  %885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %886 = call i32 @s2n_print_stacktrace(ptr noundef %885) #10
  %887 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %888 = trunc nuw i8 %887 to i1
  br i1 %888, label %889, label %893

889:                                              ; preds = %883
  %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
  %.not301 = icmp eq i32 %892, 0
  br i1 %.not301, label %893, label %894

893:                                              ; preds = %889, %883
  br label %894

894:                                              ; preds = %889, %893
  %.str.5.sink709 = phi ptr [ @.str.5, %893 ], [ @.str.2, %889 ]
  store i32 %884, ptr %607, align 4, !tbaa !5
  %895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %896 = load i32, ptr @test_count, align 4, !tbaa !5
  %897 = load i32, ptr %553, align 4, !tbaa !5
  %898 = call ptr @s2n_strerror(i32 noundef %897, ptr noundef nonnull @.str.4) #10
  %899 = load i32, ptr %553, align 4, !tbaa !5
  %900 = call ptr @s2n_strerror_debug(i32 noundef %899, ptr noundef nonnull @.str.4) #10
  %901 = load i32, ptr %607, align 4, !tbaa !5
  %902 = call ptr @strerror(i32 noundef %901) #10
  %903 = load i32, ptr %607, align 4, !tbaa !5
  %904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %895, ptr noundef nonnull %.str.5.sink709, i32 noundef %896, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 97, ptr noundef %898, ptr noundef %900, ptr noundef %902, i32 noundef %903) #12
  call void @exit(i32 noundef 1) #13
  unreachable

905:                                              ; preds = %877
  %906 = load i32, ptr @test_count, align 4, !tbaa !5
  %907 = add nsw i32 %906, 1
  store i32 %907, ptr @test_count, align 4, !tbaa !5
  %908 = load i32, ptr %553, align 4, !tbaa !5
  %909 = icmp eq i32 %908, 402653193
  br i1 %909, label %932, label %910

910:                                              ; preds = %905
  %911 = load i32, ptr %607, align 4, !tbaa !5
  %912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %913 = call i32 @s2n_print_stacktrace(ptr noundef %912) #10
  %914 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %915 = trunc nuw i8 %914 to i1
  br i1 %915, label %916, label %920

916:                                              ; preds = %910
  %917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %918 = call i32 @fileno(ptr noundef %917) #10
  %919 = call i32 @isatty(i32 noundef %918) #10
  %.not302 = icmp eq i32 %919, 0
  br i1 %.not302, label %920, label %921

920:                                              ; preds = %916, %910
  br label %921

921:                                              ; preds = %916, %920
  %.str.5.sink718 = phi ptr [ @.str.5, %920 ], [ @.str.2, %916 ]
  store i32 %911, ptr %607, align 4, !tbaa !5
  %922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %923 = load i32, ptr @test_count, align 4, !tbaa !5
  %924 = load i32, ptr %553, align 4, !tbaa !5
  %925 = call ptr @s2n_strerror(i32 noundef %924, ptr noundef nonnull @.str.4) #10
  %926 = load i32, ptr %553, align 4, !tbaa !5
  %927 = call ptr @s2n_strerror_debug(i32 noundef %926, ptr noundef nonnull @.str.4) #10
  %928 = load i32, ptr %607, align 4, !tbaa !5
  %929 = call ptr @strerror(i32 noundef %928) #10
  %930 = load i32, ptr %607, align 4, !tbaa !5
  %931 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %922, ptr noundef nonnull %.str.5.sink718, i32 noundef %923, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 97, ptr noundef %925, ptr noundef %927, ptr noundef %929, i32 noundef %930) #12
  call void @exit(i32 noundef 1) #13
  unreachable

932:                                              ; preds = %905
  %933 = add nsw i32 %906, 2
  store i32 %933, ptr @test_count, align 4, !tbaa !5
  %934 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #10
  %935 = icmp eq ptr %934, null
  br i1 %935, label %936, label %958

936:                                              ; preds = %932
  %937 = load i32, ptr %607, align 4, !tbaa !5
  %938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %939 = call i32 @s2n_print_stacktrace(ptr noundef %938) #10
  %940 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %941 = trunc nuw i8 %940 to i1
  br i1 %941, label %942, label %946

942:                                              ; preds = %936
  %943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %944 = call i32 @fileno(ptr noundef %943) #10
  %945 = call i32 @isatty(i32 noundef %944) #10
  %.not381 = icmp eq i32 %945, 0
  br i1 %.not381, label %946, label %947

946:                                              ; preds = %942, %936
  br label %947

947:                                              ; preds = %942, %946
  %.str.5.sink727 = phi ptr [ @.str.5, %946 ], [ @.str.2, %942 ]
  store i32 %937, ptr %607, align 4, !tbaa !5
  %948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %949 = load i32, ptr @test_count, align 4, !tbaa !5
  %950 = load i32, ptr %553, align 4, !tbaa !5
  %951 = call ptr @s2n_strerror(i32 noundef %950, ptr noundef nonnull @.str.4) #10
  %952 = load i32, ptr %553, align 4, !tbaa !5
  %953 = call ptr @s2n_strerror_debug(i32 noundef %952, ptr noundef nonnull @.str.4) #10
  %954 = load i32, ptr %607, align 4, !tbaa !5
  %955 = call ptr @strerror(i32 noundef %954) #10
  %956 = load i32, ptr %607, align 4, !tbaa !5
  %957 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %948, ptr noundef nonnull %.str.5.sink727, i32 noundef %949, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 97, ptr noundef %951, ptr noundef %953, ptr noundef %955, i32 noundef %956) #12
  call void @exit(i32 noundef 1) #13
  unreachable

958:                                              ; preds = %932
  store i32 0, ptr %553, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #10
  store i32 0, ptr %607, align 4, !tbaa !5
  %959 = load i32, ptr @test_count, align 4, !tbaa !5
  %960 = add nsw i32 %959, 1
  store i32 %960, ptr @test_count, align 4, !tbaa !5
  %961 = call i32 %880(ptr noundef nonnull %853, ptr noundef null) #10
  %962 = icmp eq i32 %961, -1
  br i1 %962, label %985, label %963

963:                                              ; preds = %958
  %964 = load i32, ptr %607, align 4, !tbaa !5
  %965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %966 = call i32 @s2n_print_stacktrace(ptr noundef %965) #10
  %967 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %968 = trunc nuw i8 %967 to i1
  br i1 %968, label %969, label %973

969:                                              ; preds = %963
  %970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %971 = call i32 @fileno(ptr noundef %970) #10
  %972 = call i32 @isatty(i32 noundef %971) #10
  %.not303 = icmp eq i32 %972, 0
  br i1 %.not303, label %973, label %974

973:                                              ; preds = %969, %963
  br label %974

974:                                              ; preds = %969, %973
  %.str.5.sink736 = phi ptr [ @.str.5, %973 ], [ @.str.2, %969 ]
  store i32 %964, ptr %607, align 4, !tbaa !5
  %975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %976 = load i32, ptr @test_count, align 4, !tbaa !5
  %977 = load i32, ptr %553, align 4, !tbaa !5
  %978 = call ptr @s2n_strerror(i32 noundef %977, ptr noundef nonnull @.str.4) #10
  %979 = load i32, ptr %553, align 4, !tbaa !5
  %980 = call ptr @s2n_strerror_debug(i32 noundef %979, ptr noundef nonnull @.str.4) #10
  %981 = load i32, ptr %607, align 4, !tbaa !5
  %982 = call ptr @strerror(i32 noundef %981) #10
  %983 = load i32, ptr %607, align 4, !tbaa !5
  %984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %975, ptr noundef nonnull %.str.5.sink736, i32 noundef %976, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 98, ptr noundef %978, ptr noundef %980, ptr noundef %982, i32 noundef %983) #12
  call void @exit(i32 noundef 1) #13
  unreachable

985:                                              ; preds = %958
  %986 = load i32, ptr @test_count, align 4, !tbaa !5
  %987 = add nsw i32 %986, 1
  store i32 %987, ptr @test_count, align 4, !tbaa !5
  %988 = load i32, ptr %553, align 4, !tbaa !5
  %989 = icmp eq i32 %988, 402653193
  br i1 %989, label %1012, label %990

990:                                              ; preds = %985
  %991 = load i32, ptr %607, align 4, !tbaa !5
  %992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %993 = call i32 @s2n_print_stacktrace(ptr noundef %992) #10
  %994 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %995 = trunc nuw i8 %994 to i1
  br i1 %995, label %996, label %1000

996:                                              ; preds = %990
  %997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %998 = call i32 @fileno(ptr noundef %997) #10
  %999 = call i32 @isatty(i32 noundef %998) #10
  %.not304 = icmp eq i32 %999, 0
  br i1 %.not304, label %1000, label %1001

1000:                                             ; preds = %996, %990
  br label %1001

1001:                                             ; preds = %996, %1000
  %.str.5.sink745 = phi ptr [ @.str.5, %1000 ], [ @.str.2, %996 ]
  store i32 %991, ptr %607, align 4, !tbaa !5
  %1002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1003 = load i32, ptr @test_count, align 4, !tbaa !5
  %1004 = load i32, ptr %553, align 4, !tbaa !5
  %1005 = call ptr @s2n_strerror(i32 noundef %1004, ptr noundef nonnull @.str.4) #10
  %1006 = load i32, ptr %553, align 4, !tbaa !5
  %1007 = call ptr @s2n_strerror_debug(i32 noundef %1006, ptr noundef nonnull @.str.4) #10
  %1008 = load i32, ptr %607, align 4, !tbaa !5
  %1009 = call ptr @strerror(i32 noundef %1008) #10
  %1010 = load i32, ptr %607, align 4, !tbaa !5
  %1011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1002, ptr noundef nonnull %.str.5.sink745, i32 noundef %1003, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 98, ptr noundef %1005, ptr noundef %1007, ptr noundef %1009, i32 noundef %1010) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1012:                                             ; preds = %985
  %1013 = add nsw i32 %986, 2
  store i32 %1013, ptr @test_count, align 4, !tbaa !5
  %1014 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #10
  %1015 = icmp eq ptr %1014, null
  br i1 %1015, label %1016, label %1038

1016:                                             ; preds = %1012
  %1017 = load i32, ptr %607, align 4, !tbaa !5
  %1018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1019 = call i32 @s2n_print_stacktrace(ptr noundef %1018) #10
  %1020 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1021 = trunc nuw i8 %1020 to i1
  br i1 %1021, label %1022, label %1026

1022:                                             ; preds = %1016
  %1023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1024 = call i32 @fileno(ptr noundef %1023) #10
  %1025 = call i32 @isatty(i32 noundef %1024) #10
  %.not380 = icmp eq i32 %1025, 0
  br i1 %.not380, label %1026, label %1027

1026:                                             ; preds = %1022, %1016
  br label %1027

1027:                                             ; preds = %1022, %1026
  %.str.5.sink754 = phi ptr [ @.str.5, %1026 ], [ @.str.2, %1022 ]
  store i32 %1017, ptr %607, align 4, !tbaa !5
  %1028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1029 = load i32, ptr @test_count, align 4, !tbaa !5
  %1030 = load i32, ptr %553, align 4, !tbaa !5
  %1031 = call ptr @s2n_strerror(i32 noundef %1030, ptr noundef nonnull @.str.4) #10
  %1032 = load i32, ptr %553, align 4, !tbaa !5
  %1033 = call ptr @s2n_strerror_debug(i32 noundef %1032, ptr noundef nonnull @.str.4) #10
  %1034 = load i32, ptr %607, align 4, !tbaa !5
  %1035 = call ptr @strerror(i32 noundef %1034) #10
  %1036 = load i32, ptr %607, align 4, !tbaa !5
  %1037 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1028, ptr noundef nonnull %.str.5.sink754, i32 noundef %1029, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 98, ptr noundef %1031, ptr noundef %1033, ptr noundef %1035, i32 noundef %1036) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1038:                                             ; preds = %1012
  store i32 0, ptr %553, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #10
  store i32 0, ptr %607, align 4, !tbaa !5
  %1039 = load i32, ptr @test_count, align 4, !tbaa !5
  %1040 = add nsw i32 %1039, 1
  store i32 %1040, ptr @test_count, align 4, !tbaa !5
  %1041 = call i32 @s2n_connection_free(ptr noundef nonnull %853) #10
  %1042 = icmp eq i32 %1041, -1
  br i1 %1042, label %1043, label %1065

1043:                                             ; preds = %1038
  %1044 = load i32, ptr %607, align 4, !tbaa !5
  %1045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1046 = call i32 @s2n_print_stacktrace(ptr noundef %1045) #10
  %1047 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1048 = trunc nuw i8 %1047 to i1
  br i1 %1048, label %1049, label %1053

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

1053:                                             ; preds = %1049, %1043
  br label %1054

1054:                                             ; preds = %1049, %1053
  %.str.5.sink763 = phi ptr [ @.str.5, %1053 ], [ @.str.2, %1049 ]
  store i32 %1044, ptr %607, align 4, !tbaa !5
  %1055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1056 = load i32, ptr @test_count, align 4, !tbaa !5
  %1057 = load i32, ptr %553, align 4, !tbaa !5
  %1058 = call ptr @s2n_strerror(i32 noundef %1057, ptr noundef nonnull @.str.4) #10
  %1059 = load i32, ptr %553, align 4, !tbaa !5
  %1060 = call ptr @s2n_strerror_debug(i32 noundef %1059, ptr noundef nonnull @.str.4) #10
  %1061 = load i32, ptr %607, align 4, !tbaa !5
  %1062 = call ptr @strerror(i32 noundef %1061) #10
  %1063 = load i32, ptr %607, align 4, !tbaa !5
  %1064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1055, ptr noundef nonnull %.str.5.sink763, i32 noundef %1056, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 100, ptr noundef %1058, ptr noundef %1060, ptr noundef %1062, i32 noundef %1063) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1065:                                             ; preds = %1038
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %4) #10
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %5) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %5, i8 0, i64 40, i1 false)
  %1066 = load i32, ptr @test_count, align 4, !tbaa !5
  %1067 = add nsw i32 %1066, 1
  store i32 %1067, ptr @test_count, align 4, !tbaa !5
  %1068 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %5, i32 noundef 0) #10
  %1069 = icmp eq i32 %1068, -1
  br i1 %1069, label %1070, label %1092

1070:                                             ; preds = %1065
  %1071 = load i32, ptr %607, align 4, !tbaa !5
  %1072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1073 = call i32 @s2n_print_stacktrace(ptr noundef %1072) #10
  %1074 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1075 = trunc nuw i8 %1074 to i1
  br i1 %1075, label %1076, label %1080

1076:                                             ; preds = %1070
  %1077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1078 = call i32 @fileno(ptr noundef %1077) #10
  %1079 = call i32 @isatty(i32 noundef %1078) #10
  %.not378 = icmp eq i32 %1079, 0
  br i1 %.not378, label %1080, label %1081

1080:                                             ; preds = %1076, %1070
  br label %1081

1081:                                             ; preds = %1076, %1080
  %.str.5.sink772 = phi ptr [ @.str.5, %1080 ], [ @.str.2, %1076 ]
  store i32 %1071, ptr %607, align 4, !tbaa !5
  %1082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1083 = load i32, ptr @test_count, align 4, !tbaa !5
  %1084 = load i32, ptr %553, align 4, !tbaa !5
  %1085 = call ptr @s2n_strerror(i32 noundef %1084, ptr noundef nonnull @.str.4) #10
  %1086 = load i32, ptr %553, align 4, !tbaa !5
  %1087 = call ptr @s2n_strerror_debug(i32 noundef %1086, ptr noundef nonnull @.str.4) #10
  %1088 = load i32, ptr %607, align 4, !tbaa !5
  %1089 = call ptr @strerror(i32 noundef %1088) #10
  %1090 = load i32, ptr %607, align 4, !tbaa !5
  %1091 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1082, ptr noundef nonnull %.str.5.sink772, i32 noundef %1083, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 106, ptr noundef %1085, ptr noundef %1087, ptr noundef %1089, i32 noundef %1090) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1092:                                             ; preds = %1065
  %1093 = load i32, ptr @test_count, align 4, !tbaa !5
  %1094 = add nsw i32 %1093, 1
  store i32 %1094, ptr @test_count, align 4, !tbaa !5
  %1095 = call ptr @s2n_config_new() #10
  %1096 = icmp eq ptr %1095, null
  br i1 %1096, label %1097, label %1119

1097:                                             ; preds = %1092
  %1098 = load i32, ptr %607, align 4, !tbaa !5
  %1099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1100 = call i32 @s2n_print_stacktrace(ptr noundef %1099) #10
  %1101 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1102 = trunc nuw i8 %1101 to i1
  br i1 %1102, label %1103, label %1107

1103:                                             ; preds = %1097
  %1104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1105 = call i32 @fileno(ptr noundef %1104) #10
  %1106 = call i32 @isatty(i32 noundef %1105) #10
  %.not377 = icmp eq i32 %1106, 0
  br i1 %.not377, label %1107, label %1108

1107:                                             ; preds = %1103, %1097
  br label %1108

1108:                                             ; preds = %1103, %1107
  %.str.5.sink781 = phi ptr [ @.str.5, %1107 ], [ @.str.2, %1103 ]
  store i32 %1098, ptr %607, align 4, !tbaa !5
  %1109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1110 = load i32, ptr @test_count, align 4, !tbaa !5
  %1111 = load i32, ptr %553, align 4, !tbaa !5
  %1112 = call ptr @s2n_strerror(i32 noundef %1111, ptr noundef nonnull @.str.4) #10
  %1113 = load i32, ptr %553, align 4, !tbaa !5
  %1114 = call ptr @s2n_strerror_debug(i32 noundef %1113, ptr noundef nonnull @.str.4) #10
  %1115 = load i32, ptr %607, align 4, !tbaa !5
  %1116 = call ptr @strerror(i32 noundef %1115) #10
  %1117 = load i32, ptr %607, align 4, !tbaa !5
  %1118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1109, ptr noundef nonnull %.str.5.sink781, i32 noundef %1110, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 109, ptr noundef %1112, ptr noundef %1114, ptr noundef %1116, i32 noundef %1117) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1119:                                             ; preds = %1092
  %1120 = load i32, ptr @test_count, align 4, !tbaa !5
  %1121 = add nsw i32 %1120, 1
  store i32 %1121, ptr @test_count, align 4, !tbaa !5
  %1122 = call i32 @s2n_config_enable_quic(ptr noundef nonnull %1095) #10
  %1123 = icmp eq i32 %1122, -1
  br i1 %1123, label %1124, label %1146

1124:                                             ; preds = %1119
  %1125 = load i32, ptr %607, align 4, !tbaa !5
  %1126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1127 = call i32 @s2n_print_stacktrace(ptr noundef %1126) #10
  %1128 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1129 = trunc nuw i8 %1128 to i1
  br i1 %1129, label %1130, label %1134

1130:                                             ; preds = %1124
  %1131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1132 = call i32 @fileno(ptr noundef %1131) #10
  %1133 = call i32 @isatty(i32 noundef %1132) #10
  %.not376 = icmp eq i32 %1133, 0
  br i1 %.not376, label %1134, label %1135

1134:                                             ; preds = %1130, %1124
  br label %1135

1135:                                             ; preds = %1130, %1134
  %.str.5.sink790 = phi ptr [ @.str.5, %1134 ], [ @.str.2, %1130 ]
  store i32 %1125, ptr %607, align 4, !tbaa !5
  %1136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1137 = load i32, ptr @test_count, align 4, !tbaa !5
  %1138 = load i32, ptr %553, align 4, !tbaa !5
  %1139 = call ptr @s2n_strerror(i32 noundef %1138, ptr noundef nonnull @.str.4) #10
  %1140 = load i32, ptr %553, align 4, !tbaa !5
  %1141 = call ptr @s2n_strerror_debug(i32 noundef %1140, ptr noundef nonnull @.str.4) #10
  %1142 = load i32, ptr %607, align 4, !tbaa !5
  %1143 = call ptr @strerror(i32 noundef %1142) #10
  %1144 = load i32, ptr %607, align 4, !tbaa !5
  %1145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1136, ptr noundef nonnull %.str.5.sink790, i32 noundef %1137, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 110, ptr noundef %1139, ptr noundef %1141, ptr noundef %1143, i32 noundef %1144) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1146:                                             ; preds = %1119
  %1147 = load i32, ptr @test_count, align 4, !tbaa !5
  %1148 = add nsw i32 %1147, 1
  store i32 %1148, ptr @test_count, align 4, !tbaa !5
  %1149 = call ptr @s2n_connection_new(i32 noundef 1) #10
  %1150 = icmp eq ptr %1149, null
  br i1 %1150, label %1151, label %1173

1151:                                             ; preds = %1146
  %1152 = load i32, ptr %607, align 4, !tbaa !5
  %1153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1154 = call i32 @s2n_print_stacktrace(ptr noundef %1153) #10
  %1155 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1156 = trunc nuw i8 %1155 to i1
  br i1 %1156, label %1157, label %1161

1157:                                             ; preds = %1151
  %1158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1159 = call i32 @fileno(ptr noundef %1158) #10
  %1160 = call i32 @isatty(i32 noundef %1159) #10
  %.not375 = icmp eq i32 %1160, 0
  br i1 %.not375, label %1161, label %1162

1161:                                             ; preds = %1157, %1151
  br label %1162

1162:                                             ; preds = %1157, %1161
  %.str.5.sink799 = phi ptr [ @.str.5, %1161 ], [ @.str.2, %1157 ]
  store i32 %1152, ptr %607, align 4, !tbaa !5
  %1163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1164 = load i32, ptr @test_count, align 4, !tbaa !5
  %1165 = load i32, ptr %553, align 4, !tbaa !5
  %1166 = call ptr @s2n_strerror(i32 noundef %1165, ptr noundef nonnull @.str.4) #10
  %1167 = load i32, ptr %553, align 4, !tbaa !5
  %1168 = call ptr @s2n_strerror_debug(i32 noundef %1167, ptr noundef nonnull @.str.4) #10
  %1169 = load i32, ptr %607, align 4, !tbaa !5
  %1170 = call ptr @strerror(i32 noundef %1169) #10
  %1171 = load i32, ptr %607, align 4, !tbaa !5
  %1172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1163, ptr noundef nonnull %.str.5.sink799, i32 noundef %1164, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 113, ptr noundef %1166, ptr noundef %1168, ptr noundef %1170, i32 noundef %1171) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1173:                                             ; preds = %1146
  %1174 = load i32, ptr @test_count, align 4, !tbaa !5
  %1175 = add nsw i32 %1174, 1
  store i32 %1175, ptr @test_count, align 4, !tbaa !5
  %1176 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1149, ptr noundef nonnull %1095) #10
  %1177 = icmp eq i32 %1176, -1
  br i1 %1177, label %1178, label %1200

1178:                                             ; preds = %1173
  %1179 = load i32, ptr %607, align 4, !tbaa !5
  %1180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1181 = call i32 @s2n_print_stacktrace(ptr noundef %1180) #10
  %1182 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1183 = trunc nuw i8 %1182 to i1
  br i1 %1183, label %1184, label %1188

1184:                                             ; preds = %1178
  %1185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1186 = call i32 @fileno(ptr noundef %1185) #10
  %1187 = call i32 @isatty(i32 noundef %1186) #10
  %.not374 = icmp eq i32 %1187, 0
  br i1 %.not374, label %1188, label %1189

1188:                                             ; preds = %1184, %1178
  br label %1189

1189:                                             ; preds = %1184, %1188
  %.str.5.sink808 = phi ptr [ @.str.5, %1188 ], [ @.str.2, %1184 ]
  store i32 %1179, ptr %607, align 4, !tbaa !5
  %1190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1191 = load i32, ptr @test_count, align 4, !tbaa !5
  %1192 = load i32, ptr %553, align 4, !tbaa !5
  %1193 = call ptr @s2n_strerror(i32 noundef %1192, ptr noundef nonnull @.str.4) #10
  %1194 = load i32, ptr %553, align 4, !tbaa !5
  %1195 = call ptr @s2n_strerror_debug(i32 noundef %1194, ptr noundef nonnull @.str.4) #10
  %1196 = load i32, ptr %607, align 4, !tbaa !5
  %1197 = call ptr @strerror(i32 noundef %1196) #10
  %1198 = load i32, ptr %607, align 4, !tbaa !5
  %1199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1190, ptr noundef nonnull %.str.5.sink808, i32 noundef %1191, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 114, ptr noundef %1193, ptr noundef %1195, ptr noundef %1197, i32 noundef %1198) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1200:                                             ; preds = %1173
  %1201 = load i32, ptr @test_count, align 4, !tbaa !5
  %1202 = add nsw i32 %1201, 1
  store i32 %1202, ptr @test_count, align 4, !tbaa !5
  %1203 = call i32 @s2n_connection_set_quic_transport_parameters(ptr noundef nonnull %1149, ptr noundef nonnull @TEST_DATA, i16 noundef zeroext 31) #10
  %1204 = icmp eq i32 %1203, -1
  br i1 %1204, label %1205, label %1227

1205:                                             ; preds = %1200
  %1206 = load i32, ptr %607, align 4, !tbaa !5
  %1207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1208 = call i32 @s2n_print_stacktrace(ptr noundef %1207) #10
  %1209 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1210 = trunc nuw i8 %1209 to i1
  br i1 %1210, label %1211, label %1215

1211:                                             ; preds = %1205
  %1212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1213 = call i32 @fileno(ptr noundef %1212) #10
  %1214 = call i32 @isatty(i32 noundef %1213) #10
  %.not373 = icmp eq i32 %1214, 0
  br i1 %.not373, label %1215, label %1216

1215:                                             ; preds = %1211, %1205
  br label %1216

1216:                                             ; preds = %1211, %1215
  %.str.5.sink817 = phi ptr [ @.str.5, %1215 ], [ @.str.2, %1211 ]
  store i32 %1206, ptr %607, align 4, !tbaa !5
  %1217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1218 = load i32, ptr @test_count, align 4, !tbaa !5
  %1219 = load i32, ptr %553, align 4, !tbaa !5
  %1220 = call ptr @s2n_strerror(i32 noundef %1219, ptr noundef nonnull @.str.4) #10
  %1221 = load i32, ptr %553, align 4, !tbaa !5
  %1222 = call ptr @s2n_strerror_debug(i32 noundef %1221, ptr noundef nonnull @.str.4) #10
  %1223 = load i32, ptr %607, align 4, !tbaa !5
  %1224 = call ptr @strerror(i32 noundef %1223) #10
  %1225 = load i32, ptr %607, align 4, !tbaa !5
  %1226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1217, ptr noundef nonnull %.str.5.sink817, i32 noundef %1218, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 115, ptr noundef %1220, ptr noundef %1222, ptr noundef %1224, i32 noundef %1225) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1227:                                             ; preds = %1200
  %1228 = load i32, ptr @test_count, align 4, !tbaa !5
  %1229 = add nsw i32 %1228, 1
  store i32 %1229, ptr @test_count, align 4, !tbaa !5
  %1230 = call i32 %880(ptr noundef nonnull %1149, ptr noundef nonnull %5) #10
  %1231 = icmp eq i32 %1230, -1
  br i1 %1231, label %1232, label %1254

1232:                                             ; preds = %1227
  %1233 = load i32, ptr %607, align 4, !tbaa !5
  %1234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1235 = call i32 @s2n_print_stacktrace(ptr noundef %1234) #10
  %1236 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1237 = trunc nuw i8 %1236 to i1
  br i1 %1237, label %1238, label %1242

1238:                                             ; preds = %1232
  %1239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1240 = call i32 @fileno(ptr noundef %1239) #10
  %1241 = call i32 @isatty(i32 noundef %1240) #10
  %.not372 = icmp eq i32 %1241, 0
  br i1 %.not372, label %1242, label %1243

1242:                                             ; preds = %1238, %1232
  br label %1243

1243:                                             ; preds = %1238, %1242
  %.str.5.sink826 = phi ptr [ @.str.5, %1242 ], [ @.str.2, %1238 ]
  store i32 %1233, ptr %607, align 4, !tbaa !5
  %1244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1245 = load i32, ptr @test_count, align 4, !tbaa !5
  %1246 = load i32, ptr %553, align 4, !tbaa !5
  %1247 = call ptr @s2n_strerror(i32 noundef %1246, ptr noundef nonnull @.str.4) #10
  %1248 = load i32, ptr %553, align 4, !tbaa !5
  %1249 = call ptr @s2n_strerror_debug(i32 noundef %1248, ptr noundef nonnull @.str.4) #10
  %1250 = load i32, ptr %607, align 4, !tbaa !5
  %1251 = call ptr @strerror(i32 noundef %1250) #10
  %1252 = load i32, ptr %607, align 4, !tbaa !5
  %1253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1244, ptr noundef nonnull %.str.5.sink826, i32 noundef %1245, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 117, ptr noundef %1247, ptr noundef %1249, ptr noundef %1251, i32 noundef %1252) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1254:                                             ; preds = %1227
  %1255 = load i32, ptr @test_count, align 4, !tbaa !5
  %1256 = add nsw i32 %1255, 1
  store i32 %1256, ptr @test_count, align 4, !tbaa !5
  %1257 = load ptr, ptr %5, align 8, !tbaa !21
  %bcmp = call i32 @bcmp(ptr noundef nonnull dereferenceable(31) %1257, ptr noundef nonnull dereferenceable(31) @TEST_DATA, i64 31)
  %1258 = icmp eq i32 %bcmp, 0
  br i1 %1258, label %1281, label %1259

1259:                                             ; preds = %1254
  %1260 = load i32, ptr %607, align 4, !tbaa !5
  %1261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1262 = call i32 @s2n_print_stacktrace(ptr noundef %1261) #10
  %1263 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1264 = trunc nuw i8 %1263 to i1
  br i1 %1264, label %1265, label %1269

1265:                                             ; preds = %1259
  %1266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1267 = call i32 @fileno(ptr noundef %1266) #10
  %1268 = call i32 @isatty(i32 noundef %1267) #10
  %.not305 = icmp eq i32 %1268, 0
  br i1 %.not305, label %1269, label %1270

1269:                                             ; preds = %1265, %1259
  br label %1270

1270:                                             ; preds = %1265, %1269
  %.str.5.sink835 = phi ptr [ @.str.5, %1269 ], [ @.str.2, %1265 ]
  store i32 %1260, ptr %607, align 4, !tbaa !5
  %1271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1272 = load i32, ptr @test_count, align 4, !tbaa !5
  %1273 = load i32, ptr %553, align 4, !tbaa !5
  %1274 = call ptr @s2n_strerror(i32 noundef %1273, ptr noundef nonnull @.str.4) #10
  %1275 = load i32, ptr %553, align 4, !tbaa !5
  %1276 = call ptr @s2n_strerror_debug(i32 noundef %1275, ptr noundef nonnull @.str.4) #10
  %1277 = load i32, ptr %607, align 4, !tbaa !5
  %1278 = call ptr @strerror(i32 noundef %1277) #10
  %1279 = load i32, ptr %607, align 4, !tbaa !5
  %1280 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1271, ptr noundef nonnull %.str.5.sink835, i32 noundef %1272, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 118, ptr noundef %1274, ptr noundef %1276, ptr noundef %1278, i32 noundef %1279) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1281:                                             ; preds = %1254
  %1282 = add nsw i32 %1255, 2
  store i32 %1282, ptr @test_count, align 4, !tbaa !5
  %1283 = call i32 @s2n_connection_free(ptr noundef nonnull %1149) #10
  %1284 = icmp eq i32 %1283, -1
  br i1 %1284, label %1285, label %1307

1285:                                             ; preds = %1281
  %1286 = load i32, ptr %607, align 4, !tbaa !5
  %1287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1288 = call i32 @s2n_print_stacktrace(ptr noundef %1287) #10
  %1289 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1290 = trunc nuw i8 %1289 to i1
  br i1 %1290, label %1291, label %1295

1291:                                             ; preds = %1285
  %1292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1293 = call i32 @fileno(ptr noundef %1292) #10
  %1294 = call i32 @isatty(i32 noundef %1293) #10
  %.not371 = icmp eq i32 %1294, 0
  br i1 %.not371, label %1295, label %1296

1295:                                             ; preds = %1291, %1285
  br label %1296

1296:                                             ; preds = %1291, %1295
  %.str.5.sink844 = phi ptr [ @.str.5, %1295 ], [ @.str.2, %1291 ]
  store i32 %1286, ptr %607, align 4, !tbaa !5
  %1297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1298 = load i32, ptr @test_count, align 4, !tbaa !5
  %1299 = load i32, ptr %553, align 4, !tbaa !5
  %1300 = call ptr @s2n_strerror(i32 noundef %1299, ptr noundef nonnull @.str.4) #10
  %1301 = load i32, ptr %553, align 4, !tbaa !5
  %1302 = call ptr @s2n_strerror_debug(i32 noundef %1301, ptr noundef nonnull @.str.4) #10
  %1303 = load i32, ptr %607, align 4, !tbaa !5
  %1304 = call ptr @strerror(i32 noundef %1303) #10
  %1305 = load i32, ptr %607, align 4, !tbaa !5
  %1306 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1297, ptr noundef nonnull %.str.5.sink844, i32 noundef %1298, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 120, ptr noundef %1300, ptr noundef %1302, ptr noundef %1304, i32 noundef %1305) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1307:                                             ; preds = %1281
  %1308 = load i32, ptr @test_count, align 4, !tbaa !5
  %1309 = add nsw i32 %1308, 1
  store i32 %1309, ptr @test_count, align 4, !tbaa !5
  %1310 = call i32 @s2n_config_free(ptr noundef nonnull %1095) #10
  %1311 = icmp eq i32 %1310, -1
  br i1 %1311, label %1312, label %1334

1312:                                             ; preds = %1307
  %1313 = load i32, ptr %607, align 4, !tbaa !5
  %1314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1315 = call i32 @s2n_print_stacktrace(ptr noundef %1314) #10
  %1316 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1317 = trunc nuw i8 %1316 to i1
  br i1 %1317, label %1318, label %1322

1318:                                             ; preds = %1312
  %1319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1320 = call i32 @fileno(ptr noundef %1319) #10
  %1321 = call i32 @isatty(i32 noundef %1320) #10
  %.not370 = icmp eq i32 %1321, 0
  br i1 %.not370, label %1322, label %1323

1322:                                             ; preds = %1318, %1312
  br label %1323

1323:                                             ; preds = %1318, %1322
  %.str.5.sink853 = phi ptr [ @.str.5, %1322 ], [ @.str.2, %1318 ]
  store i32 %1313, ptr %607, align 4, !tbaa !5
  %1324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1325 = load i32, ptr @test_count, align 4, !tbaa !5
  %1326 = load i32, ptr %553, align 4, !tbaa !5
  %1327 = call ptr @s2n_strerror(i32 noundef %1326, ptr noundef nonnull @.str.4) #10
  %1328 = load i32, ptr %553, align 4, !tbaa !5
  %1329 = call ptr @s2n_strerror_debug(i32 noundef %1328, ptr noundef nonnull @.str.4) #10
  %1330 = load i32, ptr %607, align 4, !tbaa !5
  %1331 = call ptr @strerror(i32 noundef %1330) #10
  %1332 = load i32, ptr %607, align 4, !tbaa !5
  %1333 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1324, ptr noundef nonnull %.str.5.sink853, i32 noundef %1325, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 121, ptr noundef %1327, ptr noundef %1329, ptr noundef %1331, i32 noundef %1332) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1334:                                             ; preds = %1307
  %1335 = load i32, ptr @test_count, align 4, !tbaa !5
  %1336 = add nsw i32 %1335, 1
  store i32 %1336, ptr @test_count, align 4, !tbaa !5
  %1337 = call i32 @s2n_stuffer_free(ptr noundef nonnull %5) #10
  %1338 = icmp eq i32 %1337, -1
  br i1 %1338, label %1339, label %1361

1339:                                             ; preds = %1334
  %1340 = load i32, ptr %607, align 4, !tbaa !5
  %1341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1342 = call i32 @s2n_print_stacktrace(ptr noundef %1341) #10
  %1343 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1344 = trunc nuw i8 %1343 to i1
  br i1 %1344, label %1345, label %1349

1345:                                             ; preds = %1339
  %1346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1347 = call i32 @fileno(ptr noundef %1346) #10
  %1348 = call i32 @isatty(i32 noundef %1347) #10
  %.not369 = icmp eq i32 %1348, 0
  br i1 %.not369, label %1349, label %1350

1349:                                             ; preds = %1345, %1339
  br label %1350

1350:                                             ; preds = %1345, %1349
  %.str.5.sink862 = phi ptr [ @.str.5, %1349 ], [ @.str.2, %1345 ]
  store i32 %1340, ptr %607, align 4, !tbaa !5
  %1351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1352 = load i32, ptr @test_count, align 4, !tbaa !5
  %1353 = load i32, ptr %553, align 4, !tbaa !5
  %1354 = call ptr @s2n_strerror(i32 noundef %1353, ptr noundef nonnull @.str.4) #10
  %1355 = load i32, ptr %553, align 4, !tbaa !5
  %1356 = call ptr @s2n_strerror_debug(i32 noundef %1355, ptr noundef nonnull @.str.4) #10
  %1357 = load i32, ptr %607, align 4, !tbaa !5
  %1358 = call ptr @strerror(i32 noundef %1357) #10
  %1359 = load i32, ptr %607, align 4, !tbaa !5
  %1360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1351, ptr noundef nonnull %.str.5.sink862, i32 noundef %1352, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 122, ptr noundef %1354, ptr noundef %1356, ptr noundef %1358, i32 noundef %1359) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1361:                                             ; preds = %1334
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %5) #10
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %6) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %6, i8 0, i64 40, i1 false)
  %1362 = load i32, ptr @test_count, align 4, !tbaa !5
  %1363 = add nsw i32 %1362, 1
  store i32 %1363, ptr @test_count, align 4, !tbaa !5
  %1364 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %6, i32 noundef 0) #10
  %1365 = icmp eq i32 %1364, -1
  br i1 %1365, label %1366, label %1388

1366:                                             ; preds = %1361
  %1367 = load i32, ptr %607, align 4, !tbaa !5
  %1368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1369 = call i32 @s2n_print_stacktrace(ptr noundef %1368) #10
  %1370 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1371 = trunc nuw i8 %1370 to i1
  br i1 %1371, label %1372, label %1376

1372:                                             ; preds = %1366
  %1373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1374 = call i32 @fileno(ptr noundef %1373) #10
  %1375 = call i32 @isatty(i32 noundef %1374) #10
  %.not368 = icmp eq i32 %1375, 0
  br i1 %.not368, label %1376, label %1377

1376:                                             ; preds = %1372, %1366
  br label %1377

1377:                                             ; preds = %1372, %1376
  %.str.5.sink871 = phi ptr [ @.str.5, %1376 ], [ @.str.2, %1372 ]
  store i32 %1367, ptr %607, align 4, !tbaa !5
  %1378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1379 = load i32, ptr @test_count, align 4, !tbaa !5
  %1380 = load i32, ptr %553, align 4, !tbaa !5
  %1381 = call ptr @s2n_strerror(i32 noundef %1380, ptr noundef nonnull @.str.4) #10
  %1382 = load i32, ptr %553, align 4, !tbaa !5
  %1383 = call ptr @s2n_strerror_debug(i32 noundef %1382, ptr noundef nonnull @.str.4) #10
  %1384 = load i32, ptr %607, align 4, !tbaa !5
  %1385 = call ptr @strerror(i32 noundef %1384) #10
  %1386 = load i32, ptr %607, align 4, !tbaa !5
  %1387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1378, ptr noundef nonnull %.str.5.sink871, i32 noundef %1379, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 128, ptr noundef %1381, ptr noundef %1383, ptr noundef %1385, i32 noundef %1386) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1388:                                             ; preds = %1361
  %1389 = load i32, ptr @test_count, align 4, !tbaa !5
  %1390 = add nsw i32 %1389, 1
  store i32 %1390, ptr @test_count, align 4, !tbaa !5
  %1391 = call ptr @s2n_config_new() #10
  %1392 = icmp eq ptr %1391, null
  br i1 %1392, label %1393, label %1415

1393:                                             ; preds = %1388
  %1394 = load i32, ptr %607, align 4, !tbaa !5
  %1395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1396 = call i32 @s2n_print_stacktrace(ptr noundef %1395) #10
  %1397 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1398 = trunc nuw i8 %1397 to i1
  br i1 %1398, label %1399, label %1403

1399:                                             ; preds = %1393
  %1400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1401 = call i32 @fileno(ptr noundef %1400) #10
  %1402 = call i32 @isatty(i32 noundef %1401) #10
  %.not367 = icmp eq i32 %1402, 0
  br i1 %.not367, label %1403, label %1404

1403:                                             ; preds = %1399, %1393
  br label %1404

1404:                                             ; preds = %1399, %1403
  %.str.5.sink880 = phi ptr [ @.str.5, %1403 ], [ @.str.2, %1399 ]
  store i32 %1394, ptr %607, align 4, !tbaa !5
  %1405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1406 = load i32, ptr @test_count, align 4, !tbaa !5
  %1407 = load i32, ptr %553, align 4, !tbaa !5
  %1408 = call ptr @s2n_strerror(i32 noundef %1407, ptr noundef nonnull @.str.4) #10
  %1409 = load i32, ptr %553, align 4, !tbaa !5
  %1410 = call ptr @s2n_strerror_debug(i32 noundef %1409, ptr noundef nonnull @.str.4) #10
  %1411 = load i32, ptr %607, align 4, !tbaa !5
  %1412 = call ptr @strerror(i32 noundef %1411) #10
  %1413 = load i32, ptr %607, align 4, !tbaa !5
  %1414 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1405, ptr noundef nonnull %.str.5.sink880, i32 noundef %1406, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 131, ptr noundef %1408, ptr noundef %1410, ptr noundef %1412, i32 noundef %1413) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1415:                                             ; preds = %1388
  %1416 = load i32, ptr @test_count, align 4, !tbaa !5
  %1417 = add nsw i32 %1416, 1
  store i32 %1417, ptr @test_count, align 4, !tbaa !5
  %1418 = call i32 @s2n_config_enable_quic(ptr noundef nonnull %1391) #10
  %1419 = icmp eq i32 %1418, -1
  br i1 %1419, label %1420, label %1442

1420:                                             ; preds = %1415
  %1421 = load i32, ptr %607, align 4, !tbaa !5
  %1422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1423 = call i32 @s2n_print_stacktrace(ptr noundef %1422) #10
  %1424 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1425 = trunc nuw i8 %1424 to i1
  br i1 %1425, label %1426, label %1430

1426:                                             ; preds = %1420
  %1427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1428 = call i32 @fileno(ptr noundef %1427) #10
  %1429 = call i32 @isatty(i32 noundef %1428) #10
  %.not366 = icmp eq i32 %1429, 0
  br i1 %.not366, label %1430, label %1431

1430:                                             ; preds = %1426, %1420
  br label %1431

1431:                                             ; preds = %1426, %1430
  %.str.5.sink889 = phi ptr [ @.str.5, %1430 ], [ @.str.2, %1426 ]
  store i32 %1421, ptr %607, align 4, !tbaa !5
  %1432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1433 = load i32, ptr @test_count, align 4, !tbaa !5
  %1434 = load i32, ptr %553, align 4, !tbaa !5
  %1435 = call ptr @s2n_strerror(i32 noundef %1434, ptr noundef nonnull @.str.4) #10
  %1436 = load i32, ptr %553, align 4, !tbaa !5
  %1437 = call ptr @s2n_strerror_debug(i32 noundef %1436, ptr noundef nonnull @.str.4) #10
  %1438 = load i32, ptr %607, align 4, !tbaa !5
  %1439 = call ptr @strerror(i32 noundef %1438) #10
  %1440 = load i32, ptr %607, align 4, !tbaa !5
  %1441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1432, ptr noundef nonnull %.str.5.sink889, i32 noundef %1433, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 132, ptr noundef %1435, ptr noundef %1437, ptr noundef %1439, i32 noundef %1440) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1442:                                             ; preds = %1415
  %1443 = load i32, ptr @test_count, align 4, !tbaa !5
  %1444 = add nsw i32 %1443, 1
  store i32 %1444, ptr @test_count, align 4, !tbaa !5
  %1445 = call ptr @s2n_connection_new(i32 noundef 1) #10
  %1446 = icmp eq ptr %1445, null
  br i1 %1446, label %1447, label %1469

1447:                                             ; preds = %1442
  %1448 = load i32, ptr %607, align 4, !tbaa !5
  %1449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1450 = call i32 @s2n_print_stacktrace(ptr noundef %1449) #10
  %1451 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1452 = trunc nuw i8 %1451 to i1
  br i1 %1452, label %1453, label %1457

1453:                                             ; preds = %1447
  %1454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1455 = call i32 @fileno(ptr noundef %1454) #10
  %1456 = call i32 @isatty(i32 noundef %1455) #10
  %.not365 = icmp eq i32 %1456, 0
  br i1 %.not365, label %1457, label %1458

1457:                                             ; preds = %1453, %1447
  br label %1458

1458:                                             ; preds = %1453, %1457
  %.str.5.sink898 = phi ptr [ @.str.5, %1457 ], [ @.str.2, %1453 ]
  store i32 %1448, ptr %607, align 4, !tbaa !5
  %1459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1460 = load i32, ptr @test_count, align 4, !tbaa !5
  %1461 = load i32, ptr %553, align 4, !tbaa !5
  %1462 = call ptr @s2n_strerror(i32 noundef %1461, ptr noundef nonnull @.str.4) #10
  %1463 = load i32, ptr %553, align 4, !tbaa !5
  %1464 = call ptr @s2n_strerror_debug(i32 noundef %1463, ptr noundef nonnull @.str.4) #10
  %1465 = load i32, ptr %607, align 4, !tbaa !5
  %1466 = call ptr @strerror(i32 noundef %1465) #10
  %1467 = load i32, ptr %607, align 4, !tbaa !5
  %1468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1459, ptr noundef nonnull %.str.5.sink898, i32 noundef %1460, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 135, ptr noundef %1462, ptr noundef %1464, ptr noundef %1466, i32 noundef %1467) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1469:                                             ; preds = %1442
  %1470 = load i32, ptr @test_count, align 4, !tbaa !5
  %1471 = add nsw i32 %1470, 1
  store i32 %1471, ptr @test_count, align 4, !tbaa !5
  %1472 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1445, ptr noundef nonnull %1391) #10
  %1473 = icmp eq i32 %1472, -1
  br i1 %1473, label %1474, label %1496

1474:                                             ; preds = %1469
  %1475 = load i32, ptr %607, align 4, !tbaa !5
  %1476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1477 = call i32 @s2n_print_stacktrace(ptr noundef %1476) #10
  %1478 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1479 = trunc nuw i8 %1478 to i1
  br i1 %1479, label %1480, label %1484

1480:                                             ; preds = %1474
  %1481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1482 = call i32 @fileno(ptr noundef %1481) #10
  %1483 = call i32 @isatty(i32 noundef %1482) #10
  %.not364 = icmp eq i32 %1483, 0
  br i1 %.not364, label %1484, label %1485

1484:                                             ; preds = %1480, %1474
  br label %1485

1485:                                             ; preds = %1480, %1484
  %.str.5.sink907 = phi ptr [ @.str.5, %1484 ], [ @.str.2, %1480 ]
  store i32 %1475, ptr %607, align 4, !tbaa !5
  %1486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1487 = load i32, ptr @test_count, align 4, !tbaa !5
  %1488 = load i32, ptr %553, align 4, !tbaa !5
  %1489 = call ptr @s2n_strerror(i32 noundef %1488, ptr noundef nonnull @.str.4) #10
  %1490 = load i32, ptr %553, align 4, !tbaa !5
  %1491 = call ptr @s2n_strerror_debug(i32 noundef %1490, ptr noundef nonnull @.str.4) #10
  %1492 = load i32, ptr %607, align 4, !tbaa !5
  %1493 = call ptr @strerror(i32 noundef %1492) #10
  %1494 = load i32, ptr %607, align 4, !tbaa !5
  %1495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1486, ptr noundef nonnull %.str.5.sink907, i32 noundef %1487, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 136, ptr noundef %1489, ptr noundef %1491, ptr noundef %1493, i32 noundef %1494) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1496:                                             ; preds = %1469
  %1497 = load i32, ptr @test_count, align 4, !tbaa !5
  %1498 = add nsw i32 %1497, 1
  store i32 %1498, ptr @test_count, align 4, !tbaa !5
  %1499 = call i32 %880(ptr noundef nonnull %1445, ptr noundef nonnull %6) #10
  %1500 = icmp eq i32 %1499, -1
  br i1 %1500, label %1501, label %1523

1501:                                             ; preds = %1496
  %1502 = load i32, ptr %607, align 4, !tbaa !5
  %1503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1504 = call i32 @s2n_print_stacktrace(ptr noundef %1503) #10
  %1505 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1506 = trunc nuw i8 %1505 to i1
  br i1 %1506, label %1507, label %1511

1507:                                             ; preds = %1501
  %1508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1509 = call i32 @fileno(ptr noundef %1508) #10
  %1510 = call i32 @isatty(i32 noundef %1509) #10
  %.not363 = icmp eq i32 %1510, 0
  br i1 %.not363, label %1511, label %1512

1511:                                             ; preds = %1507, %1501
  br label %1512

1512:                                             ; preds = %1507, %1511
  %.str.5.sink916 = phi ptr [ @.str.5, %1511 ], [ @.str.2, %1507 ]
  store i32 %1502, ptr %607, align 4, !tbaa !5
  %1513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1514 = load i32, ptr @test_count, align 4, !tbaa !5
  %1515 = load i32, ptr %553, align 4, !tbaa !5
  %1516 = call ptr @s2n_strerror(i32 noundef %1515, ptr noundef nonnull @.str.4) #10
  %1517 = load i32, ptr %553, align 4, !tbaa !5
  %1518 = call ptr @s2n_strerror_debug(i32 noundef %1517, ptr noundef nonnull @.str.4) #10
  %1519 = load i32, ptr %607, align 4, !tbaa !5
  %1520 = call ptr @strerror(i32 noundef %1519) #10
  %1521 = load i32, ptr %607, align 4, !tbaa !5
  %1522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1513, ptr noundef nonnull %.str.5.sink916, i32 noundef %1514, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 138, ptr noundef %1516, ptr noundef %1518, ptr noundef %1520, i32 noundef %1521) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1523:                                             ; preds = %1496
  %1524 = load i32, ptr @test_count, align 4, !tbaa !5
  %1525 = add nsw i32 %1524, 1
  store i32 %1525, ptr @test_count, align 4, !tbaa !5
  %1526 = getelementptr inbounds i8, ptr %6, i64 28
  %1527 = load i32, ptr %1526, align 4, !tbaa !24
  %1528 = getelementptr inbounds i8, ptr %6, i64 24
  %1529 = load i32, ptr %1528, align 8, !tbaa !25
  %1530 = icmp eq i32 %1527, %1529
  br i1 %1530, label %1553, label %1531

1531:                                             ; preds = %1523
  %1532 = load i32, ptr %607, align 4, !tbaa !5
  %1533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1534 = call i32 @s2n_print_stacktrace(ptr noundef %1533) #10
  %1535 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1536 = trunc nuw i8 %1535 to i1
  br i1 %1536, label %1537, label %1541

1537:                                             ; preds = %1531
  %1538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1539 = call i32 @fileno(ptr noundef %1538) #10
  %1540 = call i32 @isatty(i32 noundef %1539) #10
  %.not306 = icmp eq i32 %1540, 0
  br i1 %.not306, label %1541, label %1542

1541:                                             ; preds = %1537, %1531
  br label %1542

1542:                                             ; preds = %1537, %1541
  %.str.5.sink925 = phi ptr [ @.str.5, %1541 ], [ @.str.2, %1537 ]
  store i32 %1532, ptr %607, align 4, !tbaa !5
  %1543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1544 = load i32, ptr @test_count, align 4, !tbaa !5
  %1545 = load i32, ptr %553, align 4, !tbaa !5
  %1546 = call ptr @s2n_strerror(i32 noundef %1545, ptr noundef nonnull @.str.4) #10
  %1547 = load i32, ptr %553, align 4, !tbaa !5
  %1548 = call ptr @s2n_strerror_debug(i32 noundef %1547, ptr noundef nonnull @.str.4) #10
  %1549 = load i32, ptr %607, align 4, !tbaa !5
  %1550 = call ptr @strerror(i32 noundef %1549) #10
  %1551 = load i32, ptr %607, align 4, !tbaa !5
  %1552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1543, ptr noundef nonnull %.str.5.sink925, i32 noundef %1544, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 139, ptr noundef %1546, ptr noundef %1548, ptr noundef %1550, i32 noundef %1551) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1553:                                             ; preds = %1523
  %1554 = add nsw i32 %1524, 2
  store i32 %1554, ptr @test_count, align 4, !tbaa !5
  %1555 = call i32 @s2n_connection_free(ptr noundef nonnull %1445) #10
  %1556 = icmp eq i32 %1555, -1
  br i1 %1556, label %1557, label %1579

1557:                                             ; preds = %1553
  %1558 = load i32, ptr %607, align 4, !tbaa !5
  %1559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1560 = call i32 @s2n_print_stacktrace(ptr noundef %1559) #10
  %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 = call i32 @fileno(ptr noundef %1564) #10
  %1566 = call i32 @isatty(i32 noundef %1565) #10
  %.not362 = icmp eq i32 %1566, 0
  br i1 %.not362, label %1567, label %1568

1567:                                             ; preds = %1563, %1557
  br label %1568

1568:                                             ; preds = %1563, %1567
  %.str.5.sink934 = phi ptr [ @.str.5, %1567 ], [ @.str.2, %1563 ]
  store i32 %1558, ptr %607, 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 %553, align 4, !tbaa !5
  %1572 = call ptr @s2n_strerror(i32 noundef %1571, ptr noundef nonnull @.str.4) #10
  %1573 = load i32, ptr %553, align 4, !tbaa !5
  %1574 = call ptr @s2n_strerror_debug(i32 noundef %1573, ptr noundef nonnull @.str.4) #10
  %1575 = load i32, ptr %607, align 4, !tbaa !5
  %1576 = call ptr @strerror(i32 noundef %1575) #10
  %1577 = load i32, ptr %607, align 4, !tbaa !5
  %1578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1569, ptr noundef nonnull %.str.5.sink934, i32 noundef %1570, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 141, ptr noundef %1572, ptr noundef %1574, ptr noundef %1576, i32 noundef %1577) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1579:                                             ; preds = %1553
  %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 = call i32 @s2n_config_free(ptr noundef nonnull %1391) #10
  %1583 = icmp eq i32 %1582, -1
  br i1 %1583, label %1584, label %1606

1584:                                             ; preds = %1579
  %1585 = load i32, ptr %607, align 4, !tbaa !5
  %1586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1587 = call i32 @s2n_print_stacktrace(ptr noundef %1586) #10
  %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 = call i32 @fileno(ptr noundef %1591) #10
  %1593 = call i32 @isatty(i32 noundef %1592) #10
  %.not361 = icmp eq i32 %1593, 0
  br i1 %.not361, label %1594, label %1595

1594:                                             ; preds = %1590, %1584
  br label %1595

1595:                                             ; preds = %1590, %1594
  %.str.5.sink943 = phi ptr [ @.str.5, %1594 ], [ @.str.2, %1590 ]
  store i32 %1585, ptr %607, 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 %553, align 4, !tbaa !5
  %1599 = call ptr @s2n_strerror(i32 noundef %1598, ptr noundef nonnull @.str.4) #10
  %1600 = load i32, ptr %553, align 4, !tbaa !5
  %1601 = call ptr @s2n_strerror_debug(i32 noundef %1600, ptr noundef nonnull @.str.4) #10
  %1602 = load i32, ptr %607, align 4, !tbaa !5
  %1603 = call ptr @strerror(i32 noundef %1602) #10
  %1604 = load i32, ptr %607, align 4, !tbaa !5
  %1605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1596, ptr noundef nonnull %.str.5.sink943, i32 noundef %1597, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 142, ptr noundef %1599, ptr noundef %1601, ptr noundef %1603, i32 noundef %1604) #12
  call void @exit(i32 noundef 1) #13
  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 = call i32 @s2n_stuffer_free(ptr noundef nonnull %6) #10
  %1610 = icmp eq i32 %1609, -1
  br i1 %1610, label %1611, label %1633

1611:                                             ; preds = %1606
  %1612 = load i32, ptr %607, align 4, !tbaa !5
  %1613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1614 = call i32 @s2n_print_stacktrace(ptr noundef %1613) #10
  %1615 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1616 = trunc nuw i8 %1615 to i1
  br i1 %1616, label %1617, label %1621

1617:                                             ; preds = %1611
  %1618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1619 = call i32 @fileno(ptr noundef %1618) #10
  %1620 = call i32 @isatty(i32 noundef %1619) #10
  %.not360 = icmp eq i32 %1620, 0
  br i1 %.not360, label %1621, label %1622

1621:                                             ; preds = %1617, %1611
  br label %1622

1622:                                             ; preds = %1617, %1621
  %.str.5.sink952 = phi ptr [ @.str.5, %1621 ], [ @.str.2, %1617 ]
  store i32 %1612, ptr %607, align 4, !tbaa !5
  %1623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1624 = load i32, ptr @test_count, align 4, !tbaa !5
  %1625 = load i32, ptr %553, align 4, !tbaa !5
  %1626 = call ptr @s2n_strerror(i32 noundef %1625, ptr noundef nonnull @.str.4) #10
  %1627 = load i32, ptr %553, align 4, !tbaa !5
  %1628 = call ptr @s2n_strerror_debug(i32 noundef %1627, ptr noundef nonnull @.str.4) #10
  %1629 = load i32, ptr %607, align 4, !tbaa !5
  %1630 = call ptr @strerror(i32 noundef %1629) #10
  %1631 = load i32, ptr %607, align 4, !tbaa !5
  %1632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1623, ptr noundef nonnull %.str.5.sink952, i32 noundef %1624, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 143, ptr noundef %1626, ptr noundef %1628, ptr noundef %1630, i32 noundef %1631) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1633:                                             ; preds = %1606
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %6) #10
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %7) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %7, i8 0, i64 40, i1 false)
  %1634 = load i32, ptr @test_count, align 4, !tbaa !5
  %1635 = add nsw i32 %1634, 1
  store i32 %1635, ptr @test_count, align 4, !tbaa !5
  %1636 = call ptr @s2n_connection_new(i32 noundef 1) #10
  %1637 = icmp eq ptr %1636, null
  br i1 %1637, label %1638, label %1660

1638:                                             ; preds = %1633
  %1639 = load i32, ptr %607, align 4, !tbaa !5
  %1640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1641 = call i32 @s2n_print_stacktrace(ptr noundef %1640) #10
  %1642 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1643 = trunc nuw i8 %1642 to i1
  br i1 %1643, label %1644, label %1648

1644:                                             ; preds = %1638
  %1645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1646 = call i32 @fileno(ptr noundef %1645) #10
  %1647 = call i32 @isatty(i32 noundef %1646) #10
  %.not359 = icmp eq i32 %1647, 0
  br i1 %.not359, label %1648, label %1649

1648:                                             ; preds = %1644, %1638
  br label %1649

1649:                                             ; preds = %1644, %1648
  %.str.5.sink961 = phi ptr [ @.str.5, %1648 ], [ @.str.2, %1644 ]
  store i32 %1639, ptr %607, align 4, !tbaa !5
  %1650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1651 = load i32, ptr @test_count, align 4, !tbaa !5
  %1652 = load i32, ptr %553, align 4, !tbaa !5
  %1653 = call ptr @s2n_strerror(i32 noundef %1652, ptr noundef nonnull @.str.4) #10
  %1654 = load i32, ptr %553, align 4, !tbaa !5
  %1655 = call ptr @s2n_strerror_debug(i32 noundef %1654, ptr noundef nonnull @.str.4) #10
  %1656 = load i32, ptr %607, align 4, !tbaa !5
  %1657 = call ptr @strerror(i32 noundef %1656) #10
  %1658 = load i32, ptr %607, align 4, !tbaa !5
  %1659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1650, ptr noundef nonnull %.str.5.sink961, i32 noundef %1651, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 154, ptr noundef %1653, ptr noundef %1655, ptr noundef %1657, i32 noundef %1658) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1660:                                             ; preds = %1633
  %1661 = load i32, ptr @test_count, align 4, !tbaa !5
  %1662 = add nsw i32 %1661, 1
  store i32 %1662, ptr @test_count, align 4, !tbaa !5
  %1663 = load ptr, ptr getelementptr inbounds (i8, ptr @s2n_quic_transport_parameters_extension, i64 16), align 8, !tbaa !26
  %1664 = call i32 %1663(ptr noundef null, ptr noundef nonnull %7) #10
  %1665 = icmp eq i32 %1664, -1
  br i1 %1665, label %1688, label %1666

1666:                                             ; preds = %1660
  %1667 = load i32, ptr %607, align 4, !tbaa !5
  %1668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1669 = call i32 @s2n_print_stacktrace(ptr noundef %1668) #10
  %1670 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1671 = trunc nuw i8 %1670 to i1
  br i1 %1671, label %1672, label %1676

1672:                                             ; preds = %1666
  %1673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1674 = call i32 @fileno(ptr noundef %1673) #10
  %1675 = call i32 @isatty(i32 noundef %1674) #10
  %.not307 = icmp eq i32 %1675, 0
  br i1 %.not307, label %1676, label %1677

1676:                                             ; preds = %1672, %1666
  br label %1677

1677:                                             ; preds = %1672, %1676
  %.str.5.sink970 = phi ptr [ @.str.5, %1676 ], [ @.str.2, %1672 ]
  store i32 %1667, ptr %607, align 4, !tbaa !5
  %1678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1679 = load i32, ptr @test_count, align 4, !tbaa !5
  %1680 = load i32, ptr %553, align 4, !tbaa !5
  %1681 = call ptr @s2n_strerror(i32 noundef %1680, ptr noundef nonnull @.str.4) #10
  %1682 = load i32, ptr %553, align 4, !tbaa !5
  %1683 = call ptr @s2n_strerror_debug(i32 noundef %1682, ptr noundef nonnull @.str.4) #10
  %1684 = load i32, ptr %607, align 4, !tbaa !5
  %1685 = call ptr @strerror(i32 noundef %1684) #10
  %1686 = load i32, ptr %607, align 4, !tbaa !5
  %1687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1678, ptr noundef nonnull %.str.5.sink970, i32 noundef %1679, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 156, ptr noundef %1681, ptr noundef %1683, ptr noundef %1685, i32 noundef %1686) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1688:                                             ; preds = %1660
  %1689 = load i32, ptr @test_count, align 4, !tbaa !5
  %1690 = add nsw i32 %1689, 1
  store i32 %1690, ptr @test_count, align 4, !tbaa !5
  %1691 = load i32, ptr %553, align 4, !tbaa !5
  %1692 = icmp eq i32 %1691, 402653193
  br i1 %1692, label %1715, label %1693

1693:                                             ; preds = %1688
  %1694 = load i32, ptr %607, align 4, !tbaa !5
  %1695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1696 = call i32 @s2n_print_stacktrace(ptr noundef %1695) #10
  %1697 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1698 = trunc nuw i8 %1697 to i1
  br i1 %1698, label %1699, label %1703

1699:                                             ; preds = %1693
  %1700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1701 = call i32 @fileno(ptr noundef %1700) #10
  %1702 = call i32 @isatty(i32 noundef %1701) #10
  %.not308 = icmp eq i32 %1702, 0
  br i1 %.not308, label %1703, label %1704

1703:                                             ; preds = %1699, %1693
  br label %1704

1704:                                             ; preds = %1699, %1703
  %.str.5.sink979 = phi ptr [ @.str.5, %1703 ], [ @.str.2, %1699 ]
  store i32 %1694, ptr %607, align 4, !tbaa !5
  %1705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1706 = load i32, ptr @test_count, align 4, !tbaa !5
  %1707 = load i32, ptr %553, align 4, !tbaa !5
  %1708 = call ptr @s2n_strerror(i32 noundef %1707, ptr noundef nonnull @.str.4) #10
  %1709 = load i32, ptr %553, align 4, !tbaa !5
  %1710 = call ptr @s2n_strerror_debug(i32 noundef %1709, ptr noundef nonnull @.str.4) #10
  %1711 = load i32, ptr %607, align 4, !tbaa !5
  %1712 = call ptr @strerror(i32 noundef %1711) #10
  %1713 = load i32, ptr %607, align 4, !tbaa !5
  %1714 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1705, ptr noundef nonnull %.str.5.sink979, i32 noundef %1706, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 156, ptr noundef %1708, ptr noundef %1710, ptr noundef %1712, i32 noundef %1713) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1715:                                             ; preds = %1688
  %1716 = add nsw i32 %1689, 2
  store i32 %1716, ptr @test_count, align 4, !tbaa !5
  %1717 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #10
  %1718 = icmp eq ptr %1717, null
  br i1 %1718, label %1719, label %1741

1719:                                             ; preds = %1715
  %1720 = load i32, ptr %607, align 4, !tbaa !5
  %1721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1722 = call i32 @s2n_print_stacktrace(ptr noundef %1721) #10
  %1723 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1724 = trunc nuw i8 %1723 to i1
  br i1 %1724, label %1725, label %1729

1725:                                             ; preds = %1719
  %1726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1727 = call i32 @fileno(ptr noundef %1726) #10
  %1728 = call i32 @isatty(i32 noundef %1727) #10
  %.not358 = icmp eq i32 %1728, 0
  br i1 %.not358, label %1729, label %1730

1729:                                             ; preds = %1725, %1719
  br label %1730

1730:                                             ; preds = %1725, %1729
  %.str.5.sink988 = phi ptr [ @.str.5, %1729 ], [ @.str.2, %1725 ]
  store i32 %1720, ptr %607, align 4, !tbaa !5
  %1731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1732 = load i32, ptr @test_count, align 4, !tbaa !5
  %1733 = load i32, ptr %553, align 4, !tbaa !5
  %1734 = call ptr @s2n_strerror(i32 noundef %1733, ptr noundef nonnull @.str.4) #10
  %1735 = load i32, ptr %553, align 4, !tbaa !5
  %1736 = call ptr @s2n_strerror_debug(i32 noundef %1735, ptr noundef nonnull @.str.4) #10
  %1737 = load i32, ptr %607, align 4, !tbaa !5
  %1738 = call ptr @strerror(i32 noundef %1737) #10
  %1739 = load i32, ptr %607, align 4, !tbaa !5
  %1740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1731, ptr noundef nonnull %.str.5.sink988, i32 noundef %1732, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 156, ptr noundef %1734, ptr noundef %1736, ptr noundef %1738, i32 noundef %1739) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1741:                                             ; preds = %1715
  store i32 0, ptr %553, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #10
  store i32 0, ptr %607, align 4, !tbaa !5
  %1742 = load i32, ptr @test_count, align 4, !tbaa !5
  %1743 = add nsw i32 %1742, 1
  store i32 %1743, ptr @test_count, align 4, !tbaa !5
  %1744 = call i32 %1663(ptr noundef nonnull %1636, ptr noundef null) #10
  %1745 = icmp eq i32 %1744, -1
  br i1 %1745, label %1768, label %1746

1746:                                             ; preds = %1741
  %1747 = load i32, ptr %607, align 4, !tbaa !5
  %1748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1749 = call i32 @s2n_print_stacktrace(ptr noundef %1748) #10
  %1750 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1751 = trunc nuw i8 %1750 to i1
  br i1 %1751, label %1752, label %1756

1752:                                             ; preds = %1746
  %1753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1754 = call i32 @fileno(ptr noundef %1753) #10
  %1755 = call i32 @isatty(i32 noundef %1754) #10
  %.not309 = icmp eq i32 %1755, 0
  br i1 %.not309, label %1756, label %1757

1756:                                             ; preds = %1752, %1746
  br label %1757

1757:                                             ; preds = %1752, %1756
  %.str.5.sink997 = phi ptr [ @.str.5, %1756 ], [ @.str.2, %1752 ]
  store i32 %1747, ptr %607, align 4, !tbaa !5
  %1758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1759 = load i32, ptr @test_count, align 4, !tbaa !5
  %1760 = load i32, ptr %553, align 4, !tbaa !5
  %1761 = call ptr @s2n_strerror(i32 noundef %1760, ptr noundef nonnull @.str.4) #10
  %1762 = load i32, ptr %553, align 4, !tbaa !5
  %1763 = call ptr @s2n_strerror_debug(i32 noundef %1762, ptr noundef nonnull @.str.4) #10
  %1764 = load i32, ptr %607, align 4, !tbaa !5
  %1765 = call ptr @strerror(i32 noundef %1764) #10
  %1766 = load i32, ptr %607, align 4, !tbaa !5
  %1767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1758, ptr noundef nonnull %.str.5.sink997, i32 noundef %1759, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 157, ptr noundef %1761, ptr noundef %1763, ptr noundef %1765, i32 noundef %1766) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1768:                                             ; preds = %1741
  %1769 = load i32, ptr @test_count, align 4, !tbaa !5
  %1770 = add nsw i32 %1769, 1
  store i32 %1770, ptr @test_count, align 4, !tbaa !5
  %1771 = load i32, ptr %553, align 4, !tbaa !5
  %1772 = icmp eq i32 %1771, 402653193
  br i1 %1772, label %1795, label %1773

1773:                                             ; preds = %1768
  %1774 = load i32, ptr %607, align 4, !tbaa !5
  %1775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1776 = call i32 @s2n_print_stacktrace(ptr noundef %1775) #10
  %1777 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1778 = trunc nuw i8 %1777 to i1
  br i1 %1778, label %1779, label %1783

1779:                                             ; preds = %1773
  %1780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1781 = call i32 @fileno(ptr noundef %1780) #10
  %1782 = call i32 @isatty(i32 noundef %1781) #10
  %.not310 = icmp eq i32 %1782, 0
  br i1 %.not310, label %1783, label %1784

1783:                                             ; preds = %1779, %1773
  br label %1784

1784:                                             ; preds = %1779, %1783
  %.str.5.sink1006 = phi ptr [ @.str.5, %1783 ], [ @.str.2, %1779 ]
  store i32 %1774, ptr %607, align 4, !tbaa !5
  %1785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1786 = load i32, ptr @test_count, align 4, !tbaa !5
  %1787 = load i32, ptr %553, align 4, !tbaa !5
  %1788 = call ptr @s2n_strerror(i32 noundef %1787, ptr noundef nonnull @.str.4) #10
  %1789 = load i32, ptr %553, align 4, !tbaa !5
  %1790 = call ptr @s2n_strerror_debug(i32 noundef %1789, ptr noundef nonnull @.str.4) #10
  %1791 = load i32, ptr %607, align 4, !tbaa !5
  %1792 = call ptr @strerror(i32 noundef %1791) #10
  %1793 = load i32, ptr %607, align 4, !tbaa !5
  %1794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1785, ptr noundef nonnull %.str.5.sink1006, i32 noundef %1786, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 157, ptr noundef %1788, ptr noundef %1790, ptr noundef %1792, i32 noundef %1793) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1795:                                             ; preds = %1768
  %1796 = add nsw i32 %1769, 2
  store i32 %1796, ptr @test_count, align 4, !tbaa !5
  %1797 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #10
  %1798 = icmp eq ptr %1797, null
  br i1 %1798, label %1799, label %1821

1799:                                             ; preds = %1795
  %1800 = load i32, ptr %607, align 4, !tbaa !5
  %1801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1802 = call i32 @s2n_print_stacktrace(ptr noundef %1801) #10
  %1803 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1804 = trunc nuw i8 %1803 to i1
  br i1 %1804, label %1805, label %1809

1805:                                             ; preds = %1799
  %1806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1807 = call i32 @fileno(ptr noundef %1806) #10
  %1808 = call i32 @isatty(i32 noundef %1807) #10
  %.not357 = icmp eq i32 %1808, 0
  br i1 %.not357, label %1809, label %1810

1809:                                             ; preds = %1805, %1799
  br label %1810

1810:                                             ; preds = %1805, %1809
  %.str.5.sink1015 = phi ptr [ @.str.5, %1809 ], [ @.str.2, %1805 ]
  store i32 %1800, ptr %607, align 4, !tbaa !5
  %1811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1812 = load i32, ptr @test_count, align 4, !tbaa !5
  %1813 = load i32, ptr %553, align 4, !tbaa !5
  %1814 = call ptr @s2n_strerror(i32 noundef %1813, ptr noundef nonnull @.str.4) #10
  %1815 = load i32, ptr %553, align 4, !tbaa !5
  %1816 = call ptr @s2n_strerror_debug(i32 noundef %1815, ptr noundef nonnull @.str.4) #10
  %1817 = load i32, ptr %607, align 4, !tbaa !5
  %1818 = call ptr @strerror(i32 noundef %1817) #10
  %1819 = load i32, ptr %607, align 4, !tbaa !5
  %1820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1811, ptr noundef nonnull %.str.5.sink1015, i32 noundef %1812, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 157, ptr noundef %1814, ptr noundef %1816, ptr noundef %1818, i32 noundef %1819) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1821:                                             ; preds = %1795
  store i32 0, ptr %553, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #10
  store i32 0, ptr %607, align 4, !tbaa !5
  %1822 = load i32, ptr @test_count, align 4, !tbaa !5
  %1823 = add nsw i32 %1822, 1
  store i32 %1823, ptr @test_count, align 4, !tbaa !5
  %1824 = call i32 %1663(ptr noundef nonnull %1636, ptr noundef nonnull %7) #10
  %1825 = icmp eq i32 %1824, -1
  br i1 %1825, label %1848, label %1826

1826:                                             ; preds = %1821
  %1827 = load i32, ptr %607, align 4, !tbaa !5
  %1828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1829 = call i32 @s2n_print_stacktrace(ptr noundef %1828) #10
  %1830 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1831 = trunc nuw i8 %1830 to i1
  br i1 %1831, label %1832, label %1836

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

1836:                                             ; preds = %1832, %1826
  br label %1837

1837:                                             ; preds = %1832, %1836
  %.str.5.sink1024 = phi ptr [ @.str.5, %1836 ], [ @.str.2, %1832 ]
  store i32 %1827, ptr %607, align 4, !tbaa !5
  %1838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1839 = load i32, ptr @test_count, align 4, !tbaa !5
  %1840 = load i32, ptr %553, align 4, !tbaa !5
  %1841 = call ptr @s2n_strerror(i32 noundef %1840, ptr noundef nonnull @.str.4) #10
  %1842 = load i32, ptr %553, align 4, !tbaa !5
  %1843 = call ptr @s2n_strerror_debug(i32 noundef %1842, ptr noundef nonnull @.str.4) #10
  %1844 = load i32, ptr %607, align 4, !tbaa !5
  %1845 = call ptr @strerror(i32 noundef %1844) #10
  %1846 = load i32, ptr %607, align 4, !tbaa !5
  %1847 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1838, ptr noundef nonnull %.str.5.sink1024, i32 noundef %1839, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 159, ptr noundef %1841, ptr noundef %1843, ptr noundef %1845, i32 noundef %1846) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1848:                                             ; preds = %1821
  %1849 = load i32, ptr @test_count, align 4, !tbaa !5
  %1850 = add nsw i32 %1849, 1
  store i32 %1850, ptr @test_count, align 4, !tbaa !5
  %1851 = load i32, ptr %553, align 4, !tbaa !5
  %1852 = icmp eq i32 %1851, 335544394
  br i1 %1852, label %1875, label %1853

1853:                                             ; preds = %1848
  %1854 = load i32, ptr %607, align 4, !tbaa !5
  %1855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1856 = call i32 @s2n_print_stacktrace(ptr noundef %1855) #10
  %1857 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1858 = trunc nuw i8 %1857 to i1
  br i1 %1858, label %1859, label %1863

1859:                                             ; preds = %1853
  %1860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1861 = call i32 @fileno(ptr noundef %1860) #10
  %1862 = call i32 @isatty(i32 noundef %1861) #10
  %.not312 = icmp eq i32 %1862, 0
  br i1 %.not312, label %1863, label %1864

1863:                                             ; preds = %1859, %1853
  br label %1864

1864:                                             ; preds = %1859, %1863
  %.str.5.sink1033 = phi ptr [ @.str.5, %1863 ], [ @.str.2, %1859 ]
  store i32 %1854, ptr %607, align 4, !tbaa !5
  %1865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1866 = load i32, ptr @test_count, align 4, !tbaa !5
  %1867 = load i32, ptr %553, align 4, !tbaa !5
  %1868 = call ptr @s2n_strerror(i32 noundef %1867, ptr noundef nonnull @.str.4) #10
  %1869 = load i32, ptr %553, align 4, !tbaa !5
  %1870 = call ptr @s2n_strerror_debug(i32 noundef %1869, ptr noundef nonnull @.str.4) #10
  %1871 = load i32, ptr %607, align 4, !tbaa !5
  %1872 = call ptr @strerror(i32 noundef %1871) #10
  %1873 = load i32, ptr %607, align 4, !tbaa !5
  %1874 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1865, ptr noundef nonnull %.str.5.sink1033, i32 noundef %1866, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 159, ptr noundef %1868, ptr noundef %1870, ptr noundef %1872, i32 noundef %1873) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1875:                                             ; preds = %1848
  %1876 = add nsw i32 %1849, 2
  store i32 %1876, ptr @test_count, align 4, !tbaa !5
  %1877 = call ptr @s2n_strerror_debug(i32 noundef 335544394, ptr noundef nonnull @.str.4) #10
  %1878 = icmp eq ptr %1877, null
  br i1 %1878, label %1879, label %1901

1879:                                             ; preds = %1875
  %1880 = load i32, ptr %607, align 4, !tbaa !5
  %1881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1882 = call i32 @s2n_print_stacktrace(ptr noundef %1881) #10
  %1883 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1884 = trunc nuw i8 %1883 to i1
  br i1 %1884, label %1885, label %1889

1885:                                             ; preds = %1879
  %1886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1887 = call i32 @fileno(ptr noundef %1886) #10
  %1888 = call i32 @isatty(i32 noundef %1887) #10
  %.not356 = icmp eq i32 %1888, 0
  br i1 %.not356, label %1889, label %1890

1889:                                             ; preds = %1885, %1879
  br label %1890

1890:                                             ; preds = %1885, %1889
  %.str.5.sink1042 = phi ptr [ @.str.5, %1889 ], [ @.str.2, %1885 ]
  store i32 %1880, ptr %607, align 4, !tbaa !5
  %1891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1892 = load i32, ptr @test_count, align 4, !tbaa !5
  %1893 = load i32, ptr %553, align 4, !tbaa !5
  %1894 = call ptr @s2n_strerror(i32 noundef %1893, ptr noundef nonnull @.str.4) #10
  %1895 = load i32, ptr %553, align 4, !tbaa !5
  %1896 = call ptr @s2n_strerror_debug(i32 noundef %1895, ptr noundef nonnull @.str.4) #10
  %1897 = load i32, ptr %607, align 4, !tbaa !5
  %1898 = call ptr @strerror(i32 noundef %1897) #10
  %1899 = load i32, ptr %607, align 4, !tbaa !5
  %1900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1891, ptr noundef nonnull %.str.5.sink1042, i32 noundef %1892, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 159, ptr noundef %1894, ptr noundef %1896, ptr noundef %1898, i32 noundef %1899) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1901:                                             ; preds = %1875
  store i32 0, ptr %553, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #10
  store i32 0, ptr %607, align 4, !tbaa !5
  %1902 = load i32, ptr @test_count, align 4, !tbaa !5
  %1903 = add nsw i32 %1902, 1
  store i32 %1903, ptr @test_count, align 4, !tbaa !5
  %1904 = call i32 @s2n_connection_free(ptr noundef nonnull %1636) #10
  %1905 = icmp eq i32 %1904, -1
  br i1 %1905, label %1906, label %1928

1906:                                             ; preds = %1901
  %1907 = load i32, ptr %607, align 4, !tbaa !5
  %1908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1909 = call i32 @s2n_print_stacktrace(ptr noundef %1908) #10
  %1910 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1911 = trunc nuw i8 %1910 to i1
  br i1 %1911, label %1912, label %1916

1912:                                             ; preds = %1906
  %1913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1914 = call i32 @fileno(ptr noundef %1913) #10
  %1915 = call i32 @isatty(i32 noundef %1914) #10
  %.not355 = icmp eq i32 %1915, 0
  br i1 %.not355, label %1916, label %1917

1916:                                             ; preds = %1912, %1906
  br label %1917

1917:                                             ; preds = %1912, %1916
  %.str.5.sink1051 = phi ptr [ @.str.5, %1916 ], [ @.str.2, %1912 ]
  store i32 %1907, ptr %607, align 4, !tbaa !5
  %1918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1919 = load i32, ptr @test_count, align 4, !tbaa !5
  %1920 = load i32, ptr %553, align 4, !tbaa !5
  %1921 = call ptr @s2n_strerror(i32 noundef %1920, ptr noundef nonnull @.str.4) #10
  %1922 = load i32, ptr %553, align 4, !tbaa !5
  %1923 = call ptr @s2n_strerror_debug(i32 noundef %1922, ptr noundef nonnull @.str.4) #10
  %1924 = load i32, ptr %607, align 4, !tbaa !5
  %1925 = call ptr @strerror(i32 noundef %1924) #10
  %1926 = load i32, ptr %607, align 4, !tbaa !5
  %1927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1918, ptr noundef nonnull %.str.5.sink1051, i32 noundef %1919, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 161, ptr noundef %1921, ptr noundef %1923, ptr noundef %1925, i32 noundef %1926) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1928:                                             ; preds = %1901
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %7) #10
  %1929 = load i32, ptr @test_count, align 4, !tbaa !5
  %1930 = add nsw i32 %1929, 1
  store i32 %1930, ptr @test_count, align 4, !tbaa !5
  %1931 = call ptr @s2n_config_new() #10
  %1932 = icmp eq ptr %1931, null
  br i1 %1932, label %1933, label %1955

1933:                                             ; preds = %1928
  %1934 = load i32, ptr %607, align 4, !tbaa !5
  %1935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1936 = call i32 @s2n_print_stacktrace(ptr noundef %1935) #10
  %1937 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1938 = trunc nuw i8 %1937 to i1
  br i1 %1938, label %1939, label %1943

1939:                                             ; preds = %1933
  %1940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1941 = call i32 @fileno(ptr noundef %1940) #10
  %1942 = call i32 @isatty(i32 noundef %1941) #10
  %.not354 = icmp eq i32 %1942, 0
  br i1 %.not354, label %1943, label %1944

1943:                                             ; preds = %1939, %1933
  br label %1944

1944:                                             ; preds = %1939, %1943
  %.str.5.sink1060 = phi ptr [ @.str.5, %1943 ], [ @.str.2, %1939 ]
  store i32 %1934, ptr %607, align 4, !tbaa !5
  %1945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1946 = load i32, ptr @test_count, align 4, !tbaa !5
  %1947 = load i32, ptr %553, align 4, !tbaa !5
  %1948 = call ptr @s2n_strerror(i32 noundef %1947, ptr noundef nonnull @.str.4) #10
  %1949 = load i32, ptr %553, align 4, !tbaa !5
  %1950 = call ptr @s2n_strerror_debug(i32 noundef %1949, ptr noundef nonnull @.str.4) #10
  %1951 = load i32, ptr %607, align 4, !tbaa !5
  %1952 = call ptr @strerror(i32 noundef %1951) #10
  %1953 = load i32, ptr %607, align 4, !tbaa !5
  %1954 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1945, ptr noundef nonnull %.str.5.sink1060, i32 noundef %1946, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 167, ptr noundef %1948, ptr noundef %1950, ptr noundef %1952, i32 noundef %1953) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1955:                                             ; preds = %1928
  %1956 = load i32, ptr @test_count, align 4, !tbaa !5
  %1957 = add nsw i32 %1956, 1
  store i32 %1957, ptr @test_count, align 4, !tbaa !5
  %1958 = call i32 @s2n_config_enable_quic(ptr noundef nonnull %1931) #10
  %1959 = icmp eq i32 %1958, -1
  br i1 %1959, label %1960, label %1982

1960:                                             ; preds = %1955
  %1961 = load i32, ptr %607, align 4, !tbaa !5
  %1962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1963 = call i32 @s2n_print_stacktrace(ptr noundef %1962) #10
  %1964 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1965 = trunc nuw i8 %1964 to i1
  br i1 %1965, label %1966, label %1970

1966:                                             ; preds = %1960
  %1967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1968 = call i32 @fileno(ptr noundef %1967) #10
  %1969 = call i32 @isatty(i32 noundef %1968) #10
  %.not353 = icmp eq i32 %1969, 0
  br i1 %.not353, label %1970, label %1971

1970:                                             ; preds = %1966, %1960
  br label %1971

1971:                                             ; preds = %1966, %1970
  %.str.5.sink1069 = phi ptr [ @.str.5, %1970 ], [ @.str.2, %1966 ]
  store i32 %1961, ptr %607, align 4, !tbaa !5
  %1972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1973 = load i32, ptr @test_count, align 4, !tbaa !5
  %1974 = load i32, ptr %553, align 4, !tbaa !5
  %1975 = call ptr @s2n_strerror(i32 noundef %1974, ptr noundef nonnull @.str.4) #10
  %1976 = load i32, ptr %553, align 4, !tbaa !5
  %1977 = call ptr @s2n_strerror_debug(i32 noundef %1976, ptr noundef nonnull @.str.4) #10
  %1978 = load i32, ptr %607, align 4, !tbaa !5
  %1979 = call ptr @strerror(i32 noundef %1978) #10
  %1980 = load i32, ptr %607, align 4, !tbaa !5
  %1981 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1972, ptr noundef nonnull %.str.5.sink1069, i32 noundef %1973, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 168, ptr noundef %1975, ptr noundef %1977, ptr noundef %1979, i32 noundef %1980) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1982:                                             ; preds = %1955
  %1983 = load i32, ptr @test_count, align 4, !tbaa !5
  %1984 = add nsw i32 %1983, 1
  store i32 %1984, ptr @test_count, align 4, !tbaa !5
  %1985 = call ptr @s2n_connection_new(i32 noundef 1) #10
  %1986 = icmp eq ptr %1985, null
  br i1 %1986, label %1987, label %2009

1987:                                             ; preds = %1982
  %1988 = load i32, ptr %607, align 4, !tbaa !5
  %1989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1990 = call i32 @s2n_print_stacktrace(ptr noundef %1989) #10
  %1991 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1992 = trunc nuw i8 %1991 to i1
  br i1 %1992, label %1993, label %1997

1993:                                             ; preds = %1987
  %1994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1995 = call i32 @fileno(ptr noundef %1994) #10
  %1996 = call i32 @isatty(i32 noundef %1995) #10
  %.not352 = icmp eq i32 %1996, 0
  br i1 %.not352, label %1997, label %1998

1997:                                             ; preds = %1993, %1987
  br label %1998

1998:                                             ; preds = %1993, %1997
  %.str.5.sink1078 = phi ptr [ @.str.5, %1997 ], [ @.str.2, %1993 ]
  store i32 %1988, ptr %607, align 4, !tbaa !5
  %1999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2000 = load i32, ptr @test_count, align 4, !tbaa !5
  %2001 = load i32, ptr %553, align 4, !tbaa !5
  %2002 = call ptr @s2n_strerror(i32 noundef %2001, ptr noundef nonnull @.str.4) #10
  %2003 = load i32, ptr %553, align 4, !tbaa !5
  %2004 = call ptr @s2n_strerror_debug(i32 noundef %2003, ptr noundef nonnull @.str.4) #10
  %2005 = load i32, ptr %607, align 4, !tbaa !5
  %2006 = call ptr @strerror(i32 noundef %2005) #10
  %2007 = load i32, ptr %607, align 4, !tbaa !5
  %2008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1999, ptr noundef nonnull %.str.5.sink1078, i32 noundef %2000, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 171, ptr noundef %2002, ptr noundef %2004, ptr noundef %2006, i32 noundef %2007) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2009:                                             ; preds = %1982
  %2010 = load i32, ptr @test_count, align 4, !tbaa !5
  %2011 = add nsw i32 %2010, 1
  store i32 %2011, ptr @test_count, align 4, !tbaa !5
  %2012 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1985, ptr noundef nonnull %1931) #10
  %2013 = icmp eq i32 %2012, -1
  br i1 %2013, label %2014, label %2036

2014:                                             ; preds = %2009
  %2015 = load i32, ptr %607, align 4, !tbaa !5
  %2016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2017 = call i32 @s2n_print_stacktrace(ptr noundef %2016) #10
  %2018 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2019 = trunc nuw i8 %2018 to i1
  br i1 %2019, label %2020, label %2024

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

2024:                                             ; preds = %2020, %2014
  br label %2025

2025:                                             ; preds = %2020, %2024
  %.str.5.sink1087 = phi ptr [ @.str.5, %2024 ], [ @.str.2, %2020 ]
  store i32 %2015, ptr %607, align 4, !tbaa !5
  %2026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2027 = load i32, ptr @test_count, align 4, !tbaa !5
  %2028 = load i32, ptr %553, align 4, !tbaa !5
  %2029 = call ptr @s2n_strerror(i32 noundef %2028, ptr noundef nonnull @.str.4) #10
  %2030 = load i32, ptr %553, align 4, !tbaa !5
  %2031 = call ptr @s2n_strerror_debug(i32 noundef %2030, ptr noundef nonnull @.str.4) #10
  %2032 = load i32, ptr %607, align 4, !tbaa !5
  %2033 = call ptr @strerror(i32 noundef %2032) #10
  %2034 = load i32, ptr %607, align 4, !tbaa !5
  %2035 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2026, ptr noundef nonnull %.str.5.sink1087, i32 noundef %2027, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 172, ptr noundef %2029, ptr noundef %2031, ptr noundef %2033, i32 noundef %2034) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2036:                                             ; preds = %2009
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %8) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %8, i8 0, i64 40, i1 false)
  %2037 = load i32, ptr @test_count, align 4, !tbaa !5
  %2038 = add nsw i32 %2037, 1
  store i32 %2038, ptr @test_count, align 4, !tbaa !5
  %2039 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %8, i32 noundef 0) #10
  %2040 = icmp eq i32 %2039, -1
  br i1 %2040, label %2041, label %2063

2041:                                             ; preds = %2036
  %2042 = load i32, ptr %607, align 4, !tbaa !5
  %2043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2044 = call i32 @s2n_print_stacktrace(ptr noundef %2043) #10
  %2045 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2046 = trunc nuw i8 %2045 to i1
  br i1 %2046, label %2047, label %2051

2047:                                             ; preds = %2041
  %2048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2049 = call i32 @fileno(ptr noundef %2048) #10
  %2050 = call i32 @isatty(i32 noundef %2049) #10
  %.not350 = icmp eq i32 %2050, 0
  br i1 %.not350, label %2051, label %2052

2051:                                             ; preds = %2047, %2041
  br label %2052

2052:                                             ; preds = %2047, %2051
  %.str.5.sink1096 = phi ptr [ @.str.5, %2051 ], [ @.str.2, %2047 ]
  store i32 %2042, ptr %607, align 4, !tbaa !5
  %2053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2054 = load i32, ptr @test_count, align 4, !tbaa !5
  %2055 = load i32, ptr %553, align 4, !tbaa !5
  %2056 = call ptr @s2n_strerror(i32 noundef %2055, ptr noundef nonnull @.str.4) #10
  %2057 = load i32, ptr %553, align 4, !tbaa !5
  %2058 = call ptr @s2n_strerror_debug(i32 noundef %2057, ptr noundef nonnull @.str.4) #10
  %2059 = load i32, ptr %607, align 4, !tbaa !5
  %2060 = call ptr @strerror(i32 noundef %2059) #10
  %2061 = load i32, ptr %607, align 4, !tbaa !5
  %2062 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2053, ptr noundef nonnull %.str.5.sink1096, i32 noundef %2054, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 175, ptr noundef %2056, ptr noundef %2058, ptr noundef %2060, i32 noundef %2061) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2063:                                             ; preds = %2036
  %2064 = load i32, ptr @test_count, align 4, !tbaa !5
  %2065 = add nsw i32 %2064, 1
  store i32 %2065, ptr @test_count, align 4, !tbaa !5
  %2066 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %8, ptr noundef nonnull @TEST_DATA, i32 noundef 31) #10
  %2067 = icmp eq i32 %2066, -1
  br i1 %2067, label %2068, label %2090

2068:                                             ; preds = %2063
  %2069 = load i32, ptr %607, align 4, !tbaa !5
  %2070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2071 = call i32 @s2n_print_stacktrace(ptr noundef %2070) #10
  %2072 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2073 = trunc nuw i8 %2072 to i1
  br i1 %2073, label %2074, label %2078

2074:                                             ; preds = %2068
  %2075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2076 = call i32 @fileno(ptr noundef %2075) #10
  %2077 = call i32 @isatty(i32 noundef %2076) #10
  %.not349 = icmp eq i32 %2077, 0
  br i1 %.not349, label %2078, label %2079

2078:                                             ; preds = %2074, %2068
  br label %2079

2079:                                             ; preds = %2074, %2078
  %.str.5.sink1105 = phi ptr [ @.str.5, %2078 ], [ @.str.2, %2074 ]
  store i32 %2069, ptr %607, align 4, !tbaa !5
  %2080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2081 = load i32, ptr @test_count, align 4, !tbaa !5
  %2082 = load i32, ptr %553, align 4, !tbaa !5
  %2083 = call ptr @s2n_strerror(i32 noundef %2082, ptr noundef nonnull @.str.4) #10
  %2084 = load i32, ptr %553, align 4, !tbaa !5
  %2085 = call ptr @s2n_strerror_debug(i32 noundef %2084, ptr noundef nonnull @.str.4) #10
  %2086 = load i32, ptr %607, align 4, !tbaa !5
  %2087 = call ptr @strerror(i32 noundef %2086) #10
  %2088 = load i32, ptr %607, align 4, !tbaa !5
  %2089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2080, ptr noundef nonnull %.str.5.sink1105, i32 noundef %2081, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 176, ptr noundef %2083, ptr noundef %2085, ptr noundef %2087, i32 noundef %2088) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2090:                                             ; preds = %2063
  %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 = call i32 %1663(ptr noundef nonnull %1985, ptr noundef nonnull %8) #10
  %2094 = icmp eq i32 %2093, -1
  br i1 %2094, label %2095, label %2117

2095:                                             ; preds = %2090
  %2096 = load i32, ptr %607, align 4, !tbaa !5
  %2097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2098 = call i32 @s2n_print_stacktrace(ptr noundef %2097) #10
  %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) #10
  %2104 = call i32 @isatty(i32 noundef %2103) #10
  %.not348 = icmp eq i32 %2104, 0
  br i1 %.not348, label %2105, label %2106

2105:                                             ; preds = %2101, %2095
  br label %2106

2106:                                             ; preds = %2101, %2105
  %.str.5.sink1114 = phi ptr [ @.str.5, %2105 ], [ @.str.2, %2101 ]
  store i32 %2096, ptr %607, 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 %553, align 4, !tbaa !5
  %2110 = call ptr @s2n_strerror(i32 noundef %2109, ptr noundef nonnull @.str.4) #10
  %2111 = load i32, ptr %553, align 4, !tbaa !5
  %2112 = call ptr @s2n_strerror_debug(i32 noundef %2111, ptr noundef nonnull @.str.4) #10
  %2113 = load i32, ptr %607, align 4, !tbaa !5
  %2114 = call ptr @strerror(i32 noundef %2113) #10
  %2115 = load i32, ptr %607, align 4, !tbaa !5
  %2116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2107, ptr noundef nonnull %.str.5.sink1114, i32 noundef %2108, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 178, ptr noundef %2110, ptr noundef %2112, ptr noundef %2114, i32 noundef %2115) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2117:                                             ; preds = %2090
  %2118 = load i32, ptr @test_count, align 4, !tbaa !5
  %2119 = add nsw i32 %2118, 1
  store i32 %2119, ptr @test_count, align 4, !tbaa !5
  %2120 = getelementptr inbounds i8, ptr %1985, i64 2872
  %2121 = load ptr, ptr %2120, align 8, !tbaa !27
  %bcmp313 = call i32 @bcmp(ptr noundef nonnull dereferenceable(31) %2121, ptr noundef nonnull dereferenceable(31) @TEST_DATA, i64 31)
  %2122 = icmp eq i32 %bcmp313, 0
  br i1 %2122, label %2145, label %2123

2123:                                             ; preds = %2117
  %2124 = load i32, ptr %607, align 4, !tbaa !5
  %2125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2126 = call i32 @s2n_print_stacktrace(ptr noundef %2125) #10
  %2127 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2128 = trunc nuw i8 %2127 to i1
  br i1 %2128, label %2129, label %2133

2129:                                             ; preds = %2123
  %2130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2131 = call i32 @fileno(ptr noundef %2130) #10
  %2132 = call i32 @isatty(i32 noundef %2131) #10
  %.not314 = icmp eq i32 %2132, 0
  br i1 %.not314, label %2133, label %2134

2133:                                             ; preds = %2129, %2123
  br label %2134

2134:                                             ; preds = %2129, %2133
  %.str.5.sink1123 = phi ptr [ @.str.5, %2133 ], [ @.str.2, %2129 ]
  store i32 %2124, ptr %607, align 4, !tbaa !5
  %2135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2136 = load i32, ptr @test_count, align 4, !tbaa !5
  %2137 = load i32, ptr %553, align 4, !tbaa !5
  %2138 = call ptr @s2n_strerror(i32 noundef %2137, ptr noundef nonnull @.str.4) #10
  %2139 = load i32, ptr %553, align 4, !tbaa !5
  %2140 = call ptr @s2n_strerror_debug(i32 noundef %2139, ptr noundef nonnull @.str.4) #10
  %2141 = load i32, ptr %607, align 4, !tbaa !5
  %2142 = call ptr @strerror(i32 noundef %2141) #10
  %2143 = load i32, ptr %607, align 4, !tbaa !5
  %2144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2135, ptr noundef nonnull %.str.5.sink1123, i32 noundef %2136, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 179, ptr noundef %2138, ptr noundef %2140, ptr noundef %2142, i32 noundef %2143) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2145:                                             ; preds = %2117
  %2146 = add nsw i32 %2118, 2
  store i32 %2146, ptr @test_count, align 4, !tbaa !5
  %2147 = call i32 @s2n_connection_free(ptr noundef nonnull %1985) #10
  %2148 = icmp eq i32 %2147, -1
  br i1 %2148, label %2149, label %2171

2149:                                             ; preds = %2145
  %2150 = load i32, ptr %607, align 4, !tbaa !5
  %2151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2152 = call i32 @s2n_print_stacktrace(ptr noundef %2151) #10
  %2153 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2154 = trunc nuw i8 %2153 to i1
  br i1 %2154, label %2155, label %2159

2155:                                             ; preds = %2149
  %2156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2157 = call i32 @fileno(ptr noundef %2156) #10
  %2158 = call i32 @isatty(i32 noundef %2157) #10
  %.not347 = icmp eq i32 %2158, 0
  br i1 %.not347, label %2159, label %2160

2159:                                             ; preds = %2155, %2149
  br label %2160

2160:                                             ; preds = %2155, %2159
  %.str.5.sink1132 = phi ptr [ @.str.5, %2159 ], [ @.str.2, %2155 ]
  store i32 %2150, ptr %607, align 4, !tbaa !5
  %2161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2162 = load i32, ptr @test_count, align 4, !tbaa !5
  %2163 = load i32, ptr %553, align 4, !tbaa !5
  %2164 = call ptr @s2n_strerror(i32 noundef %2163, ptr noundef nonnull @.str.4) #10
  %2165 = load i32, ptr %553, align 4, !tbaa !5
  %2166 = call ptr @s2n_strerror_debug(i32 noundef %2165, ptr noundef nonnull @.str.4) #10
  %2167 = load i32, ptr %607, align 4, !tbaa !5
  %2168 = call ptr @strerror(i32 noundef %2167) #10
  %2169 = load i32, ptr %607, align 4, !tbaa !5
  %2170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2161, ptr noundef nonnull %.str.5.sink1132, i32 noundef %2162, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 181, ptr noundef %2164, ptr noundef %2166, ptr noundef %2168, i32 noundef %2169) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2171:                                             ; preds = %2145
  %2172 = load i32, ptr @test_count, align 4, !tbaa !5
  %2173 = add nsw i32 %2172, 1
  store i32 %2173, ptr @test_count, align 4, !tbaa !5
  %2174 = call i32 @s2n_config_free(ptr noundef nonnull %1931) #10
  %2175 = icmp eq i32 %2174, -1
  br i1 %2175, label %2176, label %2198

2176:                                             ; preds = %2171
  %2177 = load i32, ptr %607, align 4, !tbaa !5
  %2178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2179 = call i32 @s2n_print_stacktrace(ptr noundef %2178) #10
  %2180 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2181 = trunc nuw i8 %2180 to i1
  br i1 %2181, label %2182, label %2186

2182:                                             ; preds = %2176
  %2183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2184 = call i32 @fileno(ptr noundef %2183) #10
  %2185 = call i32 @isatty(i32 noundef %2184) #10
  %.not346 = icmp eq i32 %2185, 0
  br i1 %.not346, label %2186, label %2187

2186:                                             ; preds = %2182, %2176
  br label %2187

2187:                                             ; preds = %2182, %2186
  %.str.5.sink1141 = phi ptr [ @.str.5, %2186 ], [ @.str.2, %2182 ]
  store i32 %2177, ptr %607, align 4, !tbaa !5
  %2188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2189 = load i32, ptr @test_count, align 4, !tbaa !5
  %2190 = load i32, ptr %553, align 4, !tbaa !5
  %2191 = call ptr @s2n_strerror(i32 noundef %2190, ptr noundef nonnull @.str.4) #10
  %2192 = load i32, ptr %553, align 4, !tbaa !5
  %2193 = call ptr @s2n_strerror_debug(i32 noundef %2192, ptr noundef nonnull @.str.4) #10
  %2194 = load i32, ptr %607, align 4, !tbaa !5
  %2195 = call ptr @strerror(i32 noundef %2194) #10
  %2196 = load i32, ptr %607, align 4, !tbaa !5
  %2197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2188, ptr noundef nonnull %.str.5.sink1141, i32 noundef %2189, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 182, ptr noundef %2191, ptr noundef %2193, ptr noundef %2195, i32 noundef %2196) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2198:                                             ; preds = %2171
  %2199 = load i32, ptr @test_count, align 4, !tbaa !5
  %2200 = add nsw i32 %2199, 1
  store i32 %2200, ptr @test_count, align 4, !tbaa !5
  %2201 = call i32 @s2n_stuffer_free(ptr noundef nonnull %8) #10
  %2202 = icmp eq i32 %2201, -1
  br i1 %2202, label %2203, label %2225

2203:                                             ; preds = %2198
  %2204 = load i32, ptr %607, align 4, !tbaa !5
  %2205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2206 = call i32 @s2n_print_stacktrace(ptr noundef %2205) #10
  %2207 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2208 = trunc nuw i8 %2207 to i1
  br i1 %2208, label %2209, label %2213

2209:                                             ; preds = %2203
  %2210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2211 = call i32 @fileno(ptr noundef %2210) #10
  %2212 = call i32 @isatty(i32 noundef %2211) #10
  %.not345 = icmp eq i32 %2212, 0
  br i1 %.not345, label %2213, label %2214

2213:                                             ; preds = %2209, %2203
  br label %2214

2214:                                             ; preds = %2209, %2213
  %.str.5.sink1150 = phi ptr [ @.str.5, %2213 ], [ @.str.2, %2209 ]
  store i32 %2204, ptr %607, align 4, !tbaa !5
  %2215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2216 = load i32, ptr @test_count, align 4, !tbaa !5
  %2217 = load i32, ptr %553, align 4, !tbaa !5
  %2218 = call ptr @s2n_strerror(i32 noundef %2217, ptr noundef nonnull @.str.4) #10
  %2219 = load i32, ptr %553, align 4, !tbaa !5
  %2220 = call ptr @s2n_strerror_debug(i32 noundef %2219, ptr noundef nonnull @.str.4) #10
  %2221 = load i32, ptr %607, align 4, !tbaa !5
  %2222 = call ptr @strerror(i32 noundef %2221) #10
  %2223 = load i32, ptr %607, align 4, !tbaa !5
  %2224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2215, ptr noundef nonnull %.str.5.sink1150, i32 noundef %2216, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 183, ptr noundef %2218, ptr noundef %2220, ptr noundef %2222, i32 noundef %2223) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2225:                                             ; preds = %2198
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %8) #10
  %2226 = load i32, ptr @test_count, align 4, !tbaa !5
  %2227 = add nsw i32 %2226, 1
  store i32 %2227, ptr @test_count, align 4, !tbaa !5
  %2228 = call ptr @s2n_config_new() #10
  %2229 = icmp eq ptr %2228, null
  br i1 %2229, label %2230, label %2252

2230:                                             ; preds = %2225
  %2231 = load i32, ptr %607, align 4, !tbaa !5
  %2232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2233 = call i32 @s2n_print_stacktrace(ptr noundef %2232) #10
  %2234 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2235 = trunc nuw i8 %2234 to i1
  br i1 %2235, label %2236, label %2240

2236:                                             ; preds = %2230
  %2237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2238 = call i32 @fileno(ptr noundef %2237) #10
  %2239 = call i32 @isatty(i32 noundef %2238) #10
  %.not344 = icmp eq i32 %2239, 0
  br i1 %.not344, label %2240, label %2241

2240:                                             ; preds = %2236, %2230
  br label %2241

2241:                                             ; preds = %2236, %2240
  %.str.5.sink1159 = phi ptr [ @.str.5, %2240 ], [ @.str.2, %2236 ]
  store i32 %2231, ptr %607, align 4, !tbaa !5
  %2242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2243 = load i32, ptr @test_count, align 4, !tbaa !5
  %2244 = load i32, ptr %553, align 4, !tbaa !5
  %2245 = call ptr @s2n_strerror(i32 noundef %2244, ptr noundef nonnull @.str.4) #10
  %2246 = load i32, ptr %553, align 4, !tbaa !5
  %2247 = call ptr @s2n_strerror_debug(i32 noundef %2246, ptr noundef nonnull @.str.4) #10
  %2248 = load i32, ptr %607, align 4, !tbaa !5
  %2249 = call ptr @strerror(i32 noundef %2248) #10
  %2250 = load i32, ptr %607, align 4, !tbaa !5
  %2251 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2242, ptr noundef nonnull %.str.5.sink1159, i32 noundef %2243, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 189, ptr noundef %2245, ptr noundef %2247, ptr noundef %2249, i32 noundef %2250) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2252:                                             ; preds = %2225
  %2253 = load i32, ptr @test_count, align 4, !tbaa !5
  %2254 = add nsw i32 %2253, 1
  store i32 %2254, ptr @test_count, align 4, !tbaa !5
  %2255 = call i32 @s2n_config_enable_quic(ptr noundef nonnull %2228) #10
  %2256 = icmp eq i32 %2255, -1
  br i1 %2256, label %2257, label %2279

2257:                                             ; preds = %2252
  %2258 = load i32, ptr %607, align 4, !tbaa !5
  %2259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2260 = call i32 @s2n_print_stacktrace(ptr noundef %2259) #10
  %2261 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2262 = trunc nuw i8 %2261 to i1
  br i1 %2262, label %2263, label %2267

2263:                                             ; preds = %2257
  %2264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2265 = call i32 @fileno(ptr noundef %2264) #10
  %2266 = call i32 @isatty(i32 noundef %2265) #10
  %.not343 = icmp eq i32 %2266, 0
  br i1 %.not343, label %2267, label %2268

2267:                                             ; preds = %2263, %2257
  br label %2268

2268:                                             ; preds = %2263, %2267
  %.str.5.sink1168 = phi ptr [ @.str.5, %2267 ], [ @.str.2, %2263 ]
  store i32 %2258, ptr %607, align 4, !tbaa !5
  %2269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2270 = load i32, ptr @test_count, align 4, !tbaa !5
  %2271 = load i32, ptr %553, align 4, !tbaa !5
  %2272 = call ptr @s2n_strerror(i32 noundef %2271, ptr noundef nonnull @.str.4) #10
  %2273 = load i32, ptr %553, align 4, !tbaa !5
  %2274 = call ptr @s2n_strerror_debug(i32 noundef %2273, ptr noundef nonnull @.str.4) #10
  %2275 = load i32, ptr %607, align 4, !tbaa !5
  %2276 = call ptr @strerror(i32 noundef %2275) #10
  %2277 = load i32, ptr %607, align 4, !tbaa !5
  %2278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2269, ptr noundef nonnull %.str.5.sink1168, i32 noundef %2270, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 190, ptr noundef %2272, ptr noundef %2274, ptr noundef %2276, i32 noundef %2277) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2279:                                             ; preds = %2252
  %2280 = load i32, ptr @test_count, align 4, !tbaa !5
  %2281 = add nsw i32 %2280, 1
  store i32 %2281, ptr @test_count, align 4, !tbaa !5
  %2282 = call ptr @s2n_connection_new(i32 noundef 1) #10
  %2283 = icmp eq ptr %2282, null
  br i1 %2283, label %2284, label %2306

2284:                                             ; preds = %2279
  %2285 = load i32, ptr %607, align 4, !tbaa !5
  %2286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2287 = call i32 @s2n_print_stacktrace(ptr noundef %2286) #10
  %2288 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2289 = trunc nuw i8 %2288 to i1
  br i1 %2289, label %2290, label %2294

2290:                                             ; preds = %2284
  %2291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2292 = call i32 @fileno(ptr noundef %2291) #10
  %2293 = call i32 @isatty(i32 noundef %2292) #10
  %.not342 = icmp eq i32 %2293, 0
  br i1 %.not342, label %2294, label %2295

2294:                                             ; preds = %2290, %2284
  br label %2295

2295:                                             ; preds = %2290, %2294
  %.str.5.sink1177 = phi ptr [ @.str.5, %2294 ], [ @.str.2, %2290 ]
  store i32 %2285, ptr %607, align 4, !tbaa !5
  %2296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2297 = load i32, ptr @test_count, align 4, !tbaa !5
  %2298 = load i32, ptr %553, align 4, !tbaa !5
  %2299 = call ptr @s2n_strerror(i32 noundef %2298, ptr noundef nonnull @.str.4) #10
  %2300 = load i32, ptr %553, align 4, !tbaa !5
  %2301 = call ptr @s2n_strerror_debug(i32 noundef %2300, ptr noundef nonnull @.str.4) #10
  %2302 = load i32, ptr %607, align 4, !tbaa !5
  %2303 = call ptr @strerror(i32 noundef %2302) #10
  %2304 = load i32, ptr %607, align 4, !tbaa !5
  %2305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2296, ptr noundef nonnull %.str.5.sink1177, i32 noundef %2297, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 193, ptr noundef %2299, ptr noundef %2301, ptr noundef %2303, i32 noundef %2304) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2306:                                             ; preds = %2279
  %2307 = load i32, ptr @test_count, align 4, !tbaa !5
  %2308 = add nsw i32 %2307, 1
  store i32 %2308, ptr @test_count, align 4, !tbaa !5
  %2309 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2282, ptr noundef nonnull %2228) #10
  %2310 = icmp eq i32 %2309, -1
  br i1 %2310, label %2311, label %2333

2311:                                             ; preds = %2306
  %2312 = load i32, ptr %607, align 4, !tbaa !5
  %2313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2314 = call i32 @s2n_print_stacktrace(ptr noundef %2313) #10
  %2315 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2316 = trunc nuw i8 %2315 to i1
  br i1 %2316, label %2317, label %2321

2317:                                             ; preds = %2311
  %2318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2319 = call i32 @fileno(ptr noundef %2318) #10
  %2320 = call i32 @isatty(i32 noundef %2319) #10
  %.not341 = icmp eq i32 %2320, 0
  br i1 %.not341, label %2321, label %2322

2321:                                             ; preds = %2317, %2311
  br label %2322

2322:                                             ; preds = %2317, %2321
  %.str.5.sink1186 = phi ptr [ @.str.5, %2321 ], [ @.str.2, %2317 ]
  store i32 %2312, ptr %607, align 4, !tbaa !5
  %2323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2324 = load i32, ptr @test_count, align 4, !tbaa !5
  %2325 = load i32, ptr %553, align 4, !tbaa !5
  %2326 = call ptr @s2n_strerror(i32 noundef %2325, ptr noundef nonnull @.str.4) #10
  %2327 = load i32, ptr %553, align 4, !tbaa !5
  %2328 = call ptr @s2n_strerror_debug(i32 noundef %2327, ptr noundef nonnull @.str.4) #10
  %2329 = load i32, ptr %607, align 4, !tbaa !5
  %2330 = call ptr @strerror(i32 noundef %2329) #10
  %2331 = load i32, ptr %607, align 4, !tbaa !5
  %2332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2323, ptr noundef nonnull %.str.5.sink1186, i32 noundef %2324, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 194, ptr noundef %2326, ptr noundef %2328, ptr noundef %2330, i32 noundef %2331) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2333:                                             ; preds = %2306
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %9) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %9, i8 0, i64 40, i1 false)
  %2334 = load i32, ptr @test_count, align 4, !tbaa !5
  %2335 = add nsw i32 %2334, 1
  store i32 %2335, ptr @test_count, align 4, !tbaa !5
  %2336 = call i32 %1663(ptr noundef nonnull %2282, ptr noundef nonnull %9) #10
  %2337 = icmp eq i32 %2336, -1
  br i1 %2337, label %2338, label %2360

2338:                                             ; preds = %2333
  %2339 = load i32, ptr %607, align 4, !tbaa !5
  %2340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2341 = call i32 @s2n_print_stacktrace(ptr noundef %2340) #10
  %2342 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2343 = trunc nuw i8 %2342 to i1
  br i1 %2343, label %2344, label %2348

2344:                                             ; preds = %2338
  %2345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2346 = call i32 @fileno(ptr noundef %2345) #10
  %2347 = call i32 @isatty(i32 noundef %2346) #10
  %.not340 = icmp eq i32 %2347, 0
  br i1 %.not340, label %2348, label %2349

2348:                                             ; preds = %2344, %2338
  br label %2349

2349:                                             ; preds = %2344, %2348
  %.str.5.sink1195 = phi ptr [ @.str.5, %2348 ], [ @.str.2, %2344 ]
  store i32 %2339, ptr %607, align 4, !tbaa !5
  %2350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2351 = load i32, ptr @test_count, align 4, !tbaa !5
  %2352 = load i32, ptr %553, align 4, !tbaa !5
  %2353 = call ptr @s2n_strerror(i32 noundef %2352, ptr noundef nonnull @.str.4) #10
  %2354 = load i32, ptr %553, align 4, !tbaa !5
  %2355 = call ptr @s2n_strerror_debug(i32 noundef %2354, ptr noundef nonnull @.str.4) #10
  %2356 = load i32, ptr %607, align 4, !tbaa !5
  %2357 = call ptr @strerror(i32 noundef %2356) #10
  %2358 = load i32, ptr %607, align 4, !tbaa !5
  %2359 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2350, ptr noundef nonnull %.str.5.sink1195, i32 noundef %2351, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 198, ptr noundef %2353, ptr noundef %2355, ptr noundef %2357, i32 noundef %2358) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2360:                                             ; preds = %2333
  %2361 = load i32, ptr @test_count, align 4, !tbaa !5
  %2362 = add nsw i32 %2361, 1
  store i32 %2362, ptr @test_count, align 4, !tbaa !5
  %2363 = getelementptr inbounds i8, ptr %2282, i64 2880
  %2364 = load i32, ptr %2363, align 8, !tbaa !51
  %2365 = icmp eq i32 %2364, 0
  br i1 %2365, label %2388, label %2366

2366:                                             ; preds = %2360
  %2367 = load i32, ptr %607, align 4, !tbaa !5
  %2368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2369 = call i32 @s2n_print_stacktrace(ptr noundef %2368) #10
  %2370 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2371 = trunc nuw i8 %2370 to i1
  br i1 %2371, label %2372, label %2376

2372:                                             ; preds = %2366
  %2373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2374 = call i32 @fileno(ptr noundef %2373) #10
  %2375 = call i32 @isatty(i32 noundef %2374) #10
  %.not315 = icmp eq i32 %2375, 0
  br i1 %.not315, label %2376, label %2377

2376:                                             ; preds = %2372, %2366
  br label %2377

2377:                                             ; preds = %2372, %2376
  %.str.5.sink1204 = phi ptr [ @.str.5, %2376 ], [ @.str.2, %2372 ]
  store i32 %2367, ptr %607, align 4, !tbaa !5
  %2378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2379 = load i32, ptr @test_count, align 4, !tbaa !5
  %2380 = load i32, ptr %553, align 4, !tbaa !5
  %2381 = call ptr @s2n_strerror(i32 noundef %2380, ptr noundef nonnull @.str.4) #10
  %2382 = load i32, ptr %553, align 4, !tbaa !5
  %2383 = call ptr @s2n_strerror_debug(i32 noundef %2382, ptr noundef nonnull @.str.4) #10
  %2384 = load i32, ptr %607, align 4, !tbaa !5
  %2385 = call ptr @strerror(i32 noundef %2384) #10
  %2386 = load i32, ptr %607, align 4, !tbaa !5
  %2387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2378, ptr noundef nonnull %.str.5.sink1204, i32 noundef %2379, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 199, ptr noundef %2381, ptr noundef %2383, ptr noundef %2385, i32 noundef %2386) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2388:                                             ; preds = %2360
  %2389 = add nsw i32 %2361, 2
  store i32 %2389, ptr @test_count, align 4, !tbaa !5
  %2390 = call i32 @s2n_connection_free(ptr noundef nonnull %2282) #10
  %2391 = icmp eq i32 %2390, -1
  br i1 %2391, label %2392, label %2414

2392:                                             ; preds = %2388
  %2393 = load i32, ptr %607, align 4, !tbaa !5
  %2394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2395 = call i32 @s2n_print_stacktrace(ptr noundef %2394) #10
  %2396 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2397 = trunc nuw i8 %2396 to i1
  br i1 %2397, label %2398, label %2402

2398:                                             ; preds = %2392
  %2399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2400 = call i32 @fileno(ptr noundef %2399) #10
  %2401 = call i32 @isatty(i32 noundef %2400) #10
  %.not339 = icmp eq i32 %2401, 0
  br i1 %.not339, label %2402, label %2403

2402:                                             ; preds = %2398, %2392
  br label %2403

2403:                                             ; preds = %2398, %2402
  %.str.5.sink1213 = phi ptr [ @.str.5, %2402 ], [ @.str.2, %2398 ]
  store i32 %2393, ptr %607, align 4, !tbaa !5
  %2404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2405 = load i32, ptr @test_count, align 4, !tbaa !5
  %2406 = load i32, ptr %553, align 4, !tbaa !5
  %2407 = call ptr @s2n_strerror(i32 noundef %2406, ptr noundef nonnull @.str.4) #10
  %2408 = load i32, ptr %553, align 4, !tbaa !5
  %2409 = call ptr @s2n_strerror_debug(i32 noundef %2408, ptr noundef nonnull @.str.4) #10
  %2410 = load i32, ptr %607, align 4, !tbaa !5
  %2411 = call ptr @strerror(i32 noundef %2410) #10
  %2412 = load i32, ptr %607, align 4, !tbaa !5
  %2413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2404, ptr noundef nonnull %.str.5.sink1213, i32 noundef %2405, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 201, ptr noundef %2407, ptr noundef %2409, ptr noundef %2411, i32 noundef %2412) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2414:                                             ; preds = %2388
  %2415 = load i32, ptr @test_count, align 4, !tbaa !5
  %2416 = add nsw i32 %2415, 1
  store i32 %2416, ptr @test_count, align 4, !tbaa !5
  %2417 = call i32 @s2n_config_free(ptr noundef nonnull %2228) #10
  %2418 = icmp eq i32 %2417, -1
  br i1 %2418, label %2419, label %2441

2419:                                             ; preds = %2414
  %2420 = load i32, ptr %607, align 4, !tbaa !5
  %2421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2422 = call i32 @s2n_print_stacktrace(ptr noundef %2421) #10
  %2423 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2424 = trunc nuw i8 %2423 to i1
  br i1 %2424, label %2425, label %2429

2425:                                             ; preds = %2419
  %2426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2427 = call i32 @fileno(ptr noundef %2426) #10
  %2428 = call i32 @isatty(i32 noundef %2427) #10
  %.not338 = icmp eq i32 %2428, 0
  br i1 %.not338, label %2429, label %2430

2429:                                             ; preds = %2425, %2419
  br label %2430

2430:                                             ; preds = %2425, %2429
  %.str.5.sink1222 = phi ptr [ @.str.5, %2429 ], [ @.str.2, %2425 ]
  store i32 %2420, ptr %607, align 4, !tbaa !5
  %2431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2432 = load i32, ptr @test_count, align 4, !tbaa !5
  %2433 = load i32, ptr %553, align 4, !tbaa !5
  %2434 = call ptr @s2n_strerror(i32 noundef %2433, ptr noundef nonnull @.str.4) #10
  %2435 = load i32, ptr %553, align 4, !tbaa !5
  %2436 = call ptr @s2n_strerror_debug(i32 noundef %2435, ptr noundef nonnull @.str.4) #10
  %2437 = load i32, ptr %607, align 4, !tbaa !5
  %2438 = call ptr @strerror(i32 noundef %2437) #10
  %2439 = load i32, ptr %607, align 4, !tbaa !5
  %2440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2431, ptr noundef nonnull %.str.5.sink1222, i32 noundef %2432, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 202, ptr noundef %2434, ptr noundef %2436, ptr noundef %2438, i32 noundef %2439) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2441:                                             ; preds = %2414
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %9) #10
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %10) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %10, i8 0, i64 40, i1 false)
  %2442 = load i32, ptr @test_count, align 4, !tbaa !5
  %2443 = add nsw i32 %2442, 1
  store i32 %2443, ptr @test_count, align 4, !tbaa !5
  %2444 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %10, i32 noundef 0) #10
  %2445 = icmp eq i32 %2444, -1
  br i1 %2445, label %2446, label %2468

2446:                                             ; preds = %2441
  %2447 = load i32, ptr %607, align 4, !tbaa !5
  %2448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2449 = call i32 @s2n_print_stacktrace(ptr noundef %2448) #10
  %2450 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2451 = trunc nuw i8 %2450 to i1
  br i1 %2451, label %2452, label %2456

2452:                                             ; preds = %2446
  %2453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2454 = call i32 @fileno(ptr noundef %2453) #10
  %2455 = call i32 @isatty(i32 noundef %2454) #10
  %.not337 = icmp eq i32 %2455, 0
  br i1 %.not337, label %2456, label %2457

2456:                                             ; preds = %2452, %2446
  br label %2457

2457:                                             ; preds = %2452, %2456
  %.str.5.sink1231 = phi ptr [ @.str.5, %2456 ], [ @.str.2, %2452 ]
  store i32 %2447, ptr %607, align 4, !tbaa !5
  %2458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2459 = load i32, ptr @test_count, align 4, !tbaa !5
  %2460 = load i32, ptr %553, align 4, !tbaa !5
  %2461 = call ptr @s2n_strerror(i32 noundef %2460, ptr noundef nonnull @.str.4) #10
  %2462 = load i32, ptr %553, align 4, !tbaa !5
  %2463 = call ptr @s2n_strerror_debug(i32 noundef %2462, ptr noundef nonnull @.str.4) #10
  %2464 = load i32, ptr %607, align 4, !tbaa !5
  %2465 = call ptr @strerror(i32 noundef %2464) #10
  %2466 = load i32, ptr %607, align 4, !tbaa !5
  %2467 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2458, ptr noundef nonnull %.str.5.sink1231, i32 noundef %2459, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 208, ptr noundef %2461, ptr noundef %2463, ptr noundef %2465, i32 noundef %2466) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2468:                                             ; preds = %2441
  %2469 = load i32, ptr @test_count, align 4, !tbaa !5
  %2470 = add nsw i32 %2469, 1
  store i32 %2470, ptr @test_count, align 4, !tbaa !5
  %2471 = call ptr @s2n_config_new() #10
  %2472 = icmp eq ptr %2471, null
  br i1 %2472, label %2473, label %2495

2473:                                             ; preds = %2468
  %2474 = load i32, ptr %607, align 4, !tbaa !5
  %2475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2476 = call i32 @s2n_print_stacktrace(ptr noundef %2475) #10
  %2477 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2478 = trunc nuw i8 %2477 to i1
  br i1 %2478, label %2479, label %2483

2479:                                             ; preds = %2473
  %2480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2481 = call i32 @fileno(ptr noundef %2480) #10
  %2482 = call i32 @isatty(i32 noundef %2481) #10
  %.not336 = icmp eq i32 %2482, 0
  br i1 %.not336, label %2483, label %2484

2483:                                             ; preds = %2479, %2473
  br label %2484

2484:                                             ; preds = %2479, %2483
  %.str.5.sink1240 = phi ptr [ @.str.5, %2483 ], [ @.str.2, %2479 ]
  store i32 %2474, ptr %607, align 4, !tbaa !5
  %2485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2486 = load i32, ptr @test_count, align 4, !tbaa !5
  %2487 = load i32, ptr %553, align 4, !tbaa !5
  %2488 = call ptr @s2n_strerror(i32 noundef %2487, ptr noundef nonnull @.str.4) #10
  %2489 = load i32, ptr %553, align 4, !tbaa !5
  %2490 = call ptr @s2n_strerror_debug(i32 noundef %2489, ptr noundef nonnull @.str.4) #10
  %2491 = load i32, ptr %607, align 4, !tbaa !5
  %2492 = call ptr @strerror(i32 noundef %2491) #10
  %2493 = load i32, ptr %607, align 4, !tbaa !5
  %2494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2485, ptr noundef nonnull %.str.5.sink1240, i32 noundef %2486, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 211, ptr noundef %2488, ptr noundef %2490, ptr noundef %2492, i32 noundef %2493) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2495:                                             ; preds = %2468
  %2496 = load i32, ptr @test_count, align 4, !tbaa !5
  %2497 = add nsw i32 %2496, 1
  store i32 %2497, ptr @test_count, align 4, !tbaa !5
  %2498 = call i32 @s2n_config_enable_quic(ptr noundef nonnull %2471) #10
  %2499 = icmp eq i32 %2498, -1
  br i1 %2499, label %2500, label %2522

2500:                                             ; preds = %2495
  %2501 = load i32, ptr %607, align 4, !tbaa !5
  %2502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2503 = call i32 @s2n_print_stacktrace(ptr noundef %2502) #10
  %2504 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2505 = trunc nuw i8 %2504 to i1
  br i1 %2505, label %2506, label %2510

2506:                                             ; preds = %2500
  %2507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2508 = call i32 @fileno(ptr noundef %2507) #10
  %2509 = call i32 @isatty(i32 noundef %2508) #10
  %.not335 = icmp eq i32 %2509, 0
  br i1 %.not335, label %2510, label %2511

2510:                                             ; preds = %2506, %2500
  br label %2511

2511:                                             ; preds = %2506, %2510
  %.str.5.sink1249 = phi ptr [ @.str.5, %2510 ], [ @.str.2, %2506 ]
  store i32 %2501, ptr %607, align 4, !tbaa !5
  %2512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2513 = load i32, ptr @test_count, align 4, !tbaa !5
  %2514 = load i32, ptr %553, align 4, !tbaa !5
  %2515 = call ptr @s2n_strerror(i32 noundef %2514, ptr noundef nonnull @.str.4) #10
  %2516 = load i32, ptr %553, align 4, !tbaa !5
  %2517 = call ptr @s2n_strerror_debug(i32 noundef %2516, ptr noundef nonnull @.str.4) #10
  %2518 = load i32, ptr %607, align 4, !tbaa !5
  %2519 = call ptr @strerror(i32 noundef %2518) #10
  %2520 = load i32, ptr %607, align 4, !tbaa !5
  %2521 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2512, ptr noundef nonnull %.str.5.sink1249, i32 noundef %2513, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 212, ptr noundef %2515, ptr noundef %2517, ptr noundef %2519, i32 noundef %2520) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2522:                                             ; preds = %2495
  %2523 = load i32, ptr @test_count, align 4, !tbaa !5
  %2524 = add nsw i32 %2523, 1
  store i32 %2524, ptr @test_count, align 4, !tbaa !5
  %2525 = call ptr @s2n_connection_new(i32 noundef 0) #10
  %2526 = icmp eq ptr %2525, null
  br i1 %2526, label %2527, label %2549

2527:                                             ; preds = %2522
  %2528 = load i32, ptr %607, align 4, !tbaa !5
  %2529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2530 = call i32 @s2n_print_stacktrace(ptr noundef %2529) #10
  %2531 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2532 = trunc nuw i8 %2531 to i1
  br i1 %2532, label %2533, label %2537

2533:                                             ; preds = %2527
  %2534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2535 = call i32 @fileno(ptr noundef %2534) #10
  %2536 = call i32 @isatty(i32 noundef %2535) #10
  %.not334 = icmp eq i32 %2536, 0
  br i1 %.not334, label %2537, label %2538

2537:                                             ; preds = %2533, %2527
  br label %2538

2538:                                             ; preds = %2533, %2537
  %.str.5.sink1258 = phi ptr [ @.str.5, %2537 ], [ @.str.2, %2533 ]
  store i32 %2528, ptr %607, align 4, !tbaa !5
  %2539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2540 = load i32, ptr @test_count, align 4, !tbaa !5
  %2541 = load i32, ptr %553, align 4, !tbaa !5
  %2542 = call ptr @s2n_strerror(i32 noundef %2541, ptr noundef nonnull @.str.4) #10
  %2543 = load i32, ptr %553, align 4, !tbaa !5
  %2544 = call ptr @s2n_strerror_debug(i32 noundef %2543, ptr noundef nonnull @.str.4) #10
  %2545 = load i32, ptr %607, align 4, !tbaa !5
  %2546 = call ptr @strerror(i32 noundef %2545) #10
  %2547 = load i32, ptr %607, align 4, !tbaa !5
  %2548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2539, ptr noundef nonnull %.str.5.sink1258, i32 noundef %2540, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 215, ptr noundef %2542, ptr noundef %2544, ptr noundef %2546, i32 noundef %2547) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2549:                                             ; preds = %2522
  %2550 = load i32, ptr @test_count, align 4, !tbaa !5
  %2551 = add nsw i32 %2550, 1
  store i32 %2551, ptr @test_count, align 4, !tbaa !5
  %2552 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2525, ptr noundef nonnull %2471) #10
  %2553 = icmp eq i32 %2552, -1
  br i1 %2553, label %2554, label %2576

2554:                                             ; preds = %2549
  %2555 = load i32, ptr %607, align 4, !tbaa !5
  %2556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2557 = call i32 @s2n_print_stacktrace(ptr noundef %2556) #10
  %2558 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2559 = trunc nuw i8 %2558 to i1
  br i1 %2559, label %2560, label %2564

2560:                                             ; preds = %2554
  %2561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2562 = call i32 @fileno(ptr noundef %2561) #10
  %2563 = call i32 @isatty(i32 noundef %2562) #10
  %.not333 = icmp eq i32 %2563, 0
  br i1 %.not333, label %2564, label %2565

2564:                                             ; preds = %2560, %2554
  br label %2565

2565:                                             ; preds = %2560, %2564
  %.str.5.sink1267 = phi ptr [ @.str.5, %2564 ], [ @.str.2, %2560 ]
  store i32 %2555, ptr %607, align 4, !tbaa !5
  %2566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2567 = load i32, ptr @test_count, align 4, !tbaa !5
  %2568 = load i32, ptr %553, align 4, !tbaa !5
  %2569 = call ptr @s2n_strerror(i32 noundef %2568, ptr noundef nonnull @.str.4) #10
  %2570 = load i32, ptr %553, align 4, !tbaa !5
  %2571 = call ptr @s2n_strerror_debug(i32 noundef %2570, ptr noundef nonnull @.str.4) #10
  %2572 = load i32, ptr %607, align 4, !tbaa !5
  %2573 = call ptr @strerror(i32 noundef %2572) #10
  %2574 = load i32, ptr %607, align 4, !tbaa !5
  %2575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2566, ptr noundef nonnull %.str.5.sink1267, i32 noundef %2567, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 216, ptr noundef %2569, ptr noundef %2571, ptr noundef %2573, i32 noundef %2574) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2576:                                             ; preds = %2549
  %2577 = load i32, ptr @test_count, align 4, !tbaa !5
  %2578 = add nsw i32 %2577, 1
  store i32 %2578, ptr @test_count, align 4, !tbaa !5
  %2579 = call ptr @s2n_connection_new(i32 noundef 1) #10
  %2580 = icmp eq ptr %2579, null
  br i1 %2580, label %2581, label %2603

2581:                                             ; preds = %2576
  %2582 = load i32, ptr %607, align 4, !tbaa !5
  %2583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2584 = call i32 @s2n_print_stacktrace(ptr noundef %2583) #10
  %2585 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2586 = trunc nuw i8 %2585 to i1
  br i1 %2586, label %2587, label %2591

2587:                                             ; preds = %2581
  %2588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2589 = call i32 @fileno(ptr noundef %2588) #10
  %2590 = call i32 @isatty(i32 noundef %2589) #10
  %.not332 = icmp eq i32 %2590, 0
  br i1 %.not332, label %2591, label %2592

2591:                                             ; preds = %2587, %2581
  br label %2592

2592:                                             ; preds = %2587, %2591
  %.str.5.sink1276 = phi ptr [ @.str.5, %2591 ], [ @.str.2, %2587 ]
  store i32 %2582, ptr %607, align 4, !tbaa !5
  %2593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2594 = load i32, ptr @test_count, align 4, !tbaa !5
  %2595 = load i32, ptr %553, align 4, !tbaa !5
  %2596 = call ptr @s2n_strerror(i32 noundef %2595, ptr noundef nonnull @.str.4) #10
  %2597 = load i32, ptr %553, align 4, !tbaa !5
  %2598 = call ptr @s2n_strerror_debug(i32 noundef %2597, ptr noundef nonnull @.str.4) #10
  %2599 = load i32, ptr %607, align 4, !tbaa !5
  %2600 = call ptr @strerror(i32 noundef %2599) #10
  %2601 = load i32, ptr %607, align 4, !tbaa !5
  %2602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2593, ptr noundef nonnull %.str.5.sink1276, i32 noundef %2594, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 219, ptr noundef %2596, ptr noundef %2598, ptr noundef %2600, i32 noundef %2601) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2603:                                             ; preds = %2576
  %2604 = load i32, ptr @test_count, align 4, !tbaa !5
  %2605 = add nsw i32 %2604, 1
  store i32 %2605, ptr @test_count, align 4, !tbaa !5
  %2606 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2579, ptr noundef nonnull %2471) #10
  %2607 = icmp eq i32 %2606, -1
  br i1 %2607, label %2608, label %2630

2608:                                             ; preds = %2603
  %2609 = load i32, ptr %607, align 4, !tbaa !5
  %2610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2611 = call i32 @s2n_print_stacktrace(ptr noundef %2610) #10
  %2612 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2613 = trunc nuw i8 %2612 to i1
  br i1 %2613, label %2614, label %2618

2614:                                             ; preds = %2608
  %2615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2616 = call i32 @fileno(ptr noundef %2615) #10
  %2617 = call i32 @isatty(i32 noundef %2616) #10
  %.not331 = icmp eq i32 %2617, 0
  br i1 %.not331, label %2618, label %2619

2618:                                             ; preds = %2614, %2608
  br label %2619

2619:                                             ; preds = %2614, %2618
  %.str.5.sink1285 = phi ptr [ @.str.5, %2618 ], [ @.str.2, %2614 ]
  store i32 %2609, ptr %607, align 4, !tbaa !5
  %2620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2621 = load i32, ptr @test_count, align 4, !tbaa !5
  %2622 = load i32, ptr %553, align 4, !tbaa !5
  %2623 = call ptr @s2n_strerror(i32 noundef %2622, ptr noundef nonnull @.str.4) #10
  %2624 = load i32, ptr %553, align 4, !tbaa !5
  %2625 = call ptr @s2n_strerror_debug(i32 noundef %2624, ptr noundef nonnull @.str.4) #10
  %2626 = load i32, ptr %607, align 4, !tbaa !5
  %2627 = call ptr @strerror(i32 noundef %2626) #10
  %2628 = load i32, ptr %607, align 4, !tbaa !5
  %2629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2620, ptr noundef nonnull %.str.5.sink1285, i32 noundef %2621, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 220, ptr noundef %2623, ptr noundef %2625, ptr noundef %2627, i32 noundef %2628) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2630:                                             ; preds = %2603
  %2631 = load i32, ptr @test_count, align 4, !tbaa !5
  %2632 = add nsw i32 %2631, 1
  store i32 %2632, ptr @test_count, align 4, !tbaa !5
  %2633 = call i32 @s2n_connection_set_quic_transport_parameters(ptr noundef nonnull %2579, ptr noundef nonnull @TEST_DATA, i16 noundef zeroext 31) #10
  %2634 = icmp eq i32 %2633, -1
  br i1 %2634, label %2635, label %2657

2635:                                             ; preds = %2630
  %2636 = load i32, ptr %607, align 4, !tbaa !5
  %2637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2638 = call i32 @s2n_print_stacktrace(ptr noundef %2637) #10
  %2639 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2640 = trunc nuw i8 %2639 to i1
  br i1 %2640, label %2641, label %2645

2641:                                             ; preds = %2635
  %2642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2643 = call i32 @fileno(ptr noundef %2642) #10
  %2644 = call i32 @isatty(i32 noundef %2643) #10
  %.not330 = icmp eq i32 %2644, 0
  br i1 %.not330, label %2645, label %2646

2645:                                             ; preds = %2641, %2635
  br label %2646

2646:                                             ; preds = %2641, %2645
  %.str.5.sink1294 = phi ptr [ @.str.5, %2645 ], [ @.str.2, %2641 ]
  store i32 %2636, ptr %607, align 4, !tbaa !5
  %2647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2648 = load i32, ptr @test_count, align 4, !tbaa !5
  %2649 = load i32, ptr %553, align 4, !tbaa !5
  %2650 = call ptr @s2n_strerror(i32 noundef %2649, ptr noundef nonnull @.str.4) #10
  %2651 = load i32, ptr %553, align 4, !tbaa !5
  %2652 = call ptr @s2n_strerror_debug(i32 noundef %2651, ptr noundef nonnull @.str.4) #10
  %2653 = load i32, ptr %607, align 4, !tbaa !5
  %2654 = call ptr @strerror(i32 noundef %2653) #10
  %2655 = load i32, ptr %607, align 4, !tbaa !5
  %2656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2647, ptr noundef nonnull %.str.5.sink1294, i32 noundef %2648, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 221, ptr noundef %2650, ptr noundef %2652, ptr noundef %2654, i32 noundef %2655) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2657:                                             ; preds = %2630
  %2658 = load i32, ptr @test_count, align 4, !tbaa !5
  %2659 = add nsw i32 %2658, 1
  store i32 %2659, ptr @test_count, align 4, !tbaa !5
  %2660 = call i32 %880(ptr noundef nonnull %2579, ptr noundef nonnull %10) #10
  %2661 = icmp eq i32 %2660, -1
  br i1 %2661, label %2662, label %2684

2662:                                             ; preds = %2657
  %2663 = load i32, ptr %607, align 4, !tbaa !5
  %2664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2665 = call i32 @s2n_print_stacktrace(ptr noundef %2664) #10
  %2666 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2667 = trunc nuw i8 %2666 to i1
  br i1 %2667, label %2668, label %2672

2668:                                             ; preds = %2662
  %2669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2670 = call i32 @fileno(ptr noundef %2669) #10
  %2671 = call i32 @isatty(i32 noundef %2670) #10
  %.not329 = icmp eq i32 %2671, 0
  br i1 %.not329, label %2672, label %2673

2672:                                             ; preds = %2668, %2662
  br label %2673

2673:                                             ; preds = %2668, %2672
  %.str.5.sink1303 = phi ptr [ @.str.5, %2672 ], [ @.str.2, %2668 ]
  store i32 %2663, ptr %607, align 4, !tbaa !5
  %2674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2675 = load i32, ptr @test_count, align 4, !tbaa !5
  %2676 = load i32, ptr %553, align 4, !tbaa !5
  %2677 = call ptr @s2n_strerror(i32 noundef %2676, ptr noundef nonnull @.str.4) #10
  %2678 = load i32, ptr %553, align 4, !tbaa !5
  %2679 = call ptr @s2n_strerror_debug(i32 noundef %2678, ptr noundef nonnull @.str.4) #10
  %2680 = load i32, ptr %607, align 4, !tbaa !5
  %2681 = call ptr @strerror(i32 noundef %2680) #10
  %2682 = load i32, ptr %607, align 4, !tbaa !5
  %2683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2674, ptr noundef nonnull %.str.5.sink1303, i32 noundef %2675, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 223, ptr noundef %2677, ptr noundef %2679, ptr noundef %2681, i32 noundef %2682) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2684:                                             ; preds = %2657
  %2685 = load i32, ptr @test_count, align 4, !tbaa !5
  %2686 = add nsw i32 %2685, 1
  store i32 %2686, ptr @test_count, align 4, !tbaa !5
  %2687 = getelementptr inbounds i8, ptr %2525, i64 2872
  %2688 = getelementptr inbounds i8, ptr %2525, i64 2880
  %2689 = load i32, ptr %2688, align 8, !tbaa !51
  %2690 = icmp eq i32 %2689, 0
  br i1 %2690, label %2713, label %2691

2691:                                             ; preds = %2684
  %2692 = load i32, ptr %607, align 4, !tbaa !5
  %2693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2694 = call i32 @s2n_print_stacktrace(ptr noundef %2693) #10
  %2695 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2696 = trunc nuw i8 %2695 to i1
  br i1 %2696, label %2697, label %2701

2697:                                             ; preds = %2691
  %2698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2699 = call i32 @fileno(ptr noundef %2698) #10
  %2700 = call i32 @isatty(i32 noundef %2699) #10
  %.not316 = icmp eq i32 %2700, 0
  br i1 %.not316, label %2701, label %2702

2701:                                             ; preds = %2697, %2691
  br label %2702

2702:                                             ; preds = %2697, %2701
  %.str.5.sink1312 = phi ptr [ @.str.5, %2701 ], [ @.str.2, %2697 ]
  store i32 %2692, ptr %607, align 4, !tbaa !5
  %2703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2704 = load i32, ptr @test_count, align 4, !tbaa !5
  %2705 = load i32, ptr %553, align 4, !tbaa !5
  %2706 = call ptr @s2n_strerror(i32 noundef %2705, ptr noundef nonnull @.str.4) #10
  %2707 = load i32, ptr %553, align 4, !tbaa !5
  %2708 = call ptr @s2n_strerror_debug(i32 noundef %2707, ptr noundef nonnull @.str.4) #10
  %2709 = load i32, ptr %607, align 4, !tbaa !5
  %2710 = call ptr @strerror(i32 noundef %2709) #10
  %2711 = load i32, ptr %607, align 4, !tbaa !5
  %2712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2703, ptr noundef nonnull %.str.5.sink1312, i32 noundef %2704, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 224, ptr noundef %2706, ptr noundef %2708, ptr noundef %2710, i32 noundef %2711) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2713:                                             ; preds = %2684
  %2714 = add nsw i32 %2685, 2
  store i32 %2714, ptr @test_count, align 4, !tbaa !5
  %2715 = call i32 %1663(ptr noundef nonnull %2525, ptr noundef nonnull %10) #10
  %2716 = icmp eq i32 %2715, -1
  br i1 %2716, label %2717, label %2739

2717:                                             ; preds = %2713
  %2718 = load i32, ptr %607, align 4, !tbaa !5
  %2719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2720 = call i32 @s2n_print_stacktrace(ptr noundef %2719) #10
  %2721 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2722 = trunc nuw i8 %2721 to i1
  br i1 %2722, label %2723, label %2727

2723:                                             ; preds = %2717
  %2724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2725 = call i32 @fileno(ptr noundef %2724) #10
  %2726 = call i32 @isatty(i32 noundef %2725) #10
  %.not328 = icmp eq i32 %2726, 0
  br i1 %.not328, label %2727, label %2728

2727:                                             ; preds = %2723, %2717
  br label %2728

2728:                                             ; preds = %2723, %2727
  %.str.5.sink1321 = phi ptr [ @.str.5, %2727 ], [ @.str.2, %2723 ]
  store i32 %2718, ptr %607, align 4, !tbaa !5
  %2729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2730 = load i32, ptr @test_count, align 4, !tbaa !5
  %2731 = load i32, ptr %553, align 4, !tbaa !5
  %2732 = call ptr @s2n_strerror(i32 noundef %2731, ptr noundef nonnull @.str.4) #10
  %2733 = load i32, ptr %553, align 4, !tbaa !5
  %2734 = call ptr @s2n_strerror_debug(i32 noundef %2733, ptr noundef nonnull @.str.4) #10
  %2735 = load i32, ptr %607, align 4, !tbaa !5
  %2736 = call ptr @strerror(i32 noundef %2735) #10
  %2737 = load i32, ptr %607, align 4, !tbaa !5
  %2738 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2729, ptr noundef nonnull %.str.5.sink1321, i32 noundef %2730, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 225, ptr noundef %2732, ptr noundef %2734, ptr noundef %2736, i32 noundef %2737) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2739:                                             ; preds = %2713
  %2740 = load i32, ptr @test_count, align 4, !tbaa !5
  %2741 = add nsw i32 %2740, 1
  store i32 %2741, ptr @test_count, align 4, !tbaa !5
  %2742 = load ptr, ptr %2687, align 8, !tbaa !27
  %bcmp317 = call i32 @bcmp(ptr noundef nonnull dereferenceable(31) %2742, ptr noundef nonnull dereferenceable(31) @TEST_DATA, i64 31)
  %2743 = icmp eq i32 %bcmp317, 0
  br i1 %2743, label %2766, label %2744

2744:                                             ; preds = %2739
  %2745 = load i32, ptr %607, align 4, !tbaa !5
  %2746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2747 = call i32 @s2n_print_stacktrace(ptr noundef %2746) #10
  %2748 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2749 = trunc nuw i8 %2748 to i1
  br i1 %2749, label %2750, label %2754

2750:                                             ; preds = %2744
  %2751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2752 = call i32 @fileno(ptr noundef %2751) #10
  %2753 = call i32 @isatty(i32 noundef %2752) #10
  %.not318 = icmp eq i32 %2753, 0
  br i1 %.not318, label %2754, label %2755

2754:                                             ; preds = %2750, %2744
  br label %2755

2755:                                             ; preds = %2750, %2754
  %.str.5.sink1330 = phi ptr [ @.str.5, %2754 ], [ @.str.2, %2750 ]
  store i32 %2745, ptr %607, align 4, !tbaa !5
  %2756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2757 = load i32, ptr @test_count, align 4, !tbaa !5
  %2758 = load i32, ptr %553, align 4, !tbaa !5
  %2759 = call ptr @s2n_strerror(i32 noundef %2758, ptr noundef nonnull @.str.4) #10
  %2760 = load i32, ptr %553, align 4, !tbaa !5
  %2761 = call ptr @s2n_strerror_debug(i32 noundef %2760, ptr noundef nonnull @.str.4) #10
  %2762 = load i32, ptr %607, align 4, !tbaa !5
  %2763 = call ptr @strerror(i32 noundef %2762) #10
  %2764 = load i32, ptr %607, align 4, !tbaa !5
  %2765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2756, ptr noundef nonnull %.str.5.sink1330, i32 noundef %2757, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 226, ptr noundef %2759, ptr noundef %2761, ptr noundef %2763, i32 noundef %2764) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2766:                                             ; preds = %2739
  %2767 = add nsw i32 %2740, 2
  store i32 %2767, ptr @test_count, align 4, !tbaa !5
  %2768 = call i32 @s2n_connection_free(ptr noundef nonnull %2579) #10
  %2769 = icmp eq i32 %2768, -1
  br i1 %2769, label %2770, label %2792

2770:                                             ; preds = %2766
  %2771 = load i32, ptr %607, align 4, !tbaa !5
  %2772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2773 = call i32 @s2n_print_stacktrace(ptr noundef %2772) #10
  %2774 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2775 = trunc nuw i8 %2774 to i1
  br i1 %2775, label %2776, label %2780

2776:                                             ; preds = %2770
  %2777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2778 = call i32 @fileno(ptr noundef %2777) #10
  %2779 = call i32 @isatty(i32 noundef %2778) #10
  %.not327 = icmp eq i32 %2779, 0
  br i1 %.not327, label %2780, label %2781

2780:                                             ; preds = %2776, %2770
  br label %2781

2781:                                             ; preds = %2776, %2780
  %.str.5.sink1339 = phi ptr [ @.str.5, %2780 ], [ @.str.2, %2776 ]
  store i32 %2771, ptr %607, align 4, !tbaa !5
  %2782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2783 = load i32, ptr @test_count, align 4, !tbaa !5
  %2784 = load i32, ptr %553, align 4, !tbaa !5
  %2785 = call ptr @s2n_strerror(i32 noundef %2784, ptr noundef nonnull @.str.4) #10
  %2786 = load i32, ptr %553, align 4, !tbaa !5
  %2787 = call ptr @s2n_strerror_debug(i32 noundef %2786, ptr noundef nonnull @.str.4) #10
  %2788 = load i32, ptr %607, align 4, !tbaa !5
  %2789 = call ptr @strerror(i32 noundef %2788) #10
  %2790 = load i32, ptr %607, align 4, !tbaa !5
  %2791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2782, ptr noundef nonnull %.str.5.sink1339, i32 noundef %2783, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 228, ptr noundef %2785, ptr noundef %2787, ptr noundef %2789, i32 noundef %2790) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2792:                                             ; preds = %2766
  %2793 = load i32, ptr @test_count, align 4, !tbaa !5
  %2794 = add nsw i32 %2793, 1
  store i32 %2794, ptr @test_count, align 4, !tbaa !5
  %2795 = call i32 @s2n_connection_free(ptr noundef nonnull %2525) #10
  %2796 = icmp eq i32 %2795, -1
  br i1 %2796, label %2797, label %2819

2797:                                             ; preds = %2792
  %2798 = load i32, ptr %607, align 4, !tbaa !5
  %2799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2800 = call i32 @s2n_print_stacktrace(ptr noundef %2799) #10
  %2801 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2802 = trunc nuw i8 %2801 to i1
  br i1 %2802, label %2803, label %2807

2803:                                             ; preds = %2797
  %2804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2805 = call i32 @fileno(ptr noundef %2804) #10
  %2806 = call i32 @isatty(i32 noundef %2805) #10
  %.not326 = icmp eq i32 %2806, 0
  br i1 %.not326, label %2807, label %2808

2807:                                             ; preds = %2803, %2797
  br label %2808

2808:                                             ; preds = %2803, %2807
  %.str.5.sink1348 = phi ptr [ @.str.5, %2807 ], [ @.str.2, %2803 ]
  store i32 %2798, ptr %607, align 4, !tbaa !5
  %2809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2810 = load i32, ptr @test_count, align 4, !tbaa !5
  %2811 = load i32, ptr %553, align 4, !tbaa !5
  %2812 = call ptr @s2n_strerror(i32 noundef %2811, ptr noundef nonnull @.str.4) #10
  %2813 = load i32, ptr %553, align 4, !tbaa !5
  %2814 = call ptr @s2n_strerror_debug(i32 noundef %2813, ptr noundef nonnull @.str.4) #10
  %2815 = load i32, ptr %607, align 4, !tbaa !5
  %2816 = call ptr @strerror(i32 noundef %2815) #10
  %2817 = load i32, ptr %607, align 4, !tbaa !5
  %2818 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2809, ptr noundef nonnull %.str.5.sink1348, i32 noundef %2810, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 229, ptr noundef %2812, ptr noundef %2814, ptr noundef %2816, i32 noundef %2817) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2819:                                             ; preds = %2792
  %2820 = load i32, ptr @test_count, align 4, !tbaa !5
  %2821 = add nsw i32 %2820, 1
  store i32 %2821, ptr @test_count, align 4, !tbaa !5
  %2822 = call i32 @s2n_config_free(ptr noundef nonnull %2471) #10
  %2823 = icmp eq i32 %2822, -1
  br i1 %2823, label %2824, label %2846

2824:                                             ; preds = %2819
  %2825 = load i32, ptr %607, align 4, !tbaa !5
  %2826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2827 = call i32 @s2n_print_stacktrace(ptr noundef %2826) #10
  %2828 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2829 = trunc nuw i8 %2828 to i1
  br i1 %2829, label %2830, label %2834

2830:                                             ; preds = %2824
  %2831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2832 = call i32 @fileno(ptr noundef %2831) #10
  %2833 = call i32 @isatty(i32 noundef %2832) #10
  %.not325 = icmp eq i32 %2833, 0
  br i1 %.not325, label %2834, label %2835

2834:                                             ; preds = %2830, %2824
  br label %2835

2835:                                             ; preds = %2830, %2834
  %.str.5.sink1357 = phi ptr [ @.str.5, %2834 ], [ @.str.2, %2830 ]
  store i32 %2825, ptr %607, align 4, !tbaa !5
  %2836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2837 = load i32, ptr @test_count, align 4, !tbaa !5
  %2838 = load i32, ptr %553, align 4, !tbaa !5
  %2839 = call ptr @s2n_strerror(i32 noundef %2838, ptr noundef nonnull @.str.4) #10
  %2840 = load i32, ptr %553, align 4, !tbaa !5
  %2841 = call ptr @s2n_strerror_debug(i32 noundef %2840, ptr noundef nonnull @.str.4) #10
  %2842 = load i32, ptr %607, align 4, !tbaa !5
  %2843 = call ptr @strerror(i32 noundef %2842) #10
  %2844 = load i32, ptr %607, align 4, !tbaa !5
  %2845 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2836, ptr noundef nonnull %.str.5.sink1357, i32 noundef %2837, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 230, ptr noundef %2839, ptr noundef %2841, ptr noundef %2843, i32 noundef %2844) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2846:                                             ; preds = %2819
  %2847 = load i32, ptr @test_count, align 4, !tbaa !5
  %2848 = add nsw i32 %2847, 1
  store i32 %2848, ptr @test_count, align 4, !tbaa !5
  %2849 = call i32 @s2n_stuffer_free(ptr noundef nonnull %10) #10
  %2850 = icmp eq i32 %2849, -1
  br i1 %2850, label %2851, label %2873

2851:                                             ; preds = %2846
  %2852 = load i32, ptr %607, align 4, !tbaa !5
  %2853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2854 = call i32 @s2n_print_stacktrace(ptr noundef %2853) #10
  %2855 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2856 = trunc nuw i8 %2855 to i1
  br i1 %2856, label %2857, label %2861

2857:                                             ; preds = %2851
  %2858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2859 = call i32 @fileno(ptr noundef %2858) #10
  %2860 = call i32 @isatty(i32 noundef %2859) #10
  %.not324 = icmp eq i32 %2860, 0
  br i1 %.not324, label %2861, label %2862

2861:                                             ; preds = %2857, %2851
  br label %2862

2862:                                             ; preds = %2857, %2861
  %.str.5.sink1366 = phi ptr [ @.str.5, %2861 ], [ @.str.2, %2857 ]
  store i32 %2852, ptr %607, align 4, !tbaa !5
  %2863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2864 = load i32, ptr @test_count, align 4, !tbaa !5
  %2865 = load i32, ptr %553, align 4, !tbaa !5
  %2866 = call ptr @s2n_strerror(i32 noundef %2865, ptr noundef nonnull @.str.4) #10
  %2867 = load i32, ptr %553, align 4, !tbaa !5
  %2868 = call ptr @s2n_strerror_debug(i32 noundef %2867, ptr noundef nonnull @.str.4) #10
  %2869 = load i32, ptr %607, align 4, !tbaa !5
  %2870 = call ptr @strerror(i32 noundef %2869) #10
  %2871 = load i32, ptr %607, align 4, !tbaa !5
  %2872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2863, ptr noundef nonnull %.str.5.sink1366, i32 noundef %2864, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 231, ptr noundef %2866, ptr noundef %2868, ptr noundef %2870, i32 noundef %2871) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2873:                                             ; preds = %2846
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %10) #10
  %2874 = call i32 @s2n_cleanup() #10
  %2875 = icmp eq i32 %2874, -1
  br i1 %2875, label %2876, label %2898

2876:                                             ; preds = %2873
  %2877 = load i32, ptr %607, align 4, !tbaa !5
  %2878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2879 = call i32 @s2n_print_stacktrace(ptr noundef %2878) #10
  %2880 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2881 = trunc nuw i8 %2880 to i1
  br i1 %2881, label %2882, label %2886

2882:                                             ; preds = %2876
  %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
  %.not323 = icmp eq i32 %2885, 0
  br i1 %.not323, label %2886, label %2887

2886:                                             ; preds = %2882, %2876
  br label %2887

2887:                                             ; preds = %2882, %2886
  %.str.5.sink1375 = phi ptr [ @.str.5, %2886 ], [ @.str.2, %2882 ]
  store i32 %2877, ptr %607, align 4, !tbaa !5
  %2888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2889 = load i32, ptr @test_count, align 4, !tbaa !5
  %2890 = load i32, ptr %553, align 4, !tbaa !5
  %2891 = call ptr @s2n_strerror(i32 noundef %2890, ptr noundef nonnull @.str.4) #10
  %2892 = load i32, ptr %553, align 4, !tbaa !5
  %2893 = call ptr @s2n_strerror_debug(i32 noundef %2892, ptr noundef nonnull @.str.4) #10
  %2894 = load i32, ptr %607, align 4, !tbaa !5
  %2895 = call ptr @strerror(i32 noundef %2894) #10
  %2896 = load i32, ptr %607, align 4, !tbaa !5
  %2897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2888, ptr noundef nonnull %.str.5.sink1375, i32 noundef %2889, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 235, ptr noundef %2891, ptr noundef %2893, ptr noundef %2895, i32 noundef %2896) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2898:                                             ; preds = %2873
  %2899 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #10
  %2900 = icmp eq i32 %2899, -1
  br i1 %2900, label %2901, label %2923

2901:                                             ; preds = %2898
  %2902 = load i32, ptr %607, align 4, !tbaa !5
  %2903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2904 = call i32 @s2n_print_stacktrace(ptr noundef %2903) #10
  %2905 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2906 = trunc nuw i8 %2905 to i1
  br i1 %2906, label %2907, label %2911

2907:                                             ; preds = %2901
  %2908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2909 = call i32 @fileno(ptr noundef %2908) #10
  %2910 = call i32 @isatty(i32 noundef %2909) #10
  %.not322 = icmp eq i32 %2910, 0
  br i1 %.not322, label %2911, label %2912

2911:                                             ; preds = %2907, %2901
  br label %2912

2912:                                             ; preds = %2907, %2911
  %.str.5.sink1384 = phi ptr [ @.str.5, %2911 ], [ @.str.2, %2907 ]
  store i32 %2902, ptr %607, align 4, !tbaa !5
  %2913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2914 = load i32, ptr @test_count, align 4, !tbaa !5
  %2915 = load i32, ptr %553, align 4, !tbaa !5
  %2916 = call ptr @s2n_strerror(i32 noundef %2915, ptr noundef nonnull @.str.4) #10
  %2917 = load i32, ptr %553, align 4, !tbaa !5
  %2918 = call ptr @s2n_strerror_debug(i32 noundef %2917, ptr noundef nonnull @.str.4) #10
  %2919 = load i32, ptr %607, align 4, !tbaa !5
  %2920 = call ptr @strerror(i32 noundef %2919) #10
  %2921 = load i32, ptr %607, align 4, !tbaa !5
  %2922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2913, ptr noundef nonnull %.str.5.sink1384, i32 noundef %2914, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 235, ptr noundef %2916, ptr noundef %2918, ptr noundef %2920, i32 noundef %2921) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2923:                                             ; preds = %2898
  %2924 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2925 = trunc nuw i8 %2924 to i1
  br i1 %2925, label %2926, label %2937

2926:                                             ; preds = %2923
  %2927 = load ptr, ptr @stdout, align 8, !tbaa !9
  %2928 = call i32 @fileno(ptr noundef %2927) #10
  %2929 = call i32 @isatty(i32 noundef %2928) #10
  %.not319 = icmp eq i32 %2929, 0
  br i1 %.not319, label %2937, label %2930

2930:                                             ; preds = %2926
  %2931 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not321 = icmp eq i32 %2931, 0
  %2932 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not321, label %2935, label %2933

2933:                                             ; preds = %2930
  %2934 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2932, ptr noundef nonnull @.str.10, i32 noundef %2931) #10
  br label %2944

2935:                                             ; preds = %2930
  %2936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2932, ptr noundef nonnull @.str.11) #10
  br label %2944

2937:                                             ; preds = %2926, %2923
  %2938 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not320 = icmp eq i32 %2938, 0
  %2939 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not320, label %2942, label %2940

2940:                                             ; preds = %2937
  %2941 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2939, ptr noundef nonnull @.str.12, i32 noundef %2938) #10
  br label %2944

2942:                                             ; preds = %2937
  %2943 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2939, ptr noundef nonnull @.str.13) #10
  br label %2944

2944:                                             ; preds = %2935, %2933, %2942, %2940, %165, %163, %172, %170
  ret i32 0
}

; Function Attrs: nofree nounwind
declare noundef i32 @fprintf(ptr nocapture noundef, ptr nocapture noundef readonly, ...) local_unnamed_addr #1

; Function Attrs: nofree nounwind
declare noundef i32 @fflush(ptr nocapture noundef) local_unnamed_addr #1

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) local_unnamed_addr #2

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

; Function Attrs: mustprogress nofree nosync nounwind willreturn memory(none)
declare ptr @__errno_location() local_unnamed_addr #4

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #2

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

; Function Attrs: nofree nounwind
declare noundef i32 @fileno(ptr nocapture noundef) local_unnamed_addr #1

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

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

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

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

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

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

declare i32 @s2n_enable_atexit() local_unnamed_addr #2

declare i32 @s2n_init() local_unnamed_addr #2

declare zeroext i1 @s2n_is_tls13_fully_supported(...) local_unnamed_addr #2

declare i32 @s2n_cleanup() local_unnamed_addr #2

declare ptr @s2n_config_new() local_unnamed_addr #2

declare ptr @s2n_connection_new(i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_config(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_enable_quic(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 void @s2n_debug_info_reset() local_unnamed_addr #2

declare i32 @s2n_error_get_alert(i32 noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #8

declare i32 @s2n_stuffer_growable_alloc(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_quic_transport_parameters(ptr noundef, ptr noundef, i16 noundef zeroext) local_unnamed_addr #2

declare i32 @s2n_stuffer_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_write_bytes(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

; Function Attrs: nofree nounwind willreturn memory(argmem: read)
declare i32 @bcmp(ptr nocapture, ptr nocapture, i64) local_unnamed_addr #9

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 = { nofree nounwind willreturn memory(argmem: read) }
attributes #10 = { nounwind }
attributes #11 = { nounwind willreturn memory(none) }
attributes #12 = { cold nounwind }
attributes #13 = { noreturn nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !10, i64 24}
!16 = !{!"", !17, i64 0, !6, i64 2, !17, i64 4, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32}
!17 = !{!"short", !7, i64 0}
!18 = !{!16, !10, i64 32}
!19 = !{!7, !7, i64 0}
!20 = !{!16, !10, i64 8}
!21 = !{!22, !10, i64 0}
!22 = !{!"s2n_stuffer", !23, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!23 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!24 = !{!22, !6, i64 28}
!25 = !{!22, !6, i64 24}
!26 = !{!16, !10, i64 16}
!27 = !{!28, !10, i64 2872}
!28 = !{!"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, !29, i64 160, !30, i64 168, !30, 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, !31, i64 240, !10, i64 632, !10, i64 640, !32, i64 648, !37, i64 1144, !40, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !22, i64 1776, !22, i64 1816, !22, i64 1856, !22, i64 1896, !6, i64 1936, !30, i64 1944, !7, i64 1952, !22, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !42, i64 2004, !42, i64 2008, !43, i64 2016, !17, i64 2208, !6, i64 2212, !17, i64 2216, !30, i64 2224, !7, i64 2232, !30, i64 2240, !30, i64 2248, !30, i64 2256, !42, i64 2264, !42, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !23, i64 2792, !6, i64 2816, !23, i64 2824, !23, i64 2848, !23, i64 2872, !45, i64 2896, !47, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !23, i64 3784, !6, i64 3808, !49, i64 3816, !7, i64 3848, !22, i64 3992, !23, i64 4032, !23, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !17, i64 4084, !17, i64 4086, !6, i64 4088, !6, i64 4092, !23, i64 4096, !6, i64 4120, !50, i64 4128, !42, i64 4176, !7, i64 4180, !7, i64 4181}
!29 = !{!"s2n_timer", !30, i64 0}
!30 = !{!"long", !7, i64 0}
!31 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!32 = !{!"s2n_kex_parameters", !33, i64 0, !34, i64 8, !7, i64 24, !34, i64 56, !35, i64 72, !35, i64 184, !7, i64 296, !36, i64 360, !23, i64 448, !23, i64 472}
!33 = !{!"s2n_dh_params", !10, i64 0}
!34 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!35 = !{!"s2n_kem_group_params", !10, i64 0, !36, i64 8, !34, i64 96}
!36 = !{!"s2n_kem_params", !10, i64 0, !23, i64 8, !23, i64 32, !23, i64 56, !12, i64 80}
!37 = !{!"s2n_handshake_parameters", !38, i64 0, !38, i64 48, !23, i64 96, !6, i64 120, !39, 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}
!38 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!39 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!40 = !{!"s2n_psk_parameters", !6, i64 0, !41, i64 8, !17, i64 40, !17, i64 42, !10, i64 48, !6, i64 56}
!41 = !{!"s2n_array", !23, i64 0, !6, i64 24, !6, i64 28}
!42 = !{!"", !6, i64 0}
!43 = !{!"s2n_handshake", !22, 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, !44, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!44 = !{!"s2n_offered_early_data", !10, i64 0}
!45 = !{!"s2n_client_hello", !23, i64 0, !46, i64 24, !23, i64 728, !23, i64 752, !23, 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}
!46 = !{!"", !7, i64 0, !23, i64 672, !17, i64 696}
!47 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !17, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !48, i64 48, !12, i64 52}
!48 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!49 = !{!"s2n_ticket_fields", !23, i64 0, !6, i64 24}
!50 = !{!"s2n_post_handshake", !22, i64 0, !7, i64 40}
!51 = !{!28, !6, i64 2880}


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass,TailCallElimPass