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

@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 [84 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 [32 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [44 x i8], align 1
@s2n_tls13_aes_128_gcm_sha256 = external global %struct.s2n_cipher_suite, align 8
@.str.47 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [37 x i8], align 1

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

144:                                              ; preds = %2
  br label %145

145:                                              ; preds = %144
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %146 = load ptr, ptr @stdout, align 8, !tbaa !9
  %147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %146, ptr noundef @.str, ptr noundef @.str.1) #11
  %148 = load ptr, ptr @stdout, align 8, !tbaa !9
  %149 = call i32 @fflush(ptr noundef %148)
  br label %150

150:                                              ; preds = %145
  %151 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %152 = icmp eq i32 %151, -1
  br i1 %152, label %153, label %204

153:                                              ; preds = %150
  br label %154

154:                                              ; preds = %153
  br label %155

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

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

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

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

201:                                              ; preds = %184, %167
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #11
  br label %202

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

203:                                              ; No predecessors!
  br label %204

204:                                              ; preds = %203, %150
  br label %205

205:                                              ; preds = %204
  br label %206

206:                                              ; preds = %205
  %207 = load i32, ptr @test_count, align 4, !tbaa !5
  %208 = add nsw i32 %207, 1
  store i32 %208, ptr @test_count, align 4, !tbaa !5
  %209 = call i32 @s2n_enable_atexit()
  %210 = icmp eq i32 %209, -1
  br i1 %210, label %211, label %262

211:                                              ; preds = %206
  br label %212

212:                                              ; preds = %211
  br label %213

213:                                              ; preds = %212
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #11
  %214 = call ptr @__errno_location() #12
  %215 = load i32, ptr %214, align 4, !tbaa !5
  store i32 %215, ptr %7, 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) #11
  %223 = call i32 @isatty(i32 noundef %222) #11
  %224 = icmp ne i32 %223, 0
  br i1 %224, label %225, label %242

225:                                              ; preds = %220
  %226 = load i32, ptr %7, align 4, !tbaa !5
  %227 = call ptr @__errno_location() #12
  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() #12
  %237 = load i32, ptr %236, align 4, !tbaa !5
  %238 = call ptr @strerror(i32 noundef %237) #11
  %239 = call ptr @__errno_location() #12
  %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.6, ptr noundef @.str.1, i32 noundef 35, ptr noundef %232, ptr noundef %235, ptr noundef %238, i32 noundef %240) #11
  br label %259

242:                                              ; preds = %220, %213
  %243 = load i32, ptr %7, align 4, !tbaa !5
  %244 = call ptr @__errno_location() #12
  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() #12
  %254 = load i32, ptr %253, align 4, !tbaa !5
  %255 = call ptr @strerror(i32 noundef %254) #11
  %256 = call ptr @__errno_location() #12
  %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.6, ptr noundef @.str.1, i32 noundef 35, ptr noundef %249, ptr noundef %252, ptr noundef %255, i32 noundef %257) #11
  br label %259

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

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

261:                                              ; No predecessors!
  br label %262

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

263:                                              ; preds = %262
  br label %264

264:                                              ; preds = %263
  br label %265

265:                                              ; preds = %264
  %266 = call i32 @s2n_init()
  %267 = icmp eq i32 %266, -1
  br i1 %267, label %268, label %319

268:                                              ; preds = %265
  br label %269

269:                                              ; preds = %268
  br label %270

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

277:                                              ; preds = %270
  %278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %279 = call i32 @fileno(ptr noundef %278) #11
  %280 = call i32 @isatty(i32 noundef %279) #11
  %281 = icmp ne i32 %280, 0
  br i1 %281, label %282, label %299

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

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

316:                                              ; preds = %299, %282
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #11
  br label %317

317:                                              ; preds = %316
  call void @exit(i32 noundef 1) #13
  unreachable

318:                                              ; No predecessors!
  br label %319

319:                                              ; preds = %318, %265
  br label %320

320:                                              ; preds = %319
  br label %321

321:                                              ; preds = %320
  call void @llvm.lifetime.start.p0(i64 1, ptr %9) #11
  store i8 0, ptr %9, align 1, !tbaa !11
  br label %322

322:                                              ; preds = %321
  %323 = load i32, ptr @test_count, align 4, !tbaa !5
  %324 = add nsw i32 %323, 1
  store i32 %324, ptr @test_count, align 4, !tbaa !5
  br label %325

325:                                              ; preds = %322
  br label %326

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

333:                                              ; preds = %326
  %334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %335 = call i32 @fileno(ptr noundef %334) #11
  %336 = call i32 @isatty(i32 noundef %335) #11
  %337 = icmp ne i32 %336, 0
  br i1 %337, label %338, label %355

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

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

372:                                              ; preds = %355, %338
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #11
  br label %373

373:                                              ; preds = %372
  br label %374

374:                                              ; preds = %373
  call void @exit(i32 noundef 1) #13
  unreachable

375:                                              ; No predecessors!
  br label %376

376:                                              ; preds = %375
  br label %377

377:                                              ; preds = %376
  br label %378

378:                                              ; preds = %377
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #11
  %379 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %379, ptr %11, align 8, !tbaa !9
  br label %380

380:                                              ; preds = %378
  %381 = load i32, ptr @test_count, align 4, !tbaa !5
  %382 = add nsw i32 %381, 1
  store i32 %382, ptr @test_count, align 4, !tbaa !5
  %383 = load ptr, ptr %11, align 8, !tbaa !9
  %384 = icmp eq ptr %383, null
  br i1 %384, label %385, label %438

385:                                              ; preds = %380
  br label %386

386:                                              ; preds = %385
  br label %387

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

394:                                              ; preds = %387
  %395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %396 = call i32 @fileno(ptr noundef %395) #11
  %397 = call i32 @isatty(i32 noundef %396) #11
  %398 = icmp ne i32 %397, 0
  br i1 %398, label %399, label %416

399:                                              ; preds = %394
  %400 = load i32, ptr %12, align 4, !tbaa !5
  %401 = call ptr @__errno_location() #12
  store i32 %400, ptr %401, align 4, !tbaa !5
  %402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %403 = load i32, ptr @test_count, align 4, !tbaa !5
  %404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %405 = load i32, ptr %404, align 4, !tbaa !5
  %406 = call ptr @s2n_strerror(i32 noundef %405, ptr noundef @.str.4)
  %407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %408 = load i32, ptr %407, align 4, !tbaa !5
  %409 = call ptr @s2n_strerror_debug(i32 noundef %408, ptr noundef @.str.4)
  %410 = call ptr @__errno_location() #12
  %411 = load i32, ptr %410, align 4, !tbaa !5
  %412 = call ptr @strerror(i32 noundef %411) #11
  %413 = call ptr @__errno_location() #12
  %414 = load i32, ptr %413, align 4, !tbaa !5
  %415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %402, ptr noundef @.str.2, i32 noundef %403, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 57, ptr noundef %406, ptr noundef %409, ptr noundef %412, i32 noundef %414) #11
  br label %433

416:                                              ; preds = %394, %387
  %417 = load i32, ptr %12, align 4, !tbaa !5
  %418 = call ptr @__errno_location() #12
  store i32 %417, ptr %418, align 4, !tbaa !5
  %419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %420 = load i32, ptr @test_count, align 4, !tbaa !5
  %421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %422 = load i32, ptr %421, align 4, !tbaa !5
  %423 = call ptr @s2n_strerror(i32 noundef %422, ptr noundef @.str.4)
  %424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %425 = load i32, ptr %424, align 4, !tbaa !5
  %426 = call ptr @s2n_strerror_debug(i32 noundef %425, ptr noundef @.str.4)
  %427 = call ptr @__errno_location() #12
  %428 = load i32, ptr %427, align 4, !tbaa !5
  %429 = call ptr @strerror(i32 noundef %428) #11
  %430 = call ptr @__errno_location() #12
  %431 = load i32, ptr %430, align 4, !tbaa !5
  %432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %419, ptr noundef @.str.5, i32 noundef %420, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 57, ptr noundef %423, ptr noundef %426, ptr noundef %429, i32 noundef %431) #11
  br label %433

433:                                              ; preds = %416, %399
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #11
  br label %434

434:                                              ; preds = %433
  br label %435

435:                                              ; preds = %434
  call void @exit(i32 noundef 1) #13
  unreachable

436:                                              ; No predecessors!
  br label %437

437:                                              ; preds = %436
  br label %438

438:                                              ; preds = %437, %380
  br label %439

439:                                              ; preds = %438
  br label %440

440:                                              ; preds = %439
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #11
  store i32 0, ptr %13, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #11
  store i64 0, ptr %14, align 8, !tbaa !15
  br label %441

441:                                              ; preds = %440
  br label %442

442:                                              ; preds = %441
  br label %443

443:                                              ; preds = %442
  %444 = load i32, ptr @test_count, align 4, !tbaa !5
  %445 = add nsw i32 %444, 1
  store i32 %445, ptr @test_count, align 4, !tbaa !5
  %446 = call i32 @s2n_sendfile(ptr noundef null, i32 noundef 0, i64 noundef 0, i64 noundef 0, ptr noundef %14, ptr noundef %13)
  %447 = icmp eq i32 %446, -1
  br i1 %447, label %501, label %448

448:                                              ; preds = %443
  br label %449

449:                                              ; preds = %448
  br label %450

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

457:                                              ; preds = %450
  %458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %459 = call i32 @fileno(ptr noundef %458) #11
  %460 = call i32 @isatty(i32 noundef %459) #11
  %461 = icmp ne i32 %460, 0
  br i1 %461, label %462, label %479

462:                                              ; preds = %457
  %463 = load i32, ptr %15, align 4, !tbaa !5
  %464 = call ptr @__errno_location() #12
  store i32 %463, ptr %464, align 4, !tbaa !5
  %465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %466 = load i32, ptr @test_count, align 4, !tbaa !5
  %467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %468 = load i32, ptr %467, align 4, !tbaa !5
  %469 = call ptr @s2n_strerror(i32 noundef %468, ptr noundef @.str.4)
  %470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %471 = load i32, ptr %470, align 4, !tbaa !5
  %472 = call ptr @s2n_strerror_debug(i32 noundef %471, ptr noundef @.str.4)
  %473 = call ptr @__errno_location() #12
  %474 = load i32, ptr %473, align 4, !tbaa !5
  %475 = call ptr @strerror(i32 noundef %474) #11
  %476 = call ptr @__errno_location() #12
  %477 = load i32, ptr %476, align 4, !tbaa !5
  %478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %465, ptr noundef @.str.2, i32 noundef %466, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 63, ptr noundef %469, ptr noundef %472, ptr noundef %475, i32 noundef %477) #11
  br label %496

479:                                              ; preds = %457, %450
  %480 = load i32, ptr %15, align 4, !tbaa !5
  %481 = call ptr @__errno_location() #12
  store i32 %480, ptr %481, align 4, !tbaa !5
  %482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %483 = load i32, ptr @test_count, align 4, !tbaa !5
  %484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %485 = load i32, ptr %484, align 4, !tbaa !5
  %486 = call ptr @s2n_strerror(i32 noundef %485, ptr noundef @.str.4)
  %487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %488 = load i32, ptr %487, align 4, !tbaa !5
  %489 = call ptr @s2n_strerror_debug(i32 noundef %488, ptr noundef @.str.4)
  %490 = call ptr @__errno_location() #12
  %491 = load i32, ptr %490, align 4, !tbaa !5
  %492 = call ptr @strerror(i32 noundef %491) #11
  %493 = call ptr @__errno_location() #12
  %494 = load i32, ptr %493, align 4, !tbaa !5
  %495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %482, ptr noundef @.str.5, i32 noundef %483, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 63, ptr noundef %486, ptr noundef %489, ptr noundef %492, i32 noundef %494) #11
  br label %496

496:                                              ; preds = %479, %462
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #11
  br label %497

497:                                              ; preds = %496
  br label %498

498:                                              ; preds = %497
  call void @exit(i32 noundef 1) #13
  unreachable

499:                                              ; No predecessors!
  br label %500

500:                                              ; preds = %499
  br label %501

501:                                              ; preds = %500, %443
  br label %502

502:                                              ; preds = %501
  br label %503

503:                                              ; preds = %502
  br label %504

504:                                              ; preds = %503
  %505 = load i32, ptr @test_count, align 4, !tbaa !5
  %506 = add nsw i32 %505, 1
  store i32 %506, ptr @test_count, align 4, !tbaa !5
  %507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %508 = load i32, ptr %507, align 4, !tbaa !5
  %509 = icmp eq i32 %508, 402653193
  br i1 %509, label %563, label %510

510:                                              ; preds = %504
  br label %511

511:                                              ; preds = %510
  br label %512

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

519:                                              ; preds = %512
  %520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %521 = call i32 @fileno(ptr noundef %520) #11
  %522 = call i32 @isatty(i32 noundef %521) #11
  %523 = icmp ne i32 %522, 0
  br i1 %523, label %524, label %541

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

541:                                              ; preds = %519, %512
  %542 = load i32, ptr %16, align 4, !tbaa !5
  %543 = call ptr @__errno_location() #12
  store i32 %542, ptr %543, align 4, !tbaa !5
  %544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %545 = load i32, ptr @test_count, align 4, !tbaa !5
  %546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %547 = load i32, ptr %546, align 4, !tbaa !5
  %548 = call ptr @s2n_strerror(i32 noundef %547, ptr noundef @.str.4)
  %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_debug(i32 noundef %550, ptr noundef @.str.4)
  %552 = call ptr @__errno_location() #12
  %553 = load i32, ptr %552, align 4, !tbaa !5
  %554 = call ptr @strerror(i32 noundef %553) #11
  %555 = call ptr @__errno_location() #12
  %556 = load i32, ptr %555, align 4, !tbaa !5
  %557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %544, ptr noundef @.str.5, i32 noundef %545, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 63, ptr noundef %548, ptr noundef %551, ptr noundef %554, i32 noundef %556) #11
  br label %558

558:                                              ; preds = %541, %524
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #11
  br label %559

559:                                              ; preds = %558
  br label %560

560:                                              ; preds = %559
  call void @exit(i32 noundef 1) #13
  unreachable

561:                                              ; No predecessors!
  br label %562

562:                                              ; preds = %561
  br label %563

563:                                              ; preds = %562, %504
  br label %564

564:                                              ; preds = %563
  br label %565

565:                                              ; preds = %564
  br label %566

566:                                              ; preds = %565
  %567 = load i32, ptr @test_count, align 4, !tbaa !5
  %568 = add nsw i32 %567, 1
  store i32 %568, ptr @test_count, align 4, !tbaa !5
  %569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %570 = load i32, ptr %569, align 4, !tbaa !5
  %571 = call ptr @s2n_strerror_debug(i32 noundef %570, ptr noundef @.str.4)
  %572 = icmp eq ptr %571, null
  br i1 %572, label %573, label %626

573:                                              ; preds = %566
  br label %574

574:                                              ; preds = %573
  br label %575

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

582:                                              ; preds = %575
  %583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %584 = call i32 @fileno(ptr noundef %583) #11
  %585 = call i32 @isatty(i32 noundef %584) #11
  %586 = icmp ne i32 %585, 0
  br i1 %586, label %587, label %604

587:                                              ; preds = %582
  %588 = load i32, ptr %17, align 4, !tbaa !5
  %589 = call ptr @__errno_location() #12
  store i32 %588, ptr %589, align 4, !tbaa !5
  %590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %591 = load i32, ptr @test_count, align 4, !tbaa !5
  %592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %593 = load i32, ptr %592, align 4, !tbaa !5
  %594 = call ptr @s2n_strerror(i32 noundef %593, ptr noundef @.str.4)
  %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_debug(i32 noundef %596, ptr noundef @.str.4)
  %598 = call ptr @__errno_location() #12
  %599 = load i32, ptr %598, align 4, !tbaa !5
  %600 = call ptr @strerror(i32 noundef %599) #11
  %601 = call ptr @__errno_location() #12
  %602 = load i32, ptr %601, align 4, !tbaa !5
  %603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %590, ptr noundef @.str.2, i32 noundef %591, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 63, ptr noundef %594, ptr noundef %597, ptr noundef %600, i32 noundef %602) #11
  br label %621

604:                                              ; preds = %582, %575
  %605 = load i32, ptr %17, align 4, !tbaa !5
  %606 = call ptr @__errno_location() #12
  store i32 %605, ptr %606, align 4, !tbaa !5
  %607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %608 = load i32, ptr @test_count, align 4, !tbaa !5
  %609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %610 = load i32, ptr %609, align 4, !tbaa !5
  %611 = call ptr @s2n_strerror(i32 noundef %610, ptr noundef @.str.4)
  %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_debug(i32 noundef %613, ptr noundef @.str.4)
  %615 = call ptr @__errno_location() #12
  %616 = load i32, ptr %615, align 4, !tbaa !5
  %617 = call ptr @strerror(i32 noundef %616) #11
  %618 = call ptr @__errno_location() #12
  %619 = load i32, ptr %618, align 4, !tbaa !5
  %620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %607, ptr noundef @.str.5, i32 noundef %608, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 63, ptr noundef %611, ptr noundef %614, ptr noundef %617, i32 noundef %619) #11
  br label %621

621:                                              ; preds = %604, %587
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #11
  br label %622

622:                                              ; preds = %621
  br label %623

623:                                              ; preds = %622
  call void @exit(i32 noundef 1) #13
  unreachable

624:                                              ; No predecessors!
  br label %625

625:                                              ; preds = %624
  br label %626

626:                                              ; preds = %625, %566
  br label %627

627:                                              ; preds = %626
  br label %628

628:                                              ; preds = %627
  br label %629

629:                                              ; preds = %628
  br label %630

630:                                              ; preds = %629
  br label %631

631:                                              ; preds = %630
  %632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %632, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %633 = call ptr @__errno_location() #12
  store i32 0, ptr %633, align 4, !tbaa !5
  br label %634

634:                                              ; preds = %631
  br label %635

635:                                              ; preds = %634
  br label %636

636:                                              ; preds = %635
  br label %637

637:                                              ; preds = %636
  br label %638

638:                                              ; preds = %637
  br label %639

639:                                              ; preds = %638
  br label %640

640:                                              ; preds = %639
  %641 = load i32, ptr @test_count, align 4, !tbaa !5
  %642 = add nsw i32 %641, 1
  store i32 %642, ptr @test_count, align 4, !tbaa !5
  %643 = load ptr, ptr %11, align 8, !tbaa !9
  %644 = call i32 @s2n_sendfile(ptr noundef %643, i32 noundef 0, i64 noundef 0, i64 noundef 0, ptr noundef null, ptr noundef %13)
  %645 = icmp eq i32 %644, -1
  br i1 %645, label %699, label %646

646:                                              ; preds = %640
  br label %647

647:                                              ; preds = %646
  br label %648

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

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

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

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

694:                                              ; preds = %677, %660
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #11
  br label %695

695:                                              ; preds = %694
  br label %696

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

697:                                              ; No predecessors!
  br label %698

698:                                              ; preds = %697
  br label %699

699:                                              ; preds = %698, %640
  br label %700

700:                                              ; preds = %699
  br label %701

701:                                              ; preds = %700
  br label %702

702:                                              ; preds = %701
  %703 = load i32, ptr @test_count, align 4, !tbaa !5
  %704 = add nsw i32 %703, 1
  store i32 %704, ptr @test_count, align 4, !tbaa !5
  %705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %706 = load i32, ptr %705, align 4, !tbaa !5
  %707 = icmp eq i32 %706, 402653193
  br i1 %707, label %761, label %708

708:                                              ; preds = %702
  br label %709

709:                                              ; preds = %708
  br label %710

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

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

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

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

756:                                              ; preds = %739, %722
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #11
  br label %757

757:                                              ; preds = %756
  br label %758

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

759:                                              ; No predecessors!
  br label %760

760:                                              ; preds = %759
  br label %761

761:                                              ; preds = %760, %702
  br label %762

762:                                              ; preds = %761
  br label %763

763:                                              ; preds = %762
  br label %764

764:                                              ; preds = %763
  %765 = load i32, ptr @test_count, align 4, !tbaa !5
  %766 = add nsw i32 %765, 1
  store i32 %766, ptr @test_count, align 4, !tbaa !5
  %767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %768 = load i32, ptr %767, align 4, !tbaa !5
  %769 = call ptr @s2n_strerror_debug(i32 noundef %768, ptr noundef @.str.4)
  %770 = icmp eq ptr %769, null
  br i1 %770, label %771, label %824

771:                                              ; preds = %764
  br label %772

772:                                              ; preds = %771
  br label %773

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

780:                                              ; preds = %773
  %781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %782 = call i32 @fileno(ptr noundef %781) #11
  %783 = call i32 @isatty(i32 noundef %782) #11
  %784 = icmp ne i32 %783, 0
  br i1 %784, label %785, label %802

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

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

819:                                              ; preds = %802, %785
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #11
  br label %820

820:                                              ; preds = %819
  br label %821

821:                                              ; preds = %820
  call void @exit(i32 noundef 1) #13
  unreachable

822:                                              ; No predecessors!
  br label %823

823:                                              ; preds = %822
  br label %824

824:                                              ; preds = %823, %764
  br label %825

825:                                              ; preds = %824
  br label %826

826:                                              ; preds = %825
  br label %827

827:                                              ; preds = %826
  br label %828

828:                                              ; preds = %827
  br label %829

829:                                              ; preds = %828
  %830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %830, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %831 = call ptr @__errno_location() #12
  store i32 0, ptr %831, align 4, !tbaa !5
  br label %832

832:                                              ; preds = %829
  br label %833

833:                                              ; preds = %832
  br label %834

834:                                              ; preds = %833
  br label %835

835:                                              ; preds = %834
  br label %836

836:                                              ; preds = %835
  br label %837

837:                                              ; preds = %836
  br label %838

838:                                              ; preds = %837
  %839 = load i32, ptr @test_count, align 4, !tbaa !5
  %840 = add nsw i32 %839, 1
  store i32 %840, ptr @test_count, align 4, !tbaa !5
  %841 = load ptr, ptr %11, align 8, !tbaa !9
  %842 = call i32 @s2n_sendfile(ptr noundef %841, i32 noundef 0, i64 noundef 0, i64 noundef 0, ptr noundef %14, ptr noundef null)
  %843 = icmp eq i32 %842, -1
  br i1 %843, label %897, label %844

844:                                              ; preds = %838
  br label %845

845:                                              ; preds = %844
  br label %846

846:                                              ; preds = %845
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #11
  %847 = call ptr @__errno_location() #12
  %848 = load i32, ptr %847, align 4, !tbaa !5
  store i32 %848, ptr %21, align 4, !tbaa !5
  %849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %850 = call i32 @s2n_print_stacktrace(ptr noundef %849)
  %851 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %852 = trunc i8 %851 to i1
  br i1 %852, label %853, label %875

853:                                              ; preds = %846
  %854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %855 = call i32 @fileno(ptr noundef %854) #11
  %856 = call i32 @isatty(i32 noundef %855) #11
  %857 = icmp ne i32 %856, 0
  br i1 %857, label %858, label %875

858:                                              ; preds = %853
  %859 = load i32, ptr %21, align 4, !tbaa !5
  %860 = call ptr @__errno_location() #12
  store i32 %859, ptr %860, align 4, !tbaa !5
  %861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %862 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %864, ptr noundef @.str.4)
  %866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %867 = load i32, ptr %866, align 4, !tbaa !5
  %868 = call ptr @s2n_strerror_debug(i32 noundef %867, ptr noundef @.str.4)
  %869 = call ptr @__errno_location() #12
  %870 = load i32, ptr %869, align 4, !tbaa !5
  %871 = call ptr @strerror(i32 noundef %870) #11
  %872 = call ptr @__errno_location() #12
  %873 = load i32, ptr %872, align 4, !tbaa !5
  %874 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %861, ptr noundef @.str.2, i32 noundef %862, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 69, ptr noundef %865, ptr noundef %868, ptr noundef %871, i32 noundef %873) #11
  br label %892

875:                                              ; preds = %853, %846
  %876 = load i32, ptr %21, align 4, !tbaa !5
  %877 = call ptr @__errno_location() #12
  store i32 %876, ptr %877, align 4, !tbaa !5
  %878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %879 = load i32, ptr @test_count, align 4, !tbaa !5
  %880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %881 = load i32, ptr %880, align 4, !tbaa !5
  %882 = call ptr @s2n_strerror(i32 noundef %881, ptr noundef @.str.4)
  %883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %884 = load i32, ptr %883, align 4, !tbaa !5
  %885 = call ptr @s2n_strerror_debug(i32 noundef %884, ptr noundef @.str.4)
  %886 = call ptr @__errno_location() #12
  %887 = load i32, ptr %886, align 4, !tbaa !5
  %888 = call ptr @strerror(i32 noundef %887) #11
  %889 = call ptr @__errno_location() #12
  %890 = load i32, ptr %889, align 4, !tbaa !5
  %891 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %878, ptr noundef @.str.5, i32 noundef %879, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 69, ptr noundef %882, ptr noundef %885, ptr noundef %888, i32 noundef %890) #11
  br label %892

892:                                              ; preds = %875, %858
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #11
  br label %893

893:                                              ; preds = %892
  br label %894

894:                                              ; preds = %893
  call void @exit(i32 noundef 1) #13
  unreachable

895:                                              ; No predecessors!
  br label %896

896:                                              ; preds = %895
  br label %897

897:                                              ; preds = %896, %838
  br label %898

898:                                              ; preds = %897
  br label %899

899:                                              ; preds = %898
  br label %900

900:                                              ; preds = %899
  %901 = load i32, ptr @test_count, align 4, !tbaa !5
  %902 = add nsw i32 %901, 1
  store i32 %902, ptr @test_count, align 4, !tbaa !5
  %903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %904 = load i32, ptr %903, align 4, !tbaa !5
  %905 = icmp eq i32 %904, 402653193
  br i1 %905, label %959, label %906

906:                                              ; preds = %900
  br label %907

907:                                              ; preds = %906
  br label %908

908:                                              ; preds = %907
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #11
  %909 = call ptr @__errno_location() #12
  %910 = load i32, ptr %909, align 4, !tbaa !5
  store i32 %910, ptr %22, align 4, !tbaa !5
  %911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %912 = call i32 @s2n_print_stacktrace(ptr noundef %911)
  %913 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %914 = trunc i8 %913 to i1
  br i1 %914, label %915, label %937

915:                                              ; preds = %908
  %916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %917 = call i32 @fileno(ptr noundef %916) #11
  %918 = call i32 @isatty(i32 noundef %917) #11
  %919 = icmp ne i32 %918, 0
  br i1 %919, label %920, label %937

920:                                              ; preds = %915
  %921 = load i32, ptr %22, align 4, !tbaa !5
  %922 = call ptr @__errno_location() #12
  store i32 %921, ptr %922, align 4, !tbaa !5
  %923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %924 = load i32, ptr @test_count, align 4, !tbaa !5
  %925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %926 = load i32, ptr %925, align 4, !tbaa !5
  %927 = call ptr @s2n_strerror(i32 noundef %926, ptr noundef @.str.4)
  %928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %929 = load i32, ptr %928, align 4, !tbaa !5
  %930 = call ptr @s2n_strerror_debug(i32 noundef %929, ptr noundef @.str.4)
  %931 = call ptr @__errno_location() #12
  %932 = load i32, ptr %931, align 4, !tbaa !5
  %933 = call ptr @strerror(i32 noundef %932) #11
  %934 = call ptr @__errno_location() #12
  %935 = load i32, ptr %934, align 4, !tbaa !5
  %936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %923, ptr noundef @.str.2, i32 noundef %924, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 69, ptr noundef %927, ptr noundef %930, ptr noundef %933, i32 noundef %935) #11
  br label %954

937:                                              ; preds = %915, %908
  %938 = load i32, ptr %22, align 4, !tbaa !5
  %939 = call ptr @__errno_location() #12
  store i32 %938, ptr %939, align 4, !tbaa !5
  %940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %941 = load i32, ptr @test_count, align 4, !tbaa !5
  %942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %943 = load i32, ptr %942, align 4, !tbaa !5
  %944 = call ptr @s2n_strerror(i32 noundef %943, ptr noundef @.str.4)
  %945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %946 = load i32, ptr %945, align 4, !tbaa !5
  %947 = call ptr @s2n_strerror_debug(i32 noundef %946, ptr noundef @.str.4)
  %948 = call ptr @__errno_location() #12
  %949 = load i32, ptr %948, align 4, !tbaa !5
  %950 = call ptr @strerror(i32 noundef %949) #11
  %951 = call ptr @__errno_location() #12
  %952 = load i32, ptr %951, align 4, !tbaa !5
  %953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %940, ptr noundef @.str.5, i32 noundef %941, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 69, ptr noundef %944, ptr noundef %947, ptr noundef %950, i32 noundef %952) #11
  br label %954

954:                                              ; preds = %937, %920
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #11
  br label %955

955:                                              ; preds = %954
  br label %956

956:                                              ; preds = %955
  call void @exit(i32 noundef 1) #13
  unreachable

957:                                              ; No predecessors!
  br label %958

958:                                              ; preds = %957
  br label %959

959:                                              ; preds = %958, %900
  br label %960

960:                                              ; preds = %959
  br label %961

961:                                              ; preds = %960
  br label %962

962:                                              ; preds = %961
  %963 = load i32, ptr @test_count, align 4, !tbaa !5
  %964 = add nsw i32 %963, 1
  store i32 %964, 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_debug(i32 noundef %966, ptr noundef @.str.4)
  %968 = icmp eq ptr %967, null
  br i1 %968, label %969, label %1022

969:                                              ; preds = %962
  br label %970

970:                                              ; preds = %969
  br label %971

971:                                              ; preds = %970
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #11
  %972 = call ptr @__errno_location() #12
  %973 = load i32, ptr %972, align 4, !tbaa !5
  store i32 %973, ptr %23, align 4, !tbaa !5
  %974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %975 = call i32 @s2n_print_stacktrace(ptr noundef %974)
  %976 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %977 = trunc i8 %976 to i1
  br i1 %977, label %978, label %1000

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

983:                                              ; preds = %978
  %984 = load i32, ptr %23, align 4, !tbaa !5
  %985 = call ptr @__errno_location() #12
  store i32 %984, ptr %985, align 4, !tbaa !5
  %986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %987 = load i32, ptr @test_count, align 4, !tbaa !5
  %988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %989 = load i32, ptr %988, align 4, !tbaa !5
  %990 = call ptr @s2n_strerror(i32 noundef %989, ptr noundef @.str.4)
  %991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %992 = load i32, ptr %991, align 4, !tbaa !5
  %993 = call ptr @s2n_strerror_debug(i32 noundef %992, ptr noundef @.str.4)
  %994 = call ptr @__errno_location() #12
  %995 = load i32, ptr %994, align 4, !tbaa !5
  %996 = call ptr @strerror(i32 noundef %995) #11
  %997 = call ptr @__errno_location() #12
  %998 = load i32, ptr %997, align 4, !tbaa !5
  %999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %986, ptr noundef @.str.2, i32 noundef %987, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 69, ptr noundef %990, ptr noundef %993, ptr noundef %996, i32 noundef %998) #11
  br label %1017

1000:                                             ; preds = %978, %971
  %1001 = load i32, ptr %23, align 4, !tbaa !5
  %1002 = call ptr @__errno_location() #12
  store i32 %1001, ptr %1002, align 4, !tbaa !5
  %1003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1004 = load i32, ptr @test_count, align 4, !tbaa !5
  %1005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1006 = load i32, ptr %1005, align 4, !tbaa !5
  %1007 = call ptr @s2n_strerror(i32 noundef %1006, ptr noundef @.str.4)
  %1008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1009 = load i32, ptr %1008, align 4, !tbaa !5
  %1010 = call ptr @s2n_strerror_debug(i32 noundef %1009, ptr noundef @.str.4)
  %1011 = call ptr @__errno_location() #12
  %1012 = load i32, ptr %1011, align 4, !tbaa !5
  %1013 = call ptr @strerror(i32 noundef %1012) #11
  %1014 = call ptr @__errno_location() #12
  %1015 = load i32, ptr %1014, align 4, !tbaa !5
  %1016 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1003, ptr noundef @.str.5, i32 noundef %1004, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 69, ptr noundef %1007, ptr noundef %1010, ptr noundef %1013, i32 noundef %1015) #11
  br label %1017

1017:                                             ; preds = %1000, %983
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #11
  br label %1018

1018:                                             ; preds = %1017
  br label %1019

1019:                                             ; preds = %1018
  call void @exit(i32 noundef 1) #13
  unreachable

1020:                                             ; No predecessors!
  br label %1021

1021:                                             ; preds = %1020
  br label %1022

1022:                                             ; preds = %1021, %962
  br label %1023

1023:                                             ; preds = %1022
  br label %1024

1024:                                             ; preds = %1023
  br label %1025

1025:                                             ; preds = %1024
  br label %1026

1026:                                             ; preds = %1025
  br label %1027

1027:                                             ; preds = %1026
  %1028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1028, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1029 = call ptr @__errno_location() #12
  store i32 0, ptr %1029, align 4, !tbaa !5
  br label %1030

1030:                                             ; preds = %1027
  br label %1031

1031:                                             ; preds = %1030
  br label %1032

1032:                                             ; preds = %1031
  br label %1033

1033:                                             ; preds = %1032
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #11
  %1034 = call i32 @s2n_connection_ptr_free(ptr noundef %11)
  %1035 = getelementptr inbounds %struct.s2n_result, ptr %24, i32 0, i32 0
  store i32 %1034, ptr %1035, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #11
  %1036 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %1036, ptr %25, align 8, !tbaa !9
  br label %1037

1037:                                             ; preds = %1033
  %1038 = load i32, ptr @test_count, align 4, !tbaa !5
  %1039 = add nsw i32 %1038, 1
  store i32 %1039, ptr @test_count, align 4, !tbaa !5
  %1040 = load ptr, ptr %25, align 8, !tbaa !9
  %1041 = icmp eq ptr %1040, null
  br i1 %1041, label %1042, label %1095

1042:                                             ; preds = %1037
  br label %1043

1043:                                             ; preds = %1042
  br label %1044

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

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

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

1073:                                             ; preds = %1051, %1044
  %1074 = load i32, ptr %26, align 4, !tbaa !5
  %1075 = call ptr @__errno_location() #12
  store i32 %1074, ptr %1075, align 4, !tbaa !5
  %1076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1077 = load i32, ptr @test_count, align 4, !tbaa !5
  %1078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1079 = load i32, ptr %1078, align 4, !tbaa !5
  %1080 = call ptr @s2n_strerror(i32 noundef %1079, ptr noundef @.str.4)
  %1081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1082 = load i32, ptr %1081, align 4, !tbaa !5
  %1083 = call ptr @s2n_strerror_debug(i32 noundef %1082, ptr noundef @.str.4)
  %1084 = call ptr @__errno_location() #12
  %1085 = load i32, ptr %1084, align 4, !tbaa !5
  %1086 = call ptr @strerror(i32 noundef %1085) #11
  %1087 = call ptr @__errno_location() #12
  %1088 = load i32, ptr %1087, align 4, !tbaa !5
  %1089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1076, ptr noundef @.str.5, i32 noundef %1077, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 76, ptr noundef %1080, ptr noundef %1083, ptr noundef %1086, i32 noundef %1088) #11
  br label %1090

1090:                                             ; preds = %1073, %1056
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #11
  br label %1091

1091:                                             ; preds = %1090
  br label %1092

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

1093:                                             ; No predecessors!
  br label %1094

1094:                                             ; preds = %1093
  br label %1095

1095:                                             ; preds = %1094, %1037
  br label %1096

1096:                                             ; preds = %1095
  br label %1097

1097:                                             ; preds = %1096
  %1098 = load ptr, ptr %25, align 8, !tbaa !9
  %1099 = load i32, ptr %1098, align 8
  %1100 = and i32 %1099, -262145
  %1101 = or i32 %1100, 262144
  store i32 %1101, ptr %1098, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #11
  call void @llvm.memset.p0.i64(ptr align 4 %27, i8 0, i64 8, i1 false)
  br label %1102

1102:                                             ; preds = %1097
  %1103 = load i32, ptr @test_count, align 4, !tbaa !5
  %1104 = add nsw i32 %1103, 1
  store i32 %1104, ptr @test_count, align 4, !tbaa !5
  %1105 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %27)
  %1106 = icmp eq i32 %1105, -1
  br i1 %1106, label %1107, label %1160

1107:                                             ; preds = %1102
  br label %1108

1108:                                             ; preds = %1107
  br label %1109

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

1116:                                             ; preds = %1109
  %1117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1118 = call i32 @fileno(ptr noundef %1117) #11
  %1119 = call i32 @isatty(i32 noundef %1118) #11
  %1120 = icmp ne i32 %1119, 0
  br i1 %1120, label %1121, label %1138

