; LLVM IR from aws/s2n-tls :: tests/unit (s2n_client_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 }
%struct.s2n_config = type { i32, ptr, ptr, %struct.certs_by_type, %struct.s2n_blob, ptr, ptr, ptr, ptr, ptr, ptr, i32, i32, ptr, i64, ptr, i64, i64, ptr, ptr, ptr, ptr, ptr, ptr, i32, i8, i32, i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr, i8, i8, %struct.s2n_x509_trust_store, i16, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, i32, i32, i32, ptr, i32, i32, ptr, ptr, i32, %struct.s2n_blob }
%struct.certs_by_type = type { [4 x ptr] }
%struct.s2n_x509_trust_store = type { ptr, i8 }

@s2n_use_color_in_output = external dso_local global i8, align 1
@test_count = external dso_local global i32, align 4
@stdout = external global ptr, align 8
@.str = external hidden unnamed_addr constant [19 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [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
@.str.12 = external hidden unnamed_addr constant [75 x i8], align 1
@s2n_client_max_frag_len_extension = external constant %struct.s2n_extension_type, align 8
@.str.13 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [71 x i8], align 1
@mfl_code_to_length = external global [5 x i16], align 2
@.str.31 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.37 = 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 i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca ptr, align 8
  %22 = alloca i32, align 4
  %23 = alloca ptr, align 8
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca %struct.s2n_stuffer, align 8
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i8, align 1
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca ptr, align 8
  %38 = alloca i32, align 4
  %39 = alloca ptr, align 8
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca %struct.s2n_stuffer, align 8
  %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 i32, align 4
  %51 = alloca i32, align 4
  %52 = alloca i32, align 4
  %53 = alloca ptr, align 8
  %54 = alloca i32, align 4
  %55 = alloca i32, align 4
  %56 = alloca ptr, align 8
  %57 = alloca i32, align 4
  %58 = alloca i32, align 4
  %59 = alloca %struct.s2n_stuffer, align 8
  %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 i32, align 4
  %68 = alloca ptr, align 8
  %69 = alloca i32, align 4
  %70 = alloca i32, align 4
  %71 = alloca ptr, align 8
  %72 = alloca i32, align 4
  %73 = alloca i32, align 4
  %74 = alloca %struct.s2n_stuffer, align 8
  %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
  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 %87

87:                                               ; preds = %2
  br label %88

88:                                               ; preds = %87
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %89 = load ptr, ptr @stdout, align 8, !tbaa !9
  %90 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %89, ptr noundef @.str, ptr noundef @.str.1) #8
  %91 = load ptr, ptr @stdout, align 8, !tbaa !9
  %92 = call i32 @fflush(ptr noundef %91)
  br label %93

93:                                               ; preds = %88
  %94 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %95 = icmp eq i32 %94, -1
  br i1 %95, label %96, label %147

96:                                               ; preds = %93
  br label %97

97:                                               ; preds = %96
  br label %98

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

105:                                              ; preds = %98
  %106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %107 = call i32 @fileno(ptr noundef %106) #8
  %108 = call i32 @isatty(i32 noundef %107) #8
  %109 = icmp ne i32 %108, 0
  br i1 %109, label %110, label %127

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

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

144:                                              ; preds = %127, %110
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #8
  br label %145

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

146:                                              ; No predecessors!
  br label %147

147:                                              ; preds = %146, %93
  br label %148

148:                                              ; preds = %147
  br label %149

149:                                              ; preds = %148
  %150 = load i32, ptr @test_count, align 4, !tbaa !5
  %151 = add nsw i32 %150, 1
  store i32 %151, ptr @test_count, align 4, !tbaa !5
  %152 = call i32 @s2n_enable_atexit()
  %153 = icmp eq i32 %152, -1
  br i1 %153, label %154, label %205

154:                                              ; preds = %149
  br label %155

155:                                              ; preds = %154
  br label %156

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

163:                                              ; preds = %156
  %164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %165 = call i32 @fileno(ptr noundef %164) #8
  %166 = call i32 @isatty(i32 noundef %165) #8
  %167 = icmp ne i32 %166, 0
  br i1 %167, label %168, label %185

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

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

202:                                              ; preds = %185, %168
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #8
  br label %203

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

204:                                              ; No predecessors!
  br label %205

205:                                              ; preds = %204, %149
  br label %206

206:                                              ; preds = %205
  br label %207

207:                                              ; preds = %206
  br label %208

208:                                              ; preds = %207
  %209 = call i32 @s2n_init()
  %210 = icmp eq i32 %209, -1
  br i1 %210, label %211, label %262

211:                                              ; preds = %208
  br label %212

212:                                              ; preds = %211
  br label %213

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

220:                                              ; preds = %213
  %221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %222 = call i32 @fileno(ptr noundef %221) #8
  %223 = call i32 @isatty(i32 noundef %222) #8
  %224 = icmp ne i32 %223, 0
  br i1 %224, label %225, label %242

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

242:                                              ; preds = %220, %213
  %243 = load i32, ptr %8, align 4, !tbaa !5
  %244 = call ptr @__errno_location() #9
  store i32 %243, ptr %244, align 4, !tbaa !5
  %245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %246 = load i32, ptr @test_count, align 4, !tbaa !5
  %247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %248 = load i32, ptr %247, align 4, !tbaa !5
  %249 = call ptr @s2n_strerror(i32 noundef %248, ptr noundef @.str.4)
  %250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %251 = load i32, ptr %250, align 4, !tbaa !5
  %252 = call ptr @s2n_strerror_debug(i32 noundef %251, ptr noundef @.str.4)
  %253 = call ptr @__errno_location() #9
  %254 = load i32, ptr %253, align 4, !tbaa !5
  %255 = call ptr @strerror(i32 noundef %254) #8
  %256 = call ptr @__errno_location() #9
  %257 = load i32, ptr %256, align 4, !tbaa !5
  %258 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %245, ptr noundef @.str.5, i32 noundef %246, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 22, ptr noundef %249, ptr noundef %252, ptr noundef %255, i32 noundef %257) #8
  br label %259

259:                                              ; preds = %242, %225
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #8
  br label %260

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

261:                                              ; No predecessors!
  br label %262

262:                                              ; preds = %261, %208
  br label %263

263:                                              ; preds = %262
  br label %264

264:                                              ; preds = %263
  br label %265

265:                                              ; preds = %264
  %266 = load i32, ptr @test_count, align 4, !tbaa !5
  %267 = add nsw i32 %266, 1
  store i32 %267, ptr @test_count, align 4, !tbaa !5
  %268 = call i32 (...) @s2n_disable_tls13_in_test()
  %269 = icmp eq i32 %268, -1
  br i1 %269, label %270, label %321

270:                                              ; preds = %265
  br label %271

271:                                              ; preds = %270
  br label %272

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

279:                                              ; preds = %272
  %280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %281 = call i32 @fileno(ptr noundef %280) #8
  %282 = call i32 @isatty(i32 noundef %281) #8
  %283 = icmp ne i32 %282, 0
  br i1 %283, label %284, label %301

284:                                              ; preds = %279
  %285 = load i32, ptr %9, align 4, !tbaa !5
  %286 = call ptr @__errno_location() #9
  store i32 %285, ptr %286, align 4, !tbaa !5
  %287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %288 = load i32, ptr @test_count, align 4, !tbaa !5
  %289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %290 = load i32, ptr %289, align 4, !tbaa !5
  %291 = call ptr @s2n_strerror(i32 noundef %290, ptr noundef @.str.4)
  %292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %293 = load i32, ptr %292, align 4, !tbaa !5
  %294 = call ptr @s2n_strerror_debug(i32 noundef %293, ptr noundef @.str.4)
  %295 = call ptr @__errno_location() #9
  %296 = load i32, ptr %295, align 4, !tbaa !5
  %297 = call ptr @strerror(i32 noundef %296) #8
  %298 = call ptr @__errno_location() #9
  %299 = load i32, ptr %298, align 4, !tbaa !5
  %300 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %287, ptr noundef @.str.2, i32 noundef %288, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 23, ptr noundef %291, ptr noundef %294, ptr noundef %297, i32 noundef %299) #8
  br label %318

301:                                              ; preds = %279, %272
  %302 = load i32, ptr %9, align 4, !tbaa !5
  %303 = call ptr @__errno_location() #9
  store i32 %302, ptr %303, align 4, !tbaa !5
  %304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %305 = load i32, ptr @test_count, align 4, !tbaa !5
  %306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %307 = load i32, ptr %306, align 4, !tbaa !5
  %308 = call ptr @s2n_strerror(i32 noundef %307, ptr noundef @.str.4)
  %309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %310 = load i32, ptr %309, align 4, !tbaa !5
  %311 = call ptr @s2n_strerror_debug(i32 noundef %310, ptr noundef @.str.4)
  %312 = call ptr @__errno_location() #9
  %313 = load i32, ptr %312, align 4, !tbaa !5
  %314 = call ptr @strerror(i32 noundef %313) #8
  %315 = call ptr @__errno_location() #9
  %316 = load i32, ptr %315, align 4, !tbaa !5
  %317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %304, ptr noundef @.str.5, i32 noundef %305, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 23, ptr noundef %308, ptr noundef %311, ptr noundef %314, i32 noundef %316) #8
  br label %318

318:                                              ; preds = %301, %284
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #8
  br label %319

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

320:                                              ; No predecessors!
  br label %321

321:                                              ; preds = %320, %265
  br label %322

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

323:                                              ; preds = %322
  %324 = load i32, ptr @test_count, align 4, !tbaa !5
  %325 = add nsw i32 %324, 1
  store i32 %325, ptr @test_count, align 4, !tbaa !5
  %326 = call ptr @s2n_config_new()
  store ptr %326, ptr %10, align 8, !tbaa !9
  %327 = icmp eq ptr %326, null
  br i1 %327, label %328, label %381

328:                                              ; preds = %323
  br label %329

329:                                              ; preds = %328
  br label %330

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

337:                                              ; preds = %330
  %338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %339 = call i32 @fileno(ptr noundef %338) #8
  %340 = call i32 @isatty(i32 noundef %339) #8
  %341 = icmp ne i32 %340, 0
  br i1 %341, label %342, label %359

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

359:                                              ; preds = %337, %330
  %360 = load i32, ptr %11, align 4, !tbaa !5
  %361 = call ptr @__errno_location() #9
  store i32 %360, ptr %361, align 4, !tbaa !5
  %362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %363 = load i32, ptr @test_count, align 4, !tbaa !5
  %364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %365 = load i32, ptr %364, align 4, !tbaa !5
  %366 = call ptr @s2n_strerror(i32 noundef %365, ptr noundef @.str.4)
  %367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %368 = load i32, ptr %367, align 4, !tbaa !5
  %369 = call ptr @s2n_strerror_debug(i32 noundef %368, ptr noundef @.str.4)
  %370 = call ptr @__errno_location() #9
  %371 = load i32, ptr %370, align 4, !tbaa !5
  %372 = call ptr @strerror(i32 noundef %371) #8
  %373 = call ptr @__errno_location() #9
  %374 = load i32, ptr %373, align 4, !tbaa !5
  %375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %362, ptr noundef @.str.5, i32 noundef %363, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 28, ptr noundef %366, ptr noundef %369, ptr noundef %372, i32 noundef %374) #8
  br label %376

376:                                              ; preds = %359, %342
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #8
  br label %377

377:                                              ; preds = %376
  br label %378

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

379:                                              ; No predecessors!
  br label %380

380:                                              ; preds = %379
  br label %381

381:                                              ; preds = %380, %323
  br label %382

382:                                              ; preds = %381
  br label %383

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

384:                                              ; preds = %383
  %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 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %387, ptr %12, align 8, !tbaa !9
  %388 = icmp eq ptr %387, null
  br i1 %388, label %389, label %442

389:                                              ; preds = %384
  br label %390

390:                                              ; preds = %389
  br label %391

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

398:                                              ; preds = %391
  %399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %400 = call i32 @fileno(ptr noundef %399) #8
  %401 = call i32 @isatty(i32 noundef %400) #8
  %402 = icmp ne i32 %401, 0
  br i1 %402, label %403, label %420

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

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

437:                                              ; preds = %420, %403
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #8
  br label %438

438:                                              ; preds = %437
  br label %439

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

440:                                              ; No predecessors!
  br label %441

441:                                              ; preds = %440
  br label %442

442:                                              ; preds = %441, %384
  br label %443

443:                                              ; preds = %442
  br label %444

444:                                              ; preds = %443
  br label %445

445:                                              ; preds = %444
  %446 = load i32, ptr @test_count, align 4, !tbaa !5
  %447 = add nsw i32 %446, 1
  store i32 %447, ptr @test_count, align 4, !tbaa !5
  %448 = load ptr, ptr %12, align 8, !tbaa !9
  %449 = load ptr, ptr %10, align 8, !tbaa !9
  %450 = call i32 @s2n_connection_set_config(ptr noundef %448, ptr noundef %449)
  %451 = icmp eq i32 %450, -1
  br i1 %451, label %452, label %505

452:                                              ; preds = %445
  br label %453

453:                                              ; preds = %452
  br label %454

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

461:                                              ; preds = %454
  %462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %463 = call i32 @fileno(ptr noundef %462) #8
  %464 = call i32 @isatty(i32 noundef %463) #8
  %465 = icmp ne i32 %464, 0
  br i1 %465, label %466, label %483

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

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

500:                                              ; preds = %483, %466
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #8
  br label %501

501:                                              ; preds = %500
  br label %502

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

503:                                              ; No predecessors!
  br label %504

504:                                              ; preds = %503
  br label %505

505:                                              ; preds = %504, %445
  br label %506

506:                                              ; preds = %505
  br label %507

507:                                              ; preds = %506
  br label %508

508:                                              ; preds = %507
  %509 = load i32, ptr @test_count, align 4, !tbaa !5
  %510 = add nsw i32 %509, 1
  store i32 %510, ptr @test_count, align 4, !tbaa !5
  %511 = load ptr, ptr %10, align 8, !tbaa !9
  %512 = call i32 @s2n_config_send_max_fragment_length(ptr noundef %511, i32 noundef 0)
  %513 = icmp eq i32 %512, -1
  br i1 %513, label %514, label %567

514:                                              ; preds = %508
  br label %515

515:                                              ; preds = %514
  br label %516

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

523:                                              ; preds = %516
  %524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %525 = call i32 @fileno(ptr noundef %524) #8
  %526 = call i32 @isatty(i32 noundef %525) #8
  %527 = icmp ne i32 %526, 0
  br i1 %527, label %528, label %545

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

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

562:                                              ; preds = %545, %528
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #8
  br label %563

563:                                              ; preds = %562
  br label %564

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

565:                                              ; No predecessors!
  br label %566

566:                                              ; preds = %565
  br label %567

567:                                              ; preds = %566, %508
  br label %568

568:                                              ; preds = %567
  br label %569

569:                                              ; preds = %568
  br label %570

570:                                              ; preds = %569
  %571 = load i32, ptr @test_count, align 4, !tbaa !5
  %572 = add nsw i32 %571, 1
  store i32 %572, ptr @test_count, align 4, !tbaa !5
  %573 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_max_frag_len_extension, i32 0, i32 5), align 8, !tbaa !15
  %574 = load ptr, ptr %12, align 8, !tbaa !9
  %575 = call zeroext i1 %573(ptr noundef %574)
  br i1 %575, label %576, label %629

576:                                              ; preds = %570
  br label %577

577:                                              ; preds = %576
  br label %578

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

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

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

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

624:                                              ; preds = %607, %590
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #8
  br label %625

625:                                              ; preds = %624
  br label %626

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

627:                                              ; No predecessors!
  br label %628

628:                                              ; preds = %627
  br label %629

629:                                              ; preds = %628, %570
  br label %630

630:                                              ; preds = %629
  br label %631

631:                                              ; preds = %630
  br label %632

632:                                              ; preds = %631
  %633 = load i32, ptr @test_count, align 4, !tbaa !5
  %634 = add nsw i32 %633, 1
  store i32 %634, ptr @test_count, align 4, !tbaa !5
  %635 = load ptr, ptr %10, align 8, !tbaa !9
  %636 = call i32 @s2n_config_send_max_fragment_length(ptr noundef %635, i32 noundef 1)
  %637 = icmp eq i32 %636, -1
  br i1 %637, label %638, label %691

638:                                              ; preds = %632
  br label %639

639:                                              ; preds = %638
  br label %640

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

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

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

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

686:                                              ; preds = %669, %652
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #8
  br label %687

687:                                              ; preds = %686
  br label %688

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

689:                                              ; No predecessors!
  br label %690

690:                                              ; preds = %689
  br label %691

691:                                              ; preds = %690, %632
  br label %692

692:                                              ; preds = %691
  br label %693

693:                                              ; preds = %692
  br label %694

694:                                              ; preds = %693
  %695 = load i32, ptr @test_count, align 4, !tbaa !5
  %696 = add nsw i32 %695, 1
  store i32 %696, ptr @test_count, align 4, !tbaa !5
  %697 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_max_frag_len_extension, i32 0, i32 5), align 8, !tbaa !15
  %698 = load ptr, ptr %12, align 8, !tbaa !9
  %699 = call zeroext i1 %697(ptr noundef %698)
  br i1 %699, label %753, label %700

700:                                              ; preds = %694
  br label %701

701:                                              ; preds = %700
  br label %702

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

709:                                              ; preds = %702
  %710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %711 = call i32 @fileno(ptr noundef %710) #8
  %712 = call i32 @isatty(i32 noundef %711) #8
  %713 = icmp ne i32 %712, 0
  br i1 %713, label %714, label %731

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

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

748:                                              ; preds = %731, %714
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #8
  br label %749

749:                                              ; preds = %748
  br label %750

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

751:                                              ; No predecessors!
  br label %752

752:                                              ; preds = %751
  br label %753

753:                                              ; preds = %752, %694
  br label %754

754:                                              ; preds = %753
  br label %755

755:                                              ; preds = %754
  br label %756

756:                                              ; preds = %755
  %757 = load i32, ptr @test_count, align 4, !tbaa !5
  %758 = add nsw i32 %757, 1
  store i32 %758, ptr @test_count, align 4, !tbaa !5
  %759 = load ptr, ptr %12, align 8, !tbaa !9
  %760 = call i32 @s2n_connection_free(ptr noundef %759)
  %761 = icmp eq i32 %760, -1
  br i1 %761, label %762, label %815

762:                                              ; preds = %756
  br label %763

763:                                              ; preds = %762
  br label %764

764:                                              ; preds = %763
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #8
  %765 = call ptr @__errno_location() #9
  %766 = load i32, ptr %765, align 4, !tbaa !5
  store i32 %766, ptr %19, align 4, !tbaa !5
  %767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %768 = call i32 @s2n_print_stacktrace(ptr noundef %767)
  %769 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %770 = trunc i8 %769 to i1
  br i1 %770, label %771, label %793

771:                                              ; preds = %764
  %772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %773 = call i32 @fileno(ptr noundef %772) #8
  %774 = call i32 @isatty(i32 noundef %773) #8
  %775 = icmp ne i32 %774, 0
  br i1 %775, label %776, label %793

776:                                              ; preds = %771
  %777 = load i32, ptr %19, align 4, !tbaa !5
  %778 = call ptr @__errno_location() #9
  store i32 %777, ptr %778, align 4, !tbaa !5
  %779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %780 = load i32, ptr @test_count, align 4, !tbaa !5
  %781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %782 = load i32, ptr %781, align 4, !tbaa !5
  %783 = call ptr @s2n_strerror(i32 noundef %782, ptr noundef @.str.4)
  %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_debug(i32 noundef %785, ptr noundef @.str.4)
  %787 = call ptr @__errno_location() #9
  %788 = load i32, ptr %787, align 4, !tbaa !5
  %789 = call ptr @strerror(i32 noundef %788) #8
  %790 = call ptr @__errno_location() #9
  %791 = load i32, ptr %790, align 4, !tbaa !5
  %792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %779, ptr noundef @.str.2, i32 noundef %780, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 40, ptr noundef %783, ptr noundef %786, ptr noundef %789, i32 noundef %791) #8
  br label %810

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

810:                                              ; preds = %793, %776
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #8
  br label %811

811:                                              ; preds = %810
  br label %812

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

813:                                              ; No predecessors!
  br label %814

814:                                              ; preds = %813
  br label %815

815:                                              ; preds = %814, %756
  br label %816

816:                                              ; preds = %815
  br label %817

817:                                              ; preds = %816
  br label %818

818:                                              ; preds = %817
  %819 = load i32, ptr @test_count, align 4, !tbaa !5
  %820 = add nsw i32 %819, 1
  store i32 %820, ptr @test_count, align 4, !tbaa !5
  %821 = load ptr, ptr %10, align 8, !tbaa !9
  %822 = call i32 @s2n_config_free(ptr noundef %821)
  %823 = icmp eq i32 %822, -1
  br i1 %823, label %824, label %877

824:                                              ; preds = %818
  br label %825

825:                                              ; preds = %824
  br label %826

826:                                              ; preds = %825
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #8
  %827 = call ptr @__errno_location() #9
  %828 = load i32, ptr %827, align 4, !tbaa !5
  store i32 %828, ptr %20, align 4, !tbaa !5
  %829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %830 = call i32 @s2n_print_stacktrace(ptr noundef %829)
  %831 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %832 = trunc i8 %831 to i1
  br i1 %832, label %833, label %855

833:                                              ; preds = %826
  %834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %835 = call i32 @fileno(ptr noundef %834) #8
  %836 = call i32 @isatty(i32 noundef %835) #8
  %837 = icmp ne i32 %836, 0
  br i1 %837, label %838, label %855

838:                                              ; preds = %833
  %839 = load i32, ptr %20, align 4, !tbaa !5
  %840 = call ptr @__errno_location() #9
  store i32 %839, ptr %840, 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 @.str.4)
  %846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %847 = load i32, ptr %846, align 4, !tbaa !5
  %848 = call ptr @s2n_strerror_debug(i32 noundef %847, ptr noundef @.str.4)
  %849 = call ptr @__errno_location() #9
  %850 = load i32, ptr %849, align 4, !tbaa !5
  %851 = call ptr @strerror(i32 noundef %850) #8
  %852 = call ptr @__errno_location() #9
  %853 = load i32, ptr %852, align 4, !tbaa !5
  %854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %841, ptr noundef @.str.2, i32 noundef %842, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 41, ptr noundef %845, ptr noundef %848, ptr noundef %851, i32 noundef %853) #8
  br label %872

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

872:                                              ; preds = %855, %838
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #8
  br label %873

873:                                              ; preds = %872
  br label %874

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

875:                                              ; No predecessors!
  br label %876

876:                                              ; preds = %875
  br label %877

877:                                              ; preds = %876, %818
  br label %878

878:                                              ; preds = %877
  br label %879

879:                                              ; preds = %878
  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 %21) #8
  store ptr null, ptr %21, align 8, !tbaa !9
  br label %880

880:                                              ; preds = %879
  %881 = load i32, ptr @test_count, align 4, !tbaa !5
  %882 = add nsw i32 %881, 1
  store i32 %882, ptr @test_count, align 4, !tbaa !5
  %883 = call ptr @s2n_config_new()
  store ptr %883, ptr %21, align 8, !tbaa !9
  %884 = icmp eq ptr %883, null
  br i1 %884, label %885, label %938

885:                                              ; preds = %880
  br label %886

886:                                              ; preds = %885
  br label %887

887:                                              ; preds = %886
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #8
  %888 = call ptr @__errno_location() #9
  %889 = load i32, ptr %888, align 4, !tbaa !5
  store i32 %889, ptr %22, align 4, !tbaa !5
  %890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %891 = call i32 @s2n_print_stacktrace(ptr noundef %890)
  %892 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %893 = trunc i8 %892 to i1
  br i1 %893, label %894, label %916

894:                                              ; preds = %887
  %895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %896 = call i32 @fileno(ptr noundef %895) #8
  %897 = call i32 @isatty(i32 noundef %896) #8
  %898 = icmp ne i32 %897, 0
  br i1 %898, label %899, label %916

899:                                              ; preds = %894
  %900 = load i32, ptr %22, align 4, !tbaa !5
  %901 = call ptr @__errno_location() #9
  store i32 %900, ptr %901, align 4, !tbaa !5
  %902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %903 = load i32, ptr @test_count, align 4, !tbaa !5
  %904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %905 = load i32, ptr %904, align 4, !tbaa !5
  %906 = call ptr @s2n_strerror(i32 noundef %905, ptr noundef @.str.4)
  %907 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %908 = load i32, ptr %907, align 4, !tbaa !5
  %909 = call ptr @s2n_strerror_debug(i32 noundef %908, ptr noundef @.str.4)
  %910 = call ptr @__errno_location() #9
  %911 = load i32, ptr %910, align 4, !tbaa !5
  %912 = call ptr @strerror(i32 noundef %911) #8
  %913 = call ptr @__errno_location() #9
  %914 = load i32, ptr %913, align 4, !tbaa !5
  %915 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %902, ptr noundef @.str.2, i32 noundef %903, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 47, ptr noundef %906, ptr noundef %909, ptr noundef %912, i32 noundef %914) #8
  br label %933

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

933:                                              ; preds = %916, %899
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #8
  br label %934

934:                                              ; preds = %933
  br label %935

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

936:                                              ; No predecessors!
  br label %937

937:                                              ; preds = %936
  br label %938

938:                                              ; preds = %937, %880
  br label %939

939:                                              ; preds = %938
  br label %940

940:                                              ; preds = %939
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #8
  store ptr null, ptr %23, align 8, !tbaa !9
  br label %941

941:                                              ; preds = %940
  %942 = load i32, ptr @test_count, align 4, !tbaa !5
  %943 = add nsw i32 %942, 1
  store i32 %943, ptr @test_count, align 4, !tbaa !5
  %944 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %944, ptr %23, align 8, !tbaa !9
  %945 = icmp eq ptr %944, null
  br i1 %945, label %946, label %999

946:                                              ; preds = %941
  br label %947

947:                                              ; preds = %946
  br label %948

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

955:                                              ; preds = %948
  %956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %957 = call i32 @fileno(ptr noundef %956) #8
  %958 = call i32 @isatty(i32 noundef %957) #8
  %959 = icmp ne i32 %958, 0
  br i1 %959, label %960, label %977

960:                                              ; preds = %955
  %961 = load i32, ptr %24, align 4, !tbaa !5
  %962 = call ptr @__errno_location() #9
  store i32 %961, ptr %962, align 4, !tbaa !5
  %963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %964 = load i32, ptr @test_count, align 4, !tbaa !5
  %965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %966 = load i32, ptr %965, align 4, !tbaa !5
  %967 = call ptr @s2n_strerror(i32 noundef %966, ptr noundef @.str.4)
  %968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %969 = load i32, ptr %968, align 4, !tbaa !5
  %970 = call ptr @s2n_strerror_debug(i32 noundef %969, ptr noundef @.str.4)
  %971 = call ptr @__errno_location() #9
  %972 = load i32, ptr %971, align 4, !tbaa !5
  %973 = call ptr @strerror(i32 noundef %972) #8
  %974 = call ptr @__errno_location() #9
  %975 = load i32, ptr %974, align 4, !tbaa !5
  %976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %963, ptr noundef @.str.2, i32 noundef %964, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 50, ptr noundef %967, ptr noundef %970, ptr noundef %973, i32 noundef %975) #8
  br label %994

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

994:                                              ; preds = %977, %960
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #8
  br label %995

995:                                              ; preds = %994
  br label %996

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

997:                                              ; No predecessors!
  br label %998

998:                                              ; preds = %997
  br label %999

999:                                              ; preds = %998, %941
  br label %1000

1000:                                             ; preds = %999
  br label %1001

1001:                                             ; preds = %1000
  br label %1002

1002:                                             ; preds = %1001
  %1003 = load i32, ptr @test_count, align 4, !tbaa !5
  %1004 = add nsw i32 %1003, 1
  store i32 %1004, ptr @test_count, align 4, !tbaa !5
  %1005 = load ptr, ptr %23, align 8, !tbaa !9
  %1006 = load ptr, ptr %21, align 8, !tbaa !9
  %1007 = call i32 @s2n_connection_set_config(ptr noundef %1005, ptr noundef %1006)
  %1008 = icmp eq i32 %1007, -1
  br i1 %1008, label %1009, label %1062

1009:                                             ; preds = %1002
  br label %1010

1010:                                             ; preds = %1009
  br label %1011

1011:                                             ; preds = %1010
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #8
  %1012 = call ptr @__errno_location() #9
  %1013 = load i32, ptr %1012, align 4, !tbaa !5
  store i32 %1013, ptr %25, align 4, !tbaa !5
  %1014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1015 = call i32 @s2n_print_stacktrace(ptr noundef %1014)
  %1016 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1017 = trunc i8 %1016 to i1
  br i1 %1017, label %1018, label %1040

1018:                                             ; preds = %1011
  %1019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1020 = call i32 @fileno(ptr noundef %1019) #8
  %1021 = call i32 @isatty(i32 noundef %1020) #8
  %1022 = icmp ne i32 %1021, 0
  br i1 %1022, label %1023, label %1040

1023:                                             ; preds = %1018
  %1024 = load i32, ptr %25, align 4, !tbaa !5
  %1025 = call ptr @__errno_location() #9
  store i32 %1024, ptr %1025, align 4, !tbaa !5
  %1026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1027 = load i32, ptr @test_count, align 4, !tbaa !5
  %1028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1029 = load i32, ptr %1028, align 4, !tbaa !5
  %1030 = call ptr @s2n_strerror(i32 noundef %1029, ptr noundef @.str.4)
  %1031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1032 = load i32, ptr %1031, align 4, !tbaa !5
  %1033 = call ptr @s2n_strerror_debug(i32 noundef %1032, ptr noundef @.str.4)
  %1034 = call ptr @__errno_location() #9
  %1035 = load i32, ptr %1034, align 4, !tbaa !5
  %1036 = call ptr @strerror(i32 noundef %1035) #8
  %1037 = call ptr @__errno_location() #9
  %1038 = load i32, ptr %1037, align 4, !tbaa !5
  %1039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1026, ptr noundef @.str.2, i32 noundef %1027, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 51, ptr noundef %1030, ptr noundef %1033, ptr noundef %1036, i32 noundef %1038) #8
  br label %1057

1040:                                             ; preds = %1018, %1011
  %1041 = load i32, ptr %25, align 4, !tbaa !5
  %1042 = call ptr @__errno_location() #9
  store i32 %1041, ptr %1042, align 4, !tbaa !5
  %1043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1044 = load i32, ptr @test_count, align 4, !tbaa !5
  %1045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1046 = load i32, ptr %1045, align 4, !tbaa !5
  %1047 = call ptr @s2n_strerror(i32 noundef %1046, ptr noundef @.str.4)
  %1048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1049 = load i32, ptr %1048, align 4, !tbaa !5
  %1050 = call ptr @s2n_strerror_debug(i32 noundef %1049, ptr noundef @.str.4)
  %1051 = call ptr @__errno_location() #9
  %1052 = load i32, ptr %1051, align 4, !tbaa !5
  %1053 = call ptr @strerror(i32 noundef %1052) #8
  %1054 = call ptr @__errno_location() #9
  %1055 = load i32, ptr %1054, align 4, !tbaa !5
  %1056 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1043, ptr noundef @.str.5, i32 noundef %1044, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 51, ptr noundef %1047, ptr noundef %1050, ptr noundef %1053, i32 noundef %1055) #8
  br label %1057

1057:                                             ; preds = %1040, %1023
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #8
  br label %1058

1058:                                             ; preds = %1057
  br label %1059

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

1060:                                             ; No predecessors!
  br label %1061

1061:                                             ; preds = %1060
  br label %1062

1062:                                             ; preds = %1061, %1002
  br label %1063

1063:                                             ; preds = %1062
  br label %1064

1064:                                             ; preds = %1063
  call void @llvm.lifetime.start.p0(i64 40, ptr %26) #8
  call void @llvm.memset.p0.i64(ptr align 8 %26, i8 0, i64 40, i1 false)
  br label %1065

1065:                                             ; preds = %1064
  %1066 = load i32, ptr @test_count, align 4, !tbaa !5
  %1067 = add nsw i32 %1066, 1
  store i32 %1067, ptr @test_count, align 4, !tbaa !5
  %1068 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %26, i32 noundef 0)
  %1069 = icmp eq i32 %1068, -1
  br i1 %1069, label %1070, label %1123

1070:                                             ; preds = %1065
  br label %1071

1071:                                             ; preds = %1070
  br label %1072

1072:                                             ; preds = %1071
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #8
  %1073 = call ptr @__errno_location() #9
  %1074 = load i32, ptr %1073, align 4, !tbaa !5
  store i32 %1074, ptr %27, align 4, !tbaa !5
  %1075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1076 = call i32 @s2n_print_stacktrace(ptr noundef %1075)
  %1077 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1078 = trunc i8 %1077 to i1
  br i1 %1078, label %1079, label %1101

1079:                                             ; preds = %1072
  %1080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1081 = call i32 @fileno(ptr noundef %1080) #8
  %1082 = call i32 @isatty(i32 noundef %1081) #8
  %1083 = icmp ne i32 %1082, 0
  br i1 %1083, label %1084, label %1101

1084:                                             ; preds = %1079
  %1085 = load i32, ptr %27, align 4, !tbaa !5
  %1086 = call ptr @__errno_location() #9
  store i32 %1085, ptr %1086, align 4, !tbaa !5
  %1087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1088 = load i32, ptr @test_count, align 4, !tbaa !5
  %1089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1090 = load i32, ptr %1089, align 4, !tbaa !5
  %1091 = call ptr @s2n_strerror(i32 noundef %1090, ptr noundef @.str.4)
  %1092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1093 = load i32, ptr %1092, align 4, !tbaa !5
  %1094 = call ptr @s2n_strerror_debug(i32 noundef %1093, ptr noundef @.str.4)
  %1095 = call ptr @__errno_location() #9
  %1096 = load i32, ptr %1095, align 4, !tbaa !5
  %1097 = call ptr @strerror(i32 noundef %1096) #8
  %1098 = call ptr @__errno_location() #9
  %1099 = load i32, ptr %1098, align 4, !tbaa !5
  %1100 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1087, ptr noundef @.str.2, i32 noundef %1088, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 54, ptr noundef %1091, ptr noundef %1094, ptr noundef %1097, i32 noundef %1099) #8
  br label %1118

1101:                                             ; preds = %1079, %1072
  %1102 = load i32, ptr %27, align 4, !tbaa !5
  %1103 = call ptr @__errno_location() #9
  store i32 %1102, ptr %1103, align 4, !tbaa !5
  %1104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1105 = load i32, ptr @test_count, align 4, !tbaa !5
  %1106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1107 = load i32, ptr %1106, align 4, !tbaa !5
  %1108 = call ptr @s2n_strerror(i32 noundef %1107, ptr noundef @.str.4)
  %1109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1110 = load i32, ptr %1109, align 4, !tbaa !5
  %1111 = call ptr @s2n_strerror_debug(i32 noundef %1110, ptr noundef @.str.4)
  %1112 = call ptr @__errno_location() #9
  %1113 = load i32, ptr %1112, align 4, !tbaa !5
  %1114 = call ptr @strerror(i32 noundef %1113) #8
  %1115 = call ptr @__errno_location() #9
  %1116 = load i32, ptr %1115, align 4, !tbaa !5
  %1117 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1104, ptr noundef @.str.5, i32 noundef %1105, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 54, ptr noundef %1108, ptr noundef %1111, ptr noundef %1114, i32 noundef %1116) #8
  br label %1118

1118:                                             ; preds = %1101, %1084
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #8
  br label %1119

1119:                                             ; preds = %1118
  br label %1120

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

1121:                                             ; No predecessors!
  br label %1122

1122:                                             ; preds = %1121
  br label %1123

1123:                                             ; preds = %1122, %1065
  br label %1124

1124:                                             ; preds = %1123
  br label %1125

1125:                                             ; preds = %1124
  br label %1126

1126:                                             ; preds = %1125
  %1127 = load i32, ptr @test_count, align 4, !tbaa !5
  %1128 = add nsw i32 %1127, 1
  store i32 %1128, ptr @test_count, align 4, !tbaa !5
  %1129 = load ptr, ptr %21, align 8, !tbaa !9
  %1130 = call i32 @s2n_config_send_max_fragment_length(ptr noundef %1129, i32 noundef 1)
  %1131 = icmp eq i32 %1130, -1
  br i1 %1131, label %1132, label %1185

1132:                                             ; preds = %1126
  br label %1133

1133:                                             ; preds = %1132
  br label %1134

1134:                                             ; preds = %1133
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #8
  %1135 = call ptr @__errno_location() #9
  %1136 = load i32, ptr %1135, align 4, !tbaa !5
  store i32 %1136, ptr %28, align 4, !tbaa !5
  %1137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1138 = call i32 @s2n_print_stacktrace(ptr noundef %1137)
  %1139 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1140 = trunc i8 %1139 to i1
  br i1 %1140, label %1141, label %1163

1141:                                             ; preds = %1134
  %1142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1143 = call i32 @fileno(ptr noundef %1142) #8
  %1144 = call i32 @isatty(i32 noundef %1143) #8
  %1145 = icmp ne i32 %1144, 0
  br i1 %1145, label %1146, label %1163

1146:                                             ; preds = %1141
  %1147 = load i32, ptr %28, align 4, !tbaa !5
  %1148 = call ptr @__errno_location() #9
  store i32 %1147, ptr %1148, align 4, !tbaa !5
  %1149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1150 = load i32, ptr @test_count, align 4, !tbaa !5
  %1151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1152 = load i32, ptr %1151, align 4, !tbaa !5
  %1153 = call ptr @s2n_strerror(i32 noundef %1152, ptr noundef @.str.4)
  %1154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1155 = load i32, ptr %1154, align 4, !tbaa !5
  %1156 = call ptr @s2n_strerror_debug(i32 noundef %1155, ptr noundef @.str.4)
  %1157 = call ptr @__errno_location() #9
  %1158 = load i32, ptr %1157, align 4, !tbaa !5
  %1159 = call ptr @strerror(i32 noundef %1158) #8
  %1160 = call ptr @__errno_location() #9
  %1161 = load i32, ptr %1160, align 4, !tbaa !5
  %1162 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1149, ptr noundef @.str.2, i32 noundef %1150, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 56, ptr noundef %1153, ptr noundef %1156, ptr noundef %1159, i32 noundef %1161) #8
  br label %1180

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

1180:                                             ; preds = %1163, %1146
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #8
  br label %1181

1181:                                             ; preds = %1180
  br label %1182

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

1183:                                             ; No predecessors!
  br label %1184

1184:                                             ; preds = %1183
  br label %1185

1185:                                             ; preds = %1184, %1126
  br label %1186

1186:                                             ; preds = %1185
  br label %1187

1187:                                             ; preds = %1186
  br label %1188

1188:                                             ; preds = %1187
  %1189 = load i32, ptr @test_count, align 4, !tbaa !5
  %1190 = add nsw i32 %1189, 1
  store i32 %1190, ptr @test_count, align 4, !tbaa !5
  %1191 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_max_frag_len_extension, i32 0, i32 3), align 8, !tbaa !18
  %1192 = load ptr, ptr %23, align 8, !tbaa !9
  %1193 = call i32 %1191(ptr noundef %1192, ptr noundef %26)
  %1194 = icmp eq i32 %1193, -1
  br i1 %1194, label %1195, label %1248

