; LLVM IR from aws/s2n-tls :: tests/unit (s2n_server_max_frag_len_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 [97 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 [56 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [68 x i8], align 1
@s2n_server_max_fragment_length_extension = external constant %struct.s2n_extension_type, align 8
@.str.12 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [99 x i8], align 1
@mfl_code_to_length = external global [5 x i16], align 2
@.str.31 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [25 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local i32 @main(i32 noundef %0, ptr noundef %1) #0 {
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca ptr, align 8
  %11 = alloca i32, align 4
  %12 = alloca ptr, align 8
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca ptr, align 8
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca ptr, align 8
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca %struct.s2n_stuffer, align 8
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i8, align 1
  %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 ptr, align 8
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca ptr, align 8
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca %struct.s2n_stuffer, 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 ptr, align 8
  %51 = alloca i32, align 4
  %52 = alloca i32, align 4
  %53 = alloca ptr, align 8
  %54 = alloca i32, align 4
  %55 = alloca i32, align 4
  %56 = alloca %struct.s2n_stuffer, align 8
  %57 = alloca i32, align 4
  %58 = alloca i32, align 4
  %59 = alloca i32, align 4
  %60 = alloca i32, align 4
  %61 = alloca i32, align 4
  %62 = alloca i32, align 4
  %63 = alloca i32, align 4
  %64 = alloca i32, align 4
  %65 = alloca i32, align 4
  %66 = alloca i32, align 4
  %67 = alloca ptr, align 8
  %68 = alloca i32, align 4
  %69 = alloca i32, align 4
  %70 = alloca ptr, align 8
  %71 = alloca i32, align 4
  %72 = alloca i32, align 4
  %73 = alloca %struct.s2n_stuffer, align 8
  %74 = alloca i32, align 4
  %75 = alloca i32, align 4
  %76 = alloca i32, align 4
  %77 = alloca i32, align 4
  %78 = alloca i32, align 4
  %79 = alloca i32, align 4
  %80 = alloca i32, align 4
  %81 = alloca i32, align 4
  %82 = alloca 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 i32, align 4
  %91 = 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 %92

92:                                               ; preds = %2
  br label %93

93:                                               ; preds = %92
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %94 = load ptr, ptr @stdout, align 8, !tbaa !9
  %95 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %94, ptr noundef @.str, ptr noundef @.str.1) #8
  %96 = load ptr, ptr @stdout, align 8, !tbaa !9
  %97 = call i32 @fflush(ptr noundef %96)
  br label %98

98:                                               ; preds = %93
  %99 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %100 = icmp eq i32 %99, -1
  br i1 %100, label %101, label %152

101:                                              ; preds = %98
  br label %102

102:                                              ; preds = %101
  br label %103

103:                                              ; preds = %102
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #8
  %104 = call ptr @__errno_location() #9
  %105 = load i32, ptr %104, align 4, !tbaa !5
  store i32 %105, ptr %6, align 4, !tbaa !5
  %106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %107 = call i32 @s2n_print_stacktrace(ptr noundef %106)
  %108 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %109 = trunc i8 %108 to i1
  br i1 %109, label %110, label %132

110:                                              ; preds = %103
  %111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %112 = call i32 @fileno(ptr noundef %111) #8
  %113 = call i32 @isatty(i32 noundef %112) #8
  %114 = icmp ne i32 %113, 0
  br i1 %114, label %115, label %132

115:                                              ; preds = %110
  %116 = load i32, ptr %6, align 4, !tbaa !5
  %117 = call ptr @__errno_location() #9
  store i32 %116, ptr %117, align 4, !tbaa !5
  %118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %119 = load i32, ptr @test_count, align 4, !tbaa !5
  %120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %121 = load i32, ptr %120, align 4, !tbaa !5
  %122 = call ptr @s2n_strerror(i32 noundef %121, ptr noundef @.str.4)
  %123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %124 = load i32, ptr %123, align 4, !tbaa !5
  %125 = call ptr @s2n_strerror_debug(i32 noundef %124, ptr noundef @.str.4)
  %126 = call ptr @__errno_location() #9
  %127 = load i32, ptr %126, align 4, !tbaa !5
  %128 = call ptr @strerror(i32 noundef %127) #8
  %129 = call ptr @__errno_location() #9
  %130 = load i32, ptr %129, align 4, !tbaa !5
  %131 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %118, ptr noundef @.str.2, i32 noundef %119, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 22, ptr noundef %122, ptr noundef %125, ptr noundef %128, i32 noundef %130) #8
  br label %149

132:                                              ; preds = %110, %103
  %133 = load i32, ptr %6, align 4, !tbaa !5
  %134 = call ptr @__errno_location() #9
  store i32 %133, ptr %134, align 4, !tbaa !5
  %135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %136 = load i32, ptr @test_count, align 4, !tbaa !5
  %137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %138 = load i32, ptr %137, align 4, !tbaa !5
  %139 = call ptr @s2n_strerror(i32 noundef %138, ptr noundef @.str.4)
  %140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %141 = load i32, ptr %140, align 4, !tbaa !5
  %142 = call ptr @s2n_strerror_debug(i32 noundef %141, ptr noundef @.str.4)
  %143 = call ptr @__errno_location() #9
  %144 = load i32, ptr %143, align 4, !tbaa !5
  %145 = call ptr @strerror(i32 noundef %144) #8
  %146 = call ptr @__errno_location() #9
  %147 = load i32, ptr %146, align 4, !tbaa !5
  %148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %135, ptr noundef @.str.5, i32 noundef %136, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 22, ptr noundef %139, ptr noundef %142, ptr noundef %145, i32 noundef %147) #8
  br label %149

149:                                              ; preds = %132, %115
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #8
  br label %150

150:                                              ; preds = %149
  call void @exit(i32 noundef 1) #10
  unreachable

151:                                              ; No predecessors!
  br label %152

152:                                              ; preds = %151, %98
  br label %153

153:                                              ; preds = %152
  br label %154

154:                                              ; preds = %153
  %155 = load i32, ptr @test_count, align 4, !tbaa !5
  %156 = add nsw i32 %155, 1
  store i32 %156, ptr @test_count, align 4, !tbaa !5
  %157 = call i32 @s2n_enable_atexit()
  %158 = icmp eq i32 %157, -1
  br i1 %158, label %159, label %210

159:                                              ; preds = %154
  br label %160

160:                                              ; preds = %159
  br label %161

161:                                              ; preds = %160
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #8
  %162 = call ptr @__errno_location() #9
  %163 = load i32, ptr %162, align 4, !tbaa !5
  store i32 %163, ptr %7, align 4, !tbaa !5
  %164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %165 = call i32 @s2n_print_stacktrace(ptr noundef %164)
  %166 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %167 = trunc i8 %166 to i1
  br i1 %167, label %168, label %190

168:                                              ; preds = %161
  %169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %170 = call i32 @fileno(ptr noundef %169) #8
  %171 = call i32 @isatty(i32 noundef %170) #8
  %172 = icmp ne i32 %171, 0
  br i1 %172, label %173, label %190

173:                                              ; preds = %168
  %174 = load i32, ptr %7, align 4, !tbaa !5
  %175 = call ptr @__errno_location() #9
  store i32 %174, ptr %175, align 4, !tbaa !5
  %176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %177 = load i32, ptr @test_count, align 4, !tbaa !5
  %178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %179 = load i32, ptr %178, align 4, !tbaa !5
  %180 = call ptr @s2n_strerror(i32 noundef %179, ptr noundef @.str.4)
  %181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %182 = load i32, ptr %181, align 4, !tbaa !5
  %183 = call ptr @s2n_strerror_debug(i32 noundef %182, ptr noundef @.str.4)
  %184 = call ptr @__errno_location() #9
  %185 = load i32, ptr %184, align 4, !tbaa !5
  %186 = call ptr @strerror(i32 noundef %185) #8
  %187 = call ptr @__errno_location() #9
  %188 = load i32, ptr %187, align 4, !tbaa !5
  %189 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %176, ptr noundef @.str.2, i32 noundef %177, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 22, ptr noundef %180, ptr noundef %183, ptr noundef %186, i32 noundef %188) #8
  br label %207

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

207:                                              ; preds = %190, %173
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #8
  br label %208

208:                                              ; preds = %207
  call void @exit(i32 noundef 1) #10
  unreachable

209:                                              ; No predecessors!
  br label %210

210:                                              ; preds = %209, %154
  br label %211

211:                                              ; preds = %210
  br label %212

212:                                              ; preds = %211
  br label %213

213:                                              ; preds = %212
  %214 = call i32 @s2n_init()
  %215 = icmp eq i32 %214, -1
  br i1 %215, label %216, label %267

216:                                              ; preds = %213
  br label %217

217:                                              ; preds = %216
  br label %218

218:                                              ; preds = %217
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #8
  %219 = call ptr @__errno_location() #9
  %220 = load i32, ptr %219, align 4, !tbaa !5
  store i32 %220, ptr %8, align 4, !tbaa !5
  %221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %222 = call i32 @s2n_print_stacktrace(ptr noundef %221)
  %223 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %224 = trunc i8 %223 to i1
  br i1 %224, label %225, label %247

225:                                              ; preds = %218
  %226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %227 = call i32 @fileno(ptr noundef %226) #8
  %228 = call i32 @isatty(i32 noundef %227) #8
  %229 = icmp ne i32 %228, 0
  br i1 %229, label %230, label %247

230:                                              ; preds = %225
  %231 = load i32, ptr %8, align 4, !tbaa !5
  %232 = call ptr @__errno_location() #9
  store i32 %231, ptr %232, align 4, !tbaa !5
  %233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %234 = load i32, ptr @test_count, align 4, !tbaa !5
  %235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %236 = load i32, ptr %235, align 4, !tbaa !5
  %237 = call ptr @s2n_strerror(i32 noundef %236, ptr noundef @.str.4)
  %238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %239 = load i32, ptr %238, align 4, !tbaa !5
  %240 = call ptr @s2n_strerror_debug(i32 noundef %239, ptr noundef @.str.4)
  %241 = call ptr @__errno_location() #9
  %242 = load i32, ptr %241, align 4, !tbaa !5
  %243 = call ptr @strerror(i32 noundef %242) #8
  %244 = call ptr @__errno_location() #9
  %245 = load i32, ptr %244, align 4, !tbaa !5
  %246 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %233, ptr noundef @.str.2, i32 noundef %234, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 22, ptr noundef %237, ptr noundef %240, ptr noundef %243, i32 noundef %245) #8
  br label %264

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

264:                                              ; preds = %247, %230
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #8
  br label %265

265:                                              ; preds = %264
  call void @exit(i32 noundef 1) #10
  unreachable

266:                                              ; No predecessors!
  br label %267

267:                                              ; preds = %266, %213
  br label %268

268:                                              ; preds = %267
  br label %269

269:                                              ; preds = %268
  br label %270

270:                                              ; preds = %269
  %271 = load i32, ptr @test_count, align 4, !tbaa !5
  %272 = add nsw i32 %271, 1
  store i32 %272, ptr @test_count, align 4, !tbaa !5
  %273 = call i32 (...) @s2n_disable_tls13_in_test()
  %274 = icmp eq i32 %273, -1
  br i1 %274, label %275, label %326

275:                                              ; preds = %270
  br label %276

276:                                              ; preds = %275
  br label %277

277:                                              ; preds = %276
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #8
  %278 = call ptr @__errno_location() #9
  %279 = load i32, ptr %278, align 4, !tbaa !5
  store i32 %279, ptr %9, align 4, !tbaa !5
  %280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %281 = call i32 @s2n_print_stacktrace(ptr noundef %280)
  %282 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %283 = trunc i8 %282 to i1
  br i1 %283, label %284, label %306

284:                                              ; preds = %277
  %285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %286 = call i32 @fileno(ptr noundef %285) #8
  %287 = call i32 @isatty(i32 noundef %286) #8
  %288 = icmp ne i32 %287, 0
  br i1 %288, label %289, label %306

289:                                              ; preds = %284
  %290 = load i32, ptr %9, align 4, !tbaa !5
  %291 = call ptr @__errno_location() #9
  store i32 %290, ptr %291, align 4, !tbaa !5
  %292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %293 = load i32, ptr @test_count, align 4, !tbaa !5
  %294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %295 = load i32, ptr %294, align 4, !tbaa !5
  %296 = call ptr @s2n_strerror(i32 noundef %295, ptr noundef @.str.4)
  %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_debug(i32 noundef %298, ptr noundef @.str.4)
  %300 = call ptr @__errno_location() #9
  %301 = load i32, ptr %300, align 4, !tbaa !5
  %302 = call ptr @strerror(i32 noundef %301) #8
  %303 = call ptr @__errno_location() #9
  %304 = load i32, ptr %303, align 4, !tbaa !5
  %305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %292, ptr noundef @.str.2, i32 noundef %293, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 23, ptr noundef %296, ptr noundef %299, ptr noundef %302, i32 noundef %304) #8
  br label %323

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

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

324:                                              ; preds = %323
  call void @exit(i32 noundef 1) #10
  unreachable

325:                                              ; No predecessors!
  br label %326

326:                                              ; preds = %325, %270
  br label %327

327:                                              ; preds = %326
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #8
  store ptr null, ptr %10, align 8, !tbaa !9
  br label %328

328:                                              ; preds = %327
  %329 = load i32, ptr @test_count, align 4, !tbaa !5
  %330 = add nsw i32 %329, 1
  store i32 %330, ptr @test_count, align 4, !tbaa !5
  %331 = call ptr @s2n_config_new()
  store ptr %331, ptr %10, align 8, !tbaa !9
  %332 = icmp eq ptr %331, null
  br i1 %332, label %333, label %386

333:                                              ; preds = %328
  br label %334

334:                                              ; preds = %333
  br label %335

335:                                              ; preds = %334
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #8
  %336 = call ptr @__errno_location() #9
  %337 = load i32, ptr %336, align 4, !tbaa !5
  store i32 %337, ptr %11, align 4, !tbaa !5
  %338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %339 = call i32 @s2n_print_stacktrace(ptr noundef %338)
  %340 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %341 = trunc i8 %340 to i1
  br i1 %341, label %342, label %364

342:                                              ; preds = %335
  %343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %344 = call i32 @fileno(ptr noundef %343) #8
  %345 = call i32 @isatty(i32 noundef %344) #8
  %346 = icmp ne i32 %345, 0
  br i1 %346, label %347, label %364

347:                                              ; preds = %342
  %348 = load i32, ptr %11, align 4, !tbaa !5
  %349 = call ptr @__errno_location() #9
  store i32 %348, ptr %349, align 4, !tbaa !5
  %350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %351 = load i32, ptr @test_count, align 4, !tbaa !5
  %352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %353 = load i32, ptr %352, align 4, !tbaa !5
  %354 = call ptr @s2n_strerror(i32 noundef %353, ptr noundef @.str.4)
  %355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %356 = load i32, ptr %355, align 4, !tbaa !5
  %357 = call ptr @s2n_strerror_debug(i32 noundef %356, ptr noundef @.str.4)
  %358 = call ptr @__errno_location() #9
  %359 = load i32, ptr %358, align 4, !tbaa !5
  %360 = call ptr @strerror(i32 noundef %359) #8
  %361 = call ptr @__errno_location() #9
  %362 = load i32, ptr %361, align 4, !tbaa !5
  %363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %350, ptr noundef @.str.2, i32 noundef %351, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 28, ptr noundef %354, ptr noundef %357, ptr noundef %360, i32 noundef %362) #8
  br label %381

364:                                              ; preds = %342, %335
  %365 = load i32, ptr %11, align 4, !tbaa !5
  %366 = call ptr @__errno_location() #9
  store i32 %365, ptr %366, align 4, !tbaa !5
  %367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %368 = load i32, ptr @test_count, align 4, !tbaa !5
  %369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %370 = load i32, ptr %369, align 4, !tbaa !5
  %371 = call ptr @s2n_strerror(i32 noundef %370, ptr noundef @.str.4)
  %372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %373 = load i32, ptr %372, align 4, !tbaa !5
  %374 = call ptr @s2n_strerror_debug(i32 noundef %373, ptr noundef @.str.4)
  %375 = call ptr @__errno_location() #9
  %376 = load i32, ptr %375, align 4, !tbaa !5
  %377 = call ptr @strerror(i32 noundef %376) #8
  %378 = call ptr @__errno_location() #9
  %379 = load i32, ptr %378, align 4, !tbaa !5
  %380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %367, ptr noundef @.str.5, i32 noundef %368, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 28, ptr noundef %371, ptr noundef %374, ptr noundef %377, i32 noundef %379) #8
  br label %381

381:                                              ; preds = %364, %347
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #8
  br label %382

382:                                              ; preds = %381
  br label %383

383:                                              ; preds = %382
  call void @exit(i32 noundef 1) #10
  unreachable

384:                                              ; No predecessors!
  br label %385

385:                                              ; preds = %384
  br label %386

386:                                              ; preds = %385, %328
  br label %387

387:                                              ; preds = %386
  br label %388

388:                                              ; preds = %387
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #8
  store ptr null, ptr %12, align 8, !tbaa !9
  br label %389

389:                                              ; preds = %388
  %390 = load i32, ptr @test_count, align 4, !tbaa !5
  %391 = add nsw i32 %390, 1
  store i32 %391, ptr @test_count, align 4, !tbaa !5
  %392 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %392, ptr %12, align 8, !tbaa !9
  %393 = icmp eq ptr %392, null
  br i1 %393, label %394, label %447

394:                                              ; preds = %389
  br label %395

395:                                              ; preds = %394
  br label %396

396:                                              ; preds = %395
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #8
  %397 = call ptr @__errno_location() #9
  %398 = load i32, ptr %397, align 4, !tbaa !5
  store i32 %398, ptr %13, align 4, !tbaa !5
  %399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %400 = call i32 @s2n_print_stacktrace(ptr noundef %399)
  %401 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %402 = trunc i8 %401 to i1
  br i1 %402, label %403, label %425

403:                                              ; preds = %396
  %404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %405 = call i32 @fileno(ptr noundef %404) #8
  %406 = call i32 @isatty(i32 noundef %405) #8
  %407 = icmp ne i32 %406, 0
  br i1 %407, label %408, label %425

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

425:                                              ; preds = %403, %396
  %426 = load i32, ptr %13, align 4, !tbaa !5
  %427 = call ptr @__errno_location() #9
  store i32 %426, ptr %427, align 4, !tbaa !5
  %428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %429 = load i32, ptr @test_count, align 4, !tbaa !5
  %430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %431 = load i32, ptr %430, align 4, !tbaa !5
  %432 = call ptr @s2n_strerror(i32 noundef %431, ptr noundef @.str.4)
  %433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %434 = load i32, ptr %433, align 4, !tbaa !5
  %435 = call ptr @s2n_strerror_debug(i32 noundef %434, ptr noundef @.str.4)
  %436 = call ptr @__errno_location() #9
  %437 = load i32, ptr %436, align 4, !tbaa !5
  %438 = call ptr @strerror(i32 noundef %437) #8
  %439 = call ptr @__errno_location() #9
  %440 = load i32, ptr %439, align 4, !tbaa !5
  %441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %428, ptr noundef @.str.5, i32 noundef %429, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 31, ptr noundef %432, ptr noundef %435, ptr noundef %438, i32 noundef %440) #8
  br label %442

442:                                              ; preds = %425, %408
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #8
  br label %443

443:                                              ; preds = %442
  br label %444

444:                                              ; preds = %443
  call void @exit(i32 noundef 1) #10
  unreachable

445:                                              ; No predecessors!
  br label %446

446:                                              ; preds = %445
  br label %447

447:                                              ; preds = %446, %389
  br label %448

448:                                              ; preds = %447
  br label %449

449:                                              ; preds = %448
  br label %450

450:                                              ; preds = %449
  %451 = load i32, ptr @test_count, align 4, !tbaa !5
  %452 = add nsw i32 %451, 1
  store i32 %452, ptr @test_count, align 4, !tbaa !5
  %453 = load ptr, ptr %12, align 8, !tbaa !9
  %454 = load ptr, ptr %10, align 8, !tbaa !9
  %455 = call i32 @s2n_connection_set_config(ptr noundef %453, ptr noundef %454)
  %456 = icmp eq i32 %455, -1
  br i1 %456, label %457, label %510

457:                                              ; preds = %450
  br label %458

458:                                              ; preds = %457
  br label %459

459:                                              ; preds = %458
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #8
  %460 = call ptr @__errno_location() #9
  %461 = load i32, ptr %460, align 4, !tbaa !5
  store i32 %461, ptr %14, align 4, !tbaa !5
  %462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %463 = call i32 @s2n_print_stacktrace(ptr noundef %462)
  %464 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %465 = trunc i8 %464 to i1
  br i1 %465, label %466, label %488

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

471:                                              ; preds = %466
  %472 = load i32, ptr %14, align 4, !tbaa !5
  %473 = call ptr @__errno_location() #9
  store i32 %472, ptr %473, align 4, !tbaa !5
  %474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %475 = load i32, ptr @test_count, align 4, !tbaa !5
  %476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %477 = load i32, ptr %476, align 4, !tbaa !5
  %478 = call ptr @s2n_strerror(i32 noundef %477, ptr noundef @.str.4)
  %479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %480 = load i32, ptr %479, align 4, !tbaa !5
  %481 = call ptr @s2n_strerror_debug(i32 noundef %480, ptr noundef @.str.4)
  %482 = call ptr @__errno_location() #9
  %483 = load i32, ptr %482, align 4, !tbaa !5
  %484 = call ptr @strerror(i32 noundef %483) #8
  %485 = call ptr @__errno_location() #9
  %486 = load i32, ptr %485, align 4, !tbaa !5
  %487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %474, ptr noundef @.str.2, i32 noundef %475, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 32, ptr noundef %478, ptr noundef %481, ptr noundef %484, i32 noundef %486) #8
  br label %505

488:                                              ; preds = %466, %459
  %489 = load i32, ptr %14, align 4, !tbaa !5
  %490 = call ptr @__errno_location() #9
  store i32 %489, ptr %490, align 4, !tbaa !5
  %491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %492 = load i32, ptr @test_count, align 4, !tbaa !5
  %493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %494 = load i32, ptr %493, align 4, !tbaa !5
  %495 = call ptr @s2n_strerror(i32 noundef %494, ptr noundef @.str.4)
  %496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %497 = load i32, ptr %496, align 4, !tbaa !5
  %498 = call ptr @s2n_strerror_debug(i32 noundef %497, ptr noundef @.str.4)
  %499 = call ptr @__errno_location() #9
  %500 = load i32, ptr %499, align 4, !tbaa !5
  %501 = call ptr @strerror(i32 noundef %500) #8
  %502 = call ptr @__errno_location() #9
  %503 = load i32, ptr %502, align 4, !tbaa !5
  %504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %491, ptr noundef @.str.5, i32 noundef %492, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 32, ptr noundef %495, ptr noundef %498, ptr noundef %501, i32 noundef %503) #8
  br label %505

505:                                              ; preds = %488, %471
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #8
  br label %506

506:                                              ; preds = %505
  br label %507

507:                                              ; preds = %506
  call void @exit(i32 noundef 1) #10
  unreachable

508:                                              ; No predecessors!
  br label %509

509:                                              ; preds = %508
  br label %510

510:                                              ; preds = %509, %450
  br label %511

511:                                              ; preds = %510
  br label %512

512:                                              ; preds = %511
  br label %513

513:                                              ; preds = %512
  %514 = load i32, ptr @test_count, align 4, !tbaa !5
  %515 = add nsw i32 %514, 1
  store i32 %515, ptr @test_count, align 4, !tbaa !5
  %516 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_server_max_fragment_length_extension, i32 0, i32 5), align 8, !tbaa !15
  %517 = load ptr, ptr %12, align 8, !tbaa !9
  %518 = call zeroext i1 %516(ptr noundef %517)
  br i1 %518, label %519, label %572

519:                                              ; preds = %513
  br label %520

520:                                              ; preds = %519
  br label %521

521:                                              ; preds = %520
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #8
  %522 = call ptr @__errno_location() #9
  %523 = load i32, ptr %522, align 4, !tbaa !5
  store i32 %523, ptr %15, align 4, !tbaa !5
  %524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %525 = call i32 @s2n_print_stacktrace(ptr noundef %524)
  %526 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %527 = trunc i8 %526 to i1
  br i1 %527, label %528, label %550

528:                                              ; preds = %521
  %529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %530 = call i32 @fileno(ptr noundef %529) #8
  %531 = call i32 @isatty(i32 noundef %530) #8
  %532 = icmp ne i32 %531, 0
  br i1 %532, label %533, label %550

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

550:                                              ; preds = %528, %521
  %551 = load i32, ptr %15, align 4, !tbaa !5
  %552 = call ptr @__errno_location() #9
  store i32 %551, ptr %552, align 4, !tbaa !5
  %553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %554 = load i32, ptr @test_count, align 4, !tbaa !5
  %555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %556 = load i32, ptr %555, align 4, !tbaa !5
  %557 = call ptr @s2n_strerror(i32 noundef %556, ptr noundef @.str.4)
  %558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %559 = load i32, ptr %558, align 4, !tbaa !5
  %560 = call ptr @s2n_strerror_debug(i32 noundef %559, ptr noundef @.str.4)
  %561 = call ptr @__errno_location() #9
  %562 = load i32, ptr %561, align 4, !tbaa !5
  %563 = call ptr @strerror(i32 noundef %562) #8
  %564 = call ptr @__errno_location() #9
  %565 = load i32, ptr %564, align 4, !tbaa !5
  %566 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %553, ptr noundef @.str.5, i32 noundef %554, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 35, ptr noundef %557, ptr noundef %560, ptr noundef %563, i32 noundef %565) #8
  br label %567

567:                                              ; preds = %550, %533
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #8
  br label %568

568:                                              ; preds = %567
  br label %569

569:                                              ; preds = %568
  call void @exit(i32 noundef 1) #10
  unreachable

570:                                              ; No predecessors!
  br label %571

571:                                              ; preds = %570
  br label %572

572:                                              ; preds = %571, %513
  br label %573

573:                                              ; preds = %572
  br label %574

574:                                              ; preds = %573
  %575 = load ptr, ptr %12, align 8, !tbaa !9
  %576 = getelementptr inbounds %struct.s2n_connection, ptr %575, i32 0, i32 57
  store i8 1, ptr %576, align 8, !tbaa !18
  br label %577

577:                                              ; preds = %574
  %578 = load i32, ptr @test_count, align 4, !tbaa !5
  %579 = add nsw i32 %578, 1
  store i32 %579, ptr @test_count, align 4, !tbaa !5
  %580 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_server_max_fragment_length_extension, i32 0, i32 5), align 8, !tbaa !15
  %581 = load ptr, ptr %12, align 8, !tbaa !9
  %582 = call zeroext i1 %580(ptr noundef %581)
  br i1 %582, label %636, label %583

583:                                              ; preds = %577
  br label %584

584:                                              ; preds = %583
  br label %585

585:                                              ; preds = %584
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #8
  %586 = call ptr @__errno_location() #9
  %587 = load i32, ptr %586, align 4, !tbaa !5
  store i32 %587, ptr %16, align 4, !tbaa !5
  %588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %589 = call i32 @s2n_print_stacktrace(ptr noundef %588)
  %590 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %591 = trunc i8 %590 to i1
  br i1 %591, label %592, label %614

592:                                              ; preds = %585
  %593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %594 = call i32 @fileno(ptr noundef %593) #8
  %595 = call i32 @isatty(i32 noundef %594) #8
  %596 = icmp ne i32 %595, 0
  br i1 %596, label %597, label %614

597:                                              ; preds = %592
  %598 = load i32, ptr %16, align 4, !tbaa !5
  %599 = call ptr @__errno_location() #9
  store i32 %598, ptr %599, align 4, !tbaa !5
  %600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %601 = load i32, ptr @test_count, align 4, !tbaa !5
  %602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %603 = load i32, ptr %602, align 4, !tbaa !5
  %604 = call ptr @s2n_strerror(i32 noundef %603, ptr noundef @.str.4)
  %605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %606 = load i32, ptr %605, align 4, !tbaa !5
  %607 = call ptr @s2n_strerror_debug(i32 noundef %606, ptr noundef @.str.4)
  %608 = call ptr @__errno_location() #9
  %609 = load i32, ptr %608, align 4, !tbaa !5
  %610 = call ptr @strerror(i32 noundef %609) #8
  %611 = call ptr @__errno_location() #9
  %612 = load i32, ptr %611, align 4, !tbaa !5
  %613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %600, ptr noundef @.str.2, i32 noundef %601, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 39, ptr noundef %604, ptr noundef %607, ptr noundef %610, i32 noundef %612) #8
  br label %631

614:                                              ; preds = %592, %585
  %615 = load i32, ptr %16, align 4, !tbaa !5
  %616 = call ptr @__errno_location() #9
  store i32 %615, ptr %616, align 4, !tbaa !5
  %617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %618 = load i32, ptr @test_count, align 4, !tbaa !5
  %619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %620 = load i32, ptr %619, align 4, !tbaa !5
  %621 = call ptr @s2n_strerror(i32 noundef %620, ptr noundef @.str.4)
  %622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %623 = load i32, ptr %622, align 4, !tbaa !5
  %624 = call ptr @s2n_strerror_debug(i32 noundef %623, ptr noundef @.str.4)
  %625 = call ptr @__errno_location() #9
  %626 = load i32, ptr %625, align 4, !tbaa !5
  %627 = call ptr @strerror(i32 noundef %626) #8
  %628 = call ptr @__errno_location() #9
  %629 = load i32, ptr %628, align 4, !tbaa !5
  %630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %617, ptr noundef @.str.5, i32 noundef %618, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 39, ptr noundef %621, ptr noundef %624, ptr noundef %627, i32 noundef %629) #8
  br label %631

631:                                              ; preds = %614, %597
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #8
  br label %632

632:                                              ; preds = %631
  br label %633

633:                                              ; preds = %632
  call void @exit(i32 noundef 1) #10
  unreachable

634:                                              ; No predecessors!
  br label %635

635:                                              ; preds = %634
  br label %636

636:                                              ; preds = %635, %577
  br label %637

637:                                              ; preds = %636
  br label %638

638:                                              ; preds = %637
  br label %639

639:                                              ; preds = %638
  %640 = load i32, ptr @test_count, align 4, !tbaa !5
  %641 = add nsw i32 %640, 1
  store i32 %641, ptr @test_count, align 4, !tbaa !5
  %642 = load ptr, ptr %12, align 8, !tbaa !9
  %643 = call i32 @s2n_connection_free(ptr noundef %642)
  %644 = icmp eq i32 %643, -1
  br i1 %644, label %645, label %698

645:                                              ; preds = %639
  br label %646

646:                                              ; preds = %645
  br label %647

647:                                              ; preds = %646
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #8
  %648 = call ptr @__errno_location() #9
  %649 = load i32, ptr %648, align 4, !tbaa !5
  store i32 %649, ptr %17, align 4, !tbaa !5
  %650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %651 = call i32 @s2n_print_stacktrace(ptr noundef %650)
  %652 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %653 = trunc i8 %652 to i1
  br i1 %653, label %654, label %676

654:                                              ; preds = %647
  %655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %656 = call i32 @fileno(ptr noundef %655) #8
  %657 = call i32 @isatty(i32 noundef %656) #8
  %658 = icmp ne i32 %657, 0
  br i1 %658, label %659, label %676

659:                                              ; preds = %654
  %660 = load i32, ptr %17, align 4, !tbaa !5
  %661 = call ptr @__errno_location() #9
  store i32 %660, ptr %661, align 4, !tbaa !5
  %662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %663 = load i32, ptr @test_count, align 4, !tbaa !5
  %664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %665 = load i32, ptr %664, align 4, !tbaa !5
  %666 = call ptr @s2n_strerror(i32 noundef %665, ptr noundef @.str.4)
  %667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %668 = load i32, ptr %667, align 4, !tbaa !5
  %669 = call ptr @s2n_strerror_debug(i32 noundef %668, ptr noundef @.str.4)
  %670 = call ptr @__errno_location() #9
  %671 = load i32, ptr %670, align 4, !tbaa !5
  %672 = call ptr @strerror(i32 noundef %671) #8
  %673 = call ptr @__errno_location() #9
  %674 = load i32, ptr %673, align 4, !tbaa !5
  %675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %662, ptr noundef @.str.2, i32 noundef %663, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 41, ptr noundef %666, ptr noundef %669, ptr noundef %672, i32 noundef %674) #8
  br label %693

676:                                              ; preds = %654, %647
  %677 = load i32, ptr %17, align 4, !tbaa !5
  %678 = call ptr @__errno_location() #9
  store i32 %677, ptr %678, align 4, !tbaa !5
  %679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %680 = load i32, ptr @test_count, align 4, !tbaa !5
  %681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %682 = load i32, ptr %681, align 4, !tbaa !5
  %683 = call ptr @s2n_strerror(i32 noundef %682, ptr noundef @.str.4)
  %684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %685 = load i32, ptr %684, align 4, !tbaa !5
  %686 = call ptr @s2n_strerror_debug(i32 noundef %685, ptr noundef @.str.4)
  %687 = call ptr @__errno_location() #9
  %688 = load i32, ptr %687, align 4, !tbaa !5
  %689 = call ptr @strerror(i32 noundef %688) #8
  %690 = call ptr @__errno_location() #9
  %691 = load i32, ptr %690, align 4, !tbaa !5
  %692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %679, ptr noundef @.str.5, i32 noundef %680, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 41, ptr noundef %683, ptr noundef %686, ptr noundef %689, i32 noundef %691) #8
  br label %693

693:                                              ; preds = %676, %659
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #8
  br label %694

694:                                              ; preds = %693
  br label %695

695:                                              ; preds = %694
  call void @exit(i32 noundef 1) #10
  unreachable

696:                                              ; No predecessors!
  br label %697

697:                                              ; preds = %696
  br label %698

698:                                              ; preds = %697, %639
  br label %699

699:                                              ; preds = %698
  br label %700

700:                                              ; preds = %699
  br label %701

701:                                              ; preds = %700
  %702 = load i32, ptr @test_count, align 4, !tbaa !5
  %703 = add nsw i32 %702, 1
  store i32 %703, ptr @test_count, align 4, !tbaa !5
  %704 = load ptr, ptr %10, align 8, !tbaa !9
  %705 = call i32 @s2n_config_free(ptr noundef %704)
  %706 = icmp eq i32 %705, -1
  br i1 %706, label %707, label %760

707:                                              ; preds = %701
  br label %708

708:                                              ; preds = %707
  br label %709

709:                                              ; preds = %708
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #8
  %710 = call ptr @__errno_location() #9
  %711 = load i32, ptr %710, align 4, !tbaa !5
  store i32 %711, ptr %18, align 4, !tbaa !5
  %712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %713 = call i32 @s2n_print_stacktrace(ptr noundef %712)
  %714 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %715 = trunc i8 %714 to i1
  br i1 %715, label %716, label %738

716:                                              ; preds = %709
  %717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %718 = call i32 @fileno(ptr noundef %717) #8
  %719 = call i32 @isatty(i32 noundef %718) #8
  %720 = icmp ne i32 %719, 0
  br i1 %720, label %721, label %738

721:                                              ; preds = %716
  %722 = load i32, ptr %18, align 4, !tbaa !5
  %723 = call ptr @__errno_location() #9
  store i32 %722, ptr %723, align 4, !tbaa !5
  %724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %725 = load i32, ptr @test_count, align 4, !tbaa !5
  %726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %727 = load i32, ptr %726, align 4, !tbaa !5
  %728 = call ptr @s2n_strerror(i32 noundef %727, ptr noundef @.str.4)
  %729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %730 = load i32, ptr %729, align 4, !tbaa !5
  %731 = call ptr @s2n_strerror_debug(i32 noundef %730, ptr noundef @.str.4)
  %732 = call ptr @__errno_location() #9
  %733 = load i32, ptr %732, align 4, !tbaa !5
  %734 = call ptr @strerror(i32 noundef %733) #8
  %735 = call ptr @__errno_location() #9
  %736 = load i32, ptr %735, align 4, !tbaa !5
  %737 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %724, ptr noundef @.str.2, i32 noundef %725, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 42, ptr noundef %728, ptr noundef %731, ptr noundef %734, i32 noundef %736) #8
  br label %755

738:                                              ; preds = %716, %709
  %739 = load i32, ptr %18, align 4, !tbaa !5
  %740 = call ptr @__errno_location() #9
  store i32 %739, ptr %740, align 4, !tbaa !5
  %741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %742 = load i32, ptr @test_count, align 4, !tbaa !5
  %743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %744 = load i32, ptr %743, align 4, !tbaa !5
  %745 = call ptr @s2n_strerror(i32 noundef %744, ptr noundef @.str.4)
  %746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %747 = load i32, ptr %746, align 4, !tbaa !5
  %748 = call ptr @s2n_strerror_debug(i32 noundef %747, ptr noundef @.str.4)
  %749 = call ptr @__errno_location() #9
  %750 = load i32, ptr %749, align 4, !tbaa !5
  %751 = call ptr @strerror(i32 noundef %750) #8
  %752 = call ptr @__errno_location() #9
  %753 = load i32, ptr %752, align 4, !tbaa !5
  %754 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %741, ptr noundef @.str.5, i32 noundef %742, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 42, ptr noundef %745, ptr noundef %748, ptr noundef %751, i32 noundef %753) #8
  br label %755

755:                                              ; preds = %738, %721
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #8
  br label %756

756:                                              ; preds = %755
  br label %757

757:                                              ; preds = %756
  call void @exit(i32 noundef 1) #10
  unreachable

758:                                              ; No predecessors!
  br label %759

759:                                              ; preds = %758
  br label %760

760:                                              ; preds = %759, %701
  br label %761

761:                                              ; preds = %760
  br label %762

762:                                              ; preds = %761
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #8
  store ptr null, ptr %19, align 8, !tbaa !9
  br label %763

763:                                              ; preds = %762
  %764 = load i32, ptr @test_count, align 4, !tbaa !5
  %765 = add nsw i32 %764, 1
  store i32 %765, ptr @test_count, align 4, !tbaa !5
  %766 = call ptr @s2n_config_new()
  store ptr %766, ptr %19, align 8, !tbaa !9
  %767 = icmp eq ptr %766, null
  br i1 %767, label %768, label %821

768:                                              ; preds = %763
  br label %769

769:                                              ; preds = %768
  br label %770

770:                                              ; preds = %769
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #8
  %771 = call ptr @__errno_location() #9
  %772 = load i32, ptr %771, align 4, !tbaa !5
  store i32 %772, ptr %20, align 4, !tbaa !5
  %773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %774 = call i32 @s2n_print_stacktrace(ptr noundef %773)
  %775 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %776 = trunc i8 %775 to i1
  br i1 %776, label %777, label %799

777:                                              ; preds = %770
  %778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %779 = call i32 @fileno(ptr noundef %778) #8
  %780 = call i32 @isatty(i32 noundef %779) #8
  %781 = icmp ne i32 %780, 0
  br i1 %781, label %782, label %799

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

799:                                              ; preds = %777, %770
  %800 = load i32, ptr %20, align 4, !tbaa !5
  %801 = call ptr @__errno_location() #9
  store i32 %800, ptr %801, align 4, !tbaa !5
  %802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %803 = load i32, ptr @test_count, align 4, !tbaa !5
  %804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %805 = load i32, ptr %804, align 4, !tbaa !5
  %806 = call ptr @s2n_strerror(i32 noundef %805, ptr noundef @.str.4)
  %807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %808 = load i32, ptr %807, align 4, !tbaa !5
  %809 = call ptr @s2n_strerror_debug(i32 noundef %808, ptr noundef @.str.4)
  %810 = call ptr @__errno_location() #9
  %811 = load i32, ptr %810, align 4, !tbaa !5
  %812 = call ptr @strerror(i32 noundef %811) #8
  %813 = call ptr @__errno_location() #9
  %814 = load i32, ptr %813, align 4, !tbaa !5
  %815 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %802, ptr noundef @.str.5, i32 noundef %803, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 48, ptr noundef %806, ptr noundef %809, ptr noundef %812, i32 noundef %814) #8
  br label %816

816:                                              ; preds = %799, %782
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #8
  br label %817

817:                                              ; preds = %816
  br label %818

818:                                              ; preds = %817
  call void @exit(i32 noundef 1) #10
  unreachable

819:                                              ; No predecessors!
  br label %820

820:                                              ; preds = %819
  br label %821

821:                                              ; preds = %820, %763
  br label %822

822:                                              ; preds = %821
  br label %823

823:                                              ; preds = %822
  br label %824

824:                                              ; preds = %823
  %825 = load i32, ptr @test_count, align 4, !tbaa !5
  %826 = add nsw i32 %825, 1
  store i32 %826, ptr @test_count, align 4, !tbaa !5
  %827 = load ptr, ptr %19, align 8, !tbaa !9
  %828 = call i32 @s2n_config_send_max_fragment_length(ptr noundef %827, i32 noundef 1)
  %829 = icmp eq i32 %828, -1
  br i1 %829, label %830, label %883

830:                                              ; preds = %824
  br label %831

831:                                              ; preds = %830
  br label %832

832:                                              ; preds = %831
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #8
  %833 = call ptr @__errno_location() #9
  %834 = load i32, ptr %833, align 4, !tbaa !5
  store i32 %834, ptr %21, align 4, !tbaa !5
  %835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %836 = call i32 @s2n_print_stacktrace(ptr noundef %835)
  %837 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %838 = trunc i8 %837 to i1
  br i1 %838, label %839, label %861

839:                                              ; preds = %832
  %840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %841 = call i32 @fileno(ptr noundef %840) #8
  %842 = call i32 @isatty(i32 noundef %841) #8
  %843 = icmp ne i32 %842, 0
  br i1 %843, label %844, label %861

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

861:                                              ; preds = %839, %832
  %862 = load i32, ptr %21, align 4, !tbaa !5
  %863 = call ptr @__errno_location() #9
  store i32 %862, ptr %863, align 4, !tbaa !5
  %864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %865 = load i32, ptr @test_count, align 4, !tbaa !5
  %866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %867 = load i32, ptr %866, align 4, !tbaa !5
  %868 = call ptr @s2n_strerror(i32 noundef %867, ptr noundef @.str.4)
  %869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %870 = load i32, ptr %869, align 4, !tbaa !5
  %871 = call ptr @s2n_strerror_debug(i32 noundef %870, ptr noundef @.str.4)
  %872 = call ptr @__errno_location() #9
  %873 = load i32, ptr %872, align 4, !tbaa !5
  %874 = call ptr @strerror(i32 noundef %873) #8
  %875 = call ptr @__errno_location() #9
  %876 = load i32, ptr %875, align 4, !tbaa !5
  %877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %864, ptr noundef @.str.5, i32 noundef %865, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 49, ptr noundef %868, ptr noundef %871, ptr noundef %874, i32 noundef %876) #8
  br label %878

878:                                              ; preds = %861, %844
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #8
  br label %879

879:                                              ; preds = %878
  br label %880

880:                                              ; preds = %879
  call void @exit(i32 noundef 1) #10
  unreachable

881:                                              ; No predecessors!
  br label %882

882:                                              ; preds = %881
  br label %883

883:                                              ; preds = %882, %824
  br label %884

884:                                              ; preds = %883
  br label %885

885:                                              ; preds = %884
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #8
  store ptr null, ptr %22, align 8, !tbaa !9
  br label %886

886:                                              ; preds = %885
  %887 = load i32, ptr @test_count, align 4, !tbaa !5
  %888 = add nsw i32 %887, 1
  store i32 %888, ptr @test_count, align 4, !tbaa !5
  %889 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %889, ptr %22, align 8, !tbaa !9
  %890 = icmp eq ptr %889, null
  br i1 %890, label %891, label %944

891:                                              ; preds = %886
  br label %892

892:                                              ; preds = %891
  br label %893

893:                                              ; preds = %892
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #8
  %894 = call ptr @__errno_location() #9
  %895 = load i32, ptr %894, align 4, !tbaa !5
  store i32 %895, ptr %23, align 4, !tbaa !5
  %896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %897 = call i32 @s2n_print_stacktrace(ptr noundef %896)
  %898 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %899 = trunc i8 %898 to i1
  br i1 %899, label %900, label %922

900:                                              ; preds = %893
  %901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %902 = call i32 @fileno(ptr noundef %901) #8
  %903 = call i32 @isatty(i32 noundef %902) #8
  %904 = icmp ne i32 %903, 0
  br i1 %904, label %905, label %922

905:                                              ; preds = %900
  %906 = load i32, ptr %23, align 4, !tbaa !5
  %907 = call ptr @__errno_location() #9
  store i32 %906, ptr %907, align 4, !tbaa !5
  %908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %909 = load i32, ptr @test_count, align 4, !tbaa !5
  %910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %911 = load i32, ptr %910, align 4, !tbaa !5
  %912 = call ptr @s2n_strerror(i32 noundef %911, ptr noundef @.str.4)
  %913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %914 = load i32, ptr %913, align 4, !tbaa !5
  %915 = call ptr @s2n_strerror_debug(i32 noundef %914, ptr noundef @.str.4)
  %916 = call ptr @__errno_location() #9
  %917 = load i32, ptr %916, align 4, !tbaa !5
  %918 = call ptr @strerror(i32 noundef %917) #8
  %919 = call ptr @__errno_location() #9
  %920 = load i32, ptr %919, align 4, !tbaa !5
  %921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %908, ptr noundef @.str.2, i32 noundef %909, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 52, ptr noundef %912, ptr noundef %915, ptr noundef %918, i32 noundef %920) #8
  br label %939

922:                                              ; preds = %900, %893
  %923 = load i32, ptr %23, align 4, !tbaa !5
  %924 = call ptr @__errno_location() #9
  store i32 %923, ptr %924, align 4, !tbaa !5
  %925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %926 = load i32, ptr @test_count, align 4, !tbaa !5
  %927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %928 = load i32, ptr %927, align 4, !tbaa !5
  %929 = call ptr @s2n_strerror(i32 noundef %928, ptr noundef @.str.4)
  %930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %931 = load i32, ptr %930, align 4, !tbaa !5
  %932 = call ptr @s2n_strerror_debug(i32 noundef %931, ptr noundef @.str.4)
  %933 = call ptr @__errno_location() #9
  %934 = load i32, ptr %933, align 4, !tbaa !5
  %935 = call ptr @strerror(i32 noundef %934) #8
  %936 = call ptr @__errno_location() #9
  %937 = load i32, ptr %936, align 4, !tbaa !5
  %938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %925, ptr noundef @.str.5, i32 noundef %926, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 52, ptr noundef %929, ptr noundef %932, ptr noundef %935, i32 noundef %937) #8
  br label %939

939:                                              ; preds = %922, %905
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #8
  br label %940

940:                                              ; preds = %939
  br label %941

941:                                              ; preds = %940
  call void @exit(i32 noundef 1) #10
  unreachable

942:                                              ; No predecessors!
  br label %943

943:                                              ; preds = %942
  br label %944

944:                                              ; preds = %943, %886
  br label %945

945:                                              ; preds = %944
  br label %946

946:                                              ; preds = %945
  br label %947

947:                                              ; preds = %946
  %948 = load i32, ptr @test_count, align 4, !tbaa !5
  %949 = add nsw i32 %948, 1
  store i32 %949, ptr @test_count, align 4, !tbaa !5
  %950 = load ptr, ptr %22, align 8, !tbaa !9
  %951 = load ptr, ptr %19, align 8, !tbaa !9
  %952 = call i32 @s2n_connection_set_config(ptr noundef %950, ptr noundef %951)
  %953 = icmp eq i32 %952, -1
  br i1 %953, label %954, label %1007

954:                                              ; preds = %947
  br label %955

955:                                              ; preds = %954
  br label %956

956:                                              ; preds = %955
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #8
  %957 = call ptr @__errno_location() #9
  %958 = load i32, ptr %957, align 4, !tbaa !5
  store i32 %958, ptr %24, align 4, !tbaa !5
  %959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %960 = call i32 @s2n_print_stacktrace(ptr noundef %959)
  %961 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %962 = trunc i8 %961 to i1
  br i1 %962, label %963, label %985

963:                                              ; preds = %956
  %964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %965 = call i32 @fileno(ptr noundef %964) #8
  %966 = call i32 @isatty(i32 noundef %965) #8
  %967 = icmp ne i32 %966, 0
  br i1 %967, label %968, label %985

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

985:                                              ; preds = %963, %956
  %986 = load i32, ptr %24, align 4, !tbaa !5
  %987 = call ptr @__errno_location() #9
  store i32 %986, ptr %987, align 4, !tbaa !5
  %988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %989 = load i32, ptr @test_count, align 4, !tbaa !5
  %990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %991 = load i32, ptr %990, align 4, !tbaa !5
  %992 = call ptr @s2n_strerror(i32 noundef %991, ptr noundef @.str.4)
  %993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %994 = load i32, ptr %993, align 4, !tbaa !5
  %995 = call ptr @s2n_strerror_debug(i32 noundef %994, ptr noundef @.str.4)
  %996 = call ptr @__errno_location() #9
  %997 = load i32, ptr %996, align 4, !tbaa !5
  %998 = call ptr @strerror(i32 noundef %997) #8
  %999 = call ptr @__errno_location() #9
  %1000 = load i32, ptr %999, align 4, !tbaa !5
  %1001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %988, ptr noundef @.str.5, i32 noundef %989, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 53, ptr noundef %992, ptr noundef %995, ptr noundef %998, i32 noundef %1000) #8
  br label %1002

1002:                                             ; preds = %985, %968
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #8
  br label %1003

1003:                                             ; preds = %1002
  br label %1004

1004:                                             ; preds = %1003
  call void @exit(i32 noundef 1) #10
  unreachable

1005:                                             ; No predecessors!
  br label %1006

1006:                                             ; preds = %1005
  br label %1007

1007:                                             ; preds = %1006, %947
  br label %1008

1008:                                             ; preds = %1007
  br label %1009

1009:                                             ; preds = %1008
  call void @llvm.lifetime.start.p0(i64 40, ptr %25) #8
  call void @llvm.memset.p0.i64(ptr align 8 %25, i8 0, i64 40, i1 false)
  br label %1010

1010:                                             ; preds = %1009
  %1011 = load i32, ptr @test_count, align 4, !tbaa !5
  %1012 = add nsw i32 %1011, 1
  store i32 %1012, ptr @test_count, align 4, !tbaa !5
  %1013 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %25, i32 noundef 0)
  %1014 = icmp eq i32 %1013, -1
  br i1 %1014, label %1015, label %1068

1015:                                             ; preds = %1010
  br label %1016

1016:                                             ; preds = %1015
  br label %1017

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

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

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

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

1063:                                             ; preds = %1046, %1029
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #8
  br label %1064

1064:                                             ; preds = %1063
  br label %1065

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

1066:                                             ; No predecessors!
  br label %1067

1067:                                             ; preds = %1066
  br label %1068

1068:                                             ; preds = %1067, %1010
  br label %1069

1069:                                             ; preds = %1068
  br label %1070

1070:                                             ; preds = %1069
  %1071 = load ptr, ptr %22, align 8, !tbaa !9
  %1072 = getelementptr inbounds %struct.s2n_connection, ptr %1071, i32 0, i32 57
  store i8 1, ptr %1072, align 8, !tbaa !18
  br label %1073

1073:                                             ; preds = %1070
  %1074 = load i32, ptr @test_count, align 4, !tbaa !5
  %1075 = add nsw i32 %1074, 1
  store i32 %1075, ptr @test_count, align 4, !tbaa !5
  %1076 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_server_max_fragment_length_extension, i32 0, i32 3), align 8, !tbaa !44
  %1077 = load ptr, ptr %22, align 8, !tbaa !9
  %1078 = call i32 %1076(ptr noundef %1077, ptr noundef %25)
  %1079 = icmp eq i32 %1078, -1
  br i1 %1079, label %1080, label %1133

1080:                                             ; preds = %1073
  br label %1081

1081:                                             ; preds = %1080
  br label %1082

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

1089:                                             ; preds = %1082
  %1090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1091 = call i32 @fileno(ptr noundef %1090) #8
  %1092 = call i32 @isatty(i32 noundef %1091) #8
  %1093 = icmp ne i32 %1092, 0
  br i1 %1093, label %1094, label %1111

1094:                                             ; preds = %1089
  %1095 = load i32, ptr %27, align 4, !tbaa !5
  %1096 = call ptr @__errno_location() #9
  store i32 %1095, ptr %1096, align 4, !tbaa !5
  %1097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1098 = load i32, ptr @test_count, align 4, !tbaa !5
  %1099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1100 = load i32, ptr %1099, align 4, !tbaa !5
  %1101 = call ptr @s2n_strerror(i32 noundef %1100, ptr noundef @.str.4)
  %1102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1103 = load i32, ptr %1102, align 4, !tbaa !5
  %1104 = call ptr @s2n_strerror_debug(i32 noundef %1103, ptr noundef @.str.4)
  %1105 = call ptr @__errno_location() #9
  %1106 = load i32, ptr %1105, align 4, !tbaa !5
  %1107 = call ptr @strerror(i32 noundef %1106) #8
  %1108 = call ptr @__errno_location() #9
  %1109 = load i32, ptr %1108, align 4, !tbaa !5
  %1110 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1097, ptr noundef @.str.2, i32 noundef %1098, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 59, ptr noundef %1101, ptr noundef %1104, ptr noundef %1107, i32 noundef %1109) #8
  br label %1128

1111:                                             ; preds = %1089, %1082
  %1112 = load i32, ptr %27, align 4, !tbaa !5
  %1113 = call ptr @__errno_location() #9
  store i32 %1112, ptr %1113, align 4, !tbaa !5
  %1114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1115 = load i32, ptr @test_count, align 4, !tbaa !5
  %1116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1117 = load i32, ptr %1116, align 4, !tbaa !5
  %1118 = call ptr @s2n_strerror(i32 noundef %1117, ptr noundef @.str.4)
  %1119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1120 = load i32, ptr %1119, align 4, !tbaa !5
  %1121 = call ptr @s2n_strerror_debug(i32 noundef %1120, ptr noundef @.str.4)
  %1122 = call ptr @__errno_location() #9
  %1123 = load i32, ptr %1122, align 4, !tbaa !5
  %1124 = call ptr @strerror(i32 noundef %1123) #8
  %1125 = call ptr @__errno_location() #9
  %1126 = load i32, ptr %1125, align 4, !tbaa !5
  %1127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1114, ptr noundef @.str.5, i32 noundef %1115, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 59, ptr noundef %1118, ptr noundef %1121, ptr noundef %1124, i32 noundef %1126) #8
  br label %1128

1128:                                             ; preds = %1111, %1094
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #8
  br label %1129

1129:                                             ; preds = %1128
  br label %1130

1130:                                             ; preds = %1129
  call void @exit(i32 noundef 1) #10
  unreachable

1131:                                             ; No predecessors!
  br label %1132

1132:                                             ; preds = %1131
  br label %1133

1133:                                             ; preds = %1132, %1073
  br label %1134

1134:                                             ; preds = %1133
  br label %1135

1135:                                             ; preds = %1134
  call void @llvm.lifetime.start.p0(i64 1, ptr %28) #8
  store i8 0, ptr %28, align 1, !tbaa !45
  br label %1136

1136:                                             ; preds = %1135
  %1137 = load i32, ptr @test_count, align 4, !tbaa !5
  %1138 = add nsw i32 %1137, 1
  store i32 %1138, ptr @test_count, align 4, !tbaa !5
  %1139 = call i32 @s2n_stuffer_read_uint8(ptr noundef %25, ptr noundef %28)
  %1140 = icmp eq i32 %1139, -1
  br i1 %1140, label %1141, label %1194

1141:                                             ; preds = %1136
  br label %1142

1142:                                             ; preds = %1141
  br label %1143

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

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

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

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

1189:                                             ; preds = %1172, %1155
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #8
  br label %1190

1190:                                             ; preds = %1189
  br label %1191

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

1192:                                             ; No predecessors!
  br label %1193

1193:                                             ; preds = %1192
  br label %1194

1194:                                             ; preds = %1193, %1136
  br label %1195

1195:                                             ; preds = %1194
  br label %1196

1196:                                             ; preds = %1195
  br label %1197

1197:                                             ; preds = %1196
  %1198 = load i32, ptr @test_count, align 4, !tbaa !5
  %1199 = add nsw i32 %1198, 1
  store i32 %1199, ptr @test_count, align 4, !tbaa !5
  %1200 = load i8, ptr %28, align 1, !tbaa !45
  %1201 = zext i8 %1200 to i32
  %1202 = icmp eq i32 %1201, 1
  br i1 %1202, label %1256, label %1203

1203:                                             ; preds = %1197
  br label %1204

1204:                                             ; preds = %1203
  br label %1205

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

1212:                                             ; preds = %1205
  %1213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1214 = call i32 @fileno(ptr noundef %1213) #8
  %1215 = call i32 @isatty(i32 noundef %1214) #8
  %1216 = icmp ne i32 %1215, 0
  br i1 %1216, label %1217, label %1234

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

1234:                                             ; preds = %1212, %1205
  %1235 = load i32, ptr %30, align 4, !tbaa !5
  %1236 = call ptr @__errno_location() #9
  store i32 %1235, ptr %1236, align 4, !tbaa !5
  %1237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1238 = load i32, ptr @test_count, align 4, !tbaa !5
  %1239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1240 = load i32, ptr %1239, align 4, !tbaa !5
  %1241 = call ptr @s2n_strerror(i32 noundef %1240, ptr noundef @.str.4)
  %1242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1243 = load i32, ptr %1242, align 4, !tbaa !5
  %1244 = call ptr @s2n_strerror_debug(i32 noundef %1243, ptr noundef @.str.4)
  %1245 = call ptr @__errno_location() #9
  %1246 = load i32, ptr %1245, align 4, !tbaa !5
  %1247 = call ptr @strerror(i32 noundef %1246) #8
  %1248 = call ptr @__errno_location() #9
  %1249 = load i32, ptr %1248, align 4, !tbaa !5
  %1250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1237, ptr noundef @.str.5, i32 noundef %1238, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 64, ptr noundef %1241, ptr noundef %1244, ptr noundef %1247, i32 noundef %1249) #8
  br label %1251

1251:                                             ; preds = %1234, %1217
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #8
  br label %1252

1252:                                             ; preds = %1251
  br label %1253

1253:                                             ; preds = %1252
  call void @exit(i32 noundef 1) #10
  unreachable

1254:                                             ; No predecessors!
  br label %1255

1255:                                             ; preds = %1254
  br label %1256

1256:                                             ; preds = %1255, %1197
  br label %1257

1257:                                             ; preds = %1256
  br label %1258

1258:                                             ; preds = %1257
  br label %1259

1259:                                             ; preds = %1258
  %1260 = load i32, ptr @test_count, align 4, !tbaa !5
  %1261 = add nsw i32 %1260, 1
  store i32 %1261, ptr @test_count, align 4, !tbaa !5
  %1262 = getelementptr inbounds %struct.s2n_stuffer, ptr %25, i32 0, i32 2
  %1263 = load i32, ptr %1262, align 4, !tbaa !46
  %1264 = getelementptr inbounds %struct.s2n_stuffer, ptr %25, i32 0, i32 1
  %1265 = load i32, ptr %1264, align 8, !tbaa !47
  %1266 = sub i32 %1263, %1265
  %1267 = icmp eq i32 %1266, 0
  br i1 %1267, label %1321, label %1268

1268:                                             ; preds = %1259
  br label %1269

1269:                                             ; preds = %1268
  br label %1270

1270:                                             ; preds = %1269
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #8
  %1271 = call ptr @__errno_location() #9
  %1272 = load i32, ptr %1271, align 4, !tbaa !5
  store i32 %1272, ptr %31, align 4, !tbaa !5
  %1273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1274 = call i32 @s2n_print_stacktrace(ptr noundef %1273)
  %1275 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1276 = trunc i8 %1275 to i1
  br i1 %1276, label %1277, label %1299

1277:                                             ; preds = %1270
  %1278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1279 = call i32 @fileno(ptr noundef %1278) #8
  %1280 = call i32 @isatty(i32 noundef %1279) #8
  %1281 = icmp ne i32 %1280, 0
  br i1 %1281, label %1282, label %1299

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

1299:                                             ; preds = %1277, %1270
  %1300 = load i32, ptr %31, align 4, !tbaa !5
  %1301 = call ptr @__errno_location() #9
  store i32 %1300, ptr %1301, align 4, !tbaa !5
  %1302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1303 = load i32, ptr @test_count, align 4, !tbaa !5
  %1304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1305 = load i32, ptr %1304, align 4, !tbaa !5
  %1306 = call ptr @s2n_strerror(i32 noundef %1305, ptr noundef @.str.4)
  %1307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1308 = load i32, ptr %1307, align 4, !tbaa !5
  %1309 = call ptr @s2n_strerror_debug(i32 noundef %1308, ptr noundef @.str.4)
  %1310 = call ptr @__errno_location() #9
  %1311 = load i32, ptr %1310, align 4, !tbaa !5
  %1312 = call ptr @strerror(i32 noundef %1311) #8
  %1313 = call ptr @__errno_location() #9
  %1314 = load i32, ptr %1313, align 4, !tbaa !5
  %1315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1302, ptr noundef @.str.5, i32 noundef %1303, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 66, ptr noundef %1306, ptr noundef %1309, ptr noundef %1312, i32 noundef %1314) #8
  br label %1316

1316:                                             ; preds = %1299, %1282
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #8
  br label %1317

1317:                                             ; preds = %1316
  br label %1318

1318:                                             ; preds = %1317
  call void @exit(i32 noundef 1) #10
  unreachable

1319:                                             ; No predecessors!
  br label %1320

1320:                                             ; preds = %1319
  br label %1321

1321:                                             ; preds = %1320, %1259
  br label %1322

1322:                                             ; preds = %1321
  br label %1323

1323:                                             ; preds = %1322
  br label %1324

1324:                                             ; preds = %1323
  %1325 = load i32, ptr @test_count, align 4, !tbaa !5
  %1326 = add nsw i32 %1325, 1
  store i32 %1326, ptr @test_count, align 4, !tbaa !5
  %1327 = call i32 @s2n_stuffer_free(ptr noundef %25)
  %1328 = icmp eq i32 %1327, -1
  br i1 %1328, label %1329, label %1382

1329:                                             ; preds = %1324
  br label %1330

1330:                                             ; preds = %1329
  br label %1331

1331:                                             ; preds = %1330
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #8
  %1332 = call ptr @__errno_location() #9
  %1333 = load i32, ptr %1332, align 4, !tbaa !5
  store i32 %1333, ptr %32, align 4, !tbaa !5
  %1334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1335 = call i32 @s2n_print_stacktrace(ptr noundef %1334)
  %1336 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1337 = trunc i8 %1336 to i1
  br i1 %1337, label %1338, label %1360

1338:                                             ; preds = %1331
  %1339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1340 = call i32 @fileno(ptr noundef %1339) #8
  %1341 = call i32 @isatty(i32 noundef %1340) #8
  %1342 = icmp ne i32 %1341, 0
  br i1 %1342, label %1343, label %1360

1343:                                             ; preds = %1338
  %1344 = load i32, ptr %32, align 4, !tbaa !5
  %1345 = call ptr @__errno_location() #9
  store i32 %1344, ptr %1345, align 4, !tbaa !5
  %1346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1347 = load i32, ptr @test_count, align 4, !tbaa !5
  %1348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1349 = load i32, ptr %1348, align 4, !tbaa !5
  %1350 = call ptr @s2n_strerror(i32 noundef %1349, ptr noundef @.str.4)
  %1351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1352 = load i32, ptr %1351, align 4, !tbaa !5
  %1353 = call ptr @s2n_strerror_debug(i32 noundef %1352, ptr noundef @.str.4)
  %1354 = call ptr @__errno_location() #9
  %1355 = load i32, ptr %1354, align 4, !tbaa !5
  %1356 = call ptr @strerror(i32 noundef %1355) #8
  %1357 = call ptr @__errno_location() #9
  %1358 = load i32, ptr %1357, align 4, !tbaa !5
  %1359 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1346, ptr noundef @.str.2, i32 noundef %1347, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 68, ptr noundef %1350, ptr noundef %1353, ptr noundef %1356, i32 noundef %1358) #8
  br label %1377

1360:                                             ; preds = %1338, %1331
  %1361 = load i32, ptr %32, align 4, !tbaa !5
  %1362 = call ptr @__errno_location() #9
  store i32 %1361, ptr %1362, align 4, !tbaa !5
  %1363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1364 = load i32, ptr @test_count, align 4, !tbaa !5
  %1365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1366 = load i32, ptr %1365, align 4, !tbaa !5
  %1367 = call ptr @s2n_strerror(i32 noundef %1366, ptr noundef @.str.4)
  %1368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1369 = load i32, ptr %1368, align 4, !tbaa !5
  %1370 = call ptr @s2n_strerror_debug(i32 noundef %1369, ptr noundef @.str.4)
  %1371 = call ptr @__errno_location() #9
  %1372 = load i32, ptr %1371, align 4, !tbaa !5
  %1373 = call ptr @strerror(i32 noundef %1372) #8
  %1374 = call ptr @__errno_location() #9
  %1375 = load i32, ptr %1374, align 4, !tbaa !5
  %1376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1363, ptr noundef @.str.5, i32 noundef %1364, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 68, ptr noundef %1367, ptr noundef %1370, ptr noundef %1373, i32 noundef %1375) #8
  br label %1377

1377:                                             ; preds = %1360, %1343
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #8
  br label %1378

1378:                                             ; preds = %1377
  br label %1379

1379:                                             ; preds = %1378
  call void @exit(i32 noundef 1) #10
  unreachable

1380:                                             ; No predecessors!
  br label %1381

1381:                                             ; preds = %1380
  br label %1382

1382:                                             ; preds = %1381, %1324
  br label %1383

1383:                                             ; preds = %1382
  br label %1384

1384:                                             ; preds = %1383
  br label %1385

1385:                                             ; preds = %1384
  %1386 = load i32, ptr @test_count, align 4, !tbaa !5
  %1387 = add nsw i32 %1386, 1
  store i32 %1387, ptr @test_count, align 4, !tbaa !5
  %1388 = load ptr, ptr %22, align 8, !tbaa !9
  %1389 = call i32 @s2n_connection_free(ptr noundef %1388)
  %1390 = icmp eq i32 %1389, -1
  br i1 %1390, label %1391, label %1444

1391:                                             ; preds = %1385
  br label %1392

1392:                                             ; preds = %1391
  br label %1393

1393:                                             ; preds = %1392
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #8
  %1394 = call ptr @__errno_location() #9
  %1395 = load i32, ptr %1394, align 4, !tbaa !5
  store i32 %1395, ptr %33, align 4, !tbaa !5
  %1396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1397 = call i32 @s2n_print_stacktrace(ptr noundef %1396)
  %1398 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1399 = trunc i8 %1398 to i1
  br i1 %1399, label %1400, label %1422

1400:                                             ; preds = %1393
  %1401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1402 = call i32 @fileno(ptr noundef %1401) #8
  %1403 = call i32 @isatty(i32 noundef %1402) #8
  %1404 = icmp ne i32 %1403, 0
  br i1 %1404, label %1405, label %1422

1405:                                             ; preds = %1400
  %1406 = load i32, ptr %33, align 4, !tbaa !5
  %1407 = call ptr @__errno_location() #9
  store i32 %1406, ptr %1407, align 4, !tbaa !5
  %1408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1409 = load i32, ptr @test_count, align 4, !tbaa !5
  %1410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1411 = load i32, ptr %1410, align 4, !tbaa !5
  %1412 = call ptr @s2n_strerror(i32 noundef %1411, ptr noundef @.str.4)
  %1413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1414 = load i32, ptr %1413, align 4, !tbaa !5
  %1415 = call ptr @s2n_strerror_debug(i32 noundef %1414, ptr noundef @.str.4)
  %1416 = call ptr @__errno_location() #9
  %1417 = load i32, ptr %1416, align 4, !tbaa !5
  %1418 = call ptr @strerror(i32 noundef %1417) #8
  %1419 = call ptr @__errno_location() #9
  %1420 = load i32, ptr %1419, align 4, !tbaa !5
  %1421 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1408, ptr noundef @.str.2, i32 noundef %1409, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 69, ptr noundef %1412, ptr noundef %1415, ptr noundef %1418, i32 noundef %1420) #8
  br label %1439

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

1439:                                             ; preds = %1422, %1405
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #8
  br label %1440

1440:                                             ; preds = %1439
  br label %1441

1441:                                             ; preds = %1440
  call void @exit(i32 noundef 1) #10
  unreachable

1442:                                             ; No predecessors!
  br label %1443

1443:                                             ; preds = %1442
  br label %1444

1444:                                             ; preds = %1443, %1385
  br label %1445

1445:                                             ; preds = %1444
  br label %1446

1446:                                             ; preds = %1445
  br label %1447

1447:                                             ; preds = %1446
  %1448 = load i32, ptr @test_count, align 4, !tbaa !5
  %1449 = add nsw i32 %1448, 1
  store i32 %1449, ptr @test_count, align 4, !tbaa !5
  %1450 = load ptr, ptr %19, align 8, !tbaa !9
  %1451 = call i32 @s2n_config_free(ptr noundef %1450)
  %1452 = icmp eq i32 %1451, -1
  br i1 %1452, label %1453, label %1506

1453:                                             ; preds = %1447
  br label %1454

1454:                                             ; preds = %1453
  br label %1455

1455:                                             ; preds = %1454
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #8
  %1456 = call ptr @__errno_location() #9
  %1457 = load i32, ptr %1456, align 4, !tbaa !5
  store i32 %1457, ptr %34, align 4, !tbaa !5
  %1458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1459 = call i32 @s2n_print_stacktrace(ptr noundef %1458)
  %1460 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1461 = trunc i8 %1460 to i1
  br i1 %1461, label %1462, label %1484

1462:                                             ; preds = %1455
  %1463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1464 = call i32 @fileno(ptr noundef %1463) #8
  %1465 = call i32 @isatty(i32 noundef %1464) #8
  %1466 = icmp ne i32 %1465, 0
  br i1 %1466, label %1467, label %1484

1467:                                             ; preds = %1462
  %1468 = load i32, ptr %34, align 4, !tbaa !5
  %1469 = call ptr @__errno_location() #9
  store i32 %1468, ptr %1469, align 4, !tbaa !5
  %1470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1471 = load i32, ptr @test_count, align 4, !tbaa !5
  %1472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1473 = load i32, ptr %1472, align 4, !tbaa !5
  %1474 = call ptr @s2n_strerror(i32 noundef %1473, ptr noundef @.str.4)
  %1475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1476 = load i32, ptr %1475, align 4, !tbaa !5
  %1477 = call ptr @s2n_strerror_debug(i32 noundef %1476, ptr noundef @.str.4)
  %1478 = call ptr @__errno_location() #9
  %1479 = load i32, ptr %1478, align 4, !tbaa !5
  %1480 = call ptr @strerror(i32 noundef %1479) #8
  %1481 = call ptr @__errno_location() #9
  %1482 = load i32, ptr %1481, align 4, !tbaa !5
  %1483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1470, ptr noundef @.str.2, i32 noundef %1471, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 70, ptr noundef %1474, ptr noundef %1477, ptr noundef %1480, i32 noundef %1482) #8
  br label %1501

1484:                                             ; preds = %1462, %1455
  %1485 = load i32, ptr %34, align 4, !tbaa !5
  %1486 = call ptr @__errno_location() #9
  store i32 %1485, ptr %1486, align 4, !tbaa !5
  %1487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1488 = load i32, ptr @test_count, align 4, !tbaa !5
  %1489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1490 = load i32, ptr %1489, align 4, !tbaa !5
  %1491 = call ptr @s2n_strerror(i32 noundef %1490, ptr noundef @.str.4)
  %1492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1493 = load i32, ptr %1492, align 4, !tbaa !5
  %1494 = call ptr @s2n_strerror_debug(i32 noundef %1493, ptr noundef @.str.4)
  %1495 = call ptr @__errno_location() #9
  %1496 = load i32, ptr %1495, align 4, !tbaa !5
  %1497 = call ptr @strerror(i32 noundef %1496) #8
  %1498 = call ptr @__errno_location() #9
  %1499 = load i32, ptr %1498, align 4, !tbaa !5
  %1500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1487, ptr noundef @.str.5, i32 noundef %1488, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 70, ptr noundef %1491, ptr noundef %1494, ptr noundef %1497, i32 noundef %1499) #8
  br label %1501

1501:                                             ; preds = %1484, %1467
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #8
  br label %1502

1502:                                             ; preds = %1501
  br label %1503

1503:                                             ; preds = %1502
  call void @exit(i32 noundef 1) #10
  unreachable

1504:                                             ; No predecessors!
  br label %1505

1505:                                             ; preds = %1504
  br label %1506

1506:                                             ; preds = %1505, %1447
  br label %1507

1507:                                             ; preds = %1506
  br label %1508

1508:                                             ; preds = %1507
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #8
  call void @llvm.lifetime.end.p0(i64 40, ptr %25) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #8
  store ptr null, ptr %35, align 8, !tbaa !9
  br label %1509

1509:                                             ; preds = %1508
  %1510 = load i32, ptr @test_count, align 4, !tbaa !5
  %1511 = add nsw i32 %1510, 1
  store i32 %1511, ptr @test_count, align 4, !tbaa !5
  %1512 = call ptr @s2n_config_new()
  store ptr %1512, ptr %35, align 8, !tbaa !9
  %1513 = icmp eq ptr %1512, null
  br i1 %1513, label %1514, label %1567

1514:                                             ; preds = %1509
  br label %1515

1515:                                             ; preds = %1514
  br label %1516

1516:                                             ; preds = %1515
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #8
  %1517 = call ptr @__errno_location() #9
  %1518 = load i32, ptr %1517, align 4, !tbaa !5
  store i32 %1518, ptr %36, align 4, !tbaa !5
  %1519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1520 = call i32 @s2n_print_stacktrace(ptr noundef %1519)
  %1521 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1522 = trunc i8 %1521 to i1
  br i1 %1522, label %1523, label %1545

1523:                                             ; preds = %1516
  %1524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1525 = call i32 @fileno(ptr noundef %1524) #8
  %1526 = call i32 @isatty(i32 noundef %1525) #8
  %1527 = icmp ne i32 %1526, 0
  br i1 %1527, label %1528, label %1545

1528:                                             ; preds = %1523
  %1529 = load i32, ptr %36, align 4, !tbaa !5
  %1530 = call ptr @__errno_location() #9
  store i32 %1529, ptr %1530, align 4, !tbaa !5
  %1531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1532 = load i32, ptr @test_count, align 4, !tbaa !5
  %1533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1534 = load i32, ptr %1533, align 4, !tbaa !5
  %1535 = call ptr @s2n_strerror(i32 noundef %1534, ptr noundef @.str.4)
  %1536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1537 = load i32, ptr %1536, align 4, !tbaa !5
  %1538 = call ptr @s2n_strerror_debug(i32 noundef %1537, ptr noundef @.str.4)
  %1539 = call ptr @__errno_location() #9
  %1540 = load i32, ptr %1539, align 4, !tbaa !5
  %1541 = call ptr @strerror(i32 noundef %1540) #8
  %1542 = call ptr @__errno_location() #9
  %1543 = load i32, ptr %1542, align 4, !tbaa !5
  %1544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1531, ptr noundef @.str.2, i32 noundef %1532, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 84, ptr noundef %1535, ptr noundef %1538, ptr noundef %1541, i32 noundef %1543) #8
  br label %1562

1545:                                             ; preds = %1523, %1516
  %1546 = load i32, ptr %36, align 4, !tbaa !5
  %1547 = call ptr @__errno_location() #9
  store i32 %1546, ptr %1547, align 4, !tbaa !5
  %1548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1549 = load i32, ptr @test_count, align 4, !tbaa !5
  %1550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1551 = load i32, ptr %1550, align 4, !tbaa !5
  %1552 = call ptr @s2n_strerror(i32 noundef %1551, ptr noundef @.str.4)
  %1553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1554 = load i32, ptr %1553, align 4, !tbaa !5
  %1555 = call ptr @s2n_strerror_debug(i32 noundef %1554, ptr noundef @.str.4)
  %1556 = call ptr @__errno_location() #9
  %1557 = load i32, ptr %1556, align 4, !tbaa !5
  %1558 = call ptr @strerror(i32 noundef %1557) #8
  %1559 = call ptr @__errno_location() #9
  %1560 = load i32, ptr %1559, align 4, !tbaa !5
  %1561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1548, ptr noundef @.str.5, i32 noundef %1549, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 84, ptr noundef %1552, ptr noundef %1555, ptr noundef %1558, i32 noundef %1560) #8
  br label %1562

1562:                                             ; preds = %1545, %1528
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #8
  br label %1563

1563:                                             ; preds = %1562
  br label %1564

1564:                                             ; preds = %1563
  call void @exit(i32 noundef 1) #10
  unreachable

1565:                                             ; No predecessors!
  br label %1566

1566:                                             ; preds = %1565
  br label %1567

1567:                                             ; preds = %1566, %1509
  br label %1568

1568:                                             ; preds = %1567
  br label %1569

1569:                                             ; preds = %1568
  br label %1570

1570:                                             ; preds = %1569
  %1571 = load i32, ptr @test_count, align 4, !tbaa !5
  %1572 = add nsw i32 %1571, 1
  store i32 %1572, ptr @test_count, align 4, !tbaa !5
  %1573 = load ptr, ptr %35, align 8, !tbaa !9
  %1574 = call i32 @s2n_config_send_max_fragment_length(ptr noundef %1573, i32 noundef 1)
  %1575 = icmp eq i32 %1574, -1
  br i1 %1575, label %1576, label %1629

1576:                                             ; preds = %1570
  br label %1577

1577:                                             ; preds = %1576
  br label %1578

1578:                                             ; preds = %1577
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #8
  %1579 = call ptr @__errno_location() #9
  %1580 = load i32, ptr %1579, align 4, !tbaa !5
  store i32 %1580, ptr %37, align 4, !tbaa !5
  %1581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1582 = call i32 @s2n_print_stacktrace(ptr noundef %1581)
  %1583 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1584 = trunc i8 %1583 to i1
  br i1 %1584, label %1585, label %1607

1585:                                             ; preds = %1578
  %1586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1587 = call i32 @fileno(ptr noundef %1586) #8
  %1588 = call i32 @isatty(i32 noundef %1587) #8
  %1589 = icmp ne i32 %1588, 0
  br i1 %1589, label %1590, label %1607

1590:                                             ; preds = %1585
  %1591 = load i32, ptr %37, align 4, !tbaa !5
  %1592 = call ptr @__errno_location() #9
  store i32 %1591, ptr %1592, align 4, !tbaa !5
  %1593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1594 = load i32, ptr @test_count, align 4, !tbaa !5
  %1595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1596 = load i32, ptr %1595, align 4, !tbaa !5
  %1597 = call ptr @s2n_strerror(i32 noundef %1596, ptr noundef @.str.4)
  %1598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1599 = load i32, ptr %1598, align 4, !tbaa !5
  %1600 = call ptr @s2n_strerror_debug(i32 noundef %1599, ptr noundef @.str.4)
  %1601 = call ptr @__errno_location() #9
  %1602 = load i32, ptr %1601, align 4, !tbaa !5
  %1603 = call ptr @strerror(i32 noundef %1602) #8
  %1604 = call ptr @__errno_location() #9
  %1605 = load i32, ptr %1604, align 4, !tbaa !5
  %1606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1593, ptr noundef @.str.2, i32 noundef %1594, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 85, ptr noundef %1597, ptr noundef %1600, ptr noundef %1603, i32 noundef %1605) #8
  br label %1624

1607:                                             ; preds = %1585, %1578
  %1608 = load i32, ptr %37, align 4, !tbaa !5
  %1609 = call ptr @__errno_location() #9
  store i32 %1608, ptr %1609, align 4, !tbaa !5
  %1610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1611 = load i32, ptr @test_count, align 4, !tbaa !5
  %1612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1613 = load i32, ptr %1612, align 4, !tbaa !5
  %1614 = call ptr @s2n_strerror(i32 noundef %1613, ptr noundef @.str.4)
  %1615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1616 = load i32, ptr %1615, align 4, !tbaa !5
  %1617 = call ptr @s2n_strerror_debug(i32 noundef %1616, ptr noundef @.str.4)
  %1618 = call ptr @__errno_location() #9
  %1619 = load i32, ptr %1618, align 4, !tbaa !5
  %1620 = call ptr @strerror(i32 noundef %1619) #8
  %1621 = call ptr @__errno_location() #9
  %1622 = load i32, ptr %1621, align 4, !tbaa !5
  %1623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1610, ptr noundef @.str.5, i32 noundef %1611, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 85, ptr noundef %1614, ptr noundef %1617, ptr noundef %1620, i32 noundef %1622) #8
  br label %1624

1624:                                             ; preds = %1607, %1590
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #8
  br label %1625

1625:                                             ; preds = %1624
  br label %1626

1626:                                             ; preds = %1625
  call void @exit(i32 noundef 1) #10
  unreachable

1627:                                             ; No predecessors!
  br label %1628

1628:                                             ; preds = %1627
  br label %1629

1629:                                             ; preds = %1628, %1570
  br label %1630

1630:                                             ; preds = %1629
  br label %1631

1631:                                             ; preds = %1630
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #8
  store ptr null, ptr %38, align 8, !tbaa !9
  br label %1632

1632:                                             ; preds = %1631
  %1633 = load i32, ptr @test_count, align 4, !tbaa !5
  %1634 = add nsw i32 %1633, 1
  store i32 %1634, ptr @test_count, align 4, !tbaa !5
  %1635 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %1635, ptr %38, align 8, !tbaa !9
  %1636 = icmp eq ptr %1635, null
  br i1 %1636, label %1637, label %1690

1637:                                             ; preds = %1632
  br label %1638

1638:                                             ; preds = %1637
  br label %1639

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

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

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

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

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

1686:                                             ; preds = %1685
  br label %1687

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

1688:                                             ; No predecessors!
  br label %1689

1689:                                             ; preds = %1688
  br label %1690

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

1691:                                             ; preds = %1690
  br label %1692

1692:                                             ; preds = %1691
  br label %1693

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

1700:                                             ; preds = %1693
  br label %1701

1701:                                             ; preds = %1700
  br label %1702

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

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

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

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

1748:                                             ; preds = %1731, %1714
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #8
  br label %1749

1749:                                             ; preds = %1748
  br label %1750

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

1751:                                             ; No predecessors!
  br label %1752

1752:                                             ; preds = %1751
  br label %1753

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

1754:                                             ; preds = %1753
  br label %1755

1755:                                             ; preds = %1754
  call void @llvm.lifetime.start.p0(i64 40, ptr %41) #8
  call void @llvm.memset.p0.i64(ptr align 8 %41, i8 0, i64 40, i1 false)
  br label %1756

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

1761:                                             ; preds = %1756
  br label %1762

1762:                                             ; preds = %1761
  br label %1763

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

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

1775:                                             ; preds = %1770
  %1776 = load i32, ptr %42, align 4, !tbaa !5
  %1777 = call ptr @__errno_location() #9
  store i32 %1776, ptr %1777, align 4, !tbaa !5
  %1778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1779 = load i32, ptr @test_count, align 4, !tbaa !5
  %1780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1781 = load i32, ptr %1780, align 4, !tbaa !5
  %1782 = call ptr @s2n_strerror(i32 noundef %1781, ptr noundef @.str.4)
  %1783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1784 = load i32, ptr %1783, align 4, !tbaa !5
  %1785 = call ptr @s2n_strerror_debug(i32 noundef %1784, ptr noundef @.str.4)
  %1786 = call ptr @__errno_location() #9
  %1787 = load i32, ptr %1786, align 4, !tbaa !5
  %1788 = call ptr @strerror(i32 noundef %1787) #8
  %1789 = call ptr @__errno_location() #9
  %1790 = load i32, ptr %1789, align 4, !tbaa !5
  %1791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1778, ptr noundef @.str.2, i32 noundef %1779, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 92, ptr noundef %1782, ptr noundef %1785, ptr noundef %1788, i32 noundef %1790) #8
  br label %1809

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

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

1810:                                             ; preds = %1809
  br label %1811

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

1812:                                             ; No predecessors!
  br label %1813

1813:                                             ; preds = %1812
  br label %1814

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

1815:                                             ; preds = %1814
  br label %1816

1816:                                             ; preds = %1815
  %1817 = load ptr, ptr %38, align 8, !tbaa !9
  %1818 = getelementptr inbounds %struct.s2n_connection, ptr %1817, i32 0, i32 57
  store i8 2, ptr %1818, align 8, !tbaa !18
  br label %1819

1819:                                             ; preds = %1816
  %1820 = load i32, ptr @test_count, align 4, !tbaa !5
  %1821 = add nsw i32 %1820, 1
  store i32 %1821, ptr @test_count, align 4, !tbaa !5
  %1822 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_server_max_fragment_length_extension, i32 0, i32 3), align 8, !tbaa !44
  %1823 = load ptr, ptr %38, align 8, !tbaa !9
  %1824 = call i32 %1822(ptr noundef %1823, ptr noundef %41)
  %1825 = icmp eq i32 %1824, -1
  br i1 %1825, label %1826, label %1879

1826:                                             ; preds = %1819
  br label %1827

1827:                                             ; preds = %1826
  br label %1828

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

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

1840:                                             ; preds = %1835
  %1841 = load i32, ptr %43, align 4, !tbaa !5
  %1842 = call ptr @__errno_location() #9
  store i32 %1841, ptr %1842, align 4, !tbaa !5
  %1843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1844 = load i32, ptr @test_count, align 4, !tbaa !5
  %1845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1846 = load i32, ptr %1845, align 4, !tbaa !5
  %1847 = call ptr @s2n_strerror(i32 noundef %1846, ptr noundef @.str.4)
  %1848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1849 = load i32, ptr %1848, align 4, !tbaa !5
  %1850 = call ptr @s2n_strerror_debug(i32 noundef %1849, ptr noundef @.str.4)
  %1851 = call ptr @__errno_location() #9
  %1852 = load i32, ptr %1851, align 4, !tbaa !5
  %1853 = call ptr @strerror(i32 noundef %1852) #8
  %1854 = call ptr @__errno_location() #9
  %1855 = load i32, ptr %1854, align 4, !tbaa !5
  %1856 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1843, ptr noundef @.str.2, i32 noundef %1844, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 95, ptr noundef %1847, ptr noundef %1850, ptr noundef %1853, i32 noundef %1855) #8
  br label %1874

1857:                                             ; preds = %1835, %1828
  %1858 = load i32, ptr %43, align 4, !tbaa !5
  %1859 = call ptr @__errno_location() #9
  store i32 %1858, ptr %1859, align 4, !tbaa !5
  %1860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1861 = load i32, ptr @test_count, align 4, !tbaa !5
  %1862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1863 = load i32, ptr %1862, align 4, !tbaa !5
  %1864 = call ptr @s2n_strerror(i32 noundef %1863, ptr noundef @.str.4)
  %1865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1866 = load i32, ptr %1865, align 4, !tbaa !5
  %1867 = call ptr @s2n_strerror_debug(i32 noundef %1866, ptr noundef @.str.4)
  %1868 = call ptr @__errno_location() #9
  %1869 = load i32, ptr %1868, align 4, !tbaa !5
  %1870 = call ptr @strerror(i32 noundef %1869) #8
  %1871 = call ptr @__errno_location() #9
  %1872 = load i32, ptr %1871, align 4, !tbaa !5
  %1873 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1860, ptr noundef @.str.5, i32 noundef %1861, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 95, ptr noundef %1864, ptr noundef %1867, ptr noundef %1870, i32 noundef %1872) #8
  br label %1874

1874:                                             ; preds = %1857, %1840
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #8
  br label %1875

1875:                                             ; preds = %1874
  br label %1876

1876:                                             ; preds = %1875
  call void @exit(i32 noundef 1) #10
  unreachable

1877:                                             ; No predecessors!
  br label %1878

1878:                                             ; preds = %1877
  br label %1879

1879:                                             ; preds = %1878, %1819
  br label %1880

1880:                                             ; preds = %1879
  br label %1881

1881:                                             ; preds = %1880
  br label %1882

1882:                                             ; preds = %1881
  br label %1883

1883:                                             ; preds = %1882
  br label %1884

1884:                                             ; preds = %1883
  %1885 = load i32, ptr @test_count, align 4, !tbaa !5
  %1886 = add nsw i32 %1885, 1
  store i32 %1886, ptr @test_count, align 4, !tbaa !5
  %1887 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_server_max_fragment_length_extension, i32 0, i32 4), align 8, !tbaa !48
  %1888 = load ptr, ptr %38, align 8, !tbaa !9
  %1889 = call i32 %1887(ptr noundef %1888, ptr noundef %41)
  %1890 = icmp eq i32 %1889, -1
  br i1 %1890, label %1944, label %1891

1891:                                             ; preds = %1884
  br label %1892

1892:                                             ; preds = %1891
  br label %1893

1893:                                             ; preds = %1892
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #8
  %1894 = call ptr @__errno_location() #9
  %1895 = load i32, ptr %1894, align 4, !tbaa !5
  store i32 %1895, ptr %44, align 4, !tbaa !5
  %1896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1897 = call i32 @s2n_print_stacktrace(ptr noundef %1896)
  %1898 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1899 = trunc i8 %1898 to i1
  br i1 %1899, label %1900, label %1922

1900:                                             ; preds = %1893
  %1901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1902 = call i32 @fileno(ptr noundef %1901) #8
  %1903 = call i32 @isatty(i32 noundef %1902) #8
  %1904 = icmp ne i32 %1903, 0
  br i1 %1904, label %1905, label %1922

1905:                                             ; preds = %1900
  %1906 = load i32, ptr %44, align 4, !tbaa !5
  %1907 = call ptr @__errno_location() #9
  store i32 %1906, ptr %1907, align 4, !tbaa !5
  %1908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1909 = load i32, ptr @test_count, align 4, !tbaa !5
  %1910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1911 = load i32, ptr %1910, align 4, !tbaa !5
  %1912 = call ptr @s2n_strerror(i32 noundef %1911, ptr noundef @.str.4)
  %1913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1914 = load i32, ptr %1913, align 4, !tbaa !5
  %1915 = call ptr @s2n_strerror_debug(i32 noundef %1914, ptr noundef @.str.4)
  %1916 = call ptr @__errno_location() #9
  %1917 = load i32, ptr %1916, align 4, !tbaa !5
  %1918 = call ptr @strerror(i32 noundef %1917) #8
  %1919 = call ptr @__errno_location() #9
  %1920 = load i32, ptr %1919, align 4, !tbaa !5
  %1921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1908, ptr noundef @.str.2, i32 noundef %1909, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 98, ptr noundef %1912, ptr noundef %1915, ptr noundef %1918, i32 noundef %1920) #8
  br label %1939

1922:                                             ; preds = %1900, %1893
  %1923 = load i32, ptr %44, align 4, !tbaa !5
  %1924 = call ptr @__errno_location() #9
  store i32 %1923, ptr %1924, align 4, !tbaa !5
  %1925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1926 = load i32, ptr @test_count, align 4, !tbaa !5
  %1927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1928 = load i32, ptr %1927, align 4, !tbaa !5
  %1929 = call ptr @s2n_strerror(i32 noundef %1928, ptr noundef @.str.4)
  %1930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1931 = load i32, ptr %1930, align 4, !tbaa !5
  %1932 = call ptr @s2n_strerror_debug(i32 noundef %1931, ptr noundef @.str.4)
  %1933 = call ptr @__errno_location() #9
  %1934 = load i32, ptr %1933, align 4, !tbaa !5
  %1935 = call ptr @strerror(i32 noundef %1934) #8
  %1936 = call ptr @__errno_location() #9
  %1937 = load i32, ptr %1936, align 4, !tbaa !5
  %1938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1925, ptr noundef @.str.5, i32 noundef %1926, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 98, ptr noundef %1929, ptr noundef %1932, ptr noundef %1935, i32 noundef %1937) #8
  br label %1939

1939:                                             ; preds = %1922, %1905
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #8
  br label %1940

1940:                                             ; preds = %1939
  br label %1941

1941:                                             ; preds = %1940
  call void @exit(i32 noundef 1) #10
  unreachable

1942:                                             ; No predecessors!
  br label %1943

1943:                                             ; preds = %1942
  br label %1944

1944:                                             ; preds = %1943, %1884
  br label %1945

1945:                                             ; preds = %1944
  br label %1946

1946:                                             ; preds = %1945
  br label %1947

1947:                                             ; preds = %1946
  %1948 = load i32, ptr @test_count, align 4, !tbaa !5
  %1949 = add nsw i32 %1948, 1
  store i32 %1949, ptr @test_count, align 4, !tbaa !5
  %1950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1951 = load i32, ptr %1950, align 4, !tbaa !5
  %1952 = icmp eq i32 %1951, 335544383
  br i1 %1952, label %2006, label %1953

1953:                                             ; preds = %1947
  br label %1954

1954:                                             ; preds = %1953
  br label %1955

1955:                                             ; preds = %1954
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #8
  %1956 = call ptr @__errno_location() #9
  %1957 = load i32, ptr %1956, align 4, !tbaa !5
  store i32 %1957, ptr %45, align 4, !tbaa !5
  %1958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1959 = call i32 @s2n_print_stacktrace(ptr noundef %1958)
  %1960 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1961 = trunc i8 %1960 to i1
  br i1 %1961, label %1962, label %1984

1962:                                             ; preds = %1955
  %1963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1964 = call i32 @fileno(ptr noundef %1963) #8
  %1965 = call i32 @isatty(i32 noundef %1964) #8
  %1966 = icmp ne i32 %1965, 0
  br i1 %1966, label %1967, label %1984

1967:                                             ; preds = %1962
  %1968 = load i32, ptr %45, align 4, !tbaa !5
  %1969 = call ptr @__errno_location() #9
  store i32 %1968, ptr %1969, align 4, !tbaa !5
  %1970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1971 = load i32, ptr @test_count, align 4, !tbaa !5
  %1972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1973 = load i32, ptr %1972, align 4, !tbaa !5
  %1974 = call ptr @s2n_strerror(i32 noundef %1973, ptr noundef @.str.4)
  %1975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1976 = load i32, ptr %1975, align 4, !tbaa !5
  %1977 = call ptr @s2n_strerror_debug(i32 noundef %1976, ptr noundef @.str.4)
  %1978 = call ptr @__errno_location() #9
  %1979 = load i32, ptr %1978, align 4, !tbaa !5
  %1980 = call ptr @strerror(i32 noundef %1979) #8
  %1981 = call ptr @__errno_location() #9
  %1982 = load i32, ptr %1981, align 4, !tbaa !5
  %1983 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1970, ptr noundef @.str.2, i32 noundef %1971, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 98, ptr noundef %1974, ptr noundef %1977, ptr noundef %1980, i32 noundef %1982) #8
  br label %2001

1984:                                             ; preds = %1962, %1955
  %1985 = load i32, ptr %45, align 4, !tbaa !5
  %1986 = call ptr @__errno_location() #9
  store i32 %1985, ptr %1986, align 4, !tbaa !5
  %1987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1988 = load i32, ptr @test_count, align 4, !tbaa !5
  %1989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1990 = load i32, ptr %1989, align 4, !tbaa !5
  %1991 = call ptr @s2n_strerror(i32 noundef %1990, ptr noundef @.str.4)
  %1992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1993 = load i32, ptr %1992, align 4, !tbaa !5
  %1994 = call ptr @s2n_strerror_debug(i32 noundef %1993, ptr noundef @.str.4)
  %1995 = call ptr @__errno_location() #9
  %1996 = load i32, ptr %1995, align 4, !tbaa !5
  %1997 = call ptr @strerror(i32 noundef %1996) #8
  %1998 = call ptr @__errno_location() #9
  %1999 = load i32, ptr %1998, align 4, !tbaa !5
  %2000 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1987, ptr noundef @.str.5, i32 noundef %1988, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 98, ptr noundef %1991, ptr noundef %1994, ptr noundef %1997, i32 noundef %1999) #8
  br label %2001

2001:                                             ; preds = %1984, %1967
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #8
  br label %2002

2002:                                             ; preds = %2001
  br label %2003

2003:                                             ; preds = %2002
  call void @exit(i32 noundef 1) #10
  unreachable

2004:                                             ; No predecessors!
  br label %2005

2005:                                             ; preds = %2004
  br label %2006

2006:                                             ; preds = %2005, %1947
  br label %2007

2007:                                             ; preds = %2006
  br label %2008

2008:                                             ; preds = %2007
  br label %2009

2009:                                             ; preds = %2008
  %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 align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2013 = load i32, ptr %2012, align 4, !tbaa !5
  %2014 = call ptr @s2n_strerror_debug(i32 noundef %2013, ptr noundef @.str.4)
  %2015 = icmp eq ptr %2014, null
  br i1 %2015, label %2016, label %2069

2016:                                             ; preds = %2009
  br label %2017

2017:                                             ; preds = %2016
  br label %2018

2018:                                             ; preds = %2017
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #8
  %2019 = call ptr @__errno_location() #9
  %2020 = load i32, ptr %2019, align 4, !tbaa !5
  store i32 %2020, ptr %46, align 4, !tbaa !5
  %2021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2022 = call i32 @s2n_print_stacktrace(ptr noundef %2021)
  %2023 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2024 = trunc i8 %2023 to i1
  br i1 %2024, label %2025, label %2047

2025:                                             ; preds = %2018
  %2026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2027 = call i32 @fileno(ptr noundef %2026) #8
  %2028 = call i32 @isatty(i32 noundef %2027) #8
  %2029 = icmp ne i32 %2028, 0
  br i1 %2029, label %2030, label %2047

2030:                                             ; preds = %2025
  %2031 = load i32, ptr %46, align 4, !tbaa !5
  %2032 = call ptr @__errno_location() #9
  store i32 %2031, ptr %2032, align 4, !tbaa !5
  %2033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2034 = load i32, ptr @test_count, align 4, !tbaa !5
  %2035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2036 = load i32, ptr %2035, align 4, !tbaa !5
  %2037 = call ptr @s2n_strerror(i32 noundef %2036, ptr noundef @.str.4)
  %2038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2039 = load i32, ptr %2038, align 4, !tbaa !5
  %2040 = call ptr @s2n_strerror_debug(i32 noundef %2039, ptr noundef @.str.4)
  %2041 = call ptr @__errno_location() #9
  %2042 = load i32, ptr %2041, align 4, !tbaa !5
  %2043 = call ptr @strerror(i32 noundef %2042) #8
  %2044 = call ptr @__errno_location() #9
  %2045 = load i32, ptr %2044, align 4, !tbaa !5
  %2046 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2033, ptr noundef @.str.2, i32 noundef %2034, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 98, ptr noundef %2037, ptr noundef %2040, ptr noundef %2043, i32 noundef %2045) #8
  br label %2064

2047:                                             ; preds = %2025, %2018
  %2048 = load i32, ptr %46, align 4, !tbaa !5
  %2049 = call ptr @__errno_location() #9
  store i32 %2048, ptr %2049, align 4, !tbaa !5
  %2050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2051 = load i32, ptr @test_count, align 4, !tbaa !5
  %2052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2053 = load i32, ptr %2052, align 4, !tbaa !5
  %2054 = call ptr @s2n_strerror(i32 noundef %2053, ptr noundef @.str.4)
  %2055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2056 = load i32, ptr %2055, align 4, !tbaa !5
  %2057 = call ptr @s2n_strerror_debug(i32 noundef %2056, ptr noundef @.str.4)
  %2058 = call ptr @__errno_location() #9
  %2059 = load i32, ptr %2058, align 4, !tbaa !5
  %2060 = call ptr @strerror(i32 noundef %2059) #8
  %2061 = call ptr @__errno_location() #9
  %2062 = load i32, ptr %2061, align 4, !tbaa !5
  %2063 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2050, ptr noundef @.str.5, i32 noundef %2051, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 98, ptr noundef %2054, ptr noundef %2057, ptr noundef %2060, i32 noundef %2062) #8
  br label %2064

2064:                                             ; preds = %2047, %2030
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #8
  br label %2065

2065:                                             ; preds = %2064
  br label %2066

2066:                                             ; preds = %2065
  call void @exit(i32 noundef 1) #10
  unreachable

2067:                                             ; No predecessors!
  br label %2068

2068:                                             ; preds = %2067
  br label %2069

2069:                                             ; preds = %2068, %2009
  br label %2070

2070:                                             ; preds = %2069
  br label %2071

2071:                                             ; preds = %2070
  br label %2072

2072:                                             ; preds = %2071
  br label %2073

2073:                                             ; preds = %2072
  br label %2074

2074:                                             ; preds = %2073
  %2075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2075, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2076 = call ptr @__errno_location() #9
  store i32 0, ptr %2076, align 4, !tbaa !5
  br label %2077

2077:                                             ; preds = %2074
  br label %2078

2078:                                             ; preds = %2077
  br label %2079

2079:                                             ; preds = %2078
  br label %2080

2080:                                             ; preds = %2079
  br label %2081

2081:                                             ; preds = %2080
  %2082 = load i32, ptr @test_count, align 4, !tbaa !5
  %2083 = add nsw i32 %2082, 1
  store i32 %2083, ptr @test_count, align 4, !tbaa !5
  %2084 = call i32 @s2n_stuffer_free(ptr noundef %41)
  %2085 = icmp eq i32 %2084, -1
  br i1 %2085, label %2086, label %2139

2086:                                             ; preds = %2081
  br label %2087

2087:                                             ; preds = %2086
  br label %2088

2088:                                             ; preds = %2087
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #8
  %2089 = call ptr @__errno_location() #9
  %2090 = load i32, ptr %2089, align 4, !tbaa !5
  store i32 %2090, ptr %47, align 4, !tbaa !5
  %2091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2092 = call i32 @s2n_print_stacktrace(ptr noundef %2091)
  %2093 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2094 = trunc i8 %2093 to i1
  br i1 %2094, label %2095, label %2117

2095:                                             ; preds = %2088
  %2096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2097 = call i32 @fileno(ptr noundef %2096) #8
  %2098 = call i32 @isatty(i32 noundef %2097) #8
  %2099 = icmp ne i32 %2098, 0
  br i1 %2099, label %2100, label %2117

2100:                                             ; preds = %2095
  %2101 = load i32, ptr %47, align 4, !tbaa !5
  %2102 = call ptr @__errno_location() #9
  store i32 %2101, ptr %2102, align 4, !tbaa !5
  %2103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2104 = load i32, ptr @test_count, align 4, !tbaa !5
  %2105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2106 = load i32, ptr %2105, align 4, !tbaa !5
  %2107 = call ptr @s2n_strerror(i32 noundef %2106, ptr noundef @.str.4)
  %2108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2109 = load i32, ptr %2108, align 4, !tbaa !5
  %2110 = call ptr @s2n_strerror_debug(i32 noundef %2109, ptr noundef @.str.4)
  %2111 = call ptr @__errno_location() #9
  %2112 = load i32, ptr %2111, align 4, !tbaa !5
  %2113 = call ptr @strerror(i32 noundef %2112) #8
  %2114 = call ptr @__errno_location() #9
  %2115 = load i32, ptr %2114, align 4, !tbaa !5
  %2116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2103, ptr noundef @.str.2, i32 noundef %2104, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 100, ptr noundef %2107, ptr noundef %2110, ptr noundef %2113, i32 noundef %2115) #8
  br label %2134

2117:                                             ; preds = %2095, %2088
  %2118 = load i32, ptr %47, align 4, !tbaa !5
  %2119 = call ptr @__errno_location() #9
  store i32 %2118, ptr %2119, align 4, !tbaa !5
  %2120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2121 = load i32, ptr @test_count, align 4, !tbaa !5
  %2122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2123 = load i32, ptr %2122, align 4, !tbaa !5
  %2124 = call ptr @s2n_strerror(i32 noundef %2123, ptr noundef @.str.4)
  %2125 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2126 = load i32, ptr %2125, align 4, !tbaa !5
  %2127 = call ptr @s2n_strerror_debug(i32 noundef %2126, ptr noundef @.str.4)
  %2128 = call ptr @__errno_location() #9
  %2129 = load i32, ptr %2128, align 4, !tbaa !5
  %2130 = call ptr @strerror(i32 noundef %2129) #8
  %2131 = call ptr @__errno_location() #9
  %2132 = load i32, ptr %2131, align 4, !tbaa !5
  %2133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2120, ptr noundef @.str.5, i32 noundef %2121, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 100, ptr noundef %2124, ptr noundef %2127, ptr noundef %2130, i32 noundef %2132) #8
  br label %2134

2134:                                             ; preds = %2117, %2100
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #8
  br label %2135

2135:                                             ; preds = %2134
  br label %2136

2136:                                             ; preds = %2135
  call void @exit(i32 noundef 1) #10
  unreachable

2137:                                             ; No predecessors!
  br label %2138

2138:                                             ; preds = %2137
  br label %2139

2139:                                             ; preds = %2138, %2081
  br label %2140

2140:                                             ; preds = %2139
  br label %2141

2141:                                             ; preds = %2140
  br label %2142

2142:                                             ; preds = %2141
  %2143 = load i32, ptr @test_count, align 4, !tbaa !5
  %2144 = add nsw i32 %2143, 1
  store i32 %2144, ptr @test_count, align 4, !tbaa !5
  %2145 = load ptr, ptr %38, align 8, !tbaa !9
  %2146 = call i32 @s2n_connection_free(ptr noundef %2145)
  %2147 = icmp eq i32 %2146, -1
  br i1 %2147, label %2148, label %2201

2148:                                             ; preds = %2142
  br label %2149

2149:                                             ; preds = %2148
  br label %2150

2150:                                             ; preds = %2149
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #8
  %2151 = call ptr @__errno_location() #9
  %2152 = load i32, ptr %2151, align 4, !tbaa !5
  store i32 %2152, ptr %48, align 4, !tbaa !5
  %2153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2154 = call i32 @s2n_print_stacktrace(ptr noundef %2153)
  %2155 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2156 = trunc i8 %2155 to i1
  br i1 %2156, label %2157, label %2179

2157:                                             ; preds = %2150
  %2158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2159 = call i32 @fileno(ptr noundef %2158) #8
  %2160 = call i32 @isatty(i32 noundef %2159) #8
  %2161 = icmp ne i32 %2160, 0
  br i1 %2161, label %2162, label %2179

2162:                                             ; preds = %2157
  %2163 = load i32, ptr %48, align 4, !tbaa !5
  %2164 = call ptr @__errno_location() #9
  store i32 %2163, ptr %2164, align 4, !tbaa !5
  %2165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2166 = load i32, ptr @test_count, align 4, !tbaa !5
  %2167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2168 = load i32, ptr %2167, align 4, !tbaa !5
  %2169 = call ptr @s2n_strerror(i32 noundef %2168, ptr noundef @.str.4)
  %2170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2171 = load i32, ptr %2170, align 4, !tbaa !5
  %2172 = call ptr @s2n_strerror_debug(i32 noundef %2171, ptr noundef @.str.4)
  %2173 = call ptr @__errno_location() #9
  %2174 = load i32, ptr %2173, align 4, !tbaa !5
  %2175 = call ptr @strerror(i32 noundef %2174) #8
  %2176 = call ptr @__errno_location() #9
  %2177 = load i32, ptr %2176, align 4, !tbaa !5
  %2178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2165, ptr noundef @.str.2, i32 noundef %2166, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 101, ptr noundef %2169, ptr noundef %2172, ptr noundef %2175, i32 noundef %2177) #8
  br label %2196

2179:                                             ; preds = %2157, %2150
  %2180 = load i32, ptr %48, align 4, !tbaa !5
  %2181 = call ptr @__errno_location() #9
  store i32 %2180, ptr %2181, align 4, !tbaa !5
  %2182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2183 = load i32, ptr @test_count, align 4, !tbaa !5
  %2184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2185 = load i32, ptr %2184, align 4, !tbaa !5
  %2186 = call ptr @s2n_strerror(i32 noundef %2185, ptr noundef @.str.4)
  %2187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2188 = load i32, ptr %2187, align 4, !tbaa !5
  %2189 = call ptr @s2n_strerror_debug(i32 noundef %2188, ptr noundef @.str.4)
  %2190 = call ptr @__errno_location() #9
  %2191 = load i32, ptr %2190, align 4, !tbaa !5
  %2192 = call ptr @strerror(i32 noundef %2191) #8
  %2193 = call ptr @__errno_location() #9
  %2194 = load i32, ptr %2193, align 4, !tbaa !5
  %2195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2182, ptr noundef @.str.5, i32 noundef %2183, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 101, ptr noundef %2186, ptr noundef %2189, ptr noundef %2192, i32 noundef %2194) #8
  br label %2196

2196:                                             ; preds = %2179, %2162
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #8
  br label %2197

2197:                                             ; preds = %2196
  br label %2198

2198:                                             ; preds = %2197
  call void @exit(i32 noundef 1) #10
  unreachable

2199:                                             ; No predecessors!
  br label %2200

2200:                                             ; preds = %2199
  br label %2201

2201:                                             ; preds = %2200, %2142
  br label %2202

2202:                                             ; preds = %2201
  br label %2203

2203:                                             ; preds = %2202
  br label %2204

2204:                                             ; preds = %2203
  %2205 = load i32, ptr @test_count, align 4, !tbaa !5
  %2206 = add nsw i32 %2205, 1
  store i32 %2206, ptr @test_count, align 4, !tbaa !5
  %2207 = load ptr, ptr %35, align 8, !tbaa !9
  %2208 = call i32 @s2n_config_free(ptr noundef %2207)
  %2209 = icmp eq i32 %2208, -1
  br i1 %2209, label %2210, label %2263

2210:                                             ; preds = %2204
  br label %2211

2211:                                             ; preds = %2210
  br label %2212

2212:                                             ; preds = %2211
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #8
  %2213 = call ptr @__errno_location() #9
  %2214 = load i32, ptr %2213, align 4, !tbaa !5
  store i32 %2214, ptr %49, align 4, !tbaa !5
  %2215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2216 = call i32 @s2n_print_stacktrace(ptr noundef %2215)
  %2217 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2218 = trunc i8 %2217 to i1
  br i1 %2218, label %2219, label %2241

2219:                                             ; preds = %2212
  %2220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2221 = call i32 @fileno(ptr noundef %2220) #8
  %2222 = call i32 @isatty(i32 noundef %2221) #8
  %2223 = icmp ne i32 %2222, 0
  br i1 %2223, label %2224, label %2241

2224:                                             ; preds = %2219
  %2225 = load i32, ptr %49, align 4, !tbaa !5
  %2226 = call ptr @__errno_location() #9
  store i32 %2225, ptr %2226, align 4, !tbaa !5
  %2227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2228 = load i32, ptr @test_count, align 4, !tbaa !5
  %2229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2230 = load i32, ptr %2229, align 4, !tbaa !5
  %2231 = call ptr @s2n_strerror(i32 noundef %2230, ptr noundef @.str.4)
  %2232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2233 = load i32, ptr %2232, align 4, !tbaa !5
  %2234 = call ptr @s2n_strerror_debug(i32 noundef %2233, ptr noundef @.str.4)
  %2235 = call ptr @__errno_location() #9
  %2236 = load i32, ptr %2235, align 4, !tbaa !5
  %2237 = call ptr @strerror(i32 noundef %2236) #8
  %2238 = call ptr @__errno_location() #9
  %2239 = load i32, ptr %2238, align 4, !tbaa !5
  %2240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2227, ptr noundef @.str.2, i32 noundef %2228, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 102, ptr noundef %2231, ptr noundef %2234, ptr noundef %2237, i32 noundef %2239) #8
  br label %2258

2241:                                             ; preds = %2219, %2212
  %2242 = load i32, ptr %49, align 4, !tbaa !5
  %2243 = call ptr @__errno_location() #9
  store i32 %2242, ptr %2243, align 4, !tbaa !5
  %2244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2245 = load i32, ptr @test_count, align 4, !tbaa !5
  %2246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2247 = load i32, ptr %2246, align 4, !tbaa !5
  %2248 = call ptr @s2n_strerror(i32 noundef %2247, ptr noundef @.str.4)
  %2249 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2250 = load i32, ptr %2249, align 4, !tbaa !5
  %2251 = call ptr @s2n_strerror_debug(i32 noundef %2250, ptr noundef @.str.4)
  %2252 = call ptr @__errno_location() #9
  %2253 = load i32, ptr %2252, align 4, !tbaa !5
  %2254 = call ptr @strerror(i32 noundef %2253) #8
  %2255 = call ptr @__errno_location() #9
  %2256 = load i32, ptr %2255, align 4, !tbaa !5
  %2257 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2244, ptr noundef @.str.5, i32 noundef %2245, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 102, ptr noundef %2248, ptr noundef %2251, ptr noundef %2254, i32 noundef %2256) #8
  br label %2258

2258:                                             ; preds = %2241, %2224
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #8
  br label %2259

2259:                                             ; preds = %2258
  br label %2260

2260:                                             ; preds = %2259
  call void @exit(i32 noundef 1) #10
  unreachable

2261:                                             ; No predecessors!
  br label %2262

2262:                                             ; preds = %2261
  br label %2263

2263:                                             ; preds = %2262, %2204
  br label %2264

2264:                                             ; preds = %2263
  br label %2265

2265:                                             ; preds = %2264
  call void @llvm.lifetime.end.p0(i64 40, ptr %41) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #8
  store ptr null, ptr %50, align 8, !tbaa !9
  br label %2266

2266:                                             ; preds = %2265
  %2267 = load i32, ptr @test_count, align 4, !tbaa !5
  %2268 = add nsw i32 %2267, 1
  store i32 %2268, ptr @test_count, align 4, !tbaa !5
  %2269 = call ptr @s2n_config_new()
  store ptr %2269, ptr %50, align 8, !tbaa !9
  %2270 = icmp eq ptr %2269, null
  br i1 %2270, label %2271, label %2324

2271:                                             ; preds = %2266
  br label %2272

2272:                                             ; preds = %2271
  br label %2273

2273:                                             ; preds = %2272
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #8
  %2274 = call ptr @__errno_location() #9
  %2275 = load i32, ptr %2274, align 4, !tbaa !5
  store i32 %2275, ptr %51, align 4, !tbaa !5
  %2276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2277 = call i32 @s2n_print_stacktrace(ptr noundef %2276)
  %2278 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2279 = trunc i8 %2278 to i1
  br i1 %2279, label %2280, label %2302

2280:                                             ; preds = %2273
  %2281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2282 = call i32 @fileno(ptr noundef %2281) #8
  %2283 = call i32 @isatty(i32 noundef %2282) #8
  %2284 = icmp ne i32 %2283, 0
  br i1 %2284, label %2285, label %2302

2285:                                             ; preds = %2280
  %2286 = load i32, ptr %51, align 4, !tbaa !5
  %2287 = call ptr @__errno_location() #9
  store i32 %2286, ptr %2287, align 4, !tbaa !5
  %2288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2289 = load i32, ptr @test_count, align 4, !tbaa !5
  %2290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2291 = load i32, ptr %2290, align 4, !tbaa !5
  %2292 = call ptr @s2n_strerror(i32 noundef %2291, ptr noundef @.str.4)
  %2293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2294 = load i32, ptr %2293, align 4, !tbaa !5
  %2295 = call ptr @s2n_strerror_debug(i32 noundef %2294, ptr noundef @.str.4)
  %2296 = call ptr @__errno_location() #9
  %2297 = load i32, ptr %2296, align 4, !tbaa !5
  %2298 = call ptr @strerror(i32 noundef %2297) #8
  %2299 = call ptr @__errno_location() #9
  %2300 = load i32, ptr %2299, align 4, !tbaa !5
  %2301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2288, ptr noundef @.str.2, i32 noundef %2289, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 108, ptr noundef %2292, ptr noundef %2295, ptr noundef %2298, i32 noundef %2300) #8
  br label %2319

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

2319:                                             ; preds = %2302, %2285
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #8
  br label %2320

2320:                                             ; preds = %2319
  br label %2321

2321:                                             ; preds = %2320
  call void @exit(i32 noundef 1) #10
  unreachable

2322:                                             ; No predecessors!
  br label %2323

2323:                                             ; preds = %2322
  br label %2324

2324:                                             ; preds = %2323, %2266
  br label %2325

2325:                                             ; preds = %2324
  br label %2326

2326:                                             ; preds = %2325
  br label %2327

2327:                                             ; preds = %2326
  %2328 = load i32, ptr @test_count, align 4, !tbaa !5
  %2329 = add nsw i32 %2328, 1
  store i32 %2329, ptr @test_count, align 4, !tbaa !5
  %2330 = load ptr, ptr %50, align 8, !tbaa !9
  %2331 = call i32 @s2n_config_send_max_fragment_length(ptr noundef %2330, i32 noundef 1)
  %2332 = icmp eq i32 %2331, -1
  br i1 %2332, label %2333, label %2386

2333:                                             ; preds = %2327
  br label %2334

2334:                                             ; preds = %2333
  br label %2335

2335:                                             ; preds = %2334
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #8
  %2336 = call ptr @__errno_location() #9
  %2337 = load i32, ptr %2336, align 4, !tbaa !5
  store i32 %2337, ptr %52, align 4, !tbaa !5
  %2338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2339 = call i32 @s2n_print_stacktrace(ptr noundef %2338)
  %2340 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2341 = trunc i8 %2340 to i1
  br i1 %2341, label %2342, label %2364

2342:                                             ; preds = %2335
  %2343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2344 = call i32 @fileno(ptr noundef %2343) #8
  %2345 = call i32 @isatty(i32 noundef %2344) #8
  %2346 = icmp ne i32 %2345, 0
  br i1 %2346, label %2347, label %2364

2347:                                             ; preds = %2342
  %2348 = load i32, ptr %52, align 4, !tbaa !5
  %2349 = call ptr @__errno_location() #9
  store i32 %2348, ptr %2349, align 4, !tbaa !5
  %2350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2351 = load i32, ptr @test_count, align 4, !tbaa !5
  %2352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2353 = load i32, ptr %2352, align 4, !tbaa !5
  %2354 = call ptr @s2n_strerror(i32 noundef %2353, ptr noundef @.str.4)
  %2355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2356 = load i32, ptr %2355, align 4, !tbaa !5
  %2357 = call ptr @s2n_strerror_debug(i32 noundef %2356, ptr noundef @.str.4)
  %2358 = call ptr @__errno_location() #9
  %2359 = load i32, ptr %2358, align 4, !tbaa !5
  %2360 = call ptr @strerror(i32 noundef %2359) #8
  %2361 = call ptr @__errno_location() #9
  %2362 = load i32, ptr %2361, align 4, !tbaa !5
  %2363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2350, ptr noundef @.str.2, i32 noundef %2351, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 109, ptr noundef %2354, ptr noundef %2357, ptr noundef %2360, i32 noundef %2362) #8
  br label %2381

2364:                                             ; preds = %2342, %2335
  %2365 = load i32, ptr %52, align 4, !tbaa !5
  %2366 = call ptr @__errno_location() #9
  store i32 %2365, ptr %2366, align 4, !tbaa !5
  %2367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2368 = load i32, ptr @test_count, align 4, !tbaa !5
  %2369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2370 = load i32, ptr %2369, align 4, !tbaa !5
  %2371 = call ptr @s2n_strerror(i32 noundef %2370, ptr noundef @.str.4)
  %2372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2373 = load i32, ptr %2372, align 4, !tbaa !5
  %2374 = call ptr @s2n_strerror_debug(i32 noundef %2373, ptr noundef @.str.4)
  %2375 = call ptr @__errno_location() #9
  %2376 = load i32, ptr %2375, align 4, !tbaa !5
  %2377 = call ptr @strerror(i32 noundef %2376) #8
  %2378 = call ptr @__errno_location() #9
  %2379 = load i32, ptr %2378, align 4, !tbaa !5
  %2380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2367, ptr noundef @.str.5, i32 noundef %2368, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 109, ptr noundef %2371, ptr noundef %2374, ptr noundef %2377, i32 noundef %2379) #8
  br label %2381

2381:                                             ; preds = %2364, %2347
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #8
  br label %2382

2382:                                             ; preds = %2381
  br label %2383

2383:                                             ; preds = %2382
  call void @exit(i32 noundef 1) #10
  unreachable

2384:                                             ; No predecessors!
  br label %2385

2385:                                             ; preds = %2384
  br label %2386

2386:                                             ; preds = %2385, %2327
  br label %2387

2387:                                             ; preds = %2386
  br label %2388

2388:                                             ; preds = %2387
  call void @llvm.lifetime.start.p0(i64 8, ptr %53) #8
  store ptr null, ptr %53, align 8, !tbaa !9
  br label %2389

2389:                                             ; preds = %2388
  %2390 = load i32, ptr @test_count, align 4, !tbaa !5
  %2391 = add nsw i32 %2390, 1
  store i32 %2391, ptr @test_count, align 4, !tbaa !5
  %2392 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %2392, ptr %53, align 8, !tbaa !9
  %2393 = icmp eq ptr %2392, null
  br i1 %2393, label %2394, label %2447

2394:                                             ; preds = %2389
  br label %2395

2395:                                             ; preds = %2394
  br label %2396

2396:                                             ; preds = %2395
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #8
  %2397 = call ptr @__errno_location() #9
  %2398 = load i32, ptr %2397, align 4, !tbaa !5
  store i32 %2398, ptr %54, align 4, !tbaa !5
  %2399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2400 = call i32 @s2n_print_stacktrace(ptr noundef %2399)
  %2401 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2402 = trunc i8 %2401 to i1
  br i1 %2402, label %2403, label %2425

2403:                                             ; preds = %2396
  %2404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2405 = call i32 @fileno(ptr noundef %2404) #8
  %2406 = call i32 @isatty(i32 noundef %2405) #8
  %2407 = icmp ne i32 %2406, 0
  br i1 %2407, label %2408, label %2425

2408:                                             ; preds = %2403
  %2409 = load i32, ptr %54, align 4, !tbaa !5
  %2410 = call ptr @__errno_location() #9
  store i32 %2409, ptr %2410, align 4, !tbaa !5
  %2411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2412 = load i32, ptr @test_count, align 4, !tbaa !5
  %2413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2414 = load i32, ptr %2413, align 4, !tbaa !5
  %2415 = call ptr @s2n_strerror(i32 noundef %2414, ptr noundef @.str.4)
  %2416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2417 = load i32, ptr %2416, align 4, !tbaa !5
  %2418 = call ptr @s2n_strerror_debug(i32 noundef %2417, ptr noundef @.str.4)
  %2419 = call ptr @__errno_location() #9
  %2420 = load i32, ptr %2419, align 4, !tbaa !5
  %2421 = call ptr @strerror(i32 noundef %2420) #8
  %2422 = call ptr @__errno_location() #9
  %2423 = load i32, ptr %2422, align 4, !tbaa !5
  %2424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2411, ptr noundef @.str.2, i32 noundef %2412, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 112, ptr noundef %2415, ptr noundef %2418, ptr noundef %2421, i32 noundef %2423) #8
  br label %2442

2425:                                             ; preds = %2403, %2396
  %2426 = load i32, ptr %54, align 4, !tbaa !5
  %2427 = call ptr @__errno_location() #9
  store i32 %2426, ptr %2427, align 4, !tbaa !5
  %2428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2429 = load i32, ptr @test_count, align 4, !tbaa !5
  %2430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2431 = load i32, ptr %2430, align 4, !tbaa !5
  %2432 = call ptr @s2n_strerror(i32 noundef %2431, ptr noundef @.str.4)
  %2433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2434 = load i32, ptr %2433, align 4, !tbaa !5
  %2435 = call ptr @s2n_strerror_debug(i32 noundef %2434, ptr noundef @.str.4)
  %2436 = call ptr @__errno_location() #9
  %2437 = load i32, ptr %2436, align 4, !tbaa !5
  %2438 = call ptr @strerror(i32 noundef %2437) #8
  %2439 = call ptr @__errno_location() #9
  %2440 = load i32, ptr %2439, align 4, !tbaa !5
  %2441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2428, ptr noundef @.str.5, i32 noundef %2429, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 112, ptr noundef %2432, ptr noundef %2435, ptr noundef %2438, i32 noundef %2440) #8
  br label %2442

2442:                                             ; preds = %2425, %2408
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #8
  br label %2443

2443:                                             ; preds = %2442
  br label %2444

2444:                                             ; preds = %2443
  call void @exit(i32 noundef 1) #10
  unreachable

2445:                                             ; No predecessors!
  br label %2446

2446:                                             ; preds = %2445
  br label %2447

2447:                                             ; preds = %2446, %2389
  br label %2448

2448:                                             ; preds = %2447
  br label %2449

2449:                                             ; preds = %2448
  br label %2450

2450:                                             ; preds = %2449
  %2451 = load i32, ptr @test_count, align 4, !tbaa !5
  %2452 = add nsw i32 %2451, 1
  store i32 %2452, ptr @test_count, align 4, !tbaa !5
  %2453 = load ptr, ptr %53, align 8, !tbaa !9
  %2454 = load ptr, ptr %50, align 8, !tbaa !9
  %2455 = call i32 @s2n_connection_set_config(ptr noundef %2453, ptr noundef %2454)
  %2456 = icmp eq i32 %2455, -1
  br i1 %2456, label %2457, label %2510

2457:                                             ; preds = %2450
  br label %2458

2458:                                             ; preds = %2457
  br label %2459

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

2466:                                             ; preds = %2459
  %2467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2468 = call i32 @fileno(ptr noundef %2467) #8
  %2469 = call i32 @isatty(i32 noundef %2468) #8
  %2470 = icmp ne i32 %2469, 0
  br i1 %2470, label %2471, label %2488

2471:                                             ; preds = %2466
  %2472 = load i32, ptr %55, align 4, !tbaa !5
  %2473 = call ptr @__errno_location() #9
  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() #9
  %2483 = load i32, ptr %2482, align 4, !tbaa !5
  %2484 = call ptr @strerror(i32 noundef %2483) #8
  %2485 = call ptr @__errno_location() #9
  %2486 = load i32, ptr %2485, align 4, !tbaa !5
  %2487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2474, ptr noundef @.str.2, i32 noundef %2475, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 113, ptr noundef %2478, ptr noundef %2481, ptr noundef %2484, i32 noundef %2486) #8
  br label %2505

2488:                                             ; preds = %2466, %2459
  %2489 = load i32, ptr %55, align 4, !tbaa !5
  %2490 = call ptr @__errno_location() #9
  store i32 %2489, ptr %2490, align 4, !tbaa !5
  %2491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2492 = load i32, ptr @test_count, align 4, !tbaa !5
  %2493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2494 = load i32, ptr %2493, align 4, !tbaa !5
  %2495 = call ptr @s2n_strerror(i32 noundef %2494, ptr noundef @.str.4)
  %2496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2497 = load i32, ptr %2496, align 4, !tbaa !5
  %2498 = call ptr @s2n_strerror_debug(i32 noundef %2497, ptr noundef @.str.4)
  %2499 = call ptr @__errno_location() #9
  %2500 = load i32, ptr %2499, align 4, !tbaa !5
  %2501 = call ptr @strerror(i32 noundef %2500) #8
  %2502 = call ptr @__errno_location() #9
  %2503 = load i32, ptr %2502, align 4, !tbaa !5
  %2504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2491, ptr noundef @.str.5, i32 noundef %2492, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 113, ptr noundef %2495, ptr noundef %2498, ptr noundef %2501, i32 noundef %2503) #8
  br label %2505

2505:                                             ; preds = %2488, %2471
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #8
  br label %2506

2506:                                             ; preds = %2505
  br label %2507

2507:                                             ; preds = %2506
  call void @exit(i32 noundef 1) #10
  unreachable

2508:                                             ; No predecessors!
  br label %2509

2509:                                             ; preds = %2508
  br label %2510

2510:                                             ; preds = %2509, %2450
  br label %2511

2511:                                             ; preds = %2510
  br label %2512

2512:                                             ; preds = %2511
  call void @llvm.lifetime.start.p0(i64 40, ptr %56) #8
  call void @llvm.memset.p0.i64(ptr align 8 %56, i8 0, i64 40, i1 false)
  br label %2513

2513:                                             ; preds = %2512
  %2514 = load i32, ptr @test_count, align 4, !tbaa !5
  %2515 = add nsw i32 %2514, 1
  store i32 %2515, ptr @test_count, align 4, !tbaa !5
  %2516 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %56, i32 noundef 0)
  %2517 = icmp eq i32 %2516, -1
  br i1 %2517, label %2518, label %2571

2518:                                             ; preds = %2513
  br label %2519

2519:                                             ; preds = %2518
  br label %2520

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

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

2532:                                             ; preds = %2527
  %2533 = load i32, ptr %57, align 4, !tbaa !5
  %2534 = call ptr @__errno_location() #9
  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() #9
  %2544 = load i32, ptr %2543, align 4, !tbaa !5
  %2545 = call ptr @strerror(i32 noundef %2544) #8
  %2546 = call ptr @__errno_location() #9
  %2547 = load i32, ptr %2546, align 4, !tbaa !5
  %2548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2535, ptr noundef @.str.2, i32 noundef %2536, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 116, ptr noundef %2539, ptr noundef %2542, ptr noundef %2545, i32 noundef %2547) #8
  br label %2566

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

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

2567:                                             ; preds = %2566
  br label %2568

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

2569:                                             ; No predecessors!
  br label %2570

2570:                                             ; preds = %2569
  br label %2571

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

2572:                                             ; preds = %2571
  br label %2573

2573:                                             ; preds = %2572
  %2574 = load ptr, ptr %53, align 8, !tbaa !9
  %2575 = getelementptr inbounds %struct.s2n_connection, ptr %2574, i32 0, i32 57
  store i8 1, ptr %2575, align 8, !tbaa !18
  br label %2576

2576:                                             ; preds = %2573
  %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 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_server_max_fragment_length_extension, i32 0, i32 3), align 8, !tbaa !44
  %2580 = load ptr, ptr %53, align 8, !tbaa !9
  %2581 = call i32 %2579(ptr noundef %2580, ptr noundef %56)
  %2582 = icmp eq i32 %2581, -1
  br i1 %2582, label %2583, label %2636

2583:                                             ; preds = %2576
  br label %2584

2584:                                             ; preds = %2583
  br label %2585

2585:                                             ; preds = %2584
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #8
  %2586 = call ptr @__errno_location() #9
  %2587 = load i32, ptr %2586, align 4, !tbaa !5
  store i32 %2587, ptr %58, align 4, !tbaa !5
  %2588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2589 = call i32 @s2n_print_stacktrace(ptr noundef %2588)
  %2590 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2591 = trunc i8 %2590 to i1
  br i1 %2591, label %2592, label %2614

2592:                                             ; preds = %2585
  %2593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2594 = call i32 @fileno(ptr noundef %2593) #8
  %2595 = call i32 @isatty(i32 noundef %2594) #8
  %2596 = icmp ne i32 %2595, 0
  br i1 %2596, label %2597, label %2614

2597:                                             ; preds = %2592
  %2598 = load i32, ptr %58, align 4, !tbaa !5
  %2599 = call ptr @__errno_location() #9
  store i32 %2598, ptr %2599, align 4, !tbaa !5
  %2600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2601 = load i32, ptr @test_count, align 4, !tbaa !5
  %2602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2603 = load i32, ptr %2602, align 4, !tbaa !5
  %2604 = call ptr @s2n_strerror(i32 noundef %2603, ptr noundef @.str.4)
  %2605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2606 = load i32, ptr %2605, align 4, !tbaa !5
  %2607 = call ptr @s2n_strerror_debug(i32 noundef %2606, ptr noundef @.str.4)
  %2608 = call ptr @__errno_location() #9
  %2609 = load i32, ptr %2608, align 4, !tbaa !5
  %2610 = call ptr @strerror(i32 noundef %2609) #8
  %2611 = call ptr @__errno_location() #9
  %2612 = load i32, ptr %2611, align 4, !tbaa !5
  %2613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2600, ptr noundef @.str.2, i32 noundef %2601, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 119, ptr noundef %2604, ptr noundef %2607, ptr noundef %2610, i32 noundef %2612) #8
  br label %2631

2614:                                             ; preds = %2592, %2585
  %2615 = load i32, ptr %58, align 4, !tbaa !5
  %2616 = call ptr @__errno_location() #9
  store i32 %2615, ptr %2616, align 4, !tbaa !5
  %2617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2618 = load i32, ptr @test_count, align 4, !tbaa !5
  %2619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2620 = load i32, ptr %2619, align 4, !tbaa !5
  %2621 = call ptr @s2n_strerror(i32 noundef %2620, ptr noundef @.str.4)
  %2622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2623 = load i32, ptr %2622, align 4, !tbaa !5
  %2624 = call ptr @s2n_strerror_debug(i32 noundef %2623, ptr noundef @.str.4)
  %2625 = call ptr @__errno_location() #9
  %2626 = load i32, ptr %2625, align 4, !tbaa !5
  %2627 = call ptr @strerror(i32 noundef %2626) #8
  %2628 = call ptr @__errno_location() #9
  %2629 = load i32, ptr %2628, align 4, !tbaa !5
  %2630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2617, ptr noundef @.str.5, i32 noundef %2618, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 119, ptr noundef %2621, ptr noundef %2624, ptr noundef %2627, i32 noundef %2629) #8
  br label %2631

2631:                                             ; preds = %2614, %2597
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #8
  br label %2632

2632:                                             ; preds = %2631
  br label %2633

2633:                                             ; preds = %2632
  call void @exit(i32 noundef 1) #10
  unreachable

2634:                                             ; No predecessors!
  br label %2635

2635:                                             ; preds = %2634
  br label %2636

2636:                                             ; preds = %2635, %2576
  br label %2637

2637:                                             ; preds = %2636
  br label %2638

2638:                                             ; preds = %2637
  br label %2639

2639:                                             ; preds = %2638
  %2640 = load i32, ptr @test_count, align 4, !tbaa !5
  %2641 = add nsw i32 %2640, 1
  store i32 %2641, ptr @test_count, align 4, !tbaa !5
  %2642 = getelementptr inbounds %struct.s2n_stuffer, ptr %56, i32 0, i32 2
  %2643 = load i32, ptr %2642, align 4, !tbaa !46
  %2644 = getelementptr inbounds %struct.s2n_stuffer, ptr %56, i32 0, i32 1
  %2645 = load i32, ptr %2644, align 8, !tbaa !47
  %2646 = sub i32 %2643, %2645
  %2647 = icmp eq i32 %2646, 0
  br i1 %2647, label %2648, label %2701

2648:                                             ; preds = %2639
  br label %2649

2649:                                             ; preds = %2648
  br label %2650

2650:                                             ; preds = %2649
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #8
  %2651 = call ptr @__errno_location() #9
  %2652 = load i32, ptr %2651, align 4, !tbaa !5
  store i32 %2652, ptr %59, align 4, !tbaa !5
  %2653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2654 = call i32 @s2n_print_stacktrace(ptr noundef %2653)
  %2655 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2656 = trunc i8 %2655 to i1
  br i1 %2656, label %2657, label %2679

2657:                                             ; preds = %2650
  %2658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2659 = call i32 @fileno(ptr noundef %2658) #8
  %2660 = call i32 @isatty(i32 noundef %2659) #8
  %2661 = icmp ne i32 %2660, 0
  br i1 %2661, label %2662, label %2679

2662:                                             ; preds = %2657
  %2663 = load i32, ptr %59, align 4, !tbaa !5
  %2664 = call ptr @__errno_location() #9
  store i32 %2663, ptr %2664, align 4, !tbaa !5
  %2665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2666 = load i32, ptr @test_count, align 4, !tbaa !5
  %2667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2668 = load i32, ptr %2667, align 4, !tbaa !5
  %2669 = call ptr @s2n_strerror(i32 noundef %2668, ptr noundef @.str.4)
  %2670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2671 = load i32, ptr %2670, align 4, !tbaa !5
  %2672 = call ptr @s2n_strerror_debug(i32 noundef %2671, ptr noundef @.str.4)
  %2673 = call ptr @__errno_location() #9
  %2674 = load i32, ptr %2673, align 4, !tbaa !5
  %2675 = call ptr @strerror(i32 noundef %2674) #8
  %2676 = call ptr @__errno_location() #9
  %2677 = load i32, ptr %2676, align 4, !tbaa !5
  %2678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2665, ptr noundef @.str.2, i32 noundef %2666, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 120, ptr noundef %2669, ptr noundef %2672, ptr noundef %2675, i32 noundef %2677) #8
  br label %2696

2679:                                             ; preds = %2657, %2650
  %2680 = load i32, ptr %59, align 4, !tbaa !5
  %2681 = call ptr @__errno_location() #9
  store i32 %2680, ptr %2681, align 4, !tbaa !5
  %2682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2683 = load i32, ptr @test_count, align 4, !tbaa !5
  %2684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2685 = load i32, ptr %2684, align 4, !tbaa !5
  %2686 = call ptr @s2n_strerror(i32 noundef %2685, ptr noundef @.str.4)
  %2687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2688 = load i32, ptr %2687, align 4, !tbaa !5
  %2689 = call ptr @s2n_strerror_debug(i32 noundef %2688, ptr noundef @.str.4)
  %2690 = call ptr @__errno_location() #9
  %2691 = load i32, ptr %2690, align 4, !tbaa !5
  %2692 = call ptr @strerror(i32 noundef %2691) #8
  %2693 = call ptr @__errno_location() #9
  %2694 = load i32, ptr %2693, align 4, !tbaa !5
  %2695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2682, ptr noundef @.str.5, i32 noundef %2683, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 120, ptr noundef %2686, ptr noundef %2689, ptr noundef %2692, i32 noundef %2694) #8
  br label %2696

2696:                                             ; preds = %2679, %2662
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #8
  br label %2697

2697:                                             ; preds = %2696
  br label %2698

2698:                                             ; preds = %2697
  call void @exit(i32 noundef 1) #10
  unreachable

2699:                                             ; No predecessors!
  br label %2700

2700:                                             ; preds = %2699
  br label %2701

2701:                                             ; preds = %2700, %2639
  br label %2702

2702:                                             ; preds = %2701
  br label %2703

2703:                                             ; preds = %2702
  %2704 = load ptr, ptr %53, align 8, !tbaa !9
  %2705 = getelementptr inbounds %struct.s2n_connection, ptr %2704, i32 0, i32 57
  store i8 0, ptr %2705, align 8, !tbaa !18
  br label %2706

2706:                                             ; preds = %2703
  %2707 = load i32, ptr @test_count, align 4, !tbaa !5
  %2708 = add nsw i32 %2707, 1
  store i32 %2708, ptr @test_count, align 4, !tbaa !5
  %2709 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_server_max_fragment_length_extension, i32 0, i32 4), align 8, !tbaa !48
  %2710 = load ptr, ptr %53, align 8, !tbaa !9
  %2711 = call i32 %2709(ptr noundef %2710, ptr noundef %56)
  %2712 = icmp eq i32 %2711, -1
  br i1 %2712, label %2713, label %2766

2713:                                             ; preds = %2706
  br label %2714

2714:                                             ; preds = %2713
  br label %2715

2715:                                             ; preds = %2714
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #8
  %2716 = call ptr @__errno_location() #9
  %2717 = load i32, ptr %2716, align 4, !tbaa !5
  store i32 %2717, ptr %60, align 4, !tbaa !5
  %2718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2719 = call i32 @s2n_print_stacktrace(ptr noundef %2718)
  %2720 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2721 = trunc i8 %2720 to i1
  br i1 %2721, label %2722, label %2744

2722:                                             ; preds = %2715
  %2723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2724 = call i32 @fileno(ptr noundef %2723) #8
  %2725 = call i32 @isatty(i32 noundef %2724) #8
  %2726 = icmp ne i32 %2725, 0
  br i1 %2726, label %2727, label %2744

2727:                                             ; preds = %2722
  %2728 = load i32, ptr %60, align 4, !tbaa !5
  %2729 = call ptr @__errno_location() #9
  store i32 %2728, ptr %2729, align 4, !tbaa !5
  %2730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2731 = load i32, ptr @test_count, align 4, !tbaa !5
  %2732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2733 = load i32, ptr %2732, align 4, !tbaa !5
  %2734 = call ptr @s2n_strerror(i32 noundef %2733, ptr noundef @.str.4)
  %2735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2736 = load i32, ptr %2735, align 4, !tbaa !5
  %2737 = call ptr @s2n_strerror_debug(i32 noundef %2736, ptr noundef @.str.4)
  %2738 = call ptr @__errno_location() #9
  %2739 = load i32, ptr %2738, align 4, !tbaa !5
  %2740 = call ptr @strerror(i32 noundef %2739) #8
  %2741 = call ptr @__errno_location() #9
  %2742 = load i32, ptr %2741, align 4, !tbaa !5
  %2743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2730, ptr noundef @.str.2, i32 noundef %2731, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 123, ptr noundef %2734, ptr noundef %2737, ptr noundef %2740, i32 noundef %2742) #8
  br label %2761

2744:                                             ; preds = %2722, %2715
  %2745 = load i32, ptr %60, align 4, !tbaa !5
  %2746 = call ptr @__errno_location() #9
  store i32 %2745, ptr %2746, align 4, !tbaa !5
  %2747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2748 = load i32, ptr @test_count, align 4, !tbaa !5
  %2749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2750 = load i32, ptr %2749, align 4, !tbaa !5
  %2751 = call ptr @s2n_strerror(i32 noundef %2750, ptr noundef @.str.4)
  %2752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2753 = load i32, ptr %2752, align 4, !tbaa !5
  %2754 = call ptr @s2n_strerror_debug(i32 noundef %2753, ptr noundef @.str.4)
  %2755 = call ptr @__errno_location() #9
  %2756 = load i32, ptr %2755, align 4, !tbaa !5
  %2757 = call ptr @strerror(i32 noundef %2756) #8
  %2758 = call ptr @__errno_location() #9
  %2759 = load i32, ptr %2758, align 4, !tbaa !5
  %2760 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2747, ptr noundef @.str.5, i32 noundef %2748, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 123, ptr noundef %2751, ptr noundef %2754, ptr noundef %2757, i32 noundef %2759) #8
  br label %2761

2761:                                             ; preds = %2744, %2727
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #8
  br label %2762

2762:                                             ; preds = %2761
  br label %2763

2763:                                             ; preds = %2762
  call void @exit(i32 noundef 1) #10
  unreachable

2764:                                             ; No predecessors!
  br label %2765

2765:                                             ; preds = %2764
  br label %2766

2766:                                             ; preds = %2765, %2706
  br label %2767

2767:                                             ; preds = %2766
  br label %2768

2768:                                             ; preds = %2767
  br label %2769

2769:                                             ; preds = %2768
  %2770 = load i32, ptr @test_count, align 4, !tbaa !5
  %2771 = add nsw i32 %2770, 1
  store i32 %2771, ptr @test_count, align 4, !tbaa !5
  %2772 = getelementptr inbounds %struct.s2n_stuffer, ptr %56, i32 0, i32 2
  %2773 = load i32, ptr %2772, align 4, !tbaa !46
  %2774 = getelementptr inbounds %struct.s2n_stuffer, ptr %56, i32 0, i32 1
  %2775 = load i32, ptr %2774, align 8, !tbaa !47
  %2776 = sub i32 %2773, %2775
  %2777 = icmp eq i32 %2776, 0
  br i1 %2777, label %2831, label %2778

2778:                                             ; preds = %2769
  br label %2779

2779:                                             ; preds = %2778
  br label %2780

2780:                                             ; preds = %2779
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #8
  %2781 = call ptr @__errno_location() #9
  %2782 = load i32, ptr %2781, align 4, !tbaa !5
  store i32 %2782, ptr %61, align 4, !tbaa !5
  %2783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2784 = call i32 @s2n_print_stacktrace(ptr noundef %2783)
  %2785 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2786 = trunc i8 %2785 to i1
  br i1 %2786, label %2787, label %2809

2787:                                             ; preds = %2780
  %2788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2789 = call i32 @fileno(ptr noundef %2788) #8
  %2790 = call i32 @isatty(i32 noundef %2789) #8
  %2791 = icmp ne i32 %2790, 0
  br i1 %2791, label %2792, label %2809

2792:                                             ; preds = %2787
  %2793 = load i32, ptr %61, align 4, !tbaa !5
  %2794 = call ptr @__errno_location() #9
  store i32 %2793, ptr %2794, align 4, !tbaa !5
  %2795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2796 = load i32, ptr @test_count, align 4, !tbaa !5
  %2797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2798 = load i32, ptr %2797, align 4, !tbaa !5
  %2799 = call ptr @s2n_strerror(i32 noundef %2798, ptr noundef @.str.4)
  %2800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2801 = load i32, ptr %2800, align 4, !tbaa !5
  %2802 = call ptr @s2n_strerror_debug(i32 noundef %2801, ptr noundef @.str.4)
  %2803 = call ptr @__errno_location() #9
  %2804 = load i32, ptr %2803, align 4, !tbaa !5
  %2805 = call ptr @strerror(i32 noundef %2804) #8
  %2806 = call ptr @__errno_location() #9
  %2807 = load i32, ptr %2806, align 4, !tbaa !5
  %2808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2795, ptr noundef @.str.2, i32 noundef %2796, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 124, ptr noundef %2799, ptr noundef %2802, ptr noundef %2805, i32 noundef %2807) #8
  br label %2826

2809:                                             ; preds = %2787, %2780
  %2810 = load i32, ptr %61, align 4, !tbaa !5
  %2811 = call ptr @__errno_location() #9
  store i32 %2810, ptr %2811, align 4, !tbaa !5
  %2812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2813 = load i32, ptr @test_count, align 4, !tbaa !5
  %2814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2815 = load i32, ptr %2814, align 4, !tbaa !5
  %2816 = call ptr @s2n_strerror(i32 noundef %2815, ptr noundef @.str.4)
  %2817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2818 = load i32, ptr %2817, align 4, !tbaa !5
  %2819 = call ptr @s2n_strerror_debug(i32 noundef %2818, ptr noundef @.str.4)
  %2820 = call ptr @__errno_location() #9
  %2821 = load i32, ptr %2820, align 4, !tbaa !5
  %2822 = call ptr @strerror(i32 noundef %2821) #8
  %2823 = call ptr @__errno_location() #9
  %2824 = load i32, ptr %2823, align 4, !tbaa !5
  %2825 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2812, ptr noundef @.str.5, i32 noundef %2813, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 124, ptr noundef %2816, ptr noundef %2819, ptr noundef %2822, i32 noundef %2824) #8
  br label %2826

2826:                                             ; preds = %2809, %2792
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #8
  br label %2827

2827:                                             ; preds = %2826
  br label %2828

2828:                                             ; preds = %2827
  call void @exit(i32 noundef 1) #10
  unreachable

2829:                                             ; No predecessors!
  br label %2830

2830:                                             ; preds = %2829
  br label %2831

2831:                                             ; preds = %2830, %2769
  br label %2832

2832:                                             ; preds = %2831
  br label %2833

2833:                                             ; preds = %2832
  br label %2834

2834:                                             ; preds = %2833
  %2835 = load i32, ptr @test_count, align 4, !tbaa !5
  %2836 = add nsw i32 %2835, 1
  store i32 %2836, ptr @test_count, align 4, !tbaa !5
  %2837 = load ptr, ptr %53, align 8, !tbaa !9
  %2838 = getelementptr inbounds %struct.s2n_connection, ptr %2837, i32 0, i32 57
  %2839 = load i8, ptr %2838, align 8, !tbaa !18
  %2840 = zext i8 %2839 to i32
  %2841 = icmp eq i32 %2840, 1
  br i1 %2841, label %2895, label %2842

2842:                                             ; preds = %2834
  br label %2843

2843:                                             ; preds = %2842
  br label %2844

2844:                                             ; preds = %2843
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #8
  %2845 = call ptr @__errno_location() #9
  %2846 = load i32, ptr %2845, align 4, !tbaa !5
  store i32 %2846, ptr %62, align 4, !tbaa !5
  %2847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2848 = call i32 @s2n_print_stacktrace(ptr noundef %2847)
  %2849 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2850 = trunc i8 %2849 to i1
  br i1 %2850, label %2851, label %2873

2851:                                             ; preds = %2844
  %2852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2853 = call i32 @fileno(ptr noundef %2852) #8
  %2854 = call i32 @isatty(i32 noundef %2853) #8
  %2855 = icmp ne i32 %2854, 0
  br i1 %2855, label %2856, label %2873

2856:                                             ; preds = %2851
  %2857 = load i32, ptr %62, align 4, !tbaa !5
  %2858 = call ptr @__errno_location() #9
  store i32 %2857, ptr %2858, align 4, !tbaa !5
  %2859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2860 = load i32, ptr @test_count, align 4, !tbaa !5
  %2861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2862 = load i32, ptr %2861, align 4, !tbaa !5
  %2863 = call ptr @s2n_strerror(i32 noundef %2862, ptr noundef @.str.4)
  %2864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2865 = load i32, ptr %2864, align 4, !tbaa !5
  %2866 = call ptr @s2n_strerror_debug(i32 noundef %2865, ptr noundef @.str.4)
  %2867 = call ptr @__errno_location() #9
  %2868 = load i32, ptr %2867, align 4, !tbaa !5
  %2869 = call ptr @strerror(i32 noundef %2868) #8
  %2870 = call ptr @__errno_location() #9
  %2871 = load i32, ptr %2870, align 4, !tbaa !5
  %2872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2859, ptr noundef @.str.2, i32 noundef %2860, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 126, ptr noundef %2863, ptr noundef %2866, ptr noundef %2869, i32 noundef %2871) #8
  br label %2890

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

2890:                                             ; preds = %2873, %2856
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #8
  br label %2891

2891:                                             ; preds = %2890
  br label %2892

2892:                                             ; preds = %2891
  call void @exit(i32 noundef 1) #10
  unreachable

2893:                                             ; No predecessors!
  br label %2894

2894:                                             ; preds = %2893
  br label %2895

2895:                                             ; preds = %2894, %2834
  br label %2896

2896:                                             ; preds = %2895
  br label %2897

2897:                                             ; preds = %2896
  br label %2898

2898:                                             ; preds = %2897
  %2899 = load i32, ptr @test_count, align 4, !tbaa !5
  %2900 = add nsw i32 %2899, 1
  store i32 %2900, ptr @test_count, align 4, !tbaa !5
  %2901 = load ptr, ptr %53, align 8, !tbaa !9
  %2902 = getelementptr inbounds %struct.s2n_connection, ptr %2901, i32 0, i32 53
  %2903 = load i16, ptr %2902, align 8, !tbaa !49
  %2904 = zext i16 %2903 to i32
  %2905 = icmp eq i32 %2904, 512
  br i1 %2905, label %2959, label %2906

2906:                                             ; preds = %2898
  br label %2907

2907:                                             ; preds = %2906
  br label %2908

2908:                                             ; preds = %2907
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #8
  %2909 = call ptr @__errno_location() #9
  %2910 = load i32, ptr %2909, align 4, !tbaa !5
  store i32 %2910, ptr %63, align 4, !tbaa !5
  %2911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2912 = call i32 @s2n_print_stacktrace(ptr noundef %2911)
  %2913 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2914 = trunc i8 %2913 to i1
  br i1 %2914, label %2915, label %2937

2915:                                             ; preds = %2908
  %2916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2917 = call i32 @fileno(ptr noundef %2916) #8
  %2918 = call i32 @isatty(i32 noundef %2917) #8
  %2919 = icmp ne i32 %2918, 0
  br i1 %2919, label %2920, label %2937

2920:                                             ; preds = %2915
  %2921 = load i32, ptr %63, align 4, !tbaa !5
  %2922 = call ptr @__errno_location() #9
  store i32 %2921, ptr %2922, align 4, !tbaa !5
  %2923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2924 = load i32, ptr @test_count, align 4, !tbaa !5
  %2925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2926 = load i32, ptr %2925, align 4, !tbaa !5
  %2927 = call ptr @s2n_strerror(i32 noundef %2926, ptr noundef @.str.4)
  %2928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2929 = load i32, ptr %2928, align 4, !tbaa !5
  %2930 = call ptr @s2n_strerror_debug(i32 noundef %2929, ptr noundef @.str.4)
  %2931 = call ptr @__errno_location() #9
  %2932 = load i32, ptr %2931, align 4, !tbaa !5
  %2933 = call ptr @strerror(i32 noundef %2932) #8
  %2934 = call ptr @__errno_location() #9
  %2935 = load i32, ptr %2934, align 4, !tbaa !5
  %2936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2923, ptr noundef @.str.2, i32 noundef %2924, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 127, ptr noundef %2927, ptr noundef %2930, ptr noundef %2933, i32 noundef %2935) #8
  br label %2954

2937:                                             ; preds = %2915, %2908
  %2938 = load i32, ptr %63, align 4, !tbaa !5
  %2939 = call ptr @__errno_location() #9
  store i32 %2938, ptr %2939, align 4, !tbaa !5
  %2940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2941 = load i32, ptr @test_count, align 4, !tbaa !5
  %2942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2943 = load i32, ptr %2942, align 4, !tbaa !5
  %2944 = call ptr @s2n_strerror(i32 noundef %2943, ptr noundef @.str.4)
  %2945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2946 = load i32, ptr %2945, align 4, !tbaa !5
  %2947 = call ptr @s2n_strerror_debug(i32 noundef %2946, ptr noundef @.str.4)
  %2948 = call ptr @__errno_location() #9
  %2949 = load i32, ptr %2948, align 4, !tbaa !5
  %2950 = call ptr @strerror(i32 noundef %2949) #8
  %2951 = call ptr @__errno_location() #9
  %2952 = load i32, ptr %2951, align 4, !tbaa !5
  %2953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2940, ptr noundef @.str.5, i32 noundef %2941, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 127, ptr noundef %2944, ptr noundef %2947, ptr noundef %2950, i32 noundef %2952) #8
  br label %2954

2954:                                             ; preds = %2937, %2920
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #8
  br label %2955

2955:                                             ; preds = %2954
  br label %2956

2956:                                             ; preds = %2955
  call void @exit(i32 noundef 1) #10
  unreachable

2957:                                             ; No predecessors!
  br label %2958

2958:                                             ; preds = %2957
  br label %2959

2959:                                             ; preds = %2958, %2898
  br label %2960

2960:                                             ; preds = %2959
  br label %2961

2961:                                             ; preds = %2960
  br label %2962

2962:                                             ; preds = %2961
  %2963 = load i32, ptr @test_count, align 4, !tbaa !5
  %2964 = add nsw i32 %2963, 1
  store i32 %2964, ptr @test_count, align 4, !tbaa !5
  %2965 = call i32 @s2n_stuffer_free(ptr noundef %56)
  %2966 = icmp eq i32 %2965, -1
  br i1 %2966, label %2967, label %3020

2967:                                             ; preds = %2962
  br label %2968

2968:                                             ; preds = %2967
  br label %2969

2969:                                             ; preds = %2968
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #8
  %2970 = call ptr @__errno_location() #9
  %2971 = load i32, ptr %2970, align 4, !tbaa !5
  store i32 %2971, ptr %64, align 4, !tbaa !5
  %2972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2973 = call i32 @s2n_print_stacktrace(ptr noundef %2972)
  %2974 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2975 = trunc i8 %2974 to i1
  br i1 %2975, label %2976, label %2998

2976:                                             ; preds = %2969
  %2977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2978 = call i32 @fileno(ptr noundef %2977) #8
  %2979 = call i32 @isatty(i32 noundef %2978) #8
  %2980 = icmp ne i32 %2979, 0
  br i1 %2980, label %2981, label %2998

2981:                                             ; preds = %2976
  %2982 = load i32, ptr %64, align 4, !tbaa !5
  %2983 = call ptr @__errno_location() #9
  store i32 %2982, ptr %2983, align 4, !tbaa !5
  %2984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2985 = load i32, ptr @test_count, align 4, !tbaa !5
  %2986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2987 = load i32, ptr %2986, align 4, !tbaa !5
  %2988 = call ptr @s2n_strerror(i32 noundef %2987, ptr noundef @.str.4)
  %2989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2990 = load i32, ptr %2989, align 4, !tbaa !5
  %2991 = call ptr @s2n_strerror_debug(i32 noundef %2990, ptr noundef @.str.4)
  %2992 = call ptr @__errno_location() #9
  %2993 = load i32, ptr %2992, align 4, !tbaa !5
  %2994 = call ptr @strerror(i32 noundef %2993) #8
  %2995 = call ptr @__errno_location() #9
  %2996 = load i32, ptr %2995, align 4, !tbaa !5
  %2997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2984, ptr noundef @.str.2, i32 noundef %2985, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 129, ptr noundef %2988, ptr noundef %2991, ptr noundef %2994, i32 noundef %2996) #8
  br label %3015

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

3015:                                             ; preds = %2998, %2981
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #8
  br label %3016

3016:                                             ; preds = %3015
  br label %3017

3017:                                             ; preds = %3016
  call void @exit(i32 noundef 1) #10
  unreachable

3018:                                             ; No predecessors!
  br label %3019

3019:                                             ; preds = %3018
  br label %3020

3020:                                             ; preds = %3019, %2962
  br label %3021

3021:                                             ; preds = %3020
  br label %3022

3022:                                             ; preds = %3021
  br label %3023

3023:                                             ; preds = %3022
  %3024 = load i32, ptr @test_count, align 4, !tbaa !5
  %3025 = add nsw i32 %3024, 1
  store i32 %3025, ptr @test_count, align 4, !tbaa !5
  %3026 = load ptr, ptr %53, align 8, !tbaa !9
  %3027 = call i32 @s2n_connection_free(ptr noundef %3026)
  %3028 = icmp eq i32 %3027, -1
  br i1 %3028, label %3029, label %3082

3029:                                             ; preds = %3023
  br label %3030

3030:                                             ; preds = %3029
  br label %3031

3031:                                             ; preds = %3030
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #8
  %3032 = call ptr @__errno_location() #9
  %3033 = load i32, ptr %3032, align 4, !tbaa !5
  store i32 %3033, ptr %65, align 4, !tbaa !5
  %3034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3035 = call i32 @s2n_print_stacktrace(ptr noundef %3034)
  %3036 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3037 = trunc i8 %3036 to i1
  br i1 %3037, label %3038, label %3060

3038:                                             ; preds = %3031
  %3039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3040 = call i32 @fileno(ptr noundef %3039) #8
  %3041 = call i32 @isatty(i32 noundef %3040) #8
  %3042 = icmp ne i32 %3041, 0
  br i1 %3042, label %3043, label %3060

3043:                                             ; preds = %3038
  %3044 = load i32, ptr %65, align 4, !tbaa !5
  %3045 = call ptr @__errno_location() #9
  store i32 %3044, ptr %3045, align 4, !tbaa !5
  %3046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3047 = load i32, ptr @test_count, align 4, !tbaa !5
  %3048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3049 = load i32, ptr %3048, align 4, !tbaa !5
  %3050 = call ptr @s2n_strerror(i32 noundef %3049, ptr noundef @.str.4)
  %3051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3052 = load i32, ptr %3051, align 4, !tbaa !5
  %3053 = call ptr @s2n_strerror_debug(i32 noundef %3052, ptr noundef @.str.4)
  %3054 = call ptr @__errno_location() #9
  %3055 = load i32, ptr %3054, align 4, !tbaa !5
  %3056 = call ptr @strerror(i32 noundef %3055) #8
  %3057 = call ptr @__errno_location() #9
  %3058 = load i32, ptr %3057, align 4, !tbaa !5
  %3059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3046, ptr noundef @.str.2, i32 noundef %3047, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 130, ptr noundef %3050, ptr noundef %3053, ptr noundef %3056, i32 noundef %3058) #8
  br label %3077

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

3077:                                             ; preds = %3060, %3043
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #8
  br label %3078

3078:                                             ; preds = %3077
  br label %3079

3079:                                             ; preds = %3078
  call void @exit(i32 noundef 1) #10
  unreachable

3080:                                             ; No predecessors!
  br label %3081

3081:                                             ; preds = %3080
  br label %3082

3082:                                             ; preds = %3081, %3023
  br label %3083

3083:                                             ; preds = %3082
  br label %3084

3084:                                             ; preds = %3083
  br label %3085

3085:                                             ; preds = %3084
  %3086 = load i32, ptr @test_count, align 4, !tbaa !5
  %3087 = add nsw i32 %3086, 1
  store i32 %3087, ptr @test_count, align 4, !tbaa !5
  %3088 = load ptr, ptr %50, align 8, !tbaa !9
  %3089 = call i32 @s2n_config_free(ptr noundef %3088)
  %3090 = icmp eq i32 %3089, -1
  br i1 %3090, label %3091, label %3144

3091:                                             ; preds = %3085
  br label %3092

3092:                                             ; preds = %3091
  br label %3093

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

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

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

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

3139:                                             ; preds = %3122, %3105
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #8
  br label %3140

3140:                                             ; preds = %3139
  br label %3141

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

3142:                                             ; No predecessors!
  br label %3143

3143:                                             ; preds = %3142
  br label %3144

3144:                                             ; preds = %3143, %3085
  br label %3145

3145:                                             ; preds = %3144
  br label %3146

3146:                                             ; preds = %3145
  call void @llvm.lifetime.end.p0(i64 40, ptr %56) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %67) #8
  store ptr null, ptr %67, align 8, !tbaa !9
  br label %3147

3147:                                             ; preds = %3146
  %3148 = load i32, ptr @test_count, align 4, !tbaa !5
  %3149 = add nsw i32 %3148, 1
  store i32 %3149, ptr @test_count, align 4, !tbaa !5
  %3150 = call ptr @s2n_config_new()
  store ptr %3150, ptr %67, align 8, !tbaa !9
  %3151 = icmp eq ptr %3150, null
  br i1 %3151, label %3152, label %3205

3152:                                             ; preds = %3147
  br label %3153

3153:                                             ; preds = %3152
  br label %3154

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

3161:                                             ; preds = %3154
  %3162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3163 = call i32 @fileno(ptr noundef %3162) #8
  %3164 = call i32 @isatty(i32 noundef %3163) #8
  %3165 = icmp ne i32 %3164, 0
  br i1 %3165, label %3166, label %3183

3166:                                             ; preds = %3161
  %3167 = load i32, ptr %68, align 4, !tbaa !5
  %3168 = call ptr @__errno_location() #9
  store i32 %3167, ptr %3168, align 4, !tbaa !5
  %3169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3170 = load i32, ptr @test_count, align 4, !tbaa !5
  %3171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3172 = load i32, ptr %3171, align 4, !tbaa !5
  %3173 = call ptr @s2n_strerror(i32 noundef %3172, ptr noundef @.str.4)
  %3174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3175 = load i32, ptr %3174, align 4, !tbaa !5
  %3176 = call ptr @s2n_strerror_debug(i32 noundef %3175, ptr noundef @.str.4)
  %3177 = call ptr @__errno_location() #9
  %3178 = load i32, ptr %3177, align 4, !tbaa !5
  %3179 = call ptr @strerror(i32 noundef %3178) #8
  %3180 = call ptr @__errno_location() #9
  %3181 = load i32, ptr %3180, align 4, !tbaa !5
  %3182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3169, ptr noundef @.str.2, i32 noundef %3170, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 137, ptr noundef %3173, ptr noundef %3176, ptr noundef %3179, i32 noundef %3181) #8
  br label %3200

3183:                                             ; preds = %3161, %3154
  %3184 = load i32, ptr %68, align 4, !tbaa !5
  %3185 = call ptr @__errno_location() #9
  store i32 %3184, ptr %3185, align 4, !tbaa !5
  %3186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3187 = load i32, ptr @test_count, align 4, !tbaa !5
  %3188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3189 = load i32, ptr %3188, align 4, !tbaa !5
  %3190 = call ptr @s2n_strerror(i32 noundef %3189, ptr noundef @.str.4)
  %3191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3192 = load i32, ptr %3191, align 4, !tbaa !5
  %3193 = call ptr @s2n_strerror_debug(i32 noundef %3192, ptr noundef @.str.4)
  %3194 = call ptr @__errno_location() #9
  %3195 = load i32, ptr %3194, align 4, !tbaa !5
  %3196 = call ptr @strerror(i32 noundef %3195) #8
  %3197 = call ptr @__errno_location() #9
  %3198 = load i32, ptr %3197, align 4, !tbaa !5
  %3199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3186, ptr noundef @.str.5, i32 noundef %3187, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 137, ptr noundef %3190, ptr noundef %3193, ptr noundef %3196, i32 noundef %3198) #8
  br label %3200

3200:                                             ; preds = %3183, %3166
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #8
  br label %3201

3201:                                             ; preds = %3200
  br label %3202

3202:                                             ; preds = %3201
  call void @exit(i32 noundef 1) #10
  unreachable

3203:                                             ; No predecessors!
  br label %3204

3204:                                             ; preds = %3203
  br label %3205

3205:                                             ; preds = %3204, %3147
  br label %3206

3206:                                             ; preds = %3205
  br label %3207

3207:                                             ; preds = %3206
  br label %3208

3208:                                             ; preds = %3207
  %3209 = load i32, ptr @test_count, align 4, !tbaa !5
  %3210 = add nsw i32 %3209, 1
  store i32 %3210, ptr @test_count, align 4, !tbaa !5
  %3211 = load ptr, ptr %67, align 8, !tbaa !9
  %3212 = call i32 @s2n_config_send_max_fragment_length(ptr noundef %3211, i32 noundef 2)
  %3213 = icmp eq i32 %3212, -1
  br i1 %3213, label %3214, label %3267

3214:                                             ; preds = %3208
  br label %3215

3215:                                             ; preds = %3214
  br label %3216

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

3223:                                             ; preds = %3216
  %3224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3225 = call i32 @fileno(ptr noundef %3224) #8
  %3226 = call i32 @isatty(i32 noundef %3225) #8
  %3227 = icmp ne i32 %3226, 0
  br i1 %3227, label %3228, label %3245

3228:                                             ; preds = %3223
  %3229 = load i32, ptr %69, align 4, !tbaa !5
  %3230 = call ptr @__errno_location() #9
  store i32 %3229, ptr %3230, align 4, !tbaa !5
  %3231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3232 = load i32, ptr @test_count, align 4, !tbaa !5
  %3233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3234 = load i32, ptr %3233, align 4, !tbaa !5
  %3235 = call ptr @s2n_strerror(i32 noundef %3234, ptr noundef @.str.4)
  %3236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3237 = load i32, ptr %3236, align 4, !tbaa !5
  %3238 = call ptr @s2n_strerror_debug(i32 noundef %3237, ptr noundef @.str.4)
  %3239 = call ptr @__errno_location() #9
  %3240 = load i32, ptr %3239, align 4, !tbaa !5
  %3241 = call ptr @strerror(i32 noundef %3240) #8
  %3242 = call ptr @__errno_location() #9
  %3243 = load i32, ptr %3242, align 4, !tbaa !5
  %3244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3231, ptr noundef @.str.2, i32 noundef %3232, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 138, ptr noundef %3235, ptr noundef %3238, ptr noundef %3241, i32 noundef %3243) #8
  br label %3262

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

3262:                                             ; preds = %3245, %3228
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #8
  br label %3263

3263:                                             ; preds = %3262
  br label %3264

3264:                                             ; preds = %3263
  call void @exit(i32 noundef 1) #10
  unreachable

3265:                                             ; No predecessors!
  br label %3266

3266:                                             ; preds = %3265
  br label %3267

3267:                                             ; preds = %3266, %3208
  br label %3268

3268:                                             ; preds = %3267
  br label %3269

3269:                                             ; preds = %3268
  call void @llvm.lifetime.start.p0(i64 8, ptr %70) #8
  store ptr null, ptr %70, align 8, !tbaa !9
  br label %3270

3270:                                             ; preds = %3269
  %3271 = load i32, ptr @test_count, align 4, !tbaa !5
  %3272 = add nsw i32 %3271, 1
  store i32 %3272, ptr @test_count, align 4, !tbaa !5
  %3273 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %3273, ptr %70, align 8, !tbaa !9
  %3274 = icmp eq ptr %3273, null
  br i1 %3274, label %3275, label %3328

3275:                                             ; preds = %3270
  br label %3276

3276:                                             ; preds = %3275
  br label %3277

3277:                                             ; preds = %3276
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #8
  %3278 = call ptr @__errno_location() #9
  %3279 = load i32, ptr %3278, align 4, !tbaa !5
  store i32 %3279, ptr %71, align 4, !tbaa !5
  %3280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3281 = call i32 @s2n_print_stacktrace(ptr noundef %3280)
  %3282 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3283 = trunc i8 %3282 to i1
  br i1 %3283, label %3284, label %3306

3284:                                             ; preds = %3277
  %3285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3286 = call i32 @fileno(ptr noundef %3285) #8
  %3287 = call i32 @isatty(i32 noundef %3286) #8
  %3288 = icmp ne i32 %3287, 0
  br i1 %3288, label %3289, label %3306

3289:                                             ; preds = %3284
  %3290 = load i32, ptr %71, align 4, !tbaa !5
  %3291 = call ptr @__errno_location() #9
  store i32 %3290, ptr %3291, align 4, !tbaa !5
  %3292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3293 = load i32, ptr @test_count, align 4, !tbaa !5
  %3294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3295 = load i32, ptr %3294, align 4, !tbaa !5
  %3296 = call ptr @s2n_strerror(i32 noundef %3295, ptr noundef @.str.4)
  %3297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3298 = load i32, ptr %3297, align 4, !tbaa !5
  %3299 = call ptr @s2n_strerror_debug(i32 noundef %3298, ptr noundef @.str.4)
  %3300 = call ptr @__errno_location() #9
  %3301 = load i32, ptr %3300, align 4, !tbaa !5
  %3302 = call ptr @strerror(i32 noundef %3301) #8
  %3303 = call ptr @__errno_location() #9
  %3304 = load i32, ptr %3303, align 4, !tbaa !5
  %3305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3292, ptr noundef @.str.2, i32 noundef %3293, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 141, ptr noundef %3296, ptr noundef %3299, ptr noundef %3302, i32 noundef %3304) #8
  br label %3323

3306:                                             ; preds = %3284, %3277
  %3307 = load i32, ptr %71, align 4, !tbaa !5
  %3308 = call ptr @__errno_location() #9
  store i32 %3307, ptr %3308, align 4, !tbaa !5
  %3309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3310 = load i32, ptr @test_count, align 4, !tbaa !5
  %3311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3312 = load i32, ptr %3311, align 4, !tbaa !5
  %3313 = call ptr @s2n_strerror(i32 noundef %3312, ptr noundef @.str.4)
  %3314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3315 = load i32, ptr %3314, align 4, !tbaa !5
  %3316 = call ptr @s2n_strerror_debug(i32 noundef %3315, ptr noundef @.str.4)
  %3317 = call ptr @__errno_location() #9
  %3318 = load i32, ptr %3317, align 4, !tbaa !5
  %3319 = call ptr @strerror(i32 noundef %3318) #8
  %3320 = call ptr @__errno_location() #9
  %3321 = load i32, ptr %3320, align 4, !tbaa !5
  %3322 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3309, ptr noundef @.str.5, i32 noundef %3310, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 141, ptr noundef %3313, ptr noundef %3316, ptr noundef %3319, i32 noundef %3321) #8
  br label %3323

3323:                                             ; preds = %3306, %3289
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #8
  br label %3324

3324:                                             ; preds = %3323
  br label %3325

3325:                                             ; preds = %3324
  call void @exit(i32 noundef 1) #10
  unreachable

3326:                                             ; No predecessors!
  br label %3327

3327:                                             ; preds = %3326
  br label %3328

3328:                                             ; preds = %3327, %3270
  br label %3329

3329:                                             ; preds = %3328
  br label %3330

3330:                                             ; preds = %3329
  br label %3331

3331:                                             ; preds = %3330
  %3332 = load i32, ptr @test_count, align 4, !tbaa !5
  %3333 = add nsw i32 %3332, 1
  store i32 %3333, ptr @test_count, align 4, !tbaa !5
  %3334 = load ptr, ptr %70, align 8, !tbaa !9
  %3335 = load ptr, ptr %67, align 8, !tbaa !9
  %3336 = call i32 @s2n_connection_set_config(ptr noundef %3334, ptr noundef %3335)
  %3337 = icmp eq i32 %3336, -1
  br i1 %3337, label %3338, label %3391

3338:                                             ; preds = %3331
  br label %3339

3339:                                             ; preds = %3338
  br label %3340

3340:                                             ; preds = %3339
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #8
  %3341 = call ptr @__errno_location() #9
  %3342 = load i32, ptr %3341, align 4, !tbaa !5
  store i32 %3342, ptr %72, align 4, !tbaa !5
  %3343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3344 = call i32 @s2n_print_stacktrace(ptr noundef %3343)
  %3345 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3346 = trunc i8 %3345 to i1
  br i1 %3346, label %3347, label %3369

3347:                                             ; preds = %3340
  %3348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3349 = call i32 @fileno(ptr noundef %3348) #8
  %3350 = call i32 @isatty(i32 noundef %3349) #8
  %3351 = icmp ne i32 %3350, 0
  br i1 %3351, label %3352, label %3369

3352:                                             ; preds = %3347
  %3353 = load i32, ptr %72, align 4, !tbaa !5
  %3354 = call ptr @__errno_location() #9
  store i32 %3353, ptr %3354, align 4, !tbaa !5
  %3355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3356 = load i32, ptr @test_count, align 4, !tbaa !5
  %3357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3358 = load i32, ptr %3357, align 4, !tbaa !5
  %3359 = call ptr @s2n_strerror(i32 noundef %3358, ptr noundef @.str.4)
  %3360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3361 = load i32, ptr %3360, align 4, !tbaa !5
  %3362 = call ptr @s2n_strerror_debug(i32 noundef %3361, ptr noundef @.str.4)
  %3363 = call ptr @__errno_location() #9
  %3364 = load i32, ptr %3363, align 4, !tbaa !5
  %3365 = call ptr @strerror(i32 noundef %3364) #8
  %3366 = call ptr @__errno_location() #9
  %3367 = load i32, ptr %3366, align 4, !tbaa !5
  %3368 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3355, ptr noundef @.str.2, i32 noundef %3356, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 142, ptr noundef %3359, ptr noundef %3362, ptr noundef %3365, i32 noundef %3367) #8
  br label %3386

3369:                                             ; preds = %3347, %3340
  %3370 = load i32, ptr %72, align 4, !tbaa !5
  %3371 = call ptr @__errno_location() #9
  store i32 %3370, ptr %3371, align 4, !tbaa !5
  %3372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3373 = load i32, ptr @test_count, align 4, !tbaa !5
  %3374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3375 = load i32, ptr %3374, align 4, !tbaa !5
  %3376 = call ptr @s2n_strerror(i32 noundef %3375, ptr noundef @.str.4)
  %3377 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3378 = load i32, ptr %3377, align 4, !tbaa !5
  %3379 = call ptr @s2n_strerror_debug(i32 noundef %3378, ptr noundef @.str.4)
  %3380 = call ptr @__errno_location() #9
  %3381 = load i32, ptr %3380, align 4, !tbaa !5
  %3382 = call ptr @strerror(i32 noundef %3381) #8
  %3383 = call ptr @__errno_location() #9
  %3384 = load i32, ptr %3383, align 4, !tbaa !5
  %3385 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3372, ptr noundef @.str.5, i32 noundef %3373, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 142, ptr noundef %3376, ptr noundef %3379, ptr noundef %3382, i32 noundef %3384) #8
  br label %3386

3386:                                             ; preds = %3369, %3352
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #8
  br label %3387

3387:                                             ; preds = %3386
  br label %3388

3388:                                             ; preds = %3387
  call void @exit(i32 noundef 1) #10
  unreachable

3389:                                             ; No predecessors!
  br label %3390

3390:                                             ; preds = %3389
  br label %3391

3391:                                             ; preds = %3390, %3331
  br label %3392

3392:                                             ; preds = %3391
  br label %3393

3393:                                             ; preds = %3392
  call void @llvm.lifetime.start.p0(i64 40, ptr %73) #8
  call void @llvm.memset.p0.i64(ptr align 8 %73, i8 0, i64 40, i1 false)
  br label %3394

3394:                                             ; preds = %3393
  %3395 = load i32, ptr @test_count, align 4, !tbaa !5
  %3396 = add nsw i32 %3395, 1
  store i32 %3396, ptr @test_count, align 4, !tbaa !5
  %3397 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %73, i32 noundef 0)
  %3398 = icmp eq i32 %3397, -1
  br i1 %3398, label %3399, label %3452

3399:                                             ; preds = %3394
  br label %3400

3400:                                             ; preds = %3399
  br label %3401

3401:                                             ; preds = %3400
  call void @llvm.lifetime.start.p0(i64 4, ptr %74) #8
  %3402 = call ptr @__errno_location() #9
  %3403 = load i32, ptr %3402, align 4, !tbaa !5
  store i32 %3403, ptr %74, align 4, !tbaa !5
  %3404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3405 = call i32 @s2n_print_stacktrace(ptr noundef %3404)
  %3406 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3407 = trunc i8 %3406 to i1
  br i1 %3407, label %3408, label %3430

3408:                                             ; preds = %3401
  %3409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3410 = call i32 @fileno(ptr noundef %3409) #8
  %3411 = call i32 @isatty(i32 noundef %3410) #8
  %3412 = icmp ne i32 %3411, 0
  br i1 %3412, label %3413, label %3430

3413:                                             ; preds = %3408
  %3414 = load i32, ptr %74, align 4, !tbaa !5
  %3415 = call ptr @__errno_location() #9
  store i32 %3414, ptr %3415, align 4, !tbaa !5
  %3416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3417 = load i32, ptr @test_count, align 4, !tbaa !5
  %3418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3419 = load i32, ptr %3418, align 4, !tbaa !5
  %3420 = call ptr @s2n_strerror(i32 noundef %3419, ptr noundef @.str.4)
  %3421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3422 = load i32, ptr %3421, align 4, !tbaa !5
  %3423 = call ptr @s2n_strerror_debug(i32 noundef %3422, ptr noundef @.str.4)
  %3424 = call ptr @__errno_location() #9
  %3425 = load i32, ptr %3424, align 4, !tbaa !5
  %3426 = call ptr @strerror(i32 noundef %3425) #8
  %3427 = call ptr @__errno_location() #9
  %3428 = load i32, ptr %3427, align 4, !tbaa !5
  %3429 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3416, ptr noundef @.str.2, i32 noundef %3417, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 145, ptr noundef %3420, ptr noundef %3423, ptr noundef %3426, i32 noundef %3428) #8
  br label %3447

3430:                                             ; preds = %3408, %3401
  %3431 = load i32, ptr %74, align 4, !tbaa !5
  %3432 = call ptr @__errno_location() #9
  store i32 %3431, ptr %3432, align 4, !tbaa !5
  %3433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3434 = load i32, ptr @test_count, align 4, !tbaa !5
  %3435 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3436 = load i32, ptr %3435, align 4, !tbaa !5
  %3437 = call ptr @s2n_strerror(i32 noundef %3436, ptr noundef @.str.4)
  %3438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3439 = load i32, ptr %3438, align 4, !tbaa !5
  %3440 = call ptr @s2n_strerror_debug(i32 noundef %3439, ptr noundef @.str.4)
  %3441 = call ptr @__errno_location() #9
  %3442 = load i32, ptr %3441, align 4, !tbaa !5
  %3443 = call ptr @strerror(i32 noundef %3442) #8
  %3444 = call ptr @__errno_location() #9
  %3445 = load i32, ptr %3444, align 4, !tbaa !5
  %3446 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3433, ptr noundef @.str.5, i32 noundef %3434, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 145, ptr noundef %3437, ptr noundef %3440, ptr noundef %3443, i32 noundef %3445) #8
  br label %3447

3447:                                             ; preds = %3430, %3413
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #8
  br label %3448

3448:                                             ; preds = %3447
  br label %3449

3449:                                             ; preds = %3448
  call void @exit(i32 noundef 1) #10
  unreachable

3450:                                             ; No predecessors!
  br label %3451

3451:                                             ; preds = %3450
  br label %3452

3452:                                             ; preds = %3451, %3394
  br label %3453

3453:                                             ; preds = %3452
  br label %3454

3454:                                             ; preds = %3453
  %3455 = load i16, ptr getelementptr inbounds ([5 x i16], ptr @mfl_code_to_length, i64 0, i64 1), align 2, !tbaa !50
  %3456 = load ptr, ptr %70, align 8, !tbaa !9
  %3457 = getelementptr inbounds %struct.s2n_connection, ptr %3456, i32 0, i32 53
  store i16 %3455, ptr %3457, align 8, !tbaa !49
  %3458 = load ptr, ptr %70, align 8, !tbaa !9
  %3459 = getelementptr inbounds %struct.s2n_connection, ptr %3458, i32 0, i32 57
  store i8 2, ptr %3459, align 8, !tbaa !18
  br label %3460

3460:                                             ; preds = %3454
  %3461 = load i32, ptr @test_count, align 4, !tbaa !5
  %3462 = add nsw i32 %3461, 1
  store i32 %3462, ptr @test_count, align 4, !tbaa !5
  %3463 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_server_max_fragment_length_extension, i32 0, i32 3), align 8, !tbaa !44
  %3464 = load ptr, ptr %70, align 8, !tbaa !9
  %3465 = call i32 %3463(ptr noundef %3464, ptr noundef %73)
  %3466 = icmp eq i32 %3465, -1
  br i1 %3466, label %3467, label %3520

3467:                                             ; preds = %3460
  br label %3468

3468:                                             ; preds = %3467
  br label %3469

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

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

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

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

3515:                                             ; preds = %3498, %3481
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #8
  br label %3516

3516:                                             ; preds = %3515
  br label %3517

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

3518:                                             ; No predecessors!
  br label %3519

3519:                                             ; preds = %3518
  br label %3520

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

3521:                                             ; preds = %3520
  br label %3522

3522:                                             ; preds = %3521
  br label %3523

3523:                                             ; preds = %3522
  %3524 = load i32, ptr @test_count, align 4, !tbaa !5
  %3525 = add nsw i32 %3524, 1
  store i32 %3525, ptr @test_count, align 4, !tbaa !5
  %3526 = getelementptr inbounds %struct.s2n_stuffer, ptr %73, i32 0, i32 2
  %3527 = load i32, ptr %3526, align 4, !tbaa !46
  %3528 = getelementptr inbounds %struct.s2n_stuffer, ptr %73, i32 0, i32 1
  %3529 = load i32, ptr %3528, align 8, !tbaa !47
  %3530 = sub i32 %3527, %3529
  %3531 = icmp eq i32 %3530, 0
  br i1 %3531, label %3532, label %3585

3532:                                             ; preds = %3523
  br label %3533

3533:                                             ; preds = %3532
  br label %3534

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

3541:                                             ; preds = %3534
  %3542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3543 = call i32 @fileno(ptr noundef %3542) #8
  %3544 = call i32 @isatty(i32 noundef %3543) #8
  %3545 = icmp ne i32 %3544, 0
  br i1 %3545, label %3546, label %3563

3546:                                             ; preds = %3541
  %3547 = load i32, ptr %76, align 4, !tbaa !5
  %3548 = call ptr @__errno_location() #9
  store i32 %3547, ptr %3548, align 4, !tbaa !5
  %3549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3550 = load i32, ptr @test_count, align 4, !tbaa !5
  %3551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3552 = load i32, ptr %3551, align 4, !tbaa !5
  %3553 = call ptr @s2n_strerror(i32 noundef %3552, ptr noundef @.str.4)
  %3554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3555 = load i32, ptr %3554, align 4, !tbaa !5
  %3556 = call ptr @s2n_strerror_debug(i32 noundef %3555, ptr noundef @.str.4)
  %3557 = call ptr @__errno_location() #9
  %3558 = load i32, ptr %3557, align 4, !tbaa !5
  %3559 = call ptr @strerror(i32 noundef %3558) #8
  %3560 = call ptr @__errno_location() #9
  %3561 = load i32, ptr %3560, align 4, !tbaa !5
  %3562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3549, ptr noundef @.str.2, i32 noundef %3550, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 153, ptr noundef %3553, ptr noundef %3556, ptr noundef %3559, i32 noundef %3561) #8
  br label %3580

3563:                                             ; preds = %3541, %3534
  %3564 = load i32, ptr %76, align 4, !tbaa !5
  %3565 = call ptr @__errno_location() #9
  store i32 %3564, ptr %3565, align 4, !tbaa !5
  %3566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3567 = load i32, ptr @test_count, align 4, !tbaa !5
  %3568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3569 = load i32, ptr %3568, align 4, !tbaa !5
  %3570 = call ptr @s2n_strerror(i32 noundef %3569, ptr noundef @.str.4)
  %3571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3572 = load i32, ptr %3571, align 4, !tbaa !5
  %3573 = call ptr @s2n_strerror_debug(i32 noundef %3572, ptr noundef @.str.4)
  %3574 = call ptr @__errno_location() #9
  %3575 = load i32, ptr %3574, align 4, !tbaa !5
  %3576 = call ptr @strerror(i32 noundef %3575) #8
  %3577 = call ptr @__errno_location() #9
  %3578 = load i32, ptr %3577, align 4, !tbaa !5
  %3579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3566, ptr noundef @.str.5, i32 noundef %3567, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 153, ptr noundef %3570, ptr noundef %3573, ptr noundef %3576, i32 noundef %3578) #8
  br label %3580

3580:                                             ; preds = %3563, %3546
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #8
  br label %3581

3581:                                             ; preds = %3580
  br label %3582

3582:                                             ; preds = %3581
  call void @exit(i32 noundef 1) #10
  unreachable

3583:                                             ; No predecessors!
  br label %3584

3584:                                             ; preds = %3583
  br label %3585

3585:                                             ; preds = %3584, %3523
  br label %3586

3586:                                             ; preds = %3585
  br label %3587

3587:                                             ; preds = %3586
  %3588 = load ptr, ptr %70, align 8, !tbaa !9
  %3589 = getelementptr inbounds %struct.s2n_connection, ptr %3588, i32 0, i32 57
  store i8 0, ptr %3589, align 8, !tbaa !18
  br label %3590

3590:                                             ; preds = %3587
  %3591 = load i32, ptr @test_count, align 4, !tbaa !5
  %3592 = add nsw i32 %3591, 1
  store i32 %3592, ptr @test_count, align 4, !tbaa !5
  %3593 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_server_max_fragment_length_extension, i32 0, i32 4), align 8, !tbaa !48
  %3594 = load ptr, ptr %70, align 8, !tbaa !9
  %3595 = call i32 %3593(ptr noundef %3594, ptr noundef %73)
  %3596 = icmp eq i32 %3595, -1
  br i1 %3596, label %3597, label %3650

3597:                                             ; preds = %3590
  br label %3598

3598:                                             ; preds = %3597
  br label %3599

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

3606:                                             ; preds = %3599
  %3607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3608 = call i32 @fileno(ptr noundef %3607) #8
  %3609 = call i32 @isatty(i32 noundef %3608) #8
  %3610 = icmp ne i32 %3609, 0
  br i1 %3610, label %3611, label %3628

3611:                                             ; preds = %3606
  %3612 = load i32, ptr %77, align 4, !tbaa !5
  %3613 = call ptr @__errno_location() #9
  store i32 %3612, ptr %3613, align 4, !tbaa !5
  %3614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3615 = load i32, ptr @test_count, align 4, !tbaa !5
  %3616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3617 = load i32, ptr %3616, align 4, !tbaa !5
  %3618 = call ptr @s2n_strerror(i32 noundef %3617, ptr noundef @.str.4)
  %3619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3620 = load i32, ptr %3619, align 4, !tbaa !5
  %3621 = call ptr @s2n_strerror_debug(i32 noundef %3620, ptr noundef @.str.4)
  %3622 = call ptr @__errno_location() #9
  %3623 = load i32, ptr %3622, align 4, !tbaa !5
  %3624 = call ptr @strerror(i32 noundef %3623) #8
  %3625 = call ptr @__errno_location() #9
  %3626 = load i32, ptr %3625, align 4, !tbaa !5
  %3627 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3614, ptr noundef @.str.2, i32 noundef %3615, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 156, ptr noundef %3618, ptr noundef %3621, ptr noundef %3624, i32 noundef %3626) #8
  br label %3645

3628:                                             ; preds = %3606, %3599
  %3629 = load i32, ptr %77, align 4, !tbaa !5
  %3630 = call ptr @__errno_location() #9
  store i32 %3629, ptr %3630, align 4, !tbaa !5
  %3631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3632 = load i32, ptr @test_count, align 4, !tbaa !5
  %3633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3634 = load i32, ptr %3633, align 4, !tbaa !5
  %3635 = call ptr @s2n_strerror(i32 noundef %3634, ptr noundef @.str.4)
  %3636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3637 = load i32, ptr %3636, align 4, !tbaa !5
  %3638 = call ptr @s2n_strerror_debug(i32 noundef %3637, ptr noundef @.str.4)
  %3639 = call ptr @__errno_location() #9
  %3640 = load i32, ptr %3639, align 4, !tbaa !5
  %3641 = call ptr @strerror(i32 noundef %3640) #8
  %3642 = call ptr @__errno_location() #9
  %3643 = load i32, ptr %3642, align 4, !tbaa !5
  %3644 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3631, ptr noundef @.str.5, i32 noundef %3632, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 156, ptr noundef %3635, ptr noundef %3638, ptr noundef %3641, i32 noundef %3643) #8
  br label %3645

3645:                                             ; preds = %3628, %3611
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #8
  br label %3646

3646:                                             ; preds = %3645
  br label %3647

3647:                                             ; preds = %3646
  call void @exit(i32 noundef 1) #10
  unreachable

3648:                                             ; No predecessors!
  br label %3649

3649:                                             ; preds = %3648
  br label %3650

3650:                                             ; preds = %3649, %3590
  br label %3651

3651:                                             ; preds = %3650
  br label %3652

3652:                                             ; preds = %3651
  br label %3653

3653:                                             ; preds = %3652
  %3654 = load i32, ptr @test_count, align 4, !tbaa !5
  %3655 = add nsw i32 %3654, 1
  store i32 %3655, ptr @test_count, align 4, !tbaa !5
  %3656 = getelementptr inbounds %struct.s2n_stuffer, ptr %73, i32 0, i32 2
  %3657 = load i32, ptr %3656, align 4, !tbaa !46
  %3658 = getelementptr inbounds %struct.s2n_stuffer, ptr %73, i32 0, i32 1
  %3659 = load i32, ptr %3658, align 8, !tbaa !47
  %3660 = sub i32 %3657, %3659
  %3661 = icmp eq i32 %3660, 0
  br i1 %3661, label %3715, label %3662

3662:                                             ; preds = %3653
  br label %3663

3663:                                             ; preds = %3662
  br label %3664

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

3671:                                             ; preds = %3664
  %3672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3673 = call i32 @fileno(ptr noundef %3672) #8
  %3674 = call i32 @isatty(i32 noundef %3673) #8
  %3675 = icmp ne i32 %3674, 0
  br i1 %3675, label %3676, label %3693

3676:                                             ; preds = %3671
  %3677 = load i32, ptr %78, align 4, !tbaa !5
  %3678 = call ptr @__errno_location() #9
  store i32 %3677, ptr %3678, align 4, !tbaa !5
  %3679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3680 = load i32, ptr @test_count, align 4, !tbaa !5
  %3681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3682 = load i32, ptr %3681, align 4, !tbaa !5
  %3683 = call ptr @s2n_strerror(i32 noundef %3682, ptr noundef @.str.4)
  %3684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3685 = load i32, ptr %3684, align 4, !tbaa !5
  %3686 = call ptr @s2n_strerror_debug(i32 noundef %3685, ptr noundef @.str.4)
  %3687 = call ptr @__errno_location() #9
  %3688 = load i32, ptr %3687, align 4, !tbaa !5
  %3689 = call ptr @strerror(i32 noundef %3688) #8
  %3690 = call ptr @__errno_location() #9
  %3691 = load i32, ptr %3690, align 4, !tbaa !5
  %3692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3679, ptr noundef @.str.2, i32 noundef %3680, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 157, ptr noundef %3683, ptr noundef %3686, ptr noundef %3689, i32 noundef %3691) #8
  br label %3710

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

3710:                                             ; preds = %3693, %3676
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #8
  br label %3711

3711:                                             ; preds = %3710
  br label %3712

3712:                                             ; preds = %3711
  call void @exit(i32 noundef 1) #10
  unreachable

3713:                                             ; No predecessors!
  br label %3714

3714:                                             ; preds = %3713
  br label %3715

3715:                                             ; preds = %3714, %3653
  br label %3716

3716:                                             ; preds = %3715
  br label %3717

3717:                                             ; preds = %3716
  br label %3718

3718:                                             ; preds = %3717
  %3719 = load i32, ptr @test_count, align 4, !tbaa !5
  %3720 = add nsw i32 %3719, 1
  store i32 %3720, ptr @test_count, align 4, !tbaa !5
  %3721 = load ptr, ptr %70, align 8, !tbaa !9
  %3722 = getelementptr inbounds %struct.s2n_connection, ptr %3721, i32 0, i32 57
  %3723 = load i8, ptr %3722, align 8, !tbaa !18
  %3724 = zext i8 %3723 to i32
  %3725 = icmp eq i32 %3724, 2
  br i1 %3725, label %3779, label %3726

3726:                                             ; preds = %3718
  br label %3727

3727:                                             ; preds = %3726
  br label %3728

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

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

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

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

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

3775:                                             ; preds = %3774
  br label %3776

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

3777:                                             ; No predecessors!
  br label %3778

3778:                                             ; preds = %3777
  br label %3779

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

3780:                                             ; preds = %3779
  br label %3781

3781:                                             ; preds = %3780
  br label %3782

3782:                                             ; preds = %3781
  %3783 = load i32, ptr @test_count, align 4, !tbaa !5
  %3784 = add nsw i32 %3783, 1
  store i32 %3784, ptr @test_count, align 4, !tbaa !5
  %3785 = load ptr, ptr %70, align 8, !tbaa !9
  %3786 = getelementptr inbounds %struct.s2n_connection, ptr %3785, i32 0, i32 53
  %3787 = load i16, ptr %3786, align 8, !tbaa !49
  %3788 = zext i16 %3787 to i32
  %3789 = load i16, ptr getelementptr inbounds ([5 x i16], ptr @mfl_code_to_length, i64 0, i64 1), align 2, !tbaa !50
  %3790 = zext i16 %3789 to i32
  %3791 = icmp eq i32 %3788, %3790
  br i1 %3791, label %3845, label %3792

3792:                                             ; preds = %3782
  br label %3793

3793:                                             ; preds = %3792
  br label %3794

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

3801:                                             ; preds = %3794
  %3802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3803 = call i32 @fileno(ptr noundef %3802) #8
  %3804 = call i32 @isatty(i32 noundef %3803) #8
  %3805 = icmp ne i32 %3804, 0
  br i1 %3805, label %3806, label %3823

3806:                                             ; preds = %3801
  %3807 = load i32, ptr %80, align 4, !tbaa !5
  %3808 = call ptr @__errno_location() #9
  store i32 %3807, ptr %3808, align 4, !tbaa !5
  %3809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3810 = load i32, ptr @test_count, align 4, !tbaa !5
  %3811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3812 = load i32, ptr %3811, align 4, !tbaa !5
  %3813 = call ptr @s2n_strerror(i32 noundef %3812, ptr noundef @.str.4)
  %3814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3815 = load i32, ptr %3814, align 4, !tbaa !5
  %3816 = call ptr @s2n_strerror_debug(i32 noundef %3815, ptr noundef @.str.4)
  %3817 = call ptr @__errno_location() #9
  %3818 = load i32, ptr %3817, align 4, !tbaa !5
  %3819 = call ptr @strerror(i32 noundef %3818) #8
  %3820 = call ptr @__errno_location() #9
  %3821 = load i32, ptr %3820, align 4, !tbaa !5
  %3822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3809, ptr noundef @.str.2, i32 noundef %3810, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 160, ptr noundef %3813, ptr noundef %3816, ptr noundef %3819, i32 noundef %3821) #8
  br label %3840

3823:                                             ; preds = %3801, %3794
  %3824 = load i32, ptr %80, align 4, !tbaa !5
  %3825 = call ptr @__errno_location() #9
  store i32 %3824, ptr %3825, align 4, !tbaa !5
  %3826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3827 = load i32, ptr @test_count, align 4, !tbaa !5
  %3828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3829 = load i32, ptr %3828, align 4, !tbaa !5
  %3830 = call ptr @s2n_strerror(i32 noundef %3829, ptr noundef @.str.4)
  %3831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3832 = load i32, ptr %3831, align 4, !tbaa !5
  %3833 = call ptr @s2n_strerror_debug(i32 noundef %3832, ptr noundef @.str.4)
  %3834 = call ptr @__errno_location() #9
  %3835 = load i32, ptr %3834, align 4, !tbaa !5
  %3836 = call ptr @strerror(i32 noundef %3835) #8
  %3837 = call ptr @__errno_location() #9
  %3838 = load i32, ptr %3837, align 4, !tbaa !5
  %3839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3826, ptr noundef @.str.5, i32 noundef %3827, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 160, ptr noundef %3830, ptr noundef %3833, ptr noundef %3836, i32 noundef %3838) #8
  br label %3840

3840:                                             ; preds = %3823, %3806
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #8
  br label %3841

3841:                                             ; preds = %3840
  br label %3842

3842:                                             ; preds = %3841
  call void @exit(i32 noundef 1) #10
  unreachable

3843:                                             ; No predecessors!
  br label %3844

3844:                                             ; preds = %3843
  br label %3845

3845:                                             ; preds = %3844, %3782
  br label %3846

3846:                                             ; preds = %3845
  br label %3847

3847:                                             ; preds = %3846
  %3848 = load i16, ptr getelementptr inbounds ([5 x i16], ptr @mfl_code_to_length, i64 0, i64 3), align 2, !tbaa !50
  %3849 = load ptr, ptr %70, align 8, !tbaa !9
  %3850 = getelementptr inbounds %struct.s2n_connection, ptr %3849, i32 0, i32 53
  store i16 %3848, ptr %3850, align 8, !tbaa !49
  %3851 = load ptr, ptr %70, align 8, !tbaa !9
  %3852 = getelementptr inbounds %struct.s2n_connection, ptr %3851, i32 0, i32 57
  store i8 2, ptr %3852, align 8, !tbaa !18
  br label %3853

3853:                                             ; preds = %3847
  %3854 = load i32, ptr @test_count, align 4, !tbaa !5
  %3855 = add nsw i32 %3854, 1
  store i32 %3855, ptr @test_count, align 4, !tbaa !5
  %3856 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_server_max_fragment_length_extension, i32 0, i32 3), align 8, !tbaa !44
  %3857 = load ptr, ptr %70, align 8, !tbaa !9
  %3858 = call i32 %3856(ptr noundef %3857, ptr noundef %73)
  %3859 = icmp eq i32 %3858, -1
  br i1 %3859, label %3860, label %3913

3860:                                             ; preds = %3853
  br label %3861

3861:                                             ; preds = %3860
  br label %3862

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

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

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

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

3908:                                             ; preds = %3891, %3874
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #8
  br label %3909

3909:                                             ; preds = %3908
  br label %3910

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

3911:                                             ; No predecessors!
  br label %3912

3912:                                             ; preds = %3911
  br label %3913

3913:                                             ; preds = %3912, %3853
  br label %3914

3914:                                             ; preds = %3913
  br label %3915

3915:                                             ; preds = %3914
  br label %3916

3916:                                             ; preds = %3915
  %3917 = load i32, ptr @test_count, align 4, !tbaa !5
  %3918 = add nsw i32 %3917, 1
  store i32 %3918, ptr @test_count, align 4, !tbaa !5
  %3919 = getelementptr inbounds %struct.s2n_stuffer, ptr %73, i32 0, i32 2
  %3920 = load i32, ptr %3919, align 4, !tbaa !46
  %3921 = getelementptr inbounds %struct.s2n_stuffer, ptr %73, i32 0, i32 1
  %3922 = load i32, ptr %3921, align 8, !tbaa !47
  %3923 = sub i32 %3920, %3922
  %3924 = icmp eq i32 %3923, 0
  br i1 %3924, label %3925, label %3978

3925:                                             ; preds = %3916
  br label %3926

3926:                                             ; preds = %3925
  br label %3927

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

3934:                                             ; preds = %3927
  %3935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3936 = call i32 @fileno(ptr noundef %3935) #8
  %3937 = call i32 @isatty(i32 noundef %3936) #8
  %3938 = icmp ne i32 %3937, 0
  br i1 %3938, label %3939, label %3956

3939:                                             ; preds = %3934
  %3940 = load i32, ptr %82, align 4, !tbaa !5
  %3941 = call ptr @__errno_location() #9
  store i32 %3940, ptr %3941, align 4, !tbaa !5
  %3942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3943 = load i32, ptr @test_count, align 4, !tbaa !5
  %3944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3945 = load i32, ptr %3944, align 4, !tbaa !5
  %3946 = call ptr @s2n_strerror(i32 noundef %3945, ptr noundef @.str.4)
  %3947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3948 = load i32, ptr %3947, align 4, !tbaa !5
  %3949 = call ptr @s2n_strerror_debug(i32 noundef %3948, ptr noundef @.str.4)
  %3950 = call ptr @__errno_location() #9
  %3951 = load i32, ptr %3950, align 4, !tbaa !5
  %3952 = call ptr @strerror(i32 noundef %3951) #8
  %3953 = call ptr @__errno_location() #9
  %3954 = load i32, ptr %3953, align 4, !tbaa !5
  %3955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3942, ptr noundef @.str.2, i32 noundef %3943, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 169, ptr noundef %3946, ptr noundef %3949, ptr noundef %3952, i32 noundef %3954) #8
  br label %3973

3956:                                             ; preds = %3934, %3927
  %3957 = load i32, ptr %82, align 4, !tbaa !5
  %3958 = call ptr @__errno_location() #9
  store i32 %3957, ptr %3958, align 4, !tbaa !5
  %3959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3960 = load i32, ptr @test_count, align 4, !tbaa !5
  %3961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3962 = load i32, ptr %3961, align 4, !tbaa !5
  %3963 = call ptr @s2n_strerror(i32 noundef %3962, ptr noundef @.str.4)
  %3964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3965 = load i32, ptr %3964, align 4, !tbaa !5
  %3966 = call ptr @s2n_strerror_debug(i32 noundef %3965, ptr noundef @.str.4)
  %3967 = call ptr @__errno_location() #9
  %3968 = load i32, ptr %3967, align 4, !tbaa !5
  %3969 = call ptr @strerror(i32 noundef %3968) #8
  %3970 = call ptr @__errno_location() #9
  %3971 = load i32, ptr %3970, align 4, !tbaa !5
  %3972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3959, ptr noundef @.str.5, i32 noundef %3960, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 169, ptr noundef %3963, ptr noundef %3966, ptr noundef %3969, i32 noundef %3971) #8
  br label %3973

3973:                                             ; preds = %3956, %3939
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #8
  br label %3974

3974:                                             ; preds = %3973
  br label %3975

3975:                                             ; preds = %3974
  call void @exit(i32 noundef 1) #10
  unreachable

3976:                                             ; No predecessors!
  br label %3977

3977:                                             ; preds = %3976
  br label %3978

3978:                                             ; preds = %3977, %3916
  br label %3979

3979:                                             ; preds = %3978
  br label %3980

3980:                                             ; preds = %3979
  %3981 = load ptr, ptr %70, align 8, !tbaa !9
  %3982 = getelementptr inbounds %struct.s2n_connection, ptr %3981, i32 0, i32 57
  store i8 0, ptr %3982, align 8, !tbaa !18
  br label %3983

3983:                                             ; preds = %3980
  %3984 = load i32, ptr @test_count, align 4, !tbaa !5
  %3985 = add nsw i32 %3984, 1
  store i32 %3985, ptr @test_count, align 4, !tbaa !5
  %3986 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_server_max_fragment_length_extension, i32 0, i32 4), align 8, !tbaa !48
  %3987 = load ptr, ptr %70, align 8, !tbaa !9
  %3988 = call i32 %3986(ptr noundef %3987, ptr noundef %73)
  %3989 = icmp eq i32 %3988, -1
  br i1 %3989, label %3990, label %4043

3990:                                             ; preds = %3983
  br label %3991

3991:                                             ; preds = %3990
  br label %3992

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

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

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

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

4038:                                             ; preds = %4021, %4004
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #8
  br label %4039

4039:                                             ; preds = %4038
  br label %4040

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

4041:                                             ; No predecessors!
  br label %4042

4042:                                             ; preds = %4041
  br label %4043

4043:                                             ; preds = %4042, %3983
  br label %4044

4044:                                             ; preds = %4043
  br label %4045

4045:                                             ; preds = %4044
  br label %4046

4046:                                             ; preds = %4045
  %4047 = load i32, ptr @test_count, align 4, !tbaa !5
  %4048 = add nsw i32 %4047, 1
  store i32 %4048, ptr @test_count, align 4, !tbaa !5
  %4049 = getelementptr inbounds %struct.s2n_stuffer, ptr %73, i32 0, i32 2
  %4050 = load i32, ptr %4049, align 4, !tbaa !46
  %4051 = getelementptr inbounds %struct.s2n_stuffer, ptr %73, i32 0, i32 1
  %4052 = load i32, ptr %4051, align 8, !tbaa !47
  %4053 = sub i32 %4050, %4052
  %4054 = icmp eq i32 %4053, 0
  br i1 %4054, label %4108, label %4055

4055:                                             ; preds = %4046
  br label %4056

4056:                                             ; preds = %4055
  br label %4057

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

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

4069:                                             ; preds = %4064
  %4070 = load i32, ptr %84, align 4, !tbaa !5
  %4071 = call ptr @__errno_location() #9
  store i32 %4070, ptr %4071, align 4, !tbaa !5
  %4072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4073 = load i32, ptr @test_count, align 4, !tbaa !5
  %4074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4075 = load i32, ptr %4074, align 4, !tbaa !5
  %4076 = call ptr @s2n_strerror(i32 noundef %4075, ptr noundef @.str.4)
  %4077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4078 = load i32, ptr %4077, align 4, !tbaa !5
  %4079 = call ptr @s2n_strerror_debug(i32 noundef %4078, ptr noundef @.str.4)
  %4080 = call ptr @__errno_location() #9
  %4081 = load i32, ptr %4080, align 4, !tbaa !5
  %4082 = call ptr @strerror(i32 noundef %4081) #8
  %4083 = call ptr @__errno_location() #9
  %4084 = load i32, ptr %4083, align 4, !tbaa !5
  %4085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4072, ptr noundef @.str.2, i32 noundef %4073, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 173, ptr noundef %4076, ptr noundef %4079, ptr noundef %4082, i32 noundef %4084) #8
  br label %4103

4086:                                             ; preds = %4064, %4057
  %4087 = load i32, ptr %84, align 4, !tbaa !5
  %4088 = call ptr @__errno_location() #9
  store i32 %4087, ptr %4088, align 4, !tbaa !5
  %4089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4090 = load i32, ptr @test_count, align 4, !tbaa !5
  %4091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4092 = load i32, ptr %4091, align 4, !tbaa !5
  %4093 = call ptr @s2n_strerror(i32 noundef %4092, ptr noundef @.str.4)
  %4094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4095 = load i32, ptr %4094, align 4, !tbaa !5
  %4096 = call ptr @s2n_strerror_debug(i32 noundef %4095, ptr noundef @.str.4)
  %4097 = call ptr @__errno_location() #9
  %4098 = load i32, ptr %4097, align 4, !tbaa !5
  %4099 = call ptr @strerror(i32 noundef %4098) #8
  %4100 = call ptr @__errno_location() #9
  %4101 = load i32, ptr %4100, align 4, !tbaa !5
  %4102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4089, ptr noundef @.str.5, i32 noundef %4090, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 173, ptr noundef %4093, ptr noundef %4096, ptr noundef %4099, i32 noundef %4101) #8
  br label %4103

4103:                                             ; preds = %4086, %4069
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #8
  br label %4104

4104:                                             ; preds = %4103
  br label %4105

4105:                                             ; preds = %4104
  call void @exit(i32 noundef 1) #10
  unreachable

4106:                                             ; No predecessors!
  br label %4107

4107:                                             ; preds = %4106
  br label %4108

4108:                                             ; preds = %4107, %4046
  br label %4109

4109:                                             ; preds = %4108
  br label %4110

4110:                                             ; preds = %4109
  br label %4111

4111:                                             ; preds = %4110
  %4112 = load i32, ptr @test_count, align 4, !tbaa !5
  %4113 = add nsw i32 %4112, 1
  store i32 %4113, ptr @test_count, align 4, !tbaa !5
  %4114 = load ptr, ptr %70, align 8, !tbaa !9
  %4115 = getelementptr inbounds %struct.s2n_connection, ptr %4114, i32 0, i32 57
  %4116 = load i8, ptr %4115, align 8, !tbaa !18
  %4117 = zext i8 %4116 to i32
  %4118 = icmp eq i32 %4117, 2
  br i1 %4118, label %4172, label %4119

4119:                                             ; preds = %4111
  br label %4120

4120:                                             ; preds = %4119
  br label %4121

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

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

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

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

4167:                                             ; preds = %4150, %4133
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #8
  br label %4168

4168:                                             ; preds = %4167
  br label %4169

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

4170:                                             ; No predecessors!
  br label %4171

4171:                                             ; preds = %4170
  br label %4172

4172:                                             ; preds = %4171, %4111
  br label %4173

4173:                                             ; preds = %4172
  br label %4174

4174:                                             ; preds = %4173
  br label %4175

4175:                                             ; preds = %4174
  %4176 = load i32, ptr @test_count, align 4, !tbaa !5
  %4177 = add nsw i32 %4176, 1
  store i32 %4177, ptr @test_count, align 4, !tbaa !5
  %4178 = load ptr, ptr %70, align 8, !tbaa !9
  %4179 = getelementptr inbounds %struct.s2n_connection, ptr %4178, i32 0, i32 53
  %4180 = load i16, ptr %4179, align 8, !tbaa !49
  %4181 = zext i16 %4180 to i32
  %4182 = load i16, ptr getelementptr inbounds ([5 x i16], ptr @mfl_code_to_length, i64 0, i64 2), align 2, !tbaa !50
  %4183 = zext i16 %4182 to i32
  %4184 = icmp eq i32 %4181, %4183
  br i1 %4184, label %4238, label %4185

4185:                                             ; preds = %4175
  br label %4186

4186:                                             ; preds = %4185
  br label %4187

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

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

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

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

4233:                                             ; preds = %4216, %4199
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #8
  br label %4234

4234:                                             ; preds = %4233
  br label %4235

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

4236:                                             ; No predecessors!
  br label %4237

4237:                                             ; preds = %4236
  br label %4238

4238:                                             ; preds = %4237, %4175
  br label %4239

4239:                                             ; preds = %4238
  br label %4240

4240:                                             ; preds = %4239
  br label %4241

4241:                                             ; preds = %4240
  %4242 = load i32, ptr @test_count, align 4, !tbaa !5
  %4243 = add nsw i32 %4242, 1
  store i32 %4243, ptr @test_count, align 4, !tbaa !5
  %4244 = call i32 @s2n_stuffer_free(ptr noundef %73)
  %4245 = icmp eq i32 %4244, -1
  br i1 %4245, label %4246, label %4299

4246:                                             ; preds = %4241
  br label %4247

4247:                                             ; preds = %4246
  br label %4248

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

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

4260:                                             ; preds = %4255
  %4261 = load i32, ptr %87, align 4, !tbaa !5
  %4262 = call ptr @__errno_location() #9
  store i32 %4261, ptr %4262, align 4, !tbaa !5
  %4263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4264 = load i32, ptr @test_count, align 4, !tbaa !5
  %4265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4266 = load i32, ptr %4265, align 4, !tbaa !5
  %4267 = call ptr @s2n_strerror(i32 noundef %4266, ptr noundef @.str.4)
  %4268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4269 = load i32, ptr %4268, align 4, !tbaa !5
  %4270 = call ptr @s2n_strerror_debug(i32 noundef %4269, ptr noundef @.str.4)
  %4271 = call ptr @__errno_location() #9
  %4272 = load i32, ptr %4271, align 4, !tbaa !5
  %4273 = call ptr @strerror(i32 noundef %4272) #8
  %4274 = call ptr @__errno_location() #9
  %4275 = load i32, ptr %4274, align 4, !tbaa !5
  %4276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4263, ptr noundef @.str.2, i32 noundef %4264, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 179, ptr noundef %4267, ptr noundef %4270, ptr noundef %4273, i32 noundef %4275) #8
  br label %4294

4277:                                             ; preds = %4255, %4248
  %4278 = load i32, ptr %87, align 4, !tbaa !5
  %4279 = call ptr @__errno_location() #9
  store i32 %4278, ptr %4279, align 4, !tbaa !5
  %4280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4281 = load i32, ptr @test_count, align 4, !tbaa !5
  %4282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4283 = load i32, ptr %4282, align 4, !tbaa !5
  %4284 = call ptr @s2n_strerror(i32 noundef %4283, ptr noundef @.str.4)
  %4285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4286 = load i32, ptr %4285, align 4, !tbaa !5
  %4287 = call ptr @s2n_strerror_debug(i32 noundef %4286, ptr noundef @.str.4)
  %4288 = call ptr @__errno_location() #9
  %4289 = load i32, ptr %4288, align 4, !tbaa !5
  %4290 = call ptr @strerror(i32 noundef %4289) #8
  %4291 = call ptr @__errno_location() #9
  %4292 = load i32, ptr %4291, align 4, !tbaa !5
  %4293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4280, ptr noundef @.str.5, i32 noundef %4281, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 179, ptr noundef %4284, ptr noundef %4287, ptr noundef %4290, i32 noundef %4292) #8
  br label %4294

4294:                                             ; preds = %4277, %4260
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #8
  br label %4295

4295:                                             ; preds = %4294
  br label %4296

4296:                                             ; preds = %4295
  call void @exit(i32 noundef 1) #10
  unreachable

4297:                                             ; No predecessors!
  br label %4298

4298:                                             ; preds = %4297
  br label %4299

4299:                                             ; preds = %4298, %4241
  br label %4300

4300:                                             ; preds = %4299
  br label %4301

4301:                                             ; preds = %4300
  br label %4302

4302:                                             ; preds = %4301
  %4303 = load i32, ptr @test_count, align 4, !tbaa !5
  %4304 = add nsw i32 %4303, 1
  store i32 %4304, ptr @test_count, align 4, !tbaa !5
  %4305 = load ptr, ptr %70, align 8, !tbaa !9
  %4306 = call i32 @s2n_connection_free(ptr noundef %4305)
  %4307 = icmp eq i32 %4306, -1
  br i1 %4307, label %4308, label %4361

4308:                                             ; preds = %4302
  br label %4309

4309:                                             ; preds = %4308
  br label %4310

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

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

4322:                                             ; preds = %4317
  %4323 = load i32, ptr %88, align 4, !tbaa !5
  %4324 = call ptr @__errno_location() #9
  store i32 %4323, ptr %4324, align 4, !tbaa !5
  %4325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4326 = load i32, ptr @test_count, align 4, !tbaa !5
  %4327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4328 = load i32, ptr %4327, align 4, !tbaa !5
  %4329 = call ptr @s2n_strerror(i32 noundef %4328, ptr noundef @.str.4)
  %4330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4331 = load i32, ptr %4330, align 4, !tbaa !5
  %4332 = call ptr @s2n_strerror_debug(i32 noundef %4331, ptr noundef @.str.4)
  %4333 = call ptr @__errno_location() #9
  %4334 = load i32, ptr %4333, align 4, !tbaa !5
  %4335 = call ptr @strerror(i32 noundef %4334) #8
  %4336 = call ptr @__errno_location() #9
  %4337 = load i32, ptr %4336, align 4, !tbaa !5
  %4338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4325, ptr noundef @.str.2, i32 noundef %4326, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 180, ptr noundef %4329, ptr noundef %4332, ptr noundef %4335, i32 noundef %4337) #8
  br label %4356

4339:                                             ; preds = %4317, %4310
  %4340 = load i32, ptr %88, align 4, !tbaa !5
  %4341 = call ptr @__errno_location() #9
  store i32 %4340, ptr %4341, align 4, !tbaa !5
  %4342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4343 = load i32, ptr @test_count, align 4, !tbaa !5
  %4344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4345 = load i32, ptr %4344, align 4, !tbaa !5
  %4346 = call ptr @s2n_strerror(i32 noundef %4345, ptr noundef @.str.4)
  %4347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4348 = load i32, ptr %4347, align 4, !tbaa !5
  %4349 = call ptr @s2n_strerror_debug(i32 noundef %4348, ptr noundef @.str.4)
  %4350 = call ptr @__errno_location() #9
  %4351 = load i32, ptr %4350, align 4, !tbaa !5
  %4352 = call ptr @strerror(i32 noundef %4351) #8
  %4353 = call ptr @__errno_location() #9
  %4354 = load i32, ptr %4353, align 4, !tbaa !5
  %4355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4342, ptr noundef @.str.5, i32 noundef %4343, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 180, ptr noundef %4346, ptr noundef %4349, ptr noundef %4352, i32 noundef %4354) #8
  br label %4356

4356:                                             ; preds = %4339, %4322
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #8
  br label %4357

4357:                                             ; preds = %4356
  br label %4358

4358:                                             ; preds = %4357
  call void @exit(i32 noundef 1) #10
  unreachable

4359:                                             ; No predecessors!
  br label %4360

4360:                                             ; preds = %4359
  br label %4361

4361:                                             ; preds = %4360, %4302
  br label %4362

4362:                                             ; preds = %4361
  br label %4363

4363:                                             ; preds = %4362
  br label %4364

4364:                                             ; preds = %4363
  %4365 = load i32, ptr @test_count, align 4, !tbaa !5
  %4366 = add nsw i32 %4365, 1
  store i32 %4366, ptr @test_count, align 4, !tbaa !5
  %4367 = load ptr, ptr %67, align 8, !tbaa !9
  %4368 = call i32 @s2n_config_free(ptr noundef %4367)
  %4369 = icmp eq i32 %4368, -1
  br i1 %4369, label %4370, label %4423

4370:                                             ; preds = %4364
  br label %4371

4371:                                             ; preds = %4370
  br label %4372

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

4379:                                             ; preds = %4372
  %4380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4381 = call i32 @fileno(ptr noundef %4380) #8
  %4382 = call i32 @isatty(i32 noundef %4381) #8
  %4383 = icmp ne i32 %4382, 0
  br i1 %4383, label %4384, label %4401

4384:                                             ; preds = %4379
  %4385 = load i32, ptr %89, align 4, !tbaa !5
  %4386 = call ptr @__errno_location() #9
  store i32 %4385, ptr %4386, align 4, !tbaa !5
  %4387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4388 = load i32, ptr @test_count, align 4, !tbaa !5
  %4389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4390 = load i32, ptr %4389, align 4, !tbaa !5
  %4391 = call ptr @s2n_strerror(i32 noundef %4390, ptr noundef @.str.4)
  %4392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4393 = load i32, ptr %4392, align 4, !tbaa !5
  %4394 = call ptr @s2n_strerror_debug(i32 noundef %4393, ptr noundef @.str.4)
  %4395 = call ptr @__errno_location() #9
  %4396 = load i32, ptr %4395, align 4, !tbaa !5
  %4397 = call ptr @strerror(i32 noundef %4396) #8
  %4398 = call ptr @__errno_location() #9
  %4399 = load i32, ptr %4398, align 4, !tbaa !5
  %4400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4387, ptr noundef @.str.2, i32 noundef %4388, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 181, ptr noundef %4391, ptr noundef %4394, ptr noundef %4397, i32 noundef %4399) #8
  br label %4418

4401:                                             ; preds = %4379, %4372
  %4402 = load i32, ptr %89, align 4, !tbaa !5
  %4403 = call ptr @__errno_location() #9
  store i32 %4402, ptr %4403, align 4, !tbaa !5
  %4404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4405 = load i32, ptr @test_count, align 4, !tbaa !5
  %4406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4407 = load i32, ptr %4406, align 4, !tbaa !5
  %4408 = call ptr @s2n_strerror(i32 noundef %4407, ptr noundef @.str.4)
  %4409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4410 = load i32, ptr %4409, align 4, !tbaa !5
  %4411 = call ptr @s2n_strerror_debug(i32 noundef %4410, ptr noundef @.str.4)
  %4412 = call ptr @__errno_location() #9
  %4413 = load i32, ptr %4412, align 4, !tbaa !5
  %4414 = call ptr @strerror(i32 noundef %4413) #8
  %4415 = call ptr @__errno_location() #9
  %4416 = load i32, ptr %4415, align 4, !tbaa !5
  %4417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4404, ptr noundef @.str.5, i32 noundef %4405, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 181, ptr noundef %4408, ptr noundef %4411, ptr noundef %4414, i32 noundef %4416) #8
  br label %4418

4418:                                             ; preds = %4401, %4384
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #8
  br label %4419

4419:                                             ; preds = %4418
  br label %4420

4420:                                             ; preds = %4419
  call void @exit(i32 noundef 1) #10
  unreachable

4421:                                             ; No predecessors!
  br label %4422

4422:                                             ; preds = %4421
  br label %4423

4423:                                             ; preds = %4422, %4364
  br label %4424

4424:                                             ; preds = %4423
  br label %4425

4425:                                             ; preds = %4424
  call void @llvm.lifetime.end.p0(i64 40, ptr %73) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #8
  br label %4426

4426:                                             ; preds = %4425
  br label %4427

4427:                                             ; preds = %4426
  %4428 = call i32 @s2n_cleanup()
  %4429 = icmp eq i32 %4428, -1
  br i1 %4429, label %4430, label %4481

4430:                                             ; preds = %4427
  br label %4431

4431:                                             ; preds = %4430
  br label %4432

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

4439:                                             ; preds = %4432
  %4440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4441 = call i32 @fileno(ptr noundef %4440) #8
  %4442 = call i32 @isatty(i32 noundef %4441) #8
  %4443 = icmp ne i32 %4442, 0
  br i1 %4443, label %4444, label %4461

4444:                                             ; preds = %4439
  %4445 = load i32, ptr %90, align 4, !tbaa !5
  %4446 = call ptr @__errno_location() #9
  store i32 %4445, ptr %4446, align 4, !tbaa !5
  %4447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4448 = load i32, ptr @test_count, align 4, !tbaa !5
  %4449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4450 = load i32, ptr %4449, align 4, !tbaa !5
  %4451 = call ptr @s2n_strerror(i32 noundef %4450, ptr noundef @.str.4)
  %4452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4453 = load i32, ptr %4452, align 4, !tbaa !5
  %4454 = call ptr @s2n_strerror_debug(i32 noundef %4453, ptr noundef @.str.4)
  %4455 = call ptr @__errno_location() #9
  %4456 = load i32, ptr %4455, align 4, !tbaa !5
  %4457 = call ptr @strerror(i32 noundef %4456) #8
  %4458 = call ptr @__errno_location() #9
  %4459 = load i32, ptr %4458, align 4, !tbaa !5
  %4460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4447, ptr noundef @.str.2, i32 noundef %4448, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 184, ptr noundef %4451, ptr noundef %4454, ptr noundef %4457, i32 noundef %4459) #8
  br label %4478

4461:                                             ; preds = %4439, %4432
  %4462 = load i32, ptr %90, align 4, !tbaa !5
  %4463 = call ptr @__errno_location() #9
  store i32 %4462, ptr %4463, align 4, !tbaa !5
  %4464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4465 = load i32, ptr @test_count, align 4, !tbaa !5
  %4466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4467 = load i32, ptr %4466, align 4, !tbaa !5
  %4468 = call ptr @s2n_strerror(i32 noundef %4467, ptr noundef @.str.4)
  %4469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4470 = load i32, ptr %4469, align 4, !tbaa !5
  %4471 = call ptr @s2n_strerror_debug(i32 noundef %4470, ptr noundef @.str.4)
  %4472 = call ptr @__errno_location() #9
  %4473 = load i32, ptr %4472, align 4, !tbaa !5
  %4474 = call ptr @strerror(i32 noundef %4473) #8
  %4475 = call ptr @__errno_location() #9
  %4476 = load i32, ptr %4475, align 4, !tbaa !5
  %4477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4464, ptr noundef @.str.5, i32 noundef %4465, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 184, ptr noundef %4468, ptr noundef %4471, ptr noundef %4474, i32 noundef %4476) #8
  br label %4478

4478:                                             ; preds = %4461, %4444
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #8
  br label %4479

4479:                                             ; preds = %4478
  call void @exit(i32 noundef 1) #10
  unreachable

4480:                                             ; No predecessors!
  br label %4481

4481:                                             ; preds = %4480, %4427
  br label %4482

4482:                                             ; preds = %4481
  br label %4483

4483:                                             ; preds = %4482
  br label %4484

4484:                                             ; preds = %4483
  %4485 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %4486 = icmp eq i32 %4485, -1
  br i1 %4486, label %4487, label %4538

4487:                                             ; preds = %4484
  br label %4488

4488:                                             ; preds = %4487
  br label %4489

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

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

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

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

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

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

4537:                                             ; No predecessors!
  br label %4538

4538:                                             ; preds = %4537, %4484
  br label %4539

4539:                                             ; preds = %4538
  %4540 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4541 = trunc i8 %4540 to i1
  br i1 %4541, label %4542, label %4558

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

4547:                                             ; preds = %4542
  %4548 = load i32, ptr @test_count, align 4, !tbaa !5
  %4549 = icmp ne i32 %4548, 0
  br i1 %4549, label %4550, label %4554

4550:                                             ; preds = %4547
  %4551 = load ptr, ptr @stdout, align 8, !tbaa !9
  %4552 = load i32, ptr @test_count, align 4, !tbaa !5
  %4553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4551, ptr noundef @.str.36, i32 noundef %4552) #8
  br label %4557

4554:                                             ; preds = %4547
  %4555 = load ptr, ptr @stdout, align 8, !tbaa !9
  %4556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4555, ptr noundef @.str.37) #8
  br label %4557

4557:                                             ; preds = %4554, %4550
  br label %4569

4558:                                             ; preds = %4542, %4539
  %4559 = load i32, ptr @test_count, align 4, !tbaa !5
  %4560 = icmp ne i32 %4559, 0
  br i1 %4560, label %4561, label %4565

4561:                                             ; preds = %4558
  %4562 = load ptr, ptr @stdout, align 8, !tbaa !9
  %4563 = load i32, ptr @test_count, align 4, !tbaa !5
  %4564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4562, ptr noundef @.str.38, i32 noundef %4563) #8
  br label %4568

4565:                                             ; preds = %4558
  %4566 = load ptr, ptr @stdout, align 8, !tbaa !9
  %4567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4566, ptr noundef @.str.39) #8
  br label %4568

4568:                                             ; preds = %4565, %4561
  br label %4569

4569:                                             ; preds = %4568, %4557
  store i32 0, ptr %3, align 4
  br label %4571

4570:                                             ; No predecessors!
  br label %4571

4571:                                             ; preds = %4570, %4569
  %4572 = load i32, ptr %3, align 4
  ret i32 %4572
}

; Function Attrs: nounwind
declare i32 @fprintf(ptr noundef, ptr noundef, ...) #1

declare i32 @fflush(ptr noundef) #2

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #2

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #3

; Function Attrs: nounwind willreturn memory(none)
declare ptr @__errno_location() #4

declare i32 @s2n_print_stacktrace(ptr noundef) #2

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) #1

; Function Attrs: nounwind
declare i32 @fileno(ptr noundef) #1

declare ptr @s2n_strerror(i32 noundef, ptr noundef) #2

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare nonnull ptr @llvm.threadlocal.address.p0(ptr nonnull) #5

declare ptr @s2n_strerror_debug(i32 noundef, ptr noundef) #2

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) #1

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #3

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) #6

declare i32 @s2n_enable_atexit() #2

declare i32 @s2n_init() #2

declare i32 @s2n_disable_tls13_in_test(...) #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_connection_free(ptr noundef) #2

declare i32 @s2n_config_free(ptr noundef) #2

declare i32 @s2n_config_send_max_fragment_length(ptr noundef, i32 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_stuffer_read_uint8(ptr noundef, ptr noundef) #2

declare i32 @s2n_stuffer_free(ptr noundef) #2

declare void @s2n_debug_info_reset() #2

declare i32 @s2n_cleanup() #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #6 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #8 = { nounwind }
attributes #9 = { nounwind willreturn memory(none) }
attributes #10 = { 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 = !{!19, !7, i64 2232}
!19 = !{!"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, !20, i64 160, !21, i64 168, !21, 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, !22, i64 240, !10, i64 632, !10, i64 640, !23, i64 648, !29, i64 1144, !32, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !34, i64 1776, !34, i64 1816, !34, i64 1856, !34, i64 1896, !6, i64 1936, !21, i64 1944, !7, i64 1952, !34, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !35, i64 2004, !35, i64 2008, !36, i64 2016, !17, i64 2208, !6, i64 2212, !17, i64 2216, !21, i64 2224, !7, i64 2232, !21, i64 2240, !21, i64 2248, !21, i64 2256, !35, i64 2264, !35, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !28, i64 2792, !6, i64 2816, !28, i64 2824, !28, i64 2848, !28, i64 2872, !38, i64 2896, !40, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !28, i64 3784, !6, i64 3808, !42, i64 3816, !7, i64 3848, !34, i64 3992, !28, i64 4032, !28, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !17, i64 4084, !17, i64 4086, !6, i64 4088, !6, i64 4092, !28, i64 4096, !6, i64 4120, !43, i64 4128, !35, i64 4176, !7, i64 4180, !7, i64 4181}
!20 = !{!"s2n_timer", !21, i64 0}
!21 = !{!"long", !7, i64 0}
!22 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!23 = !{!"s2n_kex_parameters", !24, i64 0, !25, i64 8, !7, i64 24, !25, i64 56, !26, i64 72, !26, i64 184, !7, i64 296, !27, i64 360, !28, i64 448, !28, i64 472}
!24 = !{!"s2n_dh_params", !10, i64 0}
!25 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!26 = !{!"s2n_kem_group_params", !10, i64 0, !27, i64 8, !25, i64 96}
!27 = !{!"s2n_kem_params", !10, i64 0, !28, i64 8, !28, i64 32, !28, i64 56, !12, i64 80}
!28 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!29 = !{!"s2n_handshake_parameters", !30, i64 0, !30, i64 48, !28, i64 96, !6, i64 120, !31, 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}
!30 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!31 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!32 = !{!"s2n_psk_parameters", !6, i64 0, !33, i64 8, !17, i64 40, !17, i64 42, !10, i64 48, !6, i64 56}
!33 = !{!"s2n_array", !28, i64 0, !6, i64 24, !6, i64 28}
!34 = !{!"s2n_stuffer", !28, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!35 = !{!"", !6, i64 0}
!36 = !{!"s2n_handshake", !34, 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, !37, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!37 = !{!"s2n_offered_early_data", !10, i64 0}
!38 = !{!"s2n_client_hello", !28, i64 0, !39, i64 24, !28, i64 728, !28, i64 752, !28, 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}
!39 = !{!"", !7, i64 0, !28, i64 672, !17, i64 696}
!40 = !{!"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, !41, i64 48, !12, i64 52}
!41 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!42 = !{!"s2n_ticket_fields", !28, i64 0, !6, i64 24}
!43 = !{!"s2n_post_handshake", !34, i64 0, !7, i64 40}
!44 = !{!16, !10, i64 8}
!45 = !{!7, !7, i64 0}
!46 = !{!34, !6, i64 28}
!47 = !{!34, !6, i64 24}
!48 = !{!16, !10, i64 16}
!49 = !{!19, !17, i64 2208}
!50 = !{!17, !17, i64 0}


; 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 [97 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 [56 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [68 x i8], align 1
@s2n_server_max_fragment_length_extension = external local_unnamed_addr constant %struct.s2n_extension_type, align 8
@.str.12 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [99 x i8], align 1
@mfl_code_to_length = external local_unnamed_addr global [5 x i16], align 2
@.str.31 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [25 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @main(i32 noundef %0, ptr nocapture noundef readnone %1) local_unnamed_addr #0 {
  %3 = alloca %struct.s2n_stuffer, align 8
  %4 = alloca i8, align 1
  %5 = alloca %struct.s2n_stuffer, align 8
  %6 = alloca %struct.s2n_stuffer, align 8
  %7 = alloca %struct.s2n_stuffer, align 8
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %8 = load ptr, ptr @stdout, align 8, !tbaa !9
  %9 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8, ptr noundef nonnull @.str, ptr noundef nonnull @.str.1) #9
  %10 = load ptr, ptr @stdout, align 8, !tbaa !9
  %11 = tail call i32 @fflush(ptr noundef %10)
  %12 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #9
  %13 = icmp eq i32 %12, -1
  br i1 %13, label %14, label %38

14:                                               ; preds = %2
  %15 = tail call ptr @__errno_location() #10
  %16 = load i32, ptr %15, align 4, !tbaa !5
  %17 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18 = tail call i32 @s2n_print_stacktrace(ptr noundef %17) #9
  %19 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20 = trunc nuw i8 %19 to i1
  br i1 %20, label %21, label %25

21:                                               ; preds = %14
  %22 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23 = tail call i32 @fileno(ptr noundef %22) #9
  %24 = tail call i32 @isatty(i32 noundef %23) #9
  %.not277 = icmp eq i32 %24, 0
  br i1 %.not277, label %25, label %26

25:                                               ; preds = %21, %14
  br label %26

26:                                               ; preds = %21, %25
  %.str.5.sink = phi ptr [ @.str.5, %25 ], [ @.str.2, %21 ]
  store i32 %16, ptr %15, align 4, !tbaa !5
  %27 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28 = load i32, ptr @test_count, align 4, !tbaa !5
  %29 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30 = load i32, ptr %29, align 4, !tbaa !5
  %31 = tail call ptr @s2n_strerror(i32 noundef %30, ptr noundef nonnull @.str.4) #9
  %32 = load i32, ptr %29, align 4, !tbaa !5
  %33 = tail call ptr @s2n_strerror_debug(i32 noundef %32, ptr noundef nonnull @.str.4) #9
  %34 = load i32, ptr %15, align 4, !tbaa !5
  %35 = tail call ptr @strerror(i32 noundef %34) #9
  %36 = load i32, ptr %15, align 4, !tbaa !5
  %37 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27, ptr noundef nonnull %.str.5.sink, i32 noundef %28, ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.1, i32 noundef 22, ptr noundef %31, ptr noundef %33, ptr noundef %35, i32 noundef %36) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

38:                                               ; preds = %2
  %39 = load i32, ptr @test_count, align 4, !tbaa !5
  %40 = add nsw i32 %39, 1
  store i32 %40, ptr @test_count, align 4, !tbaa !5
  %41 = tail call i32 @s2n_enable_atexit() #9
  %42 = icmp eq i32 %41, -1
  br i1 %42, label %43, label %67

43:                                               ; preds = %38
  %44 = tail call ptr @__errno_location() #10
  %45 = load i32, ptr %44, align 4, !tbaa !5
  %46 = load ptr, ptr @stderr, align 8, !tbaa !9
  %47 = tail call i32 @s2n_print_stacktrace(ptr noundef %46) #9
  %48 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %49 = trunc nuw i8 %48 to i1
  br i1 %49, label %50, label %54

50:                                               ; preds = %43
  %51 = load ptr, ptr @stderr, align 8, !tbaa !9
  %52 = tail call i32 @fileno(ptr noundef %51) #9
  %53 = tail call i32 @isatty(i32 noundef %52) #9
  %.not276 = icmp eq i32 %53, 0
  br i1 %.not276, label %54, label %55

54:                                               ; preds = %50, %43
  br label %55

55:                                               ; preds = %50, %54
  %.str.5.sink288 = phi ptr [ @.str.5, %54 ], [ @.str.2, %50 ]
  store i32 %45, ptr %44, align 4, !tbaa !5
  %56 = load ptr, ptr @stderr, align 8, !tbaa !9
  %57 = load i32, ptr @test_count, align 4, !tbaa !5
  %58 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %59 = load i32, ptr %58, align 4, !tbaa !5
  %60 = tail call ptr @s2n_strerror(i32 noundef %59, ptr noundef nonnull @.str.4) #9
  %61 = load i32, ptr %58, align 4, !tbaa !5
  %62 = tail call ptr @s2n_strerror_debug(i32 noundef %61, ptr noundef nonnull @.str.4) #9
  %63 = load i32, ptr %44, align 4, !tbaa !5
  %64 = tail call ptr @strerror(i32 noundef %63) #9
  %65 = load i32, ptr %44, align 4, !tbaa !5
  %66 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %56, ptr noundef nonnull %.str.5.sink288, i32 noundef %57, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.1, i32 noundef 22, ptr noundef %60, ptr noundef %62, ptr noundef %64, i32 noundef %65) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

67:                                               ; preds = %38
  %68 = tail call i32 @s2n_init() #9
  %69 = icmp eq i32 %68, -1
  br i1 %69, label %70, label %94

70:                                               ; preds = %67
  %71 = tail call ptr @__errno_location() #10
  %72 = load i32, ptr %71, align 4, !tbaa !5
  %73 = load ptr, ptr @stderr, align 8, !tbaa !9
  %74 = tail call i32 @s2n_print_stacktrace(ptr noundef %73) #9
  %75 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %76 = trunc nuw i8 %75 to i1
  br i1 %76, label %77, label %81

77:                                               ; preds = %70
  %78 = load ptr, ptr @stderr, align 8, !tbaa !9
  %79 = tail call i32 @fileno(ptr noundef %78) #9
  %80 = tail call i32 @isatty(i32 noundef %79) #9
  %.not275 = icmp eq i32 %80, 0
  br i1 %.not275, label %81, label %82

81:                                               ; preds = %77, %70
  br label %82

82:                                               ; preds = %77, %81
  %.str.5.sink299 = phi ptr [ @.str.5, %81 ], [ @.str.2, %77 ]
  store i32 %72, ptr %71, align 4, !tbaa !5
  %83 = load ptr, ptr @stderr, align 8, !tbaa !9
  %84 = load i32, ptr @test_count, align 4, !tbaa !5
  %85 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %86 = load i32, ptr %85, align 4, !tbaa !5
  %87 = tail call ptr @s2n_strerror(i32 noundef %86, ptr noundef nonnull @.str.4) #9
  %88 = load i32, ptr %85, align 4, !tbaa !5
  %89 = tail call ptr @s2n_strerror_debug(i32 noundef %88, ptr noundef nonnull @.str.4) #9
  %90 = load i32, ptr %71, align 4, !tbaa !5
  %91 = tail call ptr @strerror(i32 noundef %90) #9
  %92 = load i32, ptr %71, align 4, !tbaa !5
  %93 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %83, ptr noundef nonnull %.str.5.sink299, i32 noundef %84, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.1, i32 noundef 22, ptr noundef %87, ptr noundef %89, ptr noundef %91, i32 noundef %92) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

94:                                               ; preds = %67
  %95 = load i32, ptr @test_count, align 4, !tbaa !5
  %96 = add nsw i32 %95, 1
  store i32 %96, ptr @test_count, align 4, !tbaa !5
  %97 = tail call i32 (...) @s2n_disable_tls13_in_test() #9
  %98 = icmp eq i32 %97, -1
  br i1 %98, label %99, label %123

99:                                               ; preds = %94
  %100 = tail call ptr @__errno_location() #10
  %101 = load i32, ptr %100, align 4, !tbaa !5
  %102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %103 = tail call i32 @s2n_print_stacktrace(ptr noundef %102) #9
  %104 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %105 = trunc nuw i8 %104 to i1
  br i1 %105, label %106, label %110

106:                                              ; preds = %99
  %107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %108 = tail call i32 @fileno(ptr noundef %107) #9
  %109 = tail call i32 @isatty(i32 noundef %108) #9
  %.not274 = icmp eq i32 %109, 0
  br i1 %.not274, label %110, label %111

110:                                              ; preds = %106, %99
  br label %111

111:                                              ; preds = %106, %110
  %.str.5.sink310 = phi ptr [ @.str.5, %110 ], [ @.str.2, %106 ]
  store i32 %101, ptr %100, align 4, !tbaa !5
  %112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %113 = load i32, ptr @test_count, align 4, !tbaa !5
  %114 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %115 = load i32, ptr %114, align 4, !tbaa !5
  %116 = tail call ptr @s2n_strerror(i32 noundef %115, ptr noundef nonnull @.str.4) #9
  %117 = load i32, ptr %114, align 4, !tbaa !5
  %118 = tail call ptr @s2n_strerror_debug(i32 noundef %117, ptr noundef nonnull @.str.4) #9
  %119 = load i32, ptr %100, align 4, !tbaa !5
  %120 = tail call ptr @strerror(i32 noundef %119) #9
  %121 = load i32, ptr %100, align 4, !tbaa !5
  %122 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %112, ptr noundef nonnull %.str.5.sink310, i32 noundef %113, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 23, ptr noundef %116, ptr noundef %118, ptr noundef %120, i32 noundef %121) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

123:                                              ; preds = %94
  %124 = load i32, ptr @test_count, align 4, !tbaa !5
  %125 = add nsw i32 %124, 1
  store i32 %125, ptr @test_count, align 4, !tbaa !5
  %126 = tail call ptr @s2n_config_new() #9
  %127 = icmp eq ptr %126, null
  br i1 %127, label %128, label %152

128:                                              ; preds = %123
  %129 = tail call ptr @__errno_location() #10
  %130 = load i32, ptr %129, align 4, !tbaa !5
  %131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %132 = tail call i32 @s2n_print_stacktrace(ptr noundef %131) #9
  %133 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %134 = trunc nuw i8 %133 to i1
  br i1 %134, label %135, label %139

135:                                              ; preds = %128
  %136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %137 = tail call i32 @fileno(ptr noundef %136) #9
  %138 = tail call i32 @isatty(i32 noundef %137) #9
  %.not273 = icmp eq i32 %138, 0
  br i1 %.not273, label %139, label %140

139:                                              ; preds = %135, %128
  br label %140

140:                                              ; preds = %135, %139
  %.str.5.sink321 = phi ptr [ @.str.5, %139 ], [ @.str.2, %135 ]
  store i32 %130, ptr %129, align 4, !tbaa !5
  %141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %142 = load i32, ptr @test_count, align 4, !tbaa !5
  %143 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %144 = load i32, ptr %143, align 4, !tbaa !5
  %145 = tail call ptr @s2n_strerror(i32 noundef %144, ptr noundef nonnull @.str.4) #9
  %146 = load i32, ptr %143, align 4, !tbaa !5
  %147 = tail call ptr @s2n_strerror_debug(i32 noundef %146, ptr noundef nonnull @.str.4) #9
  %148 = load i32, ptr %129, align 4, !tbaa !5
  %149 = tail call ptr @strerror(i32 noundef %148) #9
  %150 = load i32, ptr %129, align 4, !tbaa !5
  %151 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %141, ptr noundef nonnull %.str.5.sink321, i32 noundef %142, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 28, ptr noundef %145, ptr noundef %147, ptr noundef %149, i32 noundef %150) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

152:                                              ; preds = %123
  %153 = load i32, ptr @test_count, align 4, !tbaa !5
  %154 = add nsw i32 %153, 1
  store i32 %154, ptr @test_count, align 4, !tbaa !5
  %155 = tail call ptr @s2n_connection_new(i32 noundef 1) #9
  %156 = icmp eq ptr %155, null
  br i1 %156, label %157, label %181

157:                                              ; preds = %152
  %158 = tail call ptr @__errno_location() #10
  %159 = load i32, ptr %158, align 4, !tbaa !5
  %160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %161 = tail call i32 @s2n_print_stacktrace(ptr noundef %160) #9
  %162 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %163 = trunc nuw i8 %162 to i1
  br i1 %163, label %164, label %168

164:                                              ; preds = %157
  %165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %166 = tail call i32 @fileno(ptr noundef %165) #9
  %167 = tail call i32 @isatty(i32 noundef %166) #9
  %.not272 = icmp eq i32 %167, 0
  br i1 %.not272, label %168, label %169

168:                                              ; preds = %164, %157
  br label %169

169:                                              ; preds = %164, %168
  %.str.5.sink332 = phi ptr [ @.str.5, %168 ], [ @.str.2, %164 ]
  store i32 %159, ptr %158, align 4, !tbaa !5
  %170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %171 = load i32, ptr @test_count, align 4, !tbaa !5
  %172 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %173 = load i32, ptr %172, align 4, !tbaa !5
  %174 = tail call ptr @s2n_strerror(i32 noundef %173, ptr noundef nonnull @.str.4) #9
  %175 = load i32, ptr %172, align 4, !tbaa !5
  %176 = tail call ptr @s2n_strerror_debug(i32 noundef %175, ptr noundef nonnull @.str.4) #9
  %177 = load i32, ptr %158, align 4, !tbaa !5
  %178 = tail call ptr @strerror(i32 noundef %177) #9
  %179 = load i32, ptr %158, align 4, !tbaa !5
  %180 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %170, ptr noundef nonnull %.str.5.sink332, i32 noundef %171, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 31, ptr noundef %174, ptr noundef %176, ptr noundef %178, i32 noundef %179) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

181:                                              ; preds = %152
  %182 = load i32, ptr @test_count, align 4, !tbaa !5
  %183 = add nsw i32 %182, 1
  store i32 %183, ptr @test_count, align 4, !tbaa !5
  %184 = tail call i32 @s2n_connection_set_config(ptr noundef nonnull %155, ptr noundef nonnull %126) #9
  %185 = icmp eq i32 %184, -1
  br i1 %185, label %186, label %210

186:                                              ; preds = %181
  %187 = tail call ptr @__errno_location() #10
  %188 = load i32, ptr %187, align 4, !tbaa !5
  %189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %190 = tail call i32 @s2n_print_stacktrace(ptr noundef %189) #9
  %191 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %192 = trunc nuw i8 %191 to i1
  br i1 %192, label %193, label %197

193:                                              ; preds = %186
  %194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %195 = tail call i32 @fileno(ptr noundef %194) #9
  %196 = tail call i32 @isatty(i32 noundef %195) #9
  %.not271 = icmp eq i32 %196, 0
  br i1 %.not271, label %197, label %198

197:                                              ; preds = %193, %186
  br label %198

198:                                              ; preds = %193, %197
  %.str.5.sink343 = phi ptr [ @.str.5, %197 ], [ @.str.2, %193 ]
  store i32 %188, ptr %187, align 4, !tbaa !5
  %199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %200 = load i32, ptr @test_count, align 4, !tbaa !5
  %201 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %202 = load i32, ptr %201, align 4, !tbaa !5
  %203 = tail call ptr @s2n_strerror(i32 noundef %202, ptr noundef nonnull @.str.4) #9
  %204 = load i32, ptr %201, align 4, !tbaa !5
  %205 = tail call ptr @s2n_strerror_debug(i32 noundef %204, ptr noundef nonnull @.str.4) #9
  %206 = load i32, ptr %187, align 4, !tbaa !5
  %207 = tail call ptr @strerror(i32 noundef %206) #9
  %208 = load i32, ptr %187, align 4, !tbaa !5
  %209 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %199, ptr noundef nonnull %.str.5.sink343, i32 noundef %200, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 32, ptr noundef %203, ptr noundef %205, ptr noundef %207, i32 noundef %208) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

210:                                              ; preds = %181
  %211 = load i32, ptr @test_count, align 4, !tbaa !5
  %212 = add nsw i32 %211, 1
  store i32 %212, ptr @test_count, align 4, !tbaa !5
  %213 = load ptr, ptr getelementptr inbounds (i8, ptr @s2n_server_max_fragment_length_extension, i64 24), align 8, !tbaa !15
  %214 = tail call zeroext i1 %213(ptr noundef nonnull %155) #9
  br i1 %214, label %215, label %239

215:                                              ; preds = %210
  %216 = tail call ptr @__errno_location() #10
  %217 = load i32, ptr %216, align 4, !tbaa !5
  %218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %219 = tail call i32 @s2n_print_stacktrace(ptr noundef %218) #9
  %220 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %221 = trunc nuw i8 %220 to i1
  br i1 %221, label %222, label %226

222:                                              ; preds = %215
  %223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %224 = tail call i32 @fileno(ptr noundef %223) #9
  %225 = tail call i32 @isatty(i32 noundef %224) #9
  %.not270 = icmp eq i32 %225, 0
  br i1 %.not270, label %226, label %227

226:                                              ; preds = %222, %215
  br label %227

227:                                              ; preds = %222, %226
  %.str.5.sink354 = phi ptr [ @.str.5, %226 ], [ @.str.2, %222 ]
  store i32 %217, ptr %216, align 4, !tbaa !5
  %228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %229 = load i32, ptr @test_count, align 4, !tbaa !5
  %230 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %231 = load i32, ptr %230, align 4, !tbaa !5
  %232 = tail call ptr @s2n_strerror(i32 noundef %231, ptr noundef nonnull @.str.4) #9
  %233 = load i32, ptr %230, align 4, !tbaa !5
  %234 = tail call ptr @s2n_strerror_debug(i32 noundef %233, ptr noundef nonnull @.str.4) #9
  %235 = load i32, ptr %216, align 4, !tbaa !5
  %236 = tail call ptr @strerror(i32 noundef %235) #9
  %237 = load i32, ptr %216, align 4, !tbaa !5
  %238 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %228, ptr noundef nonnull %.str.5.sink354, i32 noundef %229, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 35, ptr noundef %232, ptr noundef %234, ptr noundef %236, i32 noundef %237) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

239:                                              ; preds = %210
  %240 = getelementptr inbounds i8, ptr %155, i64 2232
  store i8 1, ptr %240, align 8, !tbaa !18
  %241 = load i32, ptr @test_count, align 4, !tbaa !5
  %242 = add nsw i32 %241, 1
  store i32 %242, ptr @test_count, align 4, !tbaa !5
  %243 = tail call zeroext i1 %213(ptr noundef nonnull %155) #9
  br i1 %243, label %268, label %244

244:                                              ; preds = %239
  %245 = tail call ptr @__errno_location() #10
  %246 = load i32, ptr %245, align 4, !tbaa !5
  %247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %248 = tail call i32 @s2n_print_stacktrace(ptr noundef %247) #9
  %249 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %250 = trunc nuw i8 %249 to i1
  br i1 %250, label %251, label %255

251:                                              ; preds = %244
  %252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %253 = tail call i32 @fileno(ptr noundef %252) #9
  %254 = tail call i32 @isatty(i32 noundef %253) #9
  %.not = icmp eq i32 %254, 0
  br i1 %.not, label %255, label %256

255:                                              ; preds = %251, %244
  br label %256

256:                                              ; preds = %251, %255
  %.str.5.sink365 = phi ptr [ @.str.5, %255 ], [ @.str.2, %251 ]
  store i32 %246, ptr %245, align 4, !tbaa !5
  %257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %258 = load i32, ptr @test_count, align 4, !tbaa !5
  %259 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %260 = load i32, ptr %259, align 4, !tbaa !5
  %261 = tail call ptr @s2n_strerror(i32 noundef %260, ptr noundef nonnull @.str.4) #9
  %262 = load i32, ptr %259, align 4, !tbaa !5
  %263 = tail call ptr @s2n_strerror_debug(i32 noundef %262, ptr noundef nonnull @.str.4) #9
  %264 = load i32, ptr %245, align 4, !tbaa !5
  %265 = tail call ptr @strerror(i32 noundef %264) #9
  %266 = load i32, ptr %245, align 4, !tbaa !5
  %267 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %257, ptr noundef nonnull %.str.5.sink365, i32 noundef %258, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 39, ptr noundef %261, ptr noundef %263, ptr noundef %265, i32 noundef %266) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

268:                                              ; preds = %239
  %269 = load i32, ptr @test_count, align 4, !tbaa !5
  %270 = add nsw i32 %269, 1
  store i32 %270, ptr @test_count, align 4, !tbaa !5
  %271 = tail call i32 @s2n_connection_free(ptr noundef nonnull %155) #9
  %272 = icmp eq i32 %271, -1
  br i1 %272, label %273, label %297

273:                                              ; preds = %268
  %274 = tail call ptr @__errno_location() #10
  %275 = load i32, ptr %274, align 4, !tbaa !5
  %276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %277 = tail call i32 @s2n_print_stacktrace(ptr noundef %276) #9
  %278 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %279 = trunc nuw i8 %278 to i1
  br i1 %279, label %280, label %284

280:                                              ; preds = %273
  %281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %282 = tail call i32 @fileno(ptr noundef %281) #9
  %283 = tail call i32 @isatty(i32 noundef %282) #9
  %.not269 = icmp eq i32 %283, 0
  br i1 %.not269, label %284, label %285

284:                                              ; preds = %280, %273
  br label %285

285:                                              ; preds = %280, %284
  %.str.5.sink376 = phi ptr [ @.str.5, %284 ], [ @.str.2, %280 ]
  store i32 %275, ptr %274, align 4, !tbaa !5
  %286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %287 = load i32, ptr @test_count, align 4, !tbaa !5
  %288 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %289 = load i32, ptr %288, align 4, !tbaa !5
  %290 = tail call ptr @s2n_strerror(i32 noundef %289, ptr noundef nonnull @.str.4) #9
  %291 = load i32, ptr %288, align 4, !tbaa !5
  %292 = tail call ptr @s2n_strerror_debug(i32 noundef %291, ptr noundef nonnull @.str.4) #9
  %293 = load i32, ptr %274, align 4, !tbaa !5
  %294 = tail call ptr @strerror(i32 noundef %293) #9
  %295 = load i32, ptr %274, align 4, !tbaa !5
  %296 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %286, ptr noundef nonnull %.str.5.sink376, i32 noundef %287, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 41, ptr noundef %290, ptr noundef %292, ptr noundef %294, i32 noundef %295) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

297:                                              ; preds = %268
  %298 = load i32, ptr @test_count, align 4, !tbaa !5
  %299 = add nsw i32 %298, 1
  store i32 %299, ptr @test_count, align 4, !tbaa !5
  %300 = tail call i32 @s2n_config_free(ptr noundef nonnull %126) #9
  %301 = icmp eq i32 %300, -1
  br i1 %301, label %302, label %326

302:                                              ; preds = %297
  %303 = tail call ptr @__errno_location() #10
  %304 = load i32, ptr %303, align 4, !tbaa !5
  %305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %306 = tail call i32 @s2n_print_stacktrace(ptr noundef %305) #9
  %307 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %308 = trunc nuw i8 %307 to i1
  br i1 %308, label %309, label %313

309:                                              ; preds = %302
  %310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %311 = tail call i32 @fileno(ptr noundef %310) #9
  %312 = tail call i32 @isatty(i32 noundef %311) #9
  %.not268 = icmp eq i32 %312, 0
  br i1 %.not268, label %313, label %314

313:                                              ; preds = %309, %302
  br label %314

314:                                              ; preds = %309, %313
  %.str.5.sink387 = phi ptr [ @.str.5, %313 ], [ @.str.2, %309 ]
  store i32 %304, ptr %303, align 4, !tbaa !5
  %315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %316 = load i32, ptr @test_count, align 4, !tbaa !5
  %317 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %318 = load i32, ptr %317, align 4, !tbaa !5
  %319 = tail call ptr @s2n_strerror(i32 noundef %318, ptr noundef nonnull @.str.4) #9
  %320 = load i32, ptr %317, align 4, !tbaa !5
  %321 = tail call ptr @s2n_strerror_debug(i32 noundef %320, ptr noundef nonnull @.str.4) #9
  %322 = load i32, ptr %303, align 4, !tbaa !5
  %323 = tail call ptr @strerror(i32 noundef %322) #9
  %324 = load i32, ptr %303, align 4, !tbaa !5
  %325 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %315, ptr noundef nonnull %.str.5.sink387, i32 noundef %316, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 42, ptr noundef %319, ptr noundef %321, ptr noundef %323, i32 noundef %324) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

326:                                              ; preds = %297
  %327 = load i32, ptr @test_count, align 4, !tbaa !5
  %328 = add nsw i32 %327, 1
  store i32 %328, ptr @test_count, align 4, !tbaa !5
  %329 = tail call ptr @s2n_config_new() #9
  %330 = icmp eq ptr %329, null
  br i1 %330, label %331, label %355

331:                                              ; preds = %326
  %332 = tail call ptr @__errno_location() #10
  %333 = load i32, ptr %332, align 4, !tbaa !5
  %334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %335 = tail call i32 @s2n_print_stacktrace(ptr noundef %334) #9
  %336 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %337 = trunc nuw i8 %336 to i1
  br i1 %337, label %338, label %342

338:                                              ; preds = %331
  %339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %340 = tail call i32 @fileno(ptr noundef %339) #9
  %341 = tail call i32 @isatty(i32 noundef %340) #9
  %.not267 = icmp eq i32 %341, 0
  br i1 %.not267, label %342, label %343

342:                                              ; preds = %338, %331
  br label %343

343:                                              ; preds = %338, %342
  %.str.5.sink398 = phi ptr [ @.str.5, %342 ], [ @.str.2, %338 ]
  store i32 %333, ptr %332, align 4, !tbaa !5
  %344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %345 = load i32, ptr @test_count, align 4, !tbaa !5
  %346 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %347 = load i32, ptr %346, align 4, !tbaa !5
  %348 = tail call ptr @s2n_strerror(i32 noundef %347, ptr noundef nonnull @.str.4) #9
  %349 = load i32, ptr %346, align 4, !tbaa !5
  %350 = tail call ptr @s2n_strerror_debug(i32 noundef %349, ptr noundef nonnull @.str.4) #9
  %351 = load i32, ptr %332, align 4, !tbaa !5
  %352 = tail call ptr @strerror(i32 noundef %351) #9
  %353 = load i32, ptr %332, align 4, !tbaa !5
  %354 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %344, ptr noundef nonnull %.str.5.sink398, i32 noundef %345, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 48, ptr noundef %348, ptr noundef %350, ptr noundef %352, i32 noundef %353) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

355:                                              ; preds = %326
  %356 = load i32, ptr @test_count, align 4, !tbaa !5
  %357 = add nsw i32 %356, 1
  store i32 %357, ptr @test_count, align 4, !tbaa !5
  %358 = tail call i32 @s2n_config_send_max_fragment_length(ptr noundef nonnull %329, i32 noundef 1) #9
  %359 = icmp eq i32 %358, -1
  br i1 %359, label %360, label %384

360:                                              ; preds = %355
  %361 = tail call ptr @__errno_location() #10
  %362 = load i32, ptr %361, align 4, !tbaa !5
  %363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %364 = tail call i32 @s2n_print_stacktrace(ptr noundef %363) #9
  %365 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %366 = trunc nuw i8 %365 to i1
  br i1 %366, label %367, label %371

367:                                              ; preds = %360
  %368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %369 = tail call i32 @fileno(ptr noundef %368) #9
  %370 = tail call i32 @isatty(i32 noundef %369) #9
  %.not266 = icmp eq i32 %370, 0
  br i1 %.not266, label %371, label %372

371:                                              ; preds = %367, %360
  br label %372

372:                                              ; preds = %367, %371
  %.str.5.sink409 = phi ptr [ @.str.5, %371 ], [ @.str.2, %367 ]
  store i32 %362, ptr %361, align 4, !tbaa !5
  %373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %374 = load i32, ptr @test_count, align 4, !tbaa !5
  %375 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %376 = load i32, ptr %375, align 4, !tbaa !5
  %377 = tail call ptr @s2n_strerror(i32 noundef %376, ptr noundef nonnull @.str.4) #9
  %378 = load i32, ptr %375, align 4, !tbaa !5
  %379 = tail call ptr @s2n_strerror_debug(i32 noundef %378, ptr noundef nonnull @.str.4) #9
  %380 = load i32, ptr %361, align 4, !tbaa !5
  %381 = tail call ptr @strerror(i32 noundef %380) #9
  %382 = load i32, ptr %361, align 4, !tbaa !5
  %383 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %373, ptr noundef nonnull %.str.5.sink409, i32 noundef %374, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 49, ptr noundef %377, ptr noundef %379, ptr noundef %381, i32 noundef %382) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

384:                                              ; preds = %355
  %385 = load i32, ptr @test_count, align 4, !tbaa !5
  %386 = add nsw i32 %385, 1
  store i32 %386, ptr @test_count, align 4, !tbaa !5
  %387 = tail call ptr @s2n_connection_new(i32 noundef 1) #9
  %388 = icmp eq ptr %387, null
  br i1 %388, label %389, label %413

389:                                              ; preds = %384
  %390 = tail call ptr @__errno_location() #10
  %391 = load i32, ptr %390, align 4, !tbaa !5
  %392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %393 = tail call i32 @s2n_print_stacktrace(ptr noundef %392) #9
  %394 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %395 = trunc nuw i8 %394 to i1
  br i1 %395, label %396, label %400

396:                                              ; preds = %389
  %397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %398 = tail call i32 @fileno(ptr noundef %397) #9
  %399 = tail call i32 @isatty(i32 noundef %398) #9
  %.not265 = icmp eq i32 %399, 0
  br i1 %.not265, label %400, label %401

400:                                              ; preds = %396, %389
  br label %401

401:                                              ; preds = %396, %400
  %.str.5.sink420 = phi ptr [ @.str.5, %400 ], [ @.str.2, %396 ]
  store i32 %391, ptr %390, align 4, !tbaa !5
  %402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %403 = load i32, ptr @test_count, align 4, !tbaa !5
  %404 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %405 = load i32, ptr %404, align 4, !tbaa !5
  %406 = tail call ptr @s2n_strerror(i32 noundef %405, ptr noundef nonnull @.str.4) #9
  %407 = load i32, ptr %404, align 4, !tbaa !5
  %408 = tail call ptr @s2n_strerror_debug(i32 noundef %407, ptr noundef nonnull @.str.4) #9
  %409 = load i32, ptr %390, align 4, !tbaa !5
  %410 = tail call ptr @strerror(i32 noundef %409) #9
  %411 = load i32, ptr %390, align 4, !tbaa !5
  %412 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %402, ptr noundef nonnull %.str.5.sink420, i32 noundef %403, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 52, ptr noundef %406, ptr noundef %408, ptr noundef %410, i32 noundef %411) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

413:                                              ; preds = %384
  %414 = load i32, ptr @test_count, align 4, !tbaa !5
  %415 = add nsw i32 %414, 1
  store i32 %415, ptr @test_count, align 4, !tbaa !5
  %416 = tail call i32 @s2n_connection_set_config(ptr noundef nonnull %387, ptr noundef nonnull %329) #9
  %417 = icmp eq i32 %416, -1
  br i1 %417, label %418, label %442

418:                                              ; preds = %413
  %419 = tail call ptr @__errno_location() #10
  %420 = load i32, ptr %419, align 4, !tbaa !5
  %421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %422 = tail call i32 @s2n_print_stacktrace(ptr noundef %421) #9
  %423 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %424 = trunc nuw i8 %423 to i1
  br i1 %424, label %425, label %429

425:                                              ; preds = %418
  %426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %427 = tail call i32 @fileno(ptr noundef %426) #9
  %428 = tail call i32 @isatty(i32 noundef %427) #9
  %.not264 = icmp eq i32 %428, 0
  br i1 %.not264, label %429, label %430

429:                                              ; preds = %425, %418
  br label %430

430:                                              ; preds = %425, %429
  %.str.5.sink431 = phi ptr [ @.str.5, %429 ], [ @.str.2, %425 ]
  store i32 %420, ptr %419, align 4, !tbaa !5
  %431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %432 = load i32, ptr @test_count, align 4, !tbaa !5
  %433 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %434 = load i32, ptr %433, align 4, !tbaa !5
  %435 = tail call ptr @s2n_strerror(i32 noundef %434, ptr noundef nonnull @.str.4) #9
  %436 = load i32, ptr %433, align 4, !tbaa !5
  %437 = tail call ptr @s2n_strerror_debug(i32 noundef %436, ptr noundef nonnull @.str.4) #9
  %438 = load i32, ptr %419, align 4, !tbaa !5
  %439 = tail call ptr @strerror(i32 noundef %438) #9
  %440 = load i32, ptr %419, align 4, !tbaa !5
  %441 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %431, ptr noundef nonnull %.str.5.sink431, i32 noundef %432, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 53, ptr noundef %435, ptr noundef %437, ptr noundef %439, i32 noundef %440) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

442:                                              ; preds = %413
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %3) #9
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %3, i8 0, i64 40, i1 false)
  %443 = load i32, ptr @test_count, align 4, !tbaa !5
  %444 = add nsw i32 %443, 1
  store i32 %444, ptr @test_count, align 4, !tbaa !5
  %445 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %3, i32 noundef 0) #9
  %446 = icmp eq i32 %445, -1
  br i1 %446, label %447, label %471

447:                                              ; preds = %442
  %448 = tail call ptr @__errno_location() #10
  %449 = load i32, ptr %448, align 4, !tbaa !5
  %450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %451 = call i32 @s2n_print_stacktrace(ptr noundef %450) #9
  %452 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %453 = trunc nuw i8 %452 to i1
  br i1 %453, label %454, label %458

454:                                              ; preds = %447
  %455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %456 = call i32 @fileno(ptr noundef %455) #9
  %457 = call i32 @isatty(i32 noundef %456) #9
  %.not263 = icmp eq i32 %457, 0
  br i1 %.not263, label %458, label %459

458:                                              ; preds = %454, %447
  br label %459

459:                                              ; preds = %454, %458
  %.str.5.sink442 = phi ptr [ @.str.5, %458 ], [ @.str.2, %454 ]
  store i32 %449, ptr %448, align 4, !tbaa !5
  %460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %461 = load i32, ptr @test_count, align 4, !tbaa !5
  %462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %463 = load i32, ptr %462, align 4, !tbaa !5
  %464 = call ptr @s2n_strerror(i32 noundef %463, ptr noundef nonnull @.str.4) #9
  %465 = load i32, ptr %462, align 4, !tbaa !5
  %466 = call ptr @s2n_strerror_debug(i32 noundef %465, ptr noundef nonnull @.str.4) #9
  %467 = load i32, ptr %448, align 4, !tbaa !5
  %468 = call ptr @strerror(i32 noundef %467) #9
  %469 = load i32, ptr %448, align 4, !tbaa !5
  %470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %460, ptr noundef nonnull %.str.5.sink442, i32 noundef %461, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 56, ptr noundef %464, ptr noundef %466, ptr noundef %468, i32 noundef %469) #11
  call void @exit(i32 noundef 1) #12
  unreachable

471:                                              ; preds = %442
  %472 = getelementptr inbounds i8, ptr %387, i64 2232
  store i8 1, ptr %472, align 8, !tbaa !18
  %473 = load i32, ptr @test_count, align 4, !tbaa !5
  %474 = add nsw i32 %473, 1
  store i32 %474, ptr @test_count, align 4, !tbaa !5
  %475 = load ptr, ptr getelementptr inbounds (i8, ptr @s2n_server_max_fragment_length_extension, i64 8), align 8, !tbaa !44
  %476 = call i32 %475(ptr noundef nonnull %387, ptr noundef nonnull %3) #9
  %477 = icmp eq i32 %476, -1
  br i1 %477, label %478, label %502

478:                                              ; preds = %471
  %479 = tail call ptr @__errno_location() #10
  %480 = load i32, ptr %479, align 4, !tbaa !5
  %481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %482 = call i32 @s2n_print_stacktrace(ptr noundef %481) #9
  %483 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %484 = trunc nuw i8 %483 to i1
  br i1 %484, label %485, label %489

485:                                              ; preds = %478
  %486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %487 = call i32 @fileno(ptr noundef %486) #9
  %488 = call i32 @isatty(i32 noundef %487) #9
  %.not262 = icmp eq i32 %488, 0
  br i1 %.not262, label %489, label %490

489:                                              ; preds = %485, %478
  br label %490

490:                                              ; preds = %485, %489
  %.str.5.sink453 = phi ptr [ @.str.5, %489 ], [ @.str.2, %485 ]
  store i32 %480, ptr %479, align 4, !tbaa !5
  %491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %492 = load i32, ptr @test_count, align 4, !tbaa !5
  %493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %494 = load i32, ptr %493, align 4, !tbaa !5
  %495 = call ptr @s2n_strerror(i32 noundef %494, ptr noundef nonnull @.str.4) #9
  %496 = load i32, ptr %493, align 4, !tbaa !5
  %497 = call ptr @s2n_strerror_debug(i32 noundef %496, ptr noundef nonnull @.str.4) #9
  %498 = load i32, ptr %479, align 4, !tbaa !5
  %499 = call ptr @strerror(i32 noundef %498) #9
  %500 = load i32, ptr %479, align 4, !tbaa !5
  %501 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %491, ptr noundef nonnull %.str.5.sink453, i32 noundef %492, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 59, ptr noundef %495, ptr noundef %497, ptr noundef %499, i32 noundef %500) #11
  call void @exit(i32 noundef 1) #12
  unreachable

502:                                              ; preds = %471
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %4) #9
  store i8 0, ptr %4, align 1, !tbaa !45
  %503 = load i32, ptr @test_count, align 4, !tbaa !5
  %504 = add nsw i32 %503, 1
  store i32 %504, ptr @test_count, align 4, !tbaa !5
  %505 = call i32 @s2n_stuffer_read_uint8(ptr noundef nonnull %3, ptr noundef nonnull %4) #9
  %506 = icmp eq i32 %505, -1
  br i1 %506, label %507, label %531

507:                                              ; preds = %502
  %508 = tail call ptr @__errno_location() #10
  %509 = load i32, ptr %508, align 4, !tbaa !5
  %510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %511 = call i32 @s2n_print_stacktrace(ptr noundef %510) #9
  %512 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %513 = trunc nuw i8 %512 to i1
  br i1 %513, label %514, label %518

514:                                              ; preds = %507
  %515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %516 = call i32 @fileno(ptr noundef %515) #9
  %517 = call i32 @isatty(i32 noundef %516) #9
  %.not261 = icmp eq i32 %517, 0
  br i1 %.not261, label %518, label %519

518:                                              ; preds = %514, %507
  br label %519

519:                                              ; preds = %514, %518
  %.str.5.sink464 = phi ptr [ @.str.5, %518 ], [ @.str.2, %514 ]
  store i32 %509, ptr %508, align 4, !tbaa !5
  %520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %521 = load i32, ptr @test_count, align 4, !tbaa !5
  %522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %523 = load i32, ptr %522, align 4, !tbaa !5
  %524 = call ptr @s2n_strerror(i32 noundef %523, ptr noundef nonnull @.str.4) #9
  %525 = load i32, ptr %522, align 4, !tbaa !5
  %526 = call ptr @s2n_strerror_debug(i32 noundef %525, ptr noundef nonnull @.str.4) #9
  %527 = load i32, ptr %508, align 4, !tbaa !5
  %528 = call ptr @strerror(i32 noundef %527) #9
  %529 = load i32, ptr %508, align 4, !tbaa !5
  %530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %520, ptr noundef nonnull %.str.5.sink464, i32 noundef %521, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 63, ptr noundef %524, ptr noundef %526, ptr noundef %528, i32 noundef %529) #11
  call void @exit(i32 noundef 1) #12
  unreachable

531:                                              ; preds = %502
  %532 = load i32, ptr @test_count, align 4, !tbaa !5
  %533 = add nsw i32 %532, 1
  store i32 %533, ptr @test_count, align 4, !tbaa !5
  %534 = load i8, ptr %4, align 1, !tbaa !45
  %535 = icmp eq i8 %534, 1
  br i1 %535, label %560, label %536

536:                                              ; preds = %531
  %537 = tail call ptr @__errno_location() #10
  %538 = load i32, ptr %537, align 4, !tbaa !5
  %539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %540 = call i32 @s2n_print_stacktrace(ptr noundef %539) #9
  %541 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %542 = trunc nuw i8 %541 to i1
  br i1 %542, label %543, label %547

543:                                              ; preds = %536
  %544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %545 = call i32 @fileno(ptr noundef %544) #9
  %546 = call i32 @isatty(i32 noundef %545) #9
  %.not205 = icmp eq i32 %546, 0
  br i1 %.not205, label %547, label %548

547:                                              ; preds = %543, %536
  br label %548

548:                                              ; preds = %543, %547
  %.str.5.sink475 = phi ptr [ @.str.5, %547 ], [ @.str.2, %543 ]
  store i32 %538, ptr %537, align 4, !tbaa !5
  %549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %550 = load i32, ptr @test_count, align 4, !tbaa !5
  %551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %552 = load i32, ptr %551, align 4, !tbaa !5
  %553 = call ptr @s2n_strerror(i32 noundef %552, ptr noundef nonnull @.str.4) #9
  %554 = load i32, ptr %551, align 4, !tbaa !5
  %555 = call ptr @s2n_strerror_debug(i32 noundef %554, ptr noundef nonnull @.str.4) #9
  %556 = load i32, ptr %537, align 4, !tbaa !5
  %557 = call ptr @strerror(i32 noundef %556) #9
  %558 = load i32, ptr %537, align 4, !tbaa !5
  %559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %549, ptr noundef nonnull %.str.5.sink475, i32 noundef %550, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 64, ptr noundef %553, ptr noundef %555, ptr noundef %557, i32 noundef %558) #11
  call void @exit(i32 noundef 1) #12
  unreachable

560:                                              ; preds = %531
  %561 = add nsw i32 %532, 2
  store i32 %561, ptr @test_count, align 4, !tbaa !5
  %562 = getelementptr inbounds i8, ptr %3, i64 28
  %563 = load i32, ptr %562, align 4, !tbaa !46
  %564 = getelementptr inbounds i8, ptr %3, i64 24
  %565 = load i32, ptr %564, align 8, !tbaa !47
  %566 = icmp eq i32 %563, %565
  br i1 %566, label %591, label %567

567:                                              ; preds = %560
  %568 = tail call ptr @__errno_location() #10
  %569 = load i32, ptr %568, align 4, !tbaa !5
  %570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %571 = call i32 @s2n_print_stacktrace(ptr noundef %570) #9
  %572 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %573 = trunc nuw i8 %572 to i1
  br i1 %573, label %574, label %578

574:                                              ; preds = %567
  %575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %576 = call i32 @fileno(ptr noundef %575) #9
  %577 = call i32 @isatty(i32 noundef %576) #9
  %.not206 = icmp eq i32 %577, 0
  br i1 %.not206, label %578, label %579

578:                                              ; preds = %574, %567
  br label %579

579:                                              ; preds = %574, %578
  %.str.5.sink486 = phi ptr [ @.str.5, %578 ], [ @.str.2, %574 ]
  store i32 %569, ptr %568, align 4, !tbaa !5
  %580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %581 = load i32, ptr @test_count, align 4, !tbaa !5
  %582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %583 = load i32, ptr %582, align 4, !tbaa !5
  %584 = call ptr @s2n_strerror(i32 noundef %583, ptr noundef nonnull @.str.4) #9
  %585 = load i32, ptr %582, align 4, !tbaa !5
  %586 = call ptr @s2n_strerror_debug(i32 noundef %585, ptr noundef nonnull @.str.4) #9
  %587 = load i32, ptr %568, align 4, !tbaa !5
  %588 = call ptr @strerror(i32 noundef %587) #9
  %589 = load i32, ptr %568, align 4, !tbaa !5
  %590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %580, ptr noundef nonnull %.str.5.sink486, i32 noundef %581, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 66, ptr noundef %584, ptr noundef %586, ptr noundef %588, i32 noundef %589) #11
  call void @exit(i32 noundef 1) #12
  unreachable

591:                                              ; preds = %560
  %592 = add nsw i32 %532, 3
  store i32 %592, ptr @test_count, align 4, !tbaa !5
  %593 = call i32 @s2n_stuffer_free(ptr noundef nonnull %3) #9
  %594 = icmp eq i32 %593, -1
  br i1 %594, label %595, label %619

595:                                              ; preds = %591
  %596 = tail call ptr @__errno_location() #10
  %597 = load i32, ptr %596, align 4, !tbaa !5
  %598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %599 = call i32 @s2n_print_stacktrace(ptr noundef %598) #9
  %600 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %601 = trunc nuw i8 %600 to i1
  br i1 %601, label %602, label %606

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

606:                                              ; preds = %602, %595
  br label %607

607:                                              ; preds = %602, %606
  %.str.5.sink497 = phi ptr [ @.str.5, %606 ], [ @.str.2, %602 ]
  store i32 %597, ptr %596, align 4, !tbaa !5
  %608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %609 = load i32, ptr @test_count, align 4, !tbaa !5
  %610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %611 = load i32, ptr %610, align 4, !tbaa !5
  %612 = call ptr @s2n_strerror(i32 noundef %611, ptr noundef nonnull @.str.4) #9
  %613 = load i32, ptr %610, align 4, !tbaa !5
  %614 = call ptr @s2n_strerror_debug(i32 noundef %613, ptr noundef nonnull @.str.4) #9
  %615 = load i32, ptr %596, align 4, !tbaa !5
  %616 = call ptr @strerror(i32 noundef %615) #9
  %617 = load i32, ptr %596, align 4, !tbaa !5
  %618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %608, ptr noundef nonnull %.str.5.sink497, i32 noundef %609, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 68, ptr noundef %612, ptr noundef %614, ptr noundef %616, i32 noundef %617) #11
  call void @exit(i32 noundef 1) #12
  unreachable

619:                                              ; preds = %591
  %620 = load i32, ptr @test_count, align 4, !tbaa !5
  %621 = add nsw i32 %620, 1
  store i32 %621, ptr @test_count, align 4, !tbaa !5
  %622 = call i32 @s2n_connection_free(ptr noundef nonnull %387) #9
  %623 = icmp eq i32 %622, -1
  br i1 %623, label %624, label %648

624:                                              ; preds = %619
  %625 = tail call ptr @__errno_location() #10
  %626 = load i32, ptr %625, align 4, !tbaa !5
  %627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %628 = call i32 @s2n_print_stacktrace(ptr noundef %627) #9
  %629 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %630 = trunc nuw i8 %629 to i1
  br i1 %630, label %631, label %635

631:                                              ; preds = %624
  %632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %633 = call i32 @fileno(ptr noundef %632) #9
  %634 = call i32 @isatty(i32 noundef %633) #9
  %.not259 = icmp eq i32 %634, 0
  br i1 %.not259, label %635, label %636

635:                                              ; preds = %631, %624
  br label %636

636:                                              ; preds = %631, %635
  %.str.5.sink508 = phi ptr [ @.str.5, %635 ], [ @.str.2, %631 ]
  store i32 %626, ptr %625, align 4, !tbaa !5
  %637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %638 = load i32, ptr @test_count, align 4, !tbaa !5
  %639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %640 = load i32, ptr %639, align 4, !tbaa !5
  %641 = call ptr @s2n_strerror(i32 noundef %640, ptr noundef nonnull @.str.4) #9
  %642 = load i32, ptr %639, align 4, !tbaa !5
  %643 = call ptr @s2n_strerror_debug(i32 noundef %642, ptr noundef nonnull @.str.4) #9
  %644 = load i32, ptr %625, align 4, !tbaa !5
  %645 = call ptr @strerror(i32 noundef %644) #9
  %646 = load i32, ptr %625, align 4, !tbaa !5
  %647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %637, ptr noundef nonnull %.str.5.sink508, i32 noundef %638, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 69, ptr noundef %641, ptr noundef %643, ptr noundef %645, i32 noundef %646) #11
  call void @exit(i32 noundef 1) #12
  unreachable

648:                                              ; preds = %619
  %649 = load i32, ptr @test_count, align 4, !tbaa !5
  %650 = add nsw i32 %649, 1
  store i32 %650, ptr @test_count, align 4, !tbaa !5
  %651 = call i32 @s2n_config_free(ptr noundef nonnull %329) #9
  %652 = icmp eq i32 %651, -1
  br i1 %652, label %653, label %677

653:                                              ; preds = %648
  %654 = tail call ptr @__errno_location() #10
  %655 = load i32, ptr %654, align 4, !tbaa !5
  %656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %657 = call i32 @s2n_print_stacktrace(ptr noundef %656) #9
  %658 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %659 = trunc nuw i8 %658 to i1
  br i1 %659, label %660, label %664

660:                                              ; preds = %653
  %661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %662 = call i32 @fileno(ptr noundef %661) #9
  %663 = call i32 @isatty(i32 noundef %662) #9
  %.not258 = icmp eq i32 %663, 0
  br i1 %.not258, label %664, label %665

664:                                              ; preds = %660, %653
  br label %665

665:                                              ; preds = %660, %664
  %.str.5.sink519 = phi ptr [ @.str.5, %664 ], [ @.str.2, %660 ]
  store i32 %655, ptr %654, align 4, !tbaa !5
  %666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %667 = load i32, ptr @test_count, align 4, !tbaa !5
  %668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %669 = load i32, ptr %668, align 4, !tbaa !5
  %670 = call ptr @s2n_strerror(i32 noundef %669, ptr noundef nonnull @.str.4) #9
  %671 = load i32, ptr %668, align 4, !tbaa !5
  %672 = call ptr @s2n_strerror_debug(i32 noundef %671, ptr noundef nonnull @.str.4) #9
  %673 = load i32, ptr %654, align 4, !tbaa !5
  %674 = call ptr @strerror(i32 noundef %673) #9
  %675 = load i32, ptr %654, align 4, !tbaa !5
  %676 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %666, ptr noundef nonnull %.str.5.sink519, i32 noundef %667, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 70, ptr noundef %670, ptr noundef %672, ptr noundef %674, i32 noundef %675) #11
  call void @exit(i32 noundef 1) #12
  unreachable

677:                                              ; preds = %648
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #9
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %3) #9
  %678 = load i32, ptr @test_count, align 4, !tbaa !5
  %679 = add nsw i32 %678, 1
  store i32 %679, ptr @test_count, align 4, !tbaa !5
  %680 = call ptr @s2n_config_new() #9
  %681 = icmp eq ptr %680, null
  br i1 %681, label %682, label %706

682:                                              ; preds = %677
  %683 = tail call ptr @__errno_location() #10
  %684 = load i32, ptr %683, align 4, !tbaa !5
  %685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %686 = call i32 @s2n_print_stacktrace(ptr noundef %685) #9
  %687 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %688 = trunc nuw i8 %687 to i1
  br i1 %688, label %689, label %693

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

693:                                              ; preds = %689, %682
  br label %694

694:                                              ; preds = %689, %693
  %.str.5.sink530 = phi ptr [ @.str.5, %693 ], [ @.str.2, %689 ]
  store i32 %684, ptr %683, align 4, !tbaa !5
  %695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %696 = load i32, ptr @test_count, align 4, !tbaa !5
  %697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %698 = load i32, ptr %697, align 4, !tbaa !5
  %699 = call ptr @s2n_strerror(i32 noundef %698, ptr noundef nonnull @.str.4) #9
  %700 = load i32, ptr %697, align 4, !tbaa !5
  %701 = call ptr @s2n_strerror_debug(i32 noundef %700, ptr noundef nonnull @.str.4) #9
  %702 = load i32, ptr %683, align 4, !tbaa !5
  %703 = call ptr @strerror(i32 noundef %702) #9
  %704 = load i32, ptr %683, align 4, !tbaa !5
  %705 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %695, ptr noundef nonnull %.str.5.sink530, i32 noundef %696, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 84, ptr noundef %699, ptr noundef %701, ptr noundef %703, i32 noundef %704) #11
  call void @exit(i32 noundef 1) #12
  unreachable

706:                                              ; preds = %677
  %707 = load i32, ptr @test_count, align 4, !tbaa !5
  %708 = add nsw i32 %707, 1
  store i32 %708, ptr @test_count, align 4, !tbaa !5
  %709 = call i32 @s2n_config_send_max_fragment_length(ptr noundef nonnull %680, i32 noundef 1) #9
  %710 = icmp eq i32 %709, -1
  br i1 %710, label %711, label %735

711:                                              ; preds = %706
  %712 = tail call ptr @__errno_location() #10
  %713 = load i32, ptr %712, align 4, !tbaa !5
  %714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %715 = call i32 @s2n_print_stacktrace(ptr noundef %714) #9
  %716 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %717 = trunc nuw i8 %716 to i1
  br i1 %717, label %718, label %722

718:                                              ; preds = %711
  %719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %720 = call i32 @fileno(ptr noundef %719) #9
  %721 = call i32 @isatty(i32 noundef %720) #9
  %.not256 = icmp eq i32 %721, 0
  br i1 %.not256, label %722, label %723

722:                                              ; preds = %718, %711
  br label %723

723:                                              ; preds = %718, %722
  %.str.5.sink541 = phi ptr [ @.str.5, %722 ], [ @.str.2, %718 ]
  store i32 %713, ptr %712, align 4, !tbaa !5
  %724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %725 = load i32, ptr @test_count, align 4, !tbaa !5
  %726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %727 = load i32, ptr %726, align 4, !tbaa !5
  %728 = call ptr @s2n_strerror(i32 noundef %727, ptr noundef nonnull @.str.4) #9
  %729 = load i32, ptr %726, align 4, !tbaa !5
  %730 = call ptr @s2n_strerror_debug(i32 noundef %729, ptr noundef nonnull @.str.4) #9
  %731 = load i32, ptr %712, align 4, !tbaa !5
  %732 = call ptr @strerror(i32 noundef %731) #9
  %733 = load i32, ptr %712, align 4, !tbaa !5
  %734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %724, ptr noundef nonnull %.str.5.sink541, i32 noundef %725, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 85, ptr noundef %728, ptr noundef %730, ptr noundef %732, i32 noundef %733) #11
  call void @exit(i32 noundef 1) #12
  unreachable

735:                                              ; preds = %706
  %736 = load i32, ptr @test_count, align 4, !tbaa !5
  %737 = add nsw i32 %736, 1
  store i32 %737, ptr @test_count, align 4, !tbaa !5
  %738 = call ptr @s2n_connection_new(i32 noundef 1) #9
  %739 = icmp eq ptr %738, null
  br i1 %739, label %740, label %764

740:                                              ; preds = %735
  %741 = tail call ptr @__errno_location() #10
  %742 = load i32, ptr %741, align 4, !tbaa !5
  %743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %744 = call i32 @s2n_print_stacktrace(ptr noundef %743) #9
  %745 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %746 = trunc nuw i8 %745 to i1
  br i1 %746, label %747, label %751

747:                                              ; preds = %740
  %748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %749 = call i32 @fileno(ptr noundef %748) #9
  %750 = call i32 @isatty(i32 noundef %749) #9
  %.not255 = icmp eq i32 %750, 0
  br i1 %.not255, label %751, label %752

751:                                              ; preds = %747, %740
  br label %752

752:                                              ; preds = %747, %751
  %.str.5.sink552 = phi ptr [ @.str.5, %751 ], [ @.str.2, %747 ]
  store i32 %742, ptr %741, align 4, !tbaa !5
  %753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %754 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %756, ptr noundef nonnull @.str.4) #9
  %758 = load i32, ptr %755, align 4, !tbaa !5
  %759 = call ptr @s2n_strerror_debug(i32 noundef %758, ptr noundef nonnull @.str.4) #9
  %760 = load i32, ptr %741, align 4, !tbaa !5
  %761 = call ptr @strerror(i32 noundef %760) #9
  %762 = load i32, ptr %741, align 4, !tbaa !5
  %763 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %753, ptr noundef nonnull %.str.5.sink552, i32 noundef %754, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 88, ptr noundef %757, ptr noundef %759, ptr noundef %761, i32 noundef %762) #11
  call void @exit(i32 noundef 1) #12
  unreachable

764:                                              ; preds = %735
  %765 = load i32, ptr @test_count, align 4, !tbaa !5
  %766 = add nsw i32 %765, 1
  store i32 %766, ptr @test_count, align 4, !tbaa !5
  %767 = call i32 @s2n_connection_set_config(ptr noundef nonnull %738, ptr noundef nonnull %680) #9
  %768 = icmp eq i32 %767, -1
  br i1 %768, label %769, label %793

769:                                              ; preds = %764
  %770 = tail call ptr @__errno_location() #10
  %771 = load i32, ptr %770, align 4, !tbaa !5
  %772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %773 = call i32 @s2n_print_stacktrace(ptr noundef %772) #9
  %774 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %775 = trunc nuw i8 %774 to i1
  br i1 %775, label %776, label %780

776:                                              ; preds = %769
  %777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %778 = call i32 @fileno(ptr noundef %777) #9
  %779 = call i32 @isatty(i32 noundef %778) #9
  %.not254 = icmp eq i32 %779, 0
  br i1 %.not254, label %780, label %781

780:                                              ; preds = %776, %769
  br label %781

781:                                              ; preds = %776, %780
  %.str.5.sink563 = phi ptr [ @.str.5, %780 ], [ @.str.2, %776 ]
  store i32 %771, ptr %770, align 4, !tbaa !5
  %782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %783 = load i32, ptr @test_count, align 4, !tbaa !5
  %784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %785 = load i32, ptr %784, align 4, !tbaa !5
  %786 = call ptr @s2n_strerror(i32 noundef %785, ptr noundef nonnull @.str.4) #9
  %787 = load i32, ptr %784, align 4, !tbaa !5
  %788 = call ptr @s2n_strerror_debug(i32 noundef %787, ptr noundef nonnull @.str.4) #9
  %789 = load i32, ptr %770, align 4, !tbaa !5
  %790 = call ptr @strerror(i32 noundef %789) #9
  %791 = load i32, ptr %770, align 4, !tbaa !5
  %792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %782, ptr noundef nonnull %.str.5.sink563, i32 noundef %783, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 89, ptr noundef %786, ptr noundef %788, ptr noundef %790, i32 noundef %791) #11
  call void @exit(i32 noundef 1) #12
  unreachable

793:                                              ; preds = %764
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %5) #9
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %5, i8 0, i64 40, i1 false)
  %794 = load i32, ptr @test_count, align 4, !tbaa !5
  %795 = add nsw i32 %794, 1
  store i32 %795, ptr @test_count, align 4, !tbaa !5
  %796 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %5, i32 noundef 0) #9
  %797 = icmp eq i32 %796, -1
  br i1 %797, label %798, label %822

798:                                              ; preds = %793
  %799 = tail call ptr @__errno_location() #10
  %800 = load i32, ptr %799, align 4, !tbaa !5
  %801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %802 = call i32 @s2n_print_stacktrace(ptr noundef %801) #9
  %803 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %804 = trunc nuw i8 %803 to i1
  br i1 %804, label %805, label %809

805:                                              ; preds = %798
  %806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %807 = call i32 @fileno(ptr noundef %806) #9
  %808 = call i32 @isatty(i32 noundef %807) #9
  %.not253 = icmp eq i32 %808, 0
  br i1 %.not253, label %809, label %810

809:                                              ; preds = %805, %798
  br label %810

810:                                              ; preds = %805, %809
  %.str.5.sink574 = phi ptr [ @.str.5, %809 ], [ @.str.2, %805 ]
  store i32 %800, ptr %799, align 4, !tbaa !5
  %811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %812 = load i32, ptr @test_count, align 4, !tbaa !5
  %813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %814 = load i32, ptr %813, align 4, !tbaa !5
  %815 = call ptr @s2n_strerror(i32 noundef %814, ptr noundef nonnull @.str.4) #9
  %816 = load i32, ptr %813, align 4, !tbaa !5
  %817 = call ptr @s2n_strerror_debug(i32 noundef %816, ptr noundef nonnull @.str.4) #9
  %818 = load i32, ptr %799, align 4, !tbaa !5
  %819 = call ptr @strerror(i32 noundef %818) #9
  %820 = load i32, ptr %799, align 4, !tbaa !5
  %821 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %811, ptr noundef nonnull %.str.5.sink574, i32 noundef %812, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 92, ptr noundef %815, ptr noundef %817, ptr noundef %819, i32 noundef %820) #11
  call void @exit(i32 noundef 1) #12
  unreachable

822:                                              ; preds = %793
  %823 = getelementptr inbounds i8, ptr %738, i64 2232
  store i8 2, ptr %823, align 8, !tbaa !18
  %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 %475(ptr noundef nonnull %738, ptr noundef nonnull %5) #9
  %827 = icmp eq i32 %826, -1
  br i1 %827, label %828, label %852

828:                                              ; preds = %822
  %829 = tail call ptr @__errno_location() #10
  %830 = load i32, ptr %829, align 4, !tbaa !5
  %831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %832 = call i32 @s2n_print_stacktrace(ptr noundef %831) #9
  %833 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %834 = trunc nuw i8 %833 to i1
  br i1 %834, label %835, label %839

835:                                              ; preds = %828
  %836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %837 = call i32 @fileno(ptr noundef %836) #9
  %838 = call i32 @isatty(i32 noundef %837) #9
  %.not252 = icmp eq i32 %838, 0
  br i1 %.not252, label %839, label %840

839:                                              ; preds = %835, %828
  br label %840

840:                                              ; preds = %835, %839
  %.str.5.sink585 = phi ptr [ @.str.5, %839 ], [ @.str.2, %835 ]
  store i32 %830, ptr %829, align 4, !tbaa !5
  %841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %842 = load i32, ptr @test_count, align 4, !tbaa !5
  %843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %844 = load i32, ptr %843, align 4, !tbaa !5
  %845 = call ptr @s2n_strerror(i32 noundef %844, ptr noundef nonnull @.str.4) #9
  %846 = load i32, ptr %843, align 4, !tbaa !5
  %847 = call ptr @s2n_strerror_debug(i32 noundef %846, ptr noundef nonnull @.str.4) #9
  %848 = load i32, ptr %829, align 4, !tbaa !5
  %849 = call ptr @strerror(i32 noundef %848) #9
  %850 = load i32, ptr %829, align 4, !tbaa !5
  %851 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %841, ptr noundef nonnull %.str.5.sink585, i32 noundef %842, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 95, ptr noundef %845, ptr noundef %847, ptr noundef %849, i32 noundef %850) #11
  call void @exit(i32 noundef 1) #12
  unreachable

852:                                              ; preds = %822
  %853 = load i32, ptr @test_count, align 4, !tbaa !5
  %854 = add nsw i32 %853, 1
  store i32 %854, ptr @test_count, align 4, !tbaa !5
  %855 = load ptr, ptr getelementptr inbounds (i8, ptr @s2n_server_max_fragment_length_extension, i64 16), align 8, !tbaa !48
  %856 = call i32 %855(ptr noundef nonnull %738, ptr noundef nonnull %5) #9
  %857 = icmp eq i32 %856, -1
  br i1 %857, label %882, label %858

858:                                              ; preds = %852
  %859 = tail call ptr @__errno_location() #10
  %860 = load i32, ptr %859, align 4, !tbaa !5
  %861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %862 = call i32 @s2n_print_stacktrace(ptr noundef %861) #9
  %863 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %864 = trunc nuw i8 %863 to i1
  br i1 %864, label %865, label %869

865:                                              ; preds = %858
  %866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %867 = call i32 @fileno(ptr noundef %866) #9
  %868 = call i32 @isatty(i32 noundef %867) #9
  %.not207 = icmp eq i32 %868, 0
  br i1 %.not207, label %869, label %870

869:                                              ; preds = %865, %858
  br label %870

870:                                              ; preds = %865, %869
  %.str.5.sink596 = phi ptr [ @.str.5, %869 ], [ @.str.2, %865 ]
  store i32 %860, ptr %859, align 4, !tbaa !5
  %871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %872 = load i32, ptr @test_count, align 4, !tbaa !5
  %873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %874 = load i32, ptr %873, align 4, !tbaa !5
  %875 = call ptr @s2n_strerror(i32 noundef %874, ptr noundef nonnull @.str.4) #9
  %876 = load i32, ptr %873, align 4, !tbaa !5
  %877 = call ptr @s2n_strerror_debug(i32 noundef %876, ptr noundef nonnull @.str.4) #9
  %878 = load i32, ptr %859, align 4, !tbaa !5
  %879 = call ptr @strerror(i32 noundef %878) #9
  %880 = load i32, ptr %859, align 4, !tbaa !5
  %881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %871, ptr noundef nonnull %.str.5.sink596, i32 noundef %872, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 98, ptr noundef %875, ptr noundef %877, ptr noundef %879, i32 noundef %880) #11
  call void @exit(i32 noundef 1) #12
  unreachable

882:                                              ; preds = %852
  %883 = load i32, ptr @test_count, align 4, !tbaa !5
  %884 = add nsw i32 %883, 1
  store i32 %884, ptr @test_count, align 4, !tbaa !5
  %885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %886 = load i32, ptr %885, align 4, !tbaa !5
  %887 = icmp eq i32 %886, 335544383
  br i1 %887, label %911, label %888

888:                                              ; preds = %882
  %889 = tail call ptr @__errno_location() #10
  %890 = load i32, ptr %889, align 4, !tbaa !5
  %891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %892 = call i32 @s2n_print_stacktrace(ptr noundef %891) #9
  %893 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %894 = trunc nuw i8 %893 to i1
  br i1 %894, label %895, label %899

895:                                              ; preds = %888
  %896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %897 = call i32 @fileno(ptr noundef %896) #9
  %898 = call i32 @isatty(i32 noundef %897) #9
  %.not208 = icmp eq i32 %898, 0
  br i1 %.not208, label %899, label %900

899:                                              ; preds = %895, %888
  br label %900

900:                                              ; preds = %895, %899
  %.str.5.sink607 = phi ptr [ @.str.5, %899 ], [ @.str.2, %895 ]
  store i32 %890, ptr %889, align 4, !tbaa !5
  %901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %902 = load i32, ptr @test_count, align 4, !tbaa !5
  %903 = load i32, ptr %885, align 4, !tbaa !5
  %904 = call ptr @s2n_strerror(i32 noundef %903, ptr noundef nonnull @.str.4) #9
  %905 = load i32, ptr %885, align 4, !tbaa !5
  %906 = call ptr @s2n_strerror_debug(i32 noundef %905, ptr noundef nonnull @.str.4) #9
  %907 = load i32, ptr %889, align 4, !tbaa !5
  %908 = call ptr @strerror(i32 noundef %907) #9
  %909 = load i32, ptr %889, align 4, !tbaa !5
  %910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %901, ptr noundef nonnull %.str.5.sink607, i32 noundef %902, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 98, ptr noundef %904, ptr noundef %906, ptr noundef %908, i32 noundef %909) #11
  call void @exit(i32 noundef 1) #12
  unreachable

911:                                              ; preds = %882
  %912 = add nsw i32 %883, 2
  store i32 %912, ptr @test_count, align 4, !tbaa !5
  %913 = call ptr @s2n_strerror_debug(i32 noundef 335544383, ptr noundef nonnull @.str.4) #9
  %914 = icmp eq ptr %913, null
  br i1 %914, label %915, label %938

915:                                              ; preds = %911
  %916 = tail call ptr @__errno_location() #10
  %917 = load i32, ptr %916, align 4, !tbaa !5
  %918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %919 = call i32 @s2n_print_stacktrace(ptr noundef %918) #9
  %920 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %921 = trunc nuw i8 %920 to i1
  br i1 %921, label %922, label %926

922:                                              ; preds = %915
  %923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %924 = call i32 @fileno(ptr noundef %923) #9
  %925 = call i32 @isatty(i32 noundef %924) #9
  %.not251 = icmp eq i32 %925, 0
  br i1 %.not251, label %926, label %927

926:                                              ; preds = %922, %915
  br label %927

927:                                              ; preds = %922, %926
  %.str.5.sink616 = phi ptr [ @.str.5, %926 ], [ @.str.2, %922 ]
  store i32 %917, ptr %916, align 4, !tbaa !5
  %928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %929 = load i32, ptr @test_count, align 4, !tbaa !5
  %930 = load i32, ptr %885, align 4, !tbaa !5
  %931 = call ptr @s2n_strerror(i32 noundef %930, ptr noundef nonnull @.str.4) #9
  %932 = load i32, ptr %885, align 4, !tbaa !5
  %933 = call ptr @s2n_strerror_debug(i32 noundef %932, ptr noundef nonnull @.str.4) #9
  %934 = load i32, ptr %916, align 4, !tbaa !5
  %935 = call ptr @strerror(i32 noundef %934) #9
  %936 = load i32, ptr %916, align 4, !tbaa !5
  %937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %928, ptr noundef nonnull %.str.5.sink616, i32 noundef %929, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 98, ptr noundef %931, ptr noundef %933, ptr noundef %935, i32 noundef %936) #11
  call void @exit(i32 noundef 1) #12
  unreachable

938:                                              ; preds = %911
  store i32 0, ptr %885, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #9
  %939 = tail call ptr @__errno_location() #10
  store i32 0, ptr %939, align 4, !tbaa !5
  %940 = load i32, ptr @test_count, align 4, !tbaa !5
  %941 = add nsw i32 %940, 1
  store i32 %941, ptr @test_count, align 4, !tbaa !5
  %942 = call i32 @s2n_stuffer_free(ptr noundef nonnull %5) #9
  %943 = icmp eq i32 %942, -1
  br i1 %943, label %944, label %966

944:                                              ; preds = %938
  %945 = load i32, ptr %939, align 4, !tbaa !5
  %946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %947 = call i32 @s2n_print_stacktrace(ptr noundef %946) #9
  %948 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %949 = trunc nuw i8 %948 to i1
  br i1 %949, label %950, label %954

950:                                              ; preds = %944
  %951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %952 = call i32 @fileno(ptr noundef %951) #9
  %953 = call i32 @isatty(i32 noundef %952) #9
  %.not250 = icmp eq i32 %953, 0
  br i1 %.not250, label %954, label %955

954:                                              ; preds = %950, %944
  br label %955

955:                                              ; preds = %950, %954
  %.str.5.sink625 = phi ptr [ @.str.5, %954 ], [ @.str.2, %950 ]
  store i32 %945, ptr %939, align 4, !tbaa !5
  %956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %957 = load i32, ptr @test_count, align 4, !tbaa !5
  %958 = load i32, ptr %885, align 4, !tbaa !5
  %959 = call ptr @s2n_strerror(i32 noundef %958, ptr noundef nonnull @.str.4) #9
  %960 = load i32, ptr %885, align 4, !tbaa !5
  %961 = call ptr @s2n_strerror_debug(i32 noundef %960, ptr noundef nonnull @.str.4) #9
  %962 = load i32, ptr %939, align 4, !tbaa !5
  %963 = call ptr @strerror(i32 noundef %962) #9
  %964 = load i32, ptr %939, align 4, !tbaa !5
  %965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %956, ptr noundef nonnull %.str.5.sink625, i32 noundef %957, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 100, ptr noundef %959, ptr noundef %961, ptr noundef %963, i32 noundef %964) #11
  call void @exit(i32 noundef 1) #12
  unreachable

966:                                              ; preds = %938
  %967 = load i32, ptr @test_count, align 4, !tbaa !5
  %968 = add nsw i32 %967, 1
  store i32 %968, ptr @test_count, align 4, !tbaa !5
  %969 = call i32 @s2n_connection_free(ptr noundef nonnull %738) #9
  %970 = icmp eq i32 %969, -1
  br i1 %970, label %971, label %993

971:                                              ; preds = %966
  %972 = load i32, ptr %939, align 4, !tbaa !5
  %973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %974 = call i32 @s2n_print_stacktrace(ptr noundef %973) #9
  %975 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %976 = trunc nuw i8 %975 to i1
  br i1 %976, label %977, label %981

977:                                              ; preds = %971
  %978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %979 = call i32 @fileno(ptr noundef %978) #9
  %980 = call i32 @isatty(i32 noundef %979) #9
  %.not249 = icmp eq i32 %980, 0
  br i1 %.not249, label %981, label %982

981:                                              ; preds = %977, %971
  br label %982

982:                                              ; preds = %977, %981
  %.str.5.sink634 = phi ptr [ @.str.5, %981 ], [ @.str.2, %977 ]
  store i32 %972, ptr %939, align 4, !tbaa !5
  %983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %984 = load i32, ptr @test_count, align 4, !tbaa !5
  %985 = load i32, ptr %885, align 4, !tbaa !5
  %986 = call ptr @s2n_strerror(i32 noundef %985, ptr noundef nonnull @.str.4) #9
  %987 = load i32, ptr %885, align 4, !tbaa !5
  %988 = call ptr @s2n_strerror_debug(i32 noundef %987, ptr noundef nonnull @.str.4) #9
  %989 = load i32, ptr %939, align 4, !tbaa !5
  %990 = call ptr @strerror(i32 noundef %989) #9
  %991 = load i32, ptr %939, align 4, !tbaa !5
  %992 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %983, ptr noundef nonnull %.str.5.sink634, i32 noundef %984, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 101, ptr noundef %986, ptr noundef %988, ptr noundef %990, i32 noundef %991) #11
  call void @exit(i32 noundef 1) #12
  unreachable

993:                                              ; preds = %966
  %994 = load i32, ptr @test_count, align 4, !tbaa !5
  %995 = add nsw i32 %994, 1
  store i32 %995, ptr @test_count, align 4, !tbaa !5
  %996 = call i32 @s2n_config_free(ptr noundef nonnull %680) #9
  %997 = icmp eq i32 %996, -1
  br i1 %997, label %998, label %1020

998:                                              ; preds = %993
  %999 = load i32, ptr %939, align 4, !tbaa !5
  %1000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1001 = call i32 @s2n_print_stacktrace(ptr noundef %1000) #9
  %1002 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1003 = trunc nuw i8 %1002 to i1
  br i1 %1003, label %1004, label %1008

1004:                                             ; preds = %998
  %1005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1006 = call i32 @fileno(ptr noundef %1005) #9
  %1007 = call i32 @isatty(i32 noundef %1006) #9
  %.not248 = icmp eq i32 %1007, 0
  br i1 %.not248, label %1008, label %1009

1008:                                             ; preds = %1004, %998
  br label %1009

1009:                                             ; preds = %1004, %1008
  %.str.5.sink643 = phi ptr [ @.str.5, %1008 ], [ @.str.2, %1004 ]
  store i32 %999, ptr %939, align 4, !tbaa !5
  %1010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1011 = load i32, ptr @test_count, align 4, !tbaa !5
  %1012 = load i32, ptr %885, align 4, !tbaa !5
  %1013 = call ptr @s2n_strerror(i32 noundef %1012, ptr noundef nonnull @.str.4) #9
  %1014 = load i32, ptr %885, align 4, !tbaa !5
  %1015 = call ptr @s2n_strerror_debug(i32 noundef %1014, ptr noundef nonnull @.str.4) #9
  %1016 = load i32, ptr %939, align 4, !tbaa !5
  %1017 = call ptr @strerror(i32 noundef %1016) #9
  %1018 = load i32, ptr %939, align 4, !tbaa !5
  %1019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1010, ptr noundef nonnull %.str.5.sink643, i32 noundef %1011, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 102, ptr noundef %1013, ptr noundef %1015, ptr noundef %1017, i32 noundef %1018) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1020:                                             ; preds = %993
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %5) #9
  %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() #9
  %1024 = icmp eq ptr %1023, null
  br i1 %1024, label %1025, label %1047

1025:                                             ; preds = %1020
  %1026 = load i32, ptr %939, align 4, !tbaa !5
  %1027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1028 = call i32 @s2n_print_stacktrace(ptr noundef %1027) #9
  %1029 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1030 = trunc nuw i8 %1029 to i1
  br i1 %1030, label %1031, label %1035

1031:                                             ; preds = %1025
  %1032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1033 = call i32 @fileno(ptr noundef %1032) #9
  %1034 = call i32 @isatty(i32 noundef %1033) #9
  %.not247 = icmp eq i32 %1034, 0
  br i1 %.not247, label %1035, label %1036

1035:                                             ; preds = %1031, %1025
  br label %1036

1036:                                             ; preds = %1031, %1035
  %.str.5.sink652 = phi ptr [ @.str.5, %1035 ], [ @.str.2, %1031 ]
  store i32 %1026, ptr %939, align 4, !tbaa !5
  %1037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1038 = load i32, ptr @test_count, align 4, !tbaa !5
  %1039 = load i32, ptr %885, align 4, !tbaa !5
  %1040 = call ptr @s2n_strerror(i32 noundef %1039, ptr noundef nonnull @.str.4) #9
  %1041 = load i32, ptr %885, align 4, !tbaa !5
  %1042 = call ptr @s2n_strerror_debug(i32 noundef %1041, ptr noundef nonnull @.str.4) #9
  %1043 = load i32, ptr %939, align 4, !tbaa !5
  %1044 = call ptr @strerror(i32 noundef %1043) #9
  %1045 = load i32, ptr %939, align 4, !tbaa !5
  %1046 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1037, ptr noundef nonnull %.str.5.sink652, i32 noundef %1038, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 108, ptr noundef %1040, ptr noundef %1042, ptr noundef %1044, i32 noundef %1045) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1047:                                             ; preds = %1020
  %1048 = load i32, ptr @test_count, align 4, !tbaa !5
  %1049 = add nsw i32 %1048, 1
  store i32 %1049, ptr @test_count, align 4, !tbaa !5
  %1050 = call i32 @s2n_config_send_max_fragment_length(ptr noundef nonnull %1023, i32 noundef 1) #9
  %1051 = icmp eq i32 %1050, -1
  br i1 %1051, label %1052, label %1074

1052:                                             ; preds = %1047
  %1053 = load i32, ptr %939, align 4, !tbaa !5
  %1054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1055 = call i32 @s2n_print_stacktrace(ptr noundef %1054) #9
  %1056 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1057 = trunc nuw i8 %1056 to i1
  br i1 %1057, label %1058, label %1062

1058:                                             ; preds = %1052
  %1059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1060 = call i32 @fileno(ptr noundef %1059) #9
  %1061 = call i32 @isatty(i32 noundef %1060) #9
  %.not246 = icmp eq i32 %1061, 0
  br i1 %.not246, label %1062, label %1063

1062:                                             ; preds = %1058, %1052
  br label %1063

1063:                                             ; preds = %1058, %1062
  %.str.5.sink661 = phi ptr [ @.str.5, %1062 ], [ @.str.2, %1058 ]
  store i32 %1053, ptr %939, align 4, !tbaa !5
  %1064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1065 = load i32, ptr @test_count, align 4, !tbaa !5
  %1066 = load i32, ptr %885, align 4, !tbaa !5
  %1067 = call ptr @s2n_strerror(i32 noundef %1066, ptr noundef nonnull @.str.4) #9
  %1068 = load i32, ptr %885, align 4, !tbaa !5
  %1069 = call ptr @s2n_strerror_debug(i32 noundef %1068, ptr noundef nonnull @.str.4) #9
  %1070 = load i32, ptr %939, align 4, !tbaa !5
  %1071 = call ptr @strerror(i32 noundef %1070) #9
  %1072 = load i32, ptr %939, align 4, !tbaa !5
  %1073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1064, ptr noundef nonnull %.str.5.sink661, i32 noundef %1065, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 109, ptr noundef %1067, ptr noundef %1069, ptr noundef %1071, i32 noundef %1072) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1074:                                             ; preds = %1047
  %1075 = load i32, ptr @test_count, align 4, !tbaa !5
  %1076 = add nsw i32 %1075, 1
  store i32 %1076, ptr @test_count, align 4, !tbaa !5
  %1077 = call ptr @s2n_connection_new(i32 noundef 1) #9
  %1078 = icmp eq ptr %1077, null
  br i1 %1078, label %1079, label %1101

1079:                                             ; preds = %1074
  %1080 = load i32, ptr %939, align 4, !tbaa !5
  %1081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1082 = call i32 @s2n_print_stacktrace(ptr noundef %1081) #9
  %1083 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1084 = trunc nuw i8 %1083 to i1
  br i1 %1084, label %1085, label %1089

1085:                                             ; preds = %1079
  %1086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1087 = call i32 @fileno(ptr noundef %1086) #9
  %1088 = call i32 @isatty(i32 noundef %1087) #9
  %.not245 = icmp eq i32 %1088, 0
  br i1 %.not245, label %1089, label %1090

1089:                                             ; preds = %1085, %1079
  br label %1090

1090:                                             ; preds = %1085, %1089
  %.str.5.sink670 = phi ptr [ @.str.5, %1089 ], [ @.str.2, %1085 ]
  store i32 %1080, ptr %939, align 4, !tbaa !5
  %1091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1092 = load i32, ptr @test_count, align 4, !tbaa !5
  %1093 = load i32, ptr %885, align 4, !tbaa !5
  %1094 = call ptr @s2n_strerror(i32 noundef %1093, ptr noundef nonnull @.str.4) #9
  %1095 = load i32, ptr %885, align 4, !tbaa !5
  %1096 = call ptr @s2n_strerror_debug(i32 noundef %1095, ptr noundef nonnull @.str.4) #9
  %1097 = load i32, ptr %939, align 4, !tbaa !5
  %1098 = call ptr @strerror(i32 noundef %1097) #9
  %1099 = load i32, ptr %939, align 4, !tbaa !5
  %1100 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1091, ptr noundef nonnull %.str.5.sink670, i32 noundef %1092, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 112, ptr noundef %1094, ptr noundef %1096, ptr noundef %1098, i32 noundef %1099) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1101:                                             ; preds = %1074
  %1102 = load i32, ptr @test_count, align 4, !tbaa !5
  %1103 = add nsw i32 %1102, 1
  store i32 %1103, ptr @test_count, align 4, !tbaa !5
  %1104 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1077, ptr noundef nonnull %1023) #9
  %1105 = icmp eq i32 %1104, -1
  br i1 %1105, label %1106, label %1128

1106:                                             ; preds = %1101
  %1107 = load i32, ptr %939, align 4, !tbaa !5
  %1108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1109 = call i32 @s2n_print_stacktrace(ptr noundef %1108) #9
  %1110 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1111 = trunc nuw i8 %1110 to i1
  br i1 %1111, label %1112, label %1116

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

1116:                                             ; preds = %1112, %1106
  br label %1117

1117:                                             ; preds = %1112, %1116
  %.str.5.sink679 = phi ptr [ @.str.5, %1116 ], [ @.str.2, %1112 ]
  store i32 %1107, ptr %939, align 4, !tbaa !5
  %1118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1119 = load i32, ptr @test_count, align 4, !tbaa !5
  %1120 = load i32, ptr %885, align 4, !tbaa !5
  %1121 = call ptr @s2n_strerror(i32 noundef %1120, ptr noundef nonnull @.str.4) #9
  %1122 = load i32, ptr %885, align 4, !tbaa !5
  %1123 = call ptr @s2n_strerror_debug(i32 noundef %1122, ptr noundef nonnull @.str.4) #9
  %1124 = load i32, ptr %939, align 4, !tbaa !5
  %1125 = call ptr @strerror(i32 noundef %1124) #9
  %1126 = load i32, ptr %939, align 4, !tbaa !5
  %1127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1118, ptr noundef nonnull %.str.5.sink679, i32 noundef %1119, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 113, ptr noundef %1121, ptr noundef %1123, ptr noundef %1125, i32 noundef %1126) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1128:                                             ; preds = %1101
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %6) #9
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %6, i8 0, i64 40, i1 false)
  %1129 = load i32, ptr @test_count, align 4, !tbaa !5
  %1130 = add nsw i32 %1129, 1
  store i32 %1130, ptr @test_count, align 4, !tbaa !5
  %1131 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %6, i32 noundef 0) #9
  %1132 = icmp eq i32 %1131, -1
  br i1 %1132, label %1133, label %1155

1133:                                             ; preds = %1128
  %1134 = load i32, ptr %939, align 4, !tbaa !5
  %1135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1136 = call i32 @s2n_print_stacktrace(ptr noundef %1135) #9
  %1137 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1138 = trunc nuw i8 %1137 to i1
  br i1 %1138, label %1139, label %1143

1139:                                             ; preds = %1133
  %1140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1141 = call i32 @fileno(ptr noundef %1140) #9
  %1142 = call i32 @isatty(i32 noundef %1141) #9
  %.not243 = icmp eq i32 %1142, 0
  br i1 %.not243, label %1143, label %1144

1143:                                             ; preds = %1139, %1133
  br label %1144

1144:                                             ; preds = %1139, %1143
  %.str.5.sink688 = phi ptr [ @.str.5, %1143 ], [ @.str.2, %1139 ]
  store i32 %1134, ptr %939, align 4, !tbaa !5
  %1145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1146 = load i32, ptr @test_count, align 4, !tbaa !5
  %1147 = load i32, ptr %885, align 4, !tbaa !5
  %1148 = call ptr @s2n_strerror(i32 noundef %1147, ptr noundef nonnull @.str.4) #9
  %1149 = load i32, ptr %885, align 4, !tbaa !5
  %1150 = call ptr @s2n_strerror_debug(i32 noundef %1149, ptr noundef nonnull @.str.4) #9
  %1151 = load i32, ptr %939, align 4, !tbaa !5
  %1152 = call ptr @strerror(i32 noundef %1151) #9
  %1153 = load i32, ptr %939, align 4, !tbaa !5
  %1154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1145, ptr noundef nonnull %.str.5.sink688, i32 noundef %1146, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 116, ptr noundef %1148, ptr noundef %1150, ptr noundef %1152, i32 noundef %1153) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1155:                                             ; preds = %1128
  %1156 = getelementptr inbounds i8, ptr %1077, i64 2232
  store i8 1, ptr %1156, align 8, !tbaa !18
  %1157 = load i32, ptr @test_count, align 4, !tbaa !5
  %1158 = add nsw i32 %1157, 1
  store i32 %1158, ptr @test_count, align 4, !tbaa !5
  %1159 = call i32 %475(ptr noundef nonnull %1077, ptr noundef nonnull %6) #9
  %1160 = icmp eq i32 %1159, -1
  br i1 %1160, label %1161, label %1183

1161:                                             ; preds = %1155
  %1162 = load i32, ptr %939, align 4, !tbaa !5
  %1163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1164 = call i32 @s2n_print_stacktrace(ptr noundef %1163) #9
  %1165 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1166 = trunc nuw i8 %1165 to i1
  br i1 %1166, label %1167, label %1171

1167:                                             ; preds = %1161
  %1168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1169 = call i32 @fileno(ptr noundef %1168) #9
  %1170 = call i32 @isatty(i32 noundef %1169) #9
  %.not242 = icmp eq i32 %1170, 0
  br i1 %.not242, label %1171, label %1172

1171:                                             ; preds = %1167, %1161
  br label %1172

1172:                                             ; preds = %1167, %1171
  %.str.5.sink697 = phi ptr [ @.str.5, %1171 ], [ @.str.2, %1167 ]
  store i32 %1162, ptr %939, align 4, !tbaa !5
  %1173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1174 = load i32, ptr @test_count, align 4, !tbaa !5
  %1175 = load i32, ptr %885, align 4, !tbaa !5
  %1176 = call ptr @s2n_strerror(i32 noundef %1175, ptr noundef nonnull @.str.4) #9
  %1177 = load i32, ptr %885, align 4, !tbaa !5
  %1178 = call ptr @s2n_strerror_debug(i32 noundef %1177, ptr noundef nonnull @.str.4) #9
  %1179 = load i32, ptr %939, align 4, !tbaa !5
  %1180 = call ptr @strerror(i32 noundef %1179) #9
  %1181 = load i32, ptr %939, align 4, !tbaa !5
  %1182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1173, ptr noundef nonnull %.str.5.sink697, i32 noundef %1174, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 119, ptr noundef %1176, ptr noundef %1178, ptr noundef %1180, i32 noundef %1181) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1183:                                             ; preds = %1155
  %1184 = load i32, ptr @test_count, align 4, !tbaa !5
  %1185 = add nsw i32 %1184, 1
  store i32 %1185, ptr @test_count, align 4, !tbaa !5
  %1186 = getelementptr inbounds i8, ptr %6, i64 28
  %1187 = load i32, ptr %1186, align 4, !tbaa !46
  %1188 = getelementptr inbounds i8, ptr %6, i64 24
  %1189 = load i32, ptr %1188, align 8, !tbaa !47
  %1190 = icmp eq i32 %1187, %1189
  br i1 %1190, label %1191, label %1213

1191:                                             ; preds = %1183
  %1192 = load i32, ptr %939, align 4, !tbaa !5
  %1193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1194 = call i32 @s2n_print_stacktrace(ptr noundef %1193) #9
  %1195 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1196 = trunc nuw i8 %1195 to i1
  br i1 %1196, label %1197, label %1201

1197:                                             ; preds = %1191
  %1198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1199 = call i32 @fileno(ptr noundef %1198) #9
  %1200 = call i32 @isatty(i32 noundef %1199) #9
  %.not241 = icmp eq i32 %1200, 0
  br i1 %.not241, label %1201, label %1202

1201:                                             ; preds = %1197, %1191
  br label %1202

1202:                                             ; preds = %1197, %1201
  %.str.5.sink706 = phi ptr [ @.str.5, %1201 ], [ @.str.2, %1197 ]
  store i32 %1192, ptr %939, align 4, !tbaa !5
  %1203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1204 = load i32, ptr @test_count, align 4, !tbaa !5
  %1205 = load i32, ptr %885, align 4, !tbaa !5
  %1206 = call ptr @s2n_strerror(i32 noundef %1205, ptr noundef nonnull @.str.4) #9
  %1207 = load i32, ptr %885, align 4, !tbaa !5
  %1208 = call ptr @s2n_strerror_debug(i32 noundef %1207, ptr noundef nonnull @.str.4) #9
  %1209 = load i32, ptr %939, align 4, !tbaa !5
  %1210 = call ptr @strerror(i32 noundef %1209) #9
  %1211 = load i32, ptr %939, align 4, !tbaa !5
  %1212 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1203, ptr noundef nonnull %.str.5.sink706, i32 noundef %1204, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 120, ptr noundef %1206, ptr noundef %1208, ptr noundef %1210, i32 noundef %1211) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1213:                                             ; preds = %1183
  store i8 0, ptr %1156, align 8, !tbaa !18
  %1214 = add nsw i32 %1184, 2
  store i32 %1214, ptr @test_count, align 4, !tbaa !5
  %1215 = call i32 %855(ptr noundef nonnull %1077, ptr noundef nonnull %6) #9
  %1216 = icmp eq i32 %1215, -1
  br i1 %1216, label %1217, label %1239

1217:                                             ; preds = %1213
  %1218 = load i32, ptr %939, align 4, !tbaa !5
  %1219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1220 = call i32 @s2n_print_stacktrace(ptr noundef %1219) #9
  %1221 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1222 = trunc nuw i8 %1221 to i1
  br i1 %1222, label %1223, label %1227

1223:                                             ; preds = %1217
  %1224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1225 = call i32 @fileno(ptr noundef %1224) #9
  %1226 = call i32 @isatty(i32 noundef %1225) #9
  %.not240 = icmp eq i32 %1226, 0
  br i1 %.not240, label %1227, label %1228

1227:                                             ; preds = %1223, %1217
  br label %1228

1228:                                             ; preds = %1223, %1227
  %.str.5.sink715 = phi ptr [ @.str.5, %1227 ], [ @.str.2, %1223 ]
  store i32 %1218, ptr %939, align 4, !tbaa !5
  %1229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1230 = load i32, ptr @test_count, align 4, !tbaa !5
  %1231 = load i32, ptr %885, align 4, !tbaa !5
  %1232 = call ptr @s2n_strerror(i32 noundef %1231, ptr noundef nonnull @.str.4) #9
  %1233 = load i32, ptr %885, align 4, !tbaa !5
  %1234 = call ptr @s2n_strerror_debug(i32 noundef %1233, ptr noundef nonnull @.str.4) #9
  %1235 = load i32, ptr %939, align 4, !tbaa !5
  %1236 = call ptr @strerror(i32 noundef %1235) #9
  %1237 = load i32, ptr %939, align 4, !tbaa !5
  %1238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1229, ptr noundef nonnull %.str.5.sink715, i32 noundef %1230, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 123, ptr noundef %1232, ptr noundef %1234, ptr noundef %1236, i32 noundef %1237) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1239:                                             ; preds = %1213
  %1240 = load i32, ptr @test_count, align 4, !tbaa !5
  %1241 = add nsw i32 %1240, 1
  store i32 %1241, ptr @test_count, align 4, !tbaa !5
  %1242 = load i32, ptr %1186, align 4, !tbaa !46
  %1243 = load i32, ptr %1188, align 8, !tbaa !47
  %1244 = icmp eq i32 %1242, %1243
  br i1 %1244, label %1267, label %1245

1245:                                             ; preds = %1239
  %1246 = load i32, ptr %939, align 4, !tbaa !5
  %1247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1248 = call i32 @s2n_print_stacktrace(ptr noundef %1247) #9
  %1249 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1250 = trunc nuw i8 %1249 to i1
  br i1 %1250, label %1251, label %1255

1251:                                             ; preds = %1245
  %1252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1253 = call i32 @fileno(ptr noundef %1252) #9
  %1254 = call i32 @isatty(i32 noundef %1253) #9
  %.not209 = icmp eq i32 %1254, 0
  br i1 %.not209, label %1255, label %1256

1255:                                             ; preds = %1251, %1245
  br label %1256

1256:                                             ; preds = %1251, %1255
  %.str.5.sink724 = phi ptr [ @.str.5, %1255 ], [ @.str.2, %1251 ]
  store i32 %1246, ptr %939, align 4, !tbaa !5
  %1257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1258 = load i32, ptr @test_count, align 4, !tbaa !5
  %1259 = load i32, ptr %885, align 4, !tbaa !5
  %1260 = call ptr @s2n_strerror(i32 noundef %1259, ptr noundef nonnull @.str.4) #9
  %1261 = load i32, ptr %885, align 4, !tbaa !5
  %1262 = call ptr @s2n_strerror_debug(i32 noundef %1261, ptr noundef nonnull @.str.4) #9
  %1263 = load i32, ptr %939, align 4, !tbaa !5
  %1264 = call ptr @strerror(i32 noundef %1263) #9
  %1265 = load i32, ptr %939, align 4, !tbaa !5
  %1266 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1257, ptr noundef nonnull %.str.5.sink724, i32 noundef %1258, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 124, ptr noundef %1260, ptr noundef %1262, ptr noundef %1264, i32 noundef %1265) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1267:                                             ; preds = %1239
  %1268 = add nsw i32 %1240, 2
  store i32 %1268, ptr @test_count, align 4, !tbaa !5
  %1269 = load i8, ptr %1156, align 8, !tbaa !18
  %1270 = icmp eq i8 %1269, 1
  br i1 %1270, label %1293, label %1271

1271:                                             ; preds = %1267
  %1272 = load i32, ptr %939, align 4, !tbaa !5
  %1273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1274 = call i32 @s2n_print_stacktrace(ptr noundef %1273) #9
  %1275 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1276 = trunc nuw i8 %1275 to i1
  br i1 %1276, label %1277, label %1281

1277:                                             ; preds = %1271
  %1278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1279 = call i32 @fileno(ptr noundef %1278) #9
  %1280 = call i32 @isatty(i32 noundef %1279) #9
  %.not210 = icmp eq i32 %1280, 0
  br i1 %.not210, label %1281, label %1282

1281:                                             ; preds = %1277, %1271
  br label %1282

1282:                                             ; preds = %1277, %1281
  %.str.5.sink733 = phi ptr [ @.str.5, %1281 ], [ @.str.2, %1277 ]
  store i32 %1272, ptr %939, align 4, !tbaa !5
  %1283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1284 = load i32, ptr @test_count, align 4, !tbaa !5
  %1285 = load i32, ptr %885, align 4, !tbaa !5
  %1286 = call ptr @s2n_strerror(i32 noundef %1285, ptr noundef nonnull @.str.4) #9
  %1287 = load i32, ptr %885, align 4, !tbaa !5
  %1288 = call ptr @s2n_strerror_debug(i32 noundef %1287, ptr noundef nonnull @.str.4) #9
  %1289 = load i32, ptr %939, align 4, !tbaa !5
  %1290 = call ptr @strerror(i32 noundef %1289) #9
  %1291 = load i32, ptr %939, align 4, !tbaa !5
  %1292 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1283, ptr noundef nonnull %.str.5.sink733, i32 noundef %1284, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 126, ptr noundef %1286, ptr noundef %1288, ptr noundef %1290, i32 noundef %1291) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1293:                                             ; preds = %1267
  %1294 = add nsw i32 %1240, 3
  store i32 %1294, ptr @test_count, align 4, !tbaa !5
  %1295 = getelementptr inbounds i8, ptr %1077, i64 2208
  %1296 = load i16, ptr %1295, align 8, !tbaa !49
  %1297 = icmp eq i16 %1296, 512
  br i1 %1297, label %1320, label %1298

1298:                                             ; preds = %1293
  %1299 = load i32, ptr %939, align 4, !tbaa !5
  %1300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1301 = call i32 @s2n_print_stacktrace(ptr noundef %1300) #9
  %1302 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1303 = trunc nuw i8 %1302 to i1
  br i1 %1303, label %1304, label %1308

1304:                                             ; preds = %1298
  %1305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1306 = call i32 @fileno(ptr noundef %1305) #9
  %1307 = call i32 @isatty(i32 noundef %1306) #9
  %.not211 = icmp eq i32 %1307, 0
  br i1 %.not211, label %1308, label %1309

1308:                                             ; preds = %1304, %1298
  br label %1309

1309:                                             ; preds = %1304, %1308
  %.str.5.sink742 = phi ptr [ @.str.5, %1308 ], [ @.str.2, %1304 ]
  store i32 %1299, ptr %939, align 4, !tbaa !5
  %1310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1311 = load i32, ptr @test_count, align 4, !tbaa !5
  %1312 = load i32, ptr %885, align 4, !tbaa !5
  %1313 = call ptr @s2n_strerror(i32 noundef %1312, ptr noundef nonnull @.str.4) #9
  %1314 = load i32, ptr %885, align 4, !tbaa !5
  %1315 = call ptr @s2n_strerror_debug(i32 noundef %1314, ptr noundef nonnull @.str.4) #9
  %1316 = load i32, ptr %939, align 4, !tbaa !5
  %1317 = call ptr @strerror(i32 noundef %1316) #9
  %1318 = load i32, ptr %939, align 4, !tbaa !5
  %1319 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1310, ptr noundef nonnull %.str.5.sink742, i32 noundef %1311, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 127, ptr noundef %1313, ptr noundef %1315, ptr noundef %1317, i32 noundef %1318) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1320:                                             ; preds = %1293
  %1321 = add nsw i32 %1240, 4
  store i32 %1321, ptr @test_count, align 4, !tbaa !5
  %1322 = call i32 @s2n_stuffer_free(ptr noundef nonnull %6) #9
  %1323 = icmp eq i32 %1322, -1
  br i1 %1323, label %1324, label %1346

1324:                                             ; preds = %1320
  %1325 = load i32, ptr %939, align 4, !tbaa !5
  %1326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1327 = call i32 @s2n_print_stacktrace(ptr noundef %1326) #9
  %1328 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1329 = trunc nuw i8 %1328 to i1
  br i1 %1329, label %1330, label %1334

1330:                                             ; preds = %1324
  %1331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1332 = call i32 @fileno(ptr noundef %1331) #9
  %1333 = call i32 @isatty(i32 noundef %1332) #9
  %.not239 = icmp eq i32 %1333, 0
  br i1 %.not239, label %1334, label %1335

1334:                                             ; preds = %1330, %1324
  br label %1335

1335:                                             ; preds = %1330, %1334
  %.str.5.sink751 = phi ptr [ @.str.5, %1334 ], [ @.str.2, %1330 ]
  store i32 %1325, ptr %939, align 4, !tbaa !5
  %1336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1337 = load i32, ptr @test_count, align 4, !tbaa !5
  %1338 = load i32, ptr %885, align 4, !tbaa !5
  %1339 = call ptr @s2n_strerror(i32 noundef %1338, ptr noundef nonnull @.str.4) #9
  %1340 = load i32, ptr %885, align 4, !tbaa !5
  %1341 = call ptr @s2n_strerror_debug(i32 noundef %1340, ptr noundef nonnull @.str.4) #9
  %1342 = load i32, ptr %939, align 4, !tbaa !5
  %1343 = call ptr @strerror(i32 noundef %1342) #9
  %1344 = load i32, ptr %939, align 4, !tbaa !5
  %1345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1336, ptr noundef nonnull %.str.5.sink751, i32 noundef %1337, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 129, ptr noundef %1339, ptr noundef %1341, ptr noundef %1343, i32 noundef %1344) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1346:                                             ; preds = %1320
  %1347 = load i32, ptr @test_count, align 4, !tbaa !5
  %1348 = add nsw i32 %1347, 1
  store i32 %1348, ptr @test_count, align 4, !tbaa !5
  %1349 = call i32 @s2n_connection_free(ptr noundef nonnull %1077) #9
  %1350 = icmp eq i32 %1349, -1
  br i1 %1350, label %1351, label %1373

1351:                                             ; preds = %1346
  %1352 = load i32, ptr %939, align 4, !tbaa !5
  %1353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1354 = call i32 @s2n_print_stacktrace(ptr noundef %1353) #9
  %1355 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1356 = trunc nuw i8 %1355 to i1
  br i1 %1356, label %1357, label %1361

1357:                                             ; preds = %1351
  %1358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1359 = call i32 @fileno(ptr noundef %1358) #9
  %1360 = call i32 @isatty(i32 noundef %1359) #9
  %.not238 = icmp eq i32 %1360, 0
  br i1 %.not238, label %1361, label %1362

1361:                                             ; preds = %1357, %1351
  br label %1362

1362:                                             ; preds = %1357, %1361
  %.str.5.sink760 = phi ptr [ @.str.5, %1361 ], [ @.str.2, %1357 ]
  store i32 %1352, ptr %939, align 4, !tbaa !5
  %1363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1364 = load i32, ptr @test_count, align 4, !tbaa !5
  %1365 = load i32, ptr %885, align 4, !tbaa !5
  %1366 = call ptr @s2n_strerror(i32 noundef %1365, ptr noundef nonnull @.str.4) #9
  %1367 = load i32, ptr %885, align 4, !tbaa !5
  %1368 = call ptr @s2n_strerror_debug(i32 noundef %1367, ptr noundef nonnull @.str.4) #9
  %1369 = load i32, ptr %939, align 4, !tbaa !5
  %1370 = call ptr @strerror(i32 noundef %1369) #9
  %1371 = load i32, ptr %939, align 4, !tbaa !5
  %1372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1363, ptr noundef nonnull %.str.5.sink760, i32 noundef %1364, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 130, ptr noundef %1366, ptr noundef %1368, ptr noundef %1370, i32 noundef %1371) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1373:                                             ; preds = %1346
  %1374 = load i32, ptr @test_count, align 4, !tbaa !5
  %1375 = add nsw i32 %1374, 1
  store i32 %1375, ptr @test_count, align 4, !tbaa !5
  %1376 = call i32 @s2n_config_free(ptr noundef nonnull %1023) #9
  %1377 = icmp eq i32 %1376, -1
  br i1 %1377, label %1378, label %1400

1378:                                             ; preds = %1373
  %1379 = load i32, ptr %939, align 4, !tbaa !5
  %1380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1381 = call i32 @s2n_print_stacktrace(ptr noundef %1380) #9
  %1382 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1383 = trunc nuw i8 %1382 to i1
  br i1 %1383, label %1384, label %1388

1384:                                             ; preds = %1378
  %1385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1386 = call i32 @fileno(ptr noundef %1385) #9
  %1387 = call i32 @isatty(i32 noundef %1386) #9
  %.not237 = icmp eq i32 %1387, 0
  br i1 %.not237, label %1388, label %1389

1388:                                             ; preds = %1384, %1378
  br label %1389

1389:                                             ; preds = %1384, %1388
  %.str.5.sink769 = phi ptr [ @.str.5, %1388 ], [ @.str.2, %1384 ]
  store i32 %1379, ptr %939, align 4, !tbaa !5
  %1390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1391 = load i32, ptr @test_count, align 4, !tbaa !5
  %1392 = load i32, ptr %885, align 4, !tbaa !5
  %1393 = call ptr @s2n_strerror(i32 noundef %1392, ptr noundef nonnull @.str.4) #9
  %1394 = load i32, ptr %885, align 4, !tbaa !5
  %1395 = call ptr @s2n_strerror_debug(i32 noundef %1394, ptr noundef nonnull @.str.4) #9
  %1396 = load i32, ptr %939, align 4, !tbaa !5
  %1397 = call ptr @strerror(i32 noundef %1396) #9
  %1398 = load i32, ptr %939, align 4, !tbaa !5
  %1399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1390, ptr noundef nonnull %.str.5.sink769, i32 noundef %1391, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 131, ptr noundef %1393, ptr noundef %1395, ptr noundef %1397, i32 noundef %1398) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1400:                                             ; preds = %1373
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %6) #9
  %1401 = load i32, ptr @test_count, align 4, !tbaa !5
  %1402 = add nsw i32 %1401, 1
  store i32 %1402, ptr @test_count, align 4, !tbaa !5
  %1403 = call ptr @s2n_config_new() #9
  %1404 = icmp eq ptr %1403, null
  br i1 %1404, label %1405, label %1427

1405:                                             ; preds = %1400
  %1406 = load i32, ptr %939, align 4, !tbaa !5
  %1407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1408 = call i32 @s2n_print_stacktrace(ptr noundef %1407) #9
  %1409 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1410 = trunc nuw i8 %1409 to i1
  br i1 %1410, label %1411, label %1415

1411:                                             ; preds = %1405
  %1412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1413 = call i32 @fileno(ptr noundef %1412) #9
  %1414 = call i32 @isatty(i32 noundef %1413) #9
  %.not236 = icmp eq i32 %1414, 0
  br i1 %.not236, label %1415, label %1416

1415:                                             ; preds = %1411, %1405
  br label %1416

1416:                                             ; preds = %1411, %1415
  %.str.5.sink778 = phi ptr [ @.str.5, %1415 ], [ @.str.2, %1411 ]
  store i32 %1406, ptr %939, align 4, !tbaa !5
  %1417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1418 = load i32, ptr @test_count, align 4, !tbaa !5
  %1419 = load i32, ptr %885, align 4, !tbaa !5
  %1420 = call ptr @s2n_strerror(i32 noundef %1419, ptr noundef nonnull @.str.4) #9
  %1421 = load i32, ptr %885, align 4, !tbaa !5
  %1422 = call ptr @s2n_strerror_debug(i32 noundef %1421, ptr noundef nonnull @.str.4) #9
  %1423 = load i32, ptr %939, align 4, !tbaa !5
  %1424 = call ptr @strerror(i32 noundef %1423) #9
  %1425 = load i32, ptr %939, align 4, !tbaa !5
  %1426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1417, ptr noundef nonnull %.str.5.sink778, i32 noundef %1418, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 137, ptr noundef %1420, ptr noundef %1422, ptr noundef %1424, i32 noundef %1425) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1427:                                             ; preds = %1400
  %1428 = load i32, ptr @test_count, align 4, !tbaa !5
  %1429 = add nsw i32 %1428, 1
  store i32 %1429, ptr @test_count, align 4, !tbaa !5
  %1430 = call i32 @s2n_config_send_max_fragment_length(ptr noundef nonnull %1403, i32 noundef 2) #9
  %1431 = icmp eq i32 %1430, -1
  br i1 %1431, label %1432, label %1454

1432:                                             ; preds = %1427
  %1433 = load i32, ptr %939, align 4, !tbaa !5
  %1434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1435 = call i32 @s2n_print_stacktrace(ptr noundef %1434) #9
  %1436 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1437 = trunc nuw i8 %1436 to i1
  br i1 %1437, label %1438, label %1442

1438:                                             ; preds = %1432
  %1439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1440 = call i32 @fileno(ptr noundef %1439) #9
  %1441 = call i32 @isatty(i32 noundef %1440) #9
  %.not235 = icmp eq i32 %1441, 0
  br i1 %.not235, label %1442, label %1443

1442:                                             ; preds = %1438, %1432
  br label %1443

1443:                                             ; preds = %1438, %1442
  %.str.5.sink787 = phi ptr [ @.str.5, %1442 ], [ @.str.2, %1438 ]
  store i32 %1433, ptr %939, align 4, !tbaa !5
  %1444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1445 = load i32, ptr @test_count, align 4, !tbaa !5
  %1446 = load i32, ptr %885, align 4, !tbaa !5
  %1447 = call ptr @s2n_strerror(i32 noundef %1446, ptr noundef nonnull @.str.4) #9
  %1448 = load i32, ptr %885, align 4, !tbaa !5
  %1449 = call ptr @s2n_strerror_debug(i32 noundef %1448, ptr noundef nonnull @.str.4) #9
  %1450 = load i32, ptr %939, align 4, !tbaa !5
  %1451 = call ptr @strerror(i32 noundef %1450) #9
  %1452 = load i32, ptr %939, align 4, !tbaa !5
  %1453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1444, ptr noundef nonnull %.str.5.sink787, i32 noundef %1445, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 138, ptr noundef %1447, ptr noundef %1449, ptr noundef %1451, i32 noundef %1452) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1454:                                             ; preds = %1427
  %1455 = load i32, ptr @test_count, align 4, !tbaa !5
  %1456 = add nsw i32 %1455, 1
  store i32 %1456, ptr @test_count, align 4, !tbaa !5
  %1457 = call ptr @s2n_connection_new(i32 noundef 1) #9
  %1458 = icmp eq ptr %1457, null
  br i1 %1458, label %1459, label %1481

1459:                                             ; preds = %1454
  %1460 = load i32, ptr %939, align 4, !tbaa !5
  %1461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1462 = call i32 @s2n_print_stacktrace(ptr noundef %1461) #9
  %1463 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1464 = trunc nuw i8 %1463 to i1
  br i1 %1464, label %1465, label %1469

1465:                                             ; preds = %1459
  %1466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1467 = call i32 @fileno(ptr noundef %1466) #9
  %1468 = call i32 @isatty(i32 noundef %1467) #9
  %.not234 = icmp eq i32 %1468, 0
  br i1 %.not234, label %1469, label %1470

1469:                                             ; preds = %1465, %1459
  br label %1470

1470:                                             ; preds = %1465, %1469
  %.str.5.sink796 = phi ptr [ @.str.5, %1469 ], [ @.str.2, %1465 ]
  store i32 %1460, ptr %939, align 4, !tbaa !5
  %1471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1472 = load i32, ptr @test_count, align 4, !tbaa !5
  %1473 = load i32, ptr %885, align 4, !tbaa !5
  %1474 = call ptr @s2n_strerror(i32 noundef %1473, ptr noundef nonnull @.str.4) #9
  %1475 = load i32, ptr %885, align 4, !tbaa !5
  %1476 = call ptr @s2n_strerror_debug(i32 noundef %1475, ptr noundef nonnull @.str.4) #9
  %1477 = load i32, ptr %939, align 4, !tbaa !5
  %1478 = call ptr @strerror(i32 noundef %1477) #9
  %1479 = load i32, ptr %939, align 4, !tbaa !5
  %1480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1471, ptr noundef nonnull %.str.5.sink796, i32 noundef %1472, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 141, ptr noundef %1474, ptr noundef %1476, ptr noundef %1478, i32 noundef %1479) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1481:                                             ; preds = %1454
  %1482 = load i32, ptr @test_count, align 4, !tbaa !5
  %1483 = add nsw i32 %1482, 1
  store i32 %1483, ptr @test_count, align 4, !tbaa !5
  %1484 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1457, ptr noundef nonnull %1403) #9
  %1485 = icmp eq i32 %1484, -1
  br i1 %1485, label %1486, label %1508

1486:                                             ; preds = %1481
  %1487 = load i32, ptr %939, align 4, !tbaa !5
  %1488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1489 = call i32 @s2n_print_stacktrace(ptr noundef %1488) #9
  %1490 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1491 = trunc nuw i8 %1490 to i1
  br i1 %1491, label %1492, label %1496

1492:                                             ; preds = %1486
  %1493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1494 = call i32 @fileno(ptr noundef %1493) #9
  %1495 = call i32 @isatty(i32 noundef %1494) #9
  %.not233 = icmp eq i32 %1495, 0
  br i1 %.not233, label %1496, label %1497

1496:                                             ; preds = %1492, %1486
  br label %1497

1497:                                             ; preds = %1492, %1496
  %.str.5.sink805 = phi ptr [ @.str.5, %1496 ], [ @.str.2, %1492 ]
  store i32 %1487, ptr %939, align 4, !tbaa !5
  %1498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1499 = load i32, ptr @test_count, align 4, !tbaa !5
  %1500 = load i32, ptr %885, align 4, !tbaa !5
  %1501 = call ptr @s2n_strerror(i32 noundef %1500, ptr noundef nonnull @.str.4) #9
  %1502 = load i32, ptr %885, align 4, !tbaa !5
  %1503 = call ptr @s2n_strerror_debug(i32 noundef %1502, ptr noundef nonnull @.str.4) #9
  %1504 = load i32, ptr %939, align 4, !tbaa !5
  %1505 = call ptr @strerror(i32 noundef %1504) #9
  %1506 = load i32, ptr %939, align 4, !tbaa !5
  %1507 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1498, ptr noundef nonnull %.str.5.sink805, i32 noundef %1499, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 142, ptr noundef %1501, ptr noundef %1503, ptr noundef %1505, i32 noundef %1506) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1508:                                             ; preds = %1481
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %7) #9
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %7, i8 0, i64 40, i1 false)
  %1509 = load i32, ptr @test_count, align 4, !tbaa !5
  %1510 = add nsw i32 %1509, 1
  store i32 %1510, ptr @test_count, align 4, !tbaa !5
  %1511 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %7, i32 noundef 0) #9
  %1512 = icmp eq i32 %1511, -1
  br i1 %1512, label %1513, label %1535

1513:                                             ; preds = %1508
  %1514 = load i32, ptr %939, align 4, !tbaa !5
  %1515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1516 = call i32 @s2n_print_stacktrace(ptr noundef %1515) #9
  %1517 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1518 = trunc nuw i8 %1517 to i1
  br i1 %1518, label %1519, label %1523

1519:                                             ; preds = %1513
  %1520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1521 = call i32 @fileno(ptr noundef %1520) #9
  %1522 = call i32 @isatty(i32 noundef %1521) #9
  %.not232 = icmp eq i32 %1522, 0
  br i1 %.not232, label %1523, label %1524

1523:                                             ; preds = %1519, %1513
  br label %1524

1524:                                             ; preds = %1519, %1523
  %.str.5.sink814 = phi ptr [ @.str.5, %1523 ], [ @.str.2, %1519 ]
  store i32 %1514, ptr %939, align 4, !tbaa !5
  %1525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1526 = load i32, ptr @test_count, align 4, !tbaa !5
  %1527 = load i32, ptr %885, align 4, !tbaa !5
  %1528 = call ptr @s2n_strerror(i32 noundef %1527, ptr noundef nonnull @.str.4) #9
  %1529 = load i32, ptr %885, align 4, !tbaa !5
  %1530 = call ptr @s2n_strerror_debug(i32 noundef %1529, ptr noundef nonnull @.str.4) #9
  %1531 = load i32, ptr %939, align 4, !tbaa !5
  %1532 = call ptr @strerror(i32 noundef %1531) #9
  %1533 = load i32, ptr %939, align 4, !tbaa !5
  %1534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1525, ptr noundef nonnull %.str.5.sink814, i32 noundef %1526, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 145, ptr noundef %1528, ptr noundef %1530, ptr noundef %1532, i32 noundef %1533) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1535:                                             ; preds = %1508
  %1536 = load i16, ptr getelementptr inbounds (i8, ptr @mfl_code_to_length, i64 2), align 2, !tbaa !50
  %1537 = getelementptr inbounds i8, ptr %1457, i64 2208
  store i16 %1536, ptr %1537, align 8, !tbaa !49
  %1538 = getelementptr inbounds i8, ptr %1457, i64 2232
  store i8 2, ptr %1538, align 8, !tbaa !18
  %1539 = load i32, ptr @test_count, align 4, !tbaa !5
  %1540 = add nsw i32 %1539, 1
  store i32 %1540, ptr @test_count, align 4, !tbaa !5
  %1541 = call i32 %475(ptr noundef nonnull %1457, ptr noundef nonnull %7) #9
  %1542 = icmp eq i32 %1541, -1
  br i1 %1542, label %1543, label %1565

1543:                                             ; preds = %1535
  %1544 = load i32, ptr %939, align 4, !tbaa !5
  %1545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1546 = call i32 @s2n_print_stacktrace(ptr noundef %1545) #9
  %1547 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1548 = trunc nuw i8 %1547 to i1
  br i1 %1548, label %1549, label %1553

1549:                                             ; preds = %1543
  %1550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1551 = call i32 @fileno(ptr noundef %1550) #9
  %1552 = call i32 @isatty(i32 noundef %1551) #9
  %.not231 = icmp eq i32 %1552, 0
  br i1 %.not231, label %1553, label %1554

1553:                                             ; preds = %1549, %1543
  br label %1554

1554:                                             ; preds = %1549, %1553
  %.str.5.sink823 = phi ptr [ @.str.5, %1553 ], [ @.str.2, %1549 ]
  store i32 %1544, ptr %939, align 4, !tbaa !5
  %1555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1556 = load i32, ptr @test_count, align 4, !tbaa !5
  %1557 = load i32, ptr %885, align 4, !tbaa !5
  %1558 = call ptr @s2n_strerror(i32 noundef %1557, ptr noundef nonnull @.str.4) #9
  %1559 = load i32, ptr %885, align 4, !tbaa !5
  %1560 = call ptr @s2n_strerror_debug(i32 noundef %1559, ptr noundef nonnull @.str.4) #9
  %1561 = load i32, ptr %939, align 4, !tbaa !5
  %1562 = call ptr @strerror(i32 noundef %1561) #9
  %1563 = load i32, ptr %939, align 4, !tbaa !5
  %1564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1555, ptr noundef nonnull %.str.5.sink823, i32 noundef %1556, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 152, ptr noundef %1558, ptr noundef %1560, ptr noundef %1562, i32 noundef %1563) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1565:                                             ; preds = %1535
  %1566 = load i32, ptr @test_count, align 4, !tbaa !5
  %1567 = add nsw i32 %1566, 1
  store i32 %1567, ptr @test_count, align 4, !tbaa !5
  %1568 = getelementptr inbounds i8, ptr %7, i64 28
  %1569 = load i32, ptr %1568, align 4, !tbaa !46
  %1570 = getelementptr inbounds i8, ptr %7, i64 24
  %1571 = load i32, ptr %1570, align 8, !tbaa !47
  %1572 = icmp eq i32 %1569, %1571
  br i1 %1572, label %1573, label %1595

1573:                                             ; preds = %1565
  %1574 = load i32, ptr %939, align 4, !tbaa !5
  %1575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1576 = call i32 @s2n_print_stacktrace(ptr noundef %1575) #9
  %1577 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1578 = trunc nuw i8 %1577 to i1
  br i1 %1578, label %1579, label %1583

1579:                                             ; preds = %1573
  %1580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1581 = call i32 @fileno(ptr noundef %1580) #9
  %1582 = call i32 @isatty(i32 noundef %1581) #9
  %.not230 = icmp eq i32 %1582, 0
  br i1 %.not230, label %1583, label %1584

1583:                                             ; preds = %1579, %1573
  br label %1584

1584:                                             ; preds = %1579, %1583
  %.str.5.sink832 = phi ptr [ @.str.5, %1583 ], [ @.str.2, %1579 ]
  store i32 %1574, ptr %939, align 4, !tbaa !5
  %1585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1586 = load i32, ptr @test_count, align 4, !tbaa !5
  %1587 = load i32, ptr %885, align 4, !tbaa !5
  %1588 = call ptr @s2n_strerror(i32 noundef %1587, ptr noundef nonnull @.str.4) #9
  %1589 = load i32, ptr %885, align 4, !tbaa !5
  %1590 = call ptr @s2n_strerror_debug(i32 noundef %1589, ptr noundef nonnull @.str.4) #9
  %1591 = load i32, ptr %939, align 4, !tbaa !5
  %1592 = call ptr @strerror(i32 noundef %1591) #9
  %1593 = load i32, ptr %939, align 4, !tbaa !5
  %1594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1585, ptr noundef nonnull %.str.5.sink832, i32 noundef %1586, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 153, ptr noundef %1588, ptr noundef %1590, ptr noundef %1592, i32 noundef %1593) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1595:                                             ; preds = %1565
  store i8 0, ptr %1538, align 8, !tbaa !18
  %1596 = add nsw i32 %1566, 2
  store i32 %1596, ptr @test_count, align 4, !tbaa !5
  %1597 = call i32 %855(ptr noundef nonnull %1457, ptr noundef nonnull %7) #9
  %1598 = icmp eq i32 %1597, -1
  br i1 %1598, label %1599, label %1621

1599:                                             ; preds = %1595
  %1600 = load i32, ptr %939, align 4, !tbaa !5
  %1601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1602 = call i32 @s2n_print_stacktrace(ptr noundef %1601) #9
  %1603 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1604 = trunc nuw i8 %1603 to i1
  br i1 %1604, label %1605, label %1609

1605:                                             ; preds = %1599
  %1606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1607 = call i32 @fileno(ptr noundef %1606) #9
  %1608 = call i32 @isatty(i32 noundef %1607) #9
  %.not229 = icmp eq i32 %1608, 0
  br i1 %.not229, label %1609, label %1610

1609:                                             ; preds = %1605, %1599
  br label %1610

1610:                                             ; preds = %1605, %1609
  %.str.5.sink841 = phi ptr [ @.str.5, %1609 ], [ @.str.2, %1605 ]
  store i32 %1600, ptr %939, align 4, !tbaa !5
  %1611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1612 = load i32, ptr @test_count, align 4, !tbaa !5
  %1613 = load i32, ptr %885, align 4, !tbaa !5
  %1614 = call ptr @s2n_strerror(i32 noundef %1613, ptr noundef nonnull @.str.4) #9
  %1615 = load i32, ptr %885, align 4, !tbaa !5
  %1616 = call ptr @s2n_strerror_debug(i32 noundef %1615, ptr noundef nonnull @.str.4) #9
  %1617 = load i32, ptr %939, align 4, !tbaa !5
  %1618 = call ptr @strerror(i32 noundef %1617) #9
  %1619 = load i32, ptr %939, align 4, !tbaa !5
  %1620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1611, ptr noundef nonnull %.str.5.sink841, i32 noundef %1612, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 156, ptr noundef %1614, ptr noundef %1616, ptr noundef %1618, i32 noundef %1619) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1621:                                             ; preds = %1595
  %1622 = load i32, ptr @test_count, align 4, !tbaa !5
  %1623 = add nsw i32 %1622, 1
  store i32 %1623, ptr @test_count, align 4, !tbaa !5
  %1624 = load i32, ptr %1568, align 4, !tbaa !46
  %1625 = load i32, ptr %1570, align 8, !tbaa !47
  %1626 = icmp eq i32 %1624, %1625
  br i1 %1626, label %1649, label %1627

1627:                                             ; preds = %1621
  %1628 = load i32, ptr %939, align 4, !tbaa !5
  %1629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1630 = call i32 @s2n_print_stacktrace(ptr noundef %1629) #9
  %1631 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1632 = trunc nuw i8 %1631 to i1
  br i1 %1632, label %1633, label %1637

1633:                                             ; preds = %1627
  %1634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1635 = call i32 @fileno(ptr noundef %1634) #9
  %1636 = call i32 @isatty(i32 noundef %1635) #9
  %.not212 = icmp eq i32 %1636, 0
  br i1 %.not212, label %1637, label %1638

1637:                                             ; preds = %1633, %1627
  br label %1638

1638:                                             ; preds = %1633, %1637
  %.str.5.sink850 = phi ptr [ @.str.5, %1637 ], [ @.str.2, %1633 ]
  store i32 %1628, ptr %939, align 4, !tbaa !5
  %1639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1640 = load i32, ptr @test_count, align 4, !tbaa !5
  %1641 = load i32, ptr %885, align 4, !tbaa !5
  %1642 = call ptr @s2n_strerror(i32 noundef %1641, ptr noundef nonnull @.str.4) #9
  %1643 = load i32, ptr %885, align 4, !tbaa !5
  %1644 = call ptr @s2n_strerror_debug(i32 noundef %1643, ptr noundef nonnull @.str.4) #9
  %1645 = load i32, ptr %939, align 4, !tbaa !5
  %1646 = call ptr @strerror(i32 noundef %1645) #9
  %1647 = load i32, ptr %939, align 4, !tbaa !5
  %1648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1639, ptr noundef nonnull %.str.5.sink850, i32 noundef %1640, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 157, ptr noundef %1642, ptr noundef %1644, ptr noundef %1646, i32 noundef %1647) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1649:                                             ; preds = %1621
  %1650 = add nsw i32 %1622, 2
  store i32 %1650, ptr @test_count, align 4, !tbaa !5
  %1651 = load i8, ptr %1538, align 8, !tbaa !18
  %1652 = icmp eq i8 %1651, 2
  br i1 %1652, label %1675, label %1653

1653:                                             ; preds = %1649
  %1654 = load i32, ptr %939, align 4, !tbaa !5
  %1655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1656 = call i32 @s2n_print_stacktrace(ptr noundef %1655) #9
  %1657 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1658 = trunc nuw i8 %1657 to i1
  br i1 %1658, label %1659, label %1663

1659:                                             ; preds = %1653
  %1660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1661 = call i32 @fileno(ptr noundef %1660) #9
  %1662 = call i32 @isatty(i32 noundef %1661) #9
  %.not213 = icmp eq i32 %1662, 0
  br i1 %.not213, label %1663, label %1664

1663:                                             ; preds = %1659, %1653
  br label %1664

1664:                                             ; preds = %1659, %1663
  %.str.5.sink859 = phi ptr [ @.str.5, %1663 ], [ @.str.2, %1659 ]
  store i32 %1654, ptr %939, align 4, !tbaa !5
  %1665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1666 = load i32, ptr @test_count, align 4, !tbaa !5
  %1667 = load i32, ptr %885, align 4, !tbaa !5
  %1668 = call ptr @s2n_strerror(i32 noundef %1667, ptr noundef nonnull @.str.4) #9
  %1669 = load i32, ptr %885, align 4, !tbaa !5
  %1670 = call ptr @s2n_strerror_debug(i32 noundef %1669, ptr noundef nonnull @.str.4) #9
  %1671 = load i32, ptr %939, align 4, !tbaa !5
  %1672 = call ptr @strerror(i32 noundef %1671) #9
  %1673 = load i32, ptr %939, align 4, !tbaa !5
  %1674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1665, ptr noundef nonnull %.str.5.sink859, i32 noundef %1666, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 159, ptr noundef %1668, ptr noundef %1670, ptr noundef %1672, i32 noundef %1673) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1675:                                             ; preds = %1649
  %1676 = add nsw i32 %1622, 3
  store i32 %1676, ptr @test_count, align 4, !tbaa !5
  %1677 = load i16, ptr %1537, align 8, !tbaa !49
  %1678 = load i16, ptr getelementptr inbounds (i8, ptr @mfl_code_to_length, i64 2), align 2, !tbaa !50
  %1679 = icmp eq i16 %1677, %1678
  br i1 %1679, label %1702, label %1680

1680:                                             ; preds = %1675
  %1681 = load i32, ptr %939, align 4, !tbaa !5
  %1682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1683 = call i32 @s2n_print_stacktrace(ptr noundef %1682) #9
  %1684 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1685 = trunc nuw i8 %1684 to i1
  br i1 %1685, label %1686, label %1690

1686:                                             ; preds = %1680
  %1687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1688 = call i32 @fileno(ptr noundef %1687) #9
  %1689 = call i32 @isatty(i32 noundef %1688) #9
  %.not214 = icmp eq i32 %1689, 0
  br i1 %.not214, label %1690, label %1691

1690:                                             ; preds = %1686, %1680
  br label %1691

1691:                                             ; preds = %1686, %1690
  %.str.5.sink868 = phi ptr [ @.str.5, %1690 ], [ @.str.2, %1686 ]
  store i32 %1681, ptr %939, align 4, !tbaa !5
  %1692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1693 = load i32, ptr @test_count, align 4, !tbaa !5
  %1694 = load i32, ptr %885, align 4, !tbaa !5
  %1695 = call ptr @s2n_strerror(i32 noundef %1694, ptr noundef nonnull @.str.4) #9
  %1696 = load i32, ptr %885, align 4, !tbaa !5
  %1697 = call ptr @s2n_strerror_debug(i32 noundef %1696, ptr noundef nonnull @.str.4) #9
  %1698 = load i32, ptr %939, align 4, !tbaa !5
  %1699 = call ptr @strerror(i32 noundef %1698) #9
  %1700 = load i32, ptr %939, align 4, !tbaa !5
  %1701 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1692, ptr noundef nonnull %.str.5.sink868, i32 noundef %1693, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 160, ptr noundef %1695, ptr noundef %1697, ptr noundef %1699, i32 noundef %1700) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1702:                                             ; preds = %1675
  %1703 = load i16, ptr getelementptr inbounds (i8, ptr @mfl_code_to_length, i64 6), align 2, !tbaa !50
  store i16 %1703, ptr %1537, align 8, !tbaa !49
  store i8 2, ptr %1538, align 8, !tbaa !18
  %1704 = add nsw i32 %1622, 4
  store i32 %1704, ptr @test_count, align 4, !tbaa !5
  %1705 = call i32 %475(ptr noundef nonnull %1457, ptr noundef nonnull %7) #9
  %1706 = icmp eq i32 %1705, -1
  br i1 %1706, label %1707, label %1729

1707:                                             ; preds = %1702
  %1708 = load i32, ptr %939, align 4, !tbaa !5
  %1709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1710 = call i32 @s2n_print_stacktrace(ptr noundef %1709) #9
  %1711 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1712 = trunc nuw i8 %1711 to i1
  br i1 %1712, label %1713, label %1717

1713:                                             ; preds = %1707
  %1714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1715 = call i32 @fileno(ptr noundef %1714) #9
  %1716 = call i32 @isatty(i32 noundef %1715) #9
  %.not228 = icmp eq i32 %1716, 0
  br i1 %.not228, label %1717, label %1718

1717:                                             ; preds = %1713, %1707
  br label %1718

1718:                                             ; preds = %1713, %1717
  %.str.5.sink877 = phi ptr [ @.str.5, %1717 ], [ @.str.2, %1713 ]
  store i32 %1708, ptr %939, align 4, !tbaa !5
  %1719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1720 = load i32, ptr @test_count, align 4, !tbaa !5
  %1721 = load i32, ptr %885, align 4, !tbaa !5
  %1722 = call ptr @s2n_strerror(i32 noundef %1721, ptr noundef nonnull @.str.4) #9
  %1723 = load i32, ptr %885, align 4, !tbaa !5
  %1724 = call ptr @s2n_strerror_debug(i32 noundef %1723, ptr noundef nonnull @.str.4) #9
  %1725 = load i32, ptr %939, align 4, !tbaa !5
  %1726 = call ptr @strerror(i32 noundef %1725) #9
  %1727 = load i32, ptr %939, align 4, !tbaa !5
  %1728 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1719, ptr noundef nonnull %.str.5.sink877, i32 noundef %1720, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 168, ptr noundef %1722, ptr noundef %1724, ptr noundef %1726, i32 noundef %1727) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1729:                                             ; preds = %1702
  %1730 = load i32, ptr @test_count, align 4, !tbaa !5
  %1731 = add nsw i32 %1730, 1
  store i32 %1731, ptr @test_count, align 4, !tbaa !5
  %1732 = load i32, ptr %1568, align 4, !tbaa !46
  %1733 = load i32, ptr %1570, align 8, !tbaa !47
  %1734 = icmp eq i32 %1732, %1733
  br i1 %1734, label %1735, label %1757

1735:                                             ; preds = %1729
  %1736 = load i32, ptr %939, align 4, !tbaa !5
  %1737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1738 = call i32 @s2n_print_stacktrace(ptr noundef %1737) #9
  %1739 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1740 = trunc nuw i8 %1739 to i1
  br i1 %1740, label %1741, label %1745

1741:                                             ; preds = %1735
  %1742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1743 = call i32 @fileno(ptr noundef %1742) #9
  %1744 = call i32 @isatty(i32 noundef %1743) #9
  %.not227 = icmp eq i32 %1744, 0
  br i1 %.not227, label %1745, label %1746

1745:                                             ; preds = %1741, %1735
  br label %1746

1746:                                             ; preds = %1741, %1745
  %.str.5.sink886 = phi ptr [ @.str.5, %1745 ], [ @.str.2, %1741 ]
  store i32 %1736, ptr %939, align 4, !tbaa !5
  %1747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1748 = load i32, ptr @test_count, align 4, !tbaa !5
  %1749 = load i32, ptr %885, align 4, !tbaa !5
  %1750 = call ptr @s2n_strerror(i32 noundef %1749, ptr noundef nonnull @.str.4) #9
  %1751 = load i32, ptr %885, align 4, !tbaa !5
  %1752 = call ptr @s2n_strerror_debug(i32 noundef %1751, ptr noundef nonnull @.str.4) #9
  %1753 = load i32, ptr %939, align 4, !tbaa !5
  %1754 = call ptr @strerror(i32 noundef %1753) #9
  %1755 = load i32, ptr %939, align 4, !tbaa !5
  %1756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1747, ptr noundef nonnull %.str.5.sink886, i32 noundef %1748, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 169, ptr noundef %1750, ptr noundef %1752, ptr noundef %1754, i32 noundef %1755) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1757:                                             ; preds = %1729
  store i8 0, ptr %1538, align 8, !tbaa !18
  %1758 = add nsw i32 %1730, 2
  store i32 %1758, ptr @test_count, align 4, !tbaa !5
  %1759 = call i32 %855(ptr noundef nonnull %1457, ptr noundef nonnull %7) #9
  %1760 = icmp eq i32 %1759, -1
  br i1 %1760, label %1761, label %1783

1761:                                             ; preds = %1757
  %1762 = load i32, ptr %939, align 4, !tbaa !5
  %1763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1764 = call i32 @s2n_print_stacktrace(ptr noundef %1763) #9
  %1765 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1766 = trunc nuw i8 %1765 to i1
  br i1 %1766, label %1767, label %1771

1767:                                             ; preds = %1761
  %1768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1769 = call i32 @fileno(ptr noundef %1768) #9
  %1770 = call i32 @isatty(i32 noundef %1769) #9
  %.not226 = icmp eq i32 %1770, 0
  br i1 %.not226, label %1771, label %1772

1771:                                             ; preds = %1767, %1761
  br label %1772

1772:                                             ; preds = %1767, %1771
  %.str.5.sink895 = phi ptr [ @.str.5, %1771 ], [ @.str.2, %1767 ]
  store i32 %1762, ptr %939, align 4, !tbaa !5
  %1773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1774 = load i32, ptr @test_count, align 4, !tbaa !5
  %1775 = load i32, ptr %885, align 4, !tbaa !5
  %1776 = call ptr @s2n_strerror(i32 noundef %1775, ptr noundef nonnull @.str.4) #9
  %1777 = load i32, ptr %885, align 4, !tbaa !5
  %1778 = call ptr @s2n_strerror_debug(i32 noundef %1777, ptr noundef nonnull @.str.4) #9
  %1779 = load i32, ptr %939, align 4, !tbaa !5
  %1780 = call ptr @strerror(i32 noundef %1779) #9
  %1781 = load i32, ptr %939, align 4, !tbaa !5
  %1782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1773, ptr noundef nonnull %.str.5.sink895, i32 noundef %1774, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 172, ptr noundef %1776, ptr noundef %1778, ptr noundef %1780, i32 noundef %1781) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1783:                                             ; preds = %1757
  %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 i32, ptr %1568, align 4, !tbaa !46
  %1787 = load i32, ptr %1570, align 8, !tbaa !47
  %1788 = icmp eq i32 %1786, %1787
  br i1 %1788, label %1811, label %1789

1789:                                             ; preds = %1783
  %1790 = load i32, ptr %939, align 4, !tbaa !5
  %1791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1792 = call i32 @s2n_print_stacktrace(ptr noundef %1791) #9
  %1793 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1794 = trunc nuw i8 %1793 to i1
  br i1 %1794, label %1795, label %1799

1795:                                             ; preds = %1789
  %1796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1797 = call i32 @fileno(ptr noundef %1796) #9
  %1798 = call i32 @isatty(i32 noundef %1797) #9
  %.not215 = icmp eq i32 %1798, 0
  br i1 %.not215, label %1799, label %1800

1799:                                             ; preds = %1795, %1789
  br label %1800

1800:                                             ; preds = %1795, %1799
  %.str.5.sink904 = phi ptr [ @.str.5, %1799 ], [ @.str.2, %1795 ]
  store i32 %1790, ptr %939, align 4, !tbaa !5
  %1801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1802 = load i32, ptr @test_count, align 4, !tbaa !5
  %1803 = load i32, ptr %885, align 4, !tbaa !5
  %1804 = call ptr @s2n_strerror(i32 noundef %1803, ptr noundef nonnull @.str.4) #9
  %1805 = load i32, ptr %885, align 4, !tbaa !5
  %1806 = call ptr @s2n_strerror_debug(i32 noundef %1805, ptr noundef nonnull @.str.4) #9
  %1807 = load i32, ptr %939, align 4, !tbaa !5
  %1808 = call ptr @strerror(i32 noundef %1807) #9
  %1809 = load i32, ptr %939, align 4, !tbaa !5
  %1810 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1801, ptr noundef nonnull %.str.5.sink904, i32 noundef %1802, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 173, ptr noundef %1804, ptr noundef %1806, ptr noundef %1808, i32 noundef %1809) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1811:                                             ; preds = %1783
  %1812 = add nsw i32 %1784, 2
  store i32 %1812, ptr @test_count, align 4, !tbaa !5
  %1813 = load i8, ptr %1538, align 8, !tbaa !18
  %1814 = icmp eq i8 %1813, 2
  br i1 %1814, label %1837, label %1815

1815:                                             ; preds = %1811
  %1816 = load i32, ptr %939, align 4, !tbaa !5
  %1817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1818 = call i32 @s2n_print_stacktrace(ptr noundef %1817) #9
  %1819 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1820 = trunc nuw i8 %1819 to i1
  br i1 %1820, label %1821, label %1825

1821:                                             ; preds = %1815
  %1822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1823 = call i32 @fileno(ptr noundef %1822) #9
  %1824 = call i32 @isatty(i32 noundef %1823) #9
  %.not216 = icmp eq i32 %1824, 0
  br i1 %.not216, label %1825, label %1826

1825:                                             ; preds = %1821, %1815
  br label %1826

1826:                                             ; preds = %1821, %1825
  %.str.5.sink913 = phi ptr [ @.str.5, %1825 ], [ @.str.2, %1821 ]
  store i32 %1816, ptr %939, align 4, !tbaa !5
  %1827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1828 = load i32, ptr @test_count, align 4, !tbaa !5
  %1829 = load i32, ptr %885, align 4, !tbaa !5
  %1830 = call ptr @s2n_strerror(i32 noundef %1829, ptr noundef nonnull @.str.4) #9
  %1831 = load i32, ptr %885, align 4, !tbaa !5
  %1832 = call ptr @s2n_strerror_debug(i32 noundef %1831, ptr noundef nonnull @.str.4) #9
  %1833 = load i32, ptr %939, align 4, !tbaa !5
  %1834 = call ptr @strerror(i32 noundef %1833) #9
  %1835 = load i32, ptr %939, align 4, !tbaa !5
  %1836 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1827, ptr noundef nonnull %.str.5.sink913, i32 noundef %1828, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 175, ptr noundef %1830, ptr noundef %1832, ptr noundef %1834, i32 noundef %1835) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1837:                                             ; preds = %1811
  %1838 = add nsw i32 %1784, 3
  store i32 %1838, ptr @test_count, align 4, !tbaa !5
  %1839 = load i16, ptr %1537, align 8, !tbaa !49
  %1840 = load i16, ptr getelementptr inbounds (i8, ptr @mfl_code_to_length, i64 4), align 2, !tbaa !50
  %1841 = icmp eq i16 %1839, %1840
  br i1 %1841, label %1864, label %1842

1842:                                             ; preds = %1837
  %1843 = load i32, ptr %939, align 4, !tbaa !5
  %1844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1845 = call i32 @s2n_print_stacktrace(ptr noundef %1844) #9
  %1846 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1847 = trunc nuw i8 %1846 to i1
  br i1 %1847, label %1848, label %1852

1848:                                             ; preds = %1842
  %1849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1850 = call i32 @fileno(ptr noundef %1849) #9
  %1851 = call i32 @isatty(i32 noundef %1850) #9
  %.not217 = icmp eq i32 %1851, 0
  br i1 %.not217, label %1852, label %1853

1852:                                             ; preds = %1848, %1842
  br label %1853

1853:                                             ; preds = %1848, %1852
  %.str.5.sink922 = phi ptr [ @.str.5, %1852 ], [ @.str.2, %1848 ]
  store i32 %1843, ptr %939, align 4, !tbaa !5
  %1854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1855 = load i32, ptr @test_count, align 4, !tbaa !5
  %1856 = load i32, ptr %885, align 4, !tbaa !5
  %1857 = call ptr @s2n_strerror(i32 noundef %1856, ptr noundef nonnull @.str.4) #9
  %1858 = load i32, ptr %885, align 4, !tbaa !5
  %1859 = call ptr @s2n_strerror_debug(i32 noundef %1858, ptr noundef nonnull @.str.4) #9
  %1860 = load i32, ptr %939, align 4, !tbaa !5
  %1861 = call ptr @strerror(i32 noundef %1860) #9
  %1862 = load i32, ptr %939, align 4, !tbaa !5
  %1863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1854, ptr noundef nonnull %.str.5.sink922, i32 noundef %1855, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 176, ptr noundef %1857, ptr noundef %1859, ptr noundef %1861, i32 noundef %1862) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1864:                                             ; preds = %1837
  %1865 = add nsw i32 %1784, 4
  store i32 %1865, ptr @test_count, align 4, !tbaa !5
  %1866 = call i32 @s2n_stuffer_free(ptr noundef nonnull %7) #9
  %1867 = icmp eq i32 %1866, -1
  br i1 %1867, label %1868, label %1890

1868:                                             ; preds = %1864
  %1869 = load i32, ptr %939, align 4, !tbaa !5
  %1870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1871 = call i32 @s2n_print_stacktrace(ptr noundef %1870) #9
  %1872 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1873 = trunc nuw i8 %1872 to i1
  br i1 %1873, label %1874, label %1878

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

1878:                                             ; preds = %1874, %1868
  br label %1879

1879:                                             ; preds = %1874, %1878
  %.str.5.sink931 = phi ptr [ @.str.5, %1878 ], [ @.str.2, %1874 ]
  store i32 %1869, ptr %939, align 4, !tbaa !5
  %1880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1881 = load i32, ptr @test_count, align 4, !tbaa !5
  %1882 = load i32, ptr %885, align 4, !tbaa !5
  %1883 = call ptr @s2n_strerror(i32 noundef %1882, ptr noundef nonnull @.str.4) #9
  %1884 = load i32, ptr %885, align 4, !tbaa !5
  %1885 = call ptr @s2n_strerror_debug(i32 noundef %1884, ptr noundef nonnull @.str.4) #9
  %1886 = load i32, ptr %939, align 4, !tbaa !5
  %1887 = call ptr @strerror(i32 noundef %1886) #9
  %1888 = load i32, ptr %939, align 4, !tbaa !5
  %1889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1880, ptr noundef nonnull %.str.5.sink931, i32 noundef %1881, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 179, ptr noundef %1883, ptr noundef %1885, ptr noundef %1887, i32 noundef %1888) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1890:                                             ; preds = %1864
  %1891 = load i32, ptr @test_count, align 4, !tbaa !5
  %1892 = add nsw i32 %1891, 1
  store i32 %1892, ptr @test_count, align 4, !tbaa !5
  %1893 = call i32 @s2n_connection_free(ptr noundef nonnull %1457) #9
  %1894 = icmp eq i32 %1893, -1
  br i1 %1894, label %1895, label %1917

1895:                                             ; preds = %1890
  %1896 = load i32, ptr %939, align 4, !tbaa !5
  %1897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1898 = call i32 @s2n_print_stacktrace(ptr noundef %1897) #9
  %1899 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1900 = trunc nuw i8 %1899 to i1
  br i1 %1900, label %1901, label %1905

1901:                                             ; preds = %1895
  %1902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1903 = call i32 @fileno(ptr noundef %1902) #9
  %1904 = call i32 @isatty(i32 noundef %1903) #9
  %.not224 = icmp eq i32 %1904, 0
  br i1 %.not224, label %1905, label %1906

1905:                                             ; preds = %1901, %1895
  br label %1906

1906:                                             ; preds = %1901, %1905
  %.str.5.sink940 = phi ptr [ @.str.5, %1905 ], [ @.str.2, %1901 ]
  store i32 %1896, ptr %939, align 4, !tbaa !5
  %1907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1908 = load i32, ptr @test_count, align 4, !tbaa !5
  %1909 = load i32, ptr %885, align 4, !tbaa !5
  %1910 = call ptr @s2n_strerror(i32 noundef %1909, ptr noundef nonnull @.str.4) #9
  %1911 = load i32, ptr %885, align 4, !tbaa !5
  %1912 = call ptr @s2n_strerror_debug(i32 noundef %1911, ptr noundef nonnull @.str.4) #9
  %1913 = load i32, ptr %939, align 4, !tbaa !5
  %1914 = call ptr @strerror(i32 noundef %1913) #9
  %1915 = load i32, ptr %939, align 4, !tbaa !5
  %1916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1907, ptr noundef nonnull %.str.5.sink940, i32 noundef %1908, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 180, ptr noundef %1910, ptr noundef %1912, ptr noundef %1914, i32 noundef %1915) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1917:                                             ; preds = %1890
  %1918 = load i32, ptr @test_count, align 4, !tbaa !5
  %1919 = add nsw i32 %1918, 1
  store i32 %1919, ptr @test_count, align 4, !tbaa !5
  %1920 = call i32 @s2n_config_free(ptr noundef nonnull %1403) #9
  %1921 = icmp eq i32 %1920, -1
  br i1 %1921, label %1922, label %1944

1922:                                             ; preds = %1917
  %1923 = load i32, ptr %939, align 4, !tbaa !5
  %1924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1925 = call i32 @s2n_print_stacktrace(ptr noundef %1924) #9
  %1926 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1927 = trunc nuw i8 %1926 to i1
  br i1 %1927, label %1928, label %1932

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

1932:                                             ; preds = %1928, %1922
  br label %1933

1933:                                             ; preds = %1928, %1932
  %.str.5.sink949 = phi ptr [ @.str.5, %1932 ], [ @.str.2, %1928 ]
  store i32 %1923, ptr %939, align 4, !tbaa !5
  %1934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1935 = load i32, ptr @test_count, align 4, !tbaa !5
  %1936 = load i32, ptr %885, align 4, !tbaa !5
  %1937 = call ptr @s2n_strerror(i32 noundef %1936, ptr noundef nonnull @.str.4) #9
  %1938 = load i32, ptr %885, align 4, !tbaa !5
  %1939 = call ptr @s2n_strerror_debug(i32 noundef %1938, ptr noundef nonnull @.str.4) #9
  %1940 = load i32, ptr %939, align 4, !tbaa !5
  %1941 = call ptr @strerror(i32 noundef %1940) #9
  %1942 = load i32, ptr %939, align 4, !tbaa !5
  %1943 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1934, ptr noundef nonnull %.str.5.sink949, i32 noundef %1935, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 181, ptr noundef %1937, ptr noundef %1939, ptr noundef %1941, i32 noundef %1942) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1944:                                             ; preds = %1917
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %7) #9
  %1945 = call i32 @s2n_cleanup() #9
  %1946 = icmp eq i32 %1945, -1
  br i1 %1946, label %1947, label %1969

1947:                                             ; preds = %1944
  %1948 = load i32, ptr %939, align 4, !tbaa !5
  %1949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1950 = call i32 @s2n_print_stacktrace(ptr noundef %1949) #9
  %1951 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1952 = trunc nuw i8 %1951 to i1
  br i1 %1952, label %1953, label %1957

1953:                                             ; preds = %1947
  %1954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1955 = call i32 @fileno(ptr noundef %1954) #9
  %1956 = call i32 @isatty(i32 noundef %1955) #9
  %.not222 = icmp eq i32 %1956, 0
  br i1 %.not222, label %1957, label %1958

1957:                                             ; preds = %1953, %1947
  br label %1958

1958:                                             ; preds = %1953, %1957
  %.str.5.sink958 = phi ptr [ @.str.5, %1957 ], [ @.str.2, %1953 ]
  store i32 %1948, ptr %939, align 4, !tbaa !5
  %1959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1960 = load i32, ptr @test_count, align 4, !tbaa !5
  %1961 = load i32, ptr %885, align 4, !tbaa !5
  %1962 = call ptr @s2n_strerror(i32 noundef %1961, ptr noundef nonnull @.str.4) #9
  %1963 = load i32, ptr %885, align 4, !tbaa !5
  %1964 = call ptr @s2n_strerror_debug(i32 noundef %1963, ptr noundef nonnull @.str.4) #9
  %1965 = load i32, ptr %939, align 4, !tbaa !5
  %1966 = call ptr @strerror(i32 noundef %1965) #9
  %1967 = load i32, ptr %939, align 4, !tbaa !5
  %1968 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1959, ptr noundef nonnull %.str.5.sink958, i32 noundef %1960, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 184, ptr noundef %1962, ptr noundef %1964, ptr noundef %1966, i32 noundef %1967) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1969:                                             ; preds = %1944
  %1970 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #9
  %1971 = icmp eq i32 %1970, -1
  br i1 %1971, label %1972, label %1994

1972:                                             ; preds = %1969
  %1973 = load i32, ptr %939, align 4, !tbaa !5
  %1974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1975 = call i32 @s2n_print_stacktrace(ptr noundef %1974) #9
  %1976 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1977 = trunc nuw i8 %1976 to i1
  br i1 %1977, label %1978, label %1982

1978:                                             ; preds = %1972
  %1979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1980 = call i32 @fileno(ptr noundef %1979) #9
  %1981 = call i32 @isatty(i32 noundef %1980) #9
  %.not221 = icmp eq i32 %1981, 0
  br i1 %.not221, label %1982, label %1983

1982:                                             ; preds = %1978, %1972
  br label %1983

1983:                                             ; preds = %1978, %1982
  %.str.5.sink967 = phi ptr [ @.str.5, %1982 ], [ @.str.2, %1978 ]
  store i32 %1973, ptr %939, align 4, !tbaa !5
  %1984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1985 = load i32, ptr @test_count, align 4, !tbaa !5
  %1986 = load i32, ptr %885, align 4, !tbaa !5
  %1987 = call ptr @s2n_strerror(i32 noundef %1986, ptr noundef nonnull @.str.4) #9
  %1988 = load i32, ptr %885, align 4, !tbaa !5
  %1989 = call ptr @s2n_strerror_debug(i32 noundef %1988, ptr noundef nonnull @.str.4) #9
  %1990 = load i32, ptr %939, align 4, !tbaa !5
  %1991 = call ptr @strerror(i32 noundef %1990) #9
  %1992 = load i32, ptr %939, align 4, !tbaa !5
  %1993 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1984, ptr noundef nonnull %.str.5.sink967, i32 noundef %1985, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 184, ptr noundef %1987, ptr noundef %1989, ptr noundef %1991, i32 noundef %1992) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1994:                                             ; preds = %1969
  %1995 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1996 = trunc nuw i8 %1995 to i1
  br i1 %1996, label %1997, label %2008

1997:                                             ; preds = %1994
  %1998 = load ptr, ptr @stdout, align 8, !tbaa !9
  %1999 = call i32 @fileno(ptr noundef %1998) #9
  %2000 = call i32 @isatty(i32 noundef %1999) #9
  %.not218 = icmp eq i32 %2000, 0
  br i1 %.not218, label %2008, label %2001

2001:                                             ; preds = %1997
  %2002 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not220 = icmp eq i32 %2002, 0
  %2003 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not220, label %2006, label %2004

2004:                                             ; preds = %2001
  %2005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2003, ptr noundef nonnull @.str.36, i32 noundef %2002) #9
  br label %2015

2006:                                             ; preds = %2001
  %2007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2003, ptr noundef nonnull @.str.37) #9
  br label %2015

2008:                                             ; preds = %1997, %1994
  %2009 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not219 = icmp eq i32 %2009, 0
  %2010 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not219, label %2013, label %2011

2011:                                             ; preds = %2008
  %2012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2010, ptr noundef nonnull @.str.38, i32 noundef %2009) #9
  br label %2015

2013:                                             ; preds = %2008
  %2014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2010, ptr noundef nonnull @.str.39) #9
  br label %2015

2015:                                             ; preds = %2011, %2013, %2004, %2006
  ret i32 0
}

; Function Attrs: nofree nounwind
declare noundef i32 @fprintf(ptr nocapture noundef, ptr nocapture noundef readonly, ...) local_unnamed_addr #1

; Function Attrs: nofree nounwind
declare noundef i32 @fflush(ptr nocapture noundef) local_unnamed_addr #1

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) local_unnamed_addr #2

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #3

; Function Attrs: mustprogress nofree nosync nounwind willreturn memory(none)
declare ptr @__errno_location() local_unnamed_addr #4

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) local_unnamed_addr #5

; Function Attrs: nofree nounwind
declare noundef i32 @fileno(ptr nocapture noundef) local_unnamed_addr #1

declare ptr @s2n_strerror(i32 noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare nonnull ptr @llvm.threadlocal.address.p0(ptr nonnull) #6

declare ptr @s2n_strerror_debug(i32 noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) local_unnamed_addr #5

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #3

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) local_unnamed_addr #7

declare i32 @s2n_enable_atexit() local_unnamed_addr #2

declare i32 @s2n_init() local_unnamed_addr #2

declare i32 @s2n_disable_tls13_in_test(...) 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_connection_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_send_max_fragment_length(ptr noundef, i32 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_stuffer_read_uint8(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_free(ptr noundef) local_unnamed_addr #2

declare void @s2n_debug_info_reset() local_unnamed_addr #2

declare i32 @s2n_cleanup() local_unnamed_addr #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nofree nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { mustprogress nofree nosync nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #7 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #9 = { nounwind }
attributes #10 = { nounwind willreturn memory(none) }
attributes #11 = { cold nounwind }
attributes #12 = { noreturn nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!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 = !{!19, !7, i64 2232}
!19 = !{!"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, !20, i64 160, !21, i64 168, !21, 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, !22, i64 240, !10, i64 632, !10, i64 640, !23, i64 648, !29, i64 1144, !32, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !34, i64 1776, !34, i64 1816, !34, i64 1856, !34, i64 1896, !6, i64 1936, !21, i64 1944, !7, i64 1952, !34, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !35, i64 2004, !35, i64 2008, !36, i64 2016, !17, i64 2208, !6, i64 2212, !17, i64 2216, !21, i64 2224, !7, i64 2232, !21, i64 2240, !21, i64 2248, !21, i64 2256, !35, i64 2264, !35, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !28, i64 2792, !6, i64 2816, !28, i64 2824, !28, i64 2848, !28, i64 2872, !38, i64 2896, !40, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !28, i64 3784, !6, i64 3808, !42, i64 3816, !7, i64 3848, !34, i64 3992, !28, i64 4032, !28, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !17, i64 4084, !17, i64 4086, !6, i64 4088, !6, i64 4092, !28, i64 4096, !6, i64 4120, !43, i64 4128, !35, i64 4176, !7, i64 4180, !7, i64 4181}
!20 = !{!"s2n_timer", !21, i64 0}
!21 = !{!"long", !7, i64 0}
!22 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!23 = !{!"s2n_kex_parameters", !24, i64 0, !25, i64 8, !7, i64 24, !25, i64 56, !26, i64 72, !26, i64 184, !7, i64 296, !27, i64 360, !28, i64 448, !28, i64 472}
!24 = !{!"s2n_dh_params", !10, i64 0}
!25 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!26 = !{!"s2n_kem_group_params", !10, i64 0, !27, i64 8, !25, i64 96}
!27 = !{!"s2n_kem_params", !10, i64 0, !28, i64 8, !28, i64 32, !28, i64 56, !12, i64 80}
!28 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!29 = !{!"s2n_handshake_parameters", !30, i64 0, !30, i64 48, !28, i64 96, !6, i64 120, !31, 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}
!30 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!31 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!32 = !{!"s2n_psk_parameters", !6, i64 0, !33, i64 8, !17, i64 40, !17, i64 42, !10, i64 48, !6, i64 56}
!33 = !{!"s2n_array", !28, i64 0, !6, i64 24, !6, i64 28}
!34 = !{!"s2n_stuffer", !28, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!35 = !{!"", !6, i64 0}
!36 = !{!"s2n_handshake", !34, 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, !37, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!37 = !{!"s2n_offered_early_data", !10, i64 0}
!38 = !{!"s2n_client_hello", !28, i64 0, !39, i64 24, !28, i64 728, !28, i64 752, !28, 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}
!39 = !{!"", !7, i64 0, !28, i64 672, !17, i64 696}
!40 = !{!"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, !41, i64 48, !12, i64 52}
!41 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!42 = !{!"s2n_ticket_fields", !28, i64 0, !6, i64 24}
!43 = !{!"s2n_post_handshake", !34, i64 0, !7, i64 40}
!44 = !{!16, !10, i64 8}
!45 = !{!7, !7, i64 0}
!46 = !{!34, !6, i64 28}
!47 = !{!34, !6, i64 24}
!48 = !{!16, !10, i64 16}
!49 = !{!19, !17, i64 2208}
!50 = !{!17, !17, i64 0}


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass,TailCallElimPass