1121:                                             ; preds = %1116
  %1122 = load i32, ptr %28, align 4, !tbaa !5
  %1123 = call ptr @__errno_location() #12
  store i32 %1122, ptr %1123, align 4, !tbaa !5
  %1124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1125 = load i32, ptr @test_count, align 4, !tbaa !5
  %1126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1127 = load i32, ptr %1126, align 4, !tbaa !5
  %1128 = call ptr @s2n_strerror(i32 noundef %1127, ptr noundef @.str.4)
  %1129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1130 = load i32, ptr %1129, align 4, !tbaa !5
  %1131 = call ptr @s2n_strerror_debug(i32 noundef %1130, ptr noundef @.str.4)
  %1132 = call ptr @__errno_location() #12
  %1133 = load i32, ptr %1132, align 4, !tbaa !5
  %1134 = call ptr @strerror(i32 noundef %1133) #11
  %1135 = call ptr @__errno_location() #12
  %1136 = load i32, ptr %1135, align 4, !tbaa !5
  %1137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1124, ptr noundef @.str.2, i32 noundef %1125, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 80, ptr noundef %1128, ptr noundef %1131, ptr noundef %1134, i32 noundef %1136) #11
  br label %1155

1138:                                             ; preds = %1116, %1109
  %1139 = load i32, ptr %28, align 4, !tbaa !5
  %1140 = call ptr @__errno_location() #12
  store i32 %1139, ptr %1140, align 4, !tbaa !5
  %1141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1142 = load i32, ptr @test_count, align 4, !tbaa !5
  %1143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1144 = load i32, ptr %1143, align 4, !tbaa !5
  %1145 = call ptr @s2n_strerror(i32 noundef %1144, ptr noundef @.str.4)
  %1146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1147 = load i32, ptr %1146, align 4, !tbaa !5
  %1148 = call ptr @s2n_strerror_debug(i32 noundef %1147, ptr noundef @.str.4)
  %1149 = call ptr @__errno_location() #12
  %1150 = load i32, ptr %1149, align 4, !tbaa !5
  %1151 = call ptr @strerror(i32 noundef %1150) #11
  %1152 = call ptr @__errno_location() #12
  %1153 = load i32, ptr %1152, align 4, !tbaa !5
  %1154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1141, ptr noundef @.str.5, i32 noundef %1142, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 80, ptr noundef %1145, ptr noundef %1148, ptr noundef %1151, i32 noundef %1153) #11
  br label %1155

1155:                                             ; preds = %1138, %1121
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #11
  br label %1156

1156:                                             ; preds = %1155
  br label %1157

1157:                                             ; preds = %1156
  call void @exit(i32 noundef 1) #13
  unreachable

1158:                                             ; No predecessors!
  br label %1159

1159:                                             ; preds = %1158
  br label %1160

1160:                                             ; preds = %1159, %1102
  br label %1161

1161:                                             ; preds = %1160
  br label %1162

1162:                                             ; preds = %1161
  br label %1163

1163:                                             ; preds = %1162
  %1164 = load i32, ptr @test_count, align 4, !tbaa !5
  %1165 = add nsw i32 %1164, 1
  store i32 %1165, ptr @test_count, align 4, !tbaa !5
  %1166 = load ptr, ptr %25, align 8, !tbaa !9
  %1167 = call i32 @s2n_connection_set_io_pair(ptr noundef %1166, ptr noundef %27)
  %1168 = icmp eq i32 %1167, -1
  br i1 %1168, label %1169, label %1222

1169:                                             ; preds = %1163
  br label %1170

1170:                                             ; preds = %1169
  br label %1171

1171:                                             ; preds = %1170
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #11
  %1172 = call ptr @__errno_location() #12
  %1173 = load i32, ptr %1172, align 4, !tbaa !5
  store i32 %1173, ptr %29, align 4, !tbaa !5
  %1174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1175 = call i32 @s2n_print_stacktrace(ptr noundef %1174)
  %1176 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1177 = trunc i8 %1176 to i1
  br i1 %1177, label %1178, label %1200

1178:                                             ; preds = %1171
  %1179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1180 = call i32 @fileno(ptr noundef %1179) #11
  %1181 = call i32 @isatty(i32 noundef %1180) #11
  %1182 = icmp ne i32 %1181, 0
  br i1 %1182, label %1183, label %1200

1183:                                             ; preds = %1178
  %1184 = load i32, ptr %29, align 4, !tbaa !5
  %1185 = call ptr @__errno_location() #12
  store i32 %1184, ptr %1185, 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 @.str.4)
  %1191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1192 = load i32, ptr %1191, align 4, !tbaa !5
  %1193 = call ptr @s2n_strerror_debug(i32 noundef %1192, ptr noundef @.str.4)
  %1194 = call ptr @__errno_location() #12
  %1195 = load i32, ptr %1194, align 4, !tbaa !5
  %1196 = call ptr @strerror(i32 noundef %1195) #11
  %1197 = call ptr @__errno_location() #12
  %1198 = load i32, ptr %1197, align 4, !tbaa !5
  %1199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1186, ptr noundef @.str.2, i32 noundef %1187, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 81, ptr noundef %1190, ptr noundef %1193, ptr noundef %1196, i32 noundef %1198) #11
  br label %1217

1200:                                             ; preds = %1178, %1171
  %1201 = load i32, ptr %29, align 4, !tbaa !5
  %1202 = call ptr @__errno_location() #12
  store i32 %1201, ptr %1202, align 4, !tbaa !5
  %1203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1204 = load i32, ptr @test_count, align 4, !tbaa !5
  %1205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1206 = load i32, ptr %1205, align 4, !tbaa !5
  %1207 = call ptr @s2n_strerror(i32 noundef %1206, ptr noundef @.str.4)
  %1208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1209 = load i32, ptr %1208, align 4, !tbaa !5
  %1210 = call ptr @s2n_strerror_debug(i32 noundef %1209, ptr noundef @.str.4)
  %1211 = call ptr @__errno_location() #12
  %1212 = load i32, ptr %1211, align 4, !tbaa !5
  %1213 = call ptr @strerror(i32 noundef %1212) #11
  %1214 = call ptr @__errno_location() #12
  %1215 = load i32, ptr %1214, align 4, !tbaa !5
  %1216 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1203, ptr noundef @.str.5, i32 noundef %1204, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 81, ptr noundef %1207, ptr noundef %1210, ptr noundef %1213, i32 noundef %1215) #11
  br label %1217

1217:                                             ; preds = %1200, %1183
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #11
  br label %1218

1218:                                             ; preds = %1217
  br label %1219

1219:                                             ; preds = %1218
  call void @exit(i32 noundef 1) #13
  unreachable

1220:                                             ; No predecessors!
  br label %1221

1221:                                             ; preds = %1220
  br label %1222

1222:                                             ; preds = %1221, %1163
  br label %1223

1223:                                             ; preds = %1222
  br label %1224

1224:                                             ; preds = %1223
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #11
  store i32 0, ptr %30, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #11
  store i64 0, ptr %31, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #11
  %1225 = load ptr, ptr %25, align 8, !tbaa !9
  %1226 = call i32 @s2n_sendfile(ptr noundef %1225, i32 noundef 1, i64 noundef 0, i64 noundef 1, ptr noundef %31, ptr noundef %30)
  store i32 %1226, ptr %32, align 4, !tbaa !5
  br label %1227

1227:                                             ; preds = %1224
  br label %1228

1228:                                             ; preds = %1227
  br label %1229

1229:                                             ; preds = %1228
  %1230 = load i32, ptr @test_count, align 4, !tbaa !5
  %1231 = add nsw i32 %1230, 1
  store i32 %1231, ptr @test_count, align 4, !tbaa !5
  %1232 = load i32, ptr %32, align 4, !tbaa !5
  %1233 = icmp eq i32 %1232, -1
  br i1 %1233, label %1287, label %1234

1234:                                             ; preds = %1229
  br label %1235

1235:                                             ; preds = %1234
  br label %1236

1236:                                             ; preds = %1235
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #11
  %1237 = call ptr @__errno_location() #12
  %1238 = load i32, ptr %1237, align 4, !tbaa !5
  store i32 %1238, ptr %33, align 4, !tbaa !5
  %1239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1240 = call i32 @s2n_print_stacktrace(ptr noundef %1239)
  %1241 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1242 = trunc i8 %1241 to i1
  br i1 %1242, label %1243, label %1265

1243:                                             ; preds = %1236
  %1244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1245 = call i32 @fileno(ptr noundef %1244) #11
  %1246 = call i32 @isatty(i32 noundef %1245) #11
  %1247 = icmp ne i32 %1246, 0
  br i1 %1247, label %1248, label %1265

1248:                                             ; preds = %1243
  %1249 = load i32, ptr %33, align 4, !tbaa !5
  %1250 = call ptr @__errno_location() #12
  store i32 %1249, ptr %1250, align 4, !tbaa !5
  %1251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1252 = load i32, ptr @test_count, align 4, !tbaa !5
  %1253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1254 = load i32, ptr %1253, align 4, !tbaa !5
  %1255 = call ptr @s2n_strerror(i32 noundef %1254, ptr noundef @.str.4)
  %1256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1257 = load i32, ptr %1256, align 4, !tbaa !5
  %1258 = call ptr @s2n_strerror_debug(i32 noundef %1257, ptr noundef @.str.4)
  %1259 = call ptr @__errno_location() #12
  %1260 = load i32, ptr %1259, align 4, !tbaa !5
  %1261 = call ptr @strerror(i32 noundef %1260) #11
  %1262 = call ptr @__errno_location() #12
  %1263 = load i32, ptr %1262, align 4, !tbaa !5
  %1264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1251, ptr noundef @.str.2, i32 noundef %1252, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 86, ptr noundef %1255, ptr noundef %1258, ptr noundef %1261, i32 noundef %1263) #11
  br label %1282

1265:                                             ; preds = %1243, %1236
  %1266 = load i32, ptr %33, align 4, !tbaa !5
  %1267 = call ptr @__errno_location() #12
  store i32 %1266, ptr %1267, align 4, !tbaa !5
  %1268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1269 = load i32, ptr @test_count, align 4, !tbaa !5
  %1270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1271 = load i32, ptr %1270, align 4, !tbaa !5
  %1272 = call ptr @s2n_strerror(i32 noundef %1271, ptr noundef @.str.4)
  %1273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1274 = load i32, ptr %1273, align 4, !tbaa !5
  %1275 = call ptr @s2n_strerror_debug(i32 noundef %1274, ptr noundef @.str.4)
  %1276 = call ptr @__errno_location() #12
  %1277 = load i32, ptr %1276, align 4, !tbaa !5
  %1278 = call ptr @strerror(i32 noundef %1277) #11
  %1279 = call ptr @__errno_location() #12
  %1280 = load i32, ptr %1279, align 4, !tbaa !5
  %1281 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1268, ptr noundef @.str.5, i32 noundef %1269, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 86, ptr noundef %1272, ptr noundef %1275, ptr noundef %1278, i32 noundef %1280) #11
  br label %1282

1282:                                             ; preds = %1265, %1248
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #11
  br label %1283

1283:                                             ; preds = %1282
  br label %1284

1284:                                             ; preds = %1283
  call void @exit(i32 noundef 1) #13
  unreachable

1285:                                             ; No predecessors!
  br label %1286

1286:                                             ; preds = %1285
  br label %1287

1287:                                             ; preds = %1286, %1229
  br label %1288

1288:                                             ; preds = %1287
  br label %1289

1289:                                             ; preds = %1288
  br label %1290

1290:                                             ; preds = %1289
  %1291 = load i32, ptr @test_count, align 4, !tbaa !5
  %1292 = add nsw i32 %1291, 1
  store i32 %1292, ptr @test_count, align 4, !tbaa !5
  %1293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1294 = load i32, ptr %1293, align 4, !tbaa !5
  %1295 = icmp eq i32 %1294, 402653231
  br i1 %1295, label %1349, label %1296

1296:                                             ; preds = %1290
  br label %1297

1297:                                             ; preds = %1296
  br label %1298

1298:                                             ; preds = %1297
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #11
  %1299 = call ptr @__errno_location() #12
  %1300 = load i32, ptr %1299, align 4, !tbaa !5
  store i32 %1300, ptr %34, align 4, !tbaa !5
  %1301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1302 = call i32 @s2n_print_stacktrace(ptr noundef %1301)
  %1303 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1304 = trunc i8 %1303 to i1
  br i1 %1304, label %1305, label %1327

1305:                                             ; preds = %1298
  %1306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1307 = call i32 @fileno(ptr noundef %1306) #11
  %1308 = call i32 @isatty(i32 noundef %1307) #11
  %1309 = icmp ne i32 %1308, 0
  br i1 %1309, label %1310, label %1327

1310:                                             ; preds = %1305
  %1311 = load i32, ptr %34, align 4, !tbaa !5
  %1312 = call ptr @__errno_location() #12
  store i32 %1311, ptr %1312, align 4, !tbaa !5
  %1313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1314 = load i32, ptr @test_count, align 4, !tbaa !5
  %1315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1316 = load i32, ptr %1315, align 4, !tbaa !5
  %1317 = call ptr @s2n_strerror(i32 noundef %1316, ptr noundef @.str.4)
  %1318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1319 = load i32, ptr %1318, align 4, !tbaa !5
  %1320 = call ptr @s2n_strerror_debug(i32 noundef %1319, ptr noundef @.str.4)
  %1321 = call ptr @__errno_location() #12
  %1322 = load i32, ptr %1321, align 4, !tbaa !5
  %1323 = call ptr @strerror(i32 noundef %1322) #11
  %1324 = call ptr @__errno_location() #12
  %1325 = load i32, ptr %1324, align 4, !tbaa !5
  %1326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1313, ptr noundef @.str.2, i32 noundef %1314, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 86, ptr noundef %1317, ptr noundef %1320, ptr noundef %1323, i32 noundef %1325) #11
  br label %1344

1327:                                             ; preds = %1305, %1298
  %1328 = load i32, ptr %34, align 4, !tbaa !5
  %1329 = call ptr @__errno_location() #12
  store i32 %1328, ptr %1329, align 4, !tbaa !5
  %1330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1331 = load i32, ptr @test_count, align 4, !tbaa !5
  %1332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1333 = load i32, ptr %1332, align 4, !tbaa !5
  %1334 = call ptr @s2n_strerror(i32 noundef %1333, ptr noundef @.str.4)
  %1335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1336 = load i32, ptr %1335, align 4, !tbaa !5
  %1337 = call ptr @s2n_strerror_debug(i32 noundef %1336, ptr noundef @.str.4)
  %1338 = call ptr @__errno_location() #12
  %1339 = load i32, ptr %1338, align 4, !tbaa !5
  %1340 = call ptr @strerror(i32 noundef %1339) #11
  %1341 = call ptr @__errno_location() #12
  %1342 = load i32, ptr %1341, align 4, !tbaa !5
  %1343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1330, ptr noundef @.str.5, i32 noundef %1331, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 86, ptr noundef %1334, ptr noundef %1337, ptr noundef %1340, i32 noundef %1342) #11
  br label %1344

1344:                                             ; preds = %1327, %1310
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #11
  br label %1345

1345:                                             ; preds = %1344
  br label %1346

1346:                                             ; preds = %1345
  call void @exit(i32 noundef 1) #13
  unreachable

1347:                                             ; No predecessors!
  br label %1348

1348:                                             ; preds = %1347
  br label %1349

1349:                                             ; preds = %1348, %1290
  br label %1350

1350:                                             ; preds = %1349
  br label %1351

1351:                                             ; preds = %1350
  br label %1352

1352:                                             ; preds = %1351
  %1353 = load i32, ptr @test_count, align 4, !tbaa !5
  %1354 = add nsw i32 %1353, 1
  store i32 %1354, ptr @test_count, align 4, !tbaa !5
  %1355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1356 = load i32, ptr %1355, align 4, !tbaa !5
  %1357 = call ptr @s2n_strerror_debug(i32 noundef %1356, ptr noundef @.str.4)
  %1358 = icmp eq ptr %1357, null
  br i1 %1358, label %1359, label %1412

1359:                                             ; preds = %1352
  br label %1360

1360:                                             ; preds = %1359
  br label %1361

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

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

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

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

1407:                                             ; preds = %1390, %1373
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #11
  br label %1408

1408:                                             ; preds = %1407
  br label %1409

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

1410:                                             ; No predecessors!
  br label %1411

1411:                                             ; preds = %1410
  br label %1412

1412:                                             ; preds = %1411, %1352
  br label %1413

1413:                                             ; preds = %1412
  br label %1414

1414:                                             ; preds = %1413
  br label %1415

1415:                                             ; preds = %1414
  br label %1416

1416:                                             ; preds = %1415
  br label %1417

1417:                                             ; preds = %1416
  %1418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1418, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1419 = call ptr @__errno_location() #12
  store i32 0, ptr %1419, align 4, !tbaa !5
  br label %1420

1420:                                             ; preds = %1417
  br label %1421

1421:                                             ; preds = %1420
  br label %1422

1422:                                             ; preds = %1421
  br label %1423

1423:                                             ; preds = %1422
  br label %1424

1424:                                             ; preds = %1423
  br label %1425

1425:                                             ; preds = %1424
  %1426 = call i32 @s2n_cleanup()
  %1427 = icmp eq i32 %1426, -1
  br i1 %1427, label %1428, label %1481

1428:                                             ; preds = %1425
  br label %1429

1429:                                             ; preds = %1428
  br label %1430

1430:                                             ; preds = %1429
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #11
  %1431 = call ptr @__errno_location() #12
  %1432 = load i32, ptr %1431, align 4, !tbaa !5
  store i32 %1432, ptr %36, align 4, !tbaa !5
  %1433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1434 = call i32 @s2n_print_stacktrace(ptr noundef %1433)
  %1435 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1436 = trunc i8 %1435 to i1
  br i1 %1436, label %1437, label %1459

1437:                                             ; preds = %1430
  %1438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1439 = call i32 @fileno(ptr noundef %1438) #11
  %1440 = call i32 @isatty(i32 noundef %1439) #11
  %1441 = icmp ne i32 %1440, 0
  br i1 %1441, label %1442, label %1459

1442:                                             ; preds = %1437
  %1443 = load i32, ptr %36, align 4, !tbaa !5
  %1444 = call ptr @__errno_location() #12
  store i32 %1443, ptr %1444, align 4, !tbaa !5
  %1445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1446 = load i32, ptr @test_count, align 4, !tbaa !5
  %1447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1448 = load i32, ptr %1447, align 4, !tbaa !5
  %1449 = call ptr @s2n_strerror(i32 noundef %1448, ptr noundef @.str.4)
  %1450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1451 = load i32, ptr %1450, align 4, !tbaa !5
  %1452 = call ptr @s2n_strerror_debug(i32 noundef %1451, ptr noundef @.str.4)
  %1453 = call ptr @__errno_location() #12
  %1454 = load i32, ptr %1453, align 4, !tbaa !5
  %1455 = call ptr @strerror(i32 noundef %1454) #11
  %1456 = call ptr @__errno_location() #12
  %1457 = load i32, ptr %1456, align 4, !tbaa !5
  %1458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1445, ptr noundef @.str.2, i32 noundef %1446, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 89, ptr noundef %1449, ptr noundef %1452, ptr noundef %1455, i32 noundef %1457) #11
  br label %1476

1459:                                             ; preds = %1437, %1430
  %1460 = load i32, ptr %36, align 4, !tbaa !5
  %1461 = call ptr @__errno_location() #12
  store i32 %1460, ptr %1461, align 4, !tbaa !5
  %1462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1463 = load i32, ptr @test_count, align 4, !tbaa !5
  %1464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1465 = load i32, ptr %1464, align 4, !tbaa !5
  %1466 = call ptr @s2n_strerror(i32 noundef %1465, ptr noundef @.str.4)
  %1467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1468 = load i32, ptr %1467, align 4, !tbaa !5
  %1469 = call ptr @s2n_strerror_debug(i32 noundef %1468, ptr noundef @.str.4)
  %1470 = call ptr @__errno_location() #12
  %1471 = load i32, ptr %1470, align 4, !tbaa !5
  %1472 = call ptr @strerror(i32 noundef %1471) #11
  %1473 = call ptr @__errno_location() #12
  %1474 = load i32, ptr %1473, align 4, !tbaa !5
  %1475 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1462, ptr noundef @.str.5, i32 noundef %1463, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 89, ptr noundef %1466, ptr noundef %1469, ptr noundef %1472, i32 noundef %1474) #11
  br label %1476

1476:                                             ; preds = %1459, %1442
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #11
  br label %1477

1477:                                             ; preds = %1476
  br label %1478

1478:                                             ; preds = %1477
  call void @exit(i32 noundef 1) #13
  unreachable

1479:                                             ; No predecessors!
  br label %1480

1480:                                             ; preds = %1479
  br label %1481

1481:                                             ; preds = %1480, %1425
  br label %1482

1482:                                             ; preds = %1481
  br label %1483

1483:                                             ; preds = %1482
  br label %1484

1484:                                             ; preds = %1483
  br label %1485

1485:                                             ; preds = %1484
  %1486 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %1487 = icmp eq i32 %1486, -1
  br i1 %1487, label %1488, label %1541

1488:                                             ; preds = %1485
  br label %1489

1489:                                             ; preds = %1488
  br label %1490

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

1497:                                             ; preds = %1490
  %1498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1499 = call i32 @fileno(ptr noundef %1498) #11
  %1500 = call i32 @isatty(i32 noundef %1499) #11
  %1501 = icmp ne i32 %1500, 0
  br i1 %1501, label %1502, label %1519

1502:                                             ; preds = %1497
  %1503 = load i32, ptr %37, align 4, !tbaa !5
  %1504 = call ptr @__errno_location() #12
  store i32 %1503, ptr %1504, align 4, !tbaa !5
  %1505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1506 = load i32, ptr @test_count, align 4, !tbaa !5
  %1507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1508 = load i32, ptr %1507, align 4, !tbaa !5
  %1509 = call ptr @s2n_strerror(i32 noundef %1508, ptr noundef @.str.4)
  %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_debug(i32 noundef %1511, ptr noundef @.str.4)
  %1513 = call ptr @__errno_location() #12
  %1514 = load i32, ptr %1513, align 4, !tbaa !5
  %1515 = call ptr @strerror(i32 noundef %1514) #11
  %1516 = call ptr @__errno_location() #12
  %1517 = load i32, ptr %1516, align 4, !tbaa !5
  %1518 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1505, ptr noundef @.str.2, i32 noundef %1506, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 89, ptr noundef %1509, ptr noundef %1512, ptr noundef %1515, i32 noundef %1517) #11
  br label %1536

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

1536:                                             ; preds = %1519, %1502
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #11
  br label %1537

1537:                                             ; preds = %1536
  br label %1538

1538:                                             ; preds = %1537
  call void @exit(i32 noundef 1) #13
  unreachable

1539:                                             ; No predecessors!
  br label %1540

1540:                                             ; preds = %1539
  br label %1541

1541:                                             ; preds = %1540, %1485
  br label %1542

1542:                                             ; preds = %1541
  br label %1543

1543:                                             ; preds = %1542
  %1544 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1545 = trunc i8 %1544 to i1
  br i1 %1545, label %1546, label %1562

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

1551:                                             ; preds = %1546
  %1552 = load i32, ptr @test_count, align 4, !tbaa !5
  %1553 = icmp ne i32 %1552, 0
  br i1 %1553, label %1554, label %1558

1554:                                             ; preds = %1551
  %1555 = load ptr, ptr @stdout, align 8, !tbaa !9
  %1556 = load i32, ptr @test_count, align 4, !tbaa !5
  %1557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1555, ptr noundef @.str.21, i32 noundef %1556) #11
  br label %1561

1558:                                             ; preds = %1551
  %1559 = load ptr, ptr @stdout, align 8, !tbaa !9
  %1560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1559, ptr noundef @.str.22) #11
  br label %1561

1561:                                             ; preds = %1558, %1554
  br label %1573

1562:                                             ; preds = %1546, %1543
  %1563 = load i32, ptr @test_count, align 4, !tbaa !5
  %1564 = icmp ne i32 %1563, 0
  br i1 %1564, label %1565, label %1569

1565:                                             ; preds = %1562
  %1566 = load ptr, ptr @stdout, align 8, !tbaa !9
  %1567 = load i32, ptr @test_count, align 4, !tbaa !5
  %1568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1566, ptr noundef @.str.23, i32 noundef %1567) #11
  br label %1572

1569:                                             ; preds = %1562
  %1570 = load ptr, ptr @stdout, align 8, !tbaa !9
  %1571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1570, ptr noundef @.str.24) #11
  br label %1572

1572:                                             ; preds = %1569, %1565
  br label %1573

1573:                                             ; preds = %1572, %1561
  store i32 0, ptr %3, align 4
  store i32 1, ptr %38, align 4
  br label %1578

1574:                                             ; No predecessors!
  br label %1575

1575:                                             ; preds = %1574
  br label %1576

1576:                                             ; preds = %1575
  br label %1577

1577:                                             ; preds = %1576
  store i32 0, ptr %38, align 4
  br label %1578

1578:                                             ; preds = %1577, %1573
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #11
  %1579 = call i32 @s2n_io_pair_close(ptr noundef %27)
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #11
  %1580 = call i32 @s2n_connection_ptr_free(ptr noundef %25)
  %1581 = getelementptr inbounds %struct.s2n_result, ptr %39, i32 0, i32 0
  store i32 %1580, ptr %1581, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #11
  %1582 = load i32, ptr %38, align 4
  switch i32 %1582, label %5329 [
    i32 0, label %1583
  ]

1583:                                             ; preds = %1578
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #11
  %1584 = load ptr, ptr %5, align 8, !tbaa !9
  %1585 = getelementptr inbounds ptr, ptr %1584, i64 0
  %1586 = load ptr, ptr %1585, align 8, !tbaa !9
  %1587 = call i32 (ptr, i32, ...) @open(ptr noundef %1586, i32 noundef 0)
  store i32 %1587, ptr %40, align 4, !tbaa !5
  br label %1588

1588:                                             ; preds = %1583
  %1589 = load i32, ptr @test_count, align 4, !tbaa !5
  %1590 = add nsw i32 %1589, 1
  store i32 %1590, ptr @test_count, align 4, !tbaa !5
  %1591 = load i32, ptr %40, align 4, !tbaa !5
  %1592 = icmp sgt i32 %1591, 0
  br i1 %1592, label %1646, label %1593

1593:                                             ; preds = %1588
  br label %1594

1594:                                             ; preds = %1593
  br label %1595

1595:                                             ; preds = %1594
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #11
  %1596 = call ptr @__errno_location() #12
  %1597 = load i32, ptr %1596, align 4, !tbaa !5
  store i32 %1597, ptr %41, align 4, !tbaa !5
  %1598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1599 = call i32 @s2n_print_stacktrace(ptr noundef %1598)
  %1600 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1601 = trunc i8 %1600 to i1
  br i1 %1601, label %1602, label %1624

1602:                                             ; preds = %1595
  %1603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1604 = call i32 @fileno(ptr noundef %1603) #11
  %1605 = call i32 @isatty(i32 noundef %1604) #11
  %1606 = icmp ne i32 %1605, 0
  br i1 %1606, label %1607, label %1624

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

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

1641:                                             ; preds = %1624, %1607
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #11
  br label %1642

1642:                                             ; preds = %1641
  br label %1643

1643:                                             ; preds = %1642
  call void @exit(i32 noundef 1) #13
  unreachable

1644:                                             ; No predecessors!
  br label %1645

1645:                                             ; preds = %1644
  br label %1646

1646:                                             ; preds = %1645, %1588
  br label %1647

1647:                                             ; preds = %1646
  br label %1648

1648:                                             ; preds = %1647
  call void @llvm.lifetime.start.p0(i64 100, ptr %42) #11
  call void @llvm.memset.p0.i64(ptr align 16 %42, i8 0, i64 100, i1 false)
  br label %1649

1649:                                             ; preds = %1648
  %1650 = load i32, ptr @test_count, align 4, !tbaa !5
  %1651 = add nsw i32 %1650, 1
  store i32 %1651, ptr @test_count, align 4, !tbaa !5
  %1652 = load i32, ptr %40, align 4, !tbaa !5
  %1653 = getelementptr inbounds [100 x i8], ptr %42, i64 0, i64 0
  %1654 = call i64 @pread(i32 noundef %1652, ptr noundef %1653, i64 noundef 100, i64 noundef 0)
  %1655 = icmp eq i64 %1654, 100
  br i1 %1655, label %1709, label %1656

1656:                                             ; preds = %1649
  br label %1657

1657:                                             ; preds = %1656
  br label %1658

1658:                                             ; preds = %1657
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #11
  %1659 = call ptr @__errno_location() #12
  %1660 = load i32, ptr %1659, align 4, !tbaa !5
  store i32 %1660, ptr %43, align 4, !tbaa !5
  %1661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1662 = call i32 @s2n_print_stacktrace(ptr noundef %1661)
  %1663 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1664 = trunc i8 %1663 to i1
  br i1 %1664, label %1665, label %1687

1665:                                             ; preds = %1658
  %1666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1667 = call i32 @fileno(ptr noundef %1666) #11
  %1668 = call i32 @isatty(i32 noundef %1667) #11
  %1669 = icmp ne i32 %1668, 0
  br i1 %1669, label %1670, label %1687

1670:                                             ; preds = %1665
  %1671 = load i32, ptr %43, align 4, !tbaa !5
  %1672 = call ptr @__errno_location() #12
  store i32 %1671, ptr %1672, align 4, !tbaa !5
  %1673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1674 = load i32, ptr @test_count, align 4, !tbaa !5
  %1675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1676 = load i32, ptr %1675, align 4, !tbaa !5
  %1677 = call ptr @s2n_strerror(i32 noundef %1676, ptr noundef @.str.4)
  %1678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1679 = load i32, ptr %1678, align 4, !tbaa !5
  %1680 = call ptr @s2n_strerror_debug(i32 noundef %1679, ptr noundef @.str.4)
  %1681 = call ptr @__errno_location() #12
  %1682 = load i32, ptr %1681, align 4, !tbaa !5
  %1683 = call ptr @strerror(i32 noundef %1682) #11
  %1684 = call ptr @__errno_location() #12
  %1685 = load i32, ptr %1684, align 4, !tbaa !5
  %1686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1673, ptr noundef @.str.2, i32 noundef %1674, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 101, ptr noundef %1677, ptr noundef %1680, ptr noundef %1683, i32 noundef %1685) #11
  br label %1704

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

1704:                                             ; preds = %1687, %1670
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #11
  br label %1705

1705:                                             ; preds = %1704
  br label %1706

1706:                                             ; preds = %1705
  call void @exit(i32 noundef 1) #13
  unreachable

1707:                                             ; No predecessors!
  br label %1708

1708:                                             ; preds = %1707
  br label %1709

1709:                                             ; preds = %1708, %1649
  br label %1710

1710:                                             ; preds = %1709
  br label %1711

1711:                                             ; preds = %1710
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #11
  %1712 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %1712, ptr %44, align 8, !tbaa !9
  br label %1713

1713:                                             ; preds = %1711
  %1714 = load i32, ptr @test_count, align 4, !tbaa !5
  %1715 = add nsw i32 %1714, 1
  store i32 %1715, ptr @test_count, align 4, !tbaa !5
  %1716 = load ptr, ptr %44, align 8, !tbaa !9
  %1717 = icmp eq ptr %1716, null
  br i1 %1717, label %1718, label %1771

1718:                                             ; preds = %1713
  br label %1719

1719:                                             ; preds = %1718
  br label %1720

1720:                                             ; preds = %1719
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #11
  %1721 = call ptr @__errno_location() #12
  %1722 = load i32, ptr %1721, align 4, !tbaa !5
  store i32 %1722, ptr %45, align 4, !tbaa !5
  %1723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1724 = call i32 @s2n_print_stacktrace(ptr noundef %1723)
  %1725 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1726 = trunc i8 %1725 to i1
  br i1 %1726, label %1727, label %1749

1727:                                             ; preds = %1720
  %1728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1729 = call i32 @fileno(ptr noundef %1728) #11
  %1730 = call i32 @isatty(i32 noundef %1729) #11
  %1731 = icmp ne i32 %1730, 0
  br i1 %1731, label %1732, label %1749

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

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

1766:                                             ; preds = %1749, %1732
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #11
  br label %1767

1767:                                             ; preds = %1766
  br label %1768

1768:                                             ; preds = %1767
  call void @exit(i32 noundef 1) #13
  unreachable

1769:                                             ; No predecessors!
  br label %1770

1770:                                             ; preds = %1769
  br label %1771

1771:                                             ; preds = %1770, %1713
  br label %1772

1772:                                             ; preds = %1771
  br label %1773

1773:                                             ; preds = %1772
  %1774 = load ptr, ptr %44, align 8, !tbaa !9
  %1775 = load i32, ptr %1774, align 8
  %1776 = and i32 %1775, -262145
  %1777 = or i32 %1776, 262144
  store i32 %1777, ptr %1774, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #11
  call void @llvm.memset.p0.i64(ptr align 4 %46, i8 0, i64 8, i1 false)
  br label %1778

1778:                                             ; preds = %1773
  %1779 = load i32, ptr @test_count, align 4, !tbaa !5
  %1780 = add nsw i32 %1779, 1
  store i32 %1780, ptr @test_count, align 4, !tbaa !5
  %1781 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %46)
  %1782 = icmp eq i32 %1781, -1
  br i1 %1782, label %1783, label %1836

1783:                                             ; preds = %1778
  br label %1784

1784:                                             ; preds = %1783
  br label %1785

1785:                                             ; preds = %1784
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #11
  %1786 = call ptr @__errno_location() #12
  %1787 = load i32, ptr %1786, align 4, !tbaa !5
  store i32 %1787, ptr %47, align 4, !tbaa !5
  %1788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1789 = call i32 @s2n_print_stacktrace(ptr noundef %1788)
  %1790 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1791 = trunc i8 %1790 to i1
  br i1 %1791, label %1792, label %1814

1792:                                             ; preds = %1785
  %1793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1794 = call i32 @fileno(ptr noundef %1793) #11
  %1795 = call i32 @isatty(i32 noundef %1794) #11
  %1796 = icmp ne i32 %1795, 0
  br i1 %1796, label %1797, label %1814

1797:                                             ; preds = %1792
  %1798 = load i32, ptr %47, align 4, !tbaa !5
  %1799 = call ptr @__errno_location() #12
  store i32 %1798, ptr %1799, align 4, !tbaa !5
  %1800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1801 = load i32, ptr @test_count, align 4, !tbaa !5
  %1802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1803 = load i32, ptr %1802, align 4, !tbaa !5
  %1804 = call ptr @s2n_strerror(i32 noundef %1803, ptr noundef @.str.4)
  %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_debug(i32 noundef %1806, ptr noundef @.str.4)
  %1808 = call ptr @__errno_location() #12
  %1809 = load i32, ptr %1808, align 4, !tbaa !5
  %1810 = call ptr @strerror(i32 noundef %1809) #11
  %1811 = call ptr @__errno_location() #12
  %1812 = load i32, ptr %1811, align 4, !tbaa !5
  %1813 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1800, ptr noundef @.str.2, i32 noundef %1801, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 111, ptr noundef %1804, ptr noundef %1807, ptr noundef %1810, i32 noundef %1812) #11
  br label %1831

1814:                                             ; preds = %1792, %1785
  %1815 = load i32, ptr %47, align 4, !tbaa !5
  %1816 = call ptr @__errno_location() #12
  store i32 %1815, ptr %1816, align 4, !tbaa !5
  %1817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1818 = load i32, ptr @test_count, align 4, !tbaa !5
  %1819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1820 = load i32, ptr %1819, align 4, !tbaa !5
  %1821 = call ptr @s2n_strerror(i32 noundef %1820, ptr noundef @.str.4)
  %1822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1823 = load i32, ptr %1822, align 4, !tbaa !5
  %1824 = call ptr @s2n_strerror_debug(i32 noundef %1823, ptr noundef @.str.4)
  %1825 = call ptr @__errno_location() #12
  %1826 = load i32, ptr %1825, align 4, !tbaa !5
  %1827 = call ptr @strerror(i32 noundef %1826) #11
  %1828 = call ptr @__errno_location() #12
  %1829 = load i32, ptr %1828, align 4, !tbaa !5
  %1830 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1817, ptr noundef @.str.5, i32 noundef %1818, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 111, ptr noundef %1821, ptr noundef %1824, ptr noundef %1827, i32 noundef %1829) #11
  br label %1831

1831:                                             ; preds = %1814, %1797
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #11
  br label %1832

1832:                                             ; preds = %1831
  br label %1833

1833:                                             ; preds = %1832
  call void @exit(i32 noundef 1) #13
  unreachable

1834:                                             ; No predecessors!
  br label %1835

1835:                                             ; preds = %1834
  br label %1836

1836:                                             ; preds = %1835, %1778
  br label %1837

1837:                                             ; preds = %1836
  br label %1838

1838:                                             ; preds = %1837
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #11
  %1839 = getelementptr inbounds %struct.s2n_test_io_pair, ptr %46, i32 0, i32 1
  %1840 = load i32, ptr %1839, align 4, !tbaa !17
  store i32 %1840, ptr %48, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #11
  %1841 = getelementptr inbounds %struct.s2n_test_io_pair, ptr %46, i32 0, i32 0
  %1842 = load i32, ptr %1841, align 4, !tbaa !19
  store i32 %1842, ptr %49, align 4, !tbaa !5
  br label %1843