1195:                                             ; preds = %1188
  br label %1196

1196:                                             ; preds = %1195
  br label %1197

1197:                                             ; preds = %1196
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #8
  %1198 = call ptr @__errno_location() #9
  %1199 = load i32, ptr %1198, align 4, !tbaa !5
  store i32 %1199, ptr %29, align 4, !tbaa !5
  %1200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1201 = call i32 @s2n_print_stacktrace(ptr noundef %1200)
  %1202 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1203 = trunc i8 %1202 to i1
  br i1 %1203, label %1204, label %1226

1204:                                             ; preds = %1197
  %1205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1206 = call i32 @fileno(ptr noundef %1205) #8
  %1207 = call i32 @isatty(i32 noundef %1206) #8
  %1208 = icmp ne i32 %1207, 0
  br i1 %1208, label %1209, label %1226

1209:                                             ; preds = %1204
  %1210 = load i32, ptr %29, align 4, !tbaa !5
  %1211 = call ptr @__errno_location() #9
  store i32 %1210, ptr %1211, align 4, !tbaa !5
  %1212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1213 = load i32, ptr @test_count, align 4, !tbaa !5
  %1214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1215 = load i32, ptr %1214, align 4, !tbaa !5
  %1216 = call ptr @s2n_strerror(i32 noundef %1215, ptr noundef @.str.4)
  %1217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1218 = load i32, ptr %1217, align 4, !tbaa !5
  %1219 = call ptr @s2n_strerror_debug(i32 noundef %1218, ptr noundef @.str.4)
  %1220 = call ptr @__errno_location() #9
  %1221 = load i32, ptr %1220, align 4, !tbaa !5
  %1222 = call ptr @strerror(i32 noundef %1221) #8
  %1223 = call ptr @__errno_location() #9
  %1224 = load i32, ptr %1223, align 4, !tbaa !5
  %1225 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1212, ptr noundef @.str.2, i32 noundef %1213, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 57, ptr noundef %1216, ptr noundef %1219, ptr noundef %1222, i32 noundef %1224) #8
  br label %1243

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

1243:                                             ; preds = %1226, %1209
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #8
  br label %1244

1244:                                             ; preds = %1243
  br label %1245

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

1246:                                             ; No predecessors!
  br label %1247

1247:                                             ; preds = %1246
  br label %1248

1248:                                             ; preds = %1247, %1188
  br label %1249

1249:                                             ; preds = %1248
  br label %1250

1250:                                             ; preds = %1249
  call void @llvm.lifetime.start.p0(i64 1, ptr %30) #8
  store i8 0, ptr %30, align 1, !tbaa !19
  br label %1251

1251:                                             ; preds = %1250
  %1252 = load i32, ptr @test_count, align 4, !tbaa !5
  %1253 = add nsw i32 %1252, 1
  store i32 %1253, ptr @test_count, align 4, !tbaa !5
  %1254 = call i32 @s2n_stuffer_read_uint8(ptr noundef %26, ptr noundef %30)
  %1255 = icmp eq i32 %1254, -1
  br i1 %1255, label %1256, label %1309

1256:                                             ; preds = %1251
  br label %1257

1257:                                             ; preds = %1256
  br label %1258

1258:                                             ; preds = %1257
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #8
  %1259 = call ptr @__errno_location() #9
  %1260 = load i32, ptr %1259, align 4, !tbaa !5
  store i32 %1260, ptr %31, align 4, !tbaa !5
  %1261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1262 = call i32 @s2n_print_stacktrace(ptr noundef %1261)
  %1263 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1264 = trunc i8 %1263 to i1
  br i1 %1264, label %1265, label %1287

1265:                                             ; preds = %1258
  %1266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1267 = call i32 @fileno(ptr noundef %1266) #8
  %1268 = call i32 @isatty(i32 noundef %1267) #8
  %1269 = icmp ne i32 %1268, 0
  br i1 %1269, label %1270, label %1287

1270:                                             ; preds = %1265
  %1271 = load i32, ptr %31, align 4, !tbaa !5
  %1272 = call ptr @__errno_location() #9
  store i32 %1271, ptr %1272, align 4, !tbaa !5
  %1273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1274 = load i32, ptr @test_count, align 4, !tbaa !5
  %1275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1276 = load i32, ptr %1275, align 4, !tbaa !5
  %1277 = call ptr @s2n_strerror(i32 noundef %1276, ptr noundef @.str.4)
  %1278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1279 = load i32, ptr %1278, align 4, !tbaa !5
  %1280 = call ptr @s2n_strerror_debug(i32 noundef %1279, ptr noundef @.str.4)
  %1281 = call ptr @__errno_location() #9
  %1282 = load i32, ptr %1281, align 4, !tbaa !5
  %1283 = call ptr @strerror(i32 noundef %1282) #8
  %1284 = call ptr @__errno_location() #9
  %1285 = load i32, ptr %1284, align 4, !tbaa !5
  %1286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1273, ptr noundef @.str.2, i32 noundef %1274, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 61, ptr noundef %1277, ptr noundef %1280, ptr noundef %1283, i32 noundef %1285) #8
  br label %1304

1287:                                             ; preds = %1265, %1258
  %1288 = load i32, ptr %31, align 4, !tbaa !5
  %1289 = call ptr @__errno_location() #9
  store i32 %1288, ptr %1289, align 4, !tbaa !5
  %1290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1291 = load i32, ptr @test_count, align 4, !tbaa !5
  %1292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1293 = load i32, ptr %1292, align 4, !tbaa !5
  %1294 = call ptr @s2n_strerror(i32 noundef %1293, ptr noundef @.str.4)
  %1295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1296 = load i32, ptr %1295, align 4, !tbaa !5
  %1297 = call ptr @s2n_strerror_debug(i32 noundef %1296, ptr noundef @.str.4)
  %1298 = call ptr @__errno_location() #9
  %1299 = load i32, ptr %1298, align 4, !tbaa !5
  %1300 = call ptr @strerror(i32 noundef %1299) #8
  %1301 = call ptr @__errno_location() #9
  %1302 = load i32, ptr %1301, align 4, !tbaa !5
  %1303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1290, ptr noundef @.str.5, i32 noundef %1291, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 61, ptr noundef %1294, ptr noundef %1297, ptr noundef %1300, i32 noundef %1302) #8
  br label %1304

1304:                                             ; preds = %1287, %1270
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #8
  br label %1305

1305:                                             ; preds = %1304
  br label %1306

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

1307:                                             ; No predecessors!
  br label %1308

1308:                                             ; preds = %1307
  br label %1309

1309:                                             ; preds = %1308, %1251
  br label %1310

1310:                                             ; preds = %1309
  br label %1311

1311:                                             ; preds = %1310
  br label %1312

1312:                                             ; preds = %1311
  %1313 = load i32, ptr @test_count, align 4, !tbaa !5
  %1314 = add nsw i32 %1313, 1
  store i32 %1314, ptr @test_count, align 4, !tbaa !5
  %1315 = load i8, ptr %30, align 1, !tbaa !19
  %1316 = zext i8 %1315 to i32
  %1317 = icmp eq i32 %1316, 1
  br i1 %1317, label %1371, label %1318

1318:                                             ; preds = %1312
  br label %1319

1319:                                             ; preds = %1318
  br label %1320

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

1327:                                             ; preds = %1320
  %1328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1329 = call i32 @fileno(ptr noundef %1328) #8
  %1330 = call i32 @isatty(i32 noundef %1329) #8
  %1331 = icmp ne i32 %1330, 0
  br i1 %1331, label %1332, label %1349

1332:                                             ; preds = %1327
  %1333 = load i32, ptr %32, align 4, !tbaa !5
  %1334 = call ptr @__errno_location() #9
  store i32 %1333, ptr %1334, align 4, !tbaa !5
  %1335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1336 = load i32, ptr @test_count, align 4, !tbaa !5
  %1337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1338 = load i32, ptr %1337, align 4, !tbaa !5
  %1339 = call ptr @s2n_strerror(i32 noundef %1338, ptr noundef @.str.4)
  %1340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1341 = load i32, ptr %1340, align 4, !tbaa !5
  %1342 = call ptr @s2n_strerror_debug(i32 noundef %1341, ptr noundef @.str.4)
  %1343 = call ptr @__errno_location() #9
  %1344 = load i32, ptr %1343, align 4, !tbaa !5
  %1345 = call ptr @strerror(i32 noundef %1344) #8
  %1346 = call ptr @__errno_location() #9
  %1347 = load i32, ptr %1346, align 4, !tbaa !5
  %1348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1335, ptr noundef @.str.2, i32 noundef %1336, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 62, ptr noundef %1339, ptr noundef %1342, ptr noundef %1345, i32 noundef %1347) #8
  br label %1366

1349:                                             ; preds = %1327, %1320
  %1350 = load i32, ptr %32, align 4, !tbaa !5
  %1351 = call ptr @__errno_location() #9
  store i32 %1350, ptr %1351, align 4, !tbaa !5
  %1352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1353 = load i32, ptr @test_count, align 4, !tbaa !5
  %1354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1355 = load i32, ptr %1354, align 4, !tbaa !5
  %1356 = call ptr @s2n_strerror(i32 noundef %1355, ptr noundef @.str.4)
  %1357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1358 = load i32, ptr %1357, align 4, !tbaa !5
  %1359 = call ptr @s2n_strerror_debug(i32 noundef %1358, ptr noundef @.str.4)
  %1360 = call ptr @__errno_location() #9
  %1361 = load i32, ptr %1360, align 4, !tbaa !5
  %1362 = call ptr @strerror(i32 noundef %1361) #8
  %1363 = call ptr @__errno_location() #9
  %1364 = load i32, ptr %1363, align 4, !tbaa !5
  %1365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1352, ptr noundef @.str.5, i32 noundef %1353, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 62, ptr noundef %1356, ptr noundef %1359, ptr noundef %1362, i32 noundef %1364) #8
  br label %1366

1366:                                             ; preds = %1349, %1332
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #8
  br label %1367

1367:                                             ; preds = %1366
  br label %1368

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

1369:                                             ; No predecessors!
  br label %1370

1370:                                             ; preds = %1369
  br label %1371

1371:                                             ; preds = %1370, %1312
  br label %1372

1372:                                             ; preds = %1371
  br label %1373

1373:                                             ; preds = %1372
  br label %1374

1374:                                             ; preds = %1373
  %1375 = load i32, ptr @test_count, align 4, !tbaa !5
  %1376 = add nsw i32 %1375, 1
  store i32 %1376, ptr @test_count, align 4, !tbaa !5
  %1377 = getelementptr inbounds %struct.s2n_stuffer, ptr %26, i32 0, i32 2
  %1378 = load i32, ptr %1377, align 4, !tbaa !20
  %1379 = getelementptr inbounds %struct.s2n_stuffer, ptr %26, i32 0, i32 1
  %1380 = load i32, ptr %1379, align 8, !tbaa !23
  %1381 = sub i32 %1378, %1380
  %1382 = icmp eq i32 %1381, 0
  br i1 %1382, label %1436, label %1383

1383:                                             ; preds = %1374
  br label %1384

1384:                                             ; preds = %1383
  br label %1385

1385:                                             ; preds = %1384
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #8
  %1386 = call ptr @__errno_location() #9
  %1387 = load i32, ptr %1386, align 4, !tbaa !5
  store i32 %1387, ptr %33, align 4, !tbaa !5
  %1388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1389 = call i32 @s2n_print_stacktrace(ptr noundef %1388)
  %1390 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1391 = trunc i8 %1390 to i1
  br i1 %1391, label %1392, label %1414

1392:                                             ; preds = %1385
  %1393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1394 = call i32 @fileno(ptr noundef %1393) #8
  %1395 = call i32 @isatty(i32 noundef %1394) #8
  %1396 = icmp ne i32 %1395, 0
  br i1 %1396, label %1397, label %1414

1397:                                             ; preds = %1392
  %1398 = load i32, ptr %33, align 4, !tbaa !5
  %1399 = call ptr @__errno_location() #9
  store i32 %1398, ptr %1399, align 4, !tbaa !5
  %1400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1401 = load i32, ptr @test_count, align 4, !tbaa !5
  %1402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1403 = load i32, ptr %1402, align 4, !tbaa !5
  %1404 = call ptr @s2n_strerror(i32 noundef %1403, ptr noundef @.str.4)
  %1405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1406 = load i32, ptr %1405, align 4, !tbaa !5
  %1407 = call ptr @s2n_strerror_debug(i32 noundef %1406, ptr noundef @.str.4)
  %1408 = call ptr @__errno_location() #9
  %1409 = load i32, ptr %1408, align 4, !tbaa !5
  %1410 = call ptr @strerror(i32 noundef %1409) #8
  %1411 = call ptr @__errno_location() #9
  %1412 = load i32, ptr %1411, align 4, !tbaa !5
  %1413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1400, ptr noundef @.str.2, i32 noundef %1401, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 63, ptr noundef %1404, ptr noundef %1407, ptr noundef %1410, i32 noundef %1412) #8
  br label %1431

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

1431:                                             ; preds = %1414, %1397
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #8
  br label %1432

1432:                                             ; preds = %1431
  br label %1433

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

1434:                                             ; No predecessors!
  br label %1435

1435:                                             ; preds = %1434
  br label %1436

1436:                                             ; preds = %1435, %1374
  br label %1437

1437:                                             ; preds = %1436
  br label %1438

1438:                                             ; preds = %1437
  br label %1439

1439:                                             ; preds = %1438
  %1440 = load i32, ptr @test_count, align 4, !tbaa !5
  %1441 = add nsw i32 %1440, 1
  store i32 %1441, ptr @test_count, align 4, !tbaa !5
  %1442 = call i32 @s2n_stuffer_free(ptr noundef %26)
  %1443 = icmp eq i32 %1442, -1
  br i1 %1443, label %1444, label %1497

1444:                                             ; preds = %1439
  br label %1445

1445:                                             ; preds = %1444
  br label %1446

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

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

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

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

1492:                                             ; preds = %1475, %1458
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #8
  br label %1493

1493:                                             ; preds = %1492
  br label %1494

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

1495:                                             ; No predecessors!
  br label %1496

1496:                                             ; preds = %1495
  br label %1497

1497:                                             ; preds = %1496, %1439
  br label %1498

1498:                                             ; preds = %1497
  br label %1499

1499:                                             ; preds = %1498
  br label %1500

1500:                                             ; preds = %1499
  %1501 = load i32, ptr @test_count, align 4, !tbaa !5
  %1502 = add nsw i32 %1501, 1
  store i32 %1502, ptr @test_count, align 4, !tbaa !5
  %1503 = load ptr, ptr %23, align 8, !tbaa !9
  %1504 = call i32 @s2n_connection_free(ptr noundef %1503)
  %1505 = icmp eq i32 %1504, -1
  br i1 %1505, label %1506, label %1559

1506:                                             ; preds = %1500
  br label %1507

1507:                                             ; preds = %1506
  br label %1508

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

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

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

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

1554:                                             ; preds = %1537, %1520
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #8
  br label %1555

1555:                                             ; preds = %1554
  br label %1556

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

1557:                                             ; No predecessors!
  br label %1558

1558:                                             ; preds = %1557
  br label %1559

1559:                                             ; preds = %1558, %1500
  br label %1560

1560:                                             ; preds = %1559
  br label %1561

1561:                                             ; preds = %1560
  br label %1562

1562:                                             ; preds = %1561
  %1563 = load i32, ptr @test_count, align 4, !tbaa !5
  %1564 = add nsw i32 %1563, 1
  store i32 %1564, ptr @test_count, align 4, !tbaa !5
  %1565 = load ptr, ptr %21, align 8, !tbaa !9
  %1566 = call i32 @s2n_config_free(ptr noundef %1565)
  %1567 = icmp eq i32 %1566, -1
  br i1 %1567, label %1568, label %1621

1568:                                             ; preds = %1562
  br label %1569

1569:                                             ; preds = %1568
  br label %1570

1570:                                             ; preds = %1569
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #8
  %1571 = call ptr @__errno_location() #9
  %1572 = load i32, ptr %1571, align 4, !tbaa !5
  store i32 %1572, ptr %36, align 4, !tbaa !5
  %1573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1574 = call i32 @s2n_print_stacktrace(ptr noundef %1573)
  %1575 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1576 = trunc i8 %1575 to i1
  br i1 %1576, label %1577, label %1599

1577:                                             ; preds = %1570
  %1578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1579 = call i32 @fileno(ptr noundef %1578) #8
  %1580 = call i32 @isatty(i32 noundef %1579) #8
  %1581 = icmp ne i32 %1580, 0
  br i1 %1581, label %1582, label %1599

1582:                                             ; preds = %1577
  %1583 = load i32, ptr %36, align 4, !tbaa !5
  %1584 = call ptr @__errno_location() #9
  store i32 %1583, ptr %1584, align 4, !tbaa !5
  %1585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1586 = load i32, ptr @test_count, align 4, !tbaa !5
  %1587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1588 = load i32, ptr %1587, align 4, !tbaa !5
  %1589 = call ptr @s2n_strerror(i32 noundef %1588, ptr noundef @.str.4)
  %1590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1591 = load i32, ptr %1590, align 4, !tbaa !5
  %1592 = call ptr @s2n_strerror_debug(i32 noundef %1591, ptr noundef @.str.4)
  %1593 = call ptr @__errno_location() #9
  %1594 = load i32, ptr %1593, align 4, !tbaa !5
  %1595 = call ptr @strerror(i32 noundef %1594) #8
  %1596 = call ptr @__errno_location() #9
  %1597 = load i32, ptr %1596, align 4, !tbaa !5
  %1598 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1585, ptr noundef @.str.2, i32 noundef %1586, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 67, ptr noundef %1589, ptr noundef %1592, ptr noundef %1595, i32 noundef %1597) #8
  br label %1616

1599:                                             ; preds = %1577, %1570
  %1600 = load i32, ptr %36, align 4, !tbaa !5
  %1601 = call ptr @__errno_location() #9
  store i32 %1600, ptr %1601, align 4, !tbaa !5
  %1602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1603 = load i32, ptr @test_count, align 4, !tbaa !5
  %1604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1605 = load i32, ptr %1604, align 4, !tbaa !5
  %1606 = call ptr @s2n_strerror(i32 noundef %1605, ptr noundef @.str.4)
  %1607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1608 = load i32, ptr %1607, align 4, !tbaa !5
  %1609 = call ptr @s2n_strerror_debug(i32 noundef %1608, ptr noundef @.str.4)
  %1610 = call ptr @__errno_location() #9
  %1611 = load i32, ptr %1610, align 4, !tbaa !5
  %1612 = call ptr @strerror(i32 noundef %1611) #8
  %1613 = call ptr @__errno_location() #9
  %1614 = load i32, ptr %1613, align 4, !tbaa !5
  %1615 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1602, ptr noundef @.str.5, i32 noundef %1603, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 67, ptr noundef %1606, ptr noundef %1609, ptr noundef %1612, i32 noundef %1614) #8
  br label %1616

1616:                                             ; preds = %1599, %1582
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #8
  br label %1617

1617:                                             ; preds = %1616
  br label %1618

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

1619:                                             ; No predecessors!
  br label %1620

1620:                                             ; preds = %1619
  br label %1621

1621:                                             ; preds = %1620, %1562
  br label %1622

1622:                                             ; preds = %1621
  br label %1623

1623:                                             ; preds = %1622
  call void @llvm.lifetime.end.p0(i64 1, ptr %30) #8
  call void @llvm.lifetime.end.p0(i64 40, ptr %26) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #8
  store ptr null, ptr %37, align 8, !tbaa !9
  br label %1624

1624:                                             ; preds = %1623
  %1625 = load i32, ptr @test_count, align 4, !tbaa !5
  %1626 = add nsw i32 %1625, 1
  store i32 %1626, ptr @test_count, align 4, !tbaa !5
  %1627 = call ptr @s2n_config_new()
  store ptr %1627, ptr %37, align 8, !tbaa !9
  %1628 = icmp eq ptr %1627, null
  br i1 %1628, label %1629, label %1682

1629:                                             ; preds = %1624
  br label %1630

1630:                                             ; preds = %1629
  br label %1631

1631:                                             ; preds = %1630
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #8
  %1632 = call ptr @__errno_location() #9
  %1633 = load i32, ptr %1632, align 4, !tbaa !5
  store i32 %1633, ptr %38, align 4, !tbaa !5
  %1634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1635 = call i32 @s2n_print_stacktrace(ptr noundef %1634)
  %1636 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1637 = trunc i8 %1636 to i1
  br i1 %1637, label %1638, label %1660

1638:                                             ; preds = %1631
  %1639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1640 = call i32 @fileno(ptr noundef %1639) #8
  %1641 = call i32 @isatty(i32 noundef %1640) #8
  %1642 = icmp ne i32 %1641, 0
  br i1 %1642, label %1643, label %1660

1643:                                             ; preds = %1638
  %1644 = load i32, ptr %38, align 4, !tbaa !5
  %1645 = call ptr @__errno_location() #9
  store i32 %1644, ptr %1645, align 4, !tbaa !5
  %1646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1647 = load i32, ptr @test_count, align 4, !tbaa !5
  %1648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1649 = load i32, ptr %1648, align 4, !tbaa !5
  %1650 = call ptr @s2n_strerror(i32 noundef %1649, ptr noundef @.str.4)
  %1651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1652 = load i32, ptr %1651, align 4, !tbaa !5
  %1653 = call ptr @s2n_strerror_debug(i32 noundef %1652, ptr noundef @.str.4)
  %1654 = call ptr @__errno_location() #9
  %1655 = load i32, ptr %1654, align 4, !tbaa !5
  %1656 = call ptr @strerror(i32 noundef %1655) #8
  %1657 = call ptr @__errno_location() #9
  %1658 = load i32, ptr %1657, align 4, !tbaa !5
  %1659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1646, ptr noundef @.str.2, i32 noundef %1647, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 73, ptr noundef %1650, ptr noundef %1653, ptr noundef %1656, i32 noundef %1658) #8
  br label %1677

1660:                                             ; preds = %1638, %1631
  %1661 = load i32, ptr %38, align 4, !tbaa !5
  %1662 = call ptr @__errno_location() #9
  store i32 %1661, ptr %1662, align 4, !tbaa !5
  %1663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1664 = load i32, ptr @test_count, align 4, !tbaa !5
  %1665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1666 = load i32, ptr %1665, align 4, !tbaa !5
  %1667 = call ptr @s2n_strerror(i32 noundef %1666, ptr noundef @.str.4)
  %1668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1669 = load i32, ptr %1668, align 4, !tbaa !5
  %1670 = call ptr @s2n_strerror_debug(i32 noundef %1669, ptr noundef @.str.4)
  %1671 = call ptr @__errno_location() #9
  %1672 = load i32, ptr %1671, align 4, !tbaa !5
  %1673 = call ptr @strerror(i32 noundef %1672) #8
  %1674 = call ptr @__errno_location() #9
  %1675 = load i32, ptr %1674, align 4, !tbaa !5
  %1676 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1663, ptr noundef @.str.5, i32 noundef %1664, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 73, ptr noundef %1667, ptr noundef %1670, ptr noundef %1673, i32 noundef %1675) #8
  br label %1677

1677:                                             ; preds = %1660, %1643
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #8
  br label %1678

1678:                                             ; preds = %1677
  br label %1679

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

1680:                                             ; No predecessors!
  br label %1681

1681:                                             ; preds = %1680
  br label %1682

1682:                                             ; preds = %1681, %1624
  br label %1683

1683:                                             ; preds = %1682
  br label %1684

1684:                                             ; preds = %1683
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #8
  store ptr null, ptr %39, align 8, !tbaa !9
  br label %1685

1685:                                             ; preds = %1684
  %1686 = load i32, ptr @test_count, align 4, !tbaa !5
  %1687 = add nsw i32 %1686, 1
  store i32 %1687, ptr @test_count, align 4, !tbaa !5
  %1688 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %1688, ptr %39, align 8, !tbaa !9
  %1689 = icmp eq ptr %1688, null
  br i1 %1689, label %1690, label %1743

1690:                                             ; preds = %1685
  br label %1691

1691:                                             ; preds = %1690
  br label %1692

1692:                                             ; preds = %1691
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #8
  %1693 = call ptr @__errno_location() #9
  %1694 = load i32, ptr %1693, align 4, !tbaa !5
  store i32 %1694, ptr %40, align 4, !tbaa !5
  %1695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1696 = call i32 @s2n_print_stacktrace(ptr noundef %1695)
  %1697 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1698 = trunc i8 %1697 to i1
  br i1 %1698, label %1699, label %1721

1699:                                             ; preds = %1692
  %1700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1701 = call i32 @fileno(ptr noundef %1700) #8
  %1702 = call i32 @isatty(i32 noundef %1701) #8
  %1703 = icmp ne i32 %1702, 0
  br i1 %1703, label %1704, label %1721

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

1721:                                             ; preds = %1699, %1692
  %1722 = load i32, ptr %40, align 4, !tbaa !5
  %1723 = call ptr @__errno_location() #9
  store i32 %1722, ptr %1723, align 4, !tbaa !5
  %1724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1725 = load i32, ptr @test_count, align 4, !tbaa !5
  %1726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1727 = load i32, ptr %1726, align 4, !tbaa !5
  %1728 = call ptr @s2n_strerror(i32 noundef %1727, ptr noundef @.str.4)
  %1729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1730 = load i32, ptr %1729, align 4, !tbaa !5
  %1731 = call ptr @s2n_strerror_debug(i32 noundef %1730, ptr noundef @.str.4)
  %1732 = call ptr @__errno_location() #9
  %1733 = load i32, ptr %1732, align 4, !tbaa !5
  %1734 = call ptr @strerror(i32 noundef %1733) #8
  %1735 = call ptr @__errno_location() #9
  %1736 = load i32, ptr %1735, align 4, !tbaa !5
  %1737 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1724, ptr noundef @.str.5, i32 noundef %1725, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 76, ptr noundef %1728, ptr noundef %1731, ptr noundef %1734, i32 noundef %1736) #8
  br label %1738

1738:                                             ; preds = %1721, %1704
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #8
  br label %1739

1739:                                             ; preds = %1738
  br label %1740

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

1741:                                             ; No predecessors!
  br label %1742

1742:                                             ; preds = %1741
  br label %1743

1743:                                             ; preds = %1742, %1685
  br label %1744

1744:                                             ; preds = %1743
  br label %1745

1745:                                             ; preds = %1744
  br label %1746

1746:                                             ; preds = %1745
  %1747 = load i32, ptr @test_count, align 4, !tbaa !5
  %1748 = add nsw i32 %1747, 1
  store i32 %1748, ptr @test_count, align 4, !tbaa !5
  %1749 = load ptr, ptr %39, align 8, !tbaa !9
  %1750 = load ptr, ptr %37, align 8, !tbaa !9
  %1751 = call i32 @s2n_connection_set_config(ptr noundef %1749, ptr noundef %1750)
  %1752 = icmp eq i32 %1751, -1
  br i1 %1752, label %1753, label %1806

1753:                                             ; preds = %1746
  br label %1754

1754:                                             ; preds = %1753
  br label %1755

1755:                                             ; preds = %1754
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #8
  %1756 = call ptr @__errno_location() #9
  %1757 = load i32, ptr %1756, align 4, !tbaa !5
  store i32 %1757, ptr %41, align 4, !tbaa !5
  %1758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1759 = call i32 @s2n_print_stacktrace(ptr noundef %1758)
  %1760 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1761 = trunc i8 %1760 to i1
  br i1 %1761, label %1762, label %1784

1762:                                             ; preds = %1755
  %1763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1764 = call i32 @fileno(ptr noundef %1763) #8
  %1765 = call i32 @isatty(i32 noundef %1764) #8
  %1766 = icmp ne i32 %1765, 0
  br i1 %1766, label %1767, label %1784

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

1784:                                             ; preds = %1762, %1755
  %1785 = load i32, ptr %41, align 4, !tbaa !5
  %1786 = call ptr @__errno_location() #9
  store i32 %1785, ptr %1786, align 4, !tbaa !5
  %1787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1788 = load i32, ptr @test_count, align 4, !tbaa !5
  %1789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1790 = load i32, ptr %1789, align 4, !tbaa !5
  %1791 = call ptr @s2n_strerror(i32 noundef %1790, ptr noundef @.str.4)
  %1792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1793 = load i32, ptr %1792, align 4, !tbaa !5
  %1794 = call ptr @s2n_strerror_debug(i32 noundef %1793, ptr noundef @.str.4)
  %1795 = call ptr @__errno_location() #9
  %1796 = load i32, ptr %1795, align 4, !tbaa !5
  %1797 = call ptr @strerror(i32 noundef %1796) #8
  %1798 = call ptr @__errno_location() #9
  %1799 = load i32, ptr %1798, align 4, !tbaa !5
  %1800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1787, ptr noundef @.str.5, i32 noundef %1788, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 77, ptr noundef %1791, ptr noundef %1794, ptr noundef %1797, i32 noundef %1799) #8
  br label %1801

1801:                                             ; preds = %1784, %1767
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #8
  br label %1802

1802:                                             ; preds = %1801
  br label %1803

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

1804:                                             ; No predecessors!
  br label %1805

1805:                                             ; preds = %1804
  br label %1806

1806:                                             ; preds = %1805, %1746
  br label %1807

1807:                                             ; preds = %1806
  br label %1808

1808:                                             ; preds = %1807
  call void @llvm.lifetime.start.p0(i64 40, ptr %42) #8
  call void @llvm.memset.p0.i64(ptr align 8 %42, i8 0, i64 40, i1 false)
  br label %1809

1809:                                             ; preds = %1808
  %1810 = load i32, ptr @test_count, align 4, !tbaa !5
  %1811 = add nsw i32 %1810, 1
  store i32 %1811, ptr @test_count, align 4, !tbaa !5
  %1812 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %42, i32 noundef 0)
  %1813 = icmp eq i32 %1812, -1
  br i1 %1813, label %1814, label %1867

1814:                                             ; preds = %1809
  br label %1815

1815:                                             ; preds = %1814
  br label %1816

1816:                                             ; preds = %1815
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #8
  %1817 = call ptr @__errno_location() #9
  %1818 = load i32, ptr %1817, align 4, !tbaa !5
  store i32 %1818, ptr %43, align 4, !tbaa !5
  %1819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1820 = call i32 @s2n_print_stacktrace(ptr noundef %1819)
  %1821 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1822 = trunc i8 %1821 to i1
  br i1 %1822, label %1823, label %1845

1823:                                             ; preds = %1816
  %1824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1825 = call i32 @fileno(ptr noundef %1824) #8
  %1826 = call i32 @isatty(i32 noundef %1825) #8
  %1827 = icmp ne i32 %1826, 0
  br i1 %1827, label %1828, label %1845

1828:                                             ; preds = %1823
  %1829 = load i32, ptr %43, align 4, !tbaa !5
  %1830 = call ptr @__errno_location() #9
  store i32 %1829, ptr %1830, align 4, !tbaa !5
  %1831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1832 = load i32, ptr @test_count, align 4, !tbaa !5
  %1833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1834 = load i32, ptr %1833, align 4, !tbaa !5
  %1835 = call ptr @s2n_strerror(i32 noundef %1834, ptr noundef @.str.4)
  %1836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1837 = load i32, ptr %1836, align 4, !tbaa !5
  %1838 = call ptr @s2n_strerror_debug(i32 noundef %1837, ptr noundef @.str.4)
  %1839 = call ptr @__errno_location() #9
  %1840 = load i32, ptr %1839, align 4, !tbaa !5
  %1841 = call ptr @strerror(i32 noundef %1840) #8
  %1842 = call ptr @__errno_location() #9
  %1843 = load i32, ptr %1842, align 4, !tbaa !5
  %1844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1831, ptr noundef @.str.2, i32 noundef %1832, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 80, ptr noundef %1835, ptr noundef %1838, ptr noundef %1841, i32 noundef %1843) #8
  br label %1862

1845:                                             ; preds = %1823, %1816
  %1846 = load i32, ptr %43, align 4, !tbaa !5
  %1847 = call ptr @__errno_location() #9
  store i32 %1846, ptr %1847, align 4, !tbaa !5
  %1848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1849 = load i32, ptr @test_count, align 4, !tbaa !5
  %1850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1851 = load i32, ptr %1850, align 4, !tbaa !5
  %1852 = call ptr @s2n_strerror(i32 noundef %1851, ptr noundef @.str.4)
  %1853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1854 = load i32, ptr %1853, align 4, !tbaa !5
  %1855 = call ptr @s2n_strerror_debug(i32 noundef %1854, ptr noundef @.str.4)
  %1856 = call ptr @__errno_location() #9
  %1857 = load i32, ptr %1856, align 4, !tbaa !5
  %1858 = call ptr @strerror(i32 noundef %1857) #8
  %1859 = call ptr @__errno_location() #9
  %1860 = load i32, ptr %1859, align 4, !tbaa !5
  %1861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1848, ptr noundef @.str.5, i32 noundef %1849, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 80, ptr noundef %1852, ptr noundef %1855, ptr noundef %1858, i32 noundef %1860) #8
  br label %1862

1862:                                             ; preds = %1845, %1828
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #8
  br label %1863

1863:                                             ; preds = %1862
  br label %1864

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

1865:                                             ; No predecessors!
  br label %1866

1866:                                             ; preds = %1865
  br label %1867

1867:                                             ; preds = %1866, %1809
  br label %1868

1868:                                             ; preds = %1867
  br label %1869

1869:                                             ; preds = %1868
  br label %1870

1870:                                             ; preds = %1869
  %1871 = load i32, ptr @test_count, align 4, !tbaa !5
  %1872 = add nsw i32 %1871, 1
  store i32 %1872, ptr @test_count, align 4, !tbaa !5
  %1873 = load ptr, ptr %37, align 8, !tbaa !9
  %1874 = call i32 @s2n_config_send_max_fragment_length(ptr noundef %1873, i32 noundef 1)
  %1875 = icmp eq i32 %1874, -1
  br i1 %1875, label %1876, label %1929

1876:                                             ; preds = %1870
  br label %1877

1877:                                             ; preds = %1876
  br label %1878

1878:                                             ; preds = %1877
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #8
  %1879 = call ptr @__errno_location() #9
  %1880 = load i32, ptr %1879, align 4, !tbaa !5
  store i32 %1880, ptr %44, align 4, !tbaa !5
  %1881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1882 = call i32 @s2n_print_stacktrace(ptr noundef %1881)
  %1883 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1884 = trunc i8 %1883 to i1
  br i1 %1884, label %1885, label %1907

1885:                                             ; preds = %1878
  %1886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1887 = call i32 @fileno(ptr noundef %1886) #8
  %1888 = call i32 @isatty(i32 noundef %1887) #8
  %1889 = icmp ne i32 %1888, 0
  br i1 %1889, label %1890, label %1907

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

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

1924:                                             ; preds = %1907, %1890
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #8
  br label %1925

1925:                                             ; preds = %1924
  br label %1926

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

1927:                                             ; No predecessors!
  br label %1928

1928:                                             ; preds = %1927
  br label %1929

1929:                                             ; preds = %1928, %1870
  br label %1930

1930:                                             ; preds = %1929
  br label %1931

1931:                                             ; preds = %1930
  br label %1932

1932:                                             ; preds = %1931
  %1933 = load i32, ptr @test_count, align 4, !tbaa !5
  %1934 = add nsw i32 %1933, 1
  store i32 %1934, ptr @test_count, align 4, !tbaa !5
  %1935 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_max_frag_len_extension, i32 0, i32 3), align 8, !tbaa !18
  %1936 = load ptr, ptr %39, align 8, !tbaa !9
  %1937 = call i32 %1935(ptr noundef %1936, ptr noundef %42)
  %1938 = icmp eq i32 %1937, -1
  br i1 %1938, label %1939, label %1992

1939:                                             ; preds = %1932
  br label %1940

1940:                                             ; preds = %1939
  br label %1941

1941:                                             ; preds = %1940
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #8
  %1942 = call ptr @__errno_location() #9
  %1943 = load i32, ptr %1942, align 4, !tbaa !5
  store i32 %1943, ptr %45, align 4, !tbaa !5
  %1944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1945 = call i32 @s2n_print_stacktrace(ptr noundef %1944)
  %1946 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1947 = trunc i8 %1946 to i1
  br i1 %1947, label %1948, label %1970

1948:                                             ; preds = %1941
  %1949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1950 = call i32 @fileno(ptr noundef %1949) #8
  %1951 = call i32 @isatty(i32 noundef %1950) #8
  %1952 = icmp ne i32 %1951, 0
  br i1 %1952, label %1953, label %1970

1953:                                             ; preds = %1948
  %1954 = load i32, ptr %45, align 4, !tbaa !5
  %1955 = call ptr @__errno_location() #9
  store i32 %1954, ptr %1955, align 4, !tbaa !5
  %1956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1957 = load i32, ptr @test_count, align 4, !tbaa !5
  %1958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1959 = load i32, ptr %1958, align 4, !tbaa !5
  %1960 = call ptr @s2n_strerror(i32 noundef %1959, ptr noundef @.str.4)
  %1961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1962 = load i32, ptr %1961, align 4, !tbaa !5
  %1963 = call ptr @s2n_strerror_debug(i32 noundef %1962, ptr noundef @.str.4)
  %1964 = call ptr @__errno_location() #9
  %1965 = load i32, ptr %1964, align 4, !tbaa !5
  %1966 = call ptr @strerror(i32 noundef %1965) #8
  %1967 = call ptr @__errno_location() #9
  %1968 = load i32, ptr %1967, align 4, !tbaa !5
  %1969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1956, ptr noundef @.str.2, i32 noundef %1957, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 83, ptr noundef %1960, ptr noundef %1963, ptr noundef %1966, i32 noundef %1968) #8
  br label %1987

1970:                                             ; preds = %1948, %1941
  %1971 = load i32, ptr %45, align 4, !tbaa !5
  %1972 = call ptr @__errno_location() #9
  store i32 %1971, ptr %1972, align 4, !tbaa !5
  %1973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1974 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1976, ptr noundef @.str.4)
  %1978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1979 = load i32, ptr %1978, align 4, !tbaa !5
  %1980 = call ptr @s2n_strerror_debug(i32 noundef %1979, ptr noundef @.str.4)
  %1981 = call ptr @__errno_location() #9
  %1982 = load i32, ptr %1981, align 4, !tbaa !5
  %1983 = call ptr @strerror(i32 noundef %1982) #8
  %1984 = call ptr @__errno_location() #9
  %1985 = load i32, ptr %1984, align 4, !tbaa !5
  %1986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1973, ptr noundef @.str.5, i32 noundef %1974, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 83, ptr noundef %1977, ptr noundef %1980, ptr noundef %1983, i32 noundef %1985) #8
  br label %1987

1987:                                             ; preds = %1970, %1953
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #8
  br label %1988

1988:                                             ; preds = %1987
  br label %1989

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

1990:                                             ; No predecessors!
  br label %1991

1991:                                             ; preds = %1990
  br label %1992

1992:                                             ; preds = %1991, %1932
  br label %1993

1993:                                             ; preds = %1992
  br label %1994

1994:                                             ; preds = %1993
  br label %1995

1995:                                             ; preds = %1994
  %1996 = load i32, ptr @test_count, align 4, !tbaa !5
  %1997 = add nsw i32 %1996, 1
  store i32 %1997, ptr @test_count, align 4, !tbaa !5
  %1998 = load ptr, ptr %37, align 8, !tbaa !9
  %1999 = load i32, ptr %1998, align 8
  %2000 = lshr i32 %1999, 4
  %2001 = and i32 %2000, 1
  %2002 = icmp ne i32 %2001, 0
  br i1 %2002, label %2003, label %2056

2003:                                             ; preds = %1995
  br label %2004

2004:                                             ; preds = %2003
  br label %2005

2005:                                             ; preds = %2004
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #8
  %2006 = call ptr @__errno_location() #9
  %2007 = load i32, ptr %2006, align 4, !tbaa !5
  store i32 %2007, ptr %46, align 4, !tbaa !5
  %2008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2009 = call i32 @s2n_print_stacktrace(ptr noundef %2008)
  %2010 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2011 = trunc i8 %2010 to i1
  br i1 %2011, label %2012, label %2034

2012:                                             ; preds = %2005
  %2013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2014 = call i32 @fileno(ptr noundef %2013) #8
  %2015 = call i32 @isatty(i32 noundef %2014) #8
  %2016 = icmp ne i32 %2015, 0
  br i1 %2016, label %2017, label %2034

2017:                                             ; preds = %2012
  %2018 = load i32, ptr %46, align 4, !tbaa !5
  %2019 = call ptr @__errno_location() #9
  store i32 %2018, ptr %2019, align 4, !tbaa !5
  %2020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2021 = load i32, ptr @test_count, align 4, !tbaa !5
  %2022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2023 = load i32, ptr %2022, align 4, !tbaa !5
  %2024 = call ptr @s2n_strerror(i32 noundef %2023, ptr noundef @.str.4)
  %2025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2026 = load i32, ptr %2025, align 4, !tbaa !5
  %2027 = call ptr @s2n_strerror_debug(i32 noundef %2026, ptr noundef @.str.4)
  %2028 = call ptr @__errno_location() #9
  %2029 = load i32, ptr %2028, align 4, !tbaa !5
  %2030 = call ptr @strerror(i32 noundef %2029) #8
  %2031 = call ptr @__errno_location() #9
  %2032 = load i32, ptr %2031, align 4, !tbaa !5
  %2033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2020, ptr noundef @.str.2, i32 noundef %2021, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 86, ptr noundef %2024, ptr noundef %2027, ptr noundef %2030, i32 noundef %2032) #8
  br label %2051

2034:                                             ; preds = %2012, %2005
  %2035 = load i32, ptr %46, align 4, !tbaa !5
  %2036 = call ptr @__errno_location() #9
  store i32 %2035, ptr %2036, align 4, !tbaa !5
  %2037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2038 = load i32, ptr @test_count, align 4, !tbaa !5
  %2039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2040 = load i32, ptr %2039, align 4, !tbaa !5
  %2041 = call ptr @s2n_strerror(i32 noundef %2040, ptr noundef @.str.4)
  %2042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2043 = load i32, ptr %2042, align 4, !tbaa !5
  %2044 = call ptr @s2n_strerror_debug(i32 noundef %2043, ptr noundef @.str.4)
  %2045 = call ptr @__errno_location() #9
  %2046 = load i32, ptr %2045, align 4, !tbaa !5
  %2047 = call ptr @strerror(i32 noundef %2046) #8
  %2048 = call ptr @__errno_location() #9
  %2049 = load i32, ptr %2048, align 4, !tbaa !5
  %2050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2037, ptr noundef @.str.5, i32 noundef %2038, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 86, ptr noundef %2041, ptr noundef %2044, ptr noundef %2047, i32 noundef %2049) #8
  br label %2051

2051:                                             ; preds = %2034, %2017
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #8
  br label %2052

2052:                                             ; preds = %2051
  br label %2053

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

2054:                                             ; No predecessors!
  br label %2055

2055:                                             ; preds = %2054
  br label %2056

2056:                                             ; preds = %2055, %1995
  br label %2057

2057:                                             ; preds = %2056
  br label %2058

2058:                                             ; preds = %2057
  br label %2059

2059:                                             ; preds = %2058
  %2060 = load i32, ptr @test_count, align 4, !tbaa !5
  %2061 = add nsw i32 %2060, 1
  store i32 %2061, ptr @test_count, align 4, !tbaa !5
  %2062 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_max_frag_len_extension, i32 0, i32 4), align 8, !tbaa !24
  %2063 = load ptr, ptr %39, align 8, !tbaa !9
  %2064 = call i32 %2062(ptr noundef %2063, ptr noundef %42)
  %2065 = icmp eq i32 %2064, -1
  br i1 %2065, label %2066, label %2119

2066:                                             ; preds = %2059
  br label %2067

2067:                                             ; preds = %2066
  br label %2068

2068:                                             ; preds = %2067
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #8
  %2069 = call ptr @__errno_location() #9
  %2070 = load i32, ptr %2069, align 4, !tbaa !5
  store i32 %2070, ptr %47, align 4, !tbaa !5
  %2071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2072 = call i32 @s2n_print_stacktrace(ptr noundef %2071)
  %2073 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2074 = trunc i8 %2073 to i1
  br i1 %2074, label %2075, label %2097

2075:                                             ; preds = %2068
  %2076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2077 = call i32 @fileno(ptr noundef %2076) #8
  %2078 = call i32 @isatty(i32 noundef %2077) #8
  %2079 = icmp ne i32 %2078, 0
  br i1 %2079, label %2080, label %2097

2080:                                             ; preds = %2075
  %2081 = load i32, ptr %47, align 4, !tbaa !5
  %2082 = call ptr @__errno_location() #9
  store i32 %2081, ptr %2082, align 4, !tbaa !5
  %2083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2084 = load i32, ptr @test_count, align 4, !tbaa !5
  %2085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2086 = load i32, ptr %2085, align 4, !tbaa !5
  %2087 = call ptr @s2n_strerror(i32 noundef %2086, ptr noundef @.str.4)
  %2088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2089 = load i32, ptr %2088, align 4, !tbaa !5
  %2090 = call ptr @s2n_strerror_debug(i32 noundef %2089, ptr noundef @.str.4)
  %2091 = call ptr @__errno_location() #9
  %2092 = load i32, ptr %2091, align 4, !tbaa !5
  %2093 = call ptr @strerror(i32 noundef %2092) #8
  %2094 = call ptr @__errno_location() #9
  %2095 = load i32, ptr %2094, align 4, !tbaa !5
  %2096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2083, ptr noundef @.str.2, i32 noundef %2084, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 87, ptr noundef %2087, ptr noundef %2090, ptr noundef %2093, i32 noundef %2095) #8
  br label %2114

2097:                                             ; preds = %2075, %2068
  %2098 = load i32, ptr %47, align 4, !tbaa !5
  %2099 = call ptr @__errno_location() #9
  store i32 %2098, ptr %2099, align 4, !tbaa !5
  %2100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2101 = load i32, ptr @test_count, align 4, !tbaa !5
  %2102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2103 = load i32, ptr %2102, align 4, !tbaa !5
  %2104 = call ptr @s2n_strerror(i32 noundef %2103, ptr noundef @.str.4)
  %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_debug(i32 noundef %2106, ptr noundef @.str.4)
  %2108 = call ptr @__errno_location() #9
  %2109 = load i32, ptr %2108, align 4, !tbaa !5
  %2110 = call ptr @strerror(i32 noundef %2109) #8
  %2111 = call ptr @__errno_location() #9
  %2112 = load i32, ptr %2111, align 4, !tbaa !5
  %2113 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2100, ptr noundef @.str.5, i32 noundef %2101, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 87, ptr noundef %2104, ptr noundef %2107, ptr noundef %2110, i32 noundef %2112) #8
  br label %2114

2114:                                             ; preds = %2097, %2080
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #8
  br label %2115

2115:                                             ; preds = %2114
  br label %2116

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

2117:                                             ; No predecessors!
  br label %2118

2118:                                             ; preds = %2117
  br label %2119

2119:                                             ; preds = %2118, %2059
  br label %2120

2120:                                             ; preds = %2119
  br label %2121

2121:                                             ; preds = %2120
  br label %2122

2122:                                             ; preds = %2121
  %2123 = load i32, ptr @test_count, align 4, !tbaa !5
  %2124 = add nsw i32 %2123, 1
  store i32 %2124, ptr @test_count, align 4, !tbaa !5
  %2125 = load ptr, ptr %39, align 8, !tbaa !9
  %2126 = getelementptr inbounds %struct.s2n_connection, ptr %2125, i32 0, i32 57
  %2127 = load i8, ptr %2126, align 8, !tbaa !25
  %2128 = zext i8 %2127 to i32
  %2129 = icmp eq i32 %2128, 0
  br i1 %2129, label %2183, label %2130

2130:                                             ; preds = %2122
  br label %2131

2131:                                             ; preds = %2130
  br label %2132

2132:                                             ; preds = %2131
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #8
  %2133 = call ptr @__errno_location() #9
  %2134 = load i32, ptr %2133, align 4, !tbaa !5
  store i32 %2134, ptr %48, align 4, !tbaa !5
  %2135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2136 = call i32 @s2n_print_stacktrace(ptr noundef %2135)
  %2137 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2138 = trunc i8 %2137 to i1
  br i1 %2138, label %2139, label %2161

2139:                                             ; preds = %2132
  %2140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2141 = call i32 @fileno(ptr noundef %2140) #8
  %2142 = call i32 @isatty(i32 noundef %2141) #8
  %2143 = icmp ne i32 %2142, 0
  br i1 %2143, label %2144, label %2161

2144:                                             ; preds = %2139
  %2145 = load i32, ptr %48, align 4, !tbaa !5
  %2146 = call ptr @__errno_location() #9
  store i32 %2145, ptr %2146, align 4, !tbaa !5
  %2147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2148 = load i32, ptr @test_count, align 4, !tbaa !5
  %2149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2150 = load i32, ptr %2149, align 4, !tbaa !5
  %2151 = call ptr @s2n_strerror(i32 noundef %2150, ptr noundef @.str.4)
  %2152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2153 = load i32, ptr %2152, align 4, !tbaa !5
  %2154 = call ptr @s2n_strerror_debug(i32 noundef %2153, ptr noundef @.str.4)
  %2155 = call ptr @__errno_location() #9
  %2156 = load i32, ptr %2155, align 4, !tbaa !5
  %2157 = call ptr @strerror(i32 noundef %2156) #8
  %2158 = call ptr @__errno_location() #9
  %2159 = load i32, ptr %2158, align 4, !tbaa !5
  %2160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2147, ptr noundef @.str.2, i32 noundef %2148, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 88, ptr noundef %2151, ptr noundef %2154, ptr noundef %2157, i32 noundef %2159) #8
  br label %2178

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

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

2179:                                             ; preds = %2178
  br label %2180

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

2181:                                             ; No predecessors!
  br label %2182

2182:                                             ; preds = %2181
  br label %2183

2183:                                             ; preds = %2182, %2122
  br label %2184

2184:                                             ; preds = %2183
  br label %2185

2185:                                             ; preds = %2184
  br label %2186

2186:                                             ; preds = %2185
  %2187 = load i32, ptr @test_count, align 4, !tbaa !5
  %2188 = add nsw i32 %2187, 1
  store i32 %2188, ptr @test_count, align 4, !tbaa !5
  %2189 = load ptr, ptr %39, align 8, !tbaa !9
  %2190 = getelementptr inbounds %struct.s2n_connection, ptr %2189, i32 0, i32 53
  %2191 = load i16, ptr %2190, align 8, !tbaa !49
  %2192 = zext i16 %2191 to i32
  %2193 = icmp eq i32 %2192, 8087
  br i1 %2193, label %2247, label %2194

2194:                                             ; preds = %2186
  br label %2195

2195:                                             ; preds = %2194
  br label %2196

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

2203:                                             ; preds = %2196
  %2204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2205 = call i32 @fileno(ptr noundef %2204) #8
  %2206 = call i32 @isatty(i32 noundef %2205) #8
  %2207 = icmp ne i32 %2206, 0
  br i1 %2207, label %2208, label %2225

2208:                                             ; preds = %2203
  %2209 = load i32, ptr %49, align 4, !tbaa !5
  %2210 = call ptr @__errno_location() #9
  store i32 %2209, ptr %2210, align 4, !tbaa !5
  %2211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2212 = load i32, ptr @test_count, align 4, !tbaa !5
  %2213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2214 = load i32, ptr %2213, align 4, !tbaa !5
  %2215 = call ptr @s2n_strerror(i32 noundef %2214, ptr noundef @.str.4)
  %2216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2217 = load i32, ptr %2216, align 4, !tbaa !5
  %2218 = call ptr @s2n_strerror_debug(i32 noundef %2217, ptr noundef @.str.4)
  %2219 = call ptr @__errno_location() #9
  %2220 = load i32, ptr %2219, align 4, !tbaa !5
  %2221 = call ptr @strerror(i32 noundef %2220) #8
  %2222 = call ptr @__errno_location() #9
  %2223 = load i32, ptr %2222, align 4, !tbaa !5
  %2224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2211, ptr noundef @.str.2, i32 noundef %2212, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 89, ptr noundef %2215, ptr noundef %2218, ptr noundef %2221, i32 noundef %2223) #8
  br label %2242

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

2242:                                             ; preds = %2225, %2208
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #8
  br label %2243

2243:                                             ; preds = %2242
  br label %2244

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

2245:                                             ; No predecessors!
  br label %2246

2246:                                             ; preds = %2245
  br label %2247

2247:                                             ; preds = %2246, %2186
  br label %2248

2248:                                             ; preds = %2247
  br label %2249

2249:                                             ; preds = %2248
  br label %2250

2250:                                             ; preds = %2249
  %2251 = load i32, ptr @test_count, align 4, !tbaa !5
  %2252 = add nsw i32 %2251, 1
  store i32 %2252, ptr @test_count, align 4, !tbaa !5
  %2253 = call i32 @s2n_stuffer_free(ptr noundef %42)
  %2254 = icmp eq i32 %2253, -1
  br i1 %2254, label %2255, label %2308

2255:                                             ; preds = %2250
  br label %2256

2256:                                             ; preds = %2255
  br label %2257

2257:                                             ; preds = %2256
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #8
  %2258 = call ptr @__errno_location() #9
  %2259 = load i32, ptr %2258, align 4, !tbaa !5
  store i32 %2259, ptr %50, align 4, !tbaa !5
  %2260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2261 = call i32 @s2n_print_stacktrace(ptr noundef %2260)
  %2262 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2263 = trunc i8 %2262 to i1
  br i1 %2263, label %2264, label %2286

2264:                                             ; preds = %2257
  %2265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2266 = call i32 @fileno(ptr noundef %2265) #8
  %2267 = call i32 @isatty(i32 noundef %2266) #8
  %2268 = icmp ne i32 %2267, 0
  br i1 %2268, label %2269, label %2286

2269:                                             ; preds = %2264
  %2270 = load i32, ptr %50, align 4, !tbaa !5
  %2271 = call ptr @__errno_location() #9
  store i32 %2270, ptr %2271, align 4, !tbaa !5
  %2272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2273 = load i32, ptr @test_count, align 4, !tbaa !5
  %2274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2275 = load i32, ptr %2274, align 4, !tbaa !5
  %2276 = call ptr @s2n_strerror(i32 noundef %2275, ptr noundef @.str.4)
  %2277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2278 = load i32, ptr %2277, align 4, !tbaa !5
  %2279 = call ptr @s2n_strerror_debug(i32 noundef %2278, ptr noundef @.str.4)
  %2280 = call ptr @__errno_location() #9
  %2281 = load i32, ptr %2280, align 4, !tbaa !5
  %2282 = call ptr @strerror(i32 noundef %2281) #8
  %2283 = call ptr @__errno_location() #9
  %2284 = load i32, ptr %2283, align 4, !tbaa !5
  %2285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2272, ptr noundef @.str.2, i32 noundef %2273, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 91, ptr noundef %2276, ptr noundef %2279, ptr noundef %2282, i32 noundef %2284) #8
  br label %2303

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

2303:                                             ; preds = %2286, %2269
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #8
  br label %2304

2304:                                             ; preds = %2303
  br label %2305

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

2306:                                             ; No predecessors!
  br label %2307

2307:                                             ; preds = %2306
  br label %2308

2308:                                             ; preds = %2307, %2250
  br label %2309

2309:                                             ; preds = %2308
  br label %2310

2310:                                             ; preds = %2309
  br label %2311

2311:                                             ; preds = %2310
  %2312 = load i32, ptr @test_count, align 4, !tbaa !5
  %2313 = add nsw i32 %2312, 1
  store i32 %2313, ptr @test_count, align 4, !tbaa !5
  %2314 = load ptr, ptr %39, align 8, !tbaa !9
  %2315 = call i32 @s2n_connection_free(ptr noundef %2314)
  %2316 = icmp eq i32 %2315, -1
  br i1 %2316, label %2317, label %2370

2317:                                             ; preds = %2311
  br label %2318

2318:                                             ; preds = %2317
  br label %2319

2319:                                             ; preds = %2318
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #8
  %2320 = call ptr @__errno_location() #9
  %2321 = load i32, ptr %2320, align 4, !tbaa !5
  store i32 %2321, ptr %51, align 4, !tbaa !5
  %2322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2323 = call i32 @s2n_print_stacktrace(ptr noundef %2322)
  %2324 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2325 = trunc i8 %2324 to i1
  br i1 %2325, label %2326, label %2348

2326:                                             ; preds = %2319
  %2327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2328 = call i32 @fileno(ptr noundef %2327) #8
  %2329 = call i32 @isatty(i32 noundef %2328) #8
  %2330 = icmp ne i32 %2329, 0
  br i1 %2330, label %2331, label %2348

2331:                                             ; preds = %2326
  %2332 = load i32, ptr %51, align 4, !tbaa !5
  %2333 = call ptr @__errno_location() #9
  store i32 %2332, ptr %2333, align 4, !tbaa !5
  %2334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2335 = load i32, ptr @test_count, align 4, !tbaa !5
  %2336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2337 = load i32, ptr %2336, align 4, !tbaa !5
  %2338 = call ptr @s2n_strerror(i32 noundef %2337, ptr noundef @.str.4)
  %2339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2340 = load i32, ptr %2339, align 4, !tbaa !5
  %2341 = call ptr @s2n_strerror_debug(i32 noundef %2340, ptr noundef @.str.4)
  %2342 = call ptr @__errno_location() #9
  %2343 = load i32, ptr %2342, align 4, !tbaa !5
  %2344 = call ptr @strerror(i32 noundef %2343) #8
  %2345 = call ptr @__errno_location() #9
  %2346 = load i32, ptr %2345, align 4, !tbaa !5
  %2347 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2334, ptr noundef @.str.2, i32 noundef %2335, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 92, ptr noundef %2338, ptr noundef %2341, ptr noundef %2344, i32 noundef %2346) #8
  br label %2365

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

2365:                                             ; preds = %2348, %2331
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #8
  br label %2366

2366:                                             ; preds = %2365
  br label %2367

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

2368:                                             ; No predecessors!
  br label %2369

2369:                                             ; preds = %2368
  br label %2370

2370:                                             ; preds = %2369, %2311
  br label %2371

2371:                                             ; preds = %2370
  br label %2372

2372:                                             ; preds = %2371
  br label %2373

2373:                                             ; preds = %2372
  %2374 = load i32, ptr @test_count, align 4, !tbaa !5
  %2375 = add nsw i32 %2374, 1
  store i32 %2375, ptr @test_count, align 4, !tbaa !5
  %2376 = load ptr, ptr %37, align 8, !tbaa !9
  %2377 = call i32 @s2n_config_free(ptr noundef %2376)
  %2378 = icmp eq i32 %2377, -1
  br i1 %2378, label %2379, label %2432

2379:                                             ; preds = %2373
  br label %2380

2380:                                             ; preds = %2379
  br label %2381

2381:                                             ; preds = %2380
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #8
  %2382 = call ptr @__errno_location() #9
  %2383 = load i32, ptr %2382, align 4, !tbaa !5
  store i32 %2383, ptr %52, align 4, !tbaa !5
  %2384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2385 = call i32 @s2n_print_stacktrace(ptr noundef %2384)
  %2386 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2387 = trunc i8 %2386 to i1
  br i1 %2387, label %2388, label %2410

2388:                                             ; preds = %2381
  %2389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2390 = call i32 @fileno(ptr noundef %2389) #8
  %2391 = call i32 @isatty(i32 noundef %2390) #8
  %2392 = icmp ne i32 %2391, 0
  br i1 %2392, label %2393, label %2410

2393:                                             ; preds = %2388
  %2394 = load i32, ptr %52, align 4, !tbaa !5
  %2395 = call ptr @__errno_location() #9
  store i32 %2394, ptr %2395, align 4, !tbaa !5
  %2396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2397 = load i32, ptr @test_count, align 4, !tbaa !5
  %2398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2399 = load i32, ptr %2398, align 4, !tbaa !5
  %2400 = call ptr @s2n_strerror(i32 noundef %2399, ptr noundef @.str.4)
  %2401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2402 = load i32, ptr %2401, align 4, !tbaa !5
  %2403 = call ptr @s2n_strerror_debug(i32 noundef %2402, ptr noundef @.str.4)
  %2404 = call ptr @__errno_location() #9
  %2405 = load i32, ptr %2404, align 4, !tbaa !5
  %2406 = call ptr @strerror(i32 noundef %2405) #8
  %2407 = call ptr @__errno_location() #9
  %2408 = load i32, ptr %2407, align 4, !tbaa !5
  %2409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2396, ptr noundef @.str.2, i32 noundef %2397, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 93, ptr noundef %2400, ptr noundef %2403, ptr noundef %2406, i32 noundef %2408) #8
  br label %2427

2410:                                             ; preds = %2388, %2381
  %2411 = load i32, ptr %52, align 4, !tbaa !5
  %2412 = call ptr @__errno_location() #9
  store i32 %2411, ptr %2412, align 4, !tbaa !5
  %2413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2414 = load i32, ptr @test_count, align 4, !tbaa !5
  %2415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2416 = load i32, ptr %2415, align 4, !tbaa !5
  %2417 = call ptr @s2n_strerror(i32 noundef %2416, ptr noundef @.str.4)
  %2418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2419 = load i32, ptr %2418, align 4, !tbaa !5
  %2420 = call ptr @s2n_strerror_debug(i32 noundef %2419, ptr noundef @.str.4)
  %2421 = call ptr @__errno_location() #9
  %2422 = load i32, ptr %2421, align 4, !tbaa !5
  %2423 = call ptr @strerror(i32 noundef %2422) #8
  %2424 = call ptr @__errno_location() #9
  %2425 = load i32, ptr %2424, align 4, !tbaa !5
  %2426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2413, ptr noundef @.str.5, i32 noundef %2414, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 93, ptr noundef %2417, ptr noundef %2420, ptr noundef %2423, i32 noundef %2425) #8
  br label %2427

2427:                                             ; preds = %2410, %2393
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #8
  br label %2428

2428:                                             ; preds = %2427
  br label %2429

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

2430:                                             ; No predecessors!
  br label %2431

2431:                                             ; preds = %2430
  br label %2432

2432:                                             ; preds = %2431, %2373
  br label %2433

2433:                                             ; preds = %2432
  br label %2434

2434:                                             ; preds = %2433
  call void @llvm.lifetime.end.p0(i64 40, ptr %42) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %53) #8
  store ptr null, ptr %53, align 8, !tbaa !9
  br label %2435

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

2440:                                             ; preds = %2435
  br label %2441

2441:                                             ; preds = %2440
  br label %2442

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

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

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

2471:                                             ; preds = %2449, %2442
  %2472 = load i32, ptr %54, 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.5, i32 noundef %2475, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 106, ptr noundef %2478, ptr noundef %2481, ptr noundef %2484, i32 noundef %2486) #8
  br label %2488

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

2489:                                             ; preds = %2488
  br label %2490

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

2491:                                             ; No predecessors!
  br label %2492

2492:                                             ; preds = %2491
  br label %2493

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

2494:                                             ; preds = %2493
  br label %2495

2495:                                             ; preds = %2494
  br label %2496

2496:                                             ; preds = %2495
  %2497 = load i32, ptr @test_count, align 4, !tbaa !5
  %2498 = add nsw i32 %2497, 1
  store i32 %2498, ptr @test_count, align 4, !tbaa !5
  %2499 = load ptr, ptr %53, align 8, !tbaa !9
  %2500 = call i32 @s2n_config_accept_max_fragment_length(ptr noundef %2499)
  %2501 = icmp eq i32 %2500, -1
  br i1 %2501, label %2502, label %2555

2502:                                             ; preds = %2496
  br label %2503

2503:                                             ; preds = %2502
  br label %2504

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

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

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

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

2550:                                             ; preds = %2533, %2516
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #8
  br label %2551

2551:                                             ; preds = %2550
  br label %2552

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

2553:                                             ; No predecessors!
  br label %2554

2554:                                             ; preds = %2553
  br label %2555

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

2556:                                             ; preds = %2555
  br label %2557

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

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

2563:                                             ; preds = %2558
  br label %2564

2564:                                             ; preds = %2563
  br label %2565

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

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

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

2594:                                             ; preds = %2572, %2565
  %2595 = load i32, ptr %57, align 4, !tbaa !5
  %2596 = call ptr @__errno_location() #9
  store i32 %2595, ptr %2596, align 4, !tbaa !5
  %2597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2598 = load i32, ptr @test_count, align 4, !tbaa !5
  %2599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2600 = load i32, ptr %2599, align 4, !tbaa !5
  %2601 = call ptr @s2n_strerror(i32 noundef %2600, ptr noundef @.str.4)
  %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_debug(i32 noundef %2603, ptr noundef @.str.4)
  %2605 = call ptr @__errno_location() #9
  %2606 = load i32, ptr %2605, align 4, !tbaa !5
  %2607 = call ptr @strerror(i32 noundef %2606) #8
  %2608 = call ptr @__errno_location() #9
  %2609 = load i32, ptr %2608, align 4, !tbaa !5
  %2610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2597, ptr noundef @.str.5, i32 noundef %2598, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 110, ptr noundef %2601, ptr noundef %2604, ptr noundef %2607, i32 noundef %2609) #8
  br label %2611

2611:                                             ; preds = %2594, %2577
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #8
  br label %2612

2612:                                             ; preds = %2611
  br label %2613

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

2614:                                             ; No predecessors!
  br label %2615

2615:                                             ; preds = %2614
  br label %2616

2616:                                             ; preds = %2615, %2558
  br label %2617

2617:                                             ; preds = %2616
  br label %2618

2618:                                             ; preds = %2617
  br label %2619

2619:                                             ; preds = %2618
  %2620 = load i32, ptr @test_count, align 4, !tbaa !5
  %2621 = add nsw i32 %2620, 1
  store i32 %2621, ptr @test_count, align 4, !tbaa !5
  %2622 = load ptr, ptr %56, align 8, !tbaa !9
  %2623 = load ptr, ptr %53, align 8, !tbaa !9
  %2624 = call i32 @s2n_connection_set_config(ptr noundef %2622, ptr noundef %2623)
  %2625 = icmp eq i32 %2624, -1
  br i1 %2625, label %2626, label %2679

2626:                                             ; preds = %2619
  br label %2627

2627:                                             ; preds = %2626
  br label %2628

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

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

2640:                                             ; preds = %2635
  %2641 = load i32, ptr %58, align 4, !tbaa !5
  %2642 = call ptr @__errno_location() #9
  store i32 %2641, ptr %2642, align 4, !tbaa !5
  %2643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2644 = load i32, ptr @test_count, align 4, !tbaa !5
  %2645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2646 = load i32, ptr %2645, align 4, !tbaa !5
  %2647 = call ptr @s2n_strerror(i32 noundef %2646, ptr noundef @.str.4)
  %2648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2649 = load i32, ptr %2648, align 4, !tbaa !5
  %2650 = call ptr @s2n_strerror_debug(i32 noundef %2649, ptr noundef @.str.4)
  %2651 = call ptr @__errno_location() #9
  %2652 = load i32, ptr %2651, align 4, !tbaa !5
  %2653 = call ptr @strerror(i32 noundef %2652) #8
  %2654 = call ptr @__errno_location() #9
  %2655 = load i32, ptr %2654, align 4, !tbaa !5
  %2656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2643, ptr noundef @.str.2, i32 noundef %2644, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 111, ptr noundef %2647, ptr noundef %2650, ptr noundef %2653, i32 noundef %2655) #8
  br label %2674

2657:                                             ; preds = %2635, %2628
  %2658 = load i32, ptr %58, align 4, !tbaa !5
  %2659 = call ptr @__errno_location() #9
  store i32 %2658, ptr %2659, align 4, !tbaa !5
  %2660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2661 = load i32, ptr @test_count, align 4, !tbaa !5
  %2662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2663 = load i32, ptr %2662, align 4, !tbaa !5
  %2664 = call ptr @s2n_strerror(i32 noundef %2663, ptr noundef @.str.4)
  %2665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2666 = load i32, ptr %2665, align 4, !tbaa !5
  %2667 = call ptr @s2n_strerror_debug(i32 noundef %2666, ptr noundef @.str.4)
  %2668 = call ptr @__errno_location() #9
  %2669 = load i32, ptr %2668, align 4, !tbaa !5
  %2670 = call ptr @strerror(i32 noundef %2669) #8
  %2671 = call ptr @__errno_location() #9
  %2672 = load i32, ptr %2671, align 4, !tbaa !5
  %2673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2660, ptr noundef @.str.5, i32 noundef %2661, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 111, ptr noundef %2664, ptr noundef %2667, ptr noundef %2670, i32 noundef %2672) #8
  br label %2674

2674:                                             ; preds = %2657, %2640
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #8
  br label %2675

2675:                                             ; preds = %2674
  br label %2676

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

2677:                                             ; No predecessors!
  br label %2678

2678:                                             ; preds = %2677
  br label %2679

2679:                                             ; preds = %2678, %2619
  br label %2680

2680:                                             ; preds = %2679
  br label %2681

2681:                                             ; preds = %2680
  call void @llvm.lifetime.start.p0(i64 40, ptr %59) #8
  call void @llvm.memset.p0.i64(ptr align 8 %59, i8 0, i64 40, i1 false)
  br label %2682

2682:                                             ; preds = %2681
  %2683 = load i32, ptr @test_count, align 4, !tbaa !5
  %2684 = add nsw i32 %2683, 1
  store i32 %2684, ptr @test_count, align 4, !tbaa !5
  %2685 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %59, i32 noundef 0)
  %2686 = icmp eq i32 %2685, -1
  br i1 %2686, label %2687, label %2740

2687:                                             ; preds = %2682
  br label %2688

2688:                                             ; preds = %2687
  br label %2689

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

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

2701:                                             ; preds = %2696
  %2702 = load i32, ptr %60, align 4, !tbaa !5
  %2703 = call ptr @__errno_location() #9
  store i32 %2702, ptr %2703, align 4, !tbaa !5
  %2704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2705 = load i32, ptr @test_count, align 4, !tbaa !5
  %2706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2707 = load i32, ptr %2706, align 4, !tbaa !5
  %2708 = call ptr @s2n_strerror(i32 noundef %2707, ptr noundef @.str.4)
  %2709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2710 = load i32, ptr %2709, align 4, !tbaa !5
  %2711 = call ptr @s2n_strerror_debug(i32 noundef %2710, ptr noundef @.str.4)
  %2712 = call ptr @__errno_location() #9
  %2713 = load i32, ptr %2712, align 4, !tbaa !5
  %2714 = call ptr @strerror(i32 noundef %2713) #8
  %2715 = call ptr @__errno_location() #9
  %2716 = load i32, ptr %2715, align 4, !tbaa !5
  %2717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2704, ptr noundef @.str.2, i32 noundef %2705, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 114, ptr noundef %2708, ptr noundef %2711, ptr noundef %2714, i32 noundef %2716) #8
  br label %2735

2718:                                             ; preds = %2696, %2689
  %2719 = load i32, ptr %60, align 4, !tbaa !5
  %2720 = call ptr @__errno_location() #9
  store i32 %2719, ptr %2720, align 4, !tbaa !5
  %2721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2722 = load i32, ptr @test_count, align 4, !tbaa !5
  %2723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2724 = load i32, ptr %2723, align 4, !tbaa !5
  %2725 = call ptr @s2n_strerror(i32 noundef %2724, ptr noundef @.str.4)
  %2726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2727 = load i32, ptr %2726, align 4, !tbaa !5
  %2728 = call ptr @s2n_strerror_debug(i32 noundef %2727, ptr noundef @.str.4)
  %2729 = call ptr @__errno_location() #9
  %2730 = load i32, ptr %2729, align 4, !tbaa !5
  %2731 = call ptr @strerror(i32 noundef %2730) #8
  %2732 = call ptr @__errno_location() #9
  %2733 = load i32, ptr %2732, align 4, !tbaa !5
  %2734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2721, ptr noundef @.str.5, i32 noundef %2722, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 114, ptr noundef %2725, ptr noundef %2728, ptr noundef %2731, i32 noundef %2733) #8
  br label %2735

2735:                                             ; preds = %2718, %2701
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #8
  br label %2736

2736:                                             ; preds = %2735
  br label %2737

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

2738:                                             ; No predecessors!
  br label %2739

2739:                                             ; preds = %2738
  br label %2740

2740:                                             ; preds = %2739, %2682
  br label %2741

2741:                                             ; preds = %2740
  br label %2742

2742:                                             ; preds = %2741
  %2743 = load ptr, ptr %56, align 8, !tbaa !9
  %2744 = getelementptr inbounds %struct.s2n_connection, ptr %2743, i32 0, i32 1
  %2745 = load ptr, ptr %2744, align 8, !tbaa !50
  %2746 = getelementptr inbounds %struct.s2n_config, ptr %2745, i32 0, i32 35
  store i8 -1, ptr %2746, align 8, !tbaa !51
  br label %2747

2747:                                             ; preds = %2742
  %2748 = load i32, ptr @test_count, align 4, !tbaa !5
  %2749 = add nsw i32 %2748, 1
  store i32 %2749, ptr @test_count, align 4, !tbaa !5
  %2750 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_max_frag_len_extension, i32 0, i32 3), align 8, !tbaa !18
  %2751 = load ptr, ptr %56, align 8, !tbaa !9
  %2752 = call i32 %2750(ptr noundef %2751, ptr noundef %59)
  %2753 = icmp eq i32 %2752, -1
  br i1 %2753, label %2754, label %2807

2754:                                             ; preds = %2747
  br label %2755

2755:                                             ; preds = %2754
  br label %2756

2756:                                             ; preds = %2755
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #8
  %2757 = call ptr @__errno_location() #9
  %2758 = load i32, ptr %2757, align 4, !tbaa !5
  store i32 %2758, ptr %61, align 4, !tbaa !5
  %2759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2760 = call i32 @s2n_print_stacktrace(ptr noundef %2759)
  %2761 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2762 = trunc i8 %2761 to i1
  br i1 %2762, label %2763, label %2785

2763:                                             ; preds = %2756
  %2764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2765 = call i32 @fileno(ptr noundef %2764) #8
  %2766 = call i32 @isatty(i32 noundef %2765) #8
  %2767 = icmp ne i32 %2766, 0
  br i1 %2767, label %2768, label %2785

2768:                                             ; preds = %2763
  %2769 = load i32, ptr %61, align 4, !tbaa !5
  %2770 = call ptr @__errno_location() #9
  store i32 %2769, ptr %2770, align 4, !tbaa !5
  %2771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2772 = load i32, ptr @test_count, align 4, !tbaa !5
  %2773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2774 = load i32, ptr %2773, align 4, !tbaa !5
  %2775 = call ptr @s2n_strerror(i32 noundef %2774, ptr noundef @.str.4)
  %2776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2777 = load i32, ptr %2776, align 4, !tbaa !5
  %2778 = call ptr @s2n_strerror_debug(i32 noundef %2777, ptr noundef @.str.4)
  %2779 = call ptr @__errno_location() #9
  %2780 = load i32, ptr %2779, align 4, !tbaa !5
  %2781 = call ptr @strerror(i32 noundef %2780) #8
  %2782 = call ptr @__errno_location() #9
  %2783 = load i32, ptr %2782, align 4, !tbaa !5
  %2784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2771, ptr noundef @.str.2, i32 noundef %2772, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 118, ptr noundef %2775, ptr noundef %2778, ptr noundef %2781, i32 noundef %2783) #8
  br label %2802

2785:                                             ; preds = %2763, %2756
  %2786 = load i32, ptr %61, align 4, !tbaa !5
  %2787 = call ptr @__errno_location() #9
  store i32 %2786, ptr %2787, align 4, !tbaa !5
  %2788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2789 = load i32, ptr @test_count, align 4, !tbaa !5
  %2790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2791 = load i32, ptr %2790, align 4, !tbaa !5
  %2792 = call ptr @s2n_strerror(i32 noundef %2791, ptr noundef @.str.4)
  %2793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2794 = load i32, ptr %2793, align 4, !tbaa !5
  %2795 = call ptr @s2n_strerror_debug(i32 noundef %2794, ptr noundef @.str.4)
  %2796 = call ptr @__errno_location() #9
  %2797 = load i32, ptr %2796, align 4, !tbaa !5
  %2798 = call ptr @strerror(i32 noundef %2797) #8
  %2799 = call ptr @__errno_location() #9
  %2800 = load i32, ptr %2799, align 4, !tbaa !5
  %2801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2788, ptr noundef @.str.5, i32 noundef %2789, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 118, ptr noundef %2792, ptr noundef %2795, ptr noundef %2798, i32 noundef %2800) #8
  br label %2802

2802:                                             ; preds = %2785, %2768
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #8
  br label %2803

2803:                                             ; preds = %2802
  br label %2804

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

2805:                                             ; No predecessors!
  br label %2806

2806:                                             ; preds = %2805
  br label %2807

2807:                                             ; preds = %2806, %2747
  br label %2808

2808:                                             ; preds = %2807
  br label %2809

2809:                                             ; preds = %2808
  br label %2810

2810:                                             ; preds = %2809
  %2811 = load i32, ptr @test_count, align 4, !tbaa !5
  %2812 = add nsw i32 %2811, 1
  store i32 %2812, ptr @test_count, align 4, !tbaa !5
  %2813 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_max_frag_len_extension, i32 0, i32 4), align 8, !tbaa !24
  %2814 = load ptr, ptr %56, align 8, !tbaa !9
  %2815 = call i32 %2813(ptr noundef %2814, ptr noundef %59)
  %2816 = icmp eq i32 %2815, -1
  br i1 %2816, label %2817, label %2870

2817:                                             ; preds = %2810
  br label %2818

2818:                                             ; preds = %2817
  br label %2819

2819:                                             ; preds = %2818
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #8
  %2820 = call ptr @__errno_location() #9
  %2821 = load i32, ptr %2820, align 4, !tbaa !5
  store i32 %2821, ptr %62, align 4, !tbaa !5
  %2822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2823 = call i32 @s2n_print_stacktrace(ptr noundef %2822)
  %2824 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2825 = trunc i8 %2824 to i1
  br i1 %2825, label %2826, label %2848