1843:                                             ; preds = %1838
  %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 = load ptr, ptr %44, align 8, !tbaa !9
  %1847 = load i32, ptr %48, align 4, !tbaa !5
  %1848 = call i32 @s2n_connection_set_write_fd(ptr noundef %1846, i32 noundef %1847)
  %1849 = icmp eq i32 %1848, -1
  br i1 %1849, label %1850, label %1903

1850:                                             ; preds = %1843
  br label %1851

1851:                                             ; preds = %1850
  br label %1852

1852:                                             ; preds = %1851
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #11
  %1853 = call ptr @__errno_location() #12
  %1854 = load i32, ptr %1853, align 4, !tbaa !5
  store i32 %1854, ptr %50, align 4, !tbaa !5
  %1855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1856 = call i32 @s2n_print_stacktrace(ptr noundef %1855)
  %1857 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1858 = trunc i8 %1857 to i1
  br i1 %1858, label %1859, label %1881

1859:                                             ; preds = %1852
  %1860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1861 = call i32 @fileno(ptr noundef %1860) #11
  %1862 = call i32 @isatty(i32 noundef %1861) #11
  %1863 = icmp ne i32 %1862, 0
  br i1 %1863, label %1864, label %1881

1864:                                             ; preds = %1859
  %1865 = load i32, ptr %50, align 4, !tbaa !5
  %1866 = call ptr @__errno_location() #12
  store i32 %1865, ptr %1866, align 4, !tbaa !5
  %1867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1868 = load i32, ptr @test_count, align 4, !tbaa !5
  %1869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1870 = load i32, ptr %1869, align 4, !tbaa !5
  %1871 = call ptr @s2n_strerror(i32 noundef %1870, ptr noundef @.str.4)
  %1872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1873 = load i32, ptr %1872, align 4, !tbaa !5
  %1874 = call ptr @s2n_strerror_debug(i32 noundef %1873, ptr noundef @.str.4)
  %1875 = call ptr @__errno_location() #12
  %1876 = load i32, ptr %1875, align 4, !tbaa !5
  %1877 = call ptr @strerror(i32 noundef %1876) #11
  %1878 = call ptr @__errno_location() #12
  %1879 = load i32, ptr %1878, align 4, !tbaa !5
  %1880 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1867, ptr noundef @.str.2, i32 noundef %1868, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 114, ptr noundef %1871, ptr noundef %1874, ptr noundef %1877, i32 noundef %1879) #11
  br label %1898

1881:                                             ; preds = %1859, %1852
  %1882 = load i32, ptr %50, align 4, !tbaa !5
  %1883 = call ptr @__errno_location() #12
  store i32 %1882, ptr %1883, align 4, !tbaa !5
  %1884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1885 = load i32, ptr @test_count, align 4, !tbaa !5
  %1886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1887 = load i32, ptr %1886, align 4, !tbaa !5
  %1888 = call ptr @s2n_strerror(i32 noundef %1887, ptr noundef @.str.4)
  %1889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1890 = load i32, ptr %1889, align 4, !tbaa !5
  %1891 = call ptr @s2n_strerror_debug(i32 noundef %1890, ptr noundef @.str.4)
  %1892 = call ptr @__errno_location() #12
  %1893 = load i32, ptr %1892, align 4, !tbaa !5
  %1894 = call ptr @strerror(i32 noundef %1893) #11
  %1895 = call ptr @__errno_location() #12
  %1896 = load i32, ptr %1895, align 4, !tbaa !5
  %1897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1884, ptr noundef @.str.5, i32 noundef %1885, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 114, ptr noundef %1888, ptr noundef %1891, ptr noundef %1894, i32 noundef %1896) #11
  br label %1898

1898:                                             ; preds = %1881, %1864
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #11
  br label %1899

1899:                                             ; preds = %1898
  br label %1900

1900:                                             ; preds = %1899
  call void @exit(i32 noundef 1) #13
  unreachable

1901:                                             ; No predecessors!
  br label %1902

1902:                                             ; preds = %1901
  br label %1903

1903:                                             ; preds = %1902, %1843
  br label %1904

1904:                                             ; preds = %1903
  br label %1905

1905:                                             ; preds = %1904
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #11
  store i32 0, ptr %51, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #11
  store i64 0, ptr %52, align 8, !tbaa !15
  br label %1906

1906:                                             ; preds = %1905
  %1907 = load i32, ptr @test_count, align 4, !tbaa !5
  %1908 = add nsw i32 %1907, 1
  store i32 %1908, ptr @test_count, align 4, !tbaa !5
  %1909 = load ptr, ptr %44, align 8, !tbaa !9
  %1910 = load i32, ptr %40, align 4, !tbaa !5
  %1911 = call i32 @s2n_sendfile(ptr noundef %1909, i32 noundef %1910, i64 noundef 0, i64 noundef 100, ptr noundef %52, ptr noundef %51)
  %1912 = icmp eq i32 %1911, -1
  br i1 %1912, label %1913, label %1966

1913:                                             ; preds = %1906
  br label %1914

1914:                                             ; preds = %1913
  br label %1915

1915:                                             ; preds = %1914
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #11
  %1916 = call ptr @__errno_location() #12
  %1917 = load i32, ptr %1916, align 4, !tbaa !5
  store i32 %1917, ptr %53, align 4, !tbaa !5
  %1918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1919 = call i32 @s2n_print_stacktrace(ptr noundef %1918)
  %1920 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1921 = trunc i8 %1920 to i1
  br i1 %1921, label %1922, label %1944

1922:                                             ; preds = %1915
  %1923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1924 = call i32 @fileno(ptr noundef %1923) #11
  %1925 = call i32 @isatty(i32 noundef %1924) #11
  %1926 = icmp ne i32 %1925, 0
  br i1 %1926, label %1927, label %1944

1927:                                             ; preds = %1922
  %1928 = load i32, ptr %53, align 4, !tbaa !5
  %1929 = call ptr @__errno_location() #12
  store i32 %1928, ptr %1929, align 4, !tbaa !5
  %1930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1931 = load i32, ptr @test_count, align 4, !tbaa !5
  %1932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1933 = load i32, ptr %1932, align 4, !tbaa !5
  %1934 = call ptr @s2n_strerror(i32 noundef %1933, ptr noundef @.str.4)
  %1935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1936 = load i32, ptr %1935, align 4, !tbaa !5
  %1937 = call ptr @s2n_strerror_debug(i32 noundef %1936, ptr noundef @.str.4)
  %1938 = call ptr @__errno_location() #12
  %1939 = load i32, ptr %1938, align 4, !tbaa !5
  %1940 = call ptr @strerror(i32 noundef %1939) #11
  %1941 = call ptr @__errno_location() #12
  %1942 = load i32, ptr %1941, align 4, !tbaa !5
  %1943 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1930, ptr noundef @.str.2, i32 noundef %1931, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 119, ptr noundef %1934, ptr noundef %1937, ptr noundef %1940, i32 noundef %1942) #11
  br label %1961

1944:                                             ; preds = %1922, %1915
  %1945 = load i32, ptr %53, align 4, !tbaa !5
  %1946 = call ptr @__errno_location() #12
  store i32 %1945, ptr %1946, align 4, !tbaa !5
  %1947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1948 = load i32, ptr @test_count, align 4, !tbaa !5
  %1949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1950 = load i32, ptr %1949, align 4, !tbaa !5
  %1951 = call ptr @s2n_strerror(i32 noundef %1950, ptr noundef @.str.4)
  %1952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1953 = load i32, ptr %1952, align 4, !tbaa !5
  %1954 = call ptr @s2n_strerror_debug(i32 noundef %1953, ptr noundef @.str.4)
  %1955 = call ptr @__errno_location() #12
  %1956 = load i32, ptr %1955, align 4, !tbaa !5
  %1957 = call ptr @strerror(i32 noundef %1956) #11
  %1958 = call ptr @__errno_location() #12
  %1959 = load i32, ptr %1958, align 4, !tbaa !5
  %1960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1947, ptr noundef @.str.5, i32 noundef %1948, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 119, ptr noundef %1951, ptr noundef %1954, ptr noundef %1957, i32 noundef %1959) #11
  br label %1961

1961:                                             ; preds = %1944, %1927
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #11
  br label %1962

1962:                                             ; preds = %1961
  br label %1963

1963:                                             ; preds = %1962
  call void @exit(i32 noundef 1) #13
  unreachable

1964:                                             ; No predecessors!
  br label %1965

1965:                                             ; preds = %1964
  br label %1966

1966:                                             ; preds = %1965, %1906
  br label %1967

1967:                                             ; preds = %1966
  br label %1968

1968:                                             ; preds = %1967
  br label %1969

1969:                                             ; preds = %1968
  %1970 = load i32, ptr @test_count, align 4, !tbaa !5
  %1971 = add nsw i32 %1970, 1
  store i32 %1971, ptr @test_count, align 4, !tbaa !5
  %1972 = load i64, ptr %52, align 8, !tbaa !15
  %1973 = icmp eq i64 %1972, 100
  br i1 %1973, label %2027, label %1974

1974:                                             ; preds = %1969
  br label %1975

1975:                                             ; preds = %1974
  br label %1976

1976:                                             ; preds = %1975
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #11
  %1977 = call ptr @__errno_location() #12
  %1978 = load i32, ptr %1977, align 4, !tbaa !5
  store i32 %1978, ptr %54, align 4, !tbaa !5
  %1979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1980 = call i32 @s2n_print_stacktrace(ptr noundef %1979)
  %1981 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1982 = trunc i8 %1981 to i1
  br i1 %1982, label %1983, label %2005

1983:                                             ; preds = %1976
  %1984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1985 = call i32 @fileno(ptr noundef %1984) #11
  %1986 = call i32 @isatty(i32 noundef %1985) #11
  %1987 = icmp ne i32 %1986, 0
  br i1 %1987, label %1988, label %2005

1988:                                             ; preds = %1983
  %1989 = load i32, ptr %54, align 4, !tbaa !5
  %1990 = call ptr @__errno_location() #12
  store i32 %1989, ptr %1990, align 4, !tbaa !5
  %1991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1992 = load i32, ptr @test_count, align 4, !tbaa !5
  %1993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1994 = load i32, ptr %1993, align 4, !tbaa !5
  %1995 = call ptr @s2n_strerror(i32 noundef %1994, ptr noundef @.str.4)
  %1996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1997 = load i32, ptr %1996, align 4, !tbaa !5
  %1998 = call ptr @s2n_strerror_debug(i32 noundef %1997, ptr noundef @.str.4)
  %1999 = call ptr @__errno_location() #12
  %2000 = load i32, ptr %1999, align 4, !tbaa !5
  %2001 = call ptr @strerror(i32 noundef %2000) #11
  %2002 = call ptr @__errno_location() #12
  %2003 = load i32, ptr %2002, align 4, !tbaa !5
  %2004 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1991, ptr noundef @.str.2, i32 noundef %1992, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 120, ptr noundef %1995, ptr noundef %1998, ptr noundef %2001, i32 noundef %2003) #11
  br label %2022

2005:                                             ; preds = %1983, %1976
  %2006 = load i32, ptr %54, align 4, !tbaa !5
  %2007 = call ptr @__errno_location() #12
  store i32 %2006, ptr %2007, align 4, !tbaa !5
  %2008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2009 = load i32, ptr @test_count, align 4, !tbaa !5
  %2010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2011 = load i32, ptr %2010, align 4, !tbaa !5
  %2012 = call ptr @s2n_strerror(i32 noundef %2011, ptr noundef @.str.4)
  %2013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2014 = load i32, ptr %2013, align 4, !tbaa !5
  %2015 = call ptr @s2n_strerror_debug(i32 noundef %2014, ptr noundef @.str.4)
  %2016 = call ptr @__errno_location() #12
  %2017 = load i32, ptr %2016, align 4, !tbaa !5
  %2018 = call ptr @strerror(i32 noundef %2017) #11
  %2019 = call ptr @__errno_location() #12
  %2020 = load i32, ptr %2019, align 4, !tbaa !5
  %2021 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2008, ptr noundef @.str.5, i32 noundef %2009, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 120, ptr noundef %2012, ptr noundef %2015, ptr noundef %2018, i32 noundef %2020) #11
  br label %2022

2022:                                             ; preds = %2005, %1988
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #11
  br label %2023

2023:                                             ; preds = %2022
  br label %2024

2024:                                             ; preds = %2023
  call void @exit(i32 noundef 1) #13
  unreachable

2025:                                             ; No predecessors!
  br label %2026

2026:                                             ; preds = %2025
  br label %2027

2027:                                             ; preds = %2026, %1969
  br label %2028

2028:                                             ; preds = %2027
  br label %2029

2029:                                             ; preds = %2028
  br label %2030

2030:                                             ; preds = %2029
  %2031 = load i32, ptr @test_count, align 4, !tbaa !5
  %2032 = add nsw i32 %2031, 1
  store i32 %2032, ptr @test_count, align 4, !tbaa !5
  %2033 = load i32, ptr %51, align 4, !tbaa !5
  %2034 = icmp eq i32 %2033, 0
  br i1 %2034, label %2088, label %2035

2035:                                             ; preds = %2030
  br label %2036

2036:                                             ; preds = %2035
  br label %2037

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

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

2049:                                             ; preds = %2044
  %2050 = load i32, ptr %55, align 4, !tbaa !5
  %2051 = call ptr @__errno_location() #12
  store i32 %2050, ptr %2051, align 4, !tbaa !5
  %2052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2053 = load i32, ptr @test_count, align 4, !tbaa !5
  %2054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2055 = load i32, ptr %2054, align 4, !tbaa !5
  %2056 = call ptr @s2n_strerror(i32 noundef %2055, ptr noundef @.str.4)
  %2057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2058 = load i32, ptr %2057, align 4, !tbaa !5
  %2059 = call ptr @s2n_strerror_debug(i32 noundef %2058, ptr noundef @.str.4)
  %2060 = call ptr @__errno_location() #12
  %2061 = load i32, ptr %2060, align 4, !tbaa !5
  %2062 = call ptr @strerror(i32 noundef %2061) #11
  %2063 = call ptr @__errno_location() #12
  %2064 = load i32, ptr %2063, align 4, !tbaa !5
  %2065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2052, ptr noundef @.str.2, i32 noundef %2053, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 121, ptr noundef %2056, ptr noundef %2059, ptr noundef %2062, i32 noundef %2064) #11
  br label %2083

2066:                                             ; preds = %2044, %2037
  %2067 = load i32, ptr %55, align 4, !tbaa !5
  %2068 = call ptr @__errno_location() #12
  store i32 %2067, ptr %2068, align 4, !tbaa !5
  %2069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2070 = load i32, ptr @test_count, align 4, !tbaa !5
  %2071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2072 = load i32, ptr %2071, align 4, !tbaa !5
  %2073 = call ptr @s2n_strerror(i32 noundef %2072, ptr noundef @.str.4)
  %2074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2075 = load i32, ptr %2074, align 4, !tbaa !5
  %2076 = call ptr @s2n_strerror_debug(i32 noundef %2075, ptr noundef @.str.4)
  %2077 = call ptr @__errno_location() #12
  %2078 = load i32, ptr %2077, align 4, !tbaa !5
  %2079 = call ptr @strerror(i32 noundef %2078) #11
  %2080 = call ptr @__errno_location() #12
  %2081 = load i32, ptr %2080, align 4, !tbaa !5
  %2082 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2069, ptr noundef @.str.5, i32 noundef %2070, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 121, ptr noundef %2073, ptr noundef %2076, ptr noundef %2079, i32 noundef %2081) #11
  br label %2083

2083:                                             ; preds = %2066, %2049
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #11
  br label %2084

2084:                                             ; preds = %2083
  br label %2085

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

2086:                                             ; No predecessors!
  br label %2087

2087:                                             ; preds = %2086
  br label %2088

2088:                                             ; preds = %2087, %2030
  br label %2089

2089:                                             ; preds = %2088
  br label %2090

2090:                                             ; preds = %2089
  call void @llvm.lifetime.start.p0(i64 100, ptr %56) #11
  call void @llvm.memset.p0.i64(ptr align 16 %56, i8 0, i64 100, i1 false)
  br label %2091

2091:                                             ; preds = %2090
  %2092 = load i32, ptr @test_count, align 4, !tbaa !5
  %2093 = add nsw i32 %2092, 1
  store i32 %2093, ptr @test_count, align 4, !tbaa !5
  %2094 = load i32, ptr %49, align 4, !tbaa !5
  %2095 = getelementptr inbounds [100 x i8], ptr %56, i64 0, i64 0
  %2096 = call i64 @read(i32 noundef %2094, ptr noundef %2095, i64 noundef 100)
  %2097 = icmp eq i64 %2096, 100
  br i1 %2097, label %2151, label %2098

2098:                                             ; preds = %2091
  br label %2099

2099:                                             ; preds = %2098
  br label %2100

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

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

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

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

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

2147:                                             ; preds = %2146
  br label %2148

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

2149:                                             ; No predecessors!
  br label %2150

2150:                                             ; preds = %2149
  br label %2151

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

2152:                                             ; preds = %2151
  br label %2153

2153:                                             ; preds = %2152
  br label %2154

2154:                                             ; preds = %2153
  br label %2155

2155:                                             ; preds = %2154
  %2156 = load i32, ptr @test_count, align 4, !tbaa !5
  %2157 = add nsw i32 %2156, 1
  store i32 %2157, ptr @test_count, align 4, !tbaa !5
  %2158 = getelementptr inbounds [100 x i8], ptr %56, i64 0, i64 0
  %2159 = getelementptr inbounds [100 x i8], ptr %42, i64 0, i64 0
  %2160 = call i32 @memcmp(ptr noundef %2158, ptr noundef %2159, i64 noundef 100) #14
  %2161 = icmp eq i32 %2160, 0
  br i1 %2161, label %2215, label %2162

2162:                                             ; preds = %2155
  br label %2163

2163:                                             ; preds = %2162
  br label %2164

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

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

2176:                                             ; preds = %2171
  %2177 = load i32, ptr %58, align 4, !tbaa !5
  %2178 = call ptr @__errno_location() #12
  store i32 %2177, ptr %2178, align 4, !tbaa !5
  %2179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2180 = load i32, ptr @test_count, align 4, !tbaa !5
  %2181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2182 = load i32, ptr %2181, align 4, !tbaa !5
  %2183 = call ptr @s2n_strerror(i32 noundef %2182, ptr noundef @.str.4)
  %2184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2185 = load i32, ptr %2184, align 4, !tbaa !5
  %2186 = call ptr @s2n_strerror_debug(i32 noundef %2185, ptr noundef @.str.4)
  %2187 = call ptr @__errno_location() #12
  %2188 = load i32, ptr %2187, align 4, !tbaa !5
  %2189 = call ptr @strerror(i32 noundef %2188) #11
  %2190 = call ptr @__errno_location() #12
  %2191 = load i32, ptr %2190, align 4, !tbaa !5
  %2192 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2179, ptr noundef @.str.2, i32 noundef %2180, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 125, ptr noundef %2183, ptr noundef %2186, ptr noundef %2189, i32 noundef %2191) #11
  br label %2210

2193:                                             ; preds = %2171, %2164
  %2194 = load i32, ptr %58, align 4, !tbaa !5
  %2195 = call ptr @__errno_location() #12
  store i32 %2194, ptr %2195, align 4, !tbaa !5
  %2196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2197 = load i32, ptr @test_count, align 4, !tbaa !5
  %2198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2199 = load i32, ptr %2198, align 4, !tbaa !5
  %2200 = call ptr @s2n_strerror(i32 noundef %2199, ptr noundef @.str.4)
  %2201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2202 = load i32, ptr %2201, align 4, !tbaa !5
  %2203 = call ptr @s2n_strerror_debug(i32 noundef %2202, ptr noundef @.str.4)
  %2204 = call ptr @__errno_location() #12
  %2205 = load i32, ptr %2204, align 4, !tbaa !5
  %2206 = call ptr @strerror(i32 noundef %2205) #11
  %2207 = call ptr @__errno_location() #12
  %2208 = load i32, ptr %2207, align 4, !tbaa !5
  %2209 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2196, ptr noundef @.str.5, i32 noundef %2197, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 125, ptr noundef %2200, ptr noundef %2203, ptr noundef %2206, i32 noundef %2208) #11
  br label %2210

2210:                                             ; preds = %2193, %2176
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #11
  br label %2211

2211:                                             ; preds = %2210
  br label %2212

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

2213:                                             ; No predecessors!
  br label %2214

2214:                                             ; preds = %2213
  br label %2215

2215:                                             ; preds = %2214, %2155
  br label %2216

2216:                                             ; preds = %2215
  br label %2217

2217:                                             ; preds = %2216
  br label %2218

2218:                                             ; preds = %2217
  br label %2219

2219:                                             ; preds = %2218
  br label %2220

2220:                                             ; preds = %2219
  %2221 = load i32, ptr @test_count, align 4, !tbaa !5
  %2222 = add nsw i32 %2221, 1
  store i32 %2222, ptr @test_count, align 4, !tbaa !5
  %2223 = load i32, ptr %49, align 4, !tbaa !5
  %2224 = getelementptr inbounds [100 x i8], ptr %56, i64 0, i64 0
  %2225 = call i64 @read(i32 noundef %2223, ptr noundef %2224, i64 noundef 100)
  %2226 = icmp slt i64 %2225, 0
  br i1 %2226, label %2280, label %2227

2227:                                             ; preds = %2220
  br label %2228

2228:                                             ; preds = %2227
  br label %2229

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

2236:                                             ; preds = %2229
  %2237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2238 = call i32 @fileno(ptr noundef %2237) #11
  %2239 = call i32 @isatty(i32 noundef %2238) #11
  %2240 = icmp ne i32 %2239, 0
  br i1 %2240, label %2241, label %2258

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

2258:                                             ; preds = %2236, %2229
  %2259 = load i32, ptr %59, align 4, !tbaa !5
  %2260 = call ptr @__errno_location() #12
  store i32 %2259, ptr %2260, align 4, !tbaa !5
  %2261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2262 = load i32, ptr @test_count, align 4, !tbaa !5
  %2263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2264 = load i32, ptr %2263, align 4, !tbaa !5
  %2265 = call ptr @s2n_strerror(i32 noundef %2264, ptr noundef @.str.4)
  %2266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2267 = load i32, ptr %2266, align 4, !tbaa !5
  %2268 = call ptr @s2n_strerror_debug(i32 noundef %2267, ptr noundef @.str.4)
  %2269 = call ptr @__errno_location() #12
  %2270 = load i32, ptr %2269, align 4, !tbaa !5
  %2271 = call ptr @strerror(i32 noundef %2270) #11
  %2272 = call ptr @__errno_location() #12
  %2273 = load i32, ptr %2272, align 4, !tbaa !5
  %2274 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2261, ptr noundef @.str.5, i32 noundef %2262, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 126, ptr noundef %2265, ptr noundef %2268, ptr noundef %2271, i32 noundef %2273) #11
  br label %2275

2275:                                             ; preds = %2258, %2241
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #11
  br label %2276

2276:                                             ; preds = %2275
  br label %2277

2277:                                             ; preds = %2276
  call void @exit(i32 noundef 1) #13
  unreachable

2278:                                             ; No predecessors!
  br label %2279

2279:                                             ; preds = %2278
  br label %2280

2280:                                             ; preds = %2279, %2220
  br label %2281

2281:                                             ; preds = %2280
  br label %2282

2282:                                             ; preds = %2281
  call void @llvm.lifetime.end.p0(i64 100, ptr %56) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #11
  %2283 = call i32 @s2n_io_pair_close(ptr noundef %46)
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #11
  %2284 = call i32 @s2n_connection_ptr_free(ptr noundef %44)
  %2285 = getelementptr inbounds %struct.s2n_result, ptr %60, i32 0, i32 0
  store i32 %2284, ptr %2285, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %61) #11
  %2286 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %2286, ptr %61, align 8, !tbaa !9
  br label %2287

2287:                                             ; preds = %2282
  %2288 = load i32, ptr @test_count, align 4, !tbaa !5
  %2289 = add nsw i32 %2288, 1
  store i32 %2289, ptr @test_count, align 4, !tbaa !5
  %2290 = load ptr, ptr %61, align 8, !tbaa !9
  %2291 = icmp eq ptr %2290, null
  br i1 %2291, label %2292, label %2345

2292:                                             ; preds = %2287
  br label %2293

2293:                                             ; preds = %2292
  br label %2294

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

2301:                                             ; preds = %2294
  %2302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2303 = call i32 @fileno(ptr noundef %2302) #11
  %2304 = call i32 @isatty(i32 noundef %2303) #11
  %2305 = icmp ne i32 %2304, 0
  br i1 %2305, label %2306, label %2323

2306:                                             ; preds = %2301
  %2307 = load i32, ptr %62, align 4, !tbaa !5
  %2308 = call ptr @__errno_location() #12
  store i32 %2307, ptr %2308, align 4, !tbaa !5
  %2309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2310 = load i32, ptr @test_count, align 4, !tbaa !5
  %2311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2312 = load i32, ptr %2311, align 4, !tbaa !5
  %2313 = call ptr @s2n_strerror(i32 noundef %2312, ptr noundef @.str.4)
  %2314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2315 = load i32, ptr %2314, align 4, !tbaa !5
  %2316 = call ptr @s2n_strerror_debug(i32 noundef %2315, ptr noundef @.str.4)
  %2317 = call ptr @__errno_location() #12
  %2318 = load i32, ptr %2317, align 4, !tbaa !5
  %2319 = call ptr @strerror(i32 noundef %2318) #11
  %2320 = call ptr @__errno_location() #12
  %2321 = load i32, ptr %2320, align 4, !tbaa !5
  %2322 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2309, ptr noundef @.str.2, i32 noundef %2310, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 133, ptr noundef %2313, ptr noundef %2316, ptr noundef %2319, i32 noundef %2321) #11
  br label %2340

2323:                                             ; preds = %2301, %2294
  %2324 = load i32, ptr %62, align 4, !tbaa !5
  %2325 = call ptr @__errno_location() #12
  store i32 %2324, ptr %2325, align 4, !tbaa !5
  %2326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2327 = load i32, ptr @test_count, align 4, !tbaa !5
  %2328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2329 = load i32, ptr %2328, align 4, !tbaa !5
  %2330 = call ptr @s2n_strerror(i32 noundef %2329, ptr noundef @.str.4)
  %2331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2332 = load i32, ptr %2331, align 4, !tbaa !5
  %2333 = call ptr @s2n_strerror_debug(i32 noundef %2332, ptr noundef @.str.4)
  %2334 = call ptr @__errno_location() #12
  %2335 = load i32, ptr %2334, align 4, !tbaa !5
  %2336 = call ptr @strerror(i32 noundef %2335) #11
  %2337 = call ptr @__errno_location() #12
  %2338 = load i32, ptr %2337, align 4, !tbaa !5
  %2339 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2326, ptr noundef @.str.5, i32 noundef %2327, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 133, ptr noundef %2330, ptr noundef %2333, ptr noundef %2336, i32 noundef %2338) #11
  br label %2340

2340:                                             ; preds = %2323, %2306
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #11
  br label %2341

2341:                                             ; preds = %2340
  br label %2342

2342:                                             ; preds = %2341
  call void @exit(i32 noundef 1) #13
  unreachable

2343:                                             ; No predecessors!
  br label %2344

2344:                                             ; preds = %2343
  br label %2345

2345:                                             ; preds = %2344, %2287
  br label %2346

2346:                                             ; preds = %2345
  br label %2347

2347:                                             ; preds = %2346
  %2348 = load ptr, ptr %61, align 8, !tbaa !9
  %2349 = load i32, ptr %2348, align 8
  %2350 = and i32 %2349, -262145
  %2351 = or i32 %2350, 262144
  store i32 %2351, ptr %2348, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %63) #11
  call void @llvm.memset.p0.i64(ptr align 4 %63, i8 0, i64 8, i1 false)
  br label %2352

2352:                                             ; preds = %2347
  %2353 = load i32, ptr @test_count, align 4, !tbaa !5
  %2354 = add nsw i32 %2353, 1
  store i32 %2354, ptr @test_count, align 4, !tbaa !5
  %2355 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %63)
  %2356 = icmp eq i32 %2355, -1
  br i1 %2356, label %2357, label %2410

2357:                                             ; preds = %2352
  br label %2358

2358:                                             ; preds = %2357
  br label %2359

2359:                                             ; preds = %2358
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #11
  %2360 = call ptr @__errno_location() #12
  %2361 = load i32, ptr %2360, align 4, !tbaa !5
  store i32 %2361, ptr %64, align 4, !tbaa !5
  %2362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2363 = call i32 @s2n_print_stacktrace(ptr noundef %2362)
  %2364 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2365 = trunc i8 %2364 to i1
  br i1 %2365, label %2366, label %2388

2366:                                             ; preds = %2359
  %2367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2368 = call i32 @fileno(ptr noundef %2367) #11
  %2369 = call i32 @isatty(i32 noundef %2368) #11
  %2370 = icmp ne i32 %2369, 0
  br i1 %2370, label %2371, label %2388

2371:                                             ; preds = %2366
  %2372 = load i32, ptr %64, align 4, !tbaa !5
  %2373 = call ptr @__errno_location() #12
  store i32 %2372, ptr %2373, align 4, !tbaa !5
  %2374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2375 = load i32, ptr @test_count, align 4, !tbaa !5
  %2376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2377 = load i32, ptr %2376, align 4, !tbaa !5
  %2378 = call ptr @s2n_strerror(i32 noundef %2377, ptr noundef @.str.4)
  %2379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2380 = load i32, ptr %2379, align 4, !tbaa !5
  %2381 = call ptr @s2n_strerror_debug(i32 noundef %2380, ptr noundef @.str.4)
  %2382 = call ptr @__errno_location() #12
  %2383 = load i32, ptr %2382, align 4, !tbaa !5
  %2384 = call ptr @strerror(i32 noundef %2383) #11
  %2385 = call ptr @__errno_location() #12
  %2386 = load i32, ptr %2385, align 4, !tbaa !5
  %2387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2374, ptr noundef @.str.2, i32 noundef %2375, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 137, ptr noundef %2378, ptr noundef %2381, ptr noundef %2384, i32 noundef %2386) #11
  br label %2405

2388:                                             ; preds = %2366, %2359
  %2389 = load i32, ptr %64, align 4, !tbaa !5
  %2390 = call ptr @__errno_location() #12
  store i32 %2389, ptr %2390, align 4, !tbaa !5
  %2391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2392 = load i32, ptr @test_count, align 4, !tbaa !5
  %2393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2394 = load i32, ptr %2393, align 4, !tbaa !5
  %2395 = call ptr @s2n_strerror(i32 noundef %2394, ptr noundef @.str.4)
  %2396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2397 = load i32, ptr %2396, align 4, !tbaa !5
  %2398 = call ptr @s2n_strerror_debug(i32 noundef %2397, ptr noundef @.str.4)
  %2399 = call ptr @__errno_location() #12
  %2400 = load i32, ptr %2399, align 4, !tbaa !5
  %2401 = call ptr @strerror(i32 noundef %2400) #11
  %2402 = call ptr @__errno_location() #12
  %2403 = load i32, ptr %2402, align 4, !tbaa !5
  %2404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2391, ptr noundef @.str.5, i32 noundef %2392, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 137, ptr noundef %2395, ptr noundef %2398, ptr noundef %2401, i32 noundef %2403) #11
  br label %2405

2405:                                             ; preds = %2388, %2371
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #11
  br label %2406

2406:                                             ; preds = %2405
  br label %2407

2407:                                             ; preds = %2406
  call void @exit(i32 noundef 1) #13
  unreachable

2408:                                             ; No predecessors!
  br label %2409

2409:                                             ; preds = %2408
  br label %2410

2410:                                             ; preds = %2409, %2352
  br label %2411

2411:                                             ; preds = %2410
  br label %2412

2412:                                             ; preds = %2411
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #11
  %2413 = getelementptr inbounds %struct.s2n_test_io_pair, ptr %63, i32 0, i32 1
  %2414 = load i32, ptr %2413, align 4, !tbaa !17
  store i32 %2414, ptr %65, align 4, !tbaa !5
  br label %2415

2415:                                             ; preds = %2412
  %2416 = load i32, ptr @test_count, align 4, !tbaa !5
  %2417 = add nsw i32 %2416, 1
  store i32 %2417, ptr @test_count, align 4, !tbaa !5
  %2418 = load ptr, ptr %61, align 8, !tbaa !9
  %2419 = load i32, ptr %65, align 4, !tbaa !5
  %2420 = call i32 @s2n_connection_set_write_fd(ptr noundef %2418, i32 noundef %2419)
  %2421 = icmp eq i32 %2420, -1
  br i1 %2421, label %2422, label %2475

2422:                                             ; preds = %2415
  br label %2423

2423:                                             ; preds = %2422
  br label %2424

2424:                                             ; preds = %2423
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #11
  %2425 = call ptr @__errno_location() #12
  %2426 = load i32, ptr %2425, align 4, !tbaa !5
  store i32 %2426, ptr %66, align 4, !tbaa !5
  %2427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2428 = call i32 @s2n_print_stacktrace(ptr noundef %2427)
  %2429 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2430 = trunc i8 %2429 to i1
  br i1 %2430, label %2431, label %2453

2431:                                             ; preds = %2424
  %2432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2433 = call i32 @fileno(ptr noundef %2432) #11
  %2434 = call i32 @isatty(i32 noundef %2433) #11
  %2435 = icmp ne i32 %2434, 0
  br i1 %2435, label %2436, label %2453

2436:                                             ; preds = %2431
  %2437 = load i32, ptr %66, align 4, !tbaa !5
  %2438 = call ptr @__errno_location() #12
  store i32 %2437, ptr %2438, align 4, !tbaa !5
  %2439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2440 = load i32, ptr @test_count, align 4, !tbaa !5
  %2441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2442 = load i32, ptr %2441, align 4, !tbaa !5
  %2443 = call ptr @s2n_strerror(i32 noundef %2442, ptr noundef @.str.4)
  %2444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2445 = load i32, ptr %2444, align 4, !tbaa !5
  %2446 = call ptr @s2n_strerror_debug(i32 noundef %2445, ptr noundef @.str.4)
  %2447 = call ptr @__errno_location() #12
  %2448 = load i32, ptr %2447, align 4, !tbaa !5
  %2449 = call ptr @strerror(i32 noundef %2448) #11
  %2450 = call ptr @__errno_location() #12
  %2451 = load i32, ptr %2450, align 4, !tbaa !5
  %2452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2439, ptr noundef @.str.2, i32 noundef %2440, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 139, ptr noundef %2443, ptr noundef %2446, ptr noundef %2449, i32 noundef %2451) #11
  br label %2470

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

2470:                                             ; preds = %2453, %2436
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #11
  br label %2471

2471:                                             ; preds = %2470
  br label %2472

2472:                                             ; preds = %2471
  call void @exit(i32 noundef 1) #13
  unreachable

2473:                                             ; No predecessors!
  br label %2474

2474:                                             ; preds = %2473
  br label %2475

2475:                                             ; preds = %2474, %2415
  br label %2476

2476:                                             ; preds = %2475
  br label %2477

2477:                                             ; preds = %2476
  br label %2478

2478:                                             ; preds = %2477
  %2479 = load i32, ptr @test_count, align 4, !tbaa !5
  %2480 = add nsw i32 %2479, 1
  store i32 %2480, ptr @test_count, align 4, !tbaa !5
  %2481 = call i32 @s2n_io_pair_close_one_end(ptr noundef %63, i32 noundef 1)
  %2482 = icmp eq i32 %2481, -1
  br i1 %2482, label %2483, label %2536

2483:                                             ; preds = %2478
  br label %2484

2484:                                             ; preds = %2483
  br label %2485

2485:                                             ; preds = %2484
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #11
  %2486 = call ptr @__errno_location() #12
  %2487 = load i32, ptr %2486, align 4, !tbaa !5
  store i32 %2487, ptr %67, align 4, !tbaa !5
  %2488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2489 = call i32 @s2n_print_stacktrace(ptr noundef %2488)
  %2490 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2491 = trunc i8 %2490 to i1
  br i1 %2491, label %2492, label %2514

2492:                                             ; preds = %2485
  %2493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2494 = call i32 @fileno(ptr noundef %2493) #11
  %2495 = call i32 @isatty(i32 noundef %2494) #11
  %2496 = icmp ne i32 %2495, 0
  br i1 %2496, label %2497, label %2514

2497:                                             ; preds = %2492
  %2498 = load i32, ptr %67, align 4, !tbaa !5
  %2499 = call ptr @__errno_location() #12
  store i32 %2498, ptr %2499, align 4, !tbaa !5
  %2500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2501 = load i32, ptr @test_count, align 4, !tbaa !5
  %2502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2503 = load i32, ptr %2502, align 4, !tbaa !5
  %2504 = call ptr @s2n_strerror(i32 noundef %2503, ptr noundef @.str.4)
  %2505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2506 = load i32, ptr %2505, align 4, !tbaa !5
  %2507 = call ptr @s2n_strerror_debug(i32 noundef %2506, ptr noundef @.str.4)
  %2508 = call ptr @__errno_location() #12
  %2509 = load i32, ptr %2508, align 4, !tbaa !5
  %2510 = call ptr @strerror(i32 noundef %2509) #11
  %2511 = call ptr @__errno_location() #12
  %2512 = load i32, ptr %2511, align 4, !tbaa !5
  %2513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2500, ptr noundef @.str.2, i32 noundef %2501, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 142, ptr noundef %2504, ptr noundef %2507, ptr noundef %2510, i32 noundef %2512) #11
  br label %2531

2514:                                             ; preds = %2492, %2485
  %2515 = load i32, ptr %67, align 4, !tbaa !5
  %2516 = call ptr @__errno_location() #12
  store i32 %2515, ptr %2516, align 4, !tbaa !5
  %2517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2518 = load i32, ptr @test_count, align 4, !tbaa !5
  %2519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2520 = load i32, ptr %2519, align 4, !tbaa !5
  %2521 = call ptr @s2n_strerror(i32 noundef %2520, ptr noundef @.str.4)
  %2522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2523 = load i32, ptr %2522, align 4, !tbaa !5
  %2524 = call ptr @s2n_strerror_debug(i32 noundef %2523, ptr noundef @.str.4)
  %2525 = call ptr @__errno_location() #12
  %2526 = load i32, ptr %2525, align 4, !tbaa !5
  %2527 = call ptr @strerror(i32 noundef %2526) #11
  %2528 = call ptr @__errno_location() #12
  %2529 = load i32, ptr %2528, align 4, !tbaa !5
  %2530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2517, ptr noundef @.str.5, i32 noundef %2518, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 142, ptr noundef %2521, ptr noundef %2524, ptr noundef %2527, i32 noundef %2529) #11
  br label %2531

2531:                                             ; preds = %2514, %2497
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #11
  br label %2532

2532:                                             ; preds = %2531
  br label %2533

2533:                                             ; preds = %2532
  call void @exit(i32 noundef 1) #13
  unreachable

2534:                                             ; No predecessors!
  br label %2535

2535:                                             ; preds = %2534
  br label %2536

2536:                                             ; preds = %2535, %2478
  br label %2537

2537:                                             ; preds = %2536
  br label %2538

2538:                                             ; preds = %2537
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #11
  store i32 0, ptr %68, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #11
  store i64 0, ptr %69, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #11
  %2539 = load ptr, ptr %61, align 8, !tbaa !9
  %2540 = load i32, ptr %40, align 4, !tbaa !5
  %2541 = call i32 @s2n_sendfile(ptr noundef %2539, i32 noundef %2540, i64 noundef 0, i64 noundef 100, ptr noundef %69, ptr noundef %68)
  store i32 %2541, ptr %70, align 4, !tbaa !5
  br label %2542

2542:                                             ; preds = %2538
  br label %2543

2543:                                             ; preds = %2542
  br label %2544

2544:                                             ; preds = %2543
  %2545 = load i32, ptr @test_count, align 4, !tbaa !5
  %2546 = add nsw i32 %2545, 1
  store i32 %2546, ptr @test_count, align 4, !tbaa !5
  %2547 = load i32, ptr %70, align 4, !tbaa !5
  %2548 = icmp eq i32 %2547, -1
  br i1 %2548, label %2602, label %2549

2549:                                             ; preds = %2544
  br label %2550

2550:                                             ; preds = %2549
  br label %2551

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

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

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

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

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

2598:                                             ; preds = %2597
  br label %2599

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

2600:                                             ; No predecessors!
  br label %2601

2601:                                             ; preds = %2600
  br label %2602

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

2603:                                             ; preds = %2602
  br label %2604

2604:                                             ; preds = %2603
  br label %2605

2605:                                             ; preds = %2604
  %2606 = load i32, ptr @test_count, align 4, !tbaa !5
  %2607 = add nsw i32 %2606, 1
  store i32 %2607, ptr @test_count, align 4, !tbaa !5
  %2608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2609 = load i32, ptr %2608, align 4, !tbaa !5
  %2610 = icmp eq i32 %2609, 67108864
  br i1 %2610, label %2664, label %2611

2611:                                             ; preds = %2605
  br label %2612

2612:                                             ; preds = %2611
  br label %2613

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

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

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

2642:                                             ; preds = %2620, %2613
  %2643 = load i32, ptr %72, align 4, !tbaa !5
  %2644 = call ptr @__errno_location() #12
  store i32 %2643, ptr %2644, align 4, !tbaa !5
  %2645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2646 = load i32, ptr @test_count, align 4, !tbaa !5
  %2647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2648 = load i32, ptr %2647, align 4, !tbaa !5
  %2649 = call ptr @s2n_strerror(i32 noundef %2648, ptr noundef @.str.4)
  %2650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2651 = load i32, ptr %2650, align 4, !tbaa !5
  %2652 = call ptr @s2n_strerror_debug(i32 noundef %2651, ptr noundef @.str.4)
  %2653 = call ptr @__errno_location() #12
  %2654 = load i32, ptr %2653, align 4, !tbaa !5
  %2655 = call ptr @strerror(i32 noundef %2654) #11
  %2656 = call ptr @__errno_location() #12
  %2657 = load i32, ptr %2656, align 4, !tbaa !5
  %2658 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2645, ptr noundef @.str.5, i32 noundef %2646, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 148, ptr noundef %2649, ptr noundef %2652, ptr noundef %2655, i32 noundef %2657) #11
  br label %2659

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

2660:                                             ; preds = %2659
  br label %2661

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

2662:                                             ; No predecessors!
  br label %2663

2663:                                             ; preds = %2662
  br label %2664

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

2665:                                             ; preds = %2664
  br label %2666

2666:                                             ; preds = %2665
  br label %2667

2667:                                             ; preds = %2666
  %2668 = load i32, ptr @test_count, align 4, !tbaa !5
  %2669 = add nsw i32 %2668, 1
  store i32 %2669, ptr @test_count, align 4, !tbaa !5
  %2670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2671 = load i32, ptr %2670, align 4, !tbaa !5
  %2672 = call ptr @s2n_strerror_debug(i32 noundef %2671, ptr noundef @.str.4)
  %2673 = icmp eq ptr %2672, null
  br i1 %2673, label %2674, label %2727

2674:                                             ; preds = %2667
  br label %2675

2675:                                             ; preds = %2674
  br label %2676

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

2683:                                             ; preds = %2676
  %2684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2685 = call i32 @fileno(ptr noundef %2684) #11
  %2686 = call i32 @isatty(i32 noundef %2685) #11
  %2687 = icmp ne i32 %2686, 0
  br i1 %2687, label %2688, label %2705

2688:                                             ; preds = %2683
  %2689 = load i32, ptr %73, align 4, !tbaa !5
  %2690 = call ptr @__errno_location() #12
  store i32 %2689, ptr %2690, align 4, !tbaa !5
  %2691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2692 = load i32, ptr @test_count, align 4, !tbaa !5
  %2693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2694 = load i32, ptr %2693, align 4, !tbaa !5
  %2695 = call ptr @s2n_strerror(i32 noundef %2694, ptr noundef @.str.4)
  %2696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2697 = load i32, ptr %2696, align 4, !tbaa !5
  %2698 = call ptr @s2n_strerror_debug(i32 noundef %2697, ptr noundef @.str.4)
  %2699 = call ptr @__errno_location() #12
  %2700 = load i32, ptr %2699, align 4, !tbaa !5
  %2701 = call ptr @strerror(i32 noundef %2700) #11
  %2702 = call ptr @__errno_location() #12
  %2703 = load i32, ptr %2702, align 4, !tbaa !5
  %2704 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2691, ptr noundef @.str.2, i32 noundef %2692, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 148, ptr noundef %2695, ptr noundef %2698, ptr noundef %2701, i32 noundef %2703) #11
  br label %2722

2705:                                             ; preds = %2683, %2676
  %2706 = load i32, ptr %73, align 4, !tbaa !5
  %2707 = call ptr @__errno_location() #12
  store i32 %2706, ptr %2707, align 4, !tbaa !5
  %2708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2709 = load i32, ptr @test_count, align 4, !tbaa !5
  %2710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2711 = load i32, ptr %2710, align 4, !tbaa !5
  %2712 = call ptr @s2n_strerror(i32 noundef %2711, ptr noundef @.str.4)
  %2713 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2714 = load i32, ptr %2713, align 4, !tbaa !5
  %2715 = call ptr @s2n_strerror_debug(i32 noundef %2714, ptr noundef @.str.4)
  %2716 = call ptr @__errno_location() #12
  %2717 = load i32, ptr %2716, align 4, !tbaa !5
  %2718 = call ptr @strerror(i32 noundef %2717) #11
  %2719 = call ptr @__errno_location() #12
  %2720 = load i32, ptr %2719, align 4, !tbaa !5
  %2721 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2708, ptr noundef @.str.5, i32 noundef %2709, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 148, ptr noundef %2712, ptr noundef %2715, ptr noundef %2718, i32 noundef %2720) #11
  br label %2722

2722:                                             ; preds = %2705, %2688
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #11
  br label %2723

2723:                                             ; preds = %2722
  br label %2724

2724:                                             ; preds = %2723
  call void @exit(i32 noundef 1) #13
  unreachable

2725:                                             ; No predecessors!
  br label %2726

2726:                                             ; preds = %2725
  br label %2727

2727:                                             ; preds = %2726, %2667
  br label %2728

2728:                                             ; preds = %2727
  br label %2729

2729:                                             ; preds = %2728
  br label %2730

2730:                                             ; preds = %2729
  br label %2731

2731:                                             ; preds = %2730
  br label %2732

2732:                                             ; preds = %2731
  %2733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2733, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2734 = call ptr @__errno_location() #12
  store i32 0, ptr %2734, align 4, !tbaa !5
  br label %2735

2735:                                             ; preds = %2732
  br label %2736

2736:                                             ; preds = %2735
  br label %2737

2737:                                             ; preds = %2736
  br label %2738

2738:                                             ; preds = %2737
  br label %2739

2739:                                             ; preds = %2738
  %2740 = load i32, ptr @test_count, align 4, !tbaa !5
  %2741 = add nsw i32 %2740, 1
  store i32 %2741, ptr @test_count, align 4, !tbaa !5
  %2742 = load i64, ptr %69, align 8, !tbaa !15
  %2743 = icmp eq i64 %2742, 0
  br i1 %2743, label %2797, label %2744

2744:                                             ; preds = %2739
  br label %2745

2745:                                             ; preds = %2744
  br label %2746

2746:                                             ; preds = %2745
  call void @llvm.lifetime.start.p0(i64 4, ptr %74) #11
  %2747 = call ptr @__errno_location() #12
  %2748 = load i32, ptr %2747, align 4, !tbaa !5
  store i32 %2748, ptr %74, align 4, !tbaa !5
  %2749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2750 = call i32 @s2n_print_stacktrace(ptr noundef %2749)
  %2751 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2752 = trunc i8 %2751 to i1
  br i1 %2752, label %2753, label %2775

2753:                                             ; preds = %2746
  %2754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2755 = call i32 @fileno(ptr noundef %2754) #11
  %2756 = call i32 @isatty(i32 noundef %2755) #11
  %2757 = icmp ne i32 %2756, 0
  br i1 %2757, label %2758, label %2775

2758:                                             ; preds = %2753
  %2759 = load i32, ptr %74, align 4, !tbaa !5
  %2760 = call ptr @__errno_location() #12
  store i32 %2759, ptr %2760, align 4, !tbaa !5
  %2761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2762 = load i32, ptr @test_count, align 4, !tbaa !5
  %2763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2764 = load i32, ptr %2763, align 4, !tbaa !5
  %2765 = call ptr @s2n_strerror(i32 noundef %2764, ptr noundef @.str.4)
  %2766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2767 = load i32, ptr %2766, align 4, !tbaa !5
  %2768 = call ptr @s2n_strerror_debug(i32 noundef %2767, ptr noundef @.str.4)
  %2769 = call ptr @__errno_location() #12
  %2770 = load i32, ptr %2769, align 4, !tbaa !5
  %2771 = call ptr @strerror(i32 noundef %2770) #11
  %2772 = call ptr @__errno_location() #12
  %2773 = load i32, ptr %2772, align 4, !tbaa !5
  %2774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2761, ptr noundef @.str.2, i32 noundef %2762, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 149, ptr noundef %2765, ptr noundef %2768, ptr noundef %2771, i32 noundef %2773) #11
  br label %2792

2775:                                             ; preds = %2753, %2746
  %2776 = load i32, ptr %74, align 4, !tbaa !5
  %2777 = call ptr @__errno_location() #12
  store i32 %2776, ptr %2777, align 4, !tbaa !5
  %2778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2779 = load i32, ptr @test_count, align 4, !tbaa !5
  %2780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2781 = load i32, ptr %2780, align 4, !tbaa !5
  %2782 = call ptr @s2n_strerror(i32 noundef %2781, ptr noundef @.str.4)
  %2783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2784 = load i32, ptr %2783, align 4, !tbaa !5
  %2785 = call ptr @s2n_strerror_debug(i32 noundef %2784, ptr noundef @.str.4)
  %2786 = call ptr @__errno_location() #12
  %2787 = load i32, ptr %2786, align 4, !tbaa !5
  %2788 = call ptr @strerror(i32 noundef %2787) #11
  %2789 = call ptr @__errno_location() #12
  %2790 = load i32, ptr %2789, align 4, !tbaa !5
  %2791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2778, ptr noundef @.str.5, i32 noundef %2779, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 149, ptr noundef %2782, ptr noundef %2785, ptr noundef %2788, i32 noundef %2790) #11
  br label %2792

2792:                                             ; preds = %2775, %2758
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #11
  br label %2793

2793:                                             ; preds = %2792
  br label %2794

2794:                                             ; preds = %2793
  call void @exit(i32 noundef 1) #13
  unreachable

2795:                                             ; No predecessors!
  br label %2796

2796:                                             ; preds = %2795
  br label %2797

2797:                                             ; preds = %2796, %2739
  br label %2798

2798:                                             ; preds = %2797
  br label %2799

2799:                                             ; preds = %2798
  br label %2800

2800:                                             ; preds = %2799
  %2801 = load i32, ptr @test_count, align 4, !tbaa !5
  %2802 = add nsw i32 %2801, 1
  store i32 %2802, ptr @test_count, align 4, !tbaa !5
  %2803 = load i32, ptr %68, align 4, !tbaa !5
  %2804 = icmp eq i32 %2803, 2
  br i1 %2804, label %2858, label %2805

2805:                                             ; preds = %2800
  br label %2806

2806:                                             ; preds = %2805
  br label %2807

2807:                                             ; preds = %2806
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #11
  %2808 = call ptr @__errno_location() #12
  %2809 = load i32, ptr %2808, align 4, !tbaa !5
  store i32 %2809, ptr %75, align 4, !tbaa !5
  %2810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2811 = call i32 @s2n_print_stacktrace(ptr noundef %2810)
  %2812 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2813 = trunc i8 %2812 to i1
  br i1 %2813, label %2814, label %2836

2814:                                             ; preds = %2807
  %2815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2816 = call i32 @fileno(ptr noundef %2815) #11
  %2817 = call i32 @isatty(i32 noundef %2816) #11
  %2818 = icmp ne i32 %2817, 0
  br i1 %2818, label %2819, label %2836

2819:                                             ; preds = %2814
  %2820 = load i32, ptr %75, align 4, !tbaa !5
  %2821 = call ptr @__errno_location() #12
  store i32 %2820, ptr %2821, align 4, !tbaa !5
  %2822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2823 = load i32, ptr @test_count, align 4, !tbaa !5
  %2824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2825 = load i32, ptr %2824, align 4, !tbaa !5
  %2826 = call ptr @s2n_strerror(i32 noundef %2825, ptr noundef @.str.4)
  %2827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2828 = load i32, ptr %2827, align 4, !tbaa !5
  %2829 = call ptr @s2n_strerror_debug(i32 noundef %2828, ptr noundef @.str.4)
  %2830 = call ptr @__errno_location() #12
  %2831 = load i32, ptr %2830, align 4, !tbaa !5
  %2832 = call ptr @strerror(i32 noundef %2831) #11
  %2833 = call ptr @__errno_location() #12
  %2834 = load i32, ptr %2833, align 4, !tbaa !5
  %2835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2822, ptr noundef @.str.2, i32 noundef %2823, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 150, ptr noundef %2826, ptr noundef %2829, ptr noundef %2832, i32 noundef %2834) #11
  br label %2853

2836:                                             ; preds = %2814, %2807
  %2837 = load i32, ptr %75, align 4, !tbaa !5
  %2838 = call ptr @__errno_location() #12
  store i32 %2837, ptr %2838, align 4, !tbaa !5
  %2839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2840 = load i32, ptr @test_count, align 4, !tbaa !5
  %2841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2842 = load i32, ptr %2841, align 4, !tbaa !5
  %2843 = call ptr @s2n_strerror(i32 noundef %2842, ptr noundef @.str.4)
  %2844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2845 = load i32, ptr %2844, align 4, !tbaa !5
  %2846 = call ptr @s2n_strerror_debug(i32 noundef %2845, ptr noundef @.str.4)
  %2847 = call ptr @__errno_location() #12
  %2848 = load i32, ptr %2847, align 4, !tbaa !5
  %2849 = call ptr @strerror(i32 noundef %2848) #11
  %2850 = call ptr @__errno_location() #12
  %2851 = load i32, ptr %2850, align 4, !tbaa !5
  %2852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2839, ptr noundef @.str.5, i32 noundef %2840, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 150, ptr noundef %2843, ptr noundef %2846, ptr noundef %2849, i32 noundef %2851) #11
  br label %2853

2853:                                             ; preds = %2836, %2819
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #11
  br label %2854

2854:                                             ; preds = %2853
  br label %2855

2855:                                             ; preds = %2854
  call void @exit(i32 noundef 1) #13
  unreachable

2856:                                             ; No predecessors!
  br label %2857

2857:                                             ; preds = %2856
  br label %2858

2858:                                             ; preds = %2857, %2800
  br label %2859

2859:                                             ; preds = %2858
  br label %2860

2860:                                             ; preds = %2859
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #11
  %2861 = call i32 @s2n_io_pair_close(ptr noundef %63)
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #11
  %2862 = call i32 @s2n_connection_ptr_free(ptr noundef %61)
  %2863 = getelementptr inbounds %struct.s2n_result, ptr %76, i32 0, i32 0
  store i32 %2862, ptr %2863, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %77) #11
  %2864 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %2864, ptr %77, align 8, !tbaa !9
  br label %2865

2865:                                             ; preds = %2860
  %2866 = load i32, ptr @test_count, align 4, !tbaa !5
  %2867 = add nsw i32 %2866, 1
  store i32 %2867, ptr @test_count, align 4, !tbaa !5
  %2868 = load ptr, ptr %77, align 8, !tbaa !9
  %2869 = icmp eq ptr %2868, null
  br i1 %2869, label %2870, label %2923

2870:                                             ; preds = %2865
  br label %2871

2871:                                             ; preds = %2870
  br label %2872

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

2879:                                             ; preds = %2872
  %2880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2881 = call i32 @fileno(ptr noundef %2880) #11
  %2882 = call i32 @isatty(i32 noundef %2881) #11
  %2883 = icmp ne i32 %2882, 0
  br i1 %2883, label %2884, label %2901

2884:                                             ; preds = %2879
  %2885 = load i32, ptr %78, align 4, !tbaa !5
  %2886 = call ptr @__errno_location() #12
  store i32 %2885, ptr %2886, align 4, !tbaa !5
  %2887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2888 = load i32, ptr @test_count, align 4, !tbaa !5
  %2889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2890 = load i32, ptr %2889, align 4, !tbaa !5
  %2891 = call ptr @s2n_strerror(i32 noundef %2890, ptr noundef @.str.4)
  %2892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2893 = load i32, ptr %2892, align 4, !tbaa !5
  %2894 = call ptr @s2n_strerror_debug(i32 noundef %2893, ptr noundef @.str.4)
  %2895 = call ptr @__errno_location() #12
  %2896 = load i32, ptr %2895, align 4, !tbaa !5
  %2897 = call ptr @strerror(i32 noundef %2896) #11
  %2898 = call ptr @__errno_location() #12
  %2899 = load i32, ptr %2898, align 4, !tbaa !5
  %2900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2887, ptr noundef @.str.2, i32 noundef %2888, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 157, ptr noundef %2891, ptr noundef %2894, ptr noundef %2897, i32 noundef %2899) #11
  br label %2918

2901:                                             ; preds = %2879, %2872
  %2902 = load i32, ptr %78, align 4, !tbaa !5
  %2903 = call ptr @__errno_location() #12
  store i32 %2902, ptr %2903, align 4, !tbaa !5
  %2904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2905 = load i32, ptr @test_count, align 4, !tbaa !5
  %2906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2907 = load i32, ptr %2906, align 4, !tbaa !5
  %2908 = call ptr @s2n_strerror(i32 noundef %2907, ptr noundef @.str.4)
  %2909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2910 = load i32, ptr %2909, align 4, !tbaa !5
  %2911 = call ptr @s2n_strerror_debug(i32 noundef %2910, ptr noundef @.str.4)
  %2912 = call ptr @__errno_location() #12
  %2913 = load i32, ptr %2912, align 4, !tbaa !5
  %2914 = call ptr @strerror(i32 noundef %2913) #11
  %2915 = call ptr @__errno_location() #12
  %2916 = load i32, ptr %2915, align 4, !tbaa !5
  %2917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2904, ptr noundef @.str.5, i32 noundef %2905, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 157, ptr noundef %2908, ptr noundef %2911, ptr noundef %2914, i32 noundef %2916) #11
  br label %2918

2918:                                             ; preds = %2901, %2884
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #11
  br label %2919

2919:                                             ; preds = %2918
  br label %2920

2920:                                             ; preds = %2919
  call void @exit(i32 noundef 1) #13
  unreachable

2921:                                             ; No predecessors!
  br label %2922

2922:                                             ; preds = %2921
  br label %2923

2923:                                             ; preds = %2922, %2865
  br label %2924

2924:                                             ; preds = %2923
  br label %2925

2925:                                             ; preds = %2924
  %2926 = load ptr, ptr %77, align 8, !tbaa !9
  %2927 = load i32, ptr %2926, align 8
  %2928 = and i32 %2927, -262145
  %2929 = or i32 %2928, 262144
  store i32 %2929, ptr %2926, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %79) #11
  call void @llvm.memset.p0.i64(ptr align 4 %79, i8 0, i64 8, i1 false)
  br label %2930

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

2935:                                             ; preds = %2930
  br label %2936

2936:                                             ; preds = %2935
  br label %2937

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

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

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

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

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

2984:                                             ; preds = %2983
  br label %2985

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

2986:                                             ; No predecessors!
  br label %2987

2987:                                             ; preds = %2986
  br label %2988

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

2989:                                             ; preds = %2988
  br label %2990

2990:                                             ; preds = %2989
  call void @llvm.lifetime.start.p0(i64 4, ptr %81) #11
  %2991 = getelementptr inbounds %struct.s2n_test_io_pair, ptr %79, i32 0, i32 1
  %2992 = load i32, ptr %2991, align 4, !tbaa !17
  store i32 %2992, ptr %81, align 4, !tbaa !5
  br label %2993

2993:                                             ; preds = %2990
  %2994 = load i32, ptr @test_count, align 4, !tbaa !5
  %2995 = add nsw i32 %2994, 1
  store i32 %2995, ptr @test_count, align 4, !tbaa !5
  %2996 = load ptr, ptr %77, align 8, !tbaa !9
  %2997 = load i32, ptr %81, align 4, !tbaa !5
  %2998 = call i32 @s2n_connection_set_write_fd(ptr noundef %2996, i32 noundef %2997)
  %2999 = icmp eq i32 %2998, -1
  br i1 %2999, label %3000, label %3053

3000:                                             ; preds = %2993
  br label %3001

3001:                                             ; preds = %3000
  br label %3002

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

3009:                                             ; preds = %3002
  %3010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3011 = call i32 @fileno(ptr noundef %3010) #11
  %3012 = call i32 @isatty(i32 noundef %3011) #11
  %3013 = icmp ne i32 %3012, 0
  br i1 %3013, label %3014, label %3031

3014:                                             ; preds = %3009
  %3015 = load i32, ptr %82, align 4, !tbaa !5
  %3016 = call ptr @__errno_location() #12
  store i32 %3015, ptr %3016, align 4, !tbaa !5
  %3017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3018 = load i32, ptr @test_count, align 4, !tbaa !5
  %3019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3020 = load i32, ptr %3019, align 4, !tbaa !5
  %3021 = call ptr @s2n_strerror(i32 noundef %3020, ptr noundef @.str.4)
  %3022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3023 = load i32, ptr %3022, align 4, !tbaa !5
  %3024 = call ptr @s2n_strerror_debug(i32 noundef %3023, ptr noundef @.str.4)
  %3025 = call ptr @__errno_location() #12
  %3026 = load i32, ptr %3025, align 4, !tbaa !5
  %3027 = call ptr @strerror(i32 noundef %3026) #11
  %3028 = call ptr @__errno_location() #12
  %3029 = load i32, ptr %3028, align 4, !tbaa !5
  %3030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3017, ptr noundef @.str.2, i32 noundef %3018, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 163, ptr noundef %3021, ptr noundef %3024, ptr noundef %3027, i32 noundef %3029) #11
  br label %3048

3031:                                             ; preds = %3009, %3002
  %3032 = load i32, ptr %82, align 4, !tbaa !5
  %3033 = call ptr @__errno_location() #12
  store i32 %3032, ptr %3033, align 4, !tbaa !5
  %3034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3035 = load i32, ptr @test_count, align 4, !tbaa !5
  %3036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3037 = load i32, ptr %3036, align 4, !tbaa !5
  %3038 = call ptr @s2n_strerror(i32 noundef %3037, ptr noundef @.str.4)
  %3039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3040 = load i32, ptr %3039, align 4, !tbaa !5
  %3041 = call ptr @s2n_strerror_debug(i32 noundef %3040, ptr noundef @.str.4)
  %3042 = call ptr @__errno_location() #12
  %3043 = load i32, ptr %3042, align 4, !tbaa !5
  %3044 = call ptr @strerror(i32 noundef %3043) #11
  %3045 = call ptr @__errno_location() #12
  %3046 = load i32, ptr %3045, align 4, !tbaa !5
  %3047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3034, ptr noundef @.str.5, i32 noundef %3035, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 163, ptr noundef %3038, ptr noundef %3041, ptr noundef %3044, i32 noundef %3046) #11
  br label %3048

3048:                                             ; preds = %3031, %3014
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #11
  br label %3049

3049:                                             ; preds = %3048
  br label %3050

3050:                                             ; preds = %3049
  call void @exit(i32 noundef 1) #13
  unreachable

3051:                                             ; No predecessors!
  br label %3052

3052:                                             ; preds = %3051
  br label %3053

3053:                                             ; preds = %3052, %2993
  br label %3054

3054:                                             ; preds = %3053
  br label %3055

3055:                                             ; preds = %3054
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #11
  store i32 0, ptr %83, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #11
  store i32 4, ptr %84, align 4, !tbaa !5
  br label %3056

3056:                                             ; preds = %3055
  %3057 = load i32, ptr @test_count, align 4, !tbaa !5
  %3058 = add nsw i32 %3057, 1
  store i32 %3058, ptr @test_count, align 4, !tbaa !5
  %3059 = load i32, ptr %81, align 4, !tbaa !5
  %3060 = call i32 @getsockopt(i32 noundef %3059, i32 noundef 1, i32 noundef 7, ptr noundef %83, ptr noundef %84) #11
  %3061 = icmp eq i32 %3060, 0
  br i1 %3061, label %3115, label %3062

3062:                                             ; preds = %3056
  br label %3063

3063:                                             ; preds = %3062
  br label %3064

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

3071:                                             ; preds = %3064
  %3072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3073 = call i32 @fileno(ptr noundef %3072) #11
  %3074 = call i32 @isatty(i32 noundef %3073) #11
  %3075 = icmp ne i32 %3074, 0
  br i1 %3075, label %3076, label %3093

3076:                                             ; preds = %3071
  %3077 = load i32, ptr %85, align 4, !tbaa !5
  %3078 = call ptr @__errno_location() #12
  store i32 %3077, ptr %3078, align 4, !tbaa !5
  %3079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3080 = load i32, ptr @test_count, align 4, !tbaa !5
  %3081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3082 = load i32, ptr %3081, align 4, !tbaa !5
  %3083 = call ptr @s2n_strerror(i32 noundef %3082, ptr noundef @.str.4)
  %3084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3085 = load i32, ptr %3084, align 4, !tbaa !5
  %3086 = call ptr @s2n_strerror_debug(i32 noundef %3085, ptr noundef @.str.4)
  %3087 = call ptr @__errno_location() #12
  %3088 = load i32, ptr %3087, align 4, !tbaa !5
  %3089 = call ptr @strerror(i32 noundef %3088) #11
  %3090 = call ptr @__errno_location() #12
  %3091 = load i32, ptr %3090, align 4, !tbaa !5
  %3092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3079, ptr noundef @.str.2, i32 noundef %3080, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 168, ptr noundef %3083, ptr noundef %3086, ptr noundef %3089, i32 noundef %3091) #11
  br label %3110

3093:                                             ; preds = %3071, %3064
  %3094 = load i32, ptr %85, align 4, !tbaa !5
  %3095 = call ptr @__errno_location() #12
  store i32 %3094, ptr %3095, align 4, !tbaa !5
  %3096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3097 = load i32, ptr @test_count, align 4, !tbaa !5
  %3098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3099 = load i32, ptr %3098, align 4, !tbaa !5
  %3100 = call ptr @s2n_strerror(i32 noundef %3099, ptr noundef @.str.4)
  %3101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3102 = load i32, ptr %3101, align 4, !tbaa !5
  %3103 = call ptr @s2n_strerror_debug(i32 noundef %3102, ptr noundef @.str.4)
  %3104 = call ptr @__errno_location() #12
  %3105 = load i32, ptr %3104, align 4, !tbaa !5
  %3106 = call ptr @strerror(i32 noundef %3105) #11
  %3107 = call ptr @__errno_location() #12
  %3108 = load i32, ptr %3107, align 4, !tbaa !5
  %3109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3096, ptr noundef @.str.5, i32 noundef %3097, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 168, ptr noundef %3100, ptr noundef %3103, ptr noundef %3106, i32 noundef %3108) #11
  br label %3110

3110:                                             ; preds = %3093, %3076
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #11
  br label %3111

3111:                                             ; preds = %3110
  br label %3112

3112:                                             ; preds = %3111
  call void @exit(i32 noundef 1) #13
  unreachable

3113:                                             ; No predecessors!
  br label %3114

3114:                                             ; preds = %3113
  br label %3115

3115:                                             ; preds = %3114, %3056
  br label %3116

3116:                                             ; preds = %3115
  br label %3117

3117:                                             ; preds = %3116
  br label %3118

3118:                                             ; preds = %3117
  %3119 = load i32, ptr @test_count, align 4, !tbaa !5
  %3120 = add nsw i32 %3119, 1
  store i32 %3120, ptr @test_count, align 4, !tbaa !5
  %3121 = load i32, ptr %83, align 4, !tbaa !5
  %3122 = icmp sgt i32 %3121, 0
  br i1 %3122, label %3176, label %3123

3123:                                             ; preds = %3118
  br label %3124

3124:                                             ; preds = %3123
  br label %3125

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

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

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

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

3171:                                             ; preds = %3154, %3137
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #11
  br label %3172

3172:                                             ; preds = %3171
  br label %3173

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

3174:                                             ; No predecessors!
  br label %3175

3175:                                             ; preds = %3174
  br label %3176

3176:                                             ; preds = %3175, %3118
  br label %3177

3177:                                             ; preds = %3176
  br label %3178

3178:                                             ; preds = %3177
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #11
  store i32 0, ptr %87, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %88) #11
  store i64 0, ptr %88, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %89) #11
  store i64 0, ptr %89, align 8, !tbaa !15
  br label %3179

3179:                                             ; preds = %3758, %3178
  br label %3180

3180:                                             ; preds = %3179
  call void @llvm.lifetime.start.p0(i64 4, ptr %90) #11
  %3181 = load ptr, ptr %77, align 8, !tbaa !9
  %3182 = load i32, ptr %40, align 4, !tbaa !5
  %3183 = call i32 @s2n_sendfile(ptr noundef %3181, i32 noundef %3182, i64 noundef 0, i64 noundef 100, ptr noundef %88, ptr noundef %87)
  store i32 %3183, ptr %90, align 4, !tbaa !5
  %3184 = load i32, ptr %90, align 4, !tbaa !5
  %3185 = icmp slt i32 %3184, 0
  br i1 %3185, label %3186, label %3506

3186:                                             ; preds = %3180
  br label %3187

3187:                                             ; preds = %3186
  br label %3188

3188:                                             ; preds = %3187
  br label %3189

3189:                                             ; preds = %3188
  %3190 = load i32, ptr @test_count, align 4, !tbaa !5
  %3191 = add nsw i32 %3190, 1
  store i32 %3191, ptr @test_count, align 4, !tbaa !5
  %3192 = load i32, ptr %90, align 4, !tbaa !5
  %3193 = icmp eq i32 %3192, -1
  br i1 %3193, label %3247, label %3194

3194:                                             ; preds = %3189
  br label %3195

3195:                                             ; preds = %3194
  br label %3196

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

3203:                                             ; preds = %3196
  %3204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3205 = call i32 @fileno(ptr noundef %3204) #11
  %3206 = call i32 @isatty(i32 noundef %3205) #11
  %3207 = icmp ne i32 %3206, 0
  br i1 %3207, label %3208, label %3225

3208:                                             ; preds = %3203
  %3209 = load i32, ptr %91, align 4, !tbaa !5
  %3210 = call ptr @__errno_location() #12
  store i32 %3209, ptr %3210, align 4, !tbaa !5
  %3211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3212 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3214, ptr noundef @.str.4)
  %3216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3217 = load i32, ptr %3216, align 4, !tbaa !5
  %3218 = call ptr @s2n_strerror_debug(i32 noundef %3217, ptr noundef @.str.4)
  %3219 = call ptr @__errno_location() #12
  %3220 = load i32, ptr %3219, align 4, !tbaa !5
  %3221 = call ptr @strerror(i32 noundef %3220) #11
  %3222 = call ptr @__errno_location() #12
  %3223 = load i32, ptr %3222, align 4, !tbaa !5
  %3224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3211, ptr noundef @.str.2, i32 noundef %3212, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 178, ptr noundef %3215, ptr noundef %3218, ptr noundef %3221, i32 noundef %3223) #11
  br label %3242

3225:                                             ; preds = %3203, %3196
  %3226 = load i32, ptr %91, align 4, !tbaa !5
  %3227 = call ptr @__errno_location() #12
  store i32 %3226, ptr %3227, align 4, !tbaa !5
  %3228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3229 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3231, ptr noundef @.str.4)
  %3233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3234 = load i32, ptr %3233, align 4, !tbaa !5
  %3235 = call ptr @s2n_strerror_debug(i32 noundef %3234, ptr noundef @.str.4)
  %3236 = call ptr @__errno_location() #12
  %3237 = load i32, ptr %3236, align 4, !tbaa !5
  %3238 = call ptr @strerror(i32 noundef %3237) #11
  %3239 = call ptr @__errno_location() #12
  %3240 = load i32, ptr %3239, align 4, !tbaa !5
  %3241 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3228, ptr noundef @.str.5, i32 noundef %3229, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 178, ptr noundef %3232, ptr noundef %3235, ptr noundef %3238, i32 noundef %3240) #11
  br label %3242

3242:                                             ; preds = %3225, %3208
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #11
  br label %3243

3243:                                             ; preds = %3242
  br label %3244

3244:                                             ; preds = %3243
  call void @exit(i32 noundef 1) #13
  unreachable

3245:                                             ; No predecessors!
  br label %3246

3246:                                             ; preds = %3245
  br label %3247

3247:                                             ; preds = %3246, %3189
  br label %3248

3248:                                             ; preds = %3247
  br label %3249

3249:                                             ; preds = %3248
  br label %3250

3250:                                             ; preds = %3249
  %3251 = load i32, ptr @test_count, align 4, !tbaa !5
  %3252 = add nsw i32 %3251, 1
  store i32 %3252, ptr @test_count, align 4, !tbaa !5
  %3253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3254 = load i32, ptr %3253, align 4, !tbaa !5
  %3255 = icmp eq i32 %3254, 201326592
  br i1 %3255, label %3309, label %3256

3256:                                             ; preds = %3250
  br label %3257

3257:                                             ; preds = %3256
  br label %3258

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

3265:                                             ; preds = %3258
  %3266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3267 = call i32 @fileno(ptr noundef %3266) #11
  %3268 = call i32 @isatty(i32 noundef %3267) #11
  %3269 = icmp ne i32 %3268, 0
  br i1 %3269, label %3270, label %3287