2826:                                             ; preds = %2819
  %2827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2828 = call i32 @fileno(ptr noundef %2827) #8
  %2829 = call i32 @isatty(i32 noundef %2828) #8
  %2830 = icmp ne i32 %2829, 0
  br i1 %2830, label %2831, label %2848

2831:                                             ; preds = %2826
  %2832 = load i32, ptr %62, align 4, !tbaa !5
  %2833 = call ptr @__errno_location() #9
  store i32 %2832, ptr %2833, align 4, !tbaa !5
  %2834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2835 = load i32, ptr @test_count, align 4, !tbaa !5
  %2836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2837 = load i32, ptr %2836, align 4, !tbaa !5
  %2838 = call ptr @s2n_strerror(i32 noundef %2837, ptr noundef @.str.4)
  %2839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2840 = load i32, ptr %2839, align 4, !tbaa !5
  %2841 = call ptr @s2n_strerror_debug(i32 noundef %2840, ptr noundef @.str.4)
  %2842 = call ptr @__errno_location() #9
  %2843 = load i32, ptr %2842, align 4, !tbaa !5
  %2844 = call ptr @strerror(i32 noundef %2843) #8
  %2845 = call ptr @__errno_location() #9
  %2846 = load i32, ptr %2845, align 4, !tbaa !5
  %2847 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2834, ptr noundef @.str.2, i32 noundef %2835, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 121, ptr noundef %2838, ptr noundef %2841, ptr noundef %2844, i32 noundef %2846) #8
  br label %2865

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

2865:                                             ; preds = %2848, %2831
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #8
  br label %2866

2866:                                             ; preds = %2865
  br label %2867

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

2868:                                             ; No predecessors!
  br label %2869

2869:                                             ; preds = %2868
  br label %2870

2870:                                             ; preds = %2869, %2810
  br label %2871

2871:                                             ; preds = %2870
  br label %2872

2872:                                             ; preds = %2871
  br label %2873

2873:                                             ; preds = %2872
  %2874 = load i32, ptr @test_count, align 4, !tbaa !5
  %2875 = add nsw i32 %2874, 1
  store i32 %2875, ptr @test_count, align 4, !tbaa !5
  %2876 = load ptr, ptr %56, align 8, !tbaa !9
  %2877 = getelementptr inbounds %struct.s2n_connection, ptr %2876, i32 0, i32 57
  %2878 = load i8, ptr %2877, align 8, !tbaa !25
  %2879 = zext i8 %2878 to i32
  %2880 = icmp eq i32 %2879, 0
  br i1 %2880, label %2934, label %2881

2881:                                             ; preds = %2873
  br label %2882

2882:                                             ; preds = %2881
  br label %2883

2883:                                             ; preds = %2882
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #8
  %2884 = call ptr @__errno_location() #9
  %2885 = load i32, ptr %2884, align 4, !tbaa !5
  store i32 %2885, ptr %63, align 4, !tbaa !5
  %2886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2887 = call i32 @s2n_print_stacktrace(ptr noundef %2886)
  %2888 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2889 = trunc i8 %2888 to i1
  br i1 %2889, label %2890, label %2912

2890:                                             ; preds = %2883
  %2891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2892 = call i32 @fileno(ptr noundef %2891) #8
  %2893 = call i32 @isatty(i32 noundef %2892) #8
  %2894 = icmp ne i32 %2893, 0
  br i1 %2894, label %2895, label %2912

2895:                                             ; preds = %2890
  %2896 = load i32, ptr %63, align 4, !tbaa !5
  %2897 = call ptr @__errno_location() #9
  store i32 %2896, ptr %2897, align 4, !tbaa !5
  %2898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2899 = load i32, ptr @test_count, align 4, !tbaa !5
  %2900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2901 = load i32, ptr %2900, align 4, !tbaa !5
  %2902 = call ptr @s2n_strerror(i32 noundef %2901, ptr noundef @.str.4)
  %2903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2904 = load i32, ptr %2903, align 4, !tbaa !5
  %2905 = call ptr @s2n_strerror_debug(i32 noundef %2904, ptr noundef @.str.4)
  %2906 = call ptr @__errno_location() #9
  %2907 = load i32, ptr %2906, align 4, !tbaa !5
  %2908 = call ptr @strerror(i32 noundef %2907) #8
  %2909 = call ptr @__errno_location() #9
  %2910 = load i32, ptr %2909, align 4, !tbaa !5
  %2911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2898, ptr noundef @.str.2, i32 noundef %2899, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 122, ptr noundef %2902, ptr noundef %2905, ptr noundef %2908, i32 noundef %2910) #8
  br label %2929

2912:                                             ; preds = %2890, %2883
  %2913 = load i32, ptr %63, align 4, !tbaa !5
  %2914 = call ptr @__errno_location() #9
  store i32 %2913, ptr %2914, align 4, !tbaa !5
  %2915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2916 = load i32, ptr @test_count, align 4, !tbaa !5
  %2917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2918 = load i32, ptr %2917, align 4, !tbaa !5
  %2919 = call ptr @s2n_strerror(i32 noundef %2918, ptr noundef @.str.4)
  %2920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2921 = load i32, ptr %2920, align 4, !tbaa !5
  %2922 = call ptr @s2n_strerror_debug(i32 noundef %2921, ptr noundef @.str.4)
  %2923 = call ptr @__errno_location() #9
  %2924 = load i32, ptr %2923, align 4, !tbaa !5
  %2925 = call ptr @strerror(i32 noundef %2924) #8
  %2926 = call ptr @__errno_location() #9
  %2927 = load i32, ptr %2926, align 4, !tbaa !5
  %2928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2915, ptr noundef @.str.5, i32 noundef %2916, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 122, ptr noundef %2919, ptr noundef %2922, ptr noundef %2925, i32 noundef %2927) #8
  br label %2929

2929:                                             ; preds = %2912, %2895
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #8
  br label %2930

2930:                                             ; preds = %2929
  br label %2931

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

2932:                                             ; No predecessors!
  br label %2933

2933:                                             ; preds = %2932
  br label %2934

2934:                                             ; preds = %2933, %2873
  br label %2935

2935:                                             ; preds = %2934
  br label %2936

2936:                                             ; preds = %2935
  br label %2937

2937:                                             ; preds = %2936
  %2938 = load i32, ptr @test_count, align 4, !tbaa !5
  %2939 = add nsw i32 %2938, 1
  store i32 %2939, ptr @test_count, align 4, !tbaa !5
  %2940 = load ptr, ptr %56, align 8, !tbaa !9
  %2941 = getelementptr inbounds %struct.s2n_connection, ptr %2940, i32 0, i32 53
  %2942 = load i16, ptr %2941, align 8, !tbaa !49
  %2943 = zext i16 %2942 to i32
  %2944 = icmp eq i32 %2943, 8087
  br i1 %2944, label %2998, label %2945

2945:                                             ; preds = %2937
  br label %2946

2946:                                             ; preds = %2945
  br label %2947

2947:                                             ; preds = %2946
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #8
  %2948 = call ptr @__errno_location() #9
  %2949 = load i32, ptr %2948, align 4, !tbaa !5
  store i32 %2949, ptr %64, align 4, !tbaa !5
  %2950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2951 = call i32 @s2n_print_stacktrace(ptr noundef %2950)
  %2952 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2953 = trunc i8 %2952 to i1
  br i1 %2953, label %2954, label %2976

2954:                                             ; preds = %2947
  %2955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2956 = call i32 @fileno(ptr noundef %2955) #8
  %2957 = call i32 @isatty(i32 noundef %2956) #8
  %2958 = icmp ne i32 %2957, 0
  br i1 %2958, label %2959, label %2976

2959:                                             ; preds = %2954
  %2960 = load i32, ptr %64, align 4, !tbaa !5
  %2961 = call ptr @__errno_location() #9
  store i32 %2960, ptr %2961, align 4, !tbaa !5
  %2962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2963 = load i32, ptr @test_count, align 4, !tbaa !5
  %2964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2965 = load i32, ptr %2964, align 4, !tbaa !5
  %2966 = call ptr @s2n_strerror(i32 noundef %2965, ptr noundef @.str.4)
  %2967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2968 = load i32, ptr %2967, align 4, !tbaa !5
  %2969 = call ptr @s2n_strerror_debug(i32 noundef %2968, ptr noundef @.str.4)
  %2970 = call ptr @__errno_location() #9
  %2971 = load i32, ptr %2970, align 4, !tbaa !5
  %2972 = call ptr @strerror(i32 noundef %2971) #8
  %2973 = call ptr @__errno_location() #9
  %2974 = load i32, ptr %2973, align 4, !tbaa !5
  %2975 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2962, ptr noundef @.str.2, i32 noundef %2963, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 123, ptr noundef %2966, ptr noundef %2969, ptr noundef %2972, i32 noundef %2974) #8
  br label %2993

2976:                                             ; preds = %2954, %2947
  %2977 = load i32, ptr %64, align 4, !tbaa !5
  %2978 = call ptr @__errno_location() #9
  store i32 %2977, ptr %2978, align 4, !tbaa !5
  %2979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2980 = load i32, ptr @test_count, align 4, !tbaa !5
  %2981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2982 = load i32, ptr %2981, align 4, !tbaa !5
  %2983 = call ptr @s2n_strerror(i32 noundef %2982, ptr noundef @.str.4)
  %2984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2985 = load i32, ptr %2984, align 4, !tbaa !5
  %2986 = call ptr @s2n_strerror_debug(i32 noundef %2985, ptr noundef @.str.4)
  %2987 = call ptr @__errno_location() #9
  %2988 = load i32, ptr %2987, align 4, !tbaa !5
  %2989 = call ptr @strerror(i32 noundef %2988) #8
  %2990 = call ptr @__errno_location() #9
  %2991 = load i32, ptr %2990, align 4, !tbaa !5
  %2992 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2979, ptr noundef @.str.5, i32 noundef %2980, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 123, ptr noundef %2983, ptr noundef %2986, ptr noundef %2989, i32 noundef %2991) #8
  br label %2993

2993:                                             ; preds = %2976, %2959
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #8
  br label %2994

2994:                                             ; preds = %2993
  br label %2995

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

2996:                                             ; No predecessors!
  br label %2997

2997:                                             ; preds = %2996
  br label %2998

2998:                                             ; preds = %2997, %2937
  br label %2999

2999:                                             ; preds = %2998
  br label %3000

3000:                                             ; preds = %2999
  br label %3001

3001:                                             ; preds = %3000
  %3002 = load i32, ptr @test_count, align 4, !tbaa !5
  %3003 = add nsw i32 %3002, 1
  store i32 %3003, ptr @test_count, align 4, !tbaa !5
  %3004 = call i32 @s2n_stuffer_free(ptr noundef %59)
  %3005 = icmp eq i32 %3004, -1
  br i1 %3005, label %3006, label %3059

3006:                                             ; preds = %3001
  br label %3007

3007:                                             ; preds = %3006
  br label %3008

3008:                                             ; preds = %3007
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #8
  %3009 = call ptr @__errno_location() #9
  %3010 = load i32, ptr %3009, align 4, !tbaa !5
  store i32 %3010, ptr %65, align 4, !tbaa !5
  %3011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3012 = call i32 @s2n_print_stacktrace(ptr noundef %3011)
  %3013 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3014 = trunc i8 %3013 to i1
  br i1 %3014, label %3015, label %3037

3015:                                             ; preds = %3008
  %3016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3017 = call i32 @fileno(ptr noundef %3016) #8
  %3018 = call i32 @isatty(i32 noundef %3017) #8
  %3019 = icmp ne i32 %3018, 0
  br i1 %3019, label %3020, label %3037

3020:                                             ; preds = %3015
  %3021 = load i32, ptr %65, align 4, !tbaa !5
  %3022 = call ptr @__errno_location() #9
  store i32 %3021, ptr %3022, align 4, !tbaa !5
  %3023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3024 = load i32, ptr @test_count, align 4, !tbaa !5
  %3025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3026 = load i32, ptr %3025, align 4, !tbaa !5
  %3027 = call ptr @s2n_strerror(i32 noundef %3026, ptr noundef @.str.4)
  %3028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3029 = load i32, ptr %3028, align 4, !tbaa !5
  %3030 = call ptr @s2n_strerror_debug(i32 noundef %3029, ptr noundef @.str.4)
  %3031 = call ptr @__errno_location() #9
  %3032 = load i32, ptr %3031, align 4, !tbaa !5
  %3033 = call ptr @strerror(i32 noundef %3032) #8
  %3034 = call ptr @__errno_location() #9
  %3035 = load i32, ptr %3034, align 4, !tbaa !5
  %3036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3023, ptr noundef @.str.2, i32 noundef %3024, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 125, ptr noundef %3027, ptr noundef %3030, ptr noundef %3033, i32 noundef %3035) #8
  br label %3054

3037:                                             ; preds = %3015, %3008
  %3038 = load i32, ptr %65, align 4, !tbaa !5
  %3039 = call ptr @__errno_location() #9
  store i32 %3038, ptr %3039, align 4, !tbaa !5
  %3040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3041 = load i32, ptr @test_count, align 4, !tbaa !5
  %3042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3043 = load i32, ptr %3042, align 4, !tbaa !5
  %3044 = call ptr @s2n_strerror(i32 noundef %3043, ptr noundef @.str.4)
  %3045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3046 = load i32, ptr %3045, align 4, !tbaa !5
  %3047 = call ptr @s2n_strerror_debug(i32 noundef %3046, ptr noundef @.str.4)
  %3048 = call ptr @__errno_location() #9
  %3049 = load i32, ptr %3048, align 4, !tbaa !5
  %3050 = call ptr @strerror(i32 noundef %3049) #8
  %3051 = call ptr @__errno_location() #9
  %3052 = load i32, ptr %3051, align 4, !tbaa !5
  %3053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3040, ptr noundef @.str.5, i32 noundef %3041, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 125, ptr noundef %3044, ptr noundef %3047, ptr noundef %3050, i32 noundef %3052) #8
  br label %3054

3054:                                             ; preds = %3037, %3020
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #8
  br label %3055

3055:                                             ; preds = %3054
  br label %3056

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

3057:                                             ; No predecessors!
  br label %3058

3058:                                             ; preds = %3057
  br label %3059

3059:                                             ; preds = %3058, %3001
  br label %3060

3060:                                             ; preds = %3059
  br label %3061

3061:                                             ; preds = %3060
  br label %3062

3062:                                             ; preds = %3061
  %3063 = load i32, ptr @test_count, align 4, !tbaa !5
  %3064 = add nsw i32 %3063, 1
  store i32 %3064, ptr @test_count, align 4, !tbaa !5
  %3065 = load ptr, ptr %56, align 8, !tbaa !9
  %3066 = call i32 @s2n_connection_free(ptr noundef %3065)
  %3067 = icmp eq i32 %3066, -1
  br i1 %3067, label %3068, label %3121

3068:                                             ; preds = %3062
  br label %3069

3069:                                             ; preds = %3068
  br label %3070

3070:                                             ; preds = %3069
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #8
  %3071 = call ptr @__errno_location() #9
  %3072 = load i32, ptr %3071, align 4, !tbaa !5
  store i32 %3072, ptr %66, align 4, !tbaa !5
  %3073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3074 = call i32 @s2n_print_stacktrace(ptr noundef %3073)
  %3075 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3076 = trunc i8 %3075 to i1
  br i1 %3076, label %3077, label %3099

3077:                                             ; preds = %3070
  %3078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3079 = call i32 @fileno(ptr noundef %3078) #8
  %3080 = call i32 @isatty(i32 noundef %3079) #8
  %3081 = icmp ne i32 %3080, 0
  br i1 %3081, label %3082, label %3099

3082:                                             ; preds = %3077
  %3083 = load i32, ptr %66, align 4, !tbaa !5
  %3084 = call ptr @__errno_location() #9
  store i32 %3083, ptr %3084, align 4, !tbaa !5
  %3085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3086 = load i32, ptr @test_count, align 4, !tbaa !5
  %3087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3088 = load i32, ptr %3087, align 4, !tbaa !5
  %3089 = call ptr @s2n_strerror(i32 noundef %3088, ptr noundef @.str.4)
  %3090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3091 = load i32, ptr %3090, align 4, !tbaa !5
  %3092 = call ptr @s2n_strerror_debug(i32 noundef %3091, ptr noundef @.str.4)
  %3093 = call ptr @__errno_location() #9
  %3094 = load i32, ptr %3093, align 4, !tbaa !5
  %3095 = call ptr @strerror(i32 noundef %3094) #8
  %3096 = call ptr @__errno_location() #9
  %3097 = load i32, ptr %3096, align 4, !tbaa !5
  %3098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3085, ptr noundef @.str.2, i32 noundef %3086, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 126, ptr noundef %3089, ptr noundef %3092, ptr noundef %3095, i32 noundef %3097) #8
  br label %3116

3099:                                             ; preds = %3077, %3070
  %3100 = load i32, ptr %66, align 4, !tbaa !5
  %3101 = call ptr @__errno_location() #9
  store i32 %3100, ptr %3101, align 4, !tbaa !5
  %3102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3103 = load i32, ptr @test_count, align 4, !tbaa !5
  %3104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3105 = load i32, ptr %3104, align 4, !tbaa !5
  %3106 = call ptr @s2n_strerror(i32 noundef %3105, ptr noundef @.str.4)
  %3107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3108 = load i32, ptr %3107, align 4, !tbaa !5
  %3109 = call ptr @s2n_strerror_debug(i32 noundef %3108, ptr noundef @.str.4)
  %3110 = call ptr @__errno_location() #9
  %3111 = load i32, ptr %3110, align 4, !tbaa !5
  %3112 = call ptr @strerror(i32 noundef %3111) #8
  %3113 = call ptr @__errno_location() #9
  %3114 = load i32, ptr %3113, align 4, !tbaa !5
  %3115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3102, ptr noundef @.str.5, i32 noundef %3103, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 126, ptr noundef %3106, ptr noundef %3109, ptr noundef %3112, i32 noundef %3114) #8
  br label %3116

3116:                                             ; preds = %3099, %3082
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #8
  br label %3117

3117:                                             ; preds = %3116
  br label %3118

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

3119:                                             ; No predecessors!
  br label %3120

3120:                                             ; preds = %3119
  br label %3121

3121:                                             ; preds = %3120, %3062
  br label %3122

3122:                                             ; preds = %3121
  br label %3123

3123:                                             ; preds = %3122
  br label %3124

3124:                                             ; preds = %3123
  %3125 = load i32, ptr @test_count, align 4, !tbaa !5
  %3126 = add nsw i32 %3125, 1
  store i32 %3126, ptr @test_count, align 4, !tbaa !5
  %3127 = load ptr, ptr %53, align 8, !tbaa !9
  %3128 = call i32 @s2n_config_free(ptr noundef %3127)
  %3129 = icmp eq i32 %3128, -1
  br i1 %3129, label %3130, label %3183

3130:                                             ; preds = %3124
  br label %3131

3131:                                             ; preds = %3130
  br label %3132

3132:                                             ; preds = %3131
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #8
  %3133 = call ptr @__errno_location() #9
  %3134 = load i32, ptr %3133, align 4, !tbaa !5
  store i32 %3134, ptr %67, align 4, !tbaa !5
  %3135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3136 = call i32 @s2n_print_stacktrace(ptr noundef %3135)
  %3137 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3138 = trunc i8 %3137 to i1
  br i1 %3138, label %3139, label %3161

3139:                                             ; preds = %3132
  %3140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3141 = call i32 @fileno(ptr noundef %3140) #8
  %3142 = call i32 @isatty(i32 noundef %3141) #8
  %3143 = icmp ne i32 %3142, 0
  br i1 %3143, label %3144, label %3161

3144:                                             ; preds = %3139
  %3145 = load i32, ptr %67, align 4, !tbaa !5
  %3146 = call ptr @__errno_location() #9
  store i32 %3145, ptr %3146, align 4, !tbaa !5
  %3147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3148 = load i32, ptr @test_count, align 4, !tbaa !5
  %3149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3150 = load i32, ptr %3149, align 4, !tbaa !5
  %3151 = call ptr @s2n_strerror(i32 noundef %3150, ptr noundef @.str.4)
  %3152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3153 = load i32, ptr %3152, align 4, !tbaa !5
  %3154 = call ptr @s2n_strerror_debug(i32 noundef %3153, ptr noundef @.str.4)
  %3155 = call ptr @__errno_location() #9
  %3156 = load i32, ptr %3155, align 4, !tbaa !5
  %3157 = call ptr @strerror(i32 noundef %3156) #8
  %3158 = call ptr @__errno_location() #9
  %3159 = load i32, ptr %3158, align 4, !tbaa !5
  %3160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3147, ptr noundef @.str.2, i32 noundef %3148, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 127, ptr noundef %3151, ptr noundef %3154, ptr noundef %3157, i32 noundef %3159) #8
  br label %3178

3161:                                             ; preds = %3139, %3132
  %3162 = load i32, ptr %67, align 4, !tbaa !5
  %3163 = call ptr @__errno_location() #9
  store i32 %3162, ptr %3163, align 4, !tbaa !5
  %3164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3165 = load i32, ptr @test_count, align 4, !tbaa !5
  %3166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3167 = load i32, ptr %3166, align 4, !tbaa !5
  %3168 = call ptr @s2n_strerror(i32 noundef %3167, ptr noundef @.str.4)
  %3169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3170 = load i32, ptr %3169, align 4, !tbaa !5
  %3171 = call ptr @s2n_strerror_debug(i32 noundef %3170, ptr noundef @.str.4)
  %3172 = call ptr @__errno_location() #9
  %3173 = load i32, ptr %3172, align 4, !tbaa !5
  %3174 = call ptr @strerror(i32 noundef %3173) #8
  %3175 = call ptr @__errno_location() #9
  %3176 = load i32, ptr %3175, align 4, !tbaa !5
  %3177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3164, ptr noundef @.str.5, i32 noundef %3165, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 127, ptr noundef %3168, ptr noundef %3171, ptr noundef %3174, i32 noundef %3176) #8
  br label %3178

3178:                                             ; preds = %3161, %3144
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #8
  br label %3179

3179:                                             ; preds = %3178
  br label %3180

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

3181:                                             ; No predecessors!
  br label %3182

3182:                                             ; preds = %3181
  br label %3183

3183:                                             ; preds = %3182, %3124
  br label %3184

3184:                                             ; preds = %3183
  br label %3185

3185:                                             ; preds = %3184
  call void @llvm.lifetime.end.p0(i64 40, ptr %59) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #8
  store ptr null, ptr %68, align 8, !tbaa !9
  br label %3186

3186:                                             ; preds = %3185
  %3187 = load i32, ptr @test_count, align 4, !tbaa !5
  %3188 = add nsw i32 %3187, 1
  store i32 %3188, ptr @test_count, align 4, !tbaa !5
  %3189 = call ptr @s2n_config_new()
  store ptr %3189, ptr %68, align 8, !tbaa !9
  %3190 = icmp eq ptr %3189, null
  br i1 %3190, label %3191, label %3244

3191:                                             ; preds = %3186
  br label %3192

3192:                                             ; preds = %3191
  br label %3193

3193:                                             ; preds = %3192
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #8
  %3194 = call ptr @__errno_location() #9
  %3195 = load i32, ptr %3194, align 4, !tbaa !5
  store i32 %3195, ptr %69, align 4, !tbaa !5
  %3196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3197 = call i32 @s2n_print_stacktrace(ptr noundef %3196)
  %3198 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3199 = trunc i8 %3198 to i1
  br i1 %3199, label %3200, label %3222

3200:                                             ; preds = %3193
  %3201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3202 = call i32 @fileno(ptr noundef %3201) #8
  %3203 = call i32 @isatty(i32 noundef %3202) #8
  %3204 = icmp ne i32 %3203, 0
  br i1 %3204, label %3205, label %3222

3205:                                             ; preds = %3200
  %3206 = load i32, ptr %69, align 4, !tbaa !5
  %3207 = call ptr @__errno_location() #9
  store i32 %3206, ptr %3207, align 4, !tbaa !5
  %3208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3209 = load i32, ptr @test_count, align 4, !tbaa !5
  %3210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3211 = load i32, ptr %3210, align 4, !tbaa !5
  %3212 = call ptr @s2n_strerror(i32 noundef %3211, ptr noundef @.str.4)
  %3213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3214 = load i32, ptr %3213, align 4, !tbaa !5
  %3215 = call ptr @s2n_strerror_debug(i32 noundef %3214, ptr noundef @.str.4)
  %3216 = call ptr @__errno_location() #9
  %3217 = load i32, ptr %3216, align 4, !tbaa !5
  %3218 = call ptr @strerror(i32 noundef %3217) #8
  %3219 = call ptr @__errno_location() #9
  %3220 = load i32, ptr %3219, align 4, !tbaa !5
  %3221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3208, ptr noundef @.str.2, i32 noundef %3209, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 133, ptr noundef %3212, ptr noundef %3215, ptr noundef %3218, i32 noundef %3220) #8
  br label %3239

3222:                                             ; preds = %3200, %3193
  %3223 = load i32, ptr %69, align 4, !tbaa !5
  %3224 = call ptr @__errno_location() #9
  store i32 %3223, ptr %3224, align 4, !tbaa !5
  %3225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3226 = load i32, ptr @test_count, align 4, !tbaa !5
  %3227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3228 = load i32, ptr %3227, align 4, !tbaa !5
  %3229 = call ptr @s2n_strerror(i32 noundef %3228, ptr noundef @.str.4)
  %3230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3231 = load i32, ptr %3230, align 4, !tbaa !5
  %3232 = call ptr @s2n_strerror_debug(i32 noundef %3231, ptr noundef @.str.4)
  %3233 = call ptr @__errno_location() #9
  %3234 = load i32, ptr %3233, align 4, !tbaa !5
  %3235 = call ptr @strerror(i32 noundef %3234) #8
  %3236 = call ptr @__errno_location() #9
  %3237 = load i32, ptr %3236, align 4, !tbaa !5
  %3238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3225, ptr noundef @.str.5, i32 noundef %3226, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 133, ptr noundef %3229, ptr noundef %3232, ptr noundef %3235, i32 noundef %3237) #8
  br label %3239

3239:                                             ; preds = %3222, %3205
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #8
  br label %3240

3240:                                             ; preds = %3239
  br label %3241

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

3242:                                             ; No predecessors!
  br label %3243

3243:                                             ; preds = %3242
  br label %3244

3244:                                             ; preds = %3243, %3186
  br label %3245

3245:                                             ; preds = %3244
  br label %3246

3246:                                             ; preds = %3245
  br label %3247

3247:                                             ; preds = %3246
  %3248 = load i32, ptr @test_count, align 4, !tbaa !5
  %3249 = add nsw i32 %3248, 1
  store i32 %3249, ptr @test_count, align 4, !tbaa !5
  %3250 = load ptr, ptr %68, align 8, !tbaa !9
  %3251 = call i32 @s2n_config_accept_max_fragment_length(ptr noundef %3250)
  %3252 = icmp eq i32 %3251, -1
  br i1 %3252, label %3253, label %3306

3253:                                             ; preds = %3247
  br label %3254

3254:                                             ; preds = %3253
  br label %3255

3255:                                             ; preds = %3254
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #8
  %3256 = call ptr @__errno_location() #9
  %3257 = load i32, ptr %3256, align 4, !tbaa !5
  store i32 %3257, ptr %70, align 4, !tbaa !5
  %3258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3259 = call i32 @s2n_print_stacktrace(ptr noundef %3258)
  %3260 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3261 = trunc i8 %3260 to i1
  br i1 %3261, label %3262, label %3284

3262:                                             ; preds = %3255
  %3263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3264 = call i32 @fileno(ptr noundef %3263) #8
  %3265 = call i32 @isatty(i32 noundef %3264) #8
  %3266 = icmp ne i32 %3265, 0
  br i1 %3266, label %3267, label %3284

3267:                                             ; preds = %3262
  %3268 = load i32, ptr %70, align 4, !tbaa !5
  %3269 = call ptr @__errno_location() #9
  store i32 %3268, ptr %3269, align 4, !tbaa !5
  %3270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3271 = load i32, ptr @test_count, align 4, !tbaa !5
  %3272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3273 = load i32, ptr %3272, align 4, !tbaa !5
  %3274 = call ptr @s2n_strerror(i32 noundef %3273, ptr noundef @.str.4)
  %3275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3276 = load i32, ptr %3275, align 4, !tbaa !5
  %3277 = call ptr @s2n_strerror_debug(i32 noundef %3276, ptr noundef @.str.4)
  %3278 = call ptr @__errno_location() #9
  %3279 = load i32, ptr %3278, align 4, !tbaa !5
  %3280 = call ptr @strerror(i32 noundef %3279) #8
  %3281 = call ptr @__errno_location() #9
  %3282 = load i32, ptr %3281, align 4, !tbaa !5
  %3283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3270, ptr noundef @.str.2, i32 noundef %3271, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 134, ptr noundef %3274, ptr noundef %3277, ptr noundef %3280, i32 noundef %3282) #8
  br label %3301

3284:                                             ; preds = %3262, %3255
  %3285 = load i32, ptr %70, align 4, !tbaa !5
  %3286 = call ptr @__errno_location() #9
  store i32 %3285, ptr %3286, align 4, !tbaa !5
  %3287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3288 = load i32, ptr @test_count, align 4, !tbaa !5
  %3289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3290 = load i32, ptr %3289, align 4, !tbaa !5
  %3291 = call ptr @s2n_strerror(i32 noundef %3290, ptr noundef @.str.4)
  %3292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3293 = load i32, ptr %3292, align 4, !tbaa !5
  %3294 = call ptr @s2n_strerror_debug(i32 noundef %3293, ptr noundef @.str.4)
  %3295 = call ptr @__errno_location() #9
  %3296 = load i32, ptr %3295, align 4, !tbaa !5
  %3297 = call ptr @strerror(i32 noundef %3296) #8
  %3298 = call ptr @__errno_location() #9
  %3299 = load i32, ptr %3298, align 4, !tbaa !5
  %3300 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3287, ptr noundef @.str.5, i32 noundef %3288, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 134, ptr noundef %3291, ptr noundef %3294, ptr noundef %3297, i32 noundef %3299) #8
  br label %3301

3301:                                             ; preds = %3284, %3267
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #8
  br label %3302

3302:                                             ; preds = %3301
  br label %3303

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

3304:                                             ; No predecessors!
  br label %3305

3305:                                             ; preds = %3304
  br label %3306

3306:                                             ; preds = %3305, %3247
  br label %3307

3307:                                             ; preds = %3306
  br label %3308

3308:                                             ; preds = %3307
  call void @llvm.lifetime.start.p0(i64 8, ptr %71) #8
  store ptr null, ptr %71, align 8, !tbaa !9
  br label %3309

3309:                                             ; preds = %3308
  %3310 = load i32, ptr @test_count, align 4, !tbaa !5
  %3311 = add nsw i32 %3310, 1
  store i32 %3311, ptr @test_count, align 4, !tbaa !5
  %3312 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %3312, ptr %71, align 8, !tbaa !9
  %3313 = icmp eq ptr %3312, null
  br i1 %3313, label %3314, label %3367

3314:                                             ; preds = %3309
  br label %3315

3315:                                             ; preds = %3314
  br label %3316

3316:                                             ; preds = %3315
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #8
  %3317 = call ptr @__errno_location() #9
  %3318 = load i32, ptr %3317, align 4, !tbaa !5
  store i32 %3318, ptr %72, align 4, !tbaa !5
  %3319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3320 = call i32 @s2n_print_stacktrace(ptr noundef %3319)
  %3321 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3322 = trunc i8 %3321 to i1
  br i1 %3322, label %3323, label %3345

3323:                                             ; preds = %3316
  %3324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3325 = call i32 @fileno(ptr noundef %3324) #8
  %3326 = call i32 @isatty(i32 noundef %3325) #8
  %3327 = icmp ne i32 %3326, 0
  br i1 %3327, label %3328, label %3345

3328:                                             ; preds = %3323
  %3329 = load i32, ptr %72, align 4, !tbaa !5
  %3330 = call ptr @__errno_location() #9
  store i32 %3329, ptr %3330, align 4, !tbaa !5
  %3331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3332 = load i32, ptr @test_count, align 4, !tbaa !5
  %3333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3334 = load i32, ptr %3333, align 4, !tbaa !5
  %3335 = call ptr @s2n_strerror(i32 noundef %3334, ptr noundef @.str.4)
  %3336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3337 = load i32, ptr %3336, align 4, !tbaa !5
  %3338 = call ptr @s2n_strerror_debug(i32 noundef %3337, ptr noundef @.str.4)
  %3339 = call ptr @__errno_location() #9
  %3340 = load i32, ptr %3339, align 4, !tbaa !5
  %3341 = call ptr @strerror(i32 noundef %3340) #8
  %3342 = call ptr @__errno_location() #9
  %3343 = load i32, ptr %3342, align 4, !tbaa !5
  %3344 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3331, ptr noundef @.str.2, i32 noundef %3332, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 137, ptr noundef %3335, ptr noundef %3338, ptr noundef %3341, i32 noundef %3343) #8
  br label %3362

3345:                                             ; preds = %3323, %3316
  %3346 = load i32, ptr %72, align 4, !tbaa !5
  %3347 = call ptr @__errno_location() #9
  store i32 %3346, ptr %3347, align 4, !tbaa !5
  %3348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3349 = load i32, ptr @test_count, align 4, !tbaa !5
  %3350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3351 = load i32, ptr %3350, align 4, !tbaa !5
  %3352 = call ptr @s2n_strerror(i32 noundef %3351, ptr noundef @.str.4)
  %3353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3354 = load i32, ptr %3353, align 4, !tbaa !5
  %3355 = call ptr @s2n_strerror_debug(i32 noundef %3354, ptr noundef @.str.4)
  %3356 = call ptr @__errno_location() #9
  %3357 = load i32, ptr %3356, align 4, !tbaa !5
  %3358 = call ptr @strerror(i32 noundef %3357) #8
  %3359 = call ptr @__errno_location() #9
  %3360 = load i32, ptr %3359, align 4, !tbaa !5
  %3361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3348, ptr noundef @.str.5, i32 noundef %3349, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 137, ptr noundef %3352, ptr noundef %3355, ptr noundef %3358, i32 noundef %3360) #8
  br label %3362

3362:                                             ; preds = %3345, %3328
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #8
  br label %3363

3363:                                             ; preds = %3362
  br label %3364

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

3365:                                             ; No predecessors!
  br label %3366

3366:                                             ; preds = %3365
  br label %3367

3367:                                             ; preds = %3366, %3309
  br label %3368

3368:                                             ; preds = %3367
  br label %3369

3369:                                             ; preds = %3368
  br label %3370

3370:                                             ; preds = %3369
  %3371 = load i32, ptr @test_count, align 4, !tbaa !5
  %3372 = add nsw i32 %3371, 1
  store i32 %3372, ptr @test_count, align 4, !tbaa !5
  %3373 = load ptr, ptr %71, align 8, !tbaa !9
  %3374 = load ptr, ptr %68, align 8, !tbaa !9
  %3375 = call i32 @s2n_connection_set_config(ptr noundef %3373, ptr noundef %3374)
  %3376 = icmp eq i32 %3375, -1
  br i1 %3376, label %3377, label %3430

3377:                                             ; preds = %3370
  br label %3378

3378:                                             ; preds = %3377
  br label %3379

3379:                                             ; preds = %3378
  call void @llvm.lifetime.start.p0(i64 4, ptr %73) #8
  %3380 = call ptr @__errno_location() #9
  %3381 = load i32, ptr %3380, align 4, !tbaa !5
  store i32 %3381, ptr %73, align 4, !tbaa !5
  %3382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3383 = call i32 @s2n_print_stacktrace(ptr noundef %3382)
  %3384 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3385 = trunc i8 %3384 to i1
  br i1 %3385, label %3386, label %3408

3386:                                             ; preds = %3379
  %3387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3388 = call i32 @fileno(ptr noundef %3387) #8
  %3389 = call i32 @isatty(i32 noundef %3388) #8
  %3390 = icmp ne i32 %3389, 0
  br i1 %3390, label %3391, label %3408

3391:                                             ; preds = %3386
  %3392 = load i32, ptr %73, align 4, !tbaa !5
  %3393 = call ptr @__errno_location() #9
  store i32 %3392, ptr %3393, align 4, !tbaa !5
  %3394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3395 = load i32, ptr @test_count, align 4, !tbaa !5
  %3396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3397 = load i32, ptr %3396, align 4, !tbaa !5
  %3398 = call ptr @s2n_strerror(i32 noundef %3397, ptr noundef @.str.4)
  %3399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3400 = load i32, ptr %3399, align 4, !tbaa !5
  %3401 = call ptr @s2n_strerror_debug(i32 noundef %3400, ptr noundef @.str.4)
  %3402 = call ptr @__errno_location() #9
  %3403 = load i32, ptr %3402, align 4, !tbaa !5
  %3404 = call ptr @strerror(i32 noundef %3403) #8
  %3405 = call ptr @__errno_location() #9
  %3406 = load i32, ptr %3405, align 4, !tbaa !5
  %3407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3394, ptr noundef @.str.2, i32 noundef %3395, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 138, ptr noundef %3398, ptr noundef %3401, ptr noundef %3404, i32 noundef %3406) #8
  br label %3425

3408:                                             ; preds = %3386, %3379
  %3409 = load i32, ptr %73, align 4, !tbaa !5
  %3410 = call ptr @__errno_location() #9
  store i32 %3409, ptr %3410, align 4, !tbaa !5
  %3411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3412 = load i32, ptr @test_count, align 4, !tbaa !5
  %3413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3414 = load i32, ptr %3413, align 4, !tbaa !5
  %3415 = call ptr @s2n_strerror(i32 noundef %3414, ptr noundef @.str.4)
  %3416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3417 = load i32, ptr %3416, align 4, !tbaa !5
  %3418 = call ptr @s2n_strerror_debug(i32 noundef %3417, ptr noundef @.str.4)
  %3419 = call ptr @__errno_location() #9
  %3420 = load i32, ptr %3419, align 4, !tbaa !5
  %3421 = call ptr @strerror(i32 noundef %3420) #8
  %3422 = call ptr @__errno_location() #9
  %3423 = load i32, ptr %3422, align 4, !tbaa !5
  %3424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3411, ptr noundef @.str.5, i32 noundef %3412, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 138, ptr noundef %3415, ptr noundef %3418, ptr noundef %3421, i32 noundef %3423) #8
  br label %3425

3425:                                             ; preds = %3408, %3391
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #8
  br label %3426

3426:                                             ; preds = %3425
  br label %3427

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

3428:                                             ; No predecessors!
  br label %3429

3429:                                             ; preds = %3428
  br label %3430

3430:                                             ; preds = %3429, %3370
  br label %3431

3431:                                             ; preds = %3430
  br label %3432

3432:                                             ; preds = %3431
  call void @llvm.lifetime.start.p0(i64 40, ptr %74) #8
  call void @llvm.memset.p0.i64(ptr align 8 %74, i8 0, i64 40, i1 false)
  br label %3433

3433:                                             ; preds = %3432
  %3434 = load i32, ptr @test_count, align 4, !tbaa !5
  %3435 = add nsw i32 %3434, 1
  store i32 %3435, ptr @test_count, align 4, !tbaa !5
  %3436 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %74, i32 noundef 0)
  %3437 = icmp eq i32 %3436, -1
  br i1 %3437, label %3438, label %3491