3270:                                             ; preds = %3265
  %3271 = load i32, ptr %92, align 4, !tbaa !5
  %3272 = call ptr @__errno_location() #12
  store i32 %3271, ptr %3272, align 4, !tbaa !5
  %3273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3274 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3276, ptr noundef @.str.4)
  %3278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3279 = load i32, ptr %3278, align 4, !tbaa !5
  %3280 = call ptr @s2n_strerror_debug(i32 noundef %3279, ptr noundef @.str.4)
  %3281 = call ptr @__errno_location() #12
  %3282 = load i32, ptr %3281, align 4, !tbaa !5
  %3283 = call ptr @strerror(i32 noundef %3282) #11
  %3284 = call ptr @__errno_location() #12
  %3285 = load i32, ptr %3284, align 4, !tbaa !5
  %3286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3273, ptr noundef @.str.2, i32 noundef %3274, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 178, ptr noundef %3277, ptr noundef %3280, ptr noundef %3283, i32 noundef %3285) #11
  br label %3304

3287:                                             ; preds = %3265, %3258
  %3288 = load i32, ptr %92, align 4, !tbaa !5
  %3289 = call ptr @__errno_location() #12
  store i32 %3288, ptr %3289, align 4, !tbaa !5
  %3290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3291 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3293, ptr noundef @.str.4)
  %3295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3296 = load i32, ptr %3295, align 4, !tbaa !5
  %3297 = call ptr @s2n_strerror_debug(i32 noundef %3296, ptr noundef @.str.4)
  %3298 = call ptr @__errno_location() #12
  %3299 = load i32, ptr %3298, align 4, !tbaa !5
  %3300 = call ptr @strerror(i32 noundef %3299) #11
  %3301 = call ptr @__errno_location() #12
  %3302 = load i32, ptr %3301, align 4, !tbaa !5
  %3303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3290, ptr noundef @.str.5, i32 noundef %3291, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 178, ptr noundef %3294, ptr noundef %3297, ptr noundef %3300, i32 noundef %3302) #11
  br label %3304

3304:                                             ; preds = %3287, %3270
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #11
  br label %3305

3305:                                             ; preds = %3304
  br label %3306

3306:                                             ; preds = %3305
  call void @exit(i32 noundef 1) #13
  unreachable

3307:                                             ; No predecessors!
  br label %3308

3308:                                             ; preds = %3307
  br label %3309

3309:                                             ; preds = %3308, %3250
  br label %3310

3310:                                             ; preds = %3309
  br label %3311

3311:                                             ; preds = %3310
  br label %3312

3312:                                             ; preds = %3311
  %3313 = load i32, ptr @test_count, align 4, !tbaa !5
  %3314 = add nsw i32 %3313, 1
  store i32 %3314, ptr @test_count, align 4, !tbaa !5
  %3315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3316 = load i32, ptr %3315, align 4, !tbaa !5
  %3317 = call ptr @s2n_strerror_debug(i32 noundef %3316, ptr noundef @.str.4)
  %3318 = icmp eq ptr %3317, null
  br i1 %3318, label %3319, label %3372

3319:                                             ; preds = %3312
  br label %3320

3320:                                             ; preds = %3319
  br label %3321

3321:                                             ; preds = %3320
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #11
  %3322 = call ptr @__errno_location() #12
  %3323 = load i32, ptr %3322, align 4, !tbaa !5
  store i32 %3323, ptr %93, align 4, !tbaa !5
  %3324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3325 = call i32 @s2n_print_stacktrace(ptr noundef %3324)
  %3326 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3327 = trunc i8 %3326 to i1
  br i1 %3327, label %3328, label %3350

3328:                                             ; preds = %3321
  %3329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3330 = call i32 @fileno(ptr noundef %3329) #11
  %3331 = call i32 @isatty(i32 noundef %3330) #11
  %3332 = icmp ne i32 %3331, 0
  br i1 %3332, label %3333, label %3350

3333:                                             ; preds = %3328
  %3334 = load i32, ptr %93, align 4, !tbaa !5
  %3335 = call ptr @__errno_location() #12
  store i32 %3334, ptr %3335, align 4, !tbaa !5
  %3336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3337 = load i32, ptr @test_count, align 4, !tbaa !5
  %3338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3339 = load i32, ptr %3338, align 4, !tbaa !5
  %3340 = call ptr @s2n_strerror(i32 noundef %3339, ptr noundef @.str.4)
  %3341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3342 = load i32, ptr %3341, align 4, !tbaa !5
  %3343 = call ptr @s2n_strerror_debug(i32 noundef %3342, ptr noundef @.str.4)
  %3344 = call ptr @__errno_location() #12
  %3345 = load i32, ptr %3344, align 4, !tbaa !5
  %3346 = call ptr @strerror(i32 noundef %3345) #11
  %3347 = call ptr @__errno_location() #12
  %3348 = load i32, ptr %3347, align 4, !tbaa !5
  %3349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3336, ptr noundef @.str.2, i32 noundef %3337, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 178, ptr noundef %3340, ptr noundef %3343, ptr noundef %3346, i32 noundef %3348) #11
  br label %3367

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

3367:                                             ; preds = %3350, %3333
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #11
  br label %3368

3368:                                             ; preds = %3367
  br label %3369

3369:                                             ; preds = %3368
  call void @exit(i32 noundef 1) #13
  unreachable

3370:                                             ; No predecessors!
  br label %3371

3371:                                             ; preds = %3370
  br label %3372

3372:                                             ; preds = %3371, %3312
  br label %3373

3373:                                             ; preds = %3372
  br label %3374

3374:                                             ; preds = %3373
  br label %3375

3375:                                             ; preds = %3374
  br label %3376

3376:                                             ; preds = %3375
  br label %3377

3377:                                             ; preds = %3376
  %3378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3378, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3379 = call ptr @__errno_location() #12
  store i32 0, ptr %3379, align 4, !tbaa !5
  br label %3380

3380:                                             ; preds = %3377
  br label %3381

3381:                                             ; preds = %3380
  br label %3382

3382:                                             ; preds = %3381
  br label %3383

3383:                                             ; preds = %3382
  br label %3384

3384:                                             ; preds = %3383
  %3385 = load i32, ptr @test_count, align 4, !tbaa !5
  %3386 = add nsw i32 %3385, 1
  store i32 %3386, ptr @test_count, align 4, !tbaa !5
  %3387 = load i64, ptr %88, align 8, !tbaa !15
  %3388 = icmp eq i64 %3387, 0
  br i1 %3388, label %3442, label %3389

3389:                                             ; preds = %3384
  br label %3390

3390:                                             ; preds = %3389
  br label %3391

3391:                                             ; preds = %3390
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #11
  %3392 = call ptr @__errno_location() #12
  %3393 = load i32, ptr %3392, align 4, !tbaa !5
  store i32 %3393, ptr %94, align 4, !tbaa !5
  %3394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3395 = call i32 @s2n_print_stacktrace(ptr noundef %3394)
  %3396 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3397 = trunc i8 %3396 to i1
  br i1 %3397, label %3398, label %3420

3398:                                             ; preds = %3391
  %3399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3400 = call i32 @fileno(ptr noundef %3399) #11
  %3401 = call i32 @isatty(i32 noundef %3400) #11
  %3402 = icmp ne i32 %3401, 0
  br i1 %3402, label %3403, label %3420

3403:                                             ; preds = %3398
  %3404 = load i32, ptr %94, align 4, !tbaa !5
  %3405 = call ptr @__errno_location() #12
  store i32 %3404, ptr %3405, align 4, !tbaa !5
  %3406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3407 = load i32, ptr @test_count, align 4, !tbaa !5
  %3408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3409 = load i32, ptr %3408, align 4, !tbaa !5
  %3410 = call ptr @s2n_strerror(i32 noundef %3409, ptr noundef @.str.4)
  %3411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3412 = load i32, ptr %3411, align 4, !tbaa !5
  %3413 = call ptr @s2n_strerror_debug(i32 noundef %3412, ptr noundef @.str.4)
  %3414 = call ptr @__errno_location() #12
  %3415 = load i32, ptr %3414, align 4, !tbaa !5
  %3416 = call ptr @strerror(i32 noundef %3415) #11
  %3417 = call ptr @__errno_location() #12
  %3418 = load i32, ptr %3417, align 4, !tbaa !5
  %3419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3406, ptr noundef @.str.2, i32 noundef %3407, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 179, ptr noundef %3410, ptr noundef %3413, ptr noundef %3416, i32 noundef %3418) #11
  br label %3437

3420:                                             ; preds = %3398, %3391
  %3421 = load i32, ptr %94, align 4, !tbaa !5
  %3422 = call ptr @__errno_location() #12
  store i32 %3421, ptr %3422, align 4, !tbaa !5
  %3423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3424 = load i32, ptr @test_count, align 4, !tbaa !5
  %3425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3426 = load i32, ptr %3425, align 4, !tbaa !5
  %3427 = call ptr @s2n_strerror(i32 noundef %3426, ptr noundef @.str.4)
  %3428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3429 = load i32, ptr %3428, align 4, !tbaa !5
  %3430 = call ptr @s2n_strerror_debug(i32 noundef %3429, ptr noundef @.str.4)
  %3431 = call ptr @__errno_location() #12
  %3432 = load i32, ptr %3431, align 4, !tbaa !5
  %3433 = call ptr @strerror(i32 noundef %3432) #11
  %3434 = call ptr @__errno_location() #12
  %3435 = load i32, ptr %3434, align 4, !tbaa !5
  %3436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3423, ptr noundef @.str.5, i32 noundef %3424, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 179, ptr noundef %3427, ptr noundef %3430, ptr noundef %3433, i32 noundef %3435) #11
  br label %3437

3437:                                             ; preds = %3420, %3403
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #11
  br label %3438

3438:                                             ; preds = %3437
  br label %3439

3439:                                             ; preds = %3438
  call void @exit(i32 noundef 1) #13
  unreachable

3440:                                             ; No predecessors!
  br label %3441

3441:                                             ; preds = %3440
  br label %3442

3442:                                             ; preds = %3441, %3384
  br label %3443

3443:                                             ; preds = %3442
  br label %3444

3444:                                             ; preds = %3443
  br label %3445

3445:                                             ; preds = %3444
  %3446 = load i32, ptr @test_count, align 4, !tbaa !5
  %3447 = add nsw i32 %3446, 1
  store i32 %3447, ptr @test_count, align 4, !tbaa !5
  %3448 = load i32, ptr %87, align 4, !tbaa !5
  %3449 = icmp eq i32 %3448, 2
  br i1 %3449, label %3503, label %3450

3450:                                             ; preds = %3445
  br label %3451

3451:                                             ; preds = %3450
  br label %3452

3452:                                             ; preds = %3451
  call void @llvm.lifetime.start.p0(i64 4, ptr %95) #11
  %3453 = call ptr @__errno_location() #12
  %3454 = load i32, ptr %3453, align 4, !tbaa !5
  store i32 %3454, ptr %95, align 4, !tbaa !5
  %3455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3456 = call i32 @s2n_print_stacktrace(ptr noundef %3455)
  %3457 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3458 = trunc i8 %3457 to i1
  br i1 %3458, label %3459, label %3481

3459:                                             ; preds = %3452
  %3460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3461 = call i32 @fileno(ptr noundef %3460) #11
  %3462 = call i32 @isatty(i32 noundef %3461) #11
  %3463 = icmp ne i32 %3462, 0
  br i1 %3463, label %3464, label %3481

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

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

3498:                                             ; preds = %3481, %3464
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #11
  br label %3499

3499:                                             ; preds = %3498
  br label %3500

3500:                                             ; preds = %3499
  call void @exit(i32 noundef 1) #13
  unreachable

3501:                                             ; No predecessors!
  br label %3502

3502:                                             ; preds = %3501
  br label %3503

3503:                                             ; preds = %3502, %3445
  br label %3504

3504:                                             ; preds = %3503
  br label %3505

3505:                                             ; preds = %3504
  store i32 325, ptr %38, align 4
  br label %3756

3506:                                             ; preds = %3180
  br label %3507

3507:                                             ; preds = %3506
  %3508 = load i32, ptr @test_count, align 4, !tbaa !5
  %3509 = add nsw i32 %3508, 1
  store i32 %3509, ptr @test_count, align 4, !tbaa !5
  %3510 = load i64, ptr %88, align 8, !tbaa !15
  %3511 = icmp ule i64 %3510, 100
  br i1 %3511, label %3565, label %3512

3512:                                             ; preds = %3507
  br label %3513

3513:                                             ; preds = %3512
  br label %3514

3514:                                             ; preds = %3513
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #11
  %3515 = call ptr @__errno_location() #12
  %3516 = load i32, ptr %3515, align 4, !tbaa !5
  store i32 %3516, ptr %96, align 4, !tbaa !5
  %3517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3518 = call i32 @s2n_print_stacktrace(ptr noundef %3517)
  %3519 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3520 = trunc i8 %3519 to i1
  br i1 %3520, label %3521, label %3543

3521:                                             ; preds = %3514
  %3522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3523 = call i32 @fileno(ptr noundef %3522) #11
  %3524 = call i32 @isatty(i32 noundef %3523) #11
  %3525 = icmp ne i32 %3524, 0
  br i1 %3525, label %3526, label %3543

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

3543:                                             ; preds = %3521, %3514
  %3544 = load i32, ptr %96, align 4, !tbaa !5
  %3545 = call ptr @__errno_location() #12
  store i32 %3544, ptr %3545, align 4, !tbaa !5
  %3546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3547 = load i32, ptr @test_count, align 4, !tbaa !5
  %3548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3549 = load i32, ptr %3548, align 4, !tbaa !5
  %3550 = call ptr @s2n_strerror(i32 noundef %3549, ptr noundef @.str.4)
  %3551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3552 = load i32, ptr %3551, align 4, !tbaa !5
  %3553 = call ptr @s2n_strerror_debug(i32 noundef %3552, ptr noundef @.str.4)
  %3554 = call ptr @__errno_location() #12
  %3555 = load i32, ptr %3554, align 4, !tbaa !5
  %3556 = call ptr @strerror(i32 noundef %3555) #11
  %3557 = call ptr @__errno_location() #12
  %3558 = load i32, ptr %3557, align 4, !tbaa !5
  %3559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3546, ptr noundef @.str.5, i32 noundef %3547, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 184, ptr noundef %3550, ptr noundef %3553, ptr noundef %3556, i32 noundef %3558) #11
  br label %3560

3560:                                             ; preds = %3543, %3526
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #11
  br label %3561

3561:                                             ; preds = %3560
  br label %3562

3562:                                             ; preds = %3561
  call void @exit(i32 noundef 1) #13
  unreachable

3563:                                             ; No predecessors!
  br label %3564

3564:                                             ; preds = %3563
  br label %3565

3565:                                             ; preds = %3564, %3507
  br label %3566

3566:                                             ; preds = %3565
  br label %3567

3567:                                             ; preds = %3566
  br label %3568

3568:                                             ; preds = %3567
  %3569 = load i32, ptr @test_count, align 4, !tbaa !5
  %3570 = add nsw i32 %3569, 1
  store i32 %3570, ptr @test_count, align 4, !tbaa !5
  %3571 = load i64, ptr %88, align 8, !tbaa !15
  %3572 = icmp ugt i64 %3571, 0
  br i1 %3572, label %3626, label %3573

3573:                                             ; preds = %3568
  br label %3574

3574:                                             ; preds = %3573
  br label %3575

3575:                                             ; preds = %3574
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #11
  %3576 = call ptr @__errno_location() #12
  %3577 = load i32, ptr %3576, align 4, !tbaa !5
  store i32 %3577, ptr %97, align 4, !tbaa !5
  %3578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3579 = call i32 @s2n_print_stacktrace(ptr noundef %3578)
  %3580 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3581 = trunc i8 %3580 to i1
  br i1 %3581, label %3582, label %3604

3582:                                             ; preds = %3575
  %3583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3584 = call i32 @fileno(ptr noundef %3583) #11
  %3585 = call i32 @isatty(i32 noundef %3584) #11
  %3586 = icmp ne i32 %3585, 0
  br i1 %3586, label %3587, label %3604

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

3604:                                             ; preds = %3582, %3575
  %3605 = load i32, ptr %97, align 4, !tbaa !5
  %3606 = call ptr @__errno_location() #12
  store i32 %3605, ptr %3606, align 4, !tbaa !5
  %3607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3608 = load i32, ptr @test_count, align 4, !tbaa !5
  %3609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3610 = load i32, ptr %3609, align 4, !tbaa !5
  %3611 = call ptr @s2n_strerror(i32 noundef %3610, ptr noundef @.str.4)
  %3612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3613 = load i32, ptr %3612, align 4, !tbaa !5
  %3614 = call ptr @s2n_strerror_debug(i32 noundef %3613, ptr noundef @.str.4)
  %3615 = call ptr @__errno_location() #12
  %3616 = load i32, ptr %3615, align 4, !tbaa !5
  %3617 = call ptr @strerror(i32 noundef %3616) #11
  %3618 = call ptr @__errno_location() #12
  %3619 = load i32, ptr %3618, align 4, !tbaa !5
  %3620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3607, ptr noundef @.str.5, i32 noundef %3608, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 185, ptr noundef %3611, ptr noundef %3614, ptr noundef %3617, i32 noundef %3619) #11
  br label %3621

3621:                                             ; preds = %3604, %3587
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #11
  br label %3622

3622:                                             ; preds = %3621
  br label %3623

3623:                                             ; preds = %3622
  call void @exit(i32 noundef 1) #13
  unreachable

3624:                                             ; No predecessors!
  br label %3625

3625:                                             ; preds = %3624
  br label %3626

3626:                                             ; preds = %3625, %3568
  br label %3627

3627:                                             ; preds = %3626
  br label %3628

3628:                                             ; preds = %3627
  br label %3629

3629:                                             ; preds = %3628
  %3630 = load i32, ptr @test_count, align 4, !tbaa !5
  %3631 = add nsw i32 %3630, 1
  store i32 %3631, ptr @test_count, align 4, !tbaa !5
  %3632 = load i32, ptr %87, align 4, !tbaa !5
  %3633 = icmp eq i32 %3632, 0
  br i1 %3633, label %3687, label %3634

3634:                                             ; preds = %3629
  br label %3635

3635:                                             ; preds = %3634
  br label %3636

3636:                                             ; preds = %3635
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #11
  %3637 = call ptr @__errno_location() #12
  %3638 = load i32, ptr %3637, align 4, !tbaa !5
  store i32 %3638, ptr %98, align 4, !tbaa !5
  %3639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3640 = call i32 @s2n_print_stacktrace(ptr noundef %3639)
  %3641 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3642 = trunc i8 %3641 to i1
  br i1 %3642, label %3643, label %3665

3643:                                             ; preds = %3636
  %3644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3645 = call i32 @fileno(ptr noundef %3644) #11
  %3646 = call i32 @isatty(i32 noundef %3645) #11
  %3647 = icmp ne i32 %3646, 0
  br i1 %3647, label %3648, label %3665

3648:                                             ; preds = %3643
  %3649 = load i32, ptr %98, align 4, !tbaa !5
  %3650 = call ptr @__errno_location() #12
  store i32 %3649, ptr %3650, align 4, !tbaa !5
  %3651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3652 = load i32, ptr @test_count, align 4, !tbaa !5
  %3653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3654 = load i32, ptr %3653, align 4, !tbaa !5
  %3655 = call ptr @s2n_strerror(i32 noundef %3654, ptr noundef @.str.4)
  %3656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3657 = load i32, ptr %3656, align 4, !tbaa !5
  %3658 = call ptr @s2n_strerror_debug(i32 noundef %3657, ptr noundef @.str.4)
  %3659 = call ptr @__errno_location() #12
  %3660 = load i32, ptr %3659, align 4, !tbaa !5
  %3661 = call ptr @strerror(i32 noundef %3660) #11
  %3662 = call ptr @__errno_location() #12
  %3663 = load i32, ptr %3662, align 4, !tbaa !5
  %3664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3651, ptr noundef @.str.2, i32 noundef %3652, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 186, ptr noundef %3655, ptr noundef %3658, ptr noundef %3661, i32 noundef %3663) #11
  br label %3682

3665:                                             ; preds = %3643, %3636
  %3666 = load i32, ptr %98, align 4, !tbaa !5
  %3667 = call ptr @__errno_location() #12
  store i32 %3666, ptr %3667, align 4, !tbaa !5
  %3668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3669 = load i32, ptr @test_count, align 4, !tbaa !5
  %3670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3671 = load i32, ptr %3670, align 4, !tbaa !5
  %3672 = call ptr @s2n_strerror(i32 noundef %3671, ptr noundef @.str.4)
  %3673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3674 = load i32, ptr %3673, align 4, !tbaa !5
  %3675 = call ptr @s2n_strerror_debug(i32 noundef %3674, ptr noundef @.str.4)
  %3676 = call ptr @__errno_location() #12
  %3677 = load i32, ptr %3676, align 4, !tbaa !5
  %3678 = call ptr @strerror(i32 noundef %3677) #11
  %3679 = call ptr @__errno_location() #12
  %3680 = load i32, ptr %3679, align 4, !tbaa !5
  %3681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3668, ptr noundef @.str.5, i32 noundef %3669, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 186, ptr noundef %3672, ptr noundef %3675, ptr noundef %3678, i32 noundef %3680) #11
  br label %3682

3682:                                             ; preds = %3665, %3648
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #11
  br label %3683

3683:                                             ; preds = %3682
  br label %3684

3684:                                             ; preds = %3683
  call void @exit(i32 noundef 1) #13
  unreachable

3685:                                             ; No predecessors!
  br label %3686

3686:                                             ; preds = %3685
  br label %3687

3687:                                             ; preds = %3686, %3629
  br label %3688

3688:                                             ; preds = %3687
  br label %3689

3689:                                             ; preds = %3688
  %3690 = load i64, ptr %88, align 8, !tbaa !15
  %3691 = load i64, ptr %89, align 8, !tbaa !15
  %3692 = add i64 %3691, %3690
  store i64 %3692, ptr %89, align 8, !tbaa !15
  br label %3693

3693:                                             ; preds = %3689
  %3694 = load i32, ptr @test_count, align 4, !tbaa !5
  %3695 = add nsw i32 %3694, 1
  store i32 %3695, ptr @test_count, align 4, !tbaa !5
  %3696 = load i64, ptr %89, align 8, !tbaa !15
  %3697 = load i32, ptr %83, align 4, !tbaa !5
  %3698 = sext i32 %3697 to i64
  %3699 = icmp ult i64 %3696, %3698
  br i1 %3699, label %3753, label %3700

3700:                                             ; preds = %3693
  br label %3701

3701:                                             ; preds = %3700
  br label %3702

3702:                                             ; preds = %3701
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #11
  %3703 = call ptr @__errno_location() #12
  %3704 = load i32, ptr %3703, align 4, !tbaa !5
  store i32 %3704, ptr %99, align 4, !tbaa !5
  %3705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3706 = call i32 @s2n_print_stacktrace(ptr noundef %3705)
  %3707 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3708 = trunc i8 %3707 to i1
  br i1 %3708, label %3709, label %3731

3709:                                             ; preds = %3702
  %3710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3711 = call i32 @fileno(ptr noundef %3710) #11
  %3712 = call i32 @isatty(i32 noundef %3711) #11
  %3713 = icmp ne i32 %3712, 0
  br i1 %3713, label %3714, label %3731

3714:                                             ; preds = %3709
  %3715 = load i32, ptr %99, align 4, !tbaa !5
  %3716 = call ptr @__errno_location() #12
  store i32 %3715, ptr %3716, align 4, !tbaa !5
  %3717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3718 = load i32, ptr @test_count, align 4, !tbaa !5
  %3719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3720 = load i32, ptr %3719, align 4, !tbaa !5
  %3721 = call ptr @s2n_strerror(i32 noundef %3720, ptr noundef @.str.4)
  %3722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3723 = load i32, ptr %3722, align 4, !tbaa !5
  %3724 = call ptr @s2n_strerror_debug(i32 noundef %3723, ptr noundef @.str.4)
  %3725 = call ptr @__errno_location() #12
  %3726 = load i32, ptr %3725, align 4, !tbaa !5
  %3727 = call ptr @strerror(i32 noundef %3726) #11
  %3728 = call ptr @__errno_location() #12
  %3729 = load i32, ptr %3728, align 4, !tbaa !5
  %3730 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3717, ptr noundef @.str.2, i32 noundef %3718, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 192, ptr noundef %3721, ptr noundef %3724, ptr noundef %3727, i32 noundef %3729) #11
  br label %3748

3731:                                             ; preds = %3709, %3702
  %3732 = load i32, ptr %99, align 4, !tbaa !5
  %3733 = call ptr @__errno_location() #12
  store i32 %3732, ptr %3733, align 4, !tbaa !5
  %3734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3735 = load i32, ptr @test_count, align 4, !tbaa !5
  %3736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3737 = load i32, ptr %3736, align 4, !tbaa !5
  %3738 = call ptr @s2n_strerror(i32 noundef %3737, ptr noundef @.str.4)
  %3739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3740 = load i32, ptr %3739, align 4, !tbaa !5
  %3741 = call ptr @s2n_strerror_debug(i32 noundef %3740, ptr noundef @.str.4)
  %3742 = call ptr @__errno_location() #12
  %3743 = load i32, ptr %3742, align 4, !tbaa !5
  %3744 = call ptr @strerror(i32 noundef %3743) #11
  %3745 = call ptr @__errno_location() #12
  %3746 = load i32, ptr %3745, align 4, !tbaa !5
  %3747 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3734, ptr noundef @.str.5, i32 noundef %3735, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 192, ptr noundef %3738, ptr noundef %3741, ptr noundef %3744, i32 noundef %3746) #11
  br label %3748

3748:                                             ; preds = %3731, %3714
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #11
  br label %3749

3749:                                             ; preds = %3748
  br label %3750

3750:                                             ; preds = %3749
  call void @exit(i32 noundef 1) #13
  unreachable

3751:                                             ; No predecessors!
  br label %3752

3752:                                             ; preds = %3751
  br label %3753

3753:                                             ; preds = %3752, %3693
  br label %3754

3754:                                             ; preds = %3753
  br label %3755

3755:                                             ; preds = %3754
  store i32 0, ptr %38, align 4
  br label %3756

3756:                                             ; preds = %3755, %3505
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #11
  %3757 = load i32, ptr %38, align 4
  switch i32 %3757, label %5333 [
    i32 0, label %3758
    i32 325, label %3759
  ]

3758:                                             ; preds = %3756
  br label %3179

3759:                                             ; preds = %3756
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #11
  %3760 = call i32 @s2n_io_pair_close(ptr noundef %79)
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #11
  %3761 = call i32 @s2n_connection_ptr_free(ptr noundef %77)
  %3762 = getelementptr inbounds %struct.s2n_result, ptr %100, i32 0, i32 0
  store i32 %3761, ptr %3762, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %101) #11
  %3763 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %3763, ptr %101, align 8, !tbaa !9
  br label %3764

3764:                                             ; preds = %3759
  %3765 = load i32, ptr @test_count, align 4, !tbaa !5
  %3766 = add nsw i32 %3765, 1
  store i32 %3766, ptr @test_count, align 4, !tbaa !5
  %3767 = load ptr, ptr %101, align 8, !tbaa !9
  %3768 = icmp eq ptr %3767, null
  br i1 %3768, label %3769, label %3822

3769:                                             ; preds = %3764
  br label %3770

3770:                                             ; preds = %3769
  br label %3771

3771:                                             ; preds = %3770
  call void @llvm.lifetime.start.p0(i64 4, ptr %102) #11
  %3772 = call ptr @__errno_location() #12
  %3773 = load i32, ptr %3772, align 4, !tbaa !5
  store i32 %3773, ptr %102, align 4, !tbaa !5
  %3774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3775 = call i32 @s2n_print_stacktrace(ptr noundef %3774)
  %3776 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3777 = trunc i8 %3776 to i1
  br i1 %3777, label %3778, label %3800

3778:                                             ; preds = %3771
  %3779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3780 = call i32 @fileno(ptr noundef %3779) #11
  %3781 = call i32 @isatty(i32 noundef %3780) #11
  %3782 = icmp ne i32 %3781, 0
  br i1 %3782, label %3783, label %3800

3783:                                             ; preds = %3778
  %3784 = load i32, ptr %102, align 4, !tbaa !5
  %3785 = call ptr @__errno_location() #12
  store i32 %3784, ptr %3785, align 4, !tbaa !5
  %3786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3787 = load i32, ptr @test_count, align 4, !tbaa !5
  %3788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3789 = load i32, ptr %3788, align 4, !tbaa !5
  %3790 = call ptr @s2n_strerror(i32 noundef %3789, ptr noundef @.str.4)
  %3791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3792 = load i32, ptr %3791, align 4, !tbaa !5
  %3793 = call ptr @s2n_strerror_debug(i32 noundef %3792, ptr noundef @.str.4)
  %3794 = call ptr @__errno_location() #12
  %3795 = load i32, ptr %3794, align 4, !tbaa !5
  %3796 = call ptr @strerror(i32 noundef %3795) #11
  %3797 = call ptr @__errno_location() #12
  %3798 = load i32, ptr %3797, align 4, !tbaa !5
  %3799 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3786, ptr noundef @.str.2, i32 noundef %3787, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 200, ptr noundef %3790, ptr noundef %3793, ptr noundef %3796, i32 noundef %3798) #11
  br label %3817

3800:                                             ; preds = %3778, %3771
  %3801 = load i32, ptr %102, align 4, !tbaa !5
  %3802 = call ptr @__errno_location() #12
  store i32 %3801, ptr %3802, align 4, !tbaa !5
  %3803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3804 = load i32, ptr @test_count, align 4, !tbaa !5
  %3805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3806 = load i32, ptr %3805, align 4, !tbaa !5
  %3807 = call ptr @s2n_strerror(i32 noundef %3806, ptr noundef @.str.4)
  %3808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3809 = load i32, ptr %3808, align 4, !tbaa !5
  %3810 = call ptr @s2n_strerror_debug(i32 noundef %3809, ptr noundef @.str.4)
  %3811 = call ptr @__errno_location() #12
  %3812 = load i32, ptr %3811, align 4, !tbaa !5
  %3813 = call ptr @strerror(i32 noundef %3812) #11
  %3814 = call ptr @__errno_location() #12
  %3815 = load i32, ptr %3814, align 4, !tbaa !5
  %3816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3803, ptr noundef @.str.5, i32 noundef %3804, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 200, ptr noundef %3807, ptr noundef %3810, ptr noundef %3813, i32 noundef %3815) #11
  br label %3817

3817:                                             ; preds = %3800, %3783
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #11
  br label %3818

3818:                                             ; preds = %3817
  br label %3819

3819:                                             ; preds = %3818
  call void @exit(i32 noundef 1) #13
  unreachable

3820:                                             ; No predecessors!
  br label %3821

3821:                                             ; preds = %3820
  br label %3822

3822:                                             ; preds = %3821, %3764
  br label %3823

3823:                                             ; preds = %3822
  br label %3824

3824:                                             ; preds = %3823
  %3825 = load ptr, ptr %101, align 8, !tbaa !9
  %3826 = load i32, ptr %3825, align 8
  %3827 = and i32 %3826, -262145
  %3828 = or i32 %3827, 262144
  store i32 %3828, ptr %3825, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %103) #11
  call void @llvm.memset.p0.i64(ptr align 4 %103, i8 0, i64 8, i1 false)
  br label %3829

3829:                                             ; preds = %3824
  %3830 = load i32, ptr @test_count, align 4, !tbaa !5
  %3831 = add nsw i32 %3830, 1
  store i32 %3831, ptr @test_count, align 4, !tbaa !5
  %3832 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %103)
  %3833 = icmp eq i32 %3832, -1
  br i1 %3833, label %3834, label %3887

3834:                                             ; preds = %3829
  br label %3835

3835:                                             ; preds = %3834
  br label %3836

3836:                                             ; preds = %3835
  call void @llvm.lifetime.start.p0(i64 4, ptr %104) #11
  %3837 = call ptr @__errno_location() #12
  %3838 = load i32, ptr %3837, align 4, !tbaa !5
  store i32 %3838, ptr %104, align 4, !tbaa !5
  %3839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3840 = call i32 @s2n_print_stacktrace(ptr noundef %3839)
  %3841 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3842 = trunc i8 %3841 to i1
  br i1 %3842, label %3843, label %3865

3843:                                             ; preds = %3836
  %3844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3845 = call i32 @fileno(ptr noundef %3844) #11
  %3846 = call i32 @isatty(i32 noundef %3845) #11
  %3847 = icmp ne i32 %3846, 0
  br i1 %3847, label %3848, label %3865

3848:                                             ; preds = %3843
  %3849 = load i32, ptr %104, align 4, !tbaa !5
  %3850 = call ptr @__errno_location() #12
  store i32 %3849, ptr %3850, align 4, !tbaa !5
  %3851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3852 = load i32, ptr @test_count, align 4, !tbaa !5
  %3853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3854 = load i32, ptr %3853, align 4, !tbaa !5
  %3855 = call ptr @s2n_strerror(i32 noundef %3854, ptr noundef @.str.4)
  %3856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3857 = load i32, ptr %3856, align 4, !tbaa !5
  %3858 = call ptr @s2n_strerror_debug(i32 noundef %3857, ptr noundef @.str.4)
  %3859 = call ptr @__errno_location() #12
  %3860 = load i32, ptr %3859, align 4, !tbaa !5
  %3861 = call ptr @strerror(i32 noundef %3860) #11
  %3862 = call ptr @__errno_location() #12
  %3863 = load i32, ptr %3862, align 4, !tbaa !5
  %3864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3851, ptr noundef @.str.2, i32 noundef %3852, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 204, ptr noundef %3855, ptr noundef %3858, ptr noundef %3861, i32 noundef %3863) #11
  br label %3882

3865:                                             ; preds = %3843, %3836
  %3866 = load i32, ptr %104, align 4, !tbaa !5
  %3867 = call ptr @__errno_location() #12
  store i32 %3866, ptr %3867, align 4, !tbaa !5
  %3868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3869 = load i32, ptr @test_count, align 4, !tbaa !5
  %3870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3871 = load i32, ptr %3870, align 4, !tbaa !5
  %3872 = call ptr @s2n_strerror(i32 noundef %3871, ptr noundef @.str.4)
  %3873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3874 = load i32, ptr %3873, align 4, !tbaa !5
  %3875 = call ptr @s2n_strerror_debug(i32 noundef %3874, ptr noundef @.str.4)
  %3876 = call ptr @__errno_location() #12
  %3877 = load i32, ptr %3876, align 4, !tbaa !5
  %3878 = call ptr @strerror(i32 noundef %3877) #11
  %3879 = call ptr @__errno_location() #12
  %3880 = load i32, ptr %3879, align 4, !tbaa !5
  %3881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3868, ptr noundef @.str.5, i32 noundef %3869, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 204, ptr noundef %3872, ptr noundef %3875, ptr noundef %3878, i32 noundef %3880) #11
  br label %3882

3882:                                             ; preds = %3865, %3848
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #11
  br label %3883

3883:                                             ; preds = %3882
  br label %3884

3884:                                             ; preds = %3883
  call void @exit(i32 noundef 1) #13
  unreachable

3885:                                             ; No predecessors!
  br label %3886

3886:                                             ; preds = %3885
  br label %3887

3887:                                             ; preds = %3886, %3829
  br label %3888

3888:                                             ; preds = %3887
  br label %3889

3889:                                             ; preds = %3888
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #11
  %3890 = getelementptr inbounds %struct.s2n_test_io_pair, ptr %103, i32 0, i32 1
  %3891 = load i32, ptr %3890, align 4, !tbaa !17
  store i32 %3891, ptr %105, align 4, !tbaa !5
  br label %3892

3892:                                             ; preds = %3889
  %3893 = load i32, ptr @test_count, align 4, !tbaa !5
  %3894 = add nsw i32 %3893, 1
  store i32 %3894, ptr @test_count, align 4, !tbaa !5
  %3895 = load ptr, ptr %101, align 8, !tbaa !9
  %3896 = load i32, ptr %105, align 4, !tbaa !5
  %3897 = call i32 @s2n_connection_set_write_fd(ptr noundef %3895, i32 noundef %3896)
  %3898 = icmp eq i32 %3897, -1
  br i1 %3898, label %3899, label %3952

3899:                                             ; preds = %3892
  br label %3900

3900:                                             ; preds = %3899
  br label %3901

3901:                                             ; preds = %3900
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #11
  %3902 = call ptr @__errno_location() #12
  %3903 = load i32, ptr %3902, align 4, !tbaa !5
  store i32 %3903, ptr %106, align 4, !tbaa !5
  %3904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3905 = call i32 @s2n_print_stacktrace(ptr noundef %3904)
  %3906 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3907 = trunc i8 %3906 to i1
  br i1 %3907, label %3908, label %3930

3908:                                             ; preds = %3901
  %3909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3910 = call i32 @fileno(ptr noundef %3909) #11
  %3911 = call i32 @isatty(i32 noundef %3910) #11
  %3912 = icmp ne i32 %3911, 0
  br i1 %3912, label %3913, label %3930