3438:                                             ; preds = %3433
  br label %3439

3439:                                             ; preds = %3438
  br label %3440

3440:                                             ; preds = %3439
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #8
  %3441 = call ptr @__errno_location() #9
  %3442 = load i32, ptr %3441, align 4, !tbaa !5
  store i32 %3442, ptr %75, align 4, !tbaa !5
  %3443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3444 = call i32 @s2n_print_stacktrace(ptr noundef %3443)
  %3445 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3446 = trunc i8 %3445 to i1
  br i1 %3446, label %3447, label %3469

3447:                                             ; preds = %3440
  %3448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3449 = call i32 @fileno(ptr noundef %3448) #8
  %3450 = call i32 @isatty(i32 noundef %3449) #8
  %3451 = icmp ne i32 %3450, 0
  br i1 %3451, label %3452, label %3469

3452:                                             ; preds = %3447
  %3453 = load i32, ptr %75, align 4, !tbaa !5
  %3454 = call ptr @__errno_location() #9
  store i32 %3453, ptr %3454, align 4, !tbaa !5
  %3455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3456 = load i32, ptr @test_count, align 4, !tbaa !5
  %3457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3458 = load i32, ptr %3457, align 4, !tbaa !5
  %3459 = call ptr @s2n_strerror(i32 noundef %3458, ptr noundef @.str.4)
  %3460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3461 = load i32, ptr %3460, align 4, !tbaa !5
  %3462 = call ptr @s2n_strerror_debug(i32 noundef %3461, ptr noundef @.str.4)
  %3463 = call ptr @__errno_location() #9
  %3464 = load i32, ptr %3463, align 4, !tbaa !5
  %3465 = call ptr @strerror(i32 noundef %3464) #8
  %3466 = call ptr @__errno_location() #9
  %3467 = load i32, ptr %3466, align 4, !tbaa !5
  %3468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3455, ptr noundef @.str.2, i32 noundef %3456, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 141, ptr noundef %3459, ptr noundef %3462, ptr noundef %3465, i32 noundef %3467) #8
  br label %3486

3469:                                             ; preds = %3447, %3440
  %3470 = load i32, ptr %75, align 4, !tbaa !5
  %3471 = call ptr @__errno_location() #9
  store i32 %3470, ptr %3471, align 4, !tbaa !5
  %3472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3473 = load i32, ptr @test_count, align 4, !tbaa !5
  %3474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3475 = load i32, ptr %3474, align 4, !tbaa !5
  %3476 = call ptr @s2n_strerror(i32 noundef %3475, ptr noundef @.str.4)
  %3477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3478 = load i32, ptr %3477, align 4, !tbaa !5
  %3479 = call ptr @s2n_strerror_debug(i32 noundef %3478, ptr noundef @.str.4)
  %3480 = call ptr @__errno_location() #9
  %3481 = load i32, ptr %3480, align 4, !tbaa !5
  %3482 = call ptr @strerror(i32 noundef %3481) #8
  %3483 = call ptr @__errno_location() #9
  %3484 = load i32, ptr %3483, align 4, !tbaa !5
  %3485 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3472, ptr noundef @.str.5, i32 noundef %3473, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 141, ptr noundef %3476, ptr noundef %3479, ptr noundef %3482, i32 noundef %3484) #8
  br label %3486

3486:                                             ; preds = %3469, %3452
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #8
  br label %3487

3487:                                             ; preds = %3486
  br label %3488

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

3489:                                             ; No predecessors!
  br label %3490

3490:                                             ; preds = %3489
  br label %3491

3491:                                             ; preds = %3490, %3433
  br label %3492

3492:                                             ; preds = %3491
  br label %3493

3493:                                             ; preds = %3492
  br label %3494

3494:                                             ; preds = %3493
  %3495 = load i32, ptr @test_count, align 4, !tbaa !5
  %3496 = add nsw i32 %3495, 1
  store i32 %3496, ptr @test_count, align 4, !tbaa !5
  %3497 = load ptr, ptr %71, align 8, !tbaa !9
  %3498 = getelementptr inbounds %struct.s2n_connection, ptr %3497, i32 0, i32 1
  %3499 = load ptr, ptr %3498, align 8, !tbaa !50
  %3500 = call i32 @s2n_config_send_max_fragment_length(ptr noundef %3499, i32 noundef 1)
  %3501 = icmp eq i32 %3500, -1
  br i1 %3501, label %3502, label %3555

3502:                                             ; preds = %3494
  br label %3503

3503:                                             ; preds = %3502
  br label %3504

3504:                                             ; preds = %3503
  call void @llvm.lifetime.start.p0(i64 4, ptr %76) #8
  %3505 = call ptr @__errno_location() #9
  %3506 = load i32, ptr %3505, align 4, !tbaa !5
  store i32 %3506, ptr %76, align 4, !tbaa !5
  %3507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3508 = call i32 @s2n_print_stacktrace(ptr noundef %3507)
  %3509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3510 = trunc i8 %3509 to i1
  br i1 %3510, label %3511, label %3533

3511:                                             ; preds = %3504
  %3512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3513 = call i32 @fileno(ptr noundef %3512) #8
  %3514 = call i32 @isatty(i32 noundef %3513) #8
  %3515 = icmp ne i32 %3514, 0
  br i1 %3515, label %3516, label %3533

3516:                                             ; preds = %3511
  %3517 = load i32, ptr %76, align 4, !tbaa !5
  %3518 = call ptr @__errno_location() #9
  store i32 %3517, ptr %3518, align 4, !tbaa !5
  %3519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3520 = load i32, ptr @test_count, align 4, !tbaa !5
  %3521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3522 = load i32, ptr %3521, align 4, !tbaa !5
  %3523 = call ptr @s2n_strerror(i32 noundef %3522, ptr noundef @.str.4)
  %3524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3525 = load i32, ptr %3524, align 4, !tbaa !5
  %3526 = call ptr @s2n_strerror_debug(i32 noundef %3525, ptr noundef @.str.4)
  %3527 = call ptr @__errno_location() #9
  %3528 = load i32, ptr %3527, align 4, !tbaa !5
  %3529 = call ptr @strerror(i32 noundef %3528) #8
  %3530 = call ptr @__errno_location() #9
  %3531 = load i32, ptr %3530, align 4, !tbaa !5
  %3532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3519, ptr noundef @.str.2, i32 noundef %3520, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 143, ptr noundef %3523, ptr noundef %3526, ptr noundef %3529, i32 noundef %3531) #8
  br label %3550

3533:                                             ; preds = %3511, %3504
  %3534 = load i32, ptr %76, align 4, !tbaa !5
  %3535 = call ptr @__errno_location() #9
  store i32 %3534, ptr %3535, align 4, !tbaa !5
  %3536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3537 = load i32, ptr @test_count, align 4, !tbaa !5
  %3538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3539 = load i32, ptr %3538, align 4, !tbaa !5
  %3540 = call ptr @s2n_strerror(i32 noundef %3539, ptr noundef @.str.4)
  %3541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3542 = load i32, ptr %3541, align 4, !tbaa !5
  %3543 = call ptr @s2n_strerror_debug(i32 noundef %3542, ptr noundef @.str.4)
  %3544 = call ptr @__errno_location() #9
  %3545 = load i32, ptr %3544, align 4, !tbaa !5
  %3546 = call ptr @strerror(i32 noundef %3545) #8
  %3547 = call ptr @__errno_location() #9
  %3548 = load i32, ptr %3547, align 4, !tbaa !5
  %3549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3536, ptr noundef @.str.5, i32 noundef %3537, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 143, ptr noundef %3540, ptr noundef %3543, ptr noundef %3546, i32 noundef %3548) #8
  br label %3550

3550:                                             ; preds = %3533, %3516
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #8
  br label %3551

3551:                                             ; preds = %3550
  br label %3552

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

3553:                                             ; No predecessors!
  br label %3554

3554:                                             ; preds = %3553
  br label %3555

3555:                                             ; preds = %3554, %3494
  br label %3556

3556:                                             ; preds = %3555
  br label %3557

3557:                                             ; preds = %3556
  br label %3558

3558:                                             ; preds = %3557
  %3559 = load i32, ptr @test_count, align 4, !tbaa !5
  %3560 = add nsw i32 %3559, 1
  store i32 %3560, ptr @test_count, align 4, !tbaa !5
  %3561 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_max_frag_len_extension, i32 0, i32 3), align 8, !tbaa !18
  %3562 = load ptr, ptr %71, align 8, !tbaa !9
  %3563 = call i32 %3561(ptr noundef %3562, ptr noundef %74)
  %3564 = icmp eq i32 %3563, -1
  br i1 %3564, label %3565, label %3618

3565:                                             ; preds = %3558
  br label %3566

3566:                                             ; preds = %3565
  br label %3567

3567:                                             ; preds = %3566
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #8
  %3568 = call ptr @__errno_location() #9
  %3569 = load i32, ptr %3568, align 4, !tbaa !5
  store i32 %3569, ptr %77, align 4, !tbaa !5
  %3570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3571 = call i32 @s2n_print_stacktrace(ptr noundef %3570)
  %3572 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3573 = trunc i8 %3572 to i1
  br i1 %3573, label %3574, label %3596

3574:                                             ; preds = %3567
  %3575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3576 = call i32 @fileno(ptr noundef %3575) #8
  %3577 = call i32 @isatty(i32 noundef %3576) #8
  %3578 = icmp ne i32 %3577, 0
  br i1 %3578, label %3579, label %3596

3579:                                             ; preds = %3574
  %3580 = load i32, ptr %77, align 4, !tbaa !5
  %3581 = call ptr @__errno_location() #9
  store i32 %3580, ptr %3581, align 4, !tbaa !5
  %3582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3583 = load i32, ptr @test_count, align 4, !tbaa !5
  %3584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3585 = load i32, ptr %3584, align 4, !tbaa !5
  %3586 = call ptr @s2n_strerror(i32 noundef %3585, ptr noundef @.str.4)
  %3587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3588 = load i32, ptr %3587, align 4, !tbaa !5
  %3589 = call ptr @s2n_strerror_debug(i32 noundef %3588, ptr noundef @.str.4)
  %3590 = call ptr @__errno_location() #9
  %3591 = load i32, ptr %3590, align 4, !tbaa !5
  %3592 = call ptr @strerror(i32 noundef %3591) #8
  %3593 = call ptr @__errno_location() #9
  %3594 = load i32, ptr %3593, align 4, !tbaa !5
  %3595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3582, ptr noundef @.str.2, i32 noundef %3583, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 144, ptr noundef %3586, ptr noundef %3589, ptr noundef %3592, i32 noundef %3594) #8
  br label %3613

3596:                                             ; preds = %3574, %3567
  %3597 = load i32, ptr %77, align 4, !tbaa !5
  %3598 = call ptr @__errno_location() #9
  store i32 %3597, ptr %3598, align 4, !tbaa !5
  %3599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3600 = load i32, ptr @test_count, align 4, !tbaa !5
  %3601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3602 = load i32, ptr %3601, align 4, !tbaa !5
  %3603 = call ptr @s2n_strerror(i32 noundef %3602, ptr noundef @.str.4)
  %3604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3605 = load i32, ptr %3604, align 4, !tbaa !5
  %3606 = call ptr @s2n_strerror_debug(i32 noundef %3605, ptr noundef @.str.4)
  %3607 = call ptr @__errno_location() #9
  %3608 = load i32, ptr %3607, align 4, !tbaa !5
  %3609 = call ptr @strerror(i32 noundef %3608) #8
  %3610 = call ptr @__errno_location() #9
  %3611 = load i32, ptr %3610, align 4, !tbaa !5
  %3612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3599, ptr noundef @.str.5, i32 noundef %3600, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 144, ptr noundef %3603, ptr noundef %3606, ptr noundef %3609, i32 noundef %3611) #8
  br label %3613

3613:                                             ; preds = %3596, %3579
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #8
  br label %3614

3614:                                             ; preds = %3613
  br label %3615

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

3616:                                             ; No predecessors!
  br label %3617

3617:                                             ; preds = %3616
  br label %3618

3618:                                             ; preds = %3617, %3558
  br label %3619

3619:                                             ; preds = %3618
  br label %3620

3620:                                             ; preds = %3619
  br label %3621

3621:                                             ; preds = %3620
  %3622 = load i32, ptr @test_count, align 4, !tbaa !5
  %3623 = add nsw i32 %3622, 1
  store i32 %3623, ptr @test_count, align 4, !tbaa !5
  %3624 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_max_frag_len_extension, i32 0, i32 4), align 8, !tbaa !24
  %3625 = load ptr, ptr %71, align 8, !tbaa !9
  %3626 = call i32 %3624(ptr noundef %3625, ptr noundef %74)
  %3627 = icmp eq i32 %3626, -1
  br i1 %3627, label %3628, label %3681

3628:                                             ; preds = %3621
  br label %3629

3629:                                             ; preds = %3628
  br label %3630

3630:                                             ; preds = %3629
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #8
  %3631 = call ptr @__errno_location() #9
  %3632 = load i32, ptr %3631, align 4, !tbaa !5
  store i32 %3632, ptr %78, align 4, !tbaa !5
  %3633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3634 = call i32 @s2n_print_stacktrace(ptr noundef %3633)
  %3635 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3636 = trunc i8 %3635 to i1
  br i1 %3636, label %3637, label %3659

3637:                                             ; preds = %3630
  %3638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3639 = call i32 @fileno(ptr noundef %3638) #8
  %3640 = call i32 @isatty(i32 noundef %3639) #8
  %3641 = icmp ne i32 %3640, 0
  br i1 %3641, label %3642, label %3659

3642:                                             ; preds = %3637
  %3643 = load i32, ptr %78, align 4, !tbaa !5
  %3644 = call ptr @__errno_location() #9
  store i32 %3643, ptr %3644, align 4, !tbaa !5
  %3645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3646 = load i32, ptr @test_count, align 4, !tbaa !5
  %3647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3648 = load i32, ptr %3647, align 4, !tbaa !5
  %3649 = call ptr @s2n_strerror(i32 noundef %3648, ptr noundef @.str.4)
  %3650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3651 = load i32, ptr %3650, align 4, !tbaa !5
  %3652 = call ptr @s2n_strerror_debug(i32 noundef %3651, ptr noundef @.str.4)
  %3653 = call ptr @__errno_location() #9
  %3654 = load i32, ptr %3653, align 4, !tbaa !5
  %3655 = call ptr @strerror(i32 noundef %3654) #8
  %3656 = call ptr @__errno_location() #9
  %3657 = load i32, ptr %3656, align 4, !tbaa !5
  %3658 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3645, ptr noundef @.str.2, i32 noundef %3646, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 147, ptr noundef %3649, ptr noundef %3652, ptr noundef %3655, i32 noundef %3657) #8
  br label %3676

3659:                                             ; preds = %3637, %3630
  %3660 = load i32, ptr %78, align 4, !tbaa !5
  %3661 = call ptr @__errno_location() #9
  store i32 %3660, ptr %3661, align 4, !tbaa !5
  %3662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3663 = load i32, ptr @test_count, align 4, !tbaa !5
  %3664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3665 = load i32, ptr %3664, align 4, !tbaa !5
  %3666 = call ptr @s2n_strerror(i32 noundef %3665, ptr noundef @.str.4)
  %3667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3668 = load i32, ptr %3667, align 4, !tbaa !5
  %3669 = call ptr @s2n_strerror_debug(i32 noundef %3668, ptr noundef @.str.4)
  %3670 = call ptr @__errno_location() #9
  %3671 = load i32, ptr %3670, align 4, !tbaa !5
  %3672 = call ptr @strerror(i32 noundef %3671) #8
  %3673 = call ptr @__errno_location() #9
  %3674 = load i32, ptr %3673, align 4, !tbaa !5
  %3675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3662, ptr noundef @.str.5, i32 noundef %3663, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 147, ptr noundef %3666, ptr noundef %3669, ptr noundef %3672, i32 noundef %3674) #8
  br label %3676

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

3677:                                             ; preds = %3676
  br label %3678

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

3679:                                             ; No predecessors!
  br label %3680

3680:                                             ; preds = %3679
  br label %3681

3681:                                             ; preds = %3680, %3621
  br label %3682

3682:                                             ; preds = %3681
  br label %3683

3683:                                             ; preds = %3682
  br label %3684

3684:                                             ; preds = %3683
  %3685 = load i32, ptr @test_count, align 4, !tbaa !5
  %3686 = add nsw i32 %3685, 1
  store i32 %3686, ptr @test_count, align 4, !tbaa !5
  %3687 = load ptr, ptr %71, align 8, !tbaa !9
  %3688 = getelementptr inbounds %struct.s2n_connection, ptr %3687, i32 0, i32 57
  %3689 = load i8, ptr %3688, align 8, !tbaa !25
  %3690 = zext i8 %3689 to i32
  %3691 = icmp eq i32 %3690, 1
  br i1 %3691, label %3745, label %3692

3692:                                             ; preds = %3684
  br label %3693

3693:                                             ; preds = %3692
  br label %3694

3694:                                             ; preds = %3693
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #8
  %3695 = call ptr @__errno_location() #9
  %3696 = load i32, ptr %3695, align 4, !tbaa !5
  store i32 %3696, ptr %79, align 4, !tbaa !5
  %3697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3698 = call i32 @s2n_print_stacktrace(ptr noundef %3697)
  %3699 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3700 = trunc i8 %3699 to i1
  br i1 %3700, label %3701, label %3723

3701:                                             ; preds = %3694
  %3702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3703 = call i32 @fileno(ptr noundef %3702) #8
  %3704 = call i32 @isatty(i32 noundef %3703) #8
  %3705 = icmp ne i32 %3704, 0
  br i1 %3705, label %3706, label %3723

3706:                                             ; preds = %3701
  %3707 = load i32, ptr %79, align 4, !tbaa !5
  %3708 = call ptr @__errno_location() #9
  store i32 %3707, ptr %3708, align 4, !tbaa !5
  %3709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3710 = load i32, ptr @test_count, align 4, !tbaa !5
  %3711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3712 = load i32, ptr %3711, align 4, !tbaa !5
  %3713 = call ptr @s2n_strerror(i32 noundef %3712, ptr noundef @.str.4)
  %3714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3715 = load i32, ptr %3714, align 4, !tbaa !5
  %3716 = call ptr @s2n_strerror_debug(i32 noundef %3715, ptr noundef @.str.4)
  %3717 = call ptr @__errno_location() #9
  %3718 = load i32, ptr %3717, align 4, !tbaa !5
  %3719 = call ptr @strerror(i32 noundef %3718) #8
  %3720 = call ptr @__errno_location() #9
  %3721 = load i32, ptr %3720, align 4, !tbaa !5
  %3722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3709, ptr noundef @.str.2, i32 noundef %3710, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 148, ptr noundef %3713, ptr noundef %3716, ptr noundef %3719, i32 noundef %3721) #8
  br label %3740

3723:                                             ; preds = %3701, %3694
  %3724 = load i32, ptr %79, align 4, !tbaa !5
  %3725 = call ptr @__errno_location() #9
  store i32 %3724, ptr %3725, align 4, !tbaa !5
  %3726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3727 = load i32, ptr @test_count, align 4, !tbaa !5
  %3728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3729 = load i32, ptr %3728, align 4, !tbaa !5
  %3730 = call ptr @s2n_strerror(i32 noundef %3729, ptr noundef @.str.4)
  %3731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3732 = load i32, ptr %3731, align 4, !tbaa !5
  %3733 = call ptr @s2n_strerror_debug(i32 noundef %3732, ptr noundef @.str.4)
  %3734 = call ptr @__errno_location() #9
  %3735 = load i32, ptr %3734, align 4, !tbaa !5
  %3736 = call ptr @strerror(i32 noundef %3735) #8
  %3737 = call ptr @__errno_location() #9
  %3738 = load i32, ptr %3737, align 4, !tbaa !5
  %3739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3726, ptr noundef @.str.5, i32 noundef %3727, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 148, ptr noundef %3730, ptr noundef %3733, ptr noundef %3736, i32 noundef %3738) #8
  br label %3740

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

3741:                                             ; preds = %3740
  br label %3742

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

3743:                                             ; No predecessors!
  br label %3744

3744:                                             ; preds = %3743
  br label %3745

3745:                                             ; preds = %3744, %3684
  br label %3746

3746:                                             ; preds = %3745
  br label %3747

3747:                                             ; preds = %3746
  br label %3748

3748:                                             ; preds = %3747
  %3749 = load i32, ptr @test_count, align 4, !tbaa !5
  %3750 = add nsw i32 %3749, 1
  store i32 %3750, ptr @test_count, align 4, !tbaa !5
  %3751 = load ptr, ptr %71, align 8, !tbaa !9
  %3752 = getelementptr inbounds %struct.s2n_connection, ptr %3751, i32 0, i32 53
  %3753 = load i16, ptr %3752, align 8, !tbaa !49
  %3754 = zext i16 %3753 to i32
  %3755 = load i16, ptr getelementptr inbounds ([5 x i16], ptr @mfl_code_to_length, i64 0, i64 1), align 2, !tbaa !55
  %3756 = zext i16 %3755 to i32
  %3757 = icmp eq i32 %3754, %3756
  br i1 %3757, label %3811, label %3758

3758:                                             ; preds = %3748
  br label %3759

3759:                                             ; preds = %3758
  br label %3760

3760:                                             ; preds = %3759
  call void @llvm.lifetime.start.p0(i64 4, ptr %80) #8
  %3761 = call ptr @__errno_location() #9
  %3762 = load i32, ptr %3761, align 4, !tbaa !5
  store i32 %3762, ptr %80, align 4, !tbaa !5
  %3763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3764 = call i32 @s2n_print_stacktrace(ptr noundef %3763)
  %3765 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3766 = trunc i8 %3765 to i1
  br i1 %3766, label %3767, label %3789

3767:                                             ; preds = %3760
  %3768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3769 = call i32 @fileno(ptr noundef %3768) #8
  %3770 = call i32 @isatty(i32 noundef %3769) #8
  %3771 = icmp ne i32 %3770, 0
  br i1 %3771, label %3772, label %3789

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

3789:                                             ; preds = %3767, %3760
  %3790 = load i32, ptr %80, align 4, !tbaa !5
  %3791 = call ptr @__errno_location() #9
  store i32 %3790, ptr %3791, align 4, !tbaa !5
  %3792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3793 = load i32, ptr @test_count, align 4, !tbaa !5
  %3794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3795 = load i32, ptr %3794, align 4, !tbaa !5
  %3796 = call ptr @s2n_strerror(i32 noundef %3795, ptr noundef @.str.4)
  %3797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3798 = load i32, ptr %3797, align 4, !tbaa !5
  %3799 = call ptr @s2n_strerror_debug(i32 noundef %3798, ptr noundef @.str.4)
  %3800 = call ptr @__errno_location() #9
  %3801 = load i32, ptr %3800, align 4, !tbaa !5
  %3802 = call ptr @strerror(i32 noundef %3801) #8
  %3803 = call ptr @__errno_location() #9
  %3804 = load i32, ptr %3803, align 4, !tbaa !5
  %3805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3792, ptr noundef @.str.5, i32 noundef %3793, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 149, ptr noundef %3796, ptr noundef %3799, ptr noundef %3802, i32 noundef %3804) #8
  br label %3806

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

3807:                                             ; preds = %3806
  br label %3808

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

3809:                                             ; No predecessors!
  br label %3810

3810:                                             ; preds = %3809
  br label %3811

3811:                                             ; preds = %3810, %3748
  br label %3812

3812:                                             ; preds = %3811
  br label %3813

3813:                                             ; preds = %3812
  br label %3814

3814:                                             ; preds = %3813
  %3815 = load i32, ptr @test_count, align 4, !tbaa !5
  %3816 = add nsw i32 %3815, 1
  store i32 %3816, ptr @test_count, align 4, !tbaa !5
  %3817 = getelementptr inbounds %struct.s2n_stuffer, ptr %74, i32 0, i32 2
  %3818 = load i32, ptr %3817, align 4, !tbaa !20
  %3819 = getelementptr inbounds %struct.s2n_stuffer, ptr %74, i32 0, i32 1
  %3820 = load i32, ptr %3819, align 8, !tbaa !23
  %3821 = sub i32 %3818, %3820
  %3822 = icmp eq i32 %3821, 0
  br i1 %3822, label %3876, label %3823

3823:                                             ; preds = %3814
  br label %3824

3824:                                             ; preds = %3823
  br label %3825

3825:                                             ; preds = %3824
  call void @llvm.lifetime.start.p0(i64 4, ptr %81) #8
  %3826 = call ptr @__errno_location() #9
  %3827 = load i32, ptr %3826, align 4, !tbaa !5
  store i32 %3827, ptr %81, align 4, !tbaa !5
  %3828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3829 = call i32 @s2n_print_stacktrace(ptr noundef %3828)
  %3830 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3831 = trunc i8 %3830 to i1
  br i1 %3831, label %3832, label %3854

3832:                                             ; preds = %3825
  %3833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3834 = call i32 @fileno(ptr noundef %3833) #8
  %3835 = call i32 @isatty(i32 noundef %3834) #8
  %3836 = icmp ne i32 %3835, 0
  br i1 %3836, label %3837, label %3854

3837:                                             ; preds = %3832
  %3838 = load i32, ptr %81, align 4, !tbaa !5
  %3839 = call ptr @__errno_location() #9
  store i32 %3838, ptr %3839, align 4, !tbaa !5
  %3840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3841 = load i32, ptr @test_count, align 4, !tbaa !5
  %3842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3843 = load i32, ptr %3842, align 4, !tbaa !5
  %3844 = call ptr @s2n_strerror(i32 noundef %3843, ptr noundef @.str.4)
  %3845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3846 = load i32, ptr %3845, align 4, !tbaa !5
  %3847 = call ptr @s2n_strerror_debug(i32 noundef %3846, ptr noundef @.str.4)
  %3848 = call ptr @__errno_location() #9
  %3849 = load i32, ptr %3848, align 4, !tbaa !5
  %3850 = call ptr @strerror(i32 noundef %3849) #8
  %3851 = call ptr @__errno_location() #9
  %3852 = load i32, ptr %3851, align 4, !tbaa !5
  %3853 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3840, ptr noundef @.str.2, i32 noundef %3841, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 150, ptr noundef %3844, ptr noundef %3847, ptr noundef %3850, i32 noundef %3852) #8
  br label %3871

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

3871:                                             ; preds = %3854, %3837
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #8
  br label %3872

3872:                                             ; preds = %3871
  br label %3873

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

3874:                                             ; No predecessors!
  br label %3875

3875:                                             ; preds = %3874
  br label %3876

3876:                                             ; preds = %3875, %3814
  br label %3877

3877:                                             ; preds = %3876
  br label %3878

3878:                                             ; preds = %3877
  br label %3879

3879:                                             ; preds = %3878
  %3880 = load i32, ptr @test_count, align 4, !tbaa !5
  %3881 = add nsw i32 %3880, 1
  store i32 %3881, ptr @test_count, align 4, !tbaa !5
  %3882 = call i32 @s2n_stuffer_free(ptr noundef %74)
  %3883 = icmp eq i32 %3882, -1
  br i1 %3883, label %3884, label %3937

3884:                                             ; preds = %3879
  br label %3885

3885:                                             ; preds = %3884
  br label %3886

3886:                                             ; preds = %3885
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #8
  %3887 = call ptr @__errno_location() #9
  %3888 = load i32, ptr %3887, align 4, !tbaa !5
  store i32 %3888, ptr %82, align 4, !tbaa !5
  %3889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3890 = call i32 @s2n_print_stacktrace(ptr noundef %3889)
  %3891 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3892 = trunc i8 %3891 to i1
  br i1 %3892, label %3893, label %3915

3893:                                             ; preds = %3886
  %3894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3895 = call i32 @fileno(ptr noundef %3894) #8
  %3896 = call i32 @isatty(i32 noundef %3895) #8
  %3897 = icmp ne i32 %3896, 0
  br i1 %3897, label %3898, label %3915

3898:                                             ; preds = %3893
  %3899 = load i32, ptr %82, align 4, !tbaa !5
  %3900 = call ptr @__errno_location() #9
  store i32 %3899, ptr %3900, align 4, !tbaa !5
  %3901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3902 = load i32, ptr @test_count, align 4, !tbaa !5
  %3903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3904 = load i32, ptr %3903, align 4, !tbaa !5
  %3905 = call ptr @s2n_strerror(i32 noundef %3904, ptr noundef @.str.4)
  %3906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3907 = load i32, ptr %3906, align 4, !tbaa !5
  %3908 = call ptr @s2n_strerror_debug(i32 noundef %3907, ptr noundef @.str.4)
  %3909 = call ptr @__errno_location() #9
  %3910 = load i32, ptr %3909, align 4, !tbaa !5
  %3911 = call ptr @strerror(i32 noundef %3910) #8
  %3912 = call ptr @__errno_location() #9
  %3913 = load i32, ptr %3912, align 4, !tbaa !5
  %3914 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3901, ptr noundef @.str.2, i32 noundef %3902, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 152, ptr noundef %3905, ptr noundef %3908, ptr noundef %3911, i32 noundef %3913) #8
  br label %3932

3915:                                             ; preds = %3893, %3886
  %3916 = load i32, ptr %82, align 4, !tbaa !5
  %3917 = call ptr @__errno_location() #9
  store i32 %3916, ptr %3917, align 4, !tbaa !5
  %3918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3919 = load i32, ptr @test_count, align 4, !tbaa !5
  %3920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3921 = load i32, ptr %3920, align 4, !tbaa !5
  %3922 = call ptr @s2n_strerror(i32 noundef %3921, ptr noundef @.str.4)
  %3923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3924 = load i32, ptr %3923, align 4, !tbaa !5
  %3925 = call ptr @s2n_strerror_debug(i32 noundef %3924, ptr noundef @.str.4)
  %3926 = call ptr @__errno_location() #9
  %3927 = load i32, ptr %3926, align 4, !tbaa !5
  %3928 = call ptr @strerror(i32 noundef %3927) #8
  %3929 = call ptr @__errno_location() #9
  %3930 = load i32, ptr %3929, align 4, !tbaa !5
  %3931 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3918, ptr noundef @.str.5, i32 noundef %3919, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 152, ptr noundef %3922, ptr noundef %3925, ptr noundef %3928, i32 noundef %3930) #8
  br label %3932

3932:                                             ; preds = %3915, %3898
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #8
  br label %3933

3933:                                             ; preds = %3932
  br label %3934

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

3935:                                             ; No predecessors!
  br label %3936

3936:                                             ; preds = %3935
  br label %3937

3937:                                             ; preds = %3936, %3879
  br label %3938

3938:                                             ; preds = %3937
  br label %3939

3939:                                             ; preds = %3938
  br label %3940

3940:                                             ; preds = %3939
  %3941 = load i32, ptr @test_count, align 4, !tbaa !5
  %3942 = add nsw i32 %3941, 1
  store i32 %3942, ptr @test_count, align 4, !tbaa !5
  %3943 = load ptr, ptr %71, align 8, !tbaa !9
  %3944 = call i32 @s2n_connection_free(ptr noundef %3943)
  %3945 = icmp eq i32 %3944, -1
  br i1 %3945, label %3946, label %3999

3946:                                             ; preds = %3940
  br label %3947

3947:                                             ; preds = %3946
  br label %3948

3948:                                             ; preds = %3947
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #8
  %3949 = call ptr @__errno_location() #9
  %3950 = load i32, ptr %3949, align 4, !tbaa !5
  store i32 %3950, ptr %83, align 4, !tbaa !5
  %3951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3952 = call i32 @s2n_print_stacktrace(ptr noundef %3951)
  %3953 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3954 = trunc i8 %3953 to i1
  br i1 %3954, label %3955, label %3977

3955:                                             ; preds = %3948
  %3956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3957 = call i32 @fileno(ptr noundef %3956) #8
  %3958 = call i32 @isatty(i32 noundef %3957) #8
  %3959 = icmp ne i32 %3958, 0
  br i1 %3959, label %3960, label %3977

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

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

3994:                                             ; preds = %3977, %3960
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #8
  br label %3995

3995:                                             ; preds = %3994
  br label %3996

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

3997:                                             ; No predecessors!
  br label %3998

3998:                                             ; preds = %3997
  br label %3999

3999:                                             ; preds = %3998, %3940
  br label %4000

4000:                                             ; preds = %3999
  br label %4001

4001:                                             ; preds = %4000
  br label %4002

4002:                                             ; preds = %4001
  %4003 = load i32, ptr @test_count, align 4, !tbaa !5
  %4004 = add nsw i32 %4003, 1
  store i32 %4004, ptr @test_count, align 4, !tbaa !5
  %4005 = load ptr, ptr %68, align 8, !tbaa !9
  %4006 = call i32 @s2n_config_free(ptr noundef %4005)
  %4007 = icmp eq i32 %4006, -1
  br i1 %4007, label %4008, label %4061

4008:                                             ; preds = %4002
  br label %4009

4009:                                             ; preds = %4008
  br label %4010

4010:                                             ; preds = %4009
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #8
  %4011 = call ptr @__errno_location() #9
  %4012 = load i32, ptr %4011, align 4, !tbaa !5
  store i32 %4012, ptr %84, align 4, !tbaa !5
  %4013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4014 = call i32 @s2n_print_stacktrace(ptr noundef %4013)
  %4015 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4016 = trunc i8 %4015 to i1
  br i1 %4016, label %4017, label %4039

4017:                                             ; preds = %4010
  %4018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4019 = call i32 @fileno(ptr noundef %4018) #8
  %4020 = call i32 @isatty(i32 noundef %4019) #8
  %4021 = icmp ne i32 %4020, 0
  br i1 %4021, label %4022, label %4039

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

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

4056:                                             ; preds = %4039, %4022
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #8
  br label %4057

4057:                                             ; preds = %4056
  br label %4058

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

4059:                                             ; No predecessors!
  br label %4060

4060:                                             ; preds = %4059
  br label %4061

4061:                                             ; preds = %4060, %4002
  br label %4062

4062:                                             ; preds = %4061
  br label %4063

4063:                                             ; preds = %4062
  call void @llvm.lifetime.end.p0(i64 40, ptr %74) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #8
  br label %4064

4064:                                             ; preds = %4063
  br label %4065

4065:                                             ; preds = %4064
  %4066 = call i32 @s2n_cleanup()
  %4067 = icmp eq i32 %4066, -1
  br i1 %4067, label %4068, label %4119

4068:                                             ; preds = %4065
  br label %4069

4069:                                             ; preds = %4068
  br label %4070

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

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

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

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

4116:                                             ; preds = %4099, %4082
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #8
  br label %4117

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

4118:                                             ; No predecessors!
  br label %4119

4119:                                             ; preds = %4118, %4065
  br label %4120

4120:                                             ; preds = %4119
  br label %4121

4121:                                             ; preds = %4120
  br label %4122

4122:                                             ; preds = %4121
  %4123 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %4124 = icmp eq i32 %4123, -1
  br i1 %4124, label %4125, label %4176

4125:                                             ; preds = %4122
  br label %4126

4126:                                             ; preds = %4125
  br label %4127

4127:                                             ; preds = %4126
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #8
  %4128 = call ptr @__errno_location() #9
  %4129 = load i32, ptr %4128, align 4, !tbaa !5
  store i32 %4129, ptr %86, align 4, !tbaa !5
  %4130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4131 = call i32 @s2n_print_stacktrace(ptr noundef %4130)
  %4132 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4133 = trunc i8 %4132 to i1
  br i1 %4133, label %4134, label %4156

4134:                                             ; preds = %4127
  %4135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4136 = call i32 @fileno(ptr noundef %4135) #8
  %4137 = call i32 @isatty(i32 noundef %4136) #8
  %4138 = icmp ne i32 %4137, 0
  br i1 %4138, label %4139, label %4156

4139:                                             ; preds = %4134
  %4140 = load i32, ptr %86, align 4, !tbaa !5
  %4141 = call ptr @__errno_location() #9
  store i32 %4140, ptr %4141, align 4, !tbaa !5
  %4142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4143 = load i32, ptr @test_count, align 4, !tbaa !5
  %4144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4145 = load i32, ptr %4144, align 4, !tbaa !5
  %4146 = call ptr @s2n_strerror(i32 noundef %4145, ptr noundef @.str.4)
  %4147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4148 = load i32, ptr %4147, align 4, !tbaa !5
  %4149 = call ptr @s2n_strerror_debug(i32 noundef %4148, ptr noundef @.str.4)
  %4150 = call ptr @__errno_location() #9
  %4151 = load i32, ptr %4150, align 4, !tbaa !5
  %4152 = call ptr @strerror(i32 noundef %4151) #8
  %4153 = call ptr @__errno_location() #9
  %4154 = load i32, ptr %4153, align 4, !tbaa !5
  %4155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4142, ptr noundef @.str.2, i32 noundef %4143, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 157, ptr noundef %4146, ptr noundef %4149, ptr noundef %4152, i32 noundef %4154) #8
  br label %4173

4156:                                             ; preds = %4134, %4127
  %4157 = load i32, ptr %86, align 4, !tbaa !5
  %4158 = call ptr @__errno_location() #9
  store i32 %4157, ptr %4158, align 4, !tbaa !5
  %4159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4160 = load i32, ptr @test_count, align 4, !tbaa !5
  %4161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4162 = load i32, ptr %4161, align 4, !tbaa !5
  %4163 = call ptr @s2n_strerror(i32 noundef %4162, ptr noundef @.str.4)
  %4164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4165 = load i32, ptr %4164, align 4, !tbaa !5
  %4166 = call ptr @s2n_strerror_debug(i32 noundef %4165, ptr noundef @.str.4)
  %4167 = call ptr @__errno_location() #9
  %4168 = load i32, ptr %4167, align 4, !tbaa !5
  %4169 = call ptr @strerror(i32 noundef %4168) #8
  %4170 = call ptr @__errno_location() #9
  %4171 = load i32, ptr %4170, align 4, !tbaa !5
  %4172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4159, ptr noundef @.str.5, i32 noundef %4160, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 157, ptr noundef %4163, ptr noundef %4166, ptr noundef %4169, i32 noundef %4171) #8
  br label %4173

4173:                                             ; preds = %4156, %4139
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #8
  br label %4174

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

4175:                                             ; No predecessors!
  br label %4176

4176:                                             ; preds = %4175, %4122
  br label %4177

4177:                                             ; preds = %4176
  %4178 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4179 = trunc i8 %4178 to i1
  br i1 %4179, label %4180, label %4196

4180:                                             ; preds = %4177
  %4181 = load ptr, ptr @stdout, align 8, !tbaa !9
  %4182 = call i32 @fileno(ptr noundef %4181) #8
  %4183 = call i32 @isatty(i32 noundef %4182) #8
  %4184 = icmp ne i32 %4183, 0
  br i1 %4184, label %4185, label %4196

4185:                                             ; preds = %4180
  %4186 = load i32, ptr @test_count, align 4, !tbaa !5
  %4187 = icmp ne i32 %4186, 0
  br i1 %4187, label %4188, label %4192

4188:                                             ; preds = %4185
  %4189 = load ptr, ptr @stdout, align 8, !tbaa !9
  %4190 = load i32, ptr @test_count, align 4, !tbaa !5
  %4191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4189, ptr noundef @.str.34, i32 noundef %4190) #8
  br label %4195