3913:                                             ; preds = %3908
  %3914 = load i32, ptr %106, align 4, !tbaa !5
  %3915 = call ptr @__errno_location() #12
  store i32 %3914, ptr %3915, align 4, !tbaa !5
  %3916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3917 = load i32, ptr @test_count, align 4, !tbaa !5
  %3918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3919 = load i32, ptr %3918, align 4, !tbaa !5
  %3920 = call ptr @s2n_strerror(i32 noundef %3919, ptr noundef @.str.4)
  %3921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3922 = load i32, ptr %3921, align 4, !tbaa !5
  %3923 = call ptr @s2n_strerror_debug(i32 noundef %3922, ptr noundef @.str.4)
  %3924 = call ptr @__errno_location() #12
  %3925 = load i32, ptr %3924, align 4, !tbaa !5
  %3926 = call ptr @strerror(i32 noundef %3925) #11
  %3927 = call ptr @__errno_location() #12
  %3928 = load i32, ptr %3927, align 4, !tbaa !5
  %3929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3916, ptr noundef @.str.2, i32 noundef %3917, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 206, ptr noundef %3920, ptr noundef %3923, ptr noundef %3926, i32 noundef %3928) #11
  br label %3947

3930:                                             ; preds = %3908, %3901
  %3931 = load i32, ptr %106, align 4, !tbaa !5
  %3932 = call ptr @__errno_location() #12
  store i32 %3931, ptr %3932, align 4, !tbaa !5
  %3933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3934 = load i32, ptr @test_count, align 4, !tbaa !5
  %3935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3936 = load i32, ptr %3935, align 4, !tbaa !5
  %3937 = call ptr @s2n_strerror(i32 noundef %3936, ptr noundef @.str.4)
  %3938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3939 = load i32, ptr %3938, align 4, !tbaa !5
  %3940 = call ptr @s2n_strerror_debug(i32 noundef %3939, ptr noundef @.str.4)
  %3941 = call ptr @__errno_location() #12
  %3942 = load i32, ptr %3941, align 4, !tbaa !5
  %3943 = call ptr @strerror(i32 noundef %3942) #11
  %3944 = call ptr @__errno_location() #12
  %3945 = load i32, ptr %3944, align 4, !tbaa !5
  %3946 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3933, ptr noundef @.str.5, i32 noundef %3934, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 206, ptr noundef %3937, ptr noundef %3940, ptr noundef %3943, i32 noundef %3945) #11
  br label %3947

3947:                                             ; preds = %3930, %3913
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #11
  br label %3948

3948:                                             ; preds = %3947
  br label %3949

3949:                                             ; preds = %3948
  call void @exit(i32 noundef 1) #13
  unreachable

3950:                                             ; No predecessors!
  br label %3951

3951:                                             ; preds = %3950
  br label %3952

3952:                                             ; preds = %3951, %3892
  br label %3953

3953:                                             ; preds = %3952
  br label %3954

3954:                                             ; preds = %3953
  call void @llvm.lifetime.start.p0(i64 4, ptr %107) #11
  store i32 0, ptr %107, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %108) #11
  store i32 4, ptr %108, align 4, !tbaa !5
  br label %3955

3955:                                             ; preds = %3954
  %3956 = load i32, ptr @test_count, align 4, !tbaa !5
  %3957 = add nsw i32 %3956, 1
  store i32 %3957, ptr @test_count, align 4, !tbaa !5
  %3958 = load i32, ptr %105, align 4, !tbaa !5
  %3959 = call i32 @getsockopt(i32 noundef %3958, i32 noundef 1, i32 noundef 7, ptr noundef %107, ptr noundef %108) #11
  %3960 = icmp eq i32 %3959, 0
  br i1 %3960, label %4014, label %3961

3961:                                             ; preds = %3955
  br label %3962

3962:                                             ; preds = %3961
  br label %3963

3963:                                             ; preds = %3962
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #11
  %3964 = call ptr @__errno_location() #12
  %3965 = load i32, ptr %3964, align 4, !tbaa !5
  store i32 %3965, ptr %109, align 4, !tbaa !5
  %3966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3967 = call i32 @s2n_print_stacktrace(ptr noundef %3966)
  %3968 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3969 = trunc i8 %3968 to i1
  br i1 %3969, label %3970, label %3992

3970:                                             ; preds = %3963
  %3971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3972 = call i32 @fileno(ptr noundef %3971) #11
  %3973 = call i32 @isatty(i32 noundef %3972) #11
  %3974 = icmp ne i32 %3973, 0
  br i1 %3974, label %3975, label %3992

3975:                                             ; preds = %3970
  %3976 = load i32, ptr %109, align 4, !tbaa !5
  %3977 = call ptr @__errno_location() #12
  store i32 %3976, ptr %3977, align 4, !tbaa !5
  %3978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3979 = load i32, ptr @test_count, align 4, !tbaa !5
  %3980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3981 = load i32, ptr %3980, align 4, !tbaa !5
  %3982 = call ptr @s2n_strerror(i32 noundef %3981, ptr noundef @.str.4)
  %3983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3984 = load i32, ptr %3983, align 4, !tbaa !5
  %3985 = call ptr @s2n_strerror_debug(i32 noundef %3984, ptr noundef @.str.4)
  %3986 = call ptr @__errno_location() #12
  %3987 = load i32, ptr %3986, align 4, !tbaa !5
  %3988 = call ptr @strerror(i32 noundef %3987) #11
  %3989 = call ptr @__errno_location() #12
  %3990 = load i32, ptr %3989, align 4, !tbaa !5
  %3991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3978, ptr noundef @.str.2, i32 noundef %3979, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 210, ptr noundef %3982, ptr noundef %3985, ptr noundef %3988, i32 noundef %3990) #11
  br label %4009

3992:                                             ; preds = %3970, %3963
  %3993 = load i32, ptr %109, align 4, !tbaa !5
  %3994 = call ptr @__errno_location() #12
  store i32 %3993, ptr %3994, align 4, !tbaa !5
  %3995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3996 = load i32, ptr @test_count, align 4, !tbaa !5
  %3997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3998 = load i32, ptr %3997, align 4, !tbaa !5
  %3999 = call ptr @s2n_strerror(i32 noundef %3998, ptr noundef @.str.4)
  %4000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4001 = load i32, ptr %4000, align 4, !tbaa !5
  %4002 = call ptr @s2n_strerror_debug(i32 noundef %4001, ptr noundef @.str.4)
  %4003 = call ptr @__errno_location() #12
  %4004 = load i32, ptr %4003, align 4, !tbaa !5
  %4005 = call ptr @strerror(i32 noundef %4004) #11
  %4006 = call ptr @__errno_location() #12
  %4007 = load i32, ptr %4006, align 4, !tbaa !5
  %4008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3995, ptr noundef @.str.5, i32 noundef %3996, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 210, ptr noundef %3999, ptr noundef %4002, ptr noundef %4005, i32 noundef %4007) #11
  br label %4009

4009:                                             ; preds = %3992, %3975
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #11
  br label %4010

4010:                                             ; preds = %4009
  br label %4011

4011:                                             ; preds = %4010
  call void @exit(i32 noundef 1) #13
  unreachable

4012:                                             ; No predecessors!
  br label %4013

4013:                                             ; preds = %4012
  br label %4014

4014:                                             ; preds = %4013, %3955
  br label %4015

4015:                                             ; preds = %4014
  br label %4016

4016:                                             ; preds = %4015
  br label %4017

4017:                                             ; preds = %4016
  %4018 = load i32, ptr @test_count, align 4, !tbaa !5
  %4019 = add nsw i32 %4018, 1
  store i32 %4019, ptr @test_count, align 4, !tbaa !5
  %4020 = load i32, ptr %107, align 4, !tbaa !5
  %4021 = icmp sgt i32 %4020, 0
  br i1 %4021, label %4075, label %4022

4022:                                             ; preds = %4017
  br label %4023

4023:                                             ; preds = %4022
  br label %4024

4024:                                             ; preds = %4023
  call void @llvm.lifetime.start.p0(i64 4, ptr %110) #11
  %4025 = call ptr @__errno_location() #12
  %4026 = load i32, ptr %4025, align 4, !tbaa !5
  store i32 %4026, ptr %110, align 4, !tbaa !5
  %4027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4028 = call i32 @s2n_print_stacktrace(ptr noundef %4027)
  %4029 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4030 = trunc i8 %4029 to i1
  br i1 %4030, label %4031, label %4053

4031:                                             ; preds = %4024
  %4032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4033 = call i32 @fileno(ptr noundef %4032) #11
  %4034 = call i32 @isatty(i32 noundef %4033) #11
  %4035 = icmp ne i32 %4034, 0
  br i1 %4035, label %4036, label %4053

4036:                                             ; preds = %4031
  %4037 = load i32, ptr %110, align 4, !tbaa !5
  %4038 = call ptr @__errno_location() #12
  store i32 %4037, ptr %4038, align 4, !tbaa !5
  %4039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4040 = load i32, ptr @test_count, align 4, !tbaa !5
  %4041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4042 = load i32, ptr %4041, align 4, !tbaa !5
  %4043 = call ptr @s2n_strerror(i32 noundef %4042, ptr noundef @.str.4)
  %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_debug(i32 noundef %4045, ptr noundef @.str.4)
  %4047 = call ptr @__errno_location() #12
  %4048 = load i32, ptr %4047, align 4, !tbaa !5
  %4049 = call ptr @strerror(i32 noundef %4048) #11
  %4050 = call ptr @__errno_location() #12
  %4051 = load i32, ptr %4050, align 4, !tbaa !5
  %4052 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4039, ptr noundef @.str.2, i32 noundef %4040, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 211, ptr noundef %4043, ptr noundef %4046, ptr noundef %4049, i32 noundef %4051) #11
  br label %4070

4053:                                             ; preds = %4031, %4024
  %4054 = load i32, ptr %110, align 4, !tbaa !5
  %4055 = call ptr @__errno_location() #12
  store i32 %4054, ptr %4055, align 4, !tbaa !5
  %4056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4057 = load i32, ptr @test_count, align 4, !tbaa !5
  %4058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4059 = load i32, ptr %4058, align 4, !tbaa !5
  %4060 = call ptr @s2n_strerror(i32 noundef %4059, ptr noundef @.str.4)
  %4061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4062 = load i32, ptr %4061, align 4, !tbaa !5
  %4063 = call ptr @s2n_strerror_debug(i32 noundef %4062, ptr noundef @.str.4)
  %4064 = call ptr @__errno_location() #12
  %4065 = load i32, ptr %4064, align 4, !tbaa !5
  %4066 = call ptr @strerror(i32 noundef %4065) #11
  %4067 = call ptr @__errno_location() #12
  %4068 = load i32, ptr %4067, align 4, !tbaa !5
  %4069 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4056, ptr noundef @.str.5, i32 noundef %4057, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 211, ptr noundef %4060, ptr noundef %4063, ptr noundef %4066, i32 noundef %4068) #11
  br label %4070

4070:                                             ; preds = %4053, %4036
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #11
  br label %4071

4071:                                             ; preds = %4070
  br label %4072

4072:                                             ; preds = %4071
  call void @exit(i32 noundef 1) #13
  unreachable

4073:                                             ; No predecessors!
  br label %4074

4074:                                             ; preds = %4073
  br label %4075

4075:                                             ; preds = %4074, %4017
  br label %4076

4076:                                             ; preds = %4075
  br label %4077

4077:                                             ; preds = %4076
  call void @llvm.lifetime.start.p0(i64 8, ptr %111) #11
  %4078 = load i32, ptr %107, align 4, !tbaa !5
  %4079 = mul nsw i32 %4078, 2
  %4080 = sext i32 %4079 to i64
  store i64 %4080, ptr %111, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %112) #11
  store i64 0, ptr %112, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 4, ptr %113) #11
  store i32 0, ptr %113, align 4, !tbaa !5
  br label %4081

4081:                                             ; preds = %4077
  %4082 = load i32, ptr @test_count, align 4, !tbaa !5
  %4083 = add nsw i32 %4082, 1
  store i32 %4083, ptr @test_count, align 4, !tbaa !5
  %4084 = load ptr, ptr %101, align 8, !tbaa !9
  %4085 = load i32, ptr %40, align 4, !tbaa !5
  %4086 = load i64, ptr %111, align 8, !tbaa !15
  %4087 = call i32 @s2n_sendfile(ptr noundef %4084, i32 noundef %4085, i64 noundef 0, i64 noundef %4086, ptr noundef %112, ptr noundef %113)
  %4088 = icmp eq i32 %4087, -1
  br i1 %4088, label %4089, label %4142

4089:                                             ; preds = %4081
  br label %4090

4090:                                             ; preds = %4089
  br label %4091

4091:                                             ; preds = %4090
  call void @llvm.lifetime.start.p0(i64 4, ptr %114) #11
  %4092 = call ptr @__errno_location() #12
  %4093 = load i32, ptr %4092, align 4, !tbaa !5
  store i32 %4093, ptr %114, align 4, !tbaa !5
  %4094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4095 = call i32 @s2n_print_stacktrace(ptr noundef %4094)
  %4096 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4097 = trunc i8 %4096 to i1
  br i1 %4097, label %4098, label %4120

4098:                                             ; preds = %4091
  %4099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4100 = call i32 @fileno(ptr noundef %4099) #11
  %4101 = call i32 @isatty(i32 noundef %4100) #11
  %4102 = icmp ne i32 %4101, 0
  br i1 %4102, label %4103, label %4120

4103:                                             ; preds = %4098
  %4104 = load i32, ptr %114, align 4, !tbaa !5
  %4105 = call ptr @__errno_location() #12
  store i32 %4104, ptr %4105, align 4, !tbaa !5
  %4106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4107 = load i32, ptr @test_count, align 4, !tbaa !5
  %4108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4109 = load i32, ptr %4108, align 4, !tbaa !5
  %4110 = call ptr @s2n_strerror(i32 noundef %4109, ptr noundef @.str.4)
  %4111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4112 = load i32, ptr %4111, align 4, !tbaa !5
  %4113 = call ptr @s2n_strerror_debug(i32 noundef %4112, ptr noundef @.str.4)
  %4114 = call ptr @__errno_location() #12
  %4115 = load i32, ptr %4114, align 4, !tbaa !5
  %4116 = call ptr @strerror(i32 noundef %4115) #11
  %4117 = call ptr @__errno_location() #12
  %4118 = load i32, ptr %4117, align 4, !tbaa !5
  %4119 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4106, ptr noundef @.str.2, i32 noundef %4107, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 218, ptr noundef %4110, ptr noundef %4113, ptr noundef %4116, i32 noundef %4118) #11
  br label %4137

4120:                                             ; preds = %4098, %4091
  %4121 = load i32, ptr %114, align 4, !tbaa !5
  %4122 = call ptr @__errno_location() #12
  store i32 %4121, ptr %4122, align 4, !tbaa !5
  %4123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4124 = load i32, ptr @test_count, align 4, !tbaa !5
  %4125 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4126 = load i32, ptr %4125, align 4, !tbaa !5
  %4127 = call ptr @s2n_strerror(i32 noundef %4126, ptr noundef @.str.4)
  %4128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4129 = load i32, ptr %4128, align 4, !tbaa !5
  %4130 = call ptr @s2n_strerror_debug(i32 noundef %4129, ptr noundef @.str.4)
  %4131 = call ptr @__errno_location() #12
  %4132 = load i32, ptr %4131, align 4, !tbaa !5
  %4133 = call ptr @strerror(i32 noundef %4132) #11
  %4134 = call ptr @__errno_location() #12
  %4135 = load i32, ptr %4134, align 4, !tbaa !5
  %4136 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4123, ptr noundef @.str.5, i32 noundef %4124, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 218, ptr noundef %4127, ptr noundef %4130, ptr noundef %4133, i32 noundef %4135) #11
  br label %4137

4137:                                             ; preds = %4120, %4103
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #11
  br label %4138

4138:                                             ; preds = %4137
  br label %4139

4139:                                             ; preds = %4138
  call void @exit(i32 noundef 1) #13
  unreachable

4140:                                             ; No predecessors!
  br label %4141

4141:                                             ; preds = %4140
  br label %4142

4142:                                             ; preds = %4141, %4081
  br label %4143

4143:                                             ; preds = %4142
  br label %4144

4144:                                             ; preds = %4143
  br label %4145

4145:                                             ; preds = %4144
  %4146 = load i32, ptr @test_count, align 4, !tbaa !5
  %4147 = add nsw i32 %4146, 1
  store i32 %4147, ptr @test_count, align 4, !tbaa !5
  %4148 = load i64, ptr %112, align 8, !tbaa !15
  %4149 = icmp ugt i64 %4148, 0
  br i1 %4149, label %4203, label %4150

4150:                                             ; preds = %4145
  br label %4151

4151:                                             ; preds = %4150
  br label %4152

4152:                                             ; preds = %4151
  call void @llvm.lifetime.start.p0(i64 4, ptr %115) #11
  %4153 = call ptr @__errno_location() #12
  %4154 = load i32, ptr %4153, align 4, !tbaa !5
  store i32 %4154, ptr %115, align 4, !tbaa !5
  %4155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4156 = call i32 @s2n_print_stacktrace(ptr noundef %4155)
  %4157 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4158 = trunc i8 %4157 to i1
  br i1 %4158, label %4159, label %4181

4159:                                             ; preds = %4152
  %4160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4161 = call i32 @fileno(ptr noundef %4160) #11
  %4162 = call i32 @isatty(i32 noundef %4161) #11
  %4163 = icmp ne i32 %4162, 0
  br i1 %4163, label %4164, label %4181

4164:                                             ; preds = %4159
  %4165 = load i32, ptr %115, align 4, !tbaa !5
  %4166 = call ptr @__errno_location() #12
  store i32 %4165, ptr %4166, align 4, !tbaa !5
  %4167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4168 = load i32, ptr @test_count, align 4, !tbaa !5
  %4169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4170 = load i32, ptr %4169, align 4, !tbaa !5
  %4171 = call ptr @s2n_strerror(i32 noundef %4170, ptr noundef @.str.4)
  %4172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4173 = load i32, ptr %4172, align 4, !tbaa !5
  %4174 = call ptr @s2n_strerror_debug(i32 noundef %4173, ptr noundef @.str.4)
  %4175 = call ptr @__errno_location() #12
  %4176 = load i32, ptr %4175, align 4, !tbaa !5
  %4177 = call ptr @strerror(i32 noundef %4176) #11
  %4178 = call ptr @__errno_location() #12
  %4179 = load i32, ptr %4178, align 4, !tbaa !5
  %4180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4167, ptr noundef @.str.2, i32 noundef %4168, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 219, ptr noundef %4171, ptr noundef %4174, ptr noundef %4177, i32 noundef %4179) #11
  br label %4198

4181:                                             ; preds = %4159, %4152
  %4182 = load i32, ptr %115, align 4, !tbaa !5
  %4183 = call ptr @__errno_location() #12
  store i32 %4182, ptr %4183, align 4, !tbaa !5
  %4184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4185 = load i32, ptr @test_count, align 4, !tbaa !5
  %4186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4187 = load i32, ptr %4186, align 4, !tbaa !5
  %4188 = call ptr @s2n_strerror(i32 noundef %4187, ptr noundef @.str.4)
  %4189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4190 = load i32, ptr %4189, align 4, !tbaa !5
  %4191 = call ptr @s2n_strerror_debug(i32 noundef %4190, ptr noundef @.str.4)
  %4192 = call ptr @__errno_location() #12
  %4193 = load i32, ptr %4192, align 4, !tbaa !5
  %4194 = call ptr @strerror(i32 noundef %4193) #11
  %4195 = call ptr @__errno_location() #12
  %4196 = load i32, ptr %4195, align 4, !tbaa !5
  %4197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4184, ptr noundef @.str.5, i32 noundef %4185, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 219, ptr noundef %4188, ptr noundef %4191, ptr noundef %4194, i32 noundef %4196) #11
  br label %4198

4198:                                             ; preds = %4181, %4164
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #11
  br label %4199

4199:                                             ; preds = %4198
  br label %4200

4200:                                             ; preds = %4199
  call void @exit(i32 noundef 1) #13
  unreachable

4201:                                             ; No predecessors!
  br label %4202

4202:                                             ; preds = %4201
  br label %4203

4203:                                             ; preds = %4202, %4145
  br label %4204

4204:                                             ; preds = %4203
  br label %4205

4205:                                             ; preds = %4204
  br label %4206

4206:                                             ; preds = %4205
  %4207 = load i32, ptr @test_count, align 4, !tbaa !5
  %4208 = add nsw i32 %4207, 1
  store i32 %4208, ptr @test_count, align 4, !tbaa !5
  %4209 = load i64, ptr %112, align 8, !tbaa !15
  %4210 = load i64, ptr %111, align 8, !tbaa !15
  %4211 = icmp ult i64 %4209, %4210
  br i1 %4211, label %4265, label %4212

4212:                                             ; preds = %4206
  br label %4213

4213:                                             ; preds = %4212
  br label %4214

4214:                                             ; preds = %4213
  call void @llvm.lifetime.start.p0(i64 4, ptr %116) #11
  %4215 = call ptr @__errno_location() #12
  %4216 = load i32, ptr %4215, align 4, !tbaa !5
  store i32 %4216, ptr %116, align 4, !tbaa !5
  %4217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4218 = call i32 @s2n_print_stacktrace(ptr noundef %4217)
  %4219 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4220 = trunc i8 %4219 to i1
  br i1 %4220, label %4221, label %4243

4221:                                             ; preds = %4214
  %4222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4223 = call i32 @fileno(ptr noundef %4222) #11
  %4224 = call i32 @isatty(i32 noundef %4223) #11
  %4225 = icmp ne i32 %4224, 0
  br i1 %4225, label %4226, label %4243

4226:                                             ; preds = %4221
  %4227 = load i32, ptr %116, align 4, !tbaa !5
  %4228 = call ptr @__errno_location() #12
  store i32 %4227, ptr %4228, align 4, !tbaa !5
  %4229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4230 = load i32, ptr @test_count, align 4, !tbaa !5
  %4231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4232 = load i32, ptr %4231, align 4, !tbaa !5
  %4233 = call ptr @s2n_strerror(i32 noundef %4232, ptr noundef @.str.4)
  %4234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4235 = load i32, ptr %4234, align 4, !tbaa !5
  %4236 = call ptr @s2n_strerror_debug(i32 noundef %4235, ptr noundef @.str.4)
  %4237 = call ptr @__errno_location() #12
  %4238 = load i32, ptr %4237, align 4, !tbaa !5
  %4239 = call ptr @strerror(i32 noundef %4238) #11
  %4240 = call ptr @__errno_location() #12
  %4241 = load i32, ptr %4240, align 4, !tbaa !5
  %4242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4229, ptr noundef @.str.2, i32 noundef %4230, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 220, ptr noundef %4233, ptr noundef %4236, ptr noundef %4239, i32 noundef %4241) #11
  br label %4260

4243:                                             ; preds = %4221, %4214
  %4244 = load i32, ptr %116, align 4, !tbaa !5
  %4245 = call ptr @__errno_location() #12
  store i32 %4244, ptr %4245, align 4, !tbaa !5
  %4246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4247 = load i32, ptr @test_count, align 4, !tbaa !5
  %4248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4249 = load i32, ptr %4248, align 4, !tbaa !5
  %4250 = call ptr @s2n_strerror(i32 noundef %4249, ptr noundef @.str.4)
  %4251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4252 = load i32, ptr %4251, align 4, !tbaa !5
  %4253 = call ptr @s2n_strerror_debug(i32 noundef %4252, ptr noundef @.str.4)
  %4254 = call ptr @__errno_location() #12
  %4255 = load i32, ptr %4254, align 4, !tbaa !5
  %4256 = call ptr @strerror(i32 noundef %4255) #11
  %4257 = call ptr @__errno_location() #12
  %4258 = load i32, ptr %4257, align 4, !tbaa !5
  %4259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4246, ptr noundef @.str.5, i32 noundef %4247, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 220, ptr noundef %4250, ptr noundef %4253, ptr noundef %4256, i32 noundef %4258) #11
  br label %4260

4260:                                             ; preds = %4243, %4226
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #11
  br label %4261

4261:                                             ; preds = %4260
  br label %4262

4262:                                             ; preds = %4261
  call void @exit(i32 noundef 1) #13
  unreachable

4263:                                             ; No predecessors!
  br label %4264

4264:                                             ; preds = %4263
  br label %4265

4265:                                             ; preds = %4264, %4206
  br label %4266

4266:                                             ; preds = %4265
  br label %4267

4267:                                             ; preds = %4266
  br label %4268

4268:                                             ; preds = %4267
  %4269 = load i32, ptr @test_count, align 4, !tbaa !5
  %4270 = add nsw i32 %4269, 1
  store i32 %4270, ptr @test_count, align 4, !tbaa !5
  %4271 = load i32, ptr %113, align 4, !tbaa !5
  %4272 = icmp eq i32 %4271, 0
  br i1 %4272, label %4326, label %4273

4273:                                             ; preds = %4268
  br label %4274

4274:                                             ; preds = %4273
  br label %4275

4275:                                             ; preds = %4274
  call void @llvm.lifetime.start.p0(i64 4, ptr %117) #11
  %4276 = call ptr @__errno_location() #12
  %4277 = load i32, ptr %4276, align 4, !tbaa !5
  store i32 %4277, ptr %117, align 4, !tbaa !5
  %4278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4279 = call i32 @s2n_print_stacktrace(ptr noundef %4278)
  %4280 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4281 = trunc i8 %4280 to i1
  br i1 %4281, label %4282, label %4304

4282:                                             ; preds = %4275
  %4283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4284 = call i32 @fileno(ptr noundef %4283) #11
  %4285 = call i32 @isatty(i32 noundef %4284) #11
  %4286 = icmp ne i32 %4285, 0
  br i1 %4286, label %4287, label %4304

4287:                                             ; preds = %4282
  %4288 = load i32, ptr %117, align 4, !tbaa !5
  %4289 = call ptr @__errno_location() #12
  store i32 %4288, ptr %4289, align 4, !tbaa !5
  %4290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4291 = load i32, ptr @test_count, align 4, !tbaa !5
  %4292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4293 = load i32, ptr %4292, align 4, !tbaa !5
  %4294 = call ptr @s2n_strerror(i32 noundef %4293, ptr noundef @.str.4)
  %4295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4296 = load i32, ptr %4295, align 4, !tbaa !5
  %4297 = call ptr @s2n_strerror_debug(i32 noundef %4296, ptr noundef @.str.4)
  %4298 = call ptr @__errno_location() #12
  %4299 = load i32, ptr %4298, align 4, !tbaa !5
  %4300 = call ptr @strerror(i32 noundef %4299) #11
  %4301 = call ptr @__errno_location() #12
  %4302 = load i32, ptr %4301, align 4, !tbaa !5
  %4303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4290, ptr noundef @.str.2, i32 noundef %4291, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 221, ptr noundef %4294, ptr noundef %4297, ptr noundef %4300, i32 noundef %4302) #11
  br label %4321

4304:                                             ; preds = %4282, %4275
  %4305 = load i32, ptr %117, align 4, !tbaa !5
  %4306 = call ptr @__errno_location() #12
  store i32 %4305, ptr %4306, align 4, !tbaa !5
  %4307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4308 = load i32, ptr @test_count, align 4, !tbaa !5
  %4309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4310 = load i32, ptr %4309, align 4, !tbaa !5
  %4311 = call ptr @s2n_strerror(i32 noundef %4310, ptr noundef @.str.4)
  %4312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4313 = load i32, ptr %4312, align 4, !tbaa !5
  %4314 = call ptr @s2n_strerror_debug(i32 noundef %4313, ptr noundef @.str.4)
  %4315 = call ptr @__errno_location() #12
  %4316 = load i32, ptr %4315, align 4, !tbaa !5
  %4317 = call ptr @strerror(i32 noundef %4316) #11
  %4318 = call ptr @__errno_location() #12
  %4319 = load i32, ptr %4318, align 4, !tbaa !5
  %4320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4307, ptr noundef @.str.5, i32 noundef %4308, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 221, ptr noundef %4311, ptr noundef %4314, ptr noundef %4317, i32 noundef %4319) #11
  br label %4321

4321:                                             ; preds = %4304, %4287
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #11
  br label %4322

4322:                                             ; preds = %4321
  br label %4323

4323:                                             ; preds = %4322
  call void @exit(i32 noundef 1) #13
  unreachable

4324:                                             ; No predecessors!
  br label %4325

4325:                                             ; preds = %4324
  br label %4326

4326:                                             ; preds = %4325, %4268
  br label %4327

4327:                                             ; preds = %4326
  br label %4328

4328:                                             ; preds = %4327
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %112) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %111) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #11
  %4329 = call i32 @s2n_io_pair_close(ptr noundef %103)
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #11
  %4330 = call i32 @s2n_connection_ptr_free(ptr noundef %101)
  %4331 = getelementptr inbounds %struct.s2n_result, ptr %118, i32 0, i32 0
  store i32 %4330, ptr %4331, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %101) #11
  call void @llvm.lifetime.start.p0(i64 24, ptr %119) #11
  %4332 = load ptr, ptr getelementptr inbounds (%struct.s2n_cipher_suite, ptr @s2n_tls13_aes_128_gcm_sha256, i32 0, i32 6), align 8, !tbaa !20
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %119, ptr align 8 %4332, i64 24, i1 false), !tbaa.struct !22
  %4333 = getelementptr inbounds %struct.s2n_record_algorithm, ptr %119, i32 0, i32 3
  store i64 0, ptr %4333, align 8, !tbaa !23
  call void @llvm.lifetime.start.p0(i64 104, ptr %120) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %120, ptr align 8 @s2n_tls13_aes_128_gcm_sha256, i64 104, i1 false), !tbaa.struct !25
  %4334 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %120, i32 0, i32 6
  store ptr %119, ptr %4334, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 8, ptr %121) #11
  %4335 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %4335, ptr %121, align 8, !tbaa !9
  br label %4336

4336:                                             ; preds = %4328
  %4337 = load i32, ptr @test_count, align 4, !tbaa !5
  %4338 = add nsw i32 %4337, 1
  store i32 %4338, ptr @test_count, align 4, !tbaa !5
  %4339 = load ptr, ptr %121, align 8, !tbaa !9
  %4340 = icmp eq ptr %4339, null
  br i1 %4340, label %4341, label %4394

4341:                                             ; preds = %4336
  br label %4342

4342:                                             ; preds = %4341
  br label %4343

4343:                                             ; preds = %4342
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #11
  %4344 = call ptr @__errno_location() #12
  %4345 = load i32, ptr %4344, align 4, !tbaa !5
  store i32 %4345, ptr %122, align 4, !tbaa !5
  %4346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4347 = call i32 @s2n_print_stacktrace(ptr noundef %4346)
  %4348 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4349 = trunc i8 %4348 to i1
  br i1 %4349, label %4350, label %4372

4350:                                             ; preds = %4343
  %4351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4352 = call i32 @fileno(ptr noundef %4351) #11
  %4353 = call i32 @isatty(i32 noundef %4352) #11
  %4354 = icmp ne i32 %4353, 0
  br i1 %4354, label %4355, label %4372

4355:                                             ; preds = %4350
  %4356 = load i32, ptr %122, align 4, !tbaa !5
  %4357 = call ptr @__errno_location() #12
  store i32 %4356, ptr %4357, align 4, !tbaa !5
  %4358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4359 = load i32, ptr @test_count, align 4, !tbaa !5
  %4360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4361 = load i32, ptr %4360, align 4, !tbaa !5
  %4362 = call ptr @s2n_strerror(i32 noundef %4361, ptr noundef @.str.4)
  %4363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4364 = load i32, ptr %4363, align 4, !tbaa !5
  %4365 = call ptr @s2n_strerror_debug(i32 noundef %4364, ptr noundef @.str.4)
  %4366 = call ptr @__errno_location() #12
  %4367 = load i32, ptr %4366, align 4, !tbaa !5
  %4368 = call ptr @strerror(i32 noundef %4367) #11
  %4369 = call ptr @__errno_location() #12
  %4370 = load i32, ptr %4369, align 4, !tbaa !5
  %4371 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4358, ptr noundef @.str.2, i32 noundef %4359, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 233, ptr noundef %4362, ptr noundef %4365, ptr noundef %4368, i32 noundef %4370) #11
  br label %4389

4372:                                             ; preds = %4350, %4343
  %4373 = load i32, ptr %122, align 4, !tbaa !5
  %4374 = call ptr @__errno_location() #12
  store i32 %4373, ptr %4374, align 4, !tbaa !5
  %4375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4376 = load i32, ptr @test_count, align 4, !tbaa !5
  %4377 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4378 = load i32, ptr %4377, align 4, !tbaa !5
  %4379 = call ptr @s2n_strerror(i32 noundef %4378, ptr noundef @.str.4)
  %4380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4381 = load i32, ptr %4380, align 4, !tbaa !5
  %4382 = call ptr @s2n_strerror_debug(i32 noundef %4381, ptr noundef @.str.4)
  %4383 = call ptr @__errno_location() #12
  %4384 = load i32, ptr %4383, align 4, !tbaa !5
  %4385 = call ptr @strerror(i32 noundef %4384) #11
  %4386 = call ptr @__errno_location() #12
  %4387 = load i32, ptr %4386, align 4, !tbaa !5
  %4388 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4375, ptr noundef @.str.5, i32 noundef %4376, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 233, ptr noundef %4379, ptr noundef %4382, ptr noundef %4385, i32 noundef %4387) #11
  br label %4389

4389:                                             ; preds = %4372, %4355
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #11
  br label %4390

4390:                                             ; preds = %4389
  br label %4391

4391:                                             ; preds = %4390
  call void @exit(i32 noundef 1) #13
  unreachable

4392:                                             ; No predecessors!
  br label %4393

4393:                                             ; preds = %4392
  br label %4394

4394:                                             ; preds = %4393, %4336
  br label %4395

4395:                                             ; preds = %4394
  br label %4396

4396:                                             ; preds = %4395
  %4397 = load ptr, ptr %121, align 8, !tbaa !9
  %4398 = load i32, ptr %4397, align 8
  %4399 = and i32 %4398, -262145
  %4400 = or i32 %4399, 262144
  store i32 %4400, ptr %4397, align 8
  %4401 = load ptr, ptr %121, align 8, !tbaa !9
  %4402 = getelementptr inbounds %struct.s2n_connection, ptr %4401, i32 0, i32 23
  store i8 34, ptr %4402, align 4, !tbaa !27
  call void @llvm.lifetime.start.p0(i64 8, ptr %123) #11
  call void @llvm.memset.p0.i64(ptr align 4 %123, i8 0, i64 8, i1 false)
  br label %4403

4403:                                             ; preds = %4396
  %4404 = load i32, ptr @test_count, align 4, !tbaa !5
  %4405 = add nsw i32 %4404, 1
  store i32 %4405, ptr @test_count, align 4, !tbaa !5
  %4406 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %123)
  %4407 = icmp eq i32 %4406, -1
  br i1 %4407, label %4408, label %4461

4408:                                             ; preds = %4403
  br label %4409

4409:                                             ; preds = %4408
  br label %4410

4410:                                             ; preds = %4409
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #11
  %4411 = call ptr @__errno_location() #12
  %4412 = load i32, ptr %4411, align 4, !tbaa !5
  store i32 %4412, ptr %124, align 4, !tbaa !5
  %4413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4414 = call i32 @s2n_print_stacktrace(ptr noundef %4413)
  %4415 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4416 = trunc i8 %4415 to i1
  br i1 %4416, label %4417, label %4439

4417:                                             ; preds = %4410
  %4418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4419 = call i32 @fileno(ptr noundef %4418) #11
  %4420 = call i32 @isatty(i32 noundef %4419) #11
  %4421 = icmp ne i32 %4420, 0
  br i1 %4421, label %4422, label %4439

4422:                                             ; preds = %4417
  %4423 = load i32, ptr %124, align 4, !tbaa !5
  %4424 = call ptr @__errno_location() #12
  store i32 %4423, ptr %4424, align 4, !tbaa !5
  %4425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4426 = load i32, ptr @test_count, align 4, !tbaa !5
  %4427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4428 = load i32, ptr %4427, align 4, !tbaa !5
  %4429 = call ptr @s2n_strerror(i32 noundef %4428, ptr noundef @.str.4)
  %4430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4431 = load i32, ptr %4430, align 4, !tbaa !5
  %4432 = call ptr @s2n_strerror_debug(i32 noundef %4431, ptr noundef @.str.4)
  %4433 = call ptr @__errno_location() #12
  %4434 = load i32, ptr %4433, align 4, !tbaa !5
  %4435 = call ptr @strerror(i32 noundef %4434) #11
  %4436 = call ptr @__errno_location() #12
  %4437 = load i32, ptr %4436, align 4, !tbaa !5
  %4438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4425, ptr noundef @.str.2, i32 noundef %4426, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 238, ptr noundef %4429, ptr noundef %4432, ptr noundef %4435, i32 noundef %4437) #11
  br label %4456