4192:                                             ; preds = %4185
  %4193 = load ptr, ptr @stdout, align 8, !tbaa !9
  %4194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4193, ptr noundef @.str.35) #8
  br label %4195

4195:                                             ; preds = %4192, %4188
  br label %4207

4196:                                             ; preds = %4180, %4177
  %4197 = load i32, ptr @test_count, align 4, !tbaa !5
  %4198 = icmp ne i32 %4197, 0
  br i1 %4198, label %4199, label %4203

4199:                                             ; preds = %4196
  %4200 = load ptr, ptr @stdout, align 8, !tbaa !9
  %4201 = load i32, ptr @test_count, align 4, !tbaa !5
  %4202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4200, ptr noundef @.str.36, i32 noundef %4201) #8
  br label %4206

4203:                                             ; preds = %4196
  %4204 = load ptr, ptr @stdout, align 8, !tbaa !9
  %4205 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4204, ptr noundef @.str.37) #8
  br label %4206

4206:                                             ; preds = %4203, %4199
  br label %4207

4207:                                             ; preds = %4206, %4195
  store i32 0, ptr %3, align 4
  br label %4209

4208:                                             ; No predecessors!
  br label %4209

4209:                                             ; preds = %4208, %4207
  %4210 = load i32, ptr %3, align 4
  ret i32 %4210
}

; 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_config_send_max_fragment_length(ptr noundef, i32 noundef) #2

declare i32 @s2n_connection_free(ptr noundef) #2

declare i32 @s2n_config_free(ptr noundef) #2

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #7

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

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

declare i32 @s2n_stuffer_free(ptr noundef) #2

declare i32 @s2n_config_accept_max_fragment_length(ptr noundef) #2

declare i32 @s2n_cleanup() #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #6 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nocallback nofree nounwind willreturn memory(argmem: 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 = !{!16, !10, i64 8}
!19 = !{!7, !7, i64 0}
!20 = !{!21, !6, i64 28}
!21 = !{!"s2n_stuffer", !22, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!22 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!23 = !{!21, !6, i64 24}
!24 = !{!16, !10, i64 16}
!25 = !{!26, !7, i64 2232}
!26 = !{!"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, !27, i64 160, !28, i64 168, !28, 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, !29, i64 240, !10, i64 632, !10, i64 640, !30, i64 648, !35, i64 1144, !38, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !21, i64 1776, !21, i64 1816, !21, i64 1856, !21, i64 1896, !6, i64 1936, !28, i64 1944, !7, i64 1952, !21, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !40, i64 2004, !40, i64 2008, !41, i64 2016, !17, i64 2208, !6, i64 2212, !17, i64 2216, !28, i64 2224, !7, i64 2232, !28, i64 2240, !28, i64 2248, !28, i64 2256, !40, i64 2264, !40, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !22, i64 2792, !6, i64 2816, !22, i64 2824, !22, i64 2848, !22, i64 2872, !43, i64 2896, !45, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !22, i64 3784, !6, i64 3808, !47, i64 3816, !7, i64 3848, !21, i64 3992, !22, i64 4032, !22, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !17, i64 4084, !17, i64 4086, !6, i64 4088, !6, i64 4092, !22, i64 4096, !6, i64 4120, !48, i64 4128, !40, i64 4176, !7, i64 4180, !7, i64 4181}
!27 = !{!"s2n_timer", !28, i64 0}
!28 = !{!"long", !7, i64 0}
!29 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!30 = !{!"s2n_kex_parameters", !31, i64 0, !32, i64 8, !7, i64 24, !32, i64 56, !33, i64 72, !33, i64 184, !7, i64 296, !34, i64 360, !22, i64 448, !22, i64 472}
!31 = !{!"s2n_dh_params", !10, i64 0}
!32 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!33 = !{!"s2n_kem_group_params", !10, i64 0, !34, i64 8, !32, i64 96}
!34 = !{!"s2n_kem_params", !10, i64 0, !22, i64 8, !22, i64 32, !22, i64 56, !12, i64 80}
!35 = !{!"s2n_handshake_parameters", !36, i64 0, !36, i64 48, !22, i64 96, !6, i64 120, !37, 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}
!36 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!37 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!38 = !{!"s2n_psk_parameters", !6, i64 0, !39, i64 8, !17, i64 40, !17, i64 42, !10, i64 48, !6, i64 56}
!39 = !{!"s2n_array", !22, i64 0, !6, i64 24, !6, i64 28}
!40 = !{!"", !6, i64 0}
!41 = !{!"s2n_handshake", !21, i64 0, !10, i64 40, !7, i64 48, !7, i64 56, !7, i64 104, !7, i64 152, !6, i64 156, !6, i64 160, !6, i64 164, !6, i64 168, !42, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!42 = !{!"s2n_offered_early_data", !10, i64 0}
!43 = !{!"s2n_client_hello", !22, i64 0, !44, i64 24, !22, i64 728, !22, i64 752, !22, i64 776, !7, i64 800, !7, i64 801, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802}
!44 = !{!"", !7, i64 0, !22, i64 672, !17, i64 696}
!45 = !{!"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, !46, i64 48, !12, i64 52}
!46 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!47 = !{!"s2n_ticket_fields", !22, i64 0, !6, i64 24}
!48 = !{!"s2n_post_handshake", !21, i64 0, !7, i64 40}
!49 = !{!26, !17, i64 2208}
!50 = !{!26, !10, i64 8}
!51 = !{!52, !7, i64 296}
!52 = !{!"s2n_config", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !53, i64 24, !22, i64 56, !10, i64 80, !10, i64 88, !10, i64 96, !10, i64 104, !10, i64 112, !10, i64 120, !6, i64 128, !6, i64 132, !10, i64 136, !28, i64 144, !10, i64 152, !28, i64 160, !28, i64 168, !10, i64 176, !10, i64 184, !10, i64 192, !10, i64 200, !10, i64 208, !10, i64 216, !6, i64 224, !7, i64 228, !6, i64 232, !6, i64 236, !10, i64 240, !10, i64 248, !10, i64 256, !10, i64 264, !10, i64 272, !10, i64 280, !10, i64 288, !7, i64 296, !7, i64 297, !54, i64 304, !17, i64 320, !10, i64 328, !10, i64 336, !10, i64 344, !10, i64 352, !10, i64 360, !10, i64 368, !10, i64 376, !10, i64 384, !6, i64 392, !6, i64 396, !6, i64 400, !10, i64 408, !6, i64 416, !6, i64 420, !10, i64 424, !10, i64 432, !6, i64 440, !22, i64 448}
!53 = !{!"certs_by_type", !7, i64 0}
!54 = !{!"s2n_x509_trust_store", !10, i64 0, !6, i64 8}
!55 = !{!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
@.str.12 = external hidden unnamed_addr constant [75 x i8], align 1
@s2n_client_max_frag_len_extension = external local_unnamed_addr constant %struct.s2n_extension_type, align 8
@.str.13 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [71 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 [100 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.37 = 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
  %.not255 = icmp eq i32 %24, 0
  br i1 %.not255, 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
  %.not254 = icmp eq i32 %53, 0
  br i1 %.not254, label %54, label %55

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

55:                                               ; preds = %50, %54
  %.str.5.sink266 = 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.sink266, 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
  %.not253 = icmp eq i32 %80, 0
  br i1 %.not253, label %81, label %82

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

82:                                               ; preds = %77, %81
  %.str.5.sink277 = 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.sink277, 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
  %.not252 = icmp eq i32 %109, 0
  br i1 %.not252, label %110, label %111

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

111:                                              ; preds = %106, %110
  %.str.5.sink288 = 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.sink288, 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
  %.not251 = icmp eq i32 %138, 0
  br i1 %.not251, label %139, label %140

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

140:                                              ; preds = %135, %139
  %.str.5.sink299 = 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.sink299, 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
  %.not250 = icmp eq i32 %167, 0
  br i1 %.not250, label %168, label %169

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

169:                                              ; preds = %164, %168
  %.str.5.sink310 = 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.sink310, 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
  %.not249 = icmp eq i32 %196, 0
  br i1 %.not249, label %197, label %198

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

198:                                              ; preds = %193, %197
  %.str.5.sink321 = 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.sink321, 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 = tail call i32 @s2n_config_send_max_fragment_length(ptr noundef nonnull %126, i32 noundef 0) #9
  %214 = icmp eq i32 %213, -1
  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
  %.not248 = icmp eq i32 %225, 0
  br i1 %.not248, label %226, label %227

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

227:                                              ; preds = %222, %226
  %.str.5.sink332 = 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.sink332, i32 noundef %229, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 34, 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 = load i32, ptr @test_count, align 4, !tbaa !5
  %241 = add nsw i32 %240, 1
  store i32 %241, ptr @test_count, align 4, !tbaa !5
  %242 = load ptr, ptr getelementptr inbounds (i8, ptr @s2n_client_max_frag_len_extension, i64 24), align 8, !tbaa !15
  %243 = tail call zeroext i1 %242(ptr noundef nonnull %155) #9
  br i1 %243, label %244, label %268

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
  %.not247 = icmp eq i32 %254, 0
  br i1 %.not247, label %255, label %256

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

256:                                              ; preds = %251, %255
  %.str.5.sink343 = 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.sink343, i32 noundef %258, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 35, 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_config_send_max_fragment_length(ptr noundef nonnull %126, i32 noundef 1) #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
  %.not246 = icmp eq i32 %283, 0
  br i1 %.not246, label %284, label %285

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

285:                                              ; preds = %280, %284
  %.str.5.sink354 = 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.sink354, i32 noundef %287, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 37, 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 zeroext i1 %242(ptr noundef nonnull %155) #9
  br i1 %300, label %325, label %301

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

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

312:                                              ; preds = %308, %301
  br label %313

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

325:                                              ; preds = %297
  %326 = load i32, ptr @test_count, align 4, !tbaa !5
  %327 = add nsw i32 %326, 1
  store i32 %327, ptr @test_count, align 4, !tbaa !5
  %328 = tail call i32 @s2n_connection_free(ptr noundef nonnull %155) #9
  %329 = icmp eq i32 %328, -1
  br i1 %329, label %330, label %354

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

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

341:                                              ; preds = %337, %330
  br label %342

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

354:                                              ; preds = %325
  %355 = load i32, ptr @test_count, align 4, !tbaa !5
  %356 = add nsw i32 %355, 1
  store i32 %356, ptr @test_count, align 4, !tbaa !5
  %357 = tail call i32 @s2n_config_free(ptr noundef nonnull %126) #9
  %358 = icmp eq i32 %357, -1
  br i1 %358, label %359, label %383

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

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

370:                                              ; preds = %366, %359
  br label %371

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

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

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

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

399:                                              ; preds = %395, %388
  br label %400

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

412:                                              ; preds = %383
  %413 = load i32, ptr @test_count, align 4, !tbaa !5
  %414 = add nsw i32 %413, 1
  store i32 %414, ptr @test_count, align 4, !tbaa !5
  %415 = tail call ptr @s2n_connection_new(i32 noundef 1) #9
  %416 = icmp eq ptr %415, null
  br i1 %416, label %417, label %441

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

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

428:                                              ; preds = %424, %417
  br label %429

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

441:                                              ; preds = %412
  %442 = load i32, ptr @test_count, align 4, !tbaa !5
  %443 = add nsw i32 %442, 1
  store i32 %443, ptr @test_count, align 4, !tbaa !5
  %444 = tail call i32 @s2n_connection_set_config(ptr noundef nonnull %415, ptr noundef nonnull %386) #9
  %445 = icmp eq i32 %444, -1
  br i1 %445, label %446, label %470

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

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

457:                                              ; preds = %453, %446
  br label %458

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

470:                                              ; preds = %441
  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)
  %471 = load i32, ptr @test_count, align 4, !tbaa !5
  %472 = add nsw i32 %471, 1
  store i32 %472, ptr @test_count, align 4, !tbaa !5
  %473 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %3, i32 noundef 0) #9
  %474 = icmp eq i32 %473, -1
  br i1 %474, label %475, label %499

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

482:                                              ; preds = %475
  %483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %484 = call i32 @fileno(ptr noundef %483) #9
  %485 = call i32 @isatty(i32 noundef %484) #9
  %.not240 = icmp eq i32 %485, 0
  br i1 %.not240, label %486, label %487

486:                                              ; preds = %482, %475
  br label %487

487:                                              ; preds = %482, %486
  %.str.5.sink431 = phi ptr [ @.str.5, %486 ], [ @.str.2, %482 ]
  store i32 %477, ptr %476, align 4, !tbaa !5
  %488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %489 = load i32, ptr @test_count, align 4, !tbaa !5
  %490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %491 = load i32, ptr %490, align 4, !tbaa !5
  %492 = call ptr @s2n_strerror(i32 noundef %491, ptr noundef nonnull @.str.4) #9
  %493 = load i32, ptr %490, align 4, !tbaa !5
  %494 = call ptr @s2n_strerror_debug(i32 noundef %493, ptr noundef nonnull @.str.4) #9
  %495 = load i32, ptr %476, align 4, !tbaa !5
  %496 = call ptr @strerror(i32 noundef %495) #9
  %497 = load i32, ptr %476, align 4, !tbaa !5
  %498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %488, ptr noundef nonnull %.str.5.sink431, i32 noundef %489, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 54, ptr noundef %492, ptr noundef %494, ptr noundef %496, i32 noundef %497) #11
  call void @exit(i32 noundef 1) #12
  unreachable

499:                                              ; preds = %470
  %500 = load i32, ptr @test_count, align 4, !tbaa !5
  %501 = add nsw i32 %500, 1
  store i32 %501, ptr @test_count, align 4, !tbaa !5
  %502 = call i32 @s2n_config_send_max_fragment_length(ptr noundef nonnull %386, i32 noundef 1) #9
  %503 = icmp eq i32 %502, -1
  br i1 %503, label %504, label %528

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

511:                                              ; preds = %504
  %512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %513 = call i32 @fileno(ptr noundef %512) #9
  %514 = call i32 @isatty(i32 noundef %513) #9
  %.not239 = icmp eq i32 %514, 0
  br i1 %.not239, label %515, label %516

515:                                              ; preds = %511, %504
  br label %516

516:                                              ; preds = %511, %515
  %.str.5.sink442 = phi ptr [ @.str.5, %515 ], [ @.str.2, %511 ]
  store i32 %506, ptr %505, align 4, !tbaa !5
  %517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %518 = load i32, ptr @test_count, align 4, !tbaa !5
  %519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %520 = load i32, ptr %519, align 4, !tbaa !5
  %521 = call ptr @s2n_strerror(i32 noundef %520, ptr noundef nonnull @.str.4) #9
  %522 = load i32, ptr %519, align 4, !tbaa !5
  %523 = call ptr @s2n_strerror_debug(i32 noundef %522, ptr noundef nonnull @.str.4) #9
  %524 = load i32, ptr %505, align 4, !tbaa !5
  %525 = call ptr @strerror(i32 noundef %524) #9
  %526 = load i32, ptr %505, align 4, !tbaa !5
  %527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %517, ptr noundef nonnull %.str.5.sink442, i32 noundef %518, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 56, ptr noundef %521, ptr noundef %523, ptr noundef %525, i32 noundef %526) #11
  call void @exit(i32 noundef 1) #12
  unreachable

528:                                              ; preds = %499
  %529 = load i32, ptr @test_count, align 4, !tbaa !5
  %530 = add nsw i32 %529, 1
  store i32 %530, ptr @test_count, align 4, !tbaa !5
  %531 = load ptr, ptr getelementptr inbounds (i8, ptr @s2n_client_max_frag_len_extension, i64 8), align 8, !tbaa !18
  %532 = call i32 %531(ptr noundef nonnull %415, ptr noundef nonnull %3) #9
  %533 = icmp eq i32 %532, -1
  br i1 %533, label %534, label %558

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

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

545:                                              ; preds = %541, %534
  br label %546

546:                                              ; preds = %541, %545
  %.str.5.sink453 = phi ptr [ @.str.5, %545 ], [ @.str.2, %541 ]
  store i32 %536, ptr %535, align 4, !tbaa !5
  %547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %548 = load i32, ptr @test_count, align 4, !tbaa !5
  %549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %550 = load i32, ptr %549, align 4, !tbaa !5
  %551 = call ptr @s2n_strerror(i32 noundef %550, ptr noundef nonnull @.str.4) #9
  %552 = load i32, ptr %549, align 4, !tbaa !5
  %553 = call ptr @s2n_strerror_debug(i32 noundef %552, ptr noundef nonnull @.str.4) #9
  %554 = load i32, ptr %535, align 4, !tbaa !5
  %555 = call ptr @strerror(i32 noundef %554) #9
  %556 = load i32, ptr %535, align 4, !tbaa !5
  %557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %547, ptr noundef nonnull %.str.5.sink453, i32 noundef %548, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 57, ptr noundef %551, ptr noundef %553, ptr noundef %555, i32 noundef %556) #11
  call void @exit(i32 noundef 1) #12
  unreachable

558:                                              ; preds = %528
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %4) #9
  store i8 0, ptr %4, align 1, !tbaa !19
  %559 = load i32, ptr @test_count, align 4, !tbaa !5
  %560 = add nsw i32 %559, 1
  store i32 %560, ptr @test_count, align 4, !tbaa !5
  %561 = call i32 @s2n_stuffer_read_uint8(ptr noundef nonnull %3, ptr noundef nonnull %4) #9
  %562 = icmp eq i32 %561, -1
  br i1 %562, label %563, label %587

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

570:                                              ; preds = %563
  %571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %572 = call i32 @fileno(ptr noundef %571) #9
  %573 = call i32 @isatty(i32 noundef %572) #9
  %.not237 = icmp eq i32 %573, 0
  br i1 %.not237, label %574, label %575

574:                                              ; preds = %570, %563
  br label %575

575:                                              ; preds = %570, %574
  %.str.5.sink464 = phi ptr [ @.str.5, %574 ], [ @.str.2, %570 ]
  store i32 %565, ptr %564, align 4, !tbaa !5
  %576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %577 = load i32, ptr @test_count, align 4, !tbaa !5
  %578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %579 = load i32, ptr %578, align 4, !tbaa !5
  %580 = call ptr @s2n_strerror(i32 noundef %579, ptr noundef nonnull @.str.4) #9
  %581 = load i32, ptr %578, align 4, !tbaa !5
  %582 = call ptr @s2n_strerror_debug(i32 noundef %581, ptr noundef nonnull @.str.4) #9
  %583 = load i32, ptr %564, align 4, !tbaa !5
  %584 = call ptr @strerror(i32 noundef %583) #9
  %585 = load i32, ptr %564, align 4, !tbaa !5
  %586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %576, ptr noundef nonnull %.str.5.sink464, i32 noundef %577, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 61, ptr noundef %580, ptr noundef %582, ptr noundef %584, i32 noundef %585) #11
  call void @exit(i32 noundef 1) #12
  unreachable

587:                                              ; preds = %558
  %588 = load i32, ptr @test_count, align 4, !tbaa !5
  %589 = add nsw i32 %588, 1
  store i32 %589, ptr @test_count, align 4, !tbaa !5
  %590 = load i8, ptr %4, align 1, !tbaa !19
  %591 = icmp eq i8 %590, 1
  br i1 %591, label %616, label %592

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

599:                                              ; preds = %592
  %600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %601 = call i32 @fileno(ptr noundef %600) #9
  %602 = call i32 @isatty(i32 noundef %601) #9
  %.not187 = icmp eq i32 %602, 0
  br i1 %.not187, label %603, label %604

603:                                              ; preds = %599, %592
  br label %604

604:                                              ; preds = %599, %603
  %.str.5.sink475 = phi ptr [ @.str.5, %603 ], [ @.str.2, %599 ]
  store i32 %594, ptr %593, align 4, !tbaa !5
  %605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %606 = load i32, ptr @test_count, align 4, !tbaa !5
  %607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %608 = load i32, ptr %607, align 4, !tbaa !5
  %609 = call ptr @s2n_strerror(i32 noundef %608, ptr noundef nonnull @.str.4) #9
  %610 = load i32, ptr %607, align 4, !tbaa !5
  %611 = call ptr @s2n_strerror_debug(i32 noundef %610, ptr noundef nonnull @.str.4) #9
  %612 = load i32, ptr %593, align 4, !tbaa !5
  %613 = call ptr @strerror(i32 noundef %612) #9
  %614 = load i32, ptr %593, align 4, !tbaa !5
  %615 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %605, ptr noundef nonnull %.str.5.sink475, i32 noundef %606, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 62, ptr noundef %609, ptr noundef %611, ptr noundef %613, i32 noundef %614) #11
  call void @exit(i32 noundef 1) #12
  unreachable

616:                                              ; preds = %587
  %617 = add nsw i32 %588, 2
  store i32 %617, ptr @test_count, align 4, !tbaa !5
  %618 = getelementptr inbounds i8, ptr %3, i64 28
  %619 = load i32, ptr %618, align 4, !tbaa !20
  %620 = getelementptr inbounds i8, ptr %3, i64 24
  %621 = load i32, ptr %620, align 8, !tbaa !23
  %622 = icmp eq i32 %619, %621
  br i1 %622, label %647, label %623

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

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

634:                                              ; preds = %630, %623
  br label %635

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

647:                                              ; preds = %616
  %648 = add nsw i32 %588, 3
  store i32 %648, ptr @test_count, align 4, !tbaa !5
  %649 = call i32 @s2n_stuffer_free(ptr noundef nonnull %3) #9
  %650 = icmp eq i32 %649, -1
  br i1 %650, label %651, label %675

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

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

662:                                              ; preds = %658, %651
  br label %663

663:                                              ; preds = %658, %662
  %.str.5.sink497 = phi ptr [ @.str.5, %662 ], [ @.str.2, %658 ]
  store i32 %653, ptr %652, align 4, !tbaa !5
  %664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %665 = load i32, ptr @test_count, align 4, !tbaa !5
  %666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %667 = load i32, ptr %666, align 4, !tbaa !5
  %668 = call ptr @s2n_strerror(i32 noundef %667, ptr noundef nonnull @.str.4) #9
  %669 = load i32, ptr %666, align 4, !tbaa !5
  %670 = call ptr @s2n_strerror_debug(i32 noundef %669, ptr noundef nonnull @.str.4) #9
  %671 = load i32, ptr %652, align 4, !tbaa !5
  %672 = call ptr @strerror(i32 noundef %671) #9
  %673 = load i32, ptr %652, align 4, !tbaa !5
  %674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %664, ptr noundef nonnull %.str.5.sink497, i32 noundef %665, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 65, ptr noundef %668, ptr noundef %670, ptr noundef %672, i32 noundef %673) #11
  call void @exit(i32 noundef 1) #12
  unreachable

675:                                              ; preds = %647
  %676 = load i32, ptr @test_count, align 4, !tbaa !5
  %677 = add nsw i32 %676, 1
  store i32 %677, ptr @test_count, align 4, !tbaa !5
  %678 = call i32 @s2n_connection_free(ptr noundef nonnull %415) #9
  %679 = icmp eq i32 %678, -1
  br i1 %679, label %680, label %704

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

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

691:                                              ; preds = %687, %680
  br label %692

692:                                              ; preds = %687, %691
  %.str.5.sink508 = phi ptr [ @.str.5, %691 ], [ @.str.2, %687 ]
  store i32 %682, ptr %681, align 4, !tbaa !5
  %693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %694 = load i32, ptr @test_count, align 4, !tbaa !5
  %695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %696 = load i32, ptr %695, align 4, !tbaa !5
  %697 = call ptr @s2n_strerror(i32 noundef %696, ptr noundef nonnull @.str.4) #9
  %698 = load i32, ptr %695, align 4, !tbaa !5
  %699 = call ptr @s2n_strerror_debug(i32 noundef %698, ptr noundef nonnull @.str.4) #9
  %700 = load i32, ptr %681, align 4, !tbaa !5
  %701 = call ptr @strerror(i32 noundef %700) #9
  %702 = load i32, ptr %681, align 4, !tbaa !5
  %703 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %693, ptr noundef nonnull %.str.5.sink508, i32 noundef %694, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 66, ptr noundef %697, ptr noundef %699, ptr noundef %701, i32 noundef %702) #11
  call void @exit(i32 noundef 1) #12
  unreachable

704:                                              ; preds = %675
  %705 = load i32, ptr @test_count, align 4, !tbaa !5
  %706 = add nsw i32 %705, 1
  store i32 %706, ptr @test_count, align 4, !tbaa !5
  %707 = call i32 @s2n_config_free(ptr noundef nonnull %386) #9
  %708 = icmp eq i32 %707, -1
  br i1 %708, label %709, label %733

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

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

720:                                              ; preds = %716, %709
  br label %721

721:                                              ; preds = %716, %720
  %.str.5.sink519 = phi ptr [ @.str.5, %720 ], [ @.str.2, %716 ]
  store i32 %711, ptr %710, align 4, !tbaa !5
  %722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %723 = load i32, ptr @test_count, align 4, !tbaa !5
  %724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %725 = load i32, ptr %724, align 4, !tbaa !5
  %726 = call ptr @s2n_strerror(i32 noundef %725, ptr noundef nonnull @.str.4) #9
  %727 = load i32, ptr %724, align 4, !tbaa !5
  %728 = call ptr @s2n_strerror_debug(i32 noundef %727, ptr noundef nonnull @.str.4) #9
  %729 = load i32, ptr %710, align 4, !tbaa !5
  %730 = call ptr @strerror(i32 noundef %729) #9
  %731 = load i32, ptr %710, align 4, !tbaa !5
  %732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %722, ptr noundef nonnull %.str.5.sink519, i32 noundef %723, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 67, ptr noundef %726, ptr noundef %728, ptr noundef %730, i32 noundef %731) #11
  call void @exit(i32 noundef 1) #12
  unreachable

733:                                              ; preds = %704
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #9
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %3) #9
  %734 = load i32, ptr @test_count, align 4, !tbaa !5
  %735 = add nsw i32 %734, 1
  store i32 %735, ptr @test_count, align 4, !tbaa !5
  %736 = call ptr @s2n_config_new() #9
  %737 = icmp eq ptr %736, null
  br i1 %737, label %738, label %762

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

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

749:                                              ; preds = %745, %738
  br label %750

750:                                              ; preds = %745, %749
  %.str.5.sink530 = phi ptr [ @.str.5, %749 ], [ @.str.2, %745 ]
  store i32 %740, ptr %739, align 4, !tbaa !5
  %751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %752 = load i32, ptr @test_count, align 4, !tbaa !5
  %753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %754 = load i32, ptr %753, align 4, !tbaa !5
  %755 = call ptr @s2n_strerror(i32 noundef %754, ptr noundef nonnull @.str.4) #9
  %756 = load i32, ptr %753, align 4, !tbaa !5
  %757 = call ptr @s2n_strerror_debug(i32 noundef %756, ptr noundef nonnull @.str.4) #9
  %758 = load i32, ptr %739, align 4, !tbaa !5
  %759 = call ptr @strerror(i32 noundef %758) #9
  %760 = load i32, ptr %739, align 4, !tbaa !5
  %761 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %751, ptr noundef nonnull %.str.5.sink530, i32 noundef %752, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 73, ptr noundef %755, ptr noundef %757, ptr noundef %759, i32 noundef %760) #11
  call void @exit(i32 noundef 1) #12
  unreachable

762:                                              ; preds = %733
  %763 = load i32, ptr @test_count, align 4, !tbaa !5
  %764 = add nsw i32 %763, 1
  store i32 %764, ptr @test_count, align 4, !tbaa !5
  %765 = call ptr @s2n_connection_new(i32 noundef 1) #9
  %766 = icmp eq ptr %765, null
  br i1 %766, label %767, label %791

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

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

778:                                              ; preds = %774, %767
  br label %779

779:                                              ; preds = %774, %778
  %.str.5.sink541 = phi ptr [ @.str.5, %778 ], [ @.str.2, %774 ]
  store i32 %769, ptr %768, align 4, !tbaa !5
  %780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %781 = load i32, ptr @test_count, align 4, !tbaa !5
  %782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %783 = load i32, ptr %782, align 4, !tbaa !5
  %784 = call ptr @s2n_strerror(i32 noundef %783, ptr noundef nonnull @.str.4) #9
  %785 = load i32, ptr %782, align 4, !tbaa !5
  %786 = call ptr @s2n_strerror_debug(i32 noundef %785, ptr noundef nonnull @.str.4) #9
  %787 = load i32, ptr %768, align 4, !tbaa !5
  %788 = call ptr @strerror(i32 noundef %787) #9
  %789 = load i32, ptr %768, align 4, !tbaa !5
  %790 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %780, ptr noundef nonnull %.str.5.sink541, i32 noundef %781, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 76, ptr noundef %784, ptr noundef %786, ptr noundef %788, i32 noundef %789) #11
  call void @exit(i32 noundef 1) #12
  unreachable

791:                                              ; preds = %762
  %792 = load i32, ptr @test_count, align 4, !tbaa !5
  %793 = add nsw i32 %792, 1
  store i32 %793, ptr @test_count, align 4, !tbaa !5
  %794 = call i32 @s2n_connection_set_config(ptr noundef nonnull %765, ptr noundef nonnull %736) #9
  %795 = icmp eq i32 %794, -1
  br i1 %795, label %796, label %820

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

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

807:                                              ; preds = %803, %796
  br label %808

808:                                              ; preds = %803, %807
  %.str.5.sink552 = phi ptr [ @.str.5, %807 ], [ @.str.2, %803 ]
  store i32 %798, ptr %797, align 4, !tbaa !5
  %809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %810 = load i32, ptr @test_count, align 4, !tbaa !5
  %811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %812 = load i32, ptr %811, align 4, !tbaa !5
  %813 = call ptr @s2n_strerror(i32 noundef %812, ptr noundef nonnull @.str.4) #9
  %814 = load i32, ptr %811, align 4, !tbaa !5
  %815 = call ptr @s2n_strerror_debug(i32 noundef %814, ptr noundef nonnull @.str.4) #9
  %816 = load i32, ptr %797, align 4, !tbaa !5
  %817 = call ptr @strerror(i32 noundef %816) #9
  %818 = load i32, ptr %797, align 4, !tbaa !5
  %819 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %809, ptr noundef nonnull %.str.5.sink552, i32 noundef %810, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 77, ptr noundef %813, ptr noundef %815, ptr noundef %817, i32 noundef %818) #11
  call void @exit(i32 noundef 1) #12
  unreachable

820:                                              ; preds = %791
  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)
  %821 = load i32, ptr @test_count, align 4, !tbaa !5
  %822 = add nsw i32 %821, 1
  store i32 %822, ptr @test_count, align 4, !tbaa !5
  %823 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %5, i32 noundef 0) #9
  %824 = icmp eq i32 %823, -1
  br i1 %824, label %825, label %849

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

832:                                              ; preds = %825
  %833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %834 = call i32 @fileno(ptr noundef %833) #9
  %835 = call i32 @isatty(i32 noundef %834) #9
  %.not230 = icmp eq i32 %835, 0
  br i1 %.not230, label %836, label %837

836:                                              ; preds = %832, %825
  br label %837

837:                                              ; preds = %832, %836
  %.str.5.sink563 = phi ptr [ @.str.5, %836 ], [ @.str.2, %832 ]
  store i32 %827, ptr %826, align 4, !tbaa !5
  %838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %839 = load i32, ptr @test_count, align 4, !tbaa !5
  %840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %841 = load i32, ptr %840, align 4, !tbaa !5
  %842 = call ptr @s2n_strerror(i32 noundef %841, ptr noundef nonnull @.str.4) #9
  %843 = load i32, ptr %840, align 4, !tbaa !5
  %844 = call ptr @s2n_strerror_debug(i32 noundef %843, ptr noundef nonnull @.str.4) #9
  %845 = load i32, ptr %826, align 4, !tbaa !5
  %846 = call ptr @strerror(i32 noundef %845) #9
  %847 = load i32, ptr %826, align 4, !tbaa !5
  %848 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %838, ptr noundef nonnull %.str.5.sink563, i32 noundef %839, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 80, ptr noundef %842, ptr noundef %844, ptr noundef %846, i32 noundef %847) #11
  call void @exit(i32 noundef 1) #12
  unreachable

849:                                              ; preds = %820
  %850 = load i32, ptr @test_count, align 4, !tbaa !5
  %851 = add nsw i32 %850, 1
  store i32 %851, ptr @test_count, align 4, !tbaa !5
  %852 = call i32 @s2n_config_send_max_fragment_length(ptr noundef nonnull %736, i32 noundef 1) #9
  %853 = icmp eq i32 %852, -1
  br i1 %853, label %854, label %878

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

861:                                              ; preds = %854
  %862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %863 = call i32 @fileno(ptr noundef %862) #9
  %864 = call i32 @isatty(i32 noundef %863) #9
  %.not229 = icmp eq i32 %864, 0
  br i1 %.not229, label %865, label %866

865:                                              ; preds = %861, %854
  br label %866

866:                                              ; preds = %861, %865
  %.str.5.sink574 = phi ptr [ @.str.5, %865 ], [ @.str.2, %861 ]
  store i32 %856, ptr %855, align 4, !tbaa !5
  %867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %868 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %870, ptr noundef nonnull @.str.4) #9
  %872 = load i32, ptr %869, align 4, !tbaa !5
  %873 = call ptr @s2n_strerror_debug(i32 noundef %872, ptr noundef nonnull @.str.4) #9
  %874 = load i32, ptr %855, align 4, !tbaa !5
  %875 = call ptr @strerror(i32 noundef %874) #9
  %876 = load i32, ptr %855, align 4, !tbaa !5
  %877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %867, ptr noundef nonnull %.str.5.sink574, i32 noundef %868, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 82, ptr noundef %871, ptr noundef %873, ptr noundef %875, i32 noundef %876) #11
  call void @exit(i32 noundef 1) #12
  unreachable

878:                                              ; preds = %849
  %879 = load i32, ptr @test_count, align 4, !tbaa !5
  %880 = add nsw i32 %879, 1
  store i32 %880, ptr @test_count, align 4, !tbaa !5
  %881 = call i32 %531(ptr noundef nonnull %765, ptr noundef nonnull %5) #9
  %882 = icmp eq i32 %881, -1
  br i1 %882, label %883, label %907

883:                                              ; preds = %878
  %884 = tail call ptr @__errno_location() #10
  %885 = load i32, ptr %884, align 4, !tbaa !5
  %886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %887 = call i32 @s2n_print_stacktrace(ptr noundef %886) #9
  %888 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %889 = trunc nuw i8 %888 to i1
  br i1 %889, label %890, label %894

890:                                              ; preds = %883
  %891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %892 = call i32 @fileno(ptr noundef %891) #9
  %893 = call i32 @isatty(i32 noundef %892) #9
  %.not228 = icmp eq i32 %893, 0
  br i1 %.not228, label %894, label %895

894:                                              ; preds = %890, %883
  br label %895

895:                                              ; preds = %890, %894
  %.str.5.sink585 = phi ptr [ @.str.5, %894 ], [ @.str.2, %890 ]
  store i32 %885, ptr %884, align 4, !tbaa !5
  %896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %897 = load i32, ptr @test_count, align 4, !tbaa !5
  %898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %899 = load i32, ptr %898, align 4, !tbaa !5
  %900 = call ptr @s2n_strerror(i32 noundef %899, ptr noundef nonnull @.str.4) #9
  %901 = load i32, ptr %898, align 4, !tbaa !5
  %902 = call ptr @s2n_strerror_debug(i32 noundef %901, ptr noundef nonnull @.str.4) #9
  %903 = load i32, ptr %884, align 4, !tbaa !5
  %904 = call ptr @strerror(i32 noundef %903) #9
  %905 = load i32, ptr %884, align 4, !tbaa !5
  %906 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %896, ptr noundef nonnull %.str.5.sink585, i32 noundef %897, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 83, ptr noundef %900, ptr noundef %902, ptr noundef %904, i32 noundef %905) #11
  call void @exit(i32 noundef 1) #12
  unreachable

907:                                              ; preds = %878
  %908 = load i32, ptr @test_count, align 4, !tbaa !5
  %909 = add nsw i32 %908, 1
  store i32 %909, ptr @test_count, align 4, !tbaa !5
  %910 = load i32, ptr %736, align 8
  %911 = and i32 %910, 16
  %.not189 = icmp eq i32 %911, 0
  br i1 %.not189, label %936, label %912

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

919:                                              ; preds = %912
  %920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %921 = call i32 @fileno(ptr noundef %920) #9
  %922 = call i32 @isatty(i32 noundef %921) #9
  %.not227 = icmp eq i32 %922, 0
  br i1 %.not227, label %923, label %924

923:                                              ; preds = %919, %912
  br label %924

924:                                              ; preds = %919, %923
  %.str.5.sink596 = phi ptr [ @.str.5, %923 ], [ @.str.2, %919 ]
  store i32 %914, ptr %913, 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 nonnull @.str.4) #9
  %930 = load i32, ptr %927, align 4, !tbaa !5
  %931 = call ptr @s2n_strerror_debug(i32 noundef %930, ptr noundef nonnull @.str.4) #9
  %932 = load i32, ptr %913, align 4, !tbaa !5
  %933 = call ptr @strerror(i32 noundef %932) #9
  %934 = load i32, ptr %913, align 4, !tbaa !5
  %935 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %925, ptr noundef nonnull %.str.5.sink596, i32 noundef %926, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 86, ptr noundef %929, ptr noundef %931, ptr noundef %933, i32 noundef %934) #11
  call void @exit(i32 noundef 1) #12
  unreachable

936:                                              ; preds = %907
  %937 = add nsw i32 %908, 2
  store i32 %937, ptr @test_count, align 4, !tbaa !5
  %938 = load ptr, ptr getelementptr inbounds (i8, ptr @s2n_client_max_frag_len_extension, i64 16), align 8, !tbaa !24
  %939 = call i32 %938(ptr noundef nonnull %765, ptr noundef nonnull %5) #9
  %940 = icmp eq i32 %939, -1
  br i1 %940, label %941, label %965

941:                                              ; preds = %936
  %942 = tail call ptr @__errno_location() #10
  %943 = load i32, ptr %942, align 4, !tbaa !5
  %944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %945 = call i32 @s2n_print_stacktrace(ptr noundef %944) #9
  %946 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %947 = trunc nuw i8 %946 to i1
  br i1 %947, label %948, label %952

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

952:                                              ; preds = %948, %941
  br label %953

953:                                              ; preds = %948, %952
  %.str.5.sink607 = phi ptr [ @.str.5, %952 ], [ @.str.2, %948 ]
  store i32 %943, ptr %942, align 4, !tbaa !5
  %954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %955 = load i32, ptr @test_count, align 4, !tbaa !5
  %956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %957 = load i32, ptr %956, align 4, !tbaa !5
  %958 = call ptr @s2n_strerror(i32 noundef %957, ptr noundef nonnull @.str.4) #9
  %959 = load i32, ptr %956, align 4, !tbaa !5
  %960 = call ptr @s2n_strerror_debug(i32 noundef %959, ptr noundef nonnull @.str.4) #9
  %961 = load i32, ptr %942, align 4, !tbaa !5
  %962 = call ptr @strerror(i32 noundef %961) #9
  %963 = load i32, ptr %942, align 4, !tbaa !5
  %964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %954, ptr noundef nonnull %.str.5.sink607, i32 noundef %955, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 87, ptr noundef %958, ptr noundef %960, ptr noundef %962, i32 noundef %963) #11
  call void @exit(i32 noundef 1) #12
  unreachable

965:                                              ; preds = %936
  %966 = load i32, ptr @test_count, align 4, !tbaa !5
  %967 = add nsw i32 %966, 1
  store i32 %967, ptr @test_count, align 4, !tbaa !5
  %968 = getelementptr inbounds i8, ptr %765, i64 2232
  %969 = load i8, ptr %968, align 8, !tbaa !25
  %970 = icmp eq i8 %969, 0
  br i1 %970, label %995, label %971

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

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

982:                                              ; preds = %978, %971
  br label %983

983:                                              ; preds = %978, %982
  %.str.5.sink618 = phi ptr [ @.str.5, %982 ], [ @.str.2, %978 ]
  store i32 %973, ptr %972, align 4, !tbaa !5
  %984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %985 = load i32, ptr @test_count, align 4, !tbaa !5
  %986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %987 = load i32, ptr %986, align 4, !tbaa !5
  %988 = call ptr @s2n_strerror(i32 noundef %987, ptr noundef nonnull @.str.4) #9
  %989 = load i32, ptr %986, align 4, !tbaa !5
  %990 = call ptr @s2n_strerror_debug(i32 noundef %989, ptr noundef nonnull @.str.4) #9
  %991 = load i32, ptr %972, align 4, !tbaa !5
  %992 = call ptr @strerror(i32 noundef %991) #9
  %993 = load i32, ptr %972, align 4, !tbaa !5
  %994 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %984, ptr noundef nonnull %.str.5.sink618, i32 noundef %985, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 88, ptr noundef %988, ptr noundef %990, ptr noundef %992, i32 noundef %993) #11
  call void @exit(i32 noundef 1) #12
  unreachable

995:                                              ; preds = %965
  %996 = add nsw i32 %966, 2
  store i32 %996, ptr @test_count, align 4, !tbaa !5
  %997 = getelementptr inbounds i8, ptr %765, i64 2208
  %998 = load i16, ptr %997, align 8, !tbaa !49
  %999 = icmp eq i16 %998, 8087
  br i1 %999, label %1024, label %1000

1000:                                             ; preds = %995
  %1001 = tail call ptr @__errno_location() #10
  %1002 = load i32, ptr %1001, align 4, !tbaa !5
  %1003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1004 = call i32 @s2n_print_stacktrace(ptr noundef %1003) #9
  %1005 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1006 = trunc nuw i8 %1005 to i1
  br i1 %1006, label %1007, label %1011

1007:                                             ; preds = %1000
  %1008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1009 = call i32 @fileno(ptr noundef %1008) #9
  %1010 = call i32 @isatty(i32 noundef %1009) #9
  %.not191 = icmp eq i32 %1010, 0
  br i1 %.not191, label %1011, label %1012

1011:                                             ; preds = %1007, %1000
  br label %1012

1012:                                             ; preds = %1007, %1011
  %.str.5.sink629 = phi ptr [ @.str.5, %1011 ], [ @.str.2, %1007 ]
  store i32 %1002, ptr %1001, align 4, !tbaa !5
  %1013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1014 = load i32, ptr @test_count, align 4, !tbaa !5
  %1015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1016 = load i32, ptr %1015, align 4, !tbaa !5
  %1017 = call ptr @s2n_strerror(i32 noundef %1016, ptr noundef nonnull @.str.4) #9
  %1018 = load i32, ptr %1015, align 4, !tbaa !5
  %1019 = call ptr @s2n_strerror_debug(i32 noundef %1018, ptr noundef nonnull @.str.4) #9
  %1020 = load i32, ptr %1001, align 4, !tbaa !5
  %1021 = call ptr @strerror(i32 noundef %1020) #9
  %1022 = load i32, ptr %1001, align 4, !tbaa !5
  %1023 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1013, ptr noundef nonnull %.str.5.sink629, i32 noundef %1014, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 89, ptr noundef %1017, ptr noundef %1019, ptr noundef %1021, i32 noundef %1022) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1024:                                             ; preds = %995
  %1025 = add nsw i32 %966, 3
  store i32 %1025, ptr @test_count, align 4, !tbaa !5
  %1026 = call i32 @s2n_stuffer_free(ptr noundef nonnull %5) #9
  %1027 = icmp eq i32 %1026, -1
  br i1 %1027, label %1028, label %1052

1028:                                             ; preds = %1024
  %1029 = tail call ptr @__errno_location() #10
  %1030 = load i32, ptr %1029, align 4, !tbaa !5
  %1031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1032 = call i32 @s2n_print_stacktrace(ptr noundef %1031) #9
  %1033 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1034 = trunc nuw i8 %1033 to i1
  br i1 %1034, label %1035, label %1039

1035:                                             ; preds = %1028
  %1036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1037 = call i32 @fileno(ptr noundef %1036) #9
  %1038 = call i32 @isatty(i32 noundef %1037) #9
  %.not225 = icmp eq i32 %1038, 0
  br i1 %.not225, label %1039, label %1040

1039:                                             ; preds = %1035, %1028
  br label %1040

1040:                                             ; preds = %1035, %1039
  %.str.5.sink640 = phi ptr [ @.str.5, %1039 ], [ @.str.2, %1035 ]
  store i32 %1030, ptr %1029, align 4, !tbaa !5
  %1041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1042 = load i32, ptr @test_count, align 4, !tbaa !5
  %1043 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1044 = load i32, ptr %1043, align 4, !tbaa !5
  %1045 = call ptr @s2n_strerror(i32 noundef %1044, ptr noundef nonnull @.str.4) #9
  %1046 = load i32, ptr %1043, align 4, !tbaa !5
  %1047 = call ptr @s2n_strerror_debug(i32 noundef %1046, ptr noundef nonnull @.str.4) #9
  %1048 = load i32, ptr %1029, align 4, !tbaa !5
  %1049 = call ptr @strerror(i32 noundef %1048) #9
  %1050 = load i32, ptr %1029, align 4, !tbaa !5
  %1051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1041, ptr noundef nonnull %.str.5.sink640, i32 noundef %1042, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 91, ptr noundef %1045, ptr noundef %1047, ptr noundef %1049, i32 noundef %1050) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1052:                                             ; preds = %1024
  %1053 = load i32, ptr @test_count, align 4, !tbaa !5
  %1054 = add nsw i32 %1053, 1
  store i32 %1054, ptr @test_count, align 4, !tbaa !5
  %1055 = call i32 @s2n_connection_free(ptr noundef nonnull %765) #9
  %1056 = icmp eq i32 %1055, -1
  br i1 %1056, label %1057, label %1081

1057:                                             ; preds = %1052
  %1058 = tail call ptr @__errno_location() #10
  %1059 = load i32, ptr %1058, align 4, !tbaa !5
  %1060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1061 = call i32 @s2n_print_stacktrace(ptr noundef %1060) #9
  %1062 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1063 = trunc nuw i8 %1062 to i1
  br i1 %1063, label %1064, label %1068

1064:                                             ; preds = %1057
  %1065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1066 = call i32 @fileno(ptr noundef %1065) #9
  %1067 = call i32 @isatty(i32 noundef %1066) #9
  %.not224 = icmp eq i32 %1067, 0
  br i1 %.not224, label %1068, label %1069

1068:                                             ; preds = %1064, %1057
  br label %1069

1069:                                             ; preds = %1064, %1068
  %.str.5.sink651 = phi ptr [ @.str.5, %1068 ], [ @.str.2, %1064 ]
  store i32 %1059, ptr %1058, align 4, !tbaa !5
  %1070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1071 = load i32, ptr @test_count, align 4, !tbaa !5
  %1072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1073 = load i32, ptr %1072, align 4, !tbaa !5
  %1074 = call ptr @s2n_strerror(i32 noundef %1073, ptr noundef nonnull @.str.4) #9
  %1075 = load i32, ptr %1072, align 4, !tbaa !5
  %1076 = call ptr @s2n_strerror_debug(i32 noundef %1075, ptr noundef nonnull @.str.4) #9
  %1077 = load i32, ptr %1058, align 4, !tbaa !5
  %1078 = call ptr @strerror(i32 noundef %1077) #9
  %1079 = load i32, ptr %1058, align 4, !tbaa !5
  %1080 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1070, ptr noundef nonnull %.str.5.sink651, i32 noundef %1071, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 92, ptr noundef %1074, ptr noundef %1076, ptr noundef %1078, i32 noundef %1079) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1081:                                             ; preds = %1052
  %1082 = load i32, ptr @test_count, align 4, !tbaa !5
  %1083 = add nsw i32 %1082, 1
  store i32 %1083, ptr @test_count, align 4, !tbaa !5
  %1084 = call i32 @s2n_config_free(ptr noundef nonnull %736) #9
  %1085 = icmp eq i32 %1084, -1
  br i1 %1085, label %1086, label %1110

1086:                                             ; preds = %1081
  %1087 = tail call ptr @__errno_location() #10
  %1088 = load i32, ptr %1087, align 4, !tbaa !5
  %1089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1090 = call i32 @s2n_print_stacktrace(ptr noundef %1089) #9
  %1091 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1092 = trunc nuw i8 %1091 to i1
  br i1 %1092, label %1093, label %1097

1093:                                             ; preds = %1086
  %1094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1095 = call i32 @fileno(ptr noundef %1094) #9
  %1096 = call i32 @isatty(i32 noundef %1095) #9
  %.not223 = icmp eq i32 %1096, 0
  br i1 %.not223, label %1097, label %1098

1097:                                             ; preds = %1093, %1086
  br label %1098

1098:                                             ; preds = %1093, %1097
  %.str.5.sink662 = phi ptr [ @.str.5, %1097 ], [ @.str.2, %1093 ]
  store i32 %1088, ptr %1087, align 4, !tbaa !5
  %1099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1100 = load i32, ptr @test_count, align 4, !tbaa !5
  %1101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1102 = load i32, ptr %1101, align 4, !tbaa !5
  %1103 = call ptr @s2n_strerror(i32 noundef %1102, ptr noundef nonnull @.str.4) #9
  %1104 = load i32, ptr %1101, align 4, !tbaa !5
  %1105 = call ptr @s2n_strerror_debug(i32 noundef %1104, ptr noundef nonnull @.str.4) #9
  %1106 = load i32, ptr %1087, align 4, !tbaa !5
  %1107 = call ptr @strerror(i32 noundef %1106) #9
  %1108 = load i32, ptr %1087, align 4, !tbaa !5
  %1109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1099, ptr noundef nonnull %.str.5.sink662, i32 noundef %1100, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 93, ptr noundef %1103, ptr noundef %1105, ptr noundef %1107, i32 noundef %1108) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1110:                                             ; preds = %1081
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %5) #9
  %1111 = load i32, ptr @test_count, align 4, !tbaa !5
  %1112 = add nsw i32 %1111, 1
  store i32 %1112, ptr @test_count, align 4, !tbaa !5
  %1113 = call ptr @s2n_config_new() #9
  %1114 = icmp eq ptr %1113, null
  br i1 %1114, label %1115, label %1139

1115:                                             ; preds = %1110
  %1116 = tail call ptr @__errno_location() #10
  %1117 = load i32, ptr %1116, align 4, !tbaa !5
  %1118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1119 = call i32 @s2n_print_stacktrace(ptr noundef %1118) #9
  %1120 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1121 = trunc nuw i8 %1120 to i1
  br i1 %1121, label %1122, label %1126

1122:                                             ; preds = %1115
  %1123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1124 = call i32 @fileno(ptr noundef %1123) #9
  %1125 = call i32 @isatty(i32 noundef %1124) #9
  %.not222 = icmp eq i32 %1125, 0
  br i1 %.not222, label %1126, label %1127

1126:                                             ; preds = %1122, %1115
  br label %1127

1127:                                             ; preds = %1122, %1126
  %.str.5.sink673 = phi ptr [ @.str.5, %1126 ], [ @.str.2, %1122 ]
  store i32 %1117, ptr %1116, align 4, !tbaa !5
  %1128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1129 = load i32, ptr @test_count, align 4, !tbaa !5
  %1130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1131 = load i32, ptr %1130, align 4, !tbaa !5
  %1132 = call ptr @s2n_strerror(i32 noundef %1131, ptr noundef nonnull @.str.4) #9
  %1133 = load i32, ptr %1130, align 4, !tbaa !5
  %1134 = call ptr @s2n_strerror_debug(i32 noundef %1133, ptr noundef nonnull @.str.4) #9
  %1135 = load i32, ptr %1116, align 4, !tbaa !5
  %1136 = call ptr @strerror(i32 noundef %1135) #9
  %1137 = load i32, ptr %1116, align 4, !tbaa !5
  %1138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1128, ptr noundef nonnull %.str.5.sink673, i32 noundef %1129, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 106, ptr noundef %1132, ptr noundef %1134, ptr noundef %1136, i32 noundef %1137) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1139:                                             ; preds = %1110
  %1140 = load i32, ptr @test_count, align 4, !tbaa !5
  %1141 = add nsw i32 %1140, 1
  store i32 %1141, ptr @test_count, align 4, !tbaa !5
  %1142 = call i32 @s2n_config_accept_max_fragment_length(ptr noundef nonnull %1113) #9
  %1143 = icmp eq i32 %1142, -1
  br i1 %1143, label %1144, label %1168

1144:                                             ; preds = %1139
  %1145 = tail call ptr @__errno_location() #10
  %1146 = load i32, ptr %1145, align 4, !tbaa !5
  %1147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1148 = call i32 @s2n_print_stacktrace(ptr noundef %1147) #9
  %1149 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1150 = trunc nuw i8 %1149 to i1
  br i1 %1150, label %1151, label %1155

1151:                                             ; preds = %1144
  %1152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1153 = call i32 @fileno(ptr noundef %1152) #9
  %1154 = call i32 @isatty(i32 noundef %1153) #9
  %.not221 = icmp eq i32 %1154, 0
  br i1 %.not221, label %1155, label %1156

1155:                                             ; preds = %1151, %1144
  br label %1156

1156:                                             ; preds = %1151, %1155
  %.str.5.sink684 = phi ptr [ @.str.5, %1155 ], [ @.str.2, %1151 ]
  store i32 %1146, ptr %1145, align 4, !tbaa !5
  %1157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1158 = load i32, ptr @test_count, align 4, !tbaa !5
  %1159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1160 = load i32, ptr %1159, align 4, !tbaa !5
  %1161 = call ptr @s2n_strerror(i32 noundef %1160, ptr noundef nonnull @.str.4) #9
  %1162 = load i32, ptr %1159, align 4, !tbaa !5
  %1163 = call ptr @s2n_strerror_debug(i32 noundef %1162, ptr noundef nonnull @.str.4) #9
  %1164 = load i32, ptr %1145, align 4, !tbaa !5
  %1165 = call ptr @strerror(i32 noundef %1164) #9
  %1166 = load i32, ptr %1145, align 4, !tbaa !5
  %1167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1157, ptr noundef nonnull %.str.5.sink684, i32 noundef %1158, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 107, ptr noundef %1161, ptr noundef %1163, ptr noundef %1165, i32 noundef %1166) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1168:                                             ; preds = %1139
  %1169 = load i32, ptr @test_count, align 4, !tbaa !5
  %1170 = add nsw i32 %1169, 1
  store i32 %1170, ptr @test_count, align 4, !tbaa !5
  %1171 = call ptr @s2n_connection_new(i32 noundef 1) #9
  %1172 = icmp eq ptr %1171, null
  br i1 %1172, label %1173, label %1197

1173:                                             ; preds = %1168
  %1174 = tail call ptr @__errno_location() #10
  %1175 = load i32, ptr %1174, align 4, !tbaa !5
  %1176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1177 = call i32 @s2n_print_stacktrace(ptr noundef %1176) #9
  %1178 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1179 = trunc nuw i8 %1178 to i1
  br i1 %1179, label %1180, label %1184

1180:                                             ; preds = %1173
  %1181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1182 = call i32 @fileno(ptr noundef %1181) #9
  %1183 = call i32 @isatty(i32 noundef %1182) #9
  %.not220 = icmp eq i32 %1183, 0
  br i1 %.not220, label %1184, label %1185

1184:                                             ; preds = %1180, %1173
  br label %1185

1185:                                             ; preds = %1180, %1184
  %.str.5.sink695 = phi ptr [ @.str.5, %1184 ], [ @.str.2, %1180 ]
  store i32 %1175, ptr %1174, align 4, !tbaa !5
  %1186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1187 = load i32, ptr @test_count, align 4, !tbaa !5
  %1188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1189 = load i32, ptr %1188, align 4, !tbaa !5
  %1190 = call ptr @s2n_strerror(i32 noundef %1189, ptr noundef nonnull @.str.4) #9
  %1191 = load i32, ptr %1188, align 4, !tbaa !5
  %1192 = call ptr @s2n_strerror_debug(i32 noundef %1191, ptr noundef nonnull @.str.4) #9
  %1193 = load i32, ptr %1174, align 4, !tbaa !5
  %1194 = call ptr @strerror(i32 noundef %1193) #9
  %1195 = load i32, ptr %1174, align 4, !tbaa !5
  %1196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1186, ptr noundef nonnull %.str.5.sink695, i32 noundef %1187, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 110, ptr noundef %1190, ptr noundef %1192, ptr noundef %1194, i32 noundef %1195) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1197:                                             ; preds = %1168
  %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 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1171, ptr noundef nonnull %1113) #9
  %1201 = icmp eq i32 %1200, -1
  br i1 %1201, label %1202, label %1226

1202:                                             ; preds = %1197
  %1203 = tail call ptr @__errno_location() #10
  %1204 = load i32, ptr %1203, align 4, !tbaa !5
  %1205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1206 = call i32 @s2n_print_stacktrace(ptr noundef %1205) #9
  %1207 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1208 = trunc nuw i8 %1207 to i1
  br i1 %1208, label %1209, label %1213

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

1213:                                             ; preds = %1209, %1202
  br label %1214

1214:                                             ; preds = %1209, %1213
  %.str.5.sink706 = phi ptr [ @.str.5, %1213 ], [ @.str.2, %1209 ]
  store i32 %1204, ptr %1203, align 4, !tbaa !5
  %1215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1216 = load i32, ptr @test_count, align 4, !tbaa !5
  %1217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1218 = load i32, ptr %1217, align 4, !tbaa !5
  %1219 = call ptr @s2n_strerror(i32 noundef %1218, ptr noundef nonnull @.str.4) #9
  %1220 = load i32, ptr %1217, align 4, !tbaa !5
  %1221 = call ptr @s2n_strerror_debug(i32 noundef %1220, ptr noundef nonnull @.str.4) #9
  %1222 = load i32, ptr %1203, align 4, !tbaa !5
  %1223 = call ptr @strerror(i32 noundef %1222) #9
  %1224 = load i32, ptr %1203, align 4, !tbaa !5
  %1225 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1215, ptr noundef nonnull %.str.5.sink706, i32 noundef %1216, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 111, ptr noundef %1219, ptr noundef %1221, ptr noundef %1223, i32 noundef %1224) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1226:                                             ; preds = %1197
  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)
  %1227 = load i32, ptr @test_count, align 4, !tbaa !5
  %1228 = add nsw i32 %1227, 1
  store i32 %1228, ptr @test_count, align 4, !tbaa !5
  %1229 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %6, i32 noundef 0) #9
  %1230 = icmp eq i32 %1229, -1
  br i1 %1230, label %1231, label %1255

1231:                                             ; preds = %1226
  %1232 = tail call ptr @__errno_location() #10
  %1233 = load i32, ptr %1232, align 4, !tbaa !5
  %1234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1235 = call i32 @s2n_print_stacktrace(ptr noundef %1234) #9
  %1236 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1237 = trunc nuw i8 %1236 to i1
  br i1 %1237, label %1238, label %1242

1238:                                             ; preds = %1231
  %1239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1240 = call i32 @fileno(ptr noundef %1239) #9
  %1241 = call i32 @isatty(i32 noundef %1240) #9
  %.not218 = icmp eq i32 %1241, 0
  br i1 %.not218, label %1242, label %1243

1242:                                             ; preds = %1238, %1231
  br label %1243

1243:                                             ; preds = %1238, %1242
  %.str.5.sink717 = phi ptr [ @.str.5, %1242 ], [ @.str.2, %1238 ]
  store i32 %1233, ptr %1232, align 4, !tbaa !5
  %1244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1245 = load i32, ptr @test_count, align 4, !tbaa !5
  %1246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1247 = load i32, ptr %1246, align 4, !tbaa !5
  %1248 = call ptr @s2n_strerror(i32 noundef %1247, ptr noundef nonnull @.str.4) #9
  %1249 = load i32, ptr %1246, align 4, !tbaa !5
  %1250 = call ptr @s2n_strerror_debug(i32 noundef %1249, ptr noundef nonnull @.str.4) #9
  %1251 = load i32, ptr %1232, align 4, !tbaa !5
  %1252 = call ptr @strerror(i32 noundef %1251) #9
  %1253 = load i32, ptr %1232, align 4, !tbaa !5
  %1254 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1244, ptr noundef nonnull %.str.5.sink717, i32 noundef %1245, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 114, ptr noundef %1248, ptr noundef %1250, ptr noundef %1252, i32 noundef %1253) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1255:                                             ; preds = %1226
  %1256 = getelementptr inbounds i8, ptr %1171, i64 8
  %1257 = load ptr, ptr %1256, align 8, !tbaa !50
  %1258 = getelementptr inbounds i8, ptr %1257, i64 296
  store i8 -1, ptr %1258, align 8, !tbaa !51
  %1259 = load i32, ptr @test_count, align 4, !tbaa !5
  %1260 = add nsw i32 %1259, 1
  store i32 %1260, ptr @test_count, align 4, !tbaa !5
  %1261 = call i32 %531(ptr noundef nonnull %1171, ptr noundef nonnull %6) #9
  %1262 = icmp eq i32 %1261, -1
  br i1 %1262, label %1263, label %1287

1263:                                             ; preds = %1255
  %1264 = tail call ptr @__errno_location() #10
  %1265 = load i32, ptr %1264, align 4, !tbaa !5
  %1266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1267 = call i32 @s2n_print_stacktrace(ptr noundef %1266) #9
  %1268 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1269 = trunc nuw i8 %1268 to i1
  br i1 %1269, label %1270, label %1274

1270:                                             ; preds = %1263
  %1271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1272 = call i32 @fileno(ptr noundef %1271) #9
  %1273 = call i32 @isatty(i32 noundef %1272) #9
  %.not217 = icmp eq i32 %1273, 0
  br i1 %.not217, label %1274, label %1275

1274:                                             ; preds = %1270, %1263
  br label %1275

1275:                                             ; preds = %1270, %1274
  %.str.5.sink728 = phi ptr [ @.str.5, %1274 ], [ @.str.2, %1270 ]
  store i32 %1265, ptr %1264, align 4, !tbaa !5
  %1276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1277 = load i32, ptr @test_count, align 4, !tbaa !5
  %1278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1279 = load i32, ptr %1278, align 4, !tbaa !5
  %1280 = call ptr @s2n_strerror(i32 noundef %1279, ptr noundef nonnull @.str.4) #9
  %1281 = load i32, ptr %1278, align 4, !tbaa !5
  %1282 = call ptr @s2n_strerror_debug(i32 noundef %1281, ptr noundef nonnull @.str.4) #9
  %1283 = load i32, ptr %1264, align 4, !tbaa !5
  %1284 = call ptr @strerror(i32 noundef %1283) #9
  %1285 = load i32, ptr %1264, align 4, !tbaa !5
  %1286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1276, ptr noundef nonnull %.str.5.sink728, i32 noundef %1277, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 118, ptr noundef %1280, ptr noundef %1282, ptr noundef %1284, i32 noundef %1285) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1287:                                             ; preds = %1255
  %1288 = load i32, ptr @test_count, align 4, !tbaa !5
  %1289 = add nsw i32 %1288, 1
  store i32 %1289, ptr @test_count, align 4, !tbaa !5
  %1290 = call i32 %938(ptr noundef nonnull %1171, ptr noundef nonnull %6) #9
  %1291 = icmp eq i32 %1290, -1
  br i1 %1291, label %1292, label %1316

1292:                                             ; preds = %1287
  %1293 = tail call ptr @__errno_location() #10
  %1294 = load i32, ptr %1293, align 4, !tbaa !5
  %1295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1296 = call i32 @s2n_print_stacktrace(ptr noundef %1295) #9
  %1297 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1298 = trunc nuw i8 %1297 to i1
  br i1 %1298, label %1299, label %1303

1299:                                             ; preds = %1292
  %1300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1301 = call i32 @fileno(ptr noundef %1300) #9
  %1302 = call i32 @isatty(i32 noundef %1301) #9
  %.not216 = icmp eq i32 %1302, 0
  br i1 %.not216, label %1303, label %1304

1303:                                             ; preds = %1299, %1292
  br label %1304

1304:                                             ; preds = %1299, %1303
  %.str.5.sink739 = phi ptr [ @.str.5, %1303 ], [ @.str.2, %1299 ]
  store i32 %1294, ptr %1293, align 4, !tbaa !5
  %1305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1306 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1308, ptr noundef nonnull @.str.4) #9
  %1310 = load i32, ptr %1307, align 4, !tbaa !5
  %1311 = call ptr @s2n_strerror_debug(i32 noundef %1310, ptr noundef nonnull @.str.4) #9
  %1312 = load i32, ptr %1293, align 4, !tbaa !5
  %1313 = call ptr @strerror(i32 noundef %1312) #9
  %1314 = load i32, ptr %1293, align 4, !tbaa !5
  %1315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1305, ptr noundef nonnull %.str.5.sink739, i32 noundef %1306, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 121, ptr noundef %1309, ptr noundef %1311, ptr noundef %1313, i32 noundef %1314) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1316:                                             ; preds = %1287
  %1317 = load i32, ptr @test_count, align 4, !tbaa !5
  %1318 = add nsw i32 %1317, 1
  store i32 %1318, ptr @test_count, align 4, !tbaa !5
  %1319 = getelementptr inbounds i8, ptr %1171, i64 2232
  %1320 = load i8, ptr %1319, align 8, !tbaa !25
  %1321 = icmp eq i8 %1320, 0
  br i1 %1321, label %1346, label %1322

1322:                                             ; preds = %1316
  %1323 = tail call ptr @__errno_location() #10
  %1324 = load i32, ptr %1323, align 4, !tbaa !5
  %1325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1326 = call i32 @s2n_print_stacktrace(ptr noundef %1325) #9
  %1327 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1328 = trunc nuw i8 %1327 to i1
  br i1 %1328, label %1329, label %1333

1329:                                             ; preds = %1322
  %1330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1331 = call i32 @fileno(ptr noundef %1330) #9
  %1332 = call i32 @isatty(i32 noundef %1331) #9
  %.not192 = icmp eq i32 %1332, 0
  br i1 %.not192, label %1333, label %1334

1333:                                             ; preds = %1329, %1322
  br label %1334

1334:                                             ; preds = %1329, %1333
  %.str.5.sink750 = phi ptr [ @.str.5, %1333 ], [ @.str.2, %1329 ]
  store i32 %1324, ptr %1323, align 4, !tbaa !5
  %1335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1336 = load i32, ptr @test_count, align 4, !tbaa !5
  %1337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1338 = load i32, ptr %1337, align 4, !tbaa !5
  %1339 = call ptr @s2n_strerror(i32 noundef %1338, ptr noundef nonnull @.str.4) #9
  %1340 = load i32, ptr %1337, align 4, !tbaa !5
  %1341 = call ptr @s2n_strerror_debug(i32 noundef %1340, ptr noundef nonnull @.str.4) #9
  %1342 = load i32, ptr %1323, align 4, !tbaa !5
  %1343 = call ptr @strerror(i32 noundef %1342) #9
  %1344 = load i32, ptr %1323, align 4, !tbaa !5
  %1345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1335, ptr noundef nonnull %.str.5.sink750, i32 noundef %1336, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 122, ptr noundef %1339, ptr noundef %1341, ptr noundef %1343, i32 noundef %1344) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1346:                                             ; preds = %1316
  %1347 = add nsw i32 %1317, 2
  store i32 %1347, ptr @test_count, align 4, !tbaa !5
  %1348 = getelementptr inbounds i8, ptr %1171, i64 2208
  %1349 = load i16, ptr %1348, align 8, !tbaa !49
  %1350 = icmp eq i16 %1349, 8087
  br i1 %1350, label %1375, label %1351

1351:                                             ; preds = %1346
  %1352 = tail call ptr @__errno_location() #10
  %1353 = load i32, ptr %1352, align 4, !tbaa !5
  %1354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1355 = call i32 @s2n_print_stacktrace(ptr noundef %1354) #9
  %1356 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1357 = trunc nuw i8 %1356 to i1
  br i1 %1357, label %1358, label %1362

1358:                                             ; preds = %1351
  %1359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1360 = call i32 @fileno(ptr noundef %1359) #9
  %1361 = call i32 @isatty(i32 noundef %1360) #9
  %.not193 = icmp eq i32 %1361, 0
  br i1 %.not193, label %1362, label %1363

1362:                                             ; preds = %1358, %1351
  br label %1363

1363:                                             ; preds = %1358, %1362
  %.str.5.sink761 = phi ptr [ @.str.5, %1362 ], [ @.str.2, %1358 ]
  store i32 %1353, ptr %1352, align 4, !tbaa !5
  %1364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1365 = load i32, ptr @test_count, align 4, !tbaa !5
  %1366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1367 = load i32, ptr %1366, align 4, !tbaa !5
  %1368 = call ptr @s2n_strerror(i32 noundef %1367, ptr noundef nonnull @.str.4) #9
  %1369 = load i32, ptr %1366, align 4, !tbaa !5
  %1370 = call ptr @s2n_strerror_debug(i32 noundef %1369, ptr noundef nonnull @.str.4) #9
  %1371 = load i32, ptr %1352, align 4, !tbaa !5
  %1372 = call ptr @strerror(i32 noundef %1371) #9
  %1373 = load i32, ptr %1352, align 4, !tbaa !5
  %1374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1364, ptr noundef nonnull %.str.5.sink761, i32 noundef %1365, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 123, ptr noundef %1368, ptr noundef %1370, ptr noundef %1372, i32 noundef %1373) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1375:                                             ; preds = %1346
  %1376 = add nsw i32 %1317, 3
  store i32 %1376, ptr @test_count, align 4, !tbaa !5
  %1377 = call i32 @s2n_stuffer_free(ptr noundef nonnull %6) #9
  %1378 = icmp eq i32 %1377, -1
  br i1 %1378, label %1379, label %1403

1379:                                             ; preds = %1375
  %1380 = tail call ptr @__errno_location() #10
  %1381 = load i32, ptr %1380, align 4, !tbaa !5
  %1382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1383 = call i32 @s2n_print_stacktrace(ptr noundef %1382) #9
  %1384 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1385 = trunc nuw i8 %1384 to i1
  br i1 %1385, label %1386, label %1390

1386:                                             ; preds = %1379
  %1387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1388 = call i32 @fileno(ptr noundef %1387) #9
  %1389 = call i32 @isatty(i32 noundef %1388) #9
  %.not215 = icmp eq i32 %1389, 0
  br i1 %.not215, label %1390, label %1391

1390:                                             ; preds = %1386, %1379
  br label %1391

1391:                                             ; preds = %1386, %1390
  %.str.5.sink772 = phi ptr [ @.str.5, %1390 ], [ @.str.2, %1386 ]
  store i32 %1381, ptr %1380, align 4, !tbaa !5
  %1392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1393 = load i32, ptr @test_count, align 4, !tbaa !5
  %1394 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1395 = load i32, ptr %1394, align 4, !tbaa !5
  %1396 = call ptr @s2n_strerror(i32 noundef %1395, ptr noundef nonnull @.str.4) #9
  %1397 = load i32, ptr %1394, align 4, !tbaa !5
  %1398 = call ptr @s2n_strerror_debug(i32 noundef %1397, ptr noundef nonnull @.str.4) #9
  %1399 = load i32, ptr %1380, align 4, !tbaa !5
  %1400 = call ptr @strerror(i32 noundef %1399) #9
  %1401 = load i32, ptr %1380, align 4, !tbaa !5
  %1402 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1392, ptr noundef nonnull %.str.5.sink772, i32 noundef %1393, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 125, ptr noundef %1396, ptr noundef %1398, ptr noundef %1400, i32 noundef %1401) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1403:                                             ; preds = %1375
  %1404 = load i32, ptr @test_count, align 4, !tbaa !5
  %1405 = add nsw i32 %1404, 1
  store i32 %1405, ptr @test_count, align 4, !tbaa !5
  %1406 = call i32 @s2n_connection_free(ptr noundef nonnull %1171) #9
  %1407 = icmp eq i32 %1406, -1
  br i1 %1407, label %1408, label %1432

1408:                                             ; preds = %1403
  %1409 = tail call ptr @__errno_location() #10
  %1410 = load i32, ptr %1409, align 4, !tbaa !5
  %1411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1412 = call i32 @s2n_print_stacktrace(ptr noundef %1411) #9
  %1413 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1414 = trunc nuw i8 %1413 to i1
  br i1 %1414, label %1415, label %1419

1415:                                             ; preds = %1408
  %1416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1417 = call i32 @fileno(ptr noundef %1416) #9
  %1418 = call i32 @isatty(i32 noundef %1417) #9
  %.not214 = icmp eq i32 %1418, 0
  br i1 %.not214, label %1419, label %1420

1419:                                             ; preds = %1415, %1408
  br label %1420

1420:                                             ; preds = %1415, %1419
  %.str.5.sink783 = phi ptr [ @.str.5, %1419 ], [ @.str.2, %1415 ]
  store i32 %1410, ptr %1409, align 4, !tbaa !5
  %1421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1422 = load i32, ptr @test_count, align 4, !tbaa !5
  %1423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1424 = load i32, ptr %1423, align 4, !tbaa !5
  %1425 = call ptr @s2n_strerror(i32 noundef %1424, ptr noundef nonnull @.str.4) #9
  %1426 = load i32, ptr %1423, align 4, !tbaa !5
  %1427 = call ptr @s2n_strerror_debug(i32 noundef %1426, ptr noundef nonnull @.str.4) #9
  %1428 = load i32, ptr %1409, align 4, !tbaa !5
  %1429 = call ptr @strerror(i32 noundef %1428) #9
  %1430 = load i32, ptr %1409, align 4, !tbaa !5
  %1431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1421, ptr noundef nonnull %.str.5.sink783, i32 noundef %1422, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 126, ptr noundef %1425, ptr noundef %1427, ptr noundef %1429, i32 noundef %1430) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1432:                                             ; preds = %1403
  %1433 = load i32, ptr @test_count, align 4, !tbaa !5
  %1434 = add nsw i32 %1433, 1
  store i32 %1434, ptr @test_count, align 4, !tbaa !5
  %1435 = call i32 @s2n_config_free(ptr noundef nonnull %1113) #9
  %1436 = icmp eq i32 %1435, -1
  br i1 %1436, label %1437, label %1461

1437:                                             ; preds = %1432
  %1438 = tail call ptr @__errno_location() #10
  %1439 = load i32, ptr %1438, align 4, !tbaa !5
  %1440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1441 = call i32 @s2n_print_stacktrace(ptr noundef %1440) #9
  %1442 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1443 = trunc nuw i8 %1442 to i1
  br i1 %1443, label %1444, label %1448

1444:                                             ; preds = %1437
  %1445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1446 = call i32 @fileno(ptr noundef %1445) #9
  %1447 = call i32 @isatty(i32 noundef %1446) #9
  %.not213 = icmp eq i32 %1447, 0
  br i1 %.not213, label %1448, label %1449

1448:                                             ; preds = %1444, %1437
  br label %1449

1449:                                             ; preds = %1444, %1448
  %.str.5.sink794 = phi ptr [ @.str.5, %1448 ], [ @.str.2, %1444 ]
  store i32 %1439, ptr %1438, align 4, !tbaa !5
  %1450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1451 = load i32, ptr @test_count, align 4, !tbaa !5
  %1452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1453 = load i32, ptr %1452, align 4, !tbaa !5
  %1454 = call ptr @s2n_strerror(i32 noundef %1453, ptr noundef nonnull @.str.4) #9
  %1455 = load i32, ptr %1452, align 4, !tbaa !5
  %1456 = call ptr @s2n_strerror_debug(i32 noundef %1455, ptr noundef nonnull @.str.4) #9
  %1457 = load i32, ptr %1438, align 4, !tbaa !5
  %1458 = call ptr @strerror(i32 noundef %1457) #9
  %1459 = load i32, ptr %1438, align 4, !tbaa !5
  %1460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1450, ptr noundef nonnull %.str.5.sink794, i32 noundef %1451, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 127, ptr noundef %1454, ptr noundef %1456, ptr noundef %1458, i32 noundef %1459) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1461:                                             ; preds = %1432
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %6) #9
  %1462 = load i32, ptr @test_count, align 4, !tbaa !5
  %1463 = add nsw i32 %1462, 1
  store i32 %1463, ptr @test_count, align 4, !tbaa !5
  %1464 = call ptr @s2n_config_new() #9
  %1465 = icmp eq ptr %1464, null
  br i1 %1465, label %1466, label %1490

1466:                                             ; preds = %1461
  %1467 = tail call ptr @__errno_location() #10
  %1468 = load i32, ptr %1467, align 4, !tbaa !5
  %1469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1470 = call i32 @s2n_print_stacktrace(ptr noundef %1469) #9
  %1471 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1472 = trunc nuw i8 %1471 to i1
  br i1 %1472, label %1473, label %1477

1473:                                             ; preds = %1466
  %1474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1475 = call i32 @fileno(ptr noundef %1474) #9
  %1476 = call i32 @isatty(i32 noundef %1475) #9
  %.not212 = icmp eq i32 %1476, 0
  br i1 %.not212, label %1477, label %1478

1477:                                             ; preds = %1473, %1466
  br label %1478

1478:                                             ; preds = %1473, %1477
  %.str.5.sink805 = phi ptr [ @.str.5, %1477 ], [ @.str.2, %1473 ]
  store i32 %1468, ptr %1467, align 4, !tbaa !5
  %1479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1480 = load i32, ptr @test_count, align 4, !tbaa !5
  %1481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1482 = load i32, ptr %1481, align 4, !tbaa !5
  %1483 = call ptr @s2n_strerror(i32 noundef %1482, ptr noundef nonnull @.str.4) #9
  %1484 = load i32, ptr %1481, align 4, !tbaa !5
  %1485 = call ptr @s2n_strerror_debug(i32 noundef %1484, ptr noundef nonnull @.str.4) #9
  %1486 = load i32, ptr %1467, align 4, !tbaa !5
  %1487 = call ptr @strerror(i32 noundef %1486) #9
  %1488 = load i32, ptr %1467, align 4, !tbaa !5
  %1489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1479, ptr noundef nonnull %.str.5.sink805, i32 noundef %1480, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 133, ptr noundef %1483, ptr noundef %1485, ptr noundef %1487, i32 noundef %1488) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1490:                                             ; preds = %1461
  %1491 = load i32, ptr @test_count, align 4, !tbaa !5
  %1492 = add nsw i32 %1491, 1
  store i32 %1492, ptr @test_count, align 4, !tbaa !5
  %1493 = call i32 @s2n_config_accept_max_fragment_length(ptr noundef nonnull %1464) #9
  %1494 = icmp eq i32 %1493, -1
  br i1 %1494, label %1495, label %1519