4439:                                             ; preds = %4417, %4410
  %4440 = load i32, ptr %124, align 4, !tbaa !5
  %4441 = call ptr @__errno_location() #12
  store i32 %4440, ptr %4441, align 4, !tbaa !5
  %4442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4443 = load i32, ptr @test_count, align 4, !tbaa !5
  %4444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4445 = load i32, ptr %4444, align 4, !tbaa !5
  %4446 = call ptr @s2n_strerror(i32 noundef %4445, ptr noundef @.str.4)
  %4447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4448 = load i32, ptr %4447, align 4, !tbaa !5
  %4449 = call ptr @s2n_strerror_debug(i32 noundef %4448, ptr noundef @.str.4)
  %4450 = call ptr @__errno_location() #12
  %4451 = load i32, ptr %4450, align 4, !tbaa !5
  %4452 = call ptr @strerror(i32 noundef %4451) #11
  %4453 = call ptr @__errno_location() #12
  %4454 = load i32, ptr %4453, align 4, !tbaa !5
  %4455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4442, ptr noundef @.str.5, i32 noundef %4443, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 238, ptr noundef %4446, ptr noundef %4449, ptr noundef %4452, i32 noundef %4454) #11
  br label %4456

4456:                                             ; preds = %4439, %4422
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #11
  br label %4457

4457:                                             ; preds = %4456
  br label %4458

4458:                                             ; preds = %4457
  call void @exit(i32 noundef 1) #13
  unreachable

4459:                                             ; No predecessors!
  br label %4460

4460:                                             ; preds = %4459
  br label %4461

4461:                                             ; preds = %4460, %4403
  br label %4462

4462:                                             ; preds = %4461
  br label %4463

4463:                                             ; preds = %4462
  br label %4464

4464:                                             ; preds = %4463
  %4465 = load i32, ptr @test_count, align 4, !tbaa !5
  %4466 = add nsw i32 %4465, 1
  store i32 %4466, ptr @test_count, align 4, !tbaa !5
  %4467 = load ptr, ptr %121, align 8, !tbaa !9
  %4468 = getelementptr inbounds %struct.s2n_test_io_pair, ptr %123, i32 0, i32 1
  %4469 = load i32, ptr %4468, align 4, !tbaa !17
  %4470 = call i32 @s2n_connection_set_write_fd(ptr noundef %4467, i32 noundef %4469)
  %4471 = icmp eq i32 %4470, -1
  br i1 %4471, label %4472, label %4525

4472:                                             ; preds = %4464
  br label %4473

4473:                                             ; preds = %4472
  br label %4474

4474:                                             ; preds = %4473
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #11
  %4475 = call ptr @__errno_location() #12
  %4476 = load i32, ptr %4475, align 4, !tbaa !5
  store i32 %4476, ptr %125, align 4, !tbaa !5
  %4477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4478 = call i32 @s2n_print_stacktrace(ptr noundef %4477)
  %4479 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4480 = trunc i8 %4479 to i1
  br i1 %4480, label %4481, label %4503

4481:                                             ; preds = %4474
  %4482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4483 = call i32 @fileno(ptr noundef %4482) #11
  %4484 = call i32 @isatty(i32 noundef %4483) #11
  %4485 = icmp ne i32 %4484, 0
  br i1 %4485, label %4486, label %4503

4486:                                             ; preds = %4481
  %4487 = load i32, ptr %125, align 4, !tbaa !5
  %4488 = call ptr @__errno_location() #12
  store i32 %4487, ptr %4488, align 4, !tbaa !5
  %4489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4490 = load i32, ptr @test_count, align 4, !tbaa !5
  %4491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4492 = load i32, ptr %4491, align 4, !tbaa !5
  %4493 = call ptr @s2n_strerror(i32 noundef %4492, ptr noundef @.str.4)
  %4494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4495 = load i32, ptr %4494, align 4, !tbaa !5
  %4496 = call ptr @s2n_strerror_debug(i32 noundef %4495, ptr noundef @.str.4)
  %4497 = call ptr @__errno_location() #12
  %4498 = load i32, ptr %4497, align 4, !tbaa !5
  %4499 = call ptr @strerror(i32 noundef %4498) #11
  %4500 = call ptr @__errno_location() #12
  %4501 = load i32, ptr %4500, align 4, !tbaa !5
  %4502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4489, ptr noundef @.str.2, i32 noundef %4490, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 239, ptr noundef %4493, ptr noundef %4496, ptr noundef %4499, i32 noundef %4501) #11
  br label %4520

4503:                                             ; preds = %4481, %4474
  %4504 = load i32, ptr %125, align 4, !tbaa !5
  %4505 = call ptr @__errno_location() #12
  store i32 %4504, ptr %4505, align 4, !tbaa !5
  %4506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4507 = load i32, ptr @test_count, align 4, !tbaa !5
  %4508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4509 = load i32, ptr %4508, align 4, !tbaa !5
  %4510 = call ptr @s2n_strerror(i32 noundef %4509, ptr noundef @.str.4)
  %4511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4512 = load i32, ptr %4511, align 4, !tbaa !5
  %4513 = call ptr @s2n_strerror_debug(i32 noundef %4512, ptr noundef @.str.4)
  %4514 = call ptr @__errno_location() #12
  %4515 = load i32, ptr %4514, align 4, !tbaa !5
  %4516 = call ptr @strerror(i32 noundef %4515) #11
  %4517 = call ptr @__errno_location() #12
  %4518 = load i32, ptr %4517, align 4, !tbaa !5
  %4519 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4506, ptr noundef @.str.5, i32 noundef %4507, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 239, ptr noundef %4510, ptr noundef %4513, ptr noundef %4516, i32 noundef %4518) #11
  br label %4520

4520:                                             ; preds = %4503, %4486
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #11
  br label %4521

4521:                                             ; preds = %4520
  br label %4522

4522:                                             ; preds = %4521
  call void @exit(i32 noundef 1) #13
  unreachable

4523:                                             ; No predecessors!
  br label %4524

4524:                                             ; preds = %4523
  br label %4525

4525:                                             ; preds = %4524, %4464
  br label %4526

4526:                                             ; preds = %4525
  br label %4527

4527:                                             ; preds = %4526
  call void @llvm.lifetime.start.p0(i64 8, ptr %126) #11
  store i64 1, ptr %126, align 8, !tbaa !15
  br label %4528

4528:                                             ; preds = %4527
  %4529 = load i32, ptr @test_count, align 4, !tbaa !5
  %4530 = add nsw i32 %4529, 1
  store i32 %4530, ptr @test_count, align 4, !tbaa !5
  %4531 = load ptr, ptr %121, align 8, !tbaa !9
  %4532 = call i32 @s2n_test_get_seq_num(ptr noundef %4531, ptr noundef %126)
  %4533 = getelementptr inbounds %struct.s2n_result, ptr %127, i32 0, i32 0
  store i32 %4532, ptr %4533, align 4
  %4534 = getelementptr inbounds %struct.s2n_result, ptr %127, i32 0, i32 0
  %4535 = load i32, ptr %4534, align 4
  %4536 = call zeroext i1 @s2n_result_is_ok(i32 %4535)
  br i1 %4536, label %4590, label %4537

4537:                                             ; preds = %4528
  br label %4538

4538:                                             ; preds = %4537
  br label %4539

4539:                                             ; preds = %4538
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #11
  %4540 = call ptr @__errno_location() #12
  %4541 = load i32, ptr %4540, align 4, !tbaa !5
  store i32 %4541, ptr %128, align 4, !tbaa !5
  %4542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4543 = call i32 @s2n_print_stacktrace(ptr noundef %4542)
  %4544 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4545 = trunc i8 %4544 to i1
  br i1 %4545, label %4546, label %4568

4546:                                             ; preds = %4539
  %4547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4548 = call i32 @fileno(ptr noundef %4547) #11
  %4549 = call i32 @isatty(i32 noundef %4548) #11
  %4550 = icmp ne i32 %4549, 0
  br i1 %4550, label %4551, label %4568

4551:                                             ; preds = %4546
  %4552 = load i32, ptr %128, align 4, !tbaa !5
  %4553 = call ptr @__errno_location() #12
  store i32 %4552, ptr %4553, align 4, !tbaa !5
  %4554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4555 = load i32, ptr @test_count, align 4, !tbaa !5
  %4556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4557 = load i32, ptr %4556, align 4, !tbaa !5
  %4558 = call ptr @s2n_strerror(i32 noundef %4557, ptr noundef @.str.4)
  %4559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4560 = load i32, ptr %4559, align 4, !tbaa !5
  %4561 = call ptr @s2n_strerror_debug(i32 noundef %4560, ptr noundef @.str.4)
  %4562 = call ptr @__errno_location() #12
  %4563 = load i32, ptr %4562, align 4, !tbaa !5
  %4564 = call ptr @strerror(i32 noundef %4563) #11
  %4565 = call ptr @__errno_location() #12
  %4566 = load i32, ptr %4565, align 4, !tbaa !5
  %4567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4554, ptr noundef @.str.2, i32 noundef %4555, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 243, ptr noundef %4558, ptr noundef %4561, ptr noundef %4564, i32 noundef %4566) #11
  br label %4585

4568:                                             ; preds = %4546, %4539
  %4569 = load i32, ptr %128, align 4, !tbaa !5
  %4570 = call ptr @__errno_location() #12
  store i32 %4569, ptr %4570, align 4, !tbaa !5
  %4571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4572 = load i32, ptr @test_count, align 4, !tbaa !5
  %4573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4574 = load i32, ptr %4573, align 4, !tbaa !5
  %4575 = call ptr @s2n_strerror(i32 noundef %4574, ptr noundef @.str.4)
  %4576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4577 = load i32, ptr %4576, align 4, !tbaa !5
  %4578 = call ptr @s2n_strerror_debug(i32 noundef %4577, ptr noundef @.str.4)
  %4579 = call ptr @__errno_location() #12
  %4580 = load i32, ptr %4579, align 4, !tbaa !5
  %4581 = call ptr @strerror(i32 noundef %4580) #11
  %4582 = call ptr @__errno_location() #12
  %4583 = load i32, ptr %4582, align 4, !tbaa !5
  %4584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4571, ptr noundef @.str.5, i32 noundef %4572, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 243, ptr noundef %4575, ptr noundef %4578, ptr noundef %4581, i32 noundef %4583) #11
  br label %4585

4585:                                             ; preds = %4568, %4551
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #11
  br label %4586

4586:                                             ; preds = %4585
  br label %4587

4587:                                             ; preds = %4586
  call void @exit(i32 noundef 1) #13
  unreachable

4588:                                             ; No predecessors!
  br label %4589

4589:                                             ; preds = %4588
  br label %4590

4590:                                             ; preds = %4589, %4528
  br label %4591

4591:                                             ; preds = %4590
  br label %4592

4592:                                             ; preds = %4591
  br label %4593

4593:                                             ; preds = %4592
  %4594 = load i32, ptr @test_count, align 4, !tbaa !5
  %4595 = add nsw i32 %4594, 1
  store i32 %4595, ptr @test_count, align 4, !tbaa !5
  %4596 = load i64, ptr %126, align 8, !tbaa !15
  %4597 = icmp eq i64 %4596, 0
  br i1 %4597, label %4651, label %4598

4598:                                             ; preds = %4593
  br label %4599

4599:                                             ; preds = %4598
  br label %4600

4600:                                             ; preds = %4599
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #11
  %4601 = call ptr @__errno_location() #12
  %4602 = load i32, ptr %4601, align 4, !tbaa !5
  store i32 %4602, ptr %129, align 4, !tbaa !5
  %4603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4604 = call i32 @s2n_print_stacktrace(ptr noundef %4603)
  %4605 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4606 = trunc i8 %4605 to i1
  br i1 %4606, label %4607, label %4629

4607:                                             ; preds = %4600
  %4608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4609 = call i32 @fileno(ptr noundef %4608) #11
  %4610 = call i32 @isatty(i32 noundef %4609) #11
  %4611 = icmp ne i32 %4610, 0
  br i1 %4611, label %4612, label %4629

4612:                                             ; preds = %4607
  %4613 = load i32, ptr %129, align 4, !tbaa !5
  %4614 = call ptr @__errno_location() #12
  store i32 %4613, ptr %4614, align 4, !tbaa !5
  %4615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4616 = load i32, ptr @test_count, align 4, !tbaa !5
  %4617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4618 = load i32, ptr %4617, align 4, !tbaa !5
  %4619 = call ptr @s2n_strerror(i32 noundef %4618, ptr noundef @.str.4)
  %4620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4621 = load i32, ptr %4620, align 4, !tbaa !5
  %4622 = call ptr @s2n_strerror_debug(i32 noundef %4621, ptr noundef @.str.4)
  %4623 = call ptr @__errno_location() #12
  %4624 = load i32, ptr %4623, align 4, !tbaa !5
  %4625 = call ptr @strerror(i32 noundef %4624) #11
  %4626 = call ptr @__errno_location() #12
  %4627 = load i32, ptr %4626, align 4, !tbaa !5
  %4628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4615, ptr noundef @.str.2, i32 noundef %4616, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 244, ptr noundef %4619, ptr noundef %4622, ptr noundef %4625, i32 noundef %4627) #11
  br label %4646

4629:                                             ; preds = %4607, %4600
  %4630 = load i32, ptr %129, align 4, !tbaa !5
  %4631 = call ptr @__errno_location() #12
  store i32 %4630, ptr %4631, align 4, !tbaa !5
  %4632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4633 = load i32, ptr @test_count, align 4, !tbaa !5
  %4634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4635 = load i32, ptr %4634, align 4, !tbaa !5
  %4636 = call ptr @s2n_strerror(i32 noundef %4635, ptr noundef @.str.4)
  %4637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4638 = load i32, ptr %4637, align 4, !tbaa !5
  %4639 = call ptr @s2n_strerror_debug(i32 noundef %4638, ptr noundef @.str.4)
  %4640 = call ptr @__errno_location() #12
  %4641 = load i32, ptr %4640, align 4, !tbaa !5
  %4642 = call ptr @strerror(i32 noundef %4641) #11
  %4643 = call ptr @__errno_location() #12
  %4644 = load i32, ptr %4643, align 4, !tbaa !5
  %4645 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4632, ptr noundef @.str.5, i32 noundef %4633, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 244, ptr noundef %4636, ptr noundef %4639, ptr noundef %4642, i32 noundef %4644) #11
  br label %4646

4646:                                             ; preds = %4629, %4612
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #11
  br label %4647

4647:                                             ; preds = %4646
  br label %4648

4648:                                             ; preds = %4647
  call void @exit(i32 noundef 1) #13
  unreachable

4649:                                             ; No predecessors!
  br label %4650

4650:                                             ; preds = %4649
  br label %4651

4651:                                             ; preds = %4650, %4593
  br label %4652

4652:                                             ; preds = %4651
  br label %4653

4653:                                             ; preds = %4652
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #11
  store i32 0, ptr %130, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %131) #11
  store i64 0, ptr %131, align 8, !tbaa !15
  br label %4654

4654:                                             ; preds = %4653
  %4655 = load i32, ptr @test_count, align 4, !tbaa !5
  %4656 = add nsw i32 %4655, 1
  store i32 %4656, ptr @test_count, align 4, !tbaa !5
  %4657 = load ptr, ptr %121, align 8, !tbaa !9
  %4658 = load i32, ptr %40, align 4, !tbaa !5
  %4659 = call i32 @s2n_sendfile(ptr noundef %4657, i32 noundef %4658, i64 noundef 0, i64 noundef 100, ptr noundef %131, ptr noundef %130)
  %4660 = icmp eq i32 %4659, -1
  br i1 %4660, label %4661, label %4714

4661:                                             ; preds = %4654
  br label %4662

4662:                                             ; preds = %4661
  br label %4663

4663:                                             ; preds = %4662
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #11
  %4664 = call ptr @__errno_location() #12
  %4665 = load i32, ptr %4664, align 4, !tbaa !5
  store i32 %4665, ptr %132, align 4, !tbaa !5
  %4666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4667 = call i32 @s2n_print_stacktrace(ptr noundef %4666)
  %4668 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4669 = trunc i8 %4668 to i1
  br i1 %4669, label %4670, label %4692

4670:                                             ; preds = %4663
  %4671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4672 = call i32 @fileno(ptr noundef %4671) #11
  %4673 = call i32 @isatty(i32 noundef %4672) #11
  %4674 = icmp ne i32 %4673, 0
  br i1 %4674, label %4675, label %4692

4675:                                             ; preds = %4670
  %4676 = load i32, ptr %132, align 4, !tbaa !5
  %4677 = call ptr @__errno_location() #12
  store i32 %4676, ptr %4677, align 4, !tbaa !5
  %4678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4679 = load i32, ptr @test_count, align 4, !tbaa !5
  %4680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4681 = load i32, ptr %4680, align 4, !tbaa !5
  %4682 = call ptr @s2n_strerror(i32 noundef %4681, ptr noundef @.str.4)
  %4683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4684 = load i32, ptr %4683, align 4, !tbaa !5
  %4685 = call ptr @s2n_strerror_debug(i32 noundef %4684, ptr noundef @.str.4)
  %4686 = call ptr @__errno_location() #12
  %4687 = load i32, ptr %4686, align 4, !tbaa !5
  %4688 = call ptr @strerror(i32 noundef %4687) #11
  %4689 = call ptr @__errno_location() #12
  %4690 = load i32, ptr %4689, align 4, !tbaa !5
  %4691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4678, ptr noundef @.str.2, i32 noundef %4679, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 250, ptr noundef %4682, ptr noundef %4685, ptr noundef %4688, i32 noundef %4690) #11
  br label %4709

4692:                                             ; preds = %4670, %4663
  %4693 = load i32, ptr %132, align 4, !tbaa !5
  %4694 = call ptr @__errno_location() #12
  store i32 %4693, ptr %4694, align 4, !tbaa !5
  %4695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4696 = load i32, ptr @test_count, align 4, !tbaa !5
  %4697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4698 = load i32, ptr %4697, align 4, !tbaa !5
  %4699 = call ptr @s2n_strerror(i32 noundef %4698, ptr noundef @.str.4)
  %4700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4701 = load i32, ptr %4700, align 4, !tbaa !5
  %4702 = call ptr @s2n_strerror_debug(i32 noundef %4701, ptr noundef @.str.4)
  %4703 = call ptr @__errno_location() #12
  %4704 = load i32, ptr %4703, align 4, !tbaa !5
  %4705 = call ptr @strerror(i32 noundef %4704) #11
  %4706 = call ptr @__errno_location() #12
  %4707 = load i32, ptr %4706, align 4, !tbaa !5
  %4708 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4695, ptr noundef @.str.5, i32 noundef %4696, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 250, ptr noundef %4699, ptr noundef %4702, ptr noundef %4705, i32 noundef %4707) #11
  br label %4709

4709:                                             ; preds = %4692, %4675
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #11
  br label %4710

4710:                                             ; preds = %4709
  br label %4711

4711:                                             ; preds = %4710
  call void @exit(i32 noundef 1) #13
  unreachable

4712:                                             ; No predecessors!
  br label %4713

4713:                                             ; preds = %4712
  br label %4714

4714:                                             ; preds = %4713, %4654
  br label %4715

4715:                                             ; preds = %4714
  br label %4716

4716:                                             ; preds = %4715
  br label %4717

4717:                                             ; preds = %4716
  %4718 = load i32, ptr @test_count, align 4, !tbaa !5
  %4719 = add nsw i32 %4718, 1
  store i32 %4719, ptr @test_count, align 4, !tbaa !5
  %4720 = load ptr, ptr %121, align 8, !tbaa !9
  %4721 = call i32 @s2n_test_get_seq_num(ptr noundef %4720, ptr noundef %126)
  %4722 = getelementptr inbounds %struct.s2n_result, ptr %133, i32 0, i32 0
  store i32 %4721, ptr %4722, align 4
  %4723 = getelementptr inbounds %struct.s2n_result, ptr %133, i32 0, i32 0
  %4724 = load i32, ptr %4723, align 4
  %4725 = call zeroext i1 @s2n_result_is_ok(i32 %4724)
  br i1 %4725, label %4779, label %4726

4726:                                             ; preds = %4717
  br label %4727

4727:                                             ; preds = %4726
  br label %4728

4728:                                             ; preds = %4727
  call void @llvm.lifetime.start.p0(i64 4, ptr %134) #11
  %4729 = call ptr @__errno_location() #12
  %4730 = load i32, ptr %4729, align 4, !tbaa !5
  store i32 %4730, ptr %134, align 4, !tbaa !5
  %4731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4732 = call i32 @s2n_print_stacktrace(ptr noundef %4731)
  %4733 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4734 = trunc i8 %4733 to i1
  br i1 %4734, label %4735, label %4757

4735:                                             ; preds = %4728
  %4736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4737 = call i32 @fileno(ptr noundef %4736) #11
  %4738 = call i32 @isatty(i32 noundef %4737) #11
  %4739 = icmp ne i32 %4738, 0
  br i1 %4739, label %4740, label %4757

4740:                                             ; preds = %4735
  %4741 = load i32, ptr %134, align 4, !tbaa !5
  %4742 = call ptr @__errno_location() #12
  store i32 %4741, ptr %4742, align 4, !tbaa !5
  %4743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4744 = load i32, ptr @test_count, align 4, !tbaa !5
  %4745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4746 = load i32, ptr %4745, align 4, !tbaa !5
  %4747 = call ptr @s2n_strerror(i32 noundef %4746, ptr noundef @.str.4)
  %4748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4749 = load i32, ptr %4748, align 4, !tbaa !5
  %4750 = call ptr @s2n_strerror_debug(i32 noundef %4749, ptr noundef @.str.4)
  %4751 = call ptr @__errno_location() #12
  %4752 = load i32, ptr %4751, align 4, !tbaa !5
  %4753 = call ptr @strerror(i32 noundef %4752) #11
  %4754 = call ptr @__errno_location() #12
  %4755 = load i32, ptr %4754, align 4, !tbaa !5
  %4756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4743, ptr noundef @.str.2, i32 noundef %4744, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 251, ptr noundef %4747, ptr noundef %4750, ptr noundef %4753, i32 noundef %4755) #11
  br label %4774

4757:                                             ; preds = %4735, %4728
  %4758 = load i32, ptr %134, align 4, !tbaa !5
  %4759 = call ptr @__errno_location() #12
  store i32 %4758, ptr %4759, align 4, !tbaa !5
  %4760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4761 = load i32, ptr @test_count, align 4, !tbaa !5
  %4762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4763 = load i32, ptr %4762, align 4, !tbaa !5
  %4764 = call ptr @s2n_strerror(i32 noundef %4763, ptr noundef @.str.4)
  %4765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4766 = load i32, ptr %4765, align 4, !tbaa !5
  %4767 = call ptr @s2n_strerror_debug(i32 noundef %4766, ptr noundef @.str.4)
  %4768 = call ptr @__errno_location() #12
  %4769 = load i32, ptr %4768, align 4, !tbaa !5
  %4770 = call ptr @strerror(i32 noundef %4769) #11
  %4771 = call ptr @__errno_location() #12
  %4772 = load i32, ptr %4771, align 4, !tbaa !5
  %4773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4760, ptr noundef @.str.5, i32 noundef %4761, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 251, ptr noundef %4764, ptr noundef %4767, ptr noundef %4770, i32 noundef %4772) #11
  br label %4774

4774:                                             ; preds = %4757, %4740
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #11
  br label %4775

4775:                                             ; preds = %4774
  br label %4776

4776:                                             ; preds = %4775
  call void @exit(i32 noundef 1) #13
  unreachable

4777:                                             ; No predecessors!
  br label %4778

4778:                                             ; preds = %4777
  br label %4779

4779:                                             ; preds = %4778, %4717
  br label %4780

4780:                                             ; preds = %4779
  br label %4781

4781:                                             ; preds = %4780
  br label %4782

4782:                                             ; preds = %4781
  %4783 = load i32, ptr @test_count, align 4, !tbaa !5
  %4784 = add nsw i32 %4783, 1
  store i32 %4784, ptr @test_count, align 4, !tbaa !5
  %4785 = load i64, ptr %126, align 8, !tbaa !15
  %4786 = icmp ugt i64 %4785, 0
  br i1 %4786, label %4840, label %4787

4787:                                             ; preds = %4782
  br label %4788

4788:                                             ; preds = %4787
  br label %4789

4789:                                             ; preds = %4788
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #11
  %4790 = call ptr @__errno_location() #12
  %4791 = load i32, ptr %4790, align 4, !tbaa !5
  store i32 %4791, ptr %135, align 4, !tbaa !5
  %4792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4793 = call i32 @s2n_print_stacktrace(ptr noundef %4792)
  %4794 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4795 = trunc i8 %4794 to i1
  br i1 %4795, label %4796, label %4818

4796:                                             ; preds = %4789
  %4797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4798 = call i32 @fileno(ptr noundef %4797) #11
  %4799 = call i32 @isatty(i32 noundef %4798) #11
  %4800 = icmp ne i32 %4799, 0
  br i1 %4800, label %4801, label %4818

4801:                                             ; preds = %4796
  %4802 = load i32, ptr %135, align 4, !tbaa !5
  %4803 = call ptr @__errno_location() #12
  store i32 %4802, ptr %4803, align 4, !tbaa !5
  %4804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4805 = load i32, ptr @test_count, align 4, !tbaa !5
  %4806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4807 = load i32, ptr %4806, align 4, !tbaa !5
  %4808 = call ptr @s2n_strerror(i32 noundef %4807, ptr noundef @.str.4)
  %4809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4810 = load i32, ptr %4809, align 4, !tbaa !5
  %4811 = call ptr @s2n_strerror_debug(i32 noundef %4810, ptr noundef @.str.4)
  %4812 = call ptr @__errno_location() #12
  %4813 = load i32, ptr %4812, align 4, !tbaa !5
  %4814 = call ptr @strerror(i32 noundef %4813) #11
  %4815 = call ptr @__errno_location() #12
  %4816 = load i32, ptr %4815, align 4, !tbaa !5
  %4817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4804, ptr noundef @.str.2, i32 noundef %4805, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 252, ptr noundef %4808, ptr noundef %4811, ptr noundef %4814, i32 noundef %4816) #11
  br label %4835

4818:                                             ; preds = %4796, %4789
  %4819 = load i32, ptr %135, align 4, !tbaa !5
  %4820 = call ptr @__errno_location() #12
  store i32 %4819, ptr %4820, align 4, !tbaa !5
  %4821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4822 = load i32, ptr @test_count, align 4, !tbaa !5
  %4823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4824 = load i32, ptr %4823, align 4, !tbaa !5
  %4825 = call ptr @s2n_strerror(i32 noundef %4824, ptr noundef @.str.4)
  %4826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4827 = load i32, ptr %4826, align 4, !tbaa !5
  %4828 = call ptr @s2n_strerror_debug(i32 noundef %4827, ptr noundef @.str.4)
  %4829 = call ptr @__errno_location() #12
  %4830 = load i32, ptr %4829, align 4, !tbaa !5
  %4831 = call ptr @strerror(i32 noundef %4830) #11
  %4832 = call ptr @__errno_location() #12
  %4833 = load i32, ptr %4832, align 4, !tbaa !5
  %4834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4821, ptr noundef @.str.5, i32 noundef %4822, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 252, ptr noundef %4825, ptr noundef %4828, ptr noundef %4831, i32 noundef %4833) #11
  br label %4835

4835:                                             ; preds = %4818, %4801
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #11
  br label %4836

4836:                                             ; preds = %4835
  br label %4837

4837:                                             ; preds = %4836
  call void @exit(i32 noundef 1) #13
  unreachable

4838:                                             ; No predecessors!
  br label %4839

4839:                                             ; preds = %4838
  br label %4840

4840:                                             ; preds = %4839, %4782
  br label %4841

4841:                                             ; preds = %4840
  br label %4842

4842:                                             ; preds = %4841
  br label %4843

4843:                                             ; preds = %4842
  %4844 = load i32, ptr @test_count, align 4, !tbaa !5
  %4845 = add nsw i32 %4844, 1
  store i32 %4845, ptr @test_count, align 4, !tbaa !5
  %4846 = load ptr, ptr %121, align 8, !tbaa !9
  %4847 = getelementptr inbounds %struct.s2n_connection, ptr %4846, i32 0, i32 27
  %4848 = load ptr, ptr %4847, align 8, !tbaa !53
  %4849 = icmp eq ptr %4848, null
  br i1 %4849, label %4850, label %4903

4850:                                             ; preds = %4843
  br label %4851

4851:                                             ; preds = %4850
  br label %4852

4852:                                             ; preds = %4851
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #11
  %4853 = call ptr @__errno_location() #12
  %4854 = load i32, ptr %4853, align 4, !tbaa !5
  store i32 %4854, ptr %136, align 4, !tbaa !5
  %4855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4856 = call i32 @s2n_print_stacktrace(ptr noundef %4855)
  %4857 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4858 = trunc i8 %4857 to i1
  br i1 %4858, label %4859, label %4881

4859:                                             ; preds = %4852
  %4860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4861 = call i32 @fileno(ptr noundef %4860) #11
  %4862 = call i32 @isatty(i32 noundef %4861) #11
  %4863 = icmp ne i32 %4862, 0
  br i1 %4863, label %4864, label %4881

4864:                                             ; preds = %4859
  %4865 = load i32, ptr %136, align 4, !tbaa !5
  %4866 = call ptr @__errno_location() #12
  store i32 %4865, ptr %4866, align 4, !tbaa !5
  %4867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4868 = load i32, ptr @test_count, align 4, !tbaa !5
  %4869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4870 = load i32, ptr %4869, align 4, !tbaa !5
  %4871 = call ptr @s2n_strerror(i32 noundef %4870, ptr noundef @.str.4)
  %4872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4873 = load i32, ptr %4872, align 4, !tbaa !5
  %4874 = call ptr @s2n_strerror_debug(i32 noundef %4873, ptr noundef @.str.4)
  %4875 = call ptr @__errno_location() #12
  %4876 = load i32, ptr %4875, align 4, !tbaa !5
  %4877 = call ptr @strerror(i32 noundef %4876) #11
  %4878 = call ptr @__errno_location() #12
  %4879 = load i32, ptr %4878, align 4, !tbaa !5
  %4880 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4867, ptr noundef @.str.2, i32 noundef %4868, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 255, ptr noundef %4871, ptr noundef %4874, ptr noundef %4877, i32 noundef %4879) #11
  br label %4898

4881:                                             ; preds = %4859, %4852
  %4882 = load i32, ptr %136, align 4, !tbaa !5
  %4883 = call ptr @__errno_location() #12
  store i32 %4882, ptr %4883, align 4, !tbaa !5
  %4884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4885 = load i32, ptr @test_count, align 4, !tbaa !5
  %4886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4887 = load i32, ptr %4886, align 4, !tbaa !5
  %4888 = call ptr @s2n_strerror(i32 noundef %4887, ptr noundef @.str.4)
  %4889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4890 = load i32, ptr %4889, align 4, !tbaa !5
  %4891 = call ptr @s2n_strerror_debug(i32 noundef %4890, ptr noundef @.str.4)
  %4892 = call ptr @__errno_location() #12
  %4893 = load i32, ptr %4892, align 4, !tbaa !5
  %4894 = call ptr @strerror(i32 noundef %4893) #11
  %4895 = call ptr @__errno_location() #12
  %4896 = load i32, ptr %4895, align 4, !tbaa !5
  %4897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4884, ptr noundef @.str.5, i32 noundef %4885, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 255, ptr noundef %4888, ptr noundef %4891, ptr noundef %4894, i32 noundef %4896) #11
  br label %4898

4898:                                             ; preds = %4881, %4864
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #11
  br label %4899

4899:                                             ; preds = %4898
  br label %4900

4900:                                             ; preds = %4899
  call void @exit(i32 noundef 1) #13
  unreachable

4901:                                             ; No predecessors!
  br label %4902

4902:                                             ; preds = %4901
  br label %4903

4903:                                             ; preds = %4902, %4843
  br label %4904

4904:                                             ; preds = %4903
  br label %4905

4905:                                             ; preds = %4904
  %4906 = load ptr, ptr %121, align 8, !tbaa !9
  %4907 = getelementptr inbounds %struct.s2n_connection, ptr %4906, i32 0, i32 27
  %4908 = load ptr, ptr %4907, align 8, !tbaa !53
  %4909 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %4908, i32 0, i32 0
  store ptr %120, ptr %4909, align 8, !tbaa !54
  br label %4910

4910:                                             ; preds = %4905
  br label %4911

4911:                                             ; preds = %4910
  br label %4912

4912:                                             ; preds = %4911
  %4913 = load i32, ptr @test_count, align 4, !tbaa !5
  %4914 = add nsw i32 %4913, 1
  store i32 %4914, ptr @test_count, align 4, !tbaa !5
  %4915 = load ptr, ptr %121, align 8, !tbaa !9
  %4916 = load i32, ptr %40, align 4, !tbaa !5
  %4917 = call i32 @s2n_sendfile(ptr noundef %4915, i32 noundef %4916, i64 noundef 0, i64 noundef 100, ptr noundef %131, ptr noundef %130)
  %4918 = icmp eq i32 %4917, -1
  br i1 %4918, label %4972, label %4919

4919:                                             ; preds = %4912
  br label %4920

4920:                                             ; preds = %4919
  br label %4921

4921:                                             ; preds = %4920
  call void @llvm.lifetime.start.p0(i64 4, ptr %137) #11
  %4922 = call ptr @__errno_location() #12
  %4923 = load i32, ptr %4922, align 4, !tbaa !5
  store i32 %4923, ptr %137, align 4, !tbaa !5
  %4924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4925 = call i32 @s2n_print_stacktrace(ptr noundef %4924)
  %4926 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4927 = trunc i8 %4926 to i1
  br i1 %4927, label %4928, label %4950

4928:                                             ; preds = %4921
  %4929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4930 = call i32 @fileno(ptr noundef %4929) #11
  %4931 = call i32 @isatty(i32 noundef %4930) #11
  %4932 = icmp ne i32 %4931, 0
  br i1 %4932, label %4933, label %4950

4933:                                             ; preds = %4928
  %4934 = load i32, ptr %137, align 4, !tbaa !5
  %4935 = call ptr @__errno_location() #12
  store i32 %4934, ptr %4935, align 4, !tbaa !5
  %4936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4937 = load i32, ptr @test_count, align 4, !tbaa !5
  %4938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4939 = load i32, ptr %4938, align 4, !tbaa !5
  %4940 = call ptr @s2n_strerror(i32 noundef %4939, ptr noundef @.str.4)
  %4941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4942 = load i32, ptr %4941, align 4, !tbaa !5
  %4943 = call ptr @s2n_strerror_debug(i32 noundef %4942, ptr noundef @.str.4)
  %4944 = call ptr @__errno_location() #12
  %4945 = load i32, ptr %4944, align 4, !tbaa !5
  %4946 = call ptr @strerror(i32 noundef %4945) #11
  %4947 = call ptr @__errno_location() #12
  %4948 = load i32, ptr %4947, align 4, !tbaa !5
  %4949 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4936, ptr noundef @.str.2, i32 noundef %4937, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 259, ptr noundef %4940, ptr noundef %4943, ptr noundef %4946, i32 noundef %4948) #11
  br label %4967

4950:                                             ; preds = %4928, %4921
  %4951 = load i32, ptr %137, align 4, !tbaa !5
  %4952 = call ptr @__errno_location() #12
  store i32 %4951, ptr %4952, align 4, !tbaa !5
  %4953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4954 = load i32, ptr @test_count, align 4, !tbaa !5
  %4955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4956 = load i32, ptr %4955, align 4, !tbaa !5
  %4957 = call ptr @s2n_strerror(i32 noundef %4956, ptr noundef @.str.4)
  %4958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4959 = load i32, ptr %4958, align 4, !tbaa !5
  %4960 = call ptr @s2n_strerror_debug(i32 noundef %4959, ptr noundef @.str.4)
  %4961 = call ptr @__errno_location() #12
  %4962 = load i32, ptr %4961, align 4, !tbaa !5
  %4963 = call ptr @strerror(i32 noundef %4962) #11
  %4964 = call ptr @__errno_location() #12
  %4965 = load i32, ptr %4964, align 4, !tbaa !5
  %4966 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4953, ptr noundef @.str.5, i32 noundef %4954, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 259, ptr noundef %4957, ptr noundef %4960, ptr noundef %4963, i32 noundef %4965) #11
  br label %4967

4967:                                             ; preds = %4950, %4933
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #11
  br label %4968

4968:                                             ; preds = %4967
  br label %4969

4969:                                             ; preds = %4968
  call void @exit(i32 noundef 1) #13
  unreachable

4970:                                             ; No predecessors!
  br label %4971

4971:                                             ; preds = %4970
  br label %4972

4972:                                             ; preds = %4971, %4912
  br label %4973

4973:                                             ; preds = %4972
  br label %4974

4974:                                             ; preds = %4973
  br label %4975

4975:                                             ; preds = %4974
  %4976 = load i32, ptr @test_count, align 4, !tbaa !5
  %4977 = add nsw i32 %4976, 1
  store i32 %4977, ptr @test_count, align 4, !tbaa !5
  %4978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4979 = load i32, ptr %4978, align 4, !tbaa !5
  %4980 = icmp eq i32 %4979, 469762132
  br i1 %4980, label %5034, label %4981

4981:                                             ; preds = %4975
  br label %4982

4982:                                             ; preds = %4981
  br label %4983

4983:                                             ; preds = %4982
  call void @llvm.lifetime.start.p0(i64 4, ptr %138) #11
  %4984 = call ptr @__errno_location() #12
  %4985 = load i32, ptr %4984, align 4, !tbaa !5
  store i32 %4985, ptr %138, align 4, !tbaa !5
  %4986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4987 = call i32 @s2n_print_stacktrace(ptr noundef %4986)
  %4988 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4989 = trunc i8 %4988 to i1
  br i1 %4989, label %4990, label %5012

4990:                                             ; preds = %4983
  %4991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4992 = call i32 @fileno(ptr noundef %4991) #11
  %4993 = call i32 @isatty(i32 noundef %4992) #11
  %4994 = icmp ne i32 %4993, 0
  br i1 %4994, label %4995, label %5012

4995:                                             ; preds = %4990
  %4996 = load i32, ptr %138, align 4, !tbaa !5
  %4997 = call ptr @__errno_location() #12
  store i32 %4996, ptr %4997, align 4, !tbaa !5
  %4998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4999 = load i32, ptr @test_count, align 4, !tbaa !5
  %5000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5001 = load i32, ptr %5000, align 4, !tbaa !5
  %5002 = call ptr @s2n_strerror(i32 noundef %5001, ptr noundef @.str.4)
  %5003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5004 = load i32, ptr %5003, align 4, !tbaa !5
  %5005 = call ptr @s2n_strerror_debug(i32 noundef %5004, ptr noundef @.str.4)
  %5006 = call ptr @__errno_location() #12
  %5007 = load i32, ptr %5006, align 4, !tbaa !5
  %5008 = call ptr @strerror(i32 noundef %5007) #11
  %5009 = call ptr @__errno_location() #12
  %5010 = load i32, ptr %5009, align 4, !tbaa !5
  %5011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4998, ptr noundef @.str.2, i32 noundef %4999, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 259, ptr noundef %5002, ptr noundef %5005, ptr noundef %5008, i32 noundef %5010) #11
  br label %5029

5012:                                             ; preds = %4990, %4983
  %5013 = load i32, ptr %138, align 4, !tbaa !5
  %5014 = call ptr @__errno_location() #12
  store i32 %5013, ptr %5014, align 4, !tbaa !5
  %5015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5016 = load i32, ptr @test_count, align 4, !tbaa !5
  %5017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5018 = load i32, ptr %5017, align 4, !tbaa !5
  %5019 = call ptr @s2n_strerror(i32 noundef %5018, ptr noundef @.str.4)
  %5020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5021 = load i32, ptr %5020, align 4, !tbaa !5
  %5022 = call ptr @s2n_strerror_debug(i32 noundef %5021, ptr noundef @.str.4)
  %5023 = call ptr @__errno_location() #12
  %5024 = load i32, ptr %5023, align 4, !tbaa !5
  %5025 = call ptr @strerror(i32 noundef %5024) #11
  %5026 = call ptr @__errno_location() #12
  %5027 = load i32, ptr %5026, align 4, !tbaa !5
  %5028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5015, ptr noundef @.str.5, i32 noundef %5016, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 259, ptr noundef %5019, ptr noundef %5022, ptr noundef %5025, i32 noundef %5027) #11
  br label %5029

5029:                                             ; preds = %5012, %4995
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #11
  br label %5030

5030:                                             ; preds = %5029
  br label %5031

5031:                                             ; preds = %5030
  call void @exit(i32 noundef 1) #13
  unreachable

5032:                                             ; No predecessors!
  br label %5033

5033:                                             ; preds = %5032
  br label %5034

5034:                                             ; preds = %5033, %4975
  br label %5035

5035:                                             ; preds = %5034
  br label %5036

5036:                                             ; preds = %5035
  br label %5037

5037:                                             ; preds = %5036
  %5038 = load i32, ptr @test_count, align 4, !tbaa !5
  %5039 = add nsw i32 %5038, 1
  store i32 %5039, ptr @test_count, align 4, !tbaa !5
  %5040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5041 = load i32, ptr %5040, align 4, !tbaa !5
  %5042 = call ptr @s2n_strerror_debug(i32 noundef %5041, ptr noundef @.str.4)
  %5043 = icmp eq ptr %5042, null
  br i1 %5043, label %5044, label %5097

5044:                                             ; preds = %5037
  br label %5045

5045:                                             ; preds = %5044
  br label %5046

5046:                                             ; preds = %5045
  call void @llvm.lifetime.start.p0(i64 4, ptr %139) #11
  %5047 = call ptr @__errno_location() #12
  %5048 = load i32, ptr %5047, align 4, !tbaa !5
  store i32 %5048, ptr %139, align 4, !tbaa !5
  %5049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5050 = call i32 @s2n_print_stacktrace(ptr noundef %5049)
  %5051 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5052 = trunc i8 %5051 to i1
  br i1 %5052, label %5053, label %5075

5053:                                             ; preds = %5046
  %5054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5055 = call i32 @fileno(ptr noundef %5054) #11
  %5056 = call i32 @isatty(i32 noundef %5055) #11
  %5057 = icmp ne i32 %5056, 0
  br i1 %5057, label %5058, label %5075

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

5075:                                             ; preds = %5053, %5046
  %5076 = load i32, ptr %139, align 4, !tbaa !5
  %5077 = call ptr @__errno_location() #12
  store i32 %5076, ptr %5077, align 4, !tbaa !5
  %5078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5079 = load i32, ptr @test_count, align 4, !tbaa !5
  %5080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5081 = load i32, ptr %5080, align 4, !tbaa !5
  %5082 = call ptr @s2n_strerror(i32 noundef %5081, ptr noundef @.str.4)
  %5083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5084 = load i32, ptr %5083, align 4, !tbaa !5
  %5085 = call ptr @s2n_strerror_debug(i32 noundef %5084, ptr noundef @.str.4)
  %5086 = call ptr @__errno_location() #12
  %5087 = load i32, ptr %5086, align 4, !tbaa !5
  %5088 = call ptr @strerror(i32 noundef %5087) #11
  %5089 = call ptr @__errno_location() #12
  %5090 = load i32, ptr %5089, align 4, !tbaa !5
  %5091 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5078, ptr noundef @.str.5, i32 noundef %5079, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 259, ptr noundef %5082, ptr noundef %5085, ptr noundef %5088, i32 noundef %5090) #11
  br label %5092

5092:                                             ; preds = %5075, %5058
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #11
  br label %5093

5093:                                             ; preds = %5092
  br label %5094

5094:                                             ; preds = %5093
  call void @exit(i32 noundef 1) #13
  unreachable

5095:                                             ; No predecessors!
  br label %5096

5096:                                             ; preds = %5095
  br label %5097

5097:                                             ; preds = %5096, %5037
  br label %5098

5098:                                             ; preds = %5097
  br label %5099

5099:                                             ; preds = %5098
  br label %5100

5100:                                             ; preds = %5099
  br label %5101

5101:                                             ; preds = %5100
  br label %5102

5102:                                             ; preds = %5101
  %5103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5103, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5104 = call ptr @__errno_location() #12
  store i32 0, ptr %5104, align 4, !tbaa !5
  br label %5105

5105:                                             ; preds = %5102
  br label %5106

5106:                                             ; preds = %5105
  br label %5107

5107:                                             ; preds = %5106
  br label %5108

5108:                                             ; preds = %5107
  call void @llvm.lifetime.end.p0(i64 8, ptr %131) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %126) #11
  %5109 = call i32 @s2n_io_pair_close(ptr noundef %123)
  call void @llvm.lifetime.end.p0(i64 8, ptr %123) #11
  %5110 = call i32 @s2n_connection_ptr_free(ptr noundef %121)
  %5111 = getelementptr inbounds %struct.s2n_result, ptr %140, i32 0, i32 0
  store i32 %5110, ptr %5111, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %121) #11
  call void @llvm.lifetime.end.p0(i64 104, ptr %120) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %119) #11
  br label %5112

5112:                                             ; preds = %5108
  %5113 = load i32, ptr @test_count, align 4, !tbaa !5
  %5114 = add nsw i32 %5113, 1
  store i32 %5114, ptr @test_count, align 4, !tbaa !5
  %5115 = load i32, ptr %40, align 4, !tbaa !5
  %5116 = call i32 @close(i32 noundef %5115)
  %5117 = icmp eq i32 %5116, 0
  br i1 %5117, label %5171, label %5118

5118:                                             ; preds = %5112
  br label %5119

5119:                                             ; preds = %5118
  br label %5120

5120:                                             ; preds = %5119
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #11
  %5121 = call ptr @__errno_location() #12
  %5122 = load i32, ptr %5121, align 4, !tbaa !5
  store i32 %5122, ptr %141, align 4, !tbaa !5
  %5123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5124 = call i32 @s2n_print_stacktrace(ptr noundef %5123)
  %5125 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5126 = trunc i8 %5125 to i1
  br i1 %5126, label %5127, label %5149

5127:                                             ; preds = %5120
  %5128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5129 = call i32 @fileno(ptr noundef %5128) #11
  %5130 = call i32 @isatty(i32 noundef %5129) #11
  %5131 = icmp ne i32 %5130, 0
  br i1 %5131, label %5132, label %5149

5132:                                             ; preds = %5127
  %5133 = load i32, ptr %141, align 4, !tbaa !5
  %5134 = call ptr @__errno_location() #12
  store i32 %5133, ptr %5134, align 4, !tbaa !5
  %5135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5136 = load i32, ptr @test_count, align 4, !tbaa !5
  %5137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5138 = load i32, ptr %5137, align 4, !tbaa !5
  %5139 = call ptr @s2n_strerror(i32 noundef %5138, ptr noundef @.str.4)
  %5140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5141 = load i32, ptr %5140, align 4, !tbaa !5
  %5142 = call ptr @s2n_strerror_debug(i32 noundef %5141, ptr noundef @.str.4)
  %5143 = call ptr @__errno_location() #12
  %5144 = load i32, ptr %5143, align 4, !tbaa !5
  %5145 = call ptr @strerror(i32 noundef %5144) #11
  %5146 = call ptr @__errno_location() #12
  %5147 = load i32, ptr %5146, align 4, !tbaa !5
  %5148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5135, ptr noundef @.str.2, i32 noundef %5136, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 262, ptr noundef %5139, ptr noundef %5142, ptr noundef %5145, i32 noundef %5147) #11
  br label %5166

5149:                                             ; preds = %5127, %5120
  %5150 = load i32, ptr %141, align 4, !tbaa !5
  %5151 = call ptr @__errno_location() #12
  store i32 %5150, ptr %5151, align 4, !tbaa !5
  %5152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5153 = load i32, ptr @test_count, align 4, !tbaa !5
  %5154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5155 = load i32, ptr %5154, align 4, !tbaa !5
  %5156 = call ptr @s2n_strerror(i32 noundef %5155, ptr noundef @.str.4)
  %5157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5158 = load i32, ptr %5157, align 4, !tbaa !5
  %5159 = call ptr @s2n_strerror_debug(i32 noundef %5158, ptr noundef @.str.4)
  %5160 = call ptr @__errno_location() #12
  %5161 = load i32, ptr %5160, align 4, !tbaa !5
  %5162 = call ptr @strerror(i32 noundef %5161) #11
  %5163 = call ptr @__errno_location() #12
  %5164 = load i32, ptr %5163, align 4, !tbaa !5
  %5165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5152, ptr noundef @.str.5, i32 noundef %5153, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 262, ptr noundef %5156, ptr noundef %5159, ptr noundef %5162, i32 noundef %5164) #11
  br label %5166

5166:                                             ; preds = %5149, %5132
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #11
  br label %5167

5167:                                             ; preds = %5166
  br label %5168

5168:                                             ; preds = %5167
  call void @exit(i32 noundef 1) #13
  unreachable

5169:                                             ; No predecessors!
  br label %5170

5170:                                             ; preds = %5169
  br label %5171

5171:                                             ; preds = %5170, %5112
  br label %5172

5172:                                             ; preds = %5171
  br label %5173

5173:                                             ; preds = %5172
  br label %5174

5174:                                             ; preds = %5173
  br label %5175

5175:                                             ; preds = %5174
  %5176 = call i32 @s2n_cleanup()
  %5177 = icmp eq i32 %5176, -1
  br i1 %5177, label %5178, label %5231

5178:                                             ; preds = %5175
  br label %5179

5179:                                             ; preds = %5178
  br label %5180

5180:                                             ; preds = %5179
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #11
  %5181 = call ptr @__errno_location() #12
  %5182 = load i32, ptr %5181, align 4, !tbaa !5
  store i32 %5182, ptr %142, align 4, !tbaa !5
  %5183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5184 = call i32 @s2n_print_stacktrace(ptr noundef %5183)
  %5185 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5186 = trunc i8 %5185 to i1
  br i1 %5186, label %5187, label %5209

5187:                                             ; preds = %5180
  %5188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5189 = call i32 @fileno(ptr noundef %5188) #11
  %5190 = call i32 @isatty(i32 noundef %5189) #11
  %5191 = icmp ne i32 %5190, 0
  br i1 %5191, label %5192, label %5209

5192:                                             ; preds = %5187
  %5193 = load i32, ptr %142, align 4, !tbaa !5
  %5194 = call ptr @__errno_location() #12
  store i32 %5193, ptr %5194, align 4, !tbaa !5
  %5195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5196 = load i32, ptr @test_count, align 4, !tbaa !5
  %5197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5198 = load i32, ptr %5197, align 4, !tbaa !5
  %5199 = call ptr @s2n_strerror(i32 noundef %5198, ptr noundef @.str.4)
  %5200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5201 = load i32, ptr %5200, align 4, !tbaa !5
  %5202 = call ptr @s2n_strerror_debug(i32 noundef %5201, ptr noundef @.str.4)
  %5203 = call ptr @__errno_location() #12
  %5204 = load i32, ptr %5203, align 4, !tbaa !5
  %5205 = call ptr @strerror(i32 noundef %5204) #11
  %5206 = call ptr @__errno_location() #12
  %5207 = load i32, ptr %5206, align 4, !tbaa !5
  %5208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5195, ptr noundef @.str.2, i32 noundef %5196, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 263, ptr noundef %5199, ptr noundef %5202, ptr noundef %5205, i32 noundef %5207) #11
  br label %5226

5209:                                             ; preds = %5187, %5180
  %5210 = load i32, ptr %142, align 4, !tbaa !5
  %5211 = call ptr @__errno_location() #12
  store i32 %5210, ptr %5211, align 4, !tbaa !5
  %5212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5213 = load i32, ptr @test_count, align 4, !tbaa !5
  %5214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5215 = load i32, ptr %5214, align 4, !tbaa !5
  %5216 = call ptr @s2n_strerror(i32 noundef %5215, ptr noundef @.str.4)
  %5217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5218 = load i32, ptr %5217, align 4, !tbaa !5
  %5219 = call ptr @s2n_strerror_debug(i32 noundef %5218, ptr noundef @.str.4)
  %5220 = call ptr @__errno_location() #12
  %5221 = load i32, ptr %5220, align 4, !tbaa !5
  %5222 = call ptr @strerror(i32 noundef %5221) #11
  %5223 = call ptr @__errno_location() #12
  %5224 = load i32, ptr %5223, align 4, !tbaa !5
  %5225 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5212, ptr noundef @.str.5, i32 noundef %5213, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 263, ptr noundef %5216, ptr noundef %5219, ptr noundef %5222, i32 noundef %5224) #11
  br label %5226

5226:                                             ; preds = %5209, %5192
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #11
  br label %5227

5227:                                             ; preds = %5226
  br label %5228

5228:                                             ; preds = %5227
  call void @exit(i32 noundef 1) #13
  unreachable

5229:                                             ; No predecessors!
  br label %5230

5230:                                             ; preds = %5229
  br label %5231

5231:                                             ; preds = %5230, %5175
  br label %5232

5232:                                             ; preds = %5231
  br label %5233

5233:                                             ; preds = %5232
  br label %5234

5234:                                             ; preds = %5233
  br label %5235

5235:                                             ; preds = %5234
  %5236 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %5237 = icmp eq i32 %5236, -1
  br i1 %5237, label %5238, label %5291

5238:                                             ; preds = %5235
  br label %5239

5239:                                             ; preds = %5238
  br label %5240

5240:                                             ; preds = %5239
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #11
  %5241 = call ptr @__errno_location() #12
  %5242 = load i32, ptr %5241, align 4, !tbaa !5
  store i32 %5242, ptr %143, align 4, !tbaa !5
  %5243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5244 = call i32 @s2n_print_stacktrace(ptr noundef %5243)
  %5245 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5246 = trunc i8 %5245 to i1
  br i1 %5246, label %5247, label %5269

5247:                                             ; preds = %5240
  %5248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5249 = call i32 @fileno(ptr noundef %5248) #11
  %5250 = call i32 @isatty(i32 noundef %5249) #11
  %5251 = icmp ne i32 %5250, 0
  br i1 %5251, label %5252, label %5269

5252:                                             ; preds = %5247
  %5253 = load i32, ptr %143, align 4, !tbaa !5
  %5254 = call ptr @__errno_location() #12
  store i32 %5253, ptr %5254, align 4, !tbaa !5
  %5255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5256 = load i32, ptr @test_count, align 4, !tbaa !5
  %5257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5258 = load i32, ptr %5257, align 4, !tbaa !5
  %5259 = call ptr @s2n_strerror(i32 noundef %5258, ptr noundef @.str.4)
  %5260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5261 = load i32, ptr %5260, align 4, !tbaa !5
  %5262 = call ptr @s2n_strerror_debug(i32 noundef %5261, ptr noundef @.str.4)
  %5263 = call ptr @__errno_location() #12
  %5264 = load i32, ptr %5263, align 4, !tbaa !5
  %5265 = call ptr @strerror(i32 noundef %5264) #11
  %5266 = call ptr @__errno_location() #12
  %5267 = load i32, ptr %5266, align 4, !tbaa !5
  %5268 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5255, ptr noundef @.str.2, i32 noundef %5256, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 263, ptr noundef %5259, ptr noundef %5262, ptr noundef %5265, i32 noundef %5267) #11
  br label %5286

5269:                                             ; preds = %5247, %5240
  %5270 = load i32, ptr %143, align 4, !tbaa !5
  %5271 = call ptr @__errno_location() #12
  store i32 %5270, ptr %5271, align 4, !tbaa !5
  %5272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5273 = load i32, ptr @test_count, align 4, !tbaa !5
  %5274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5275 = load i32, ptr %5274, align 4, !tbaa !5
  %5276 = call ptr @s2n_strerror(i32 noundef %5275, ptr noundef @.str.4)
  %5277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5278 = load i32, ptr %5277, align 4, !tbaa !5
  %5279 = call ptr @s2n_strerror_debug(i32 noundef %5278, ptr noundef @.str.4)
  %5280 = call ptr @__errno_location() #12
  %5281 = load i32, ptr %5280, align 4, !tbaa !5
  %5282 = call ptr @strerror(i32 noundef %5281) #11
  %5283 = call ptr @__errno_location() #12
  %5284 = load i32, ptr %5283, align 4, !tbaa !5
  %5285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5272, ptr noundef @.str.5, i32 noundef %5273, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 263, ptr noundef %5276, ptr noundef %5279, ptr noundef %5282, i32 noundef %5284) #11
  br label %5286

5286:                                             ; preds = %5269, %5252
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #11
  br label %5287

5287:                                             ; preds = %5286
  br label %5288

5288:                                             ; preds = %5287
  call void @exit(i32 noundef 1) #13
  unreachable

5289:                                             ; No predecessors!
  br label %5290

5290:                                             ; preds = %5289
  br label %5291

5291:                                             ; preds = %5290, %5235
  br label %5292

5292:                                             ; preds = %5291
  br label %5293

5293:                                             ; preds = %5292
  %5294 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5295 = trunc i8 %5294 to i1
  br i1 %5295, label %5296, label %5312

5296:                                             ; preds = %5293
  %5297 = load ptr, ptr @stdout, align 8, !tbaa !9
  %5298 = call i32 @fileno(ptr noundef %5297) #11
  %5299 = call i32 @isatty(i32 noundef %5298) #11
  %5300 = icmp ne i32 %5299, 0
  br i1 %5300, label %5301, label %5312

5301:                                             ; preds = %5296
  %5302 = load i32, ptr @test_count, align 4, !tbaa !5
  %5303 = icmp ne i32 %5302, 0
  br i1 %5303, label %5304, label %5308

5304:                                             ; preds = %5301
  %5305 = load ptr, ptr @stdout, align 8, !tbaa !9
  %5306 = load i32, ptr @test_count, align 4, !tbaa !5
  %5307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5305, ptr noundef @.str.21, i32 noundef %5306) #11
  br label %5311

5308:                                             ; preds = %5301
  %5309 = load ptr, ptr @stdout, align 8, !tbaa !9
  %5310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5309, ptr noundef @.str.22) #11
  br label %5311

5311:                                             ; preds = %5308, %5304
  br label %5323

5312:                                             ; preds = %5296, %5293
  %5313 = load i32, ptr @test_count, align 4, !tbaa !5
  %5314 = icmp ne i32 %5313, 0
  br i1 %5314, label %5315, label %5319

5315:                                             ; preds = %5312
  %5316 = load ptr, ptr @stdout, align 8, !tbaa !9
  %5317 = load i32, ptr @test_count, align 4, !tbaa !5
  %5318 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5316, ptr noundef @.str.23, i32 noundef %5317) #11
  br label %5322

5319:                                             ; preds = %5312
  %5320 = load ptr, ptr @stdout, align 8, !tbaa !9
  %5321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5320, ptr noundef @.str.24) #11
  br label %5322

5322:                                             ; preds = %5319, %5315
  br label %5323

5323:                                             ; preds = %5322, %5311
  store i32 0, ptr %3, align 4
  store i32 1, ptr %38, align 4
  br label %5328

5324:                                             ; No predecessors!
  br label %5325

5325:                                             ; preds = %5324
  br label %5326

5326:                                             ; preds = %5325
  br label %5327

5327:                                             ; preds = %5326
  store i32 0, ptr %38, align 4
  br label %5328

5328:                                             ; preds = %5327, %5323
  call void @llvm.lifetime.end.p0(i64 100, ptr %42) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #11
  br label %5329

5329:                                             ; preds = %5328, %1578
  call void @llvm.lifetime.end.p0(i64 1, ptr %9) #11
  %5330 = load i32, ptr %38, align 4
  switch i32 %5330, label %5333 [
    i32 0, label %5331
    i32 1, label %5331
  ]

5331:                                             ; preds = %5329, %5329
  %5332 = load i32, ptr %3, align 4
  ret i32 %5332

5333:                                             ; preds = %5329, %3756
  unreachable
}

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

declare i32 @fflush(ptr noundef) #2

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #2

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

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

declare i32 @s2n_print_stacktrace(ptr noundef) #2

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

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

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

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

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

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

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

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

declare i32 @s2n_enable_atexit() #2

declare i32 @s2n_init() #2

declare ptr @s2n_connection_new(i32 noundef) #2

declare i32 @s2n_connection_ptr_free(ptr noundef) #2

declare i32 @s2n_sendfile(ptr noundef, i32 noundef, i64 noundef, i64 noundef, ptr noundef, ptr noundef) #2

declare void @s2n_debug_info_reset() #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_io_pair_close(ptr noundef) #2

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) #2

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

declare i32 @s2n_cleanup() #2

declare i32 @open(ptr noundef, i32 noundef, ...) #2

declare i64 @pread(i32 noundef, ptr noundef, i64 noundef, i64 noundef) #2

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

declare i64 @read(i32 noundef, ptr noundef, i64 noundef) #2

; Function Attrs: nounwind willreturn memory(read)
declare i32 @memcmp(ptr noundef, ptr noundef, i64 noundef) #8

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

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

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #9

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_ok(i32) #10

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_test_get_seq_num(ptr noundef, ptr noundef) #0

declare i32 @close(i32 noundef) #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #6 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #8 = { nounwind willreturn memory(read) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #9 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #10 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #11 = { nounwind }
attributes #12 = { nounwind willreturn memory(none) }
attributes #13 = { noreturn nounwind }
attributes #14 = { nounwind willreturn memory(read) }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !16, i64 0}
!16 = !{!"long", !7, i64 0}
!17 = !{!18, !6, i64 4}
!18 = !{!"s2n_test_io_pair", !6, i64 0, !6, i64 4}
!19 = !{!18, !6, i64 0}
!20 = !{!21, !10, i64 48}
!21 = !{!"s2n_cipher_suite", !6, i64 0, !10, i64 8, !10, i64 16, !7, i64 24, !10, i64 32, !6, i64 40, !10, i64 48, !7, i64 56, !7, i64 72, !10, i64 80, !10, i64 88, !6, i64 96, !7, i64 100}
!22 = !{i64 0, i64 8, !9, i64 8, i64 4, !5, i64 12, i64 4, !5, i64 16, i64 8, !15}
!23 = !{!24, !16, i64 16}
!24 = !{!"s2n_record_algorithm", !10, i64 0, !6, i64 8, !6, i64 12, !16, i64 16}
!25 = !{i64 0, i64 1, !26, i64 8, i64 8, !9, i64 16, i64 8, !9, i64 24, i64 2, !26, i64 32, i64 8, !9, i64 40, i64 4, !5, i64 48, i64 8, !9, i64 56, i64 16, !26, i64 72, i64 1, !26, i64 80, i64 8, !9, i64 88, i64 8, !9, i64 96, i64 4, !5, i64 100, i64 1, !26}
!26 = !{!7, !7, i64 0}
!27 = !{!28, !7, i64 220}
!28 = !{!"s2n_connection", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !7, i64 80, !7, i64 102, !7, i64 124, !6, i64 148, !6, i64 152, !29, i64 160, !16, i64 168, !16, 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, !30, i64 240, !10, i64 632, !10, i64 640, !31, i64 648, !37, i64 1144, !40, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !43, i64 1776, !43, i64 1816, !43, i64 1856, !43, i64 1896, !6, i64 1936, !16, i64 1944, !7, i64 1952, !43, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !44, i64 2004, !44, i64 2008, !45, i64 2016, !42, i64 2208, !6, i64 2212, !42, i64 2216, !16, i64 2224, !7, i64 2232, !16, i64 2240, !16, i64 2248, !16, i64 2256, !44, i64 2264, !44, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !36, i64 2792, !6, i64 2816, !36, i64 2824, !36, i64 2848, !36, i64 2872, !47, i64 2896, !49, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !36, i64 3784, !6, i64 3808, !51, i64 3816, !7, i64 3848, !43, i64 3992, !36, i64 4032, !36, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !42, i64 4084, !42, i64 4086, !6, i64 4088, !6, i64 4092, !36, i64 4096, !6, i64 4120, !52, i64 4128, !44, i64 4176, !7, i64 4180, !7, i64 4181}
!29 = !{!"s2n_timer", !16, i64 0}
!30 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!31 = !{!"s2n_kex_parameters", !32, i64 0, !33, i64 8, !7, i64 24, !33, i64 56, !34, i64 72, !34, i64 184, !7, i64 296, !35, i64 360, !36, i64 448, !36, i64 472}
!32 = !{!"s2n_dh_params", !10, i64 0}
!33 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!34 = !{!"s2n_kem_group_params", !10, i64 0, !35, i64 8, !33, i64 96}
!35 = !{!"s2n_kem_params", !10, i64 0, !36, i64 8, !36, i64 32, !36, i64 56, !12, i64 80}
!36 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!37 = !{!"s2n_handshake_parameters", !38, i64 0, !38, i64 48, !36, i64 96, !6, i64 120, !39, i64 124, !10, i64 384, !10, i64 392, !10, i64 400, !7, i64 408, !7, i64 440, !7, i64 472, !7, i64 473, !7, i64 474, !7, i64 506}
!38 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!39 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!40 = !{!"s2n_psk_parameters", !6, i64 0, !41, i64 8, !42, i64 40, !42, i64 42, !10, i64 48, !6, i64 56}
!41 = !{!"s2n_array", !36, i64 0, !6, i64 24, !6, i64 28}
!42 = !{!"short", !7, i64 0}
!43 = !{!"s2n_stuffer", !36, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!44 = !{!"", !6, i64 0}
!45 = !{!"s2n_handshake", !43, 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, !46, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!46 = !{!"s2n_offered_early_data", !10, i64 0}
!47 = !{!"s2n_client_hello", !36, i64 0, !48, i64 24, !36, i64 728, !36, i64 752, !36, 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}
!48 = !{!"", !7, i64 0, !36, i64 672, !42, i64 696}
!49 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !42, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !50, i64 48, !12, i64 52}
!50 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!51 = !{!"s2n_ticket_fields", !36, i64 0, !6, i64 24}
!52 = !{!"s2n_post_handshake", !43, i64 0, !7, i64 40}
!53 = !{!28, !10, i64 232}
!54 = !{!55, !10, i64 0}
!55 = !{!"s2n_crypto_parameters", !10, i64 0, !56, i64 8, !56, i64 16, !57, i64 24, !57, i64 456, !7, i64 888, !7, i64 904, !7, i64 920, !7, i64 928}
!56 = !{!"s2n_session_key", !10, i64 0}
!57 = !{!"s2n_hmac_state", !6, i64 0, !42, i64 4, !6, i64 8, !42, i64 12, !7, i64 14, !58, i64 16, !58, i64 72, !58, i64 128, !58, i64 184, !7, i64 240, !7, i64 368}
!58 = !{!"s2n_hash_state", !10, i64 0, !6, i64 8, !7, i64 12, !16, i64 16, !7, i64 24}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

@s2n_use_color_in_output = external dso_local local_unnamed_addr global i8, align 1
@test_count = external dso_local local_unnamed_addr global i32, align 4
@stdout = external local_unnamed_addr global ptr, align 8
@.str = external hidden unnamed_addr constant [19 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [84 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 [32 x i8], align 1

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

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

16:                                               ; preds = %9
  %17 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18 = tail call i32 @fileno(ptr noundef %17) #7
  %19 = tail call i32 @isatty(i32 noundef %18) #7
  %.not10 = icmp eq i32 %19, 0
  br i1 %.not10, label %20, label %21

20:                                               ; preds = %16, %9
  br label %21

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

33:                                               ; preds = %2
  %34 = load i32, ptr @test_count, align 4, !tbaa !5
  %35 = add nsw i32 %34, 1
  store i32 %35, ptr @test_count, align 4, !tbaa !5
  %36 = tail call i32 @s2n_enable_atexit() #7
  %37 = icmp eq i32 %36, -1
  br i1 %37, label %38, label %62

38:                                               ; preds = %33
  %39 = tail call ptr @__errno_location() #8
  %40 = load i32, ptr %39, align 4, !tbaa !5
  %41 = load ptr, ptr @stderr, align 8, !tbaa !9
  %42 = tail call i32 @s2n_print_stacktrace(ptr noundef %41) #7
  %43 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %44 = trunc nuw i8 %43 to i1
  br i1 %44, label %45, label %49

45:                                               ; preds = %38
  %46 = load ptr, ptr @stderr, align 8, !tbaa !9
  %47 = tail call i32 @fileno(ptr noundef %46) #7
  %48 = tail call i32 @isatty(i32 noundef %47) #7
  %.not9 = icmp eq i32 %48, 0
  br i1 %.not9, label %49, label %50

49:                                               ; preds = %45, %38
  br label %50

50:                                               ; preds = %45, %49
  %.str.5.sink21 = phi ptr [ @.str.5, %49 ], [ @.str.2, %45 ]
  store i32 %40, ptr %39, align 4, !tbaa !5
  %51 = load ptr, ptr @stderr, align 8, !tbaa !9
  %52 = load i32, ptr @test_count, align 4, !tbaa !5
  %53 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %54 = load i32, ptr %53, align 4, !tbaa !5
  %55 = tail call ptr @s2n_strerror(i32 noundef %54, ptr noundef nonnull @.str.4) #7
  %56 = load i32, ptr %53, align 4, !tbaa !5
  %57 = tail call ptr @s2n_strerror_debug(i32 noundef %56, ptr noundef nonnull @.str.4) #7
  %58 = load i32, ptr %39, align 4, !tbaa !5
  %59 = tail call ptr @strerror(i32 noundef %58) #7
  %60 = load i32, ptr %39, align 4, !tbaa !5
  %61 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %51, ptr noundef nonnull %.str.5.sink21, i32 noundef %52, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.1, i32 noundef 35, ptr noundef %55, ptr noundef %57, ptr noundef %59, i32 noundef %60) #9
  tail call void @exit(i32 noundef 1) #10
  unreachable

62:                                               ; preds = %33
  %63 = tail call i32 @s2n_init() #7
  %64 = icmp eq i32 %63, -1
  br i1 %64, label %65, label %89

65:                                               ; preds = %62
  %66 = tail call ptr @__errno_location() #8
  %67 = load i32, ptr %66, align 4, !tbaa !5
  %68 = load ptr, ptr @stderr, align 8, !tbaa !9
  %69 = tail call i32 @s2n_print_stacktrace(ptr noundef %68) #7
  %70 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %71 = trunc nuw i8 %70 to i1
  br i1 %71, label %72, label %76

72:                                               ; preds = %65
  %73 = load ptr, ptr @stderr, align 8, !tbaa !9
  %74 = tail call i32 @fileno(ptr noundef %73) #7
  %75 = tail call i32 @isatty(i32 noundef %74) #7
  %.not8 = icmp eq i32 %75, 0
  br i1 %.not8, label %76, label %77

76:                                               ; preds = %72, %65
  br label %77

77:                                               ; preds = %72, %76
  %.str.5.sink32 = phi ptr [ @.str.5, %76 ], [ @.str.2, %72 ]
  store i32 %67, ptr %66, align 4, !tbaa !5
  %78 = load ptr, ptr @stderr, align 8, !tbaa !9
  %79 = load i32, ptr @test_count, align 4, !tbaa !5
  %80 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %81 = load i32, ptr %80, align 4, !tbaa !5
  %82 = tail call ptr @s2n_strerror(i32 noundef %81, ptr noundef nonnull @.str.4) #7
  %83 = load i32, ptr %80, align 4, !tbaa !5
  %84 = tail call ptr @s2n_strerror_debug(i32 noundef %83, ptr noundef nonnull @.str.4) #7
  %85 = load i32, ptr %66, align 4, !tbaa !5
  %86 = tail call ptr @strerror(i32 noundef %85) #7
  %87 = load i32, ptr %66, align 4, !tbaa !5
  %88 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %78, ptr noundef nonnull %.str.5.sink32, i32 noundef %79, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.1, i32 noundef 35, ptr noundef %82, ptr noundef %84, ptr noundef %86, i32 noundef %87) #9
  tail call void @exit(i32 noundef 1) #10
  unreachable

89:                                               ; preds = %62
  %90 = load i32, ptr @test_count, align 4, !tbaa !5
  %91 = add nsw i32 %90, 1
  store i32 %91, ptr @test_count, align 4, !tbaa !5
  %92 = tail call ptr @__errno_location() #8
  %93 = load i32, ptr %92, align 4, !tbaa !5
  %94 = load ptr, ptr @stderr, align 8, !tbaa !9
  %95 = tail call i32 @s2n_print_stacktrace(ptr noundef %94) #7
  %96 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %97 = trunc nuw i8 %96 to i1
  br i1 %97, label %98, label %102

98:                                               ; preds = %89
  %99 = load ptr, ptr @stderr, align 8, !tbaa !9
  %100 = tail call i32 @fileno(ptr noundef %99) #7
  %101 = tail call i32 @isatty(i32 noundef %100) #7
  %.not = icmp eq i32 %101, 0
  br i1 %.not, label %102, label %103

102:                                              ; preds = %98, %89
  br label %103

103:                                              ; preds = %98, %102
  %.str.5.sink43 = phi ptr [ @.str.5, %102 ], [ @.str.2, %98 ]
  store i32 %93, ptr %92, align 4, !tbaa !5
  %104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %105 = load i32, ptr @test_count, align 4, !tbaa !5
  %106 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %107 = load i32, ptr %106, align 4, !tbaa !5
  %108 = tail call ptr @s2n_strerror(i32 noundef %107, ptr noundef nonnull @.str.4) #7
  %109 = load i32, ptr %106, align 4, !tbaa !5
  %110 = tail call ptr @s2n_strerror_debug(i32 noundef %109, ptr noundef nonnull @.str.4) #7
  %111 = load i32, ptr %92, align 4, !tbaa !5
  %112 = tail call ptr @strerror(i32 noundef %111) #7
  %113 = load i32, ptr %92, align 4, !tbaa !5
  %114 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %104, ptr noundef nonnull %.str.5.sink43, i32 noundef %105, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 46, ptr noundef %108, ptr noundef %110, ptr noundef %112, i32 noundef %113) #9
  tail call void @exit(i32 noundef 1) #10
  unreachable
}

; 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 nofree nosync nounwind willreturn memory(none)
declare ptr @__errno_location() local_unnamed_addr #3

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #2

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

; 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) #5

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

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

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

declare i32 @s2n_enable_atexit() local_unnamed_addr #2

declare i32 @s2n_init() local_unnamed_addr #2

attributes #0 = { noreturn 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 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 #4 = { 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 #5 = { mustprogress 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 = { nounwind }
attributes #8 = { nounwind willreturn memory(none) }
attributes #9 = { cold nounwind }
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 = !{}


; Effective O3 passes: EarlyCSEPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass,TailCallElimPass