1495:                                             ; preds = %1490
  %1496 = tail call ptr @__errno_location() #10
  %1497 = load i32, ptr %1496, align 4, !tbaa !5
  %1498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1499 = call i32 @s2n_print_stacktrace(ptr noundef %1498) #9
  %1500 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1501 = trunc nuw i8 %1500 to i1
  br i1 %1501, label %1502, label %1506

1502:                                             ; preds = %1495
  %1503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1504 = call i32 @fileno(ptr noundef %1503) #9
  %1505 = call i32 @isatty(i32 noundef %1504) #9
  %.not211 = icmp eq i32 %1505, 0
  br i1 %.not211, label %1506, label %1507

1506:                                             ; preds = %1502, %1495
  br label %1507

1507:                                             ; preds = %1502, %1506
  %.str.5.sink816 = phi ptr [ @.str.5, %1506 ], [ @.str.2, %1502 ]
  store i32 %1497, ptr %1496, align 4, !tbaa !5
  %1508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1509 = load i32, ptr @test_count, align 4, !tbaa !5
  %1510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1511 = load i32, ptr %1510, align 4, !tbaa !5
  %1512 = call ptr @s2n_strerror(i32 noundef %1511, ptr noundef nonnull @.str.4) #9
  %1513 = load i32, ptr %1510, align 4, !tbaa !5
  %1514 = call ptr @s2n_strerror_debug(i32 noundef %1513, ptr noundef nonnull @.str.4) #9
  %1515 = load i32, ptr %1496, align 4, !tbaa !5
  %1516 = call ptr @strerror(i32 noundef %1515) #9
  %1517 = load i32, ptr %1496, align 4, !tbaa !5
  %1518 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1508, ptr noundef nonnull %.str.5.sink816, i32 noundef %1509, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 134, ptr noundef %1512, ptr noundef %1514, ptr noundef %1516, i32 noundef %1517) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1519:                                             ; preds = %1490
  %1520 = load i32, ptr @test_count, align 4, !tbaa !5
  %1521 = add nsw i32 %1520, 1
  store i32 %1521, ptr @test_count, align 4, !tbaa !5
  %1522 = call ptr @s2n_connection_new(i32 noundef 1) #9
  %1523 = icmp eq ptr %1522, null
  br i1 %1523, label %1524, label %1548

1524:                                             ; preds = %1519
  %1525 = tail call ptr @__errno_location() #10
  %1526 = load i32, ptr %1525, align 4, !tbaa !5
  %1527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1528 = call i32 @s2n_print_stacktrace(ptr noundef %1527) #9
  %1529 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1530 = trunc nuw i8 %1529 to i1
  br i1 %1530, label %1531, label %1535

1531:                                             ; preds = %1524
  %1532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1533 = call i32 @fileno(ptr noundef %1532) #9
  %1534 = call i32 @isatty(i32 noundef %1533) #9
  %.not210 = icmp eq i32 %1534, 0
  br i1 %.not210, label %1535, label %1536

1535:                                             ; preds = %1531, %1524
  br label %1536

1536:                                             ; preds = %1531, %1535
  %.str.5.sink827 = phi ptr [ @.str.5, %1535 ], [ @.str.2, %1531 ]
  store i32 %1526, ptr %1525, align 4, !tbaa !5
  %1537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1538 = load i32, ptr @test_count, align 4, !tbaa !5
  %1539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1540 = load i32, ptr %1539, align 4, !tbaa !5
  %1541 = call ptr @s2n_strerror(i32 noundef %1540, ptr noundef nonnull @.str.4) #9
  %1542 = load i32, ptr %1539, align 4, !tbaa !5
  %1543 = call ptr @s2n_strerror_debug(i32 noundef %1542, ptr noundef nonnull @.str.4) #9
  %1544 = load i32, ptr %1525, align 4, !tbaa !5
  %1545 = call ptr @strerror(i32 noundef %1544) #9
  %1546 = load i32, ptr %1525, align 4, !tbaa !5
  %1547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1537, ptr noundef nonnull %.str.5.sink827, i32 noundef %1538, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 137, ptr noundef %1541, ptr noundef %1543, ptr noundef %1545, i32 noundef %1546) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1548:                                             ; preds = %1519
  %1549 = load i32, ptr @test_count, align 4, !tbaa !5
  %1550 = add nsw i32 %1549, 1
  store i32 %1550, ptr @test_count, align 4, !tbaa !5
  %1551 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1522, ptr noundef nonnull %1464) #9
  %1552 = icmp eq i32 %1551, -1
  br i1 %1552, label %1553, label %1577

1553:                                             ; preds = %1548
  %1554 = tail call ptr @__errno_location() #10
  %1555 = load i32, ptr %1554, align 4, !tbaa !5
  %1556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1557 = call i32 @s2n_print_stacktrace(ptr noundef %1556) #9
  %1558 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1559 = trunc nuw i8 %1558 to i1
  br i1 %1559, label %1560, label %1564

1560:                                             ; preds = %1553
  %1561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1562 = call i32 @fileno(ptr noundef %1561) #9
  %1563 = call i32 @isatty(i32 noundef %1562) #9
  %.not209 = icmp eq i32 %1563, 0
  br i1 %.not209, label %1564, label %1565

1564:                                             ; preds = %1560, %1553
  br label %1565

1565:                                             ; preds = %1560, %1564
  %.str.5.sink838 = phi ptr [ @.str.5, %1564 ], [ @.str.2, %1560 ]
  store i32 %1555, ptr %1554, align 4, !tbaa !5
  %1566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1567 = load i32, ptr @test_count, align 4, !tbaa !5
  %1568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1569 = load i32, ptr %1568, align 4, !tbaa !5
  %1570 = call ptr @s2n_strerror(i32 noundef %1569, ptr noundef nonnull @.str.4) #9
  %1571 = load i32, ptr %1568, align 4, !tbaa !5
  %1572 = call ptr @s2n_strerror_debug(i32 noundef %1571, ptr noundef nonnull @.str.4) #9
  %1573 = load i32, ptr %1554, align 4, !tbaa !5
  %1574 = call ptr @strerror(i32 noundef %1573) #9
  %1575 = load i32, ptr %1554, align 4, !tbaa !5
  %1576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1566, ptr noundef nonnull %.str.5.sink838, i32 noundef %1567, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 138, ptr noundef %1570, ptr noundef %1572, ptr noundef %1574, i32 noundef %1575) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1577:                                             ; preds = %1548
  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)
  %1578 = load i32, ptr @test_count, align 4, !tbaa !5
  %1579 = add nsw i32 %1578, 1
  store i32 %1579, ptr @test_count, align 4, !tbaa !5
  %1580 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %7, i32 noundef 0) #9
  %1581 = icmp eq i32 %1580, -1
  br i1 %1581, label %1582, label %1606

1582:                                             ; preds = %1577
  %1583 = tail call ptr @__errno_location() #10
  %1584 = load i32, ptr %1583, align 4, !tbaa !5
  %1585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1586 = call i32 @s2n_print_stacktrace(ptr noundef %1585) #9
  %1587 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1588 = trunc nuw i8 %1587 to i1
  br i1 %1588, label %1589, label %1593

1589:                                             ; preds = %1582
  %1590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1591 = call i32 @fileno(ptr noundef %1590) #9
  %1592 = call i32 @isatty(i32 noundef %1591) #9
  %.not208 = icmp eq i32 %1592, 0
  br i1 %.not208, label %1593, label %1594

1593:                                             ; preds = %1589, %1582
  br label %1594

1594:                                             ; preds = %1589, %1593
  %.str.5.sink849 = phi ptr [ @.str.5, %1593 ], [ @.str.2, %1589 ]
  store i32 %1584, ptr %1583, align 4, !tbaa !5
  %1595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1596 = load i32, ptr @test_count, align 4, !tbaa !5
  %1597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1598 = load i32, ptr %1597, align 4, !tbaa !5
  %1599 = call ptr @s2n_strerror(i32 noundef %1598, ptr noundef nonnull @.str.4) #9
  %1600 = load i32, ptr %1597, align 4, !tbaa !5
  %1601 = call ptr @s2n_strerror_debug(i32 noundef %1600, ptr noundef nonnull @.str.4) #9
  %1602 = load i32, ptr %1583, align 4, !tbaa !5
  %1603 = call ptr @strerror(i32 noundef %1602) #9
  %1604 = load i32, ptr %1583, align 4, !tbaa !5
  %1605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1595, ptr noundef nonnull %.str.5.sink849, i32 noundef %1596, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 141, ptr noundef %1599, ptr noundef %1601, ptr noundef %1603, i32 noundef %1604) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1606:                                             ; preds = %1577
  %1607 = load i32, ptr @test_count, align 4, !tbaa !5
  %1608 = add nsw i32 %1607, 1
  store i32 %1608, ptr @test_count, align 4, !tbaa !5
  %1609 = getelementptr inbounds i8, ptr %1522, i64 8
  %1610 = load ptr, ptr %1609, align 8, !tbaa !50
  %1611 = call i32 @s2n_config_send_max_fragment_length(ptr noundef %1610, i32 noundef 1) #9
  %1612 = icmp eq i32 %1611, -1
  br i1 %1612, label %1613, label %1637

1613:                                             ; preds = %1606
  %1614 = tail call ptr @__errno_location() #10
  %1615 = load i32, ptr %1614, align 4, !tbaa !5
  %1616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1617 = call i32 @s2n_print_stacktrace(ptr noundef %1616) #9
  %1618 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1619 = trunc nuw i8 %1618 to i1
  br i1 %1619, label %1620, label %1624

1620:                                             ; preds = %1613
  %1621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1622 = call i32 @fileno(ptr noundef %1621) #9
  %1623 = call i32 @isatty(i32 noundef %1622) #9
  %.not207 = icmp eq i32 %1623, 0
  br i1 %.not207, label %1624, label %1625

1624:                                             ; preds = %1620, %1613
  br label %1625

1625:                                             ; preds = %1620, %1624
  %.str.5.sink860 = phi ptr [ @.str.5, %1624 ], [ @.str.2, %1620 ]
  store i32 %1615, ptr %1614, align 4, !tbaa !5
  %1626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1627 = load i32, ptr @test_count, align 4, !tbaa !5
  %1628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1629 = load i32, ptr %1628, align 4, !tbaa !5
  %1630 = call ptr @s2n_strerror(i32 noundef %1629, ptr noundef nonnull @.str.4) #9
  %1631 = load i32, ptr %1628, align 4, !tbaa !5
  %1632 = call ptr @s2n_strerror_debug(i32 noundef %1631, ptr noundef nonnull @.str.4) #9
  %1633 = load i32, ptr %1614, align 4, !tbaa !5
  %1634 = call ptr @strerror(i32 noundef %1633) #9
  %1635 = load i32, ptr %1614, align 4, !tbaa !5
  %1636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1626, ptr noundef nonnull %.str.5.sink860, i32 noundef %1627, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 143, ptr noundef %1630, ptr noundef %1632, ptr noundef %1634, i32 noundef %1635) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1637:                                             ; preds = %1606
  %1638 = load i32, ptr @test_count, align 4, !tbaa !5
  %1639 = add nsw i32 %1638, 1
  store i32 %1639, ptr @test_count, align 4, !tbaa !5
  %1640 = call i32 %531(ptr noundef nonnull %1522, ptr noundef nonnull %7) #9
  %1641 = icmp eq i32 %1640, -1
  br i1 %1641, label %1642, label %1666

1642:                                             ; preds = %1637
  %1643 = tail call ptr @__errno_location() #10
  %1644 = load i32, ptr %1643, align 4, !tbaa !5
  %1645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1646 = call i32 @s2n_print_stacktrace(ptr noundef %1645) #9
  %1647 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1648 = trunc nuw i8 %1647 to i1
  br i1 %1648, label %1649, label %1653

1649:                                             ; preds = %1642
  %1650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1651 = call i32 @fileno(ptr noundef %1650) #9
  %1652 = call i32 @isatty(i32 noundef %1651) #9
  %.not206 = icmp eq i32 %1652, 0
  br i1 %.not206, label %1653, label %1654

1653:                                             ; preds = %1649, %1642
  br label %1654

1654:                                             ; preds = %1649, %1653
  %.str.5.sink871 = phi ptr [ @.str.5, %1653 ], [ @.str.2, %1649 ]
  store i32 %1644, ptr %1643, align 4, !tbaa !5
  %1655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1656 = load i32, ptr @test_count, align 4, !tbaa !5
  %1657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1658 = load i32, ptr %1657, align 4, !tbaa !5
  %1659 = call ptr @s2n_strerror(i32 noundef %1658, ptr noundef nonnull @.str.4) #9
  %1660 = load i32, ptr %1657, align 4, !tbaa !5
  %1661 = call ptr @s2n_strerror_debug(i32 noundef %1660, ptr noundef nonnull @.str.4) #9
  %1662 = load i32, ptr %1643, align 4, !tbaa !5
  %1663 = call ptr @strerror(i32 noundef %1662) #9
  %1664 = load i32, ptr %1643, align 4, !tbaa !5
  %1665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1655, ptr noundef nonnull %.str.5.sink871, i32 noundef %1656, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 144, ptr noundef %1659, ptr noundef %1661, ptr noundef %1663, i32 noundef %1664) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1666:                                             ; preds = %1637
  %1667 = load i32, ptr @test_count, align 4, !tbaa !5
  %1668 = add nsw i32 %1667, 1
  store i32 %1668, ptr @test_count, align 4, !tbaa !5
  %1669 = call i32 %938(ptr noundef nonnull %1522, ptr noundef nonnull %7) #9
  %1670 = icmp eq i32 %1669, -1
  br i1 %1670, label %1671, label %1695

1671:                                             ; preds = %1666
  %1672 = tail call ptr @__errno_location() #10
  %1673 = load i32, ptr %1672, align 4, !tbaa !5
  %1674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1675 = call i32 @s2n_print_stacktrace(ptr noundef %1674) #9
  %1676 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1677 = trunc nuw i8 %1676 to i1
  br i1 %1677, label %1678, label %1682

1678:                                             ; preds = %1671
  %1679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1680 = call i32 @fileno(ptr noundef %1679) #9
  %1681 = call i32 @isatty(i32 noundef %1680) #9
  %.not205 = icmp eq i32 %1681, 0
  br i1 %.not205, label %1682, label %1683

1682:                                             ; preds = %1678, %1671
  br label %1683

1683:                                             ; preds = %1678, %1682
  %.str.5.sink882 = phi ptr [ @.str.5, %1682 ], [ @.str.2, %1678 ]
  store i32 %1673, ptr %1672, align 4, !tbaa !5
  %1684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1685 = load i32, ptr @test_count, align 4, !tbaa !5
  %1686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1687 = load i32, ptr %1686, align 4, !tbaa !5
  %1688 = call ptr @s2n_strerror(i32 noundef %1687, ptr noundef nonnull @.str.4) #9
  %1689 = load i32, ptr %1686, align 4, !tbaa !5
  %1690 = call ptr @s2n_strerror_debug(i32 noundef %1689, ptr noundef nonnull @.str.4) #9
  %1691 = load i32, ptr %1672, align 4, !tbaa !5
  %1692 = call ptr @strerror(i32 noundef %1691) #9
  %1693 = load i32, ptr %1672, align 4, !tbaa !5
  %1694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1684, ptr noundef nonnull %.str.5.sink882, i32 noundef %1685, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 147, ptr noundef %1688, ptr noundef %1690, ptr noundef %1692, i32 noundef %1693) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1695:                                             ; preds = %1666
  %1696 = load i32, ptr @test_count, align 4, !tbaa !5
  %1697 = add nsw i32 %1696, 1
  store i32 %1697, ptr @test_count, align 4, !tbaa !5
  %1698 = getelementptr inbounds i8, ptr %1522, i64 2232
  %1699 = load i8, ptr %1698, align 8, !tbaa !25
  %1700 = icmp eq i8 %1699, 1
  br i1 %1700, label %1725, label %1701

1701:                                             ; preds = %1695
  %1702 = tail call ptr @__errno_location() #10
  %1703 = load i32, ptr %1702, align 4, !tbaa !5
  %1704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1705 = call i32 @s2n_print_stacktrace(ptr noundef %1704) #9
  %1706 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1707 = trunc nuw i8 %1706 to i1
  br i1 %1707, label %1708, label %1712

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

1712:                                             ; preds = %1708, %1701
  br label %1713

1713:                                             ; preds = %1708, %1712
  %.str.5.sink893 = phi ptr [ @.str.5, %1712 ], [ @.str.2, %1708 ]
  store i32 %1703, ptr %1702, align 4, !tbaa !5
  %1714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1715 = load i32, ptr @test_count, align 4, !tbaa !5
  %1716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1717 = load i32, ptr %1716, align 4, !tbaa !5
  %1718 = call ptr @s2n_strerror(i32 noundef %1717, ptr noundef nonnull @.str.4) #9
  %1719 = load i32, ptr %1716, align 4, !tbaa !5
  %1720 = call ptr @s2n_strerror_debug(i32 noundef %1719, ptr noundef nonnull @.str.4) #9
  %1721 = load i32, ptr %1702, align 4, !tbaa !5
  %1722 = call ptr @strerror(i32 noundef %1721) #9
  %1723 = load i32, ptr %1702, align 4, !tbaa !5
  %1724 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1714, ptr noundef nonnull %.str.5.sink893, i32 noundef %1715, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 148, ptr noundef %1718, ptr noundef %1720, ptr noundef %1722, i32 noundef %1723) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1725:                                             ; preds = %1695
  %1726 = add nsw i32 %1696, 2
  store i32 %1726, ptr @test_count, align 4, !tbaa !5
  %1727 = getelementptr inbounds i8, ptr %1522, i64 2208
  %1728 = load i16, ptr %1727, align 8, !tbaa !49
  %1729 = load i16, ptr getelementptr inbounds (i8, ptr @mfl_code_to_length, i64 2), align 2, !tbaa !55
  %1730 = icmp eq i16 %1728, %1729
  br i1 %1730, label %1755, label %1731

1731:                                             ; preds = %1725
  %1732 = tail call ptr @__errno_location() #10
  %1733 = load i32, ptr %1732, align 4, !tbaa !5
  %1734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1735 = call i32 @s2n_print_stacktrace(ptr noundef %1734) #9
  %1736 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1737 = trunc nuw i8 %1736 to i1
  br i1 %1737, label %1738, label %1742

1738:                                             ; preds = %1731
  %1739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1740 = call i32 @fileno(ptr noundef %1739) #9
  %1741 = call i32 @isatty(i32 noundef %1740) #9
  %.not195 = icmp eq i32 %1741, 0
  br i1 %.not195, label %1742, label %1743

1742:                                             ; preds = %1738, %1731
  br label %1743

1743:                                             ; preds = %1738, %1742
  %.str.5.sink904 = phi ptr [ @.str.5, %1742 ], [ @.str.2, %1738 ]
  store i32 %1733, ptr %1732, align 4, !tbaa !5
  %1744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1745 = load i32, ptr @test_count, align 4, !tbaa !5
  %1746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1747 = load i32, ptr %1746, align 4, !tbaa !5
  %1748 = call ptr @s2n_strerror(i32 noundef %1747, ptr noundef nonnull @.str.4) #9
  %1749 = load i32, ptr %1746, align 4, !tbaa !5
  %1750 = call ptr @s2n_strerror_debug(i32 noundef %1749, ptr noundef nonnull @.str.4) #9
  %1751 = load i32, ptr %1732, align 4, !tbaa !5
  %1752 = call ptr @strerror(i32 noundef %1751) #9
  %1753 = load i32, ptr %1732, align 4, !tbaa !5
  %1754 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1744, ptr noundef nonnull %.str.5.sink904, i32 noundef %1745, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 149, ptr noundef %1748, ptr noundef %1750, ptr noundef %1752, i32 noundef %1753) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1755:                                             ; preds = %1725
  %1756 = add nsw i32 %1696, 3
  store i32 %1756, ptr @test_count, align 4, !tbaa !5
  %1757 = getelementptr inbounds i8, ptr %7, i64 28
  %1758 = load i32, ptr %1757, align 4, !tbaa !20
  %1759 = getelementptr inbounds i8, ptr %7, i64 24
  %1760 = load i32, ptr %1759, align 8, !tbaa !23
  %1761 = icmp eq i32 %1758, %1760
  br i1 %1761, label %1786, label %1762

1762:                                             ; preds = %1755
  %1763 = tail call ptr @__errno_location() #10
  %1764 = load i32, ptr %1763, align 4, !tbaa !5
  %1765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1766 = call i32 @s2n_print_stacktrace(ptr noundef %1765) #9
  %1767 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1768 = trunc nuw i8 %1767 to i1
  br i1 %1768, label %1769, label %1773

1769:                                             ; preds = %1762
  %1770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1771 = call i32 @fileno(ptr noundef %1770) #9
  %1772 = call i32 @isatty(i32 noundef %1771) #9
  %.not196 = icmp eq i32 %1772, 0
  br i1 %.not196, label %1773, label %1774

1773:                                             ; preds = %1769, %1762
  br label %1774

1774:                                             ; preds = %1769, %1773
  %.str.5.sink915 = phi ptr [ @.str.5, %1773 ], [ @.str.2, %1769 ]
  store i32 %1764, ptr %1763, align 4, !tbaa !5
  %1775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1776 = load i32, ptr @test_count, align 4, !tbaa !5
  %1777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1778 = load i32, ptr %1777, align 4, !tbaa !5
  %1779 = call ptr @s2n_strerror(i32 noundef %1778, ptr noundef nonnull @.str.4) #9
  %1780 = load i32, ptr %1777, align 4, !tbaa !5
  %1781 = call ptr @s2n_strerror_debug(i32 noundef %1780, ptr noundef nonnull @.str.4) #9
  %1782 = load i32, ptr %1763, align 4, !tbaa !5
  %1783 = call ptr @strerror(i32 noundef %1782) #9
  %1784 = load i32, ptr %1763, align 4, !tbaa !5
  %1785 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1775, ptr noundef nonnull %.str.5.sink915, i32 noundef %1776, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 150, ptr noundef %1779, ptr noundef %1781, ptr noundef %1783, i32 noundef %1784) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1786:                                             ; preds = %1755
  %1787 = add nsw i32 %1696, 4
  store i32 %1787, ptr @test_count, align 4, !tbaa !5
  %1788 = call i32 @s2n_stuffer_free(ptr noundef nonnull %7) #9
  %1789 = icmp eq i32 %1788, -1
  br i1 %1789, label %1790, label %1814

1790:                                             ; preds = %1786
  %1791 = tail call ptr @__errno_location() #10
  %1792 = load i32, ptr %1791, align 4, !tbaa !5
  %1793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1794 = call i32 @s2n_print_stacktrace(ptr noundef %1793) #9
  %1795 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1796 = trunc nuw i8 %1795 to i1
  br i1 %1796, label %1797, label %1801

1797:                                             ; preds = %1790
  %1798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1799 = call i32 @fileno(ptr noundef %1798) #9
  %1800 = call i32 @isatty(i32 noundef %1799) #9
  %.not204 = icmp eq i32 %1800, 0
  br i1 %.not204, label %1801, label %1802

1801:                                             ; preds = %1797, %1790
  br label %1802

1802:                                             ; preds = %1797, %1801
  %.str.5.sink926 = phi ptr [ @.str.5, %1801 ], [ @.str.2, %1797 ]
  store i32 %1792, ptr %1791, align 4, !tbaa !5
  %1803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1804 = load i32, ptr @test_count, align 4, !tbaa !5
  %1805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1806 = load i32, ptr %1805, align 4, !tbaa !5
  %1807 = call ptr @s2n_strerror(i32 noundef %1806, ptr noundef nonnull @.str.4) #9
  %1808 = load i32, ptr %1805, align 4, !tbaa !5
  %1809 = call ptr @s2n_strerror_debug(i32 noundef %1808, ptr noundef nonnull @.str.4) #9
  %1810 = load i32, ptr %1791, align 4, !tbaa !5
  %1811 = call ptr @strerror(i32 noundef %1810) #9
  %1812 = load i32, ptr %1791, align 4, !tbaa !5
  %1813 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1803, ptr noundef nonnull %.str.5.sink926, i32 noundef %1804, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 152, ptr noundef %1807, ptr noundef %1809, ptr noundef %1811, i32 noundef %1812) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1814:                                             ; preds = %1786
  %1815 = load i32, ptr @test_count, align 4, !tbaa !5
  %1816 = add nsw i32 %1815, 1
  store i32 %1816, ptr @test_count, align 4, !tbaa !5
  %1817 = call i32 @s2n_connection_free(ptr noundef nonnull %1522) #9
  %1818 = icmp eq i32 %1817, -1
  br i1 %1818, label %1819, label %1843

1819:                                             ; preds = %1814
  %1820 = tail call ptr @__errno_location() #10
  %1821 = load i32, ptr %1820, align 4, !tbaa !5
  %1822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1823 = call i32 @s2n_print_stacktrace(ptr noundef %1822) #9
  %1824 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1825 = trunc nuw i8 %1824 to i1
  br i1 %1825, label %1826, label %1830

1826:                                             ; preds = %1819
  %1827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1828 = call i32 @fileno(ptr noundef %1827) #9
  %1829 = call i32 @isatty(i32 noundef %1828) #9
  %.not203 = icmp eq i32 %1829, 0
  br i1 %.not203, label %1830, label %1831

1830:                                             ; preds = %1826, %1819
  br label %1831

1831:                                             ; preds = %1826, %1830
  %.str.5.sink937 = phi ptr [ @.str.5, %1830 ], [ @.str.2, %1826 ]
  store i32 %1821, ptr %1820, align 4, !tbaa !5
  %1832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1833 = load i32, ptr @test_count, align 4, !tbaa !5
  %1834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1835 = load i32, ptr %1834, align 4, !tbaa !5
  %1836 = call ptr @s2n_strerror(i32 noundef %1835, ptr noundef nonnull @.str.4) #9
  %1837 = load i32, ptr %1834, align 4, !tbaa !5
  %1838 = call ptr @s2n_strerror_debug(i32 noundef %1837, ptr noundef nonnull @.str.4) #9
  %1839 = load i32, ptr %1820, align 4, !tbaa !5
  %1840 = call ptr @strerror(i32 noundef %1839) #9
  %1841 = load i32, ptr %1820, align 4, !tbaa !5
  %1842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1832, ptr noundef nonnull %.str.5.sink937, i32 noundef %1833, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 153, ptr noundef %1836, ptr noundef %1838, ptr noundef %1840, i32 noundef %1841) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1843:                                             ; preds = %1814
  %1844 = load i32, ptr @test_count, align 4, !tbaa !5
  %1845 = add nsw i32 %1844, 1
  store i32 %1845, ptr @test_count, align 4, !tbaa !5
  %1846 = call i32 @s2n_config_free(ptr noundef nonnull %1464) #9
  %1847 = icmp eq i32 %1846, -1
  br i1 %1847, label %1848, label %1872

1848:                                             ; preds = %1843
  %1849 = tail call ptr @__errno_location() #10
  %1850 = load i32, ptr %1849, align 4, !tbaa !5
  %1851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1852 = call i32 @s2n_print_stacktrace(ptr noundef %1851) #9
  %1853 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1854 = trunc nuw i8 %1853 to i1
  br i1 %1854, label %1855, label %1859

1855:                                             ; preds = %1848
  %1856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1857 = call i32 @fileno(ptr noundef %1856) #9
  %1858 = call i32 @isatty(i32 noundef %1857) #9
  %.not202 = icmp eq i32 %1858, 0
  br i1 %.not202, label %1859, label %1860

1859:                                             ; preds = %1855, %1848
  br label %1860

1860:                                             ; preds = %1855, %1859
  %.str.5.sink948 = phi ptr [ @.str.5, %1859 ], [ @.str.2, %1855 ]
  store i32 %1850, ptr %1849, align 4, !tbaa !5
  %1861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1862 = load i32, ptr @test_count, align 4, !tbaa !5
  %1863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1864 = load i32, ptr %1863, align 4, !tbaa !5
  %1865 = call ptr @s2n_strerror(i32 noundef %1864, ptr noundef nonnull @.str.4) #9
  %1866 = load i32, ptr %1863, align 4, !tbaa !5
  %1867 = call ptr @s2n_strerror_debug(i32 noundef %1866, ptr noundef nonnull @.str.4) #9
  %1868 = load i32, ptr %1849, align 4, !tbaa !5
  %1869 = call ptr @strerror(i32 noundef %1868) #9
  %1870 = load i32, ptr %1849, align 4, !tbaa !5
  %1871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1861, ptr noundef nonnull %.str.5.sink948, i32 noundef %1862, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 154, ptr noundef %1865, ptr noundef %1867, ptr noundef %1869, i32 noundef %1870) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1872:                                             ; preds = %1843
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %7) #9
  %1873 = call i32 @s2n_cleanup() #9
  %1874 = icmp eq i32 %1873, -1
  br i1 %1874, label %1875, label %1899

1875:                                             ; preds = %1872
  %1876 = tail call ptr @__errno_location() #10
  %1877 = load i32, ptr %1876, align 4, !tbaa !5
  %1878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1879 = call i32 @s2n_print_stacktrace(ptr noundef %1878) #9
  %1880 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1881 = trunc nuw i8 %1880 to i1
  br i1 %1881, label %1882, label %1886

1882:                                             ; preds = %1875
  %1883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1884 = call i32 @fileno(ptr noundef %1883) #9
  %1885 = call i32 @isatty(i32 noundef %1884) #9
  %.not201 = icmp eq i32 %1885, 0
  br i1 %.not201, label %1886, label %1887

1886:                                             ; preds = %1882, %1875
  br label %1887

1887:                                             ; preds = %1882, %1886
  %.str.5.sink959 = phi ptr [ @.str.5, %1886 ], [ @.str.2, %1882 ]
  store i32 %1877, ptr %1876, align 4, !tbaa !5
  %1888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1889 = load i32, ptr @test_count, align 4, !tbaa !5
  %1890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1891 = load i32, ptr %1890, align 4, !tbaa !5
  %1892 = call ptr @s2n_strerror(i32 noundef %1891, ptr noundef nonnull @.str.4) #9
  %1893 = load i32, ptr %1890, align 4, !tbaa !5
  %1894 = call ptr @s2n_strerror_debug(i32 noundef %1893, ptr noundef nonnull @.str.4) #9
  %1895 = load i32, ptr %1876, align 4, !tbaa !5
  %1896 = call ptr @strerror(i32 noundef %1895) #9
  %1897 = load i32, ptr %1876, align 4, !tbaa !5
  %1898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1888, ptr noundef nonnull %.str.5.sink959, i32 noundef %1889, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 157, ptr noundef %1892, ptr noundef %1894, ptr noundef %1896, i32 noundef %1897) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1899:                                             ; preds = %1872
  %1900 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #9
  %1901 = icmp eq i32 %1900, -1
  br i1 %1901, label %1902, label %1926

1902:                                             ; preds = %1899
  %1903 = tail call ptr @__errno_location() #10
  %1904 = load i32, ptr %1903, align 4, !tbaa !5
  %1905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1906 = call i32 @s2n_print_stacktrace(ptr noundef %1905) #9
  %1907 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1908 = trunc nuw i8 %1907 to i1
  br i1 %1908, label %1909, label %1913

1909:                                             ; preds = %1902
  %1910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1911 = call i32 @fileno(ptr noundef %1910) #9
  %1912 = call i32 @isatty(i32 noundef %1911) #9
  %.not200 = icmp eq i32 %1912, 0
  br i1 %.not200, label %1913, label %1914

1913:                                             ; preds = %1909, %1902
  br label %1914

1914:                                             ; preds = %1909, %1913
  %.str.5.sink970 = phi ptr [ @.str.5, %1913 ], [ @.str.2, %1909 ]
  store i32 %1904, ptr %1903, align 4, !tbaa !5
  %1915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1916 = load i32, ptr @test_count, align 4, !tbaa !5
  %1917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1918 = load i32, ptr %1917, align 4, !tbaa !5
  %1919 = call ptr @s2n_strerror(i32 noundef %1918, ptr noundef nonnull @.str.4) #9
  %1920 = load i32, ptr %1917, align 4, !tbaa !5
  %1921 = call ptr @s2n_strerror_debug(i32 noundef %1920, ptr noundef nonnull @.str.4) #9
  %1922 = load i32, ptr %1903, align 4, !tbaa !5
  %1923 = call ptr @strerror(i32 noundef %1922) #9
  %1924 = load i32, ptr %1903, align 4, !tbaa !5
  %1925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1915, ptr noundef nonnull %.str.5.sink970, i32 noundef %1916, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 157, ptr noundef %1919, ptr noundef %1921, ptr noundef %1923, i32 noundef %1924) #11
  call void @exit(i32 noundef 1) #12
  unreachable

1926:                                             ; preds = %1899
  %1927 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1928 = trunc nuw i8 %1927 to i1
  br i1 %1928, label %1929, label %1940

1929:                                             ; preds = %1926
  %1930 = load ptr, ptr @stdout, align 8, !tbaa !9
  %1931 = call i32 @fileno(ptr noundef %1930) #9
  %1932 = call i32 @isatty(i32 noundef %1931) #9
  %.not197 = icmp eq i32 %1932, 0
  br i1 %.not197, label %1940, label %1933

1933:                                             ; preds = %1929
  %1934 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not199 = icmp eq i32 %1934, 0
  %1935 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not199, label %1938, label %1936

1936:                                             ; preds = %1933
  %1937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1935, ptr noundef nonnull @.str.34, i32 noundef %1934) #9
  br label %1947

1938:                                             ; preds = %1933
  %1939 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1935, ptr noundef nonnull @.str.35) #9
  br label %1947

1940:                                             ; preds = %1929, %1926
  %1941 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not198 = icmp eq i32 %1941, 0
  %1942 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not198, label %1945, label %1943

1943:                                             ; preds = %1940
  %1944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1942, ptr noundef nonnull @.str.36, i32 noundef %1941) #9
  br label %1947

1945:                                             ; preds = %1940
  %1946 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1942, ptr noundef nonnull @.str.37) #9
  br label %1947

1947:                                             ; preds = %1943, %1945, %1936, %1938
  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_config_send_max_fragment_length(ptr noundef, i32 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

; 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 i32 @s2n_config_accept_max_fragment_length(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_cleanup() local_unnamed_addr #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nofree nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { mustprogress nofree nosync nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #7 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { 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 = !{!16, !10, i64 8}
!19 = !{!7, !7, i64 0}
!20 = !{!21, !6, i64 28}
!21 = !{!"s2n_stuffer", !22, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!22 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!23 = !{!21, !6, i64 24}
!24 = !{!16, !10, i64 16}
!25 = !{!26, !7, i64 2232}
!26 = !{!"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, !27, i64 160, !28, i64 168, !28, 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, !29, i64 240, !10, i64 632, !10, i64 640, !30, i64 648, !35, i64 1144, !38, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !21, i64 1776, !21, i64 1816, !21, i64 1856, !21, i64 1896, !6, i64 1936, !28, i64 1944, !7, i64 1952, !21, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !40, i64 2004, !40, i64 2008, !41, i64 2016, !17, i64 2208, !6, i64 2212, !17, i64 2216, !28, i64 2224, !7, i64 2232, !28, i64 2240, !28, i64 2248, !28, i64 2256, !40, i64 2264, !40, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !22, i64 2792, !6, i64 2816, !22, i64 2824, !22, i64 2848, !22, i64 2872, !43, i64 2896, !45, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !22, i64 3784, !6, i64 3808, !47, i64 3816, !7, i64 3848, !21, i64 3992, !22, i64 4032, !22, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !17, i64 4084, !17, i64 4086, !6, i64 4088, !6, i64 4092, !22, i64 4096, !6, i64 4120, !48, i64 4128, !40, i64 4176, !7, i64 4180, !7, i64 4181}
!27 = !{!"s2n_timer", !28, i64 0}
!28 = !{!"long", !7, i64 0}
!29 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!30 = !{!"s2n_kex_parameters", !31, i64 0, !32, i64 8, !7, i64 24, !32, i64 56, !33, i64 72, !33, i64 184, !7, i64 296, !34, i64 360, !22, i64 448, !22, i64 472}
!31 = !{!"s2n_dh_params", !10, i64 0}
!32 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!33 = !{!"s2n_kem_group_params", !10, i64 0, !34, i64 8, !32, i64 96}
!34 = !{!"s2n_kem_params", !10, i64 0, !22, i64 8, !22, i64 32, !22, i64 56, !12, i64 80}
!35 = !{!"s2n_handshake_parameters", !36, i64 0, !36, i64 48, !22, i64 96, !6, i64 120, !37, 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}
!36 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!37 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!38 = !{!"s2n_psk_parameters", !6, i64 0, !39, i64 8, !17, i64 40, !17, i64 42, !10, i64 48, !6, i64 56}
!39 = !{!"s2n_array", !22, i64 0, !6, i64 24, !6, i64 28}
!40 = !{!"", !6, i64 0}
!41 = !{!"s2n_handshake", !21, i64 0, !10, i64 40, !7, i64 48, !7, i64 56, !7, i64 104, !7, i64 152, !6, i64 156, !6, i64 160, !6, i64 164, !6, i64 168, !42, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!42 = !{!"s2n_offered_early_data", !10, i64 0}
!43 = !{!"s2n_client_hello", !22, i64 0, !44, i64 24, !22, i64 728, !22, i64 752, !22, i64 776, !7, i64 800, !7, i64 801, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802}
!44 = !{!"", !7, i64 0, !22, i64 672, !17, i64 696}
!45 = !{!"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, !46, i64 48, !12, i64 52}
!46 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!47 = !{!"s2n_ticket_fields", !22, i64 0, !6, i64 24}
!48 = !{!"s2n_post_handshake", !21, i64 0, !7, i64 40}
!49 = !{!26, !17, i64 2208}
!50 = !{!26, !10, i64 8}
!51 = !{!52, !7, i64 296}
!52 = !{!"s2n_config", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !53, i64 24, !22, i64 56, !10, i64 80, !10, i64 88, !10, i64 96, !10, i64 104, !10, i64 112, !10, i64 120, !6, i64 128, !6, i64 132, !10, i64 136, !28, i64 144, !10, i64 152, !28, i64 160, !28, i64 168, !10, i64 176, !10, i64 184, !10, i64 192, !10, i64 200, !10, i64 208, !10, i64 216, !6, i64 224, !7, i64 228, !6, i64 232, !6, i64 236, !10, i64 240, !10, i64 248, !10, i64 256, !10, i64 264, !10, i64 272, !10, i64 280, !10, i64 288, !7, i64 296, !7, i64 297, !54, i64 304, !17, i64 320, !10, i64 328, !10, i64 336, !10, i64 344, !10, i64 352, !10, i64 360, !10, i64 368, !10, i64 376, !10, i64 384, !6, i64 392, !6, i64 396, !6, i64 400, !10, i64 408, !6, i64 416, !6, i64 420, !10, i64 424, !10, i64 432, !6, i64 440, !22, i64 448}
!53 = !{!"certs_by_type", !7, i64 0}
!54 = !{!"s2n_x509_trust_store", !10, i64 0, !6, i64 8}
!55 = !{!17, !17, i64 0}


; Effective O3 passes: EarlyCSEPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass,TailCallElimPass