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

@s2n_use_color_in_output = external dso_local global i8, align 1
@s2n_errno = external thread_local global i32, align 4
@test_count = external dso_local global i32, align 4
@stderr = external global ptr, align 8
@.str.49 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [59 x i8], align 1
@stdout = external global ptr, align 8
@.str.139 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [200 x i8], align 1
@.str.153 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.154 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [131 x i8], align 1
@.str.156 = external hidden unnamed_addr constant [132 x i8], align 1
@.str.157 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [144 x i8], align 1
@.str.159 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [132 x i8], align 1
@.str.161 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.164 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.167 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [81 x i8], align 1
@__const.main.all_options = external hidden unnamed_addr constant [4 x i32], align 16
@.str.184 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.189 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [147 x i8], align 1

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

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

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

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

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

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

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_test_client_auth_negotiation(ptr noundef, ptr noundef, ptr noundef, i1 noundef zeroext) #5

declare ptr @s2n_connection_new(i32 noundef) #6

declare i32 @s2n_print_stacktrace(ptr noundef) #6

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

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

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

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

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

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

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

declare i32 @s2n_connection_set_config(ptr noundef, ptr noundef) #6

declare i32 @s2n_connection_set_client_auth_type(ptr noundef, i32 noundef) #6

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) #6

declare i32 @s2n_connections_set_io_pair(ptr noundef, ptr noundef, ptr noundef) #6

declare i32 @s2n_negotiate_test_server_and_client(ptr noundef, ptr noundef) #6

declare i32 @s2n_io_pair_close(ptr noundef) #6

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_test_client_auth_message_by_message(i1 noundef zeroext) #5

declare ptr @s2n_config_new() #6

declare i32 @s2n_config_set_unsafe_for_testing(ptr noundef) #6

declare i32 @s2n_config_set_cipher_preferences(ptr noundef, ptr noundef) #6

; Function Attrs: nounwind allocsize(0)
declare noalias ptr @malloc(i64 noundef) #9

declare ptr @s2n_cert_chain_and_key_new() #6

declare i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef, ptr noundef) #6

declare i32 @s2n_cert_chain_and_key_free(ptr noundef) #6

declare i32 @s2n_config_free(ptr noundef) #6

; Function Attrs: nounwind
declare void @free(ptr noundef) #7

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

137:                                              ; preds = %2
  br label %138

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

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

146:                                              ; preds = %143
  br label %147

147:                                              ; preds = %146
  br label %148

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

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

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

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

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

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

196:                                              ; No predecessors!
  br label %197

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

198:                                              ; preds = %197
  br label %199

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

204:                                              ; preds = %199
  br label %205

205:                                              ; preds = %204
  br label %206

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

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

218:                                              ; preds = %213
  %219 = load i32, ptr %7, align 4, !tbaa !5
  %220 = call ptr @__errno_location() #11
  store i32 %219, ptr %220, align 4, !tbaa !5
  %221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %222 = load i32, ptr @test_count, align 4, !tbaa !5
  %223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %224 = load i32, ptr %223, align 4, !tbaa !5
  %225 = call ptr @s2n_strerror(i32 noundef %224, ptr noundef @.str.52)
  %226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %227 = load i32, ptr %226, align 4, !tbaa !5
  %228 = call ptr @s2n_strerror_debug(i32 noundef %227, ptr noundef @.str.52)
  %229 = call ptr @__errno_location() #11
  %230 = load i32, ptr %229, align 4, !tbaa !5
  %231 = call ptr @strerror(i32 noundef %230) #10
  %232 = call ptr @__errno_location() #11
  %233 = load i32, ptr %232, align 4, !tbaa !5
  %234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %221, ptr noundef @.str.49, i32 noundef %222, ptr noundef @.str.141, ptr noundef @.str.51, i32 noundef 304, ptr noundef %225, ptr noundef %228, ptr noundef %231, i32 noundef %233) #10
  br label %252

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

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

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

254:                                              ; No predecessors!
  br label %255

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

256:                                              ; preds = %255
  br label %257

257:                                              ; preds = %256
  br label %258

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

261:                                              ; preds = %258
  br label %262

262:                                              ; preds = %261
  br label %263

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

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

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

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

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

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

311:                                              ; No predecessors!
  br label %312

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

313:                                              ; preds = %312
  br label %314

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

316:                                              ; preds = %314
  br label %317

317:                                              ; preds = %316
  br label %318

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

321:                                              ; preds = %318
  br label %322

322:                                              ; preds = %321
  br label %323

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

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

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

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

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

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

371:                                              ; No predecessors!
  br label %372

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

373:                                              ; preds = %372
  br label %374

374:                                              ; preds = %373
  br label %375

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

378:                                              ; preds = %375
  br label %379

379:                                              ; preds = %378
  br label %380

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

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

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

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

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

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

428:                                              ; No predecessors!
  br label %429

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

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

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

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

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

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

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

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

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

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

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

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

461:                                              ; No predecessors!
  br label %462

462:                                              ; preds = %461
  br label %463

463:                                              ; preds = %462, %314
  br label %464

464:                                              ; preds = %463
  %465 = load i32, ptr @test_count, align 4, !tbaa !5
  %466 = add nsw i32 %465, 1
  store i32 %466, ptr @test_count, align 4, !tbaa !5
  %467 = call i32 (...) @s2n_enable_tls13_in_test()
  %468 = icmp eq i32 %467, -1
  br i1 %468, label %469, label %520

469:                                              ; preds = %464
  br label %470

470:                                              ; preds = %469
  br label %471

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

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

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

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

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

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

519:                                              ; No predecessors!
  br label %520

520:                                              ; preds = %519, %464
  br label %521

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

522:                                              ; preds = %521
  %523 = load i32, ptr @test_count, align 4, !tbaa !5
  %524 = add nsw i32 %523, 1
  store i32 %524, ptr @test_count, align 4, !tbaa !5
  %525 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %12, ptr noundef @.str.150, ptr noundef @.str.151)
  %526 = icmp eq i32 %525, -1
  br i1 %526, label %527, label %580

527:                                              ; preds = %522
  br label %528

528:                                              ; preds = %527
  br label %529

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

536:                                              ; preds = %529
  %537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %538 = call i32 @fileno(ptr noundef %537) #10
  %539 = call i32 @isatty(i32 noundef %538) #10
  %540 = icmp ne i32 %539, 0
  br i1 %540, label %541, label %558

541:                                              ; preds = %536
  %542 = load i32, ptr %13, align 4, !tbaa !5
  %543 = call ptr @__errno_location() #11
  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.52)
  %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.52)
  %552 = call ptr @__errno_location() #11
  %553 = load i32, ptr %552, align 4, !tbaa !5
  %554 = call ptr @strerror(i32 noundef %553) #10
  %555 = call ptr @__errno_location() #11
  %556 = load i32, ptr %555, align 4, !tbaa !5
  %557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %544, ptr noundef @.str.49, i32 noundef %545, ptr noundef @.str.152, ptr noundef @.str.51, i32 noundef 315, ptr noundef %548, ptr noundef %551, ptr noundef %554, i32 noundef %556) #10
  br label %575

558:                                              ; preds = %536, %529
  %559 = load i32, ptr %13, align 4, !tbaa !5
  %560 = call ptr @__errno_location() #11
  store i32 %559, ptr %560, align 4, !tbaa !5
  %561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %562 = load i32, ptr @test_count, align 4, !tbaa !5
  %563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %564 = load i32, ptr %563, align 4, !tbaa !5
  %565 = call ptr @s2n_strerror(i32 noundef %564, ptr noundef @.str.52)
  %566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %567 = load i32, ptr %566, align 4, !tbaa !5
  %568 = call ptr @s2n_strerror_debug(i32 noundef %567, ptr noundef @.str.52)
  %569 = call ptr @__errno_location() #11
  %570 = load i32, ptr %569, align 4, !tbaa !5
  %571 = call ptr @strerror(i32 noundef %570) #10
  %572 = call ptr @__errno_location() #11
  %573 = load i32, ptr %572, align 4, !tbaa !5
  %574 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %561, ptr noundef @.str.53, i32 noundef %562, ptr noundef @.str.152, ptr noundef @.str.51, i32 noundef 315, ptr noundef %565, ptr noundef %568, ptr noundef %571, i32 noundef %573) #10
  br label %575

575:                                              ; preds = %558, %541
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #10
  br label %576

576:                                              ; preds = %575
  br label %577

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

578:                                              ; No predecessors!
  br label %579

579:                                              ; preds = %578
  br label %580

580:                                              ; preds = %579, %522
  br label %581

581:                                              ; preds = %580
  br label %582

582:                                              ; preds = %581
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #10
  store ptr null, ptr %14, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #10
  store ptr null, ptr %15, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #10
  store ptr null, ptr %16, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #10
  store ptr null, ptr %17, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #10
  store i32 0, ptr %18, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #10
  store i32 0, ptr %19, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #10
  store ptr null, ptr %20, align 8, !tbaa !9
  br label %583

583:                                              ; preds = %582
  %584 = load i32, ptr @test_count, align 4, !tbaa !5
  %585 = add nsw i32 %584, 1
  store i32 %585, ptr @test_count, align 4, !tbaa !5
  %586 = call noalias ptr @malloc(i64 noundef 12000) #13
  store ptr %586, ptr %16, align 8, !tbaa !9
  %587 = icmp eq ptr %586, null
  br i1 %587, label %588, label %641

588:                                              ; preds = %583
  br label %589

589:                                              ; preds = %588
  br label %590

590:                                              ; preds = %589
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #10
  %591 = call ptr @__errno_location() #11
  %592 = load i32, ptr %591, align 4, !tbaa !5
  store i32 %592, ptr %21, align 4, !tbaa !5
  %593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %594 = call i32 @s2n_print_stacktrace(ptr noundef %593)
  %595 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %596 = trunc i8 %595 to i1
  br i1 %596, label %597, label %619

597:                                              ; preds = %590
  %598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %599 = call i32 @fileno(ptr noundef %598) #10
  %600 = call i32 @isatty(i32 noundef %599) #10
  %601 = icmp ne i32 %600, 0
  br i1 %601, label %602, label %619

602:                                              ; preds = %597
  %603 = load i32, ptr %21, align 4, !tbaa !5
  %604 = call ptr @__errno_location() #11
  store i32 %603, ptr %604, align 4, !tbaa !5
  %605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %606 = load i32, ptr @test_count, align 4, !tbaa !5
  %607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %608 = load i32, ptr %607, align 4, !tbaa !5
  %609 = call ptr @s2n_strerror(i32 noundef %608, ptr noundef @.str.52)
  %610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %611 = load i32, ptr %610, align 4, !tbaa !5
  %612 = call ptr @s2n_strerror_debug(i32 noundef %611, ptr noundef @.str.52)
  %613 = call ptr @__errno_location() #11
  %614 = load i32, ptr %613, align 4, !tbaa !5
  %615 = call ptr @strerror(i32 noundef %614) #10
  %616 = call ptr @__errno_location() #11
  %617 = load i32, ptr %616, align 4, !tbaa !5
  %618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %605, ptr noundef @.str.49, i32 noundef %606, ptr noundef @.str.153, ptr noundef @.str.51, i32 noundef 326, ptr noundef %609, ptr noundef %612, ptr noundef %615, i32 noundef %617) #10
  br label %636

619:                                              ; preds = %597, %590
  %620 = load i32, ptr %21, align 4, !tbaa !5
  %621 = call ptr @__errno_location() #11
  store i32 %620, ptr %621, align 4, !tbaa !5
  %622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %623 = load i32, ptr @test_count, align 4, !tbaa !5
  %624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %625 = load i32, ptr %624, align 4, !tbaa !5
  %626 = call ptr @s2n_strerror(i32 noundef %625, ptr noundef @.str.52)
  %627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %628 = load i32, ptr %627, align 4, !tbaa !5
  %629 = call ptr @s2n_strerror_debug(i32 noundef %628, ptr noundef @.str.52)
  %630 = call ptr @__errno_location() #11
  %631 = load i32, ptr %630, align 4, !tbaa !5
  %632 = call ptr @strerror(i32 noundef %631) #10
  %633 = call ptr @__errno_location() #11
  %634 = load i32, ptr %633, align 4, !tbaa !5
  %635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %622, ptr noundef @.str.53, i32 noundef %623, ptr noundef @.str.153, ptr noundef @.str.51, i32 noundef 326, ptr noundef %626, ptr noundef %629, ptr noundef %632, i32 noundef %634) #10
  br label %636

636:                                              ; preds = %619, %602
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #10
  br label %637

637:                                              ; preds = %636
  br label %638

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

639:                                              ; No predecessors!
  br label %640

640:                                              ; preds = %639
  br label %641

641:                                              ; preds = %640, %583
  br label %642

642:                                              ; preds = %641
  br label %643

643:                                              ; preds = %642
  br label %644

644:                                              ; preds = %643
  %645 = load i32, ptr @test_count, align 4, !tbaa !5
  %646 = add nsw i32 %645, 1
  store i32 %646, ptr @test_count, align 4, !tbaa !5
  %647 = call noalias ptr @malloc(i64 noundef 12000) #13
  store ptr %647, ptr %17, align 8, !tbaa !9
  %648 = icmp eq ptr %647, null
  br i1 %648, label %649, label %702

649:                                              ; preds = %644
  br label %650

650:                                              ; preds = %649
  br label %651

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

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

663:                                              ; preds = %658
  %664 = load i32, ptr %22, align 4, !tbaa !5
  %665 = call ptr @__errno_location() #11
  store i32 %664, ptr %665, align 4, !tbaa !5
  %666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %667 = load i32, ptr @test_count, align 4, !tbaa !5
  %668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %669 = load i32, ptr %668, align 4, !tbaa !5
  %670 = call ptr @s2n_strerror(i32 noundef %669, ptr noundef @.str.52)
  %671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %672 = load i32, ptr %671, align 4, !tbaa !5
  %673 = call ptr @s2n_strerror_debug(i32 noundef %672, ptr noundef @.str.52)
  %674 = call ptr @__errno_location() #11
  %675 = load i32, ptr %674, align 4, !tbaa !5
  %676 = call ptr @strerror(i32 noundef %675) #10
  %677 = call ptr @__errno_location() #11
  %678 = load i32, ptr %677, align 4, !tbaa !5
  %679 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %666, ptr noundef @.str.49, i32 noundef %667, ptr noundef @.str.154, ptr noundef @.str.51, i32 noundef 327, ptr noundef %670, ptr noundef %673, ptr noundef %676, i32 noundef %678) #10
  br label %697

680:                                              ; preds = %658, %651
  %681 = load i32, ptr %22, align 4, !tbaa !5
  %682 = call ptr @__errno_location() #11
  store i32 %681, ptr %682, align 4, !tbaa !5
  %683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %684 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %686, ptr noundef @.str.52)
  %688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %689 = load i32, ptr %688, align 4, !tbaa !5
  %690 = call ptr @s2n_strerror_debug(i32 noundef %689, ptr noundef @.str.52)
  %691 = call ptr @__errno_location() #11
  %692 = load i32, ptr %691, align 4, !tbaa !5
  %693 = call ptr @strerror(i32 noundef %692) #10
  %694 = call ptr @__errno_location() #11
  %695 = load i32, ptr %694, align 4, !tbaa !5
  %696 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %683, ptr noundef @.str.53, i32 noundef %684, ptr noundef @.str.154, ptr noundef @.str.51, i32 noundef 327, ptr noundef %687, ptr noundef %690, ptr noundef %693, i32 noundef %695) #10
  br label %697

697:                                              ; preds = %680, %663
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #10
  br label %698

698:                                              ; preds = %697
  br label %699

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

700:                                              ; No predecessors!
  br label %701

701:                                              ; preds = %700
  br label %702

702:                                              ; preds = %701, %644
  br label %703

703:                                              ; preds = %702
  br label %704

704:                                              ; preds = %703
  br label %705

705:                                              ; preds = %704
  %706 = load i32, ptr @test_count, align 4, !tbaa !5
  %707 = add nsw i32 %706, 1
  store i32 %707, ptr @test_count, align 4, !tbaa !5
  %708 = call ptr @s2n_config_new()
  store ptr %708, ptr %14, align 8, !tbaa !9
  %709 = icmp eq ptr %708, null
  br i1 %709, label %710, label %763

710:                                              ; preds = %705
  br label %711

711:                                              ; preds = %710
  br label %712

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

719:                                              ; preds = %712
  %720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %721 = call i32 @fileno(ptr noundef %720) #10
  %722 = call i32 @isatty(i32 noundef %721) #10
  %723 = icmp ne i32 %722, 0
  br i1 %723, label %724, label %741

724:                                              ; preds = %719
  %725 = load i32, ptr %23, align 4, !tbaa !5
  %726 = call ptr @__errno_location() #11
  store i32 %725, ptr %726, align 4, !tbaa !5
  %727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %728 = load i32, ptr @test_count, align 4, !tbaa !5
  %729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %730 = load i32, ptr %729, align 4, !tbaa !5
  %731 = call ptr @s2n_strerror(i32 noundef %730, ptr noundef @.str.52)
  %732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %733 = load i32, ptr %732, align 4, !tbaa !5
  %734 = call ptr @s2n_strerror_debug(i32 noundef %733, ptr noundef @.str.52)
  %735 = call ptr @__errno_location() #11
  %736 = load i32, ptr %735, align 4, !tbaa !5
  %737 = call ptr @strerror(i32 noundef %736) #10
  %738 = call ptr @__errno_location() #11
  %739 = load i32, ptr %738, align 4, !tbaa !5
  %740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %727, ptr noundef @.str.49, i32 noundef %728, ptr noundef @.str.74, ptr noundef @.str.51, i32 noundef 329, ptr noundef %731, ptr noundef %734, ptr noundef %737, i32 noundef %739) #10
  br label %758

741:                                              ; preds = %719, %712
  %742 = load i32, ptr %23, align 4, !tbaa !5
  %743 = call ptr @__errno_location() #11
  store i32 %742, ptr %743, align 4, !tbaa !5
  %744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %745 = load i32, ptr @test_count, align 4, !tbaa !5
  %746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %747 = load i32, ptr %746, align 4, !tbaa !5
  %748 = call ptr @s2n_strerror(i32 noundef %747, ptr noundef @.str.52)
  %749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %750 = load i32, ptr %749, align 4, !tbaa !5
  %751 = call ptr @s2n_strerror_debug(i32 noundef %750, ptr noundef @.str.52)
  %752 = call ptr @__errno_location() #11
  %753 = load i32, ptr %752, align 4, !tbaa !5
  %754 = call ptr @strerror(i32 noundef %753) #10
  %755 = call ptr @__errno_location() #11
  %756 = load i32, ptr %755, align 4, !tbaa !5
  %757 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %744, ptr noundef @.str.53, i32 noundef %745, ptr noundef @.str.74, ptr noundef @.str.51, i32 noundef 329, ptr noundef %748, ptr noundef %751, ptr noundef %754, i32 noundef %756) #10
  br label %758

758:                                              ; preds = %741, %724
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #10
  br label %759

759:                                              ; preds = %758
  br label %760

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

761:                                              ; No predecessors!
  br label %762

762:                                              ; preds = %761
  br label %763

763:                                              ; preds = %762, %705
  br label %764

764:                                              ; preds = %763
  br label %765

765:                                              ; preds = %764
  br label %766

766:                                              ; preds = %765
  %767 = load i32, ptr @test_count, align 4, !tbaa !5
  %768 = add nsw i32 %767, 1
  store i32 %768, ptr @test_count, align 4, !tbaa !5
  %769 = call ptr @s2n_config_new()
  store ptr %769, ptr %15, align 8, !tbaa !9
  %770 = icmp eq ptr %769, null
  br i1 %770, label %771, label %824

771:                                              ; preds = %766
  br label %772

772:                                              ; preds = %771
  br label %773

773:                                              ; preds = %772
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #10
  %774 = call ptr @__errno_location() #11
  %775 = load i32, ptr %774, align 4, !tbaa !5
  store i32 %775, ptr %24, 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) #10
  %783 = call i32 @isatty(i32 noundef %782) #10
  %784 = icmp ne i32 %783, 0
  br i1 %784, label %785, label %802

785:                                              ; preds = %780
  %786 = load i32, ptr %24, align 4, !tbaa !5
  %787 = call ptr @__errno_location() #11
  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.52)
  %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.52)
  %796 = call ptr @__errno_location() #11
  %797 = load i32, ptr %796, align 4, !tbaa !5
  %798 = call ptr @strerror(i32 noundef %797) #10
  %799 = call ptr @__errno_location() #11
  %800 = load i32, ptr %799, align 4, !tbaa !5
  %801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %788, ptr noundef @.str.49, i32 noundef %789, ptr noundef @.str.75, ptr noundef @.str.51, i32 noundef 330, ptr noundef %792, ptr noundef %795, ptr noundef %798, i32 noundef %800) #10
  br label %819

802:                                              ; preds = %780, %773
  %803 = load i32, ptr %24, align 4, !tbaa !5
  %804 = call ptr @__errno_location() #11
  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.52)
  %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.52)
  %813 = call ptr @__errno_location() #11
  %814 = load i32, ptr %813, align 4, !tbaa !5
  %815 = call ptr @strerror(i32 noundef %814) #10
  %816 = call ptr @__errno_location() #11
  %817 = load i32, ptr %816, align 4, !tbaa !5
  %818 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %805, ptr noundef @.str.53, i32 noundef %806, ptr noundef @.str.75, ptr noundef @.str.51, i32 noundef 330, ptr noundef %809, ptr noundef %812, ptr noundef %815, i32 noundef %817) #10
  br label %819

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

820:                                              ; preds = %819
  br label %821

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

822:                                              ; No predecessors!
  br label %823

823:                                              ; preds = %822
  br label %824

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

825:                                              ; preds = %824
  br label %826

826:                                              ; preds = %825
  br label %827

827:                                              ; preds = %826
  %828 = load i32, ptr @test_count, align 4, !tbaa !5
  %829 = add nsw i32 %828, 1
  store i32 %829, ptr @test_count, align 4, !tbaa !5
  %830 = load ptr, ptr %14, align 8, !tbaa !9
  %831 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %830, ptr noundef @.str.77)
  %832 = icmp eq i32 %831, -1
  br i1 %832, label %833, label %886

833:                                              ; preds = %827
  br label %834

834:                                              ; preds = %833
  br label %835

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

842:                                              ; preds = %835
  %843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %844 = call i32 @fileno(ptr noundef %843) #10
  %845 = call i32 @isatty(i32 noundef %844) #10
  %846 = icmp ne i32 %845, 0
  br i1 %846, label %847, label %864

847:                                              ; preds = %842
  %848 = load i32, ptr %25, align 4, !tbaa !5
  %849 = call ptr @__errno_location() #11
  store i32 %848, ptr %849, align 4, !tbaa !5
  %850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %851 = load i32, ptr @test_count, align 4, !tbaa !5
  %852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %853 = load i32, ptr %852, align 4, !tbaa !5
  %854 = call ptr @s2n_strerror(i32 noundef %853, ptr noundef @.str.52)
  %855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %856 = load i32, ptr %855, align 4, !tbaa !5
  %857 = call ptr @s2n_strerror_debug(i32 noundef %856, ptr noundef @.str.52)
  %858 = call ptr @__errno_location() #11
  %859 = load i32, ptr %858, align 4, !tbaa !5
  %860 = call ptr @strerror(i32 noundef %859) #10
  %861 = call ptr @__errno_location() #11
  %862 = load i32, ptr %861, align 4, !tbaa !5
  %863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %850, ptr noundef @.str.49, i32 noundef %851, ptr noundef @.str.78, ptr noundef @.str.51, i32 noundef 332, ptr noundef %854, ptr noundef %857, ptr noundef %860, i32 noundef %862) #10
  br label %881

864:                                              ; preds = %842, %835
  %865 = load i32, ptr %25, align 4, !tbaa !5
  %866 = call ptr @__errno_location() #11
  store i32 %865, ptr %866, align 4, !tbaa !5
  %867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %868 = load i32, ptr @test_count, align 4, !tbaa !5
  %869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %870 = load i32, ptr %869, align 4, !tbaa !5
  %871 = call ptr @s2n_strerror(i32 noundef %870, ptr noundef @.str.52)
  %872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %873 = load i32, ptr %872, align 4, !tbaa !5
  %874 = call ptr @s2n_strerror_debug(i32 noundef %873, ptr noundef @.str.52)
  %875 = call ptr @__errno_location() #11
  %876 = load i32, ptr %875, align 4, !tbaa !5
  %877 = call ptr @strerror(i32 noundef %876) #10
  %878 = call ptr @__errno_location() #11
  %879 = load i32, ptr %878, align 4, !tbaa !5
  %880 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %867, ptr noundef @.str.53, i32 noundef %868, ptr noundef @.str.78, ptr noundef @.str.51, i32 noundef 332, ptr noundef %871, ptr noundef %874, ptr noundef %877, i32 noundef %879) #10
  br label %881

881:                                              ; preds = %864, %847
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #10
  br label %882

882:                                              ; preds = %881
  br label %883

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

884:                                              ; No predecessors!
  br label %885

885:                                              ; preds = %884
  br label %886

886:                                              ; preds = %885, %827
  br label %887

887:                                              ; preds = %886
  br label %888

888:                                              ; preds = %887
  br label %889

889:                                              ; preds = %888
  %890 = load i32, ptr @test_count, align 4, !tbaa !5
  %891 = add nsw i32 %890, 1
  store i32 %891, ptr @test_count, align 4, !tbaa !5
  %892 = load ptr, ptr %15, align 8, !tbaa !9
  %893 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %892, ptr noundef @.str.77)
  %894 = icmp eq i32 %893, -1
  br i1 %894, label %895, label %948

895:                                              ; preds = %889
  br label %896

896:                                              ; preds = %895
  br label %897

897:                                              ; preds = %896
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #10
  %898 = call ptr @__errno_location() #11
  %899 = load i32, ptr %898, align 4, !tbaa !5
  store i32 %899, ptr %26, align 4, !tbaa !5
  %900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %901 = call i32 @s2n_print_stacktrace(ptr noundef %900)
  %902 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %903 = trunc i8 %902 to i1
  br i1 %903, label %904, label %926

904:                                              ; preds = %897
  %905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %906 = call i32 @fileno(ptr noundef %905) #10
  %907 = call i32 @isatty(i32 noundef %906) #10
  %908 = icmp ne i32 %907, 0
  br i1 %908, label %909, label %926

909:                                              ; preds = %904
  %910 = load i32, ptr %26, align 4, !tbaa !5
  %911 = call ptr @__errno_location() #11
  store i32 %910, ptr %911, align 4, !tbaa !5
  %912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %913 = load i32, ptr @test_count, align 4, !tbaa !5
  %914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %915 = load i32, ptr %914, align 4, !tbaa !5
  %916 = call ptr @s2n_strerror(i32 noundef %915, ptr noundef @.str.52)
  %917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %918 = load i32, ptr %917, align 4, !tbaa !5
  %919 = call ptr @s2n_strerror_debug(i32 noundef %918, ptr noundef @.str.52)
  %920 = call ptr @__errno_location() #11
  %921 = load i32, ptr %920, align 4, !tbaa !5
  %922 = call ptr @strerror(i32 noundef %921) #10
  %923 = call ptr @__errno_location() #11
  %924 = load i32, ptr %923, align 4, !tbaa !5
  %925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %912, ptr noundef @.str.49, i32 noundef %913, ptr noundef @.str.79, ptr noundef @.str.51, i32 noundef 333, ptr noundef %916, ptr noundef %919, ptr noundef %922, i32 noundef %924) #10
  br label %943

926:                                              ; preds = %904, %897
  %927 = load i32, ptr %26, align 4, !tbaa !5
  %928 = call ptr @__errno_location() #11
  store i32 %927, ptr %928, align 4, !tbaa !5
  %929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %930 = load i32, ptr @test_count, align 4, !tbaa !5
  %931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %932 = load i32, ptr %931, align 4, !tbaa !5
  %933 = call ptr @s2n_strerror(i32 noundef %932, ptr noundef @.str.52)
  %934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %935 = load i32, ptr %934, align 4, !tbaa !5
  %936 = call ptr @s2n_strerror_debug(i32 noundef %935, ptr noundef @.str.52)
  %937 = call ptr @__errno_location() #11
  %938 = load i32, ptr %937, align 4, !tbaa !5
  %939 = call ptr @strerror(i32 noundef %938) #10
  %940 = call ptr @__errno_location() #11
  %941 = load i32, ptr %940, align 4, !tbaa !5
  %942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %929, ptr noundef @.str.53, i32 noundef %930, ptr noundef @.str.79, ptr noundef @.str.51, i32 noundef 333, ptr noundef %933, ptr noundef %936, ptr noundef %939, i32 noundef %941) #10
  br label %943

943:                                              ; preds = %926, %909
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #10
  br label %944

944:                                              ; preds = %943
  br label %945

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

946:                                              ; No predecessors!
  br label %947

947:                                              ; preds = %946
  br label %948

948:                                              ; preds = %947, %889
  br label %949

949:                                              ; preds = %948
  br label %950

950:                                              ; preds = %949
  br label %951

951:                                              ; preds = %950
  %952 = load i32, ptr @test_count, align 4, !tbaa !5
  %953 = add nsw i32 %952, 1
  store i32 %953, ptr @test_count, align 4, !tbaa !5
  %954 = load ptr, ptr %16, align 8, !tbaa !9
  %955 = call i32 @s2n_read_test_pem_and_len(ptr noundef @.str.82, ptr noundef %954, ptr noundef %18, i64 noundef 12000)
  %956 = icmp eq i32 %955, -1
  br i1 %956, label %957, label %1010

957:                                              ; preds = %951
  br label %958

958:                                              ; preds = %957
  br label %959

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

966:                                              ; preds = %959
  %967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %968 = call i32 @fileno(ptr noundef %967) #10
  %969 = call i32 @isatty(i32 noundef %968) #10
  %970 = icmp ne i32 %969, 0
  br i1 %970, label %971, label %988

971:                                              ; preds = %966
  %972 = load i32, ptr %27, align 4, !tbaa !5
  %973 = call ptr @__errno_location() #11
  store i32 %972, ptr %973, align 4, !tbaa !5
  %974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %975 = load i32, ptr @test_count, align 4, !tbaa !5
  %976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %977 = load i32, ptr %976, align 4, !tbaa !5
  %978 = call ptr @s2n_strerror(i32 noundef %977, ptr noundef @.str.52)
  %979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %980 = load i32, ptr %979, align 4, !tbaa !5
  %981 = call ptr @s2n_strerror_debug(i32 noundef %980, ptr noundef @.str.52)
  %982 = call ptr @__errno_location() #11
  %983 = load i32, ptr %982, align 4, !tbaa !5
  %984 = call ptr @strerror(i32 noundef %983) #10
  %985 = call ptr @__errno_location() #11
  %986 = load i32, ptr %985, align 4, !tbaa !5
  %987 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %974, ptr noundef @.str.49, i32 noundef %975, ptr noundef @.str.155, ptr noundef @.str.51, i32 noundef 335, ptr noundef %978, ptr noundef %981, ptr noundef %984, i32 noundef %986) #10
  br label %1005

988:                                              ; preds = %966, %959
  %989 = load i32, ptr %27, align 4, !tbaa !5
  %990 = call ptr @__errno_location() #11
  store i32 %989, ptr %990, align 4, !tbaa !5
  %991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %992 = load i32, ptr @test_count, align 4, !tbaa !5
  %993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %994 = load i32, ptr %993, align 4, !tbaa !5
  %995 = call ptr @s2n_strerror(i32 noundef %994, ptr noundef @.str.52)
  %996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %997 = load i32, ptr %996, align 4, !tbaa !5
  %998 = call ptr @s2n_strerror_debug(i32 noundef %997, ptr noundef @.str.52)
  %999 = call ptr @__errno_location() #11
  %1000 = load i32, ptr %999, align 4, !tbaa !5
  %1001 = call ptr @strerror(i32 noundef %1000) #10
  %1002 = call ptr @__errno_location() #11
  %1003 = load i32, ptr %1002, align 4, !tbaa !5
  %1004 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %991, ptr noundef @.str.53, i32 noundef %992, ptr noundef @.str.155, ptr noundef @.str.51, i32 noundef 335, ptr noundef %995, ptr noundef %998, ptr noundef %1001, i32 noundef %1003) #10
  br label %1005

1005:                                             ; preds = %988, %971
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #10
  br label %1006

1006:                                             ; preds = %1005
  br label %1007

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

1008:                                             ; No predecessors!
  br label %1009

1009:                                             ; preds = %1008
  br label %1010

1010:                                             ; preds = %1009, %951
  br label %1011

1011:                                             ; preds = %1010
  br label %1012

1012:                                             ; preds = %1011
  br label %1013

1013:                                             ; preds = %1012
  %1014 = load i32, ptr @test_count, align 4, !tbaa !5
  %1015 = add nsw i32 %1014, 1
  store i32 %1015, ptr @test_count, align 4, !tbaa !5
  %1016 = load ptr, ptr %17, align 8, !tbaa !9
  %1017 = call i32 @s2n_read_test_pem_and_len(ptr noundef @.str.84, ptr noundef %1016, ptr noundef %19, i64 noundef 12000)
  %1018 = icmp eq i32 %1017, -1
  br i1 %1018, label %1019, label %1072

1019:                                             ; preds = %1013
  br label %1020

1020:                                             ; preds = %1019
  br label %1021

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

1028:                                             ; preds = %1021
  %1029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1030 = call i32 @fileno(ptr noundef %1029) #10
  %1031 = call i32 @isatty(i32 noundef %1030) #10
  %1032 = icmp ne i32 %1031, 0
  br i1 %1032, label %1033, label %1050

1033:                                             ; preds = %1028
  %1034 = load i32, ptr %28, align 4, !tbaa !5
  %1035 = call ptr @__errno_location() #11
  store i32 %1034, ptr %1035, align 4, !tbaa !5
  %1036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1037 = load i32, ptr @test_count, align 4, !tbaa !5
  %1038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1039 = load i32, ptr %1038, align 4, !tbaa !5
  %1040 = call ptr @s2n_strerror(i32 noundef %1039, ptr noundef @.str.52)
  %1041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1042 = load i32, ptr %1041, align 4, !tbaa !5
  %1043 = call ptr @s2n_strerror_debug(i32 noundef %1042, ptr noundef @.str.52)
  %1044 = call ptr @__errno_location() #11
  %1045 = load i32, ptr %1044, align 4, !tbaa !5
  %1046 = call ptr @strerror(i32 noundef %1045) #10
  %1047 = call ptr @__errno_location() #11
  %1048 = load i32, ptr %1047, align 4, !tbaa !5
  %1049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1036, ptr noundef @.str.49, i32 noundef %1037, ptr noundef @.str.156, ptr noundef @.str.51, i32 noundef 336, ptr noundef %1040, ptr noundef %1043, ptr noundef %1046, i32 noundef %1048) #10
  br label %1067

1050:                                             ; preds = %1028, %1021
  %1051 = load i32, ptr %28, align 4, !tbaa !5
  %1052 = call ptr @__errno_location() #11
  store i32 %1051, ptr %1052, align 4, !tbaa !5
  %1053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1054 = load i32, ptr @test_count, align 4, !tbaa !5
  %1055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1056 = load i32, ptr %1055, align 4, !tbaa !5
  %1057 = call ptr @s2n_strerror(i32 noundef %1056, ptr noundef @.str.52)
  %1058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1059 = load i32, ptr %1058, align 4, !tbaa !5
  %1060 = call ptr @s2n_strerror_debug(i32 noundef %1059, ptr noundef @.str.52)
  %1061 = call ptr @__errno_location() #11
  %1062 = load i32, ptr %1061, align 4, !tbaa !5
  %1063 = call ptr @strerror(i32 noundef %1062) #10
  %1064 = call ptr @__errno_location() #11
  %1065 = load i32, ptr %1064, align 4, !tbaa !5
  %1066 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1053, ptr noundef @.str.53, i32 noundef %1054, ptr noundef @.str.156, ptr noundef @.str.51, i32 noundef 336, ptr noundef %1057, ptr noundef %1060, ptr noundef %1063, i32 noundef %1065) #10
  br label %1067

1067:                                             ; preds = %1050, %1033
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #10
  br label %1068

1068:                                             ; preds = %1067
  br label %1069

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

1070:                                             ; No predecessors!
  br label %1071

1071:                                             ; preds = %1070
  br label %1072

1072:                                             ; preds = %1071, %1013
  br label %1073

1073:                                             ; preds = %1072
  br label %1074

1074:                                             ; preds = %1073
  br label %1075

1075:                                             ; preds = %1074
  %1076 = load i32, ptr @test_count, align 4, !tbaa !5
  %1077 = add nsw i32 %1076, 1
  store i32 %1077, ptr @test_count, align 4, !tbaa !5
  %1078 = call ptr @s2n_cert_chain_and_key_new()
  store ptr %1078, ptr %20, align 8, !tbaa !9
  %1079 = icmp eq ptr %1078, null
  br i1 %1079, label %1080, label %1133

1080:                                             ; preds = %1075
  br label %1081

1081:                                             ; preds = %1080
  br label %1082

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

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

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

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

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

1129:                                             ; preds = %1128
  br label %1130

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

1131:                                             ; No predecessors!
  br label %1132

1132:                                             ; preds = %1131
  br label %1133

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

1134:                                             ; preds = %1133
  br label %1135

1135:                                             ; preds = %1134
  br label %1136

1136:                                             ; preds = %1135
  %1137 = load i32, ptr @test_count, align 4, !tbaa !5
  %1138 = add nsw i32 %1137, 1
  store i32 %1138, ptr @test_count, align 4, !tbaa !5
  %1139 = load ptr, ptr %20, align 8, !tbaa !9
  %1140 = load ptr, ptr %16, align 8, !tbaa !9
  %1141 = load i32, ptr %18, align 4, !tbaa !5
  %1142 = load ptr, ptr %17, align 8, !tbaa !9
  %1143 = load i32, ptr %19, align 4, !tbaa !5
  %1144 = call i32 @s2n_cert_chain_and_key_load_pem_bytes(ptr noundef %1139, ptr noundef %1140, i32 noundef %1141, ptr noundef %1142, i32 noundef %1143)
  %1145 = icmp eq i32 %1144, -1
  br i1 %1145, label %1146, label %1199

1146:                                             ; preds = %1136
  br label %1147

1147:                                             ; preds = %1146
  br label %1148

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

1155:                                             ; preds = %1148
  %1156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1157 = call i32 @fileno(ptr noundef %1156) #10
  %1158 = call i32 @isatty(i32 noundef %1157) #10
  %1159 = icmp ne i32 %1158, 0
  br i1 %1159, label %1160, label %1177

1160:                                             ; preds = %1155
  %1161 = load i32, ptr %30, align 4, !tbaa !5
  %1162 = call ptr @__errno_location() #11
  store i32 %1161, ptr %1162, align 4, !tbaa !5
  %1163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1164 = load i32, ptr @test_count, align 4, !tbaa !5
  %1165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1166 = load i32, ptr %1165, align 4, !tbaa !5
  %1167 = call ptr @s2n_strerror(i32 noundef %1166, ptr noundef @.str.52)
  %1168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1169 = load i32, ptr %1168, align 4, !tbaa !5
  %1170 = call ptr @s2n_strerror_debug(i32 noundef %1169, ptr noundef @.str.52)
  %1171 = call ptr @__errno_location() #11
  %1172 = load i32, ptr %1171, align 4, !tbaa !5
  %1173 = call ptr @strerror(i32 noundef %1172) #10
  %1174 = call ptr @__errno_location() #11
  %1175 = load i32, ptr %1174, align 4, !tbaa !5
  %1176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1163, ptr noundef @.str.49, i32 noundef %1164, ptr noundef @.str.158, ptr noundef @.str.51, i32 noundef 338, ptr noundef %1167, ptr noundef %1170, ptr noundef %1173, i32 noundef %1175) #10
  br label %1194

1177:                                             ; preds = %1155, %1148
  %1178 = load i32, ptr %30, align 4, !tbaa !5
  %1179 = call ptr @__errno_location() #11
  store i32 %1178, ptr %1179, align 4, !tbaa !5
  %1180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1181 = load i32, ptr @test_count, align 4, !tbaa !5
  %1182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1183 = load i32, ptr %1182, align 4, !tbaa !5
  %1184 = call ptr @s2n_strerror(i32 noundef %1183, ptr noundef @.str.52)
  %1185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1186 = load i32, ptr %1185, align 4, !tbaa !5
  %1187 = call ptr @s2n_strerror_debug(i32 noundef %1186, ptr noundef @.str.52)
  %1188 = call ptr @__errno_location() #11
  %1189 = load i32, ptr %1188, align 4, !tbaa !5
  %1190 = call ptr @strerror(i32 noundef %1189) #10
  %1191 = call ptr @__errno_location() #11
  %1192 = load i32, ptr %1191, align 4, !tbaa !5
  %1193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1180, ptr noundef @.str.53, i32 noundef %1181, ptr noundef @.str.158, ptr noundef @.str.51, i32 noundef 338, ptr noundef %1184, ptr noundef %1187, ptr noundef %1190, i32 noundef %1192) #10
  br label %1194

1194:                                             ; preds = %1177, %1160
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #10
  br label %1195

1195:                                             ; preds = %1194
  br label %1196

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

1197:                                             ; No predecessors!
  br label %1198

1198:                                             ; preds = %1197
  br label %1199

1199:                                             ; preds = %1198, %1136
  br label %1200

1200:                                             ; preds = %1199
  br label %1201

1201:                                             ; preds = %1200
  br label %1202

1202:                                             ; preds = %1201
  %1203 = load i32, ptr @test_count, align 4, !tbaa !5
  %1204 = add nsw i32 %1203, 1
  store i32 %1204, ptr @test_count, align 4, !tbaa !5
  %1205 = load ptr, ptr %14, align 8, !tbaa !9
  %1206 = load ptr, ptr %20, align 8, !tbaa !9
  %1207 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %1205, ptr noundef %1206)
  %1208 = icmp eq i32 %1207, -1
  br i1 %1208, label %1209, label %1262

1209:                                             ; preds = %1202
  br label %1210

1210:                                             ; preds = %1209
  br label %1211

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

1218:                                             ; preds = %1211
  %1219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1220 = call i32 @fileno(ptr noundef %1219) #10
  %1221 = call i32 @isatty(i32 noundef %1220) #10
  %1222 = icmp ne i32 %1221, 0
  br i1 %1222, label %1223, label %1240

1223:                                             ; preds = %1218
  %1224 = load i32, ptr %31, align 4, !tbaa !5
  %1225 = call ptr @__errno_location() #11
  store i32 %1224, ptr %1225, align 4, !tbaa !5
  %1226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1227 = load i32, ptr @test_count, align 4, !tbaa !5
  %1228 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1229 = load i32, ptr %1228, align 4, !tbaa !5
  %1230 = call ptr @s2n_strerror(i32 noundef %1229, ptr noundef @.str.52)
  %1231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1232 = load i32, ptr %1231, align 4, !tbaa !5
  %1233 = call ptr @s2n_strerror_debug(i32 noundef %1232, ptr noundef @.str.52)
  %1234 = call ptr @__errno_location() #11
  %1235 = load i32, ptr %1234, align 4, !tbaa !5
  %1236 = call ptr @strerror(i32 noundef %1235) #10
  %1237 = call ptr @__errno_location() #11
  %1238 = load i32, ptr %1237, align 4, !tbaa !5
  %1239 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1226, ptr noundef @.str.49, i32 noundef %1227, ptr noundef @.str.159, ptr noundef @.str.51, i32 noundef 339, ptr noundef %1230, ptr noundef %1233, ptr noundef %1236, i32 noundef %1238) #10
  br label %1257

1240:                                             ; preds = %1218, %1211
  %1241 = load i32, ptr %31, align 4, !tbaa !5
  %1242 = call ptr @__errno_location() #11
  store i32 %1241, ptr %1242, align 4, !tbaa !5
  %1243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1244 = load i32, ptr @test_count, align 4, !tbaa !5
  %1245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1246 = load i32, ptr %1245, align 4, !tbaa !5
  %1247 = call ptr @s2n_strerror(i32 noundef %1246, ptr noundef @.str.52)
  %1248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1249 = load i32, ptr %1248, align 4, !tbaa !5
  %1250 = call ptr @s2n_strerror_debug(i32 noundef %1249, ptr noundef @.str.52)
  %1251 = call ptr @__errno_location() #11
  %1252 = load i32, ptr %1251, align 4, !tbaa !5
  %1253 = call ptr @strerror(i32 noundef %1252) #10
  %1254 = call ptr @__errno_location() #11
  %1255 = load i32, ptr %1254, align 4, !tbaa !5
  %1256 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1243, ptr noundef @.str.53, i32 noundef %1244, ptr noundef @.str.159, ptr noundef @.str.51, i32 noundef 339, ptr noundef %1247, ptr noundef %1250, ptr noundef %1253, i32 noundef %1255) #10
  br label %1257

1257:                                             ; preds = %1240, %1223
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #10
  br label %1258

1258:                                             ; preds = %1257
  br label %1259

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

1260:                                             ; No predecessors!
  br label %1261

1261:                                             ; preds = %1260
  br label %1262

1262:                                             ; preds = %1261, %1202
  br label %1263

1263:                                             ; preds = %1262
  br label %1264

1264:                                             ; preds = %1263
  br label %1265

1265:                                             ; preds = %1264
  %1266 = load i32, ptr @test_count, align 4, !tbaa !5
  %1267 = add nsw i32 %1266, 1
  store i32 %1267, ptr @test_count, align 4, !tbaa !5
  %1268 = load ptr, ptr %15, align 8, !tbaa !9
  %1269 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %1268, ptr noundef @.str.82, ptr noundef null)
  %1270 = icmp eq i32 %1269, -1
  br i1 %1270, label %1271, label %1324

1271:                                             ; preds = %1265
  br label %1272

1272:                                             ; preds = %1271
  br label %1273

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

1280:                                             ; preds = %1273
  %1281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1282 = call i32 @fileno(ptr noundef %1281) #10
  %1283 = call i32 @isatty(i32 noundef %1282) #10
  %1284 = icmp ne i32 %1283, 0
  br i1 %1284, label %1285, label %1302

1285:                                             ; preds = %1280
  %1286 = load i32, ptr %32, align 4, !tbaa !5
  %1287 = call ptr @__errno_location() #11
  store i32 %1286, ptr %1287, align 4, !tbaa !5
  %1288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1289 = load i32, ptr @test_count, align 4, !tbaa !5
  %1290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1291 = load i32, ptr %1290, align 4, !tbaa !5
  %1292 = call ptr @s2n_strerror(i32 noundef %1291, ptr noundef @.str.52)
  %1293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1294 = load i32, ptr %1293, align 4, !tbaa !5
  %1295 = call ptr @s2n_strerror_debug(i32 noundef %1294, ptr noundef @.str.52)
  %1296 = call ptr @__errno_location() #11
  %1297 = load i32, ptr %1296, align 4, !tbaa !5
  %1298 = call ptr @strerror(i32 noundef %1297) #10
  %1299 = call ptr @__errno_location() #11
  %1300 = load i32, ptr %1299, align 4, !tbaa !5
  %1301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1288, ptr noundef @.str.49, i32 noundef %1289, ptr noundef @.str.160, ptr noundef @.str.51, i32 noundef 341, ptr noundef %1292, ptr noundef %1295, ptr noundef %1298, i32 noundef %1300) #10
  br label %1319

1302:                                             ; preds = %1280, %1273
  %1303 = load i32, ptr %32, align 4, !tbaa !5
  %1304 = call ptr @__errno_location() #11
  store i32 %1303, ptr %1304, align 4, !tbaa !5
  %1305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1306 = load i32, ptr @test_count, align 4, !tbaa !5
  %1307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1308 = load i32, ptr %1307, align 4, !tbaa !5
  %1309 = call ptr @s2n_strerror(i32 noundef %1308, ptr noundef @.str.52)
  %1310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1311 = load i32, ptr %1310, align 4, !tbaa !5
  %1312 = call ptr @s2n_strerror_debug(i32 noundef %1311, ptr noundef @.str.52)
  %1313 = call ptr @__errno_location() #11
  %1314 = load i32, ptr %1313, align 4, !tbaa !5
  %1315 = call ptr @strerror(i32 noundef %1314) #10
  %1316 = call ptr @__errno_location() #11
  %1317 = load i32, ptr %1316, align 4, !tbaa !5
  %1318 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1305, ptr noundef @.str.53, i32 noundef %1306, ptr noundef @.str.160, ptr noundef @.str.51, i32 noundef 341, ptr noundef %1309, ptr noundef %1312, ptr noundef %1315, i32 noundef %1317) #10
  br label %1319

1319:                                             ; preds = %1302, %1285
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #10
  br label %1320

1320:                                             ; preds = %1319
  br label %1321

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

1322:                                             ; No predecessors!
  br label %1323

1323:                                             ; preds = %1322
  br label %1324

1324:                                             ; preds = %1323, %1265
  br label %1325

1325:                                             ; preds = %1324
  br label %1326

1326:                                             ; preds = %1325
  br label %1327

1327:                                             ; preds = %1326
  %1328 = load i32, ptr @test_count, align 4, !tbaa !5
  %1329 = add nsw i32 %1328, 1
  store i32 %1329, ptr @test_count, align 4, !tbaa !5
  %1330 = load ptr, ptr %14, align 8, !tbaa !9
  %1331 = load ptr, ptr %15, align 8, !tbaa !9
  %1332 = load ptr, ptr %20, align 8, !tbaa !9
  %1333 = call i32 @s2n_test_client_auth_negotiation(ptr noundef %1330, ptr noundef %1331, ptr noundef %1332, i1 noundef zeroext true)
  %1334 = icmp eq i32 %1333, -1
  br i1 %1334, label %1335, label %1388

1335:                                             ; preds = %1327
  br label %1336

1336:                                             ; preds = %1335
  br label %1337

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

1344:                                             ; preds = %1337
  %1345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1346 = call i32 @fileno(ptr noundef %1345) #10
  %1347 = call i32 @isatty(i32 noundef %1346) #10
  %1348 = icmp ne i32 %1347, 0
  br i1 %1348, label %1349, label %1366

1349:                                             ; preds = %1344
  %1350 = load i32, ptr %33, align 4, !tbaa !5
  %1351 = call ptr @__errno_location() #11
  store i32 %1350, ptr %1351, align 4, !tbaa !5
  %1352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1353 = load i32, ptr @test_count, align 4, !tbaa !5
  %1354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1355 = load i32, ptr %1354, align 4, !tbaa !5
  %1356 = call ptr @s2n_strerror(i32 noundef %1355, ptr noundef @.str.52)
  %1357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1358 = load i32, ptr %1357, align 4, !tbaa !5
  %1359 = call ptr @s2n_strerror_debug(i32 noundef %1358, ptr noundef @.str.52)
  %1360 = call ptr @__errno_location() #11
  %1361 = load i32, ptr %1360, align 4, !tbaa !5
  %1362 = call ptr @strerror(i32 noundef %1361) #10
  %1363 = call ptr @__errno_location() #11
  %1364 = load i32, ptr %1363, align 4, !tbaa !5
  %1365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1352, ptr noundef @.str.49, i32 noundef %1353, ptr noundef @.str.161, ptr noundef @.str.51, i32 noundef 344, ptr noundef %1356, ptr noundef %1359, ptr noundef %1362, i32 noundef %1364) #10
  br label %1383

1366:                                             ; preds = %1344, %1337
  %1367 = load i32, ptr %33, align 4, !tbaa !5
  %1368 = call ptr @__errno_location() #11
  store i32 %1367, ptr %1368, align 4, !tbaa !5
  %1369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1370 = load i32, ptr @test_count, align 4, !tbaa !5
  %1371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1372 = load i32, ptr %1371, align 4, !tbaa !5
  %1373 = call ptr @s2n_strerror(i32 noundef %1372, ptr noundef @.str.52)
  %1374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1375 = load i32, ptr %1374, align 4, !tbaa !5
  %1376 = call ptr @s2n_strerror_debug(i32 noundef %1375, ptr noundef @.str.52)
  %1377 = call ptr @__errno_location() #11
  %1378 = load i32, ptr %1377, align 4, !tbaa !5
  %1379 = call ptr @strerror(i32 noundef %1378) #10
  %1380 = call ptr @__errno_location() #11
  %1381 = load i32, ptr %1380, align 4, !tbaa !5
  %1382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1369, ptr noundef @.str.53, i32 noundef %1370, ptr noundef @.str.161, ptr noundef @.str.51, i32 noundef 344, ptr noundef %1373, ptr noundef %1376, ptr noundef %1379, i32 noundef %1381) #10
  br label %1383

1383:                                             ; preds = %1366, %1349
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #10
  br label %1384

1384:                                             ; preds = %1383
  br label %1385

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

1386:                                             ; No predecessors!
  br label %1387

1387:                                             ; preds = %1386
  br label %1388

1388:                                             ; preds = %1387, %1327
  br label %1389

1389:                                             ; preds = %1388
  br label %1390

1390:                                             ; preds = %1389
  br label %1391

1391:                                             ; preds = %1390
  %1392 = load i32, ptr @test_count, align 4, !tbaa !5
  %1393 = add nsw i32 %1392, 1
  store i32 %1393, ptr @test_count, align 4, !tbaa !5
  %1394 = load ptr, ptr %15, align 8, !tbaa !9
  %1395 = load ptr, ptr %20, align 8, !tbaa !9
  %1396 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %1394, ptr noundef %1395)
  %1397 = icmp eq i32 %1396, -1
  br i1 %1397, label %1398, label %1451

1398:                                             ; preds = %1391
  br label %1399

1399:                                             ; preds = %1398
  br label %1400

1400:                                             ; preds = %1399
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #10
  %1401 = call ptr @__errno_location() #11
  %1402 = load i32, ptr %1401, align 4, !tbaa !5
  store i32 %1402, ptr %34, align 4, !tbaa !5
  %1403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1404 = call i32 @s2n_print_stacktrace(ptr noundef %1403)
  %1405 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1406 = trunc i8 %1405 to i1
  br i1 %1406, label %1407, label %1429

1407:                                             ; preds = %1400
  %1408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1409 = call i32 @fileno(ptr noundef %1408) #10
  %1410 = call i32 @isatty(i32 noundef %1409) #10
  %1411 = icmp ne i32 %1410, 0
  br i1 %1411, label %1412, label %1429

1412:                                             ; preds = %1407
  %1413 = load i32, ptr %34, align 4, !tbaa !5
  %1414 = call ptr @__errno_location() #11
  store i32 %1413, ptr %1414, align 4, !tbaa !5
  %1415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1416 = load i32, ptr @test_count, align 4, !tbaa !5
  %1417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1418 = load i32, ptr %1417, align 4, !tbaa !5
  %1419 = call ptr @s2n_strerror(i32 noundef %1418, ptr noundef @.str.52)
  %1420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1421 = load i32, ptr %1420, align 4, !tbaa !5
  %1422 = call ptr @s2n_strerror_debug(i32 noundef %1421, ptr noundef @.str.52)
  %1423 = call ptr @__errno_location() #11
  %1424 = load i32, ptr %1423, align 4, !tbaa !5
  %1425 = call ptr @strerror(i32 noundef %1424) #10
  %1426 = call ptr @__errno_location() #11
  %1427 = load i32, ptr %1426, align 4, !tbaa !5
  %1428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1415, ptr noundef @.str.49, i32 noundef %1416, ptr noundef @.str.162, ptr noundef @.str.51, i32 noundef 347, ptr noundef %1419, ptr noundef %1422, ptr noundef %1425, i32 noundef %1427) #10
  br label %1446

1429:                                             ; preds = %1407, %1400
  %1430 = load i32, ptr %34, align 4, !tbaa !5
  %1431 = call ptr @__errno_location() #11
  store i32 %1430, ptr %1431, align 4, !tbaa !5
  %1432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1433 = load i32, ptr @test_count, align 4, !tbaa !5
  %1434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1435 = load i32, ptr %1434, align 4, !tbaa !5
  %1436 = call ptr @s2n_strerror(i32 noundef %1435, ptr noundef @.str.52)
  %1437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1438 = load i32, ptr %1437, align 4, !tbaa !5
  %1439 = call ptr @s2n_strerror_debug(i32 noundef %1438, ptr noundef @.str.52)
  %1440 = call ptr @__errno_location() #11
  %1441 = load i32, ptr %1440, align 4, !tbaa !5
  %1442 = call ptr @strerror(i32 noundef %1441) #10
  %1443 = call ptr @__errno_location() #11
  %1444 = load i32, ptr %1443, align 4, !tbaa !5
  %1445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1432, ptr noundef @.str.53, i32 noundef %1433, ptr noundef @.str.162, ptr noundef @.str.51, i32 noundef 347, ptr noundef %1436, ptr noundef %1439, ptr noundef %1442, i32 noundef %1444) #10
  br label %1446

1446:                                             ; preds = %1429, %1412
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #10
  br label %1447

1447:                                             ; preds = %1446
  br label %1448

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

1449:                                             ; No predecessors!
  br label %1450

1450:                                             ; preds = %1449
  br label %1451

1451:                                             ; preds = %1450, %1391
  br label %1452

1452:                                             ; preds = %1451
  br label %1453

1453:                                             ; preds = %1452
  br label %1454

1454:                                             ; preds = %1453
  %1455 = load i32, ptr @test_count, align 4, !tbaa !5
  %1456 = add nsw i32 %1455, 1
  store i32 %1456, ptr @test_count, align 4, !tbaa !5
  %1457 = load ptr, ptr %14, align 8, !tbaa !9
  %1458 = load ptr, ptr %15, align 8, !tbaa !9
  %1459 = load ptr, ptr %20, align 8, !tbaa !9
  %1460 = call i32 @s2n_test_client_auth_negotiation(ptr noundef %1457, ptr noundef %1458, ptr noundef %1459, i1 noundef zeroext false)
  %1461 = icmp eq i32 %1460, -1
  br i1 %1461, label %1462, label %1515

1462:                                             ; preds = %1454
  br label %1463

1463:                                             ; preds = %1462
  br label %1464

1464:                                             ; preds = %1463
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #10
  %1465 = call ptr @__errno_location() #11
  %1466 = load i32, ptr %1465, align 4, !tbaa !5
  store i32 %1466, ptr %35, align 4, !tbaa !5
  %1467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1468 = call i32 @s2n_print_stacktrace(ptr noundef %1467)
  %1469 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1470 = trunc i8 %1469 to i1
  br i1 %1470, label %1471, label %1493

1471:                                             ; preds = %1464
  %1472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1473 = call i32 @fileno(ptr noundef %1472) #10
  %1474 = call i32 @isatty(i32 noundef %1473) #10
  %1475 = icmp ne i32 %1474, 0
  br i1 %1475, label %1476, label %1493

1476:                                             ; preds = %1471
  %1477 = load i32, ptr %35, align 4, !tbaa !5
  %1478 = call ptr @__errno_location() #11
  store i32 %1477, ptr %1478, align 4, !tbaa !5
  %1479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1480 = load i32, ptr @test_count, align 4, !tbaa !5
  %1481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1482 = load i32, ptr %1481, align 4, !tbaa !5
  %1483 = call ptr @s2n_strerror(i32 noundef %1482, ptr noundef @.str.52)
  %1484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1485 = load i32, ptr %1484, align 4, !tbaa !5
  %1486 = call ptr @s2n_strerror_debug(i32 noundef %1485, ptr noundef @.str.52)
  %1487 = call ptr @__errno_location() #11
  %1488 = load i32, ptr %1487, align 4, !tbaa !5
  %1489 = call ptr @strerror(i32 noundef %1488) #10
  %1490 = call ptr @__errno_location() #11
  %1491 = load i32, ptr %1490, align 4, !tbaa !5
  %1492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1479, ptr noundef @.str.49, i32 noundef %1480, ptr noundef @.str.163, ptr noundef @.str.51, i32 noundef 348, ptr noundef %1483, ptr noundef %1486, ptr noundef %1489, i32 noundef %1491) #10
  br label %1510

1493:                                             ; preds = %1471, %1464
  %1494 = load i32, ptr %35, align 4, !tbaa !5
  %1495 = call ptr @__errno_location() #11
  store i32 %1494, ptr %1495, align 4, !tbaa !5
  %1496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1497 = load i32, ptr @test_count, align 4, !tbaa !5
  %1498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1499 = load i32, ptr %1498, align 4, !tbaa !5
  %1500 = call ptr @s2n_strerror(i32 noundef %1499, ptr noundef @.str.52)
  %1501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1502 = load i32, ptr %1501, align 4, !tbaa !5
  %1503 = call ptr @s2n_strerror_debug(i32 noundef %1502, ptr noundef @.str.52)
  %1504 = call ptr @__errno_location() #11
  %1505 = load i32, ptr %1504, align 4, !tbaa !5
  %1506 = call ptr @strerror(i32 noundef %1505) #10
  %1507 = call ptr @__errno_location() #11
  %1508 = load i32, ptr %1507, align 4, !tbaa !5
  %1509 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1496, ptr noundef @.str.53, i32 noundef %1497, ptr noundef @.str.163, ptr noundef @.str.51, i32 noundef 348, ptr noundef %1500, ptr noundef %1503, ptr noundef %1506, i32 noundef %1508) #10
  br label %1510

1510:                                             ; preds = %1493, %1476
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #10
  br label %1511

1511:                                             ; preds = %1510
  br label %1512

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

1513:                                             ; No predecessors!
  br label %1514

1514:                                             ; preds = %1513
  br label %1515

1515:                                             ; preds = %1514, %1454
  br label %1516

1516:                                             ; preds = %1515
  br label %1517

1517:                                             ; preds = %1516
  br label %1518

1518:                                             ; preds = %1517
  %1519 = load i32, ptr @test_count, align 4, !tbaa !5
  %1520 = add nsw i32 %1519, 1
  store i32 %1520, ptr @test_count, align 4, !tbaa !5
  %1521 = load ptr, ptr %20, align 8, !tbaa !9
  %1522 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %1521)
  %1523 = icmp eq i32 %1522, -1
  br i1 %1523, label %1524, label %1577

1524:                                             ; preds = %1518
  br label %1525

1525:                                             ; preds = %1524
  br label %1526

1526:                                             ; preds = %1525
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #10
  %1527 = call ptr @__errno_location() #11
  %1528 = load i32, ptr %1527, align 4, !tbaa !5
  store i32 %1528, ptr %36, align 4, !tbaa !5
  %1529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1530 = call i32 @s2n_print_stacktrace(ptr noundef %1529)
  %1531 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1532 = trunc i8 %1531 to i1
  br i1 %1532, label %1533, label %1555

1533:                                             ; preds = %1526
  %1534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1535 = call i32 @fileno(ptr noundef %1534) #10
  %1536 = call i32 @isatty(i32 noundef %1535) #10
  %1537 = icmp ne i32 %1536, 0
  br i1 %1537, label %1538, label %1555

1538:                                             ; preds = %1533
  %1539 = load i32, ptr %36, align 4, !tbaa !5
  %1540 = call ptr @__errno_location() #11
  store i32 %1539, ptr %1540, align 4, !tbaa !5
  %1541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1542 = load i32, ptr @test_count, align 4, !tbaa !5
  %1543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1544 = load i32, ptr %1543, align 4, !tbaa !5
  %1545 = call ptr @s2n_strerror(i32 noundef %1544, ptr noundef @.str.52)
  %1546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1547 = load i32, ptr %1546, align 4, !tbaa !5
  %1548 = call ptr @s2n_strerror_debug(i32 noundef %1547, ptr noundef @.str.52)
  %1549 = call ptr @__errno_location() #11
  %1550 = load i32, ptr %1549, align 4, !tbaa !5
  %1551 = call ptr @strerror(i32 noundef %1550) #10
  %1552 = call ptr @__errno_location() #11
  %1553 = load i32, ptr %1552, align 4, !tbaa !5
  %1554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1541, ptr noundef @.str.49, i32 noundef %1542, ptr noundef @.str.164, ptr noundef @.str.51, i32 noundef 350, ptr noundef %1545, ptr noundef %1548, ptr noundef %1551, i32 noundef %1553) #10
  br label %1572

1555:                                             ; preds = %1533, %1526
  %1556 = load i32, ptr %36, align 4, !tbaa !5
  %1557 = call ptr @__errno_location() #11
  store i32 %1556, ptr %1557, align 4, !tbaa !5
  %1558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1559 = load i32, ptr @test_count, align 4, !tbaa !5
  %1560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1561 = load i32, ptr %1560, align 4, !tbaa !5
  %1562 = call ptr @s2n_strerror(i32 noundef %1561, ptr noundef @.str.52)
  %1563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1564 = load i32, ptr %1563, align 4, !tbaa !5
  %1565 = call ptr @s2n_strerror_debug(i32 noundef %1564, ptr noundef @.str.52)
  %1566 = call ptr @__errno_location() #11
  %1567 = load i32, ptr %1566, align 4, !tbaa !5
  %1568 = call ptr @strerror(i32 noundef %1567) #10
  %1569 = call ptr @__errno_location() #11
  %1570 = load i32, ptr %1569, align 4, !tbaa !5
  %1571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1558, ptr noundef @.str.53, i32 noundef %1559, ptr noundef @.str.164, ptr noundef @.str.51, i32 noundef 350, ptr noundef %1562, ptr noundef %1565, ptr noundef %1568, i32 noundef %1570) #10
  br label %1572

1572:                                             ; preds = %1555, %1538
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #10
  br label %1573

1573:                                             ; preds = %1572
  br label %1574

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

1575:                                             ; No predecessors!
  br label %1576

1576:                                             ; preds = %1575
  br label %1577

1577:                                             ; preds = %1576, %1518
  br label %1578

1578:                                             ; preds = %1577
  br label %1579

1579:                                             ; preds = %1578
  br label %1580

1580:                                             ; preds = %1579
  %1581 = load i32, ptr @test_count, align 4, !tbaa !5
  %1582 = add nsw i32 %1581, 1
  store i32 %1582, ptr @test_count, align 4, !tbaa !5
  %1583 = load ptr, ptr %14, align 8, !tbaa !9
  %1584 = call i32 @s2n_config_free(ptr noundef %1583)
  %1585 = icmp eq i32 %1584, -1
  br i1 %1585, label %1586, label %1639

1586:                                             ; preds = %1580
  br label %1587

1587:                                             ; preds = %1586
  br label %1588

1588:                                             ; preds = %1587
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #10
  %1589 = call ptr @__errno_location() #11
  %1590 = load i32, ptr %1589, align 4, !tbaa !5
  store i32 %1590, ptr %37, align 4, !tbaa !5
  %1591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1592 = call i32 @s2n_print_stacktrace(ptr noundef %1591)
  %1593 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1594 = trunc i8 %1593 to i1
  br i1 %1594, label %1595, label %1617

1595:                                             ; preds = %1588
  %1596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1597 = call i32 @fileno(ptr noundef %1596) #10
  %1598 = call i32 @isatty(i32 noundef %1597) #10
  %1599 = icmp ne i32 %1598, 0
  br i1 %1599, label %1600, label %1617

1600:                                             ; preds = %1595
  %1601 = load i32, ptr %37, align 4, !tbaa !5
  %1602 = call ptr @__errno_location() #11
  store i32 %1601, ptr %1602, align 4, !tbaa !5
  %1603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1604 = load i32, ptr @test_count, align 4, !tbaa !5
  %1605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1606 = load i32, ptr %1605, align 4, !tbaa !5
  %1607 = call ptr @s2n_strerror(i32 noundef %1606, ptr noundef @.str.52)
  %1608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1609 = load i32, ptr %1608, align 4, !tbaa !5
  %1610 = call ptr @s2n_strerror_debug(i32 noundef %1609, ptr noundef @.str.52)
  %1611 = call ptr @__errno_location() #11
  %1612 = load i32, ptr %1611, align 4, !tbaa !5
  %1613 = call ptr @strerror(i32 noundef %1612) #10
  %1614 = call ptr @__errno_location() #11
  %1615 = load i32, ptr %1614, align 4, !tbaa !5
  %1616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1603, ptr noundef @.str.49, i32 noundef %1604, ptr noundef @.str.137, ptr noundef @.str.51, i32 noundef 351, ptr noundef %1607, ptr noundef %1610, ptr noundef %1613, i32 noundef %1615) #10
  br label %1634

1617:                                             ; preds = %1595, %1588
  %1618 = load i32, ptr %37, align 4, !tbaa !5
  %1619 = call ptr @__errno_location() #11
  store i32 %1618, ptr %1619, align 4, !tbaa !5
  %1620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1621 = load i32, ptr @test_count, align 4, !tbaa !5
  %1622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1623 = load i32, ptr %1622, align 4, !tbaa !5
  %1624 = call ptr @s2n_strerror(i32 noundef %1623, ptr noundef @.str.52)
  %1625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1626 = load i32, ptr %1625, align 4, !tbaa !5
  %1627 = call ptr @s2n_strerror_debug(i32 noundef %1626, ptr noundef @.str.52)
  %1628 = call ptr @__errno_location() #11
  %1629 = load i32, ptr %1628, align 4, !tbaa !5
  %1630 = call ptr @strerror(i32 noundef %1629) #10
  %1631 = call ptr @__errno_location() #11
  %1632 = load i32, ptr %1631, align 4, !tbaa !5
  %1633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1620, ptr noundef @.str.53, i32 noundef %1621, ptr noundef @.str.137, ptr noundef @.str.51, i32 noundef 351, ptr noundef %1624, ptr noundef %1627, ptr noundef %1630, i32 noundef %1632) #10
  br label %1634

1634:                                             ; preds = %1617, %1600
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #10
  br label %1635

1635:                                             ; preds = %1634
  br label %1636

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

1637:                                             ; No predecessors!
  br label %1638

1638:                                             ; preds = %1637
  br label %1639

1639:                                             ; preds = %1638, %1580
  br label %1640

1640:                                             ; preds = %1639
  br label %1641

1641:                                             ; preds = %1640
  br label %1642

1642:                                             ; preds = %1641
  %1643 = load i32, ptr @test_count, align 4, !tbaa !5
  %1644 = add nsw i32 %1643, 1
  store i32 %1644, ptr @test_count, align 4, !tbaa !5
  %1645 = load ptr, ptr %15, align 8, !tbaa !9
  %1646 = call i32 @s2n_config_free(ptr noundef %1645)
  %1647 = icmp eq i32 %1646, -1
  br i1 %1647, label %1648, label %1701

1648:                                             ; preds = %1642
  br label %1649

1649:                                             ; preds = %1648
  br label %1650

1650:                                             ; preds = %1649
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #10
  %1651 = call ptr @__errno_location() #11
  %1652 = load i32, ptr %1651, align 4, !tbaa !5
  store i32 %1652, ptr %38, align 4, !tbaa !5
  %1653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1654 = call i32 @s2n_print_stacktrace(ptr noundef %1653)
  %1655 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1656 = trunc i8 %1655 to i1
  br i1 %1656, label %1657, label %1679

1657:                                             ; preds = %1650
  %1658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1659 = call i32 @fileno(ptr noundef %1658) #10
  %1660 = call i32 @isatty(i32 noundef %1659) #10
  %1661 = icmp ne i32 %1660, 0
  br i1 %1661, label %1662, label %1679

1662:                                             ; preds = %1657
  %1663 = load i32, ptr %38, align 4, !tbaa !5
  %1664 = call ptr @__errno_location() #11
  store i32 %1663, ptr %1664, align 4, !tbaa !5
  %1665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1666 = load i32, ptr @test_count, align 4, !tbaa !5
  %1667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1668 = load i32, ptr %1667, align 4, !tbaa !5
  %1669 = call ptr @s2n_strerror(i32 noundef %1668, ptr noundef @.str.52)
  %1670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1671 = load i32, ptr %1670, align 4, !tbaa !5
  %1672 = call ptr @s2n_strerror_debug(i32 noundef %1671, ptr noundef @.str.52)
  %1673 = call ptr @__errno_location() #11
  %1674 = load i32, ptr %1673, align 4, !tbaa !5
  %1675 = call ptr @strerror(i32 noundef %1674) #10
  %1676 = call ptr @__errno_location() #11
  %1677 = load i32, ptr %1676, align 4, !tbaa !5
  %1678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1665, ptr noundef @.str.49, i32 noundef %1666, ptr noundef @.str.138, ptr noundef @.str.51, i32 noundef 352, ptr noundef %1669, ptr noundef %1672, ptr noundef %1675, i32 noundef %1677) #10
  br label %1696

1679:                                             ; preds = %1657, %1650
  %1680 = load i32, ptr %38, align 4, !tbaa !5
  %1681 = call ptr @__errno_location() #11
  store i32 %1680, ptr %1681, align 4, !tbaa !5
  %1682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1683 = load i32, ptr @test_count, align 4, !tbaa !5
  %1684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1685 = load i32, ptr %1684, align 4, !tbaa !5
  %1686 = call ptr @s2n_strerror(i32 noundef %1685, ptr noundef @.str.52)
  %1687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1688 = load i32, ptr %1687, align 4, !tbaa !5
  %1689 = call ptr @s2n_strerror_debug(i32 noundef %1688, ptr noundef @.str.52)
  %1690 = call ptr @__errno_location() #11
  %1691 = load i32, ptr %1690, align 4, !tbaa !5
  %1692 = call ptr @strerror(i32 noundef %1691) #10
  %1693 = call ptr @__errno_location() #11
  %1694 = load i32, ptr %1693, align 4, !tbaa !5
  %1695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1682, ptr noundef @.str.53, i32 noundef %1683, ptr noundef @.str.138, ptr noundef @.str.51, i32 noundef 352, ptr noundef %1686, ptr noundef %1689, ptr noundef %1692, i32 noundef %1694) #10
  br label %1696

1696:                                             ; preds = %1679, %1662
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #10
  br label %1697

1697:                                             ; preds = %1696
  br label %1698

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

1699:                                             ; No predecessors!
  br label %1700

1700:                                             ; preds = %1699
  br label %1701

1701:                                             ; preds = %1700, %1642
  br label %1702

1702:                                             ; preds = %1701
  br label %1703

1703:                                             ; preds = %1702
  %1704 = load ptr, ptr %16, align 8, !tbaa !9
  call void @free(ptr noundef %1704) #10
  %1705 = load ptr, ptr %17, align 8, !tbaa !9
  call void @free(ptr noundef %1705) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #10
  %1706 = call i32 @s2n_test_client_auth_message_by_message(i1 noundef zeroext true)
  %1707 = call i32 @s2n_test_client_auth_message_by_message(i1 noundef zeroext false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #10
  %1708 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %1708, ptr %39, align 8, !tbaa !9
  br label %1709

1709:                                             ; preds = %1703
  %1710 = load i32, ptr @test_count, align 4, !tbaa !5
  %1711 = add nsw i32 %1710, 1
  store i32 %1711, ptr @test_count, align 4, !tbaa !5
  %1712 = load ptr, ptr %39, align 8, !tbaa !9
  %1713 = icmp eq ptr %1712, null
  br i1 %1713, label %1714, label %1767

1714:                                             ; preds = %1709
  br label %1715

1715:                                             ; preds = %1714
  br label %1716

1716:                                             ; preds = %1715
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #10
  %1717 = call ptr @__errno_location() #11
  %1718 = load i32, ptr %1717, align 4, !tbaa !5
  store i32 %1718, ptr %40, align 4, !tbaa !5
  %1719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1720 = call i32 @s2n_print_stacktrace(ptr noundef %1719)
  %1721 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1722 = trunc i8 %1721 to i1
  br i1 %1722, label %1723, label %1745

1723:                                             ; preds = %1716
  %1724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1725 = call i32 @fileno(ptr noundef %1724) #10
  %1726 = call i32 @isatty(i32 noundef %1725) #10
  %1727 = icmp ne i32 %1726, 0
  br i1 %1727, label %1728, label %1745

1728:                                             ; preds = %1723
  %1729 = load i32, ptr %40, align 4, !tbaa !5
  %1730 = call ptr @__errno_location() #11
  store i32 %1729, ptr %1730, align 4, !tbaa !5
  %1731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1732 = load i32, ptr @test_count, align 4, !tbaa !5
  %1733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1734 = load i32, ptr %1733, align 4, !tbaa !5
  %1735 = call ptr @s2n_strerror(i32 noundef %1734, ptr noundef @.str.52)
  %1736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1737 = load i32, ptr %1736, align 4, !tbaa !5
  %1738 = call ptr @s2n_strerror_debug(i32 noundef %1737, ptr noundef @.str.52)
  %1739 = call ptr @__errno_location() #11
  %1740 = load i32, ptr %1739, align 4, !tbaa !5
  %1741 = call ptr @strerror(i32 noundef %1740) #10
  %1742 = call ptr @__errno_location() #11
  %1743 = load i32, ptr %1742, align 4, !tbaa !5
  %1744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1731, ptr noundef @.str.49, i32 noundef %1732, ptr noundef @.str.165, ptr noundef @.str.51, i32 noundef 370, ptr noundef %1735, ptr noundef %1738, ptr noundef %1741, i32 noundef %1743) #10
  br label %1762

1745:                                             ; preds = %1723, %1716
  %1746 = load i32, ptr %40, align 4, !tbaa !5
  %1747 = call ptr @__errno_location() #11
  store i32 %1746, ptr %1747, align 4, !tbaa !5
  %1748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1749 = load i32, ptr @test_count, align 4, !tbaa !5
  %1750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1751 = load i32, ptr %1750, align 4, !tbaa !5
  %1752 = call ptr @s2n_strerror(i32 noundef %1751, ptr noundef @.str.52)
  %1753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1754 = load i32, ptr %1753, align 4, !tbaa !5
  %1755 = call ptr @s2n_strerror_debug(i32 noundef %1754, ptr noundef @.str.52)
  %1756 = call ptr @__errno_location() #11
  %1757 = load i32, ptr %1756, align 4, !tbaa !5
  %1758 = call ptr @strerror(i32 noundef %1757) #10
  %1759 = call ptr @__errno_location() #11
  %1760 = load i32, ptr %1759, align 4, !tbaa !5
  %1761 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1748, ptr noundef @.str.53, i32 noundef %1749, ptr noundef @.str.165, ptr noundef @.str.51, i32 noundef 370, ptr noundef %1752, ptr noundef %1755, ptr noundef %1758, i32 noundef %1760) #10
  br label %1762

1762:                                             ; preds = %1745, %1728
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #10
  br label %1763

1763:                                             ; preds = %1762
  br label %1764

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

1765:                                             ; No predecessors!
  br label %1766

1766:                                             ; preds = %1765
  br label %1767

1767:                                             ; preds = %1766, %1709
  br label %1768

1768:                                             ; preds = %1767
  br label %1769

1769:                                             ; preds = %1768
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #10
  %1770 = call ptr @s2n_config_new()
  store ptr %1770, ptr %41, align 8, !tbaa !9
  br label %1771

1771:                                             ; preds = %1769
  %1772 = load i32, ptr @test_count, align 4, !tbaa !5
  %1773 = add nsw i32 %1772, 1
  store i32 %1773, ptr @test_count, align 4, !tbaa !5
  %1774 = load ptr, ptr %41, align 8, !tbaa !9
  %1775 = load ptr, ptr %12, align 8, !tbaa !9
  %1776 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %1774, ptr noundef %1775)
  %1777 = icmp eq i32 %1776, -1
  br i1 %1777, label %1778, label %1831

1778:                                             ; preds = %1771
  br label %1779

1779:                                             ; preds = %1778
  br label %1780

1780:                                             ; preds = %1779
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #10
  %1781 = call ptr @__errno_location() #11
  %1782 = load i32, ptr %1781, align 4, !tbaa !5
  store i32 %1782, ptr %42, align 4, !tbaa !5
  %1783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1784 = call i32 @s2n_print_stacktrace(ptr noundef %1783)
  %1785 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1786 = trunc i8 %1785 to i1
  br i1 %1786, label %1787, label %1809

1787:                                             ; preds = %1780
  %1788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1789 = call i32 @fileno(ptr noundef %1788) #10
  %1790 = call i32 @isatty(i32 noundef %1789) #10
  %1791 = icmp ne i32 %1790, 0
  br i1 %1791, label %1792, label %1809

1792:                                             ; preds = %1787
  %1793 = load i32, ptr %42, align 4, !tbaa !5
  %1794 = call ptr @__errno_location() #11
  store i32 %1793, ptr %1794, align 4, !tbaa !5
  %1795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1796 = load i32, ptr @test_count, align 4, !tbaa !5
  %1797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1798 = load i32, ptr %1797, align 4, !tbaa !5
  %1799 = call ptr @s2n_strerror(i32 noundef %1798, ptr noundef @.str.52)
  %1800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1801 = load i32, ptr %1800, align 4, !tbaa !5
  %1802 = call ptr @s2n_strerror_debug(i32 noundef %1801, ptr noundef @.str.52)
  %1803 = call ptr @__errno_location() #11
  %1804 = load i32, ptr %1803, align 4, !tbaa !5
  %1805 = call ptr @strerror(i32 noundef %1804) #10
  %1806 = call ptr @__errno_location() #11
  %1807 = load i32, ptr %1806, align 4, !tbaa !5
  %1808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1795, ptr noundef @.str.49, i32 noundef %1796, ptr noundef @.str.166, ptr noundef @.str.51, i32 noundef 373, ptr noundef %1799, ptr noundef %1802, ptr noundef %1805, i32 noundef %1807) #10
  br label %1826

1809:                                             ; preds = %1787, %1780
  %1810 = load i32, ptr %42, align 4, !tbaa !5
  %1811 = call ptr @__errno_location() #11
  store i32 %1810, ptr %1811, align 4, !tbaa !5
  %1812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1813 = load i32, ptr @test_count, align 4, !tbaa !5
  %1814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1815 = load i32, ptr %1814, align 4, !tbaa !5
  %1816 = call ptr @s2n_strerror(i32 noundef %1815, ptr noundef @.str.52)
  %1817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1818 = load i32, ptr %1817, align 4, !tbaa !5
  %1819 = call ptr @s2n_strerror_debug(i32 noundef %1818, ptr noundef @.str.52)
  %1820 = call ptr @__errno_location() #11
  %1821 = load i32, ptr %1820, align 4, !tbaa !5
  %1822 = call ptr @strerror(i32 noundef %1821) #10
  %1823 = call ptr @__errno_location() #11
  %1824 = load i32, ptr %1823, align 4, !tbaa !5
  %1825 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1812, ptr noundef @.str.53, i32 noundef %1813, ptr noundef @.str.166, ptr noundef @.str.51, i32 noundef 373, ptr noundef %1816, ptr noundef %1819, ptr noundef %1822, i32 noundef %1824) #10
  br label %1826

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

1827:                                             ; preds = %1826
  br label %1828

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

1829:                                             ; No predecessors!
  br label %1830

1830:                                             ; preds = %1829
  br label %1831

1831:                                             ; preds = %1830, %1771
  br label %1832

1832:                                             ; preds = %1831
  br label %1833

1833:                                             ; preds = %1832
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #10
  %1834 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %1834, ptr %43, align 8, !tbaa !9
  br label %1835

1835:                                             ; preds = %1833
  %1836 = load i32, ptr @test_count, align 4, !tbaa !5
  %1837 = add nsw i32 %1836, 1
  store i32 %1837, ptr @test_count, align 4, !tbaa !5
  %1838 = load ptr, ptr %43, align 8, !tbaa !9
  %1839 = icmp eq ptr %1838, null
  br i1 %1839, label %1840, label %1893

1840:                                             ; preds = %1835
  br label %1841

1841:                                             ; preds = %1840
  br label %1842

1842:                                             ; preds = %1841
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #10
  %1843 = call ptr @__errno_location() #11
  %1844 = load i32, ptr %1843, align 4, !tbaa !5
  store i32 %1844, ptr %44, align 4, !tbaa !5
  %1845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1846 = call i32 @s2n_print_stacktrace(ptr noundef %1845)
  %1847 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1848 = trunc i8 %1847 to i1
  br i1 %1848, label %1849, label %1871

1849:                                             ; preds = %1842
  %1850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1851 = call i32 @fileno(ptr noundef %1850) #10
  %1852 = call i32 @isatty(i32 noundef %1851) #10
  %1853 = icmp ne i32 %1852, 0
  br i1 %1853, label %1854, label %1871

1854:                                             ; preds = %1849
  %1855 = load i32, ptr %44, align 4, !tbaa !5
  %1856 = call ptr @__errno_location() #11
  store i32 %1855, ptr %1856, align 4, !tbaa !5
  %1857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1858 = load i32, ptr @test_count, align 4, !tbaa !5
  %1859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1860 = load i32, ptr %1859, align 4, !tbaa !5
  %1861 = call ptr @s2n_strerror(i32 noundef %1860, ptr noundef @.str.52)
  %1862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1863 = load i32, ptr %1862, align 4, !tbaa !5
  %1864 = call ptr @s2n_strerror_debug(i32 noundef %1863, ptr noundef @.str.52)
  %1865 = call ptr @__errno_location() #11
  %1866 = load i32, ptr %1865, align 4, !tbaa !5
  %1867 = call ptr @strerror(i32 noundef %1866) #10
  %1868 = call ptr @__errno_location() #11
  %1869 = load i32, ptr %1868, align 4, !tbaa !5
  %1870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1857, ptr noundef @.str.49, i32 noundef %1858, ptr noundef @.str.167, ptr noundef @.str.51, i32 noundef 377, ptr noundef %1861, ptr noundef %1864, ptr noundef %1867, i32 noundef %1869) #10
  br label %1888

1871:                                             ; preds = %1849, %1842
  %1872 = load i32, ptr %44, align 4, !tbaa !5
  %1873 = call ptr @__errno_location() #11
  store i32 %1872, ptr %1873, align 4, !tbaa !5
  %1874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1875 = load i32, ptr @test_count, align 4, !tbaa !5
  %1876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1877 = load i32, ptr %1876, align 4, !tbaa !5
  %1878 = call ptr @s2n_strerror(i32 noundef %1877, ptr noundef @.str.52)
  %1879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1880 = load i32, ptr %1879, align 4, !tbaa !5
  %1881 = call ptr @s2n_strerror_debug(i32 noundef %1880, ptr noundef @.str.52)
  %1882 = call ptr @__errno_location() #11
  %1883 = load i32, ptr %1882, align 4, !tbaa !5
  %1884 = call ptr @strerror(i32 noundef %1883) #10
  %1885 = call ptr @__errno_location() #11
  %1886 = load i32, ptr %1885, align 4, !tbaa !5
  %1887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1874, ptr noundef @.str.53, i32 noundef %1875, ptr noundef @.str.167, ptr noundef @.str.51, i32 noundef 377, ptr noundef %1878, ptr noundef %1881, ptr noundef %1884, i32 noundef %1886) #10
  br label %1888

1888:                                             ; preds = %1871, %1854
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #10
  br label %1889

1889:                                             ; preds = %1888
  br label %1890

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

1891:                                             ; No predecessors!
  br label %1892

1892:                                             ; preds = %1891
  br label %1893

1893:                                             ; preds = %1892, %1835
  br label %1894

1894:                                             ; preds = %1893
  br label %1895

1895:                                             ; preds = %1894
  br label %1896

1896:                                             ; preds = %1895
  %1897 = load i32, ptr @test_count, align 4, !tbaa !5
  %1898 = add nsw i32 %1897, 1
  store i32 %1898, ptr @test_count, align 4, !tbaa !5
  %1899 = load ptr, ptr %43, align 8, !tbaa !9
  %1900 = call i32 @s2n_connection_set_blinding(ptr noundef %1899, i32 noundef 1)
  %1901 = icmp eq i32 %1900, -1
  br i1 %1901, label %1902, label %1955

1902:                                             ; preds = %1896
  br label %1903

1903:                                             ; preds = %1902
  br label %1904

1904:                                             ; preds = %1903
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #10
  %1905 = call ptr @__errno_location() #11
  %1906 = load i32, ptr %1905, align 4, !tbaa !5
  store i32 %1906, ptr %45, align 4, !tbaa !5
  %1907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1908 = call i32 @s2n_print_stacktrace(ptr noundef %1907)
  %1909 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1910 = trunc i8 %1909 to i1
  br i1 %1910, label %1911, label %1933

1911:                                             ; preds = %1904
  %1912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1913 = call i32 @fileno(ptr noundef %1912) #10
  %1914 = call i32 @isatty(i32 noundef %1913) #10
  %1915 = icmp ne i32 %1914, 0
  br i1 %1915, label %1916, label %1933

1916:                                             ; preds = %1911
  %1917 = load i32, ptr %45, align 4, !tbaa !5
  %1918 = call ptr @__errno_location() #11
  store i32 %1917, ptr %1918, align 4, !tbaa !5
  %1919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1920 = load i32, ptr @test_count, align 4, !tbaa !5
  %1921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1922 = load i32, ptr %1921, align 4, !tbaa !5
  %1923 = call ptr @s2n_strerror(i32 noundef %1922, ptr noundef @.str.52)
  %1924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1925 = load i32, ptr %1924, align 4, !tbaa !5
  %1926 = call ptr @s2n_strerror_debug(i32 noundef %1925, ptr noundef @.str.52)
  %1927 = call ptr @__errno_location() #11
  %1928 = load i32, ptr %1927, align 4, !tbaa !5
  %1929 = call ptr @strerror(i32 noundef %1928) #10
  %1930 = call ptr @__errno_location() #11
  %1931 = load i32, ptr %1930, align 4, !tbaa !5
  %1932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1919, ptr noundef @.str.49, i32 noundef %1920, ptr noundef @.str.168, ptr noundef @.str.51, i32 noundef 378, ptr noundef %1923, ptr noundef %1926, ptr noundef %1929, i32 noundef %1931) #10
  br label %1950

1933:                                             ; preds = %1911, %1904
  %1934 = load i32, ptr %45, align 4, !tbaa !5
  %1935 = call ptr @__errno_location() #11
  store i32 %1934, ptr %1935, align 4, !tbaa !5
  %1936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1937 = load i32, ptr @test_count, align 4, !tbaa !5
  %1938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1939 = load i32, ptr %1938, align 4, !tbaa !5
  %1940 = call ptr @s2n_strerror(i32 noundef %1939, ptr noundef @.str.52)
  %1941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1942 = load i32, ptr %1941, align 4, !tbaa !5
  %1943 = call ptr @s2n_strerror_debug(i32 noundef %1942, ptr noundef @.str.52)
  %1944 = call ptr @__errno_location() #11
  %1945 = load i32, ptr %1944, align 4, !tbaa !5
  %1946 = call ptr @strerror(i32 noundef %1945) #10
  %1947 = call ptr @__errno_location() #11
  %1948 = load i32, ptr %1947, align 4, !tbaa !5
  %1949 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1936, ptr noundef @.str.53, i32 noundef %1937, ptr noundef @.str.168, ptr noundef @.str.51, i32 noundef 378, ptr noundef %1940, ptr noundef %1943, ptr noundef %1946, i32 noundef %1948) #10
  br label %1950

1950:                                             ; preds = %1933, %1916
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #10
  br label %1951

1951:                                             ; preds = %1950
  br label %1952

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

1953:                                             ; No predecessors!
  br label %1954

1954:                                             ; preds = %1953
  br label %1955

1955:                                             ; preds = %1954, %1896
  br label %1956

1956:                                             ; preds = %1955
  br label %1957

1957:                                             ; preds = %1956
  br label %1958

1958:                                             ; preds = %1957
  %1959 = load i32, ptr @test_count, align 4, !tbaa !5
  %1960 = add nsw i32 %1959, 1
  store i32 %1960, ptr @test_count, align 4, !tbaa !5
  %1961 = load ptr, ptr %43, align 8, !tbaa !9
  %1962 = load ptr, ptr %41, align 8, !tbaa !9
  %1963 = call i32 @s2n_connection_set_config(ptr noundef %1961, ptr noundef %1962)
  %1964 = icmp eq i32 %1963, -1
  br i1 %1964, label %1965, label %2018

1965:                                             ; preds = %1958
  br label %1966

1966:                                             ; preds = %1965
  br label %1967

1967:                                             ; preds = %1966
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #10
  %1968 = call ptr @__errno_location() #11
  %1969 = load i32, ptr %1968, align 4, !tbaa !5
  store i32 %1969, ptr %46, align 4, !tbaa !5
  %1970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1971 = call i32 @s2n_print_stacktrace(ptr noundef %1970)
  %1972 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1973 = trunc i8 %1972 to i1
  br i1 %1973, label %1974, label %1996

1974:                                             ; preds = %1967
  %1975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1976 = call i32 @fileno(ptr noundef %1975) #10
  %1977 = call i32 @isatty(i32 noundef %1976) #10
  %1978 = icmp ne i32 %1977, 0
  br i1 %1978, label %1979, label %1996

1979:                                             ; preds = %1974
  %1980 = load i32, ptr %46, align 4, !tbaa !5
  %1981 = call ptr @__errno_location() #11
  store i32 %1980, ptr %1981, align 4, !tbaa !5
  %1982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1983 = load i32, ptr @test_count, align 4, !tbaa !5
  %1984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1985 = load i32, ptr %1984, align 4, !tbaa !5
  %1986 = call ptr @s2n_strerror(i32 noundef %1985, ptr noundef @.str.52)
  %1987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1988 = load i32, ptr %1987, align 4, !tbaa !5
  %1989 = call ptr @s2n_strerror_debug(i32 noundef %1988, ptr noundef @.str.52)
  %1990 = call ptr @__errno_location() #11
  %1991 = load i32, ptr %1990, align 4, !tbaa !5
  %1992 = call ptr @strerror(i32 noundef %1991) #10
  %1993 = call ptr @__errno_location() #11
  %1994 = load i32, ptr %1993, align 4, !tbaa !5
  %1995 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1982, ptr noundef @.str.49, i32 noundef %1983, ptr noundef @.str.169, ptr noundef @.str.51, i32 noundef 379, ptr noundef %1986, ptr noundef %1989, ptr noundef %1992, i32 noundef %1994) #10
  br label %2013

1996:                                             ; preds = %1974, %1967
  %1997 = load i32, ptr %46, align 4, !tbaa !5
  %1998 = call ptr @__errno_location() #11
  store i32 %1997, ptr %1998, align 4, !tbaa !5
  %1999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2000 = load i32, ptr @test_count, align 4, !tbaa !5
  %2001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2002 = load i32, ptr %2001, align 4, !tbaa !5
  %2003 = call ptr @s2n_strerror(i32 noundef %2002, ptr noundef @.str.52)
  %2004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2005 = load i32, ptr %2004, align 4, !tbaa !5
  %2006 = call ptr @s2n_strerror_debug(i32 noundef %2005, ptr noundef @.str.52)
  %2007 = call ptr @__errno_location() #11
  %2008 = load i32, ptr %2007, align 4, !tbaa !5
  %2009 = call ptr @strerror(i32 noundef %2008) #10
  %2010 = call ptr @__errno_location() #11
  %2011 = load i32, ptr %2010, align 4, !tbaa !5
  %2012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1999, ptr noundef @.str.53, i32 noundef %2000, ptr noundef @.str.169, ptr noundef @.str.51, i32 noundef 379, ptr noundef %2003, ptr noundef %2006, ptr noundef %2009, i32 noundef %2011) #10
  br label %2013

2013:                                             ; preds = %1996, %1979
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #10
  br label %2014

2014:                                             ; preds = %2013
  br label %2015

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

2016:                                             ; No predecessors!
  br label %2017

2017:                                             ; preds = %2016
  br label %2018

2018:                                             ; preds = %2017, %1958
  br label %2019

2019:                                             ; preds = %2018
  br label %2020

2020:                                             ; preds = %2019
  br label %2021

2021:                                             ; preds = %2020
  %2022 = load i32, ptr @test_count, align 4, !tbaa !5
  %2023 = add nsw i32 %2022, 1
  store i32 %2023, ptr @test_count, align 4, !tbaa !5
  %2024 = load ptr, ptr %39, align 8, !tbaa !9
  %2025 = call i32 @s2n_connection_set_client_auth_type(ptr noundef %2024, i32 noundef 0)
  %2026 = icmp eq i32 %2025, -1
  br i1 %2026, label %2027, label %2080

2027:                                             ; preds = %2021
  br label %2028

2028:                                             ; preds = %2027
  br label %2029

2029:                                             ; preds = %2028
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #10
  %2030 = call ptr @__errno_location() #11
  %2031 = load i32, ptr %2030, align 4, !tbaa !5
  store i32 %2031, ptr %47, align 4, !tbaa !5
  %2032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2033 = call i32 @s2n_print_stacktrace(ptr noundef %2032)
  %2034 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2035 = trunc i8 %2034 to i1
  br i1 %2035, label %2036, label %2058

2036:                                             ; preds = %2029
  %2037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2038 = call i32 @fileno(ptr noundef %2037) #10
  %2039 = call i32 @isatty(i32 noundef %2038) #10
  %2040 = icmp ne i32 %2039, 0
  br i1 %2040, label %2041, label %2058

2041:                                             ; preds = %2036
  %2042 = load i32, ptr %47, align 4, !tbaa !5
  %2043 = call ptr @__errno_location() #11
  store i32 %2042, ptr %2043, align 4, !tbaa !5
  %2044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2045 = load i32, ptr @test_count, align 4, !tbaa !5
  %2046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2047 = load i32, ptr %2046, align 4, !tbaa !5
  %2048 = call ptr @s2n_strerror(i32 noundef %2047, ptr noundef @.str.52)
  %2049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2050 = load i32, ptr %2049, align 4, !tbaa !5
  %2051 = call ptr @s2n_strerror_debug(i32 noundef %2050, ptr noundef @.str.52)
  %2052 = call ptr @__errno_location() #11
  %2053 = load i32, ptr %2052, align 4, !tbaa !5
  %2054 = call ptr @strerror(i32 noundef %2053) #10
  %2055 = call ptr @__errno_location() #11
  %2056 = load i32, ptr %2055, align 4, !tbaa !5
  %2057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2044, ptr noundef @.str.49, i32 noundef %2045, ptr noundef @.str.170, ptr noundef @.str.51, i32 noundef 382, ptr noundef %2048, ptr noundef %2051, ptr noundef %2054, i32 noundef %2056) #10
  br label %2075

2058:                                             ; preds = %2036, %2029
  %2059 = load i32, ptr %47, align 4, !tbaa !5
  %2060 = call ptr @__errno_location() #11
  store i32 %2059, ptr %2060, align 4, !tbaa !5
  %2061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2062 = load i32, ptr @test_count, align 4, !tbaa !5
  %2063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2064 = load i32, ptr %2063, align 4, !tbaa !5
  %2065 = call ptr @s2n_strerror(i32 noundef %2064, ptr noundef @.str.52)
  %2066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2067 = load i32, ptr %2066, align 4, !tbaa !5
  %2068 = call ptr @s2n_strerror_debug(i32 noundef %2067, ptr noundef @.str.52)
  %2069 = call ptr @__errno_location() #11
  %2070 = load i32, ptr %2069, align 4, !tbaa !5
  %2071 = call ptr @strerror(i32 noundef %2070) #10
  %2072 = call ptr @__errno_location() #11
  %2073 = load i32, ptr %2072, align 4, !tbaa !5
  %2074 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2061, ptr noundef @.str.53, i32 noundef %2062, ptr noundef @.str.170, ptr noundef @.str.51, i32 noundef 382, ptr noundef %2065, ptr noundef %2068, ptr noundef %2071, i32 noundef %2073) #10
  br label %2075

2075:                                             ; preds = %2058, %2041
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #10
  br label %2076

2076:                                             ; preds = %2075
  br label %2077

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

2078:                                             ; No predecessors!
  br label %2079

2079:                                             ; preds = %2078
  br label %2080

2080:                                             ; preds = %2079, %2021
  br label %2081

2081:                                             ; preds = %2080
  br label %2082

2082:                                             ; preds = %2081
  br label %2083

2083:                                             ; preds = %2082
  %2084 = load i32, ptr @test_count, align 4, !tbaa !5
  %2085 = add nsw i32 %2084, 1
  store i32 %2085, ptr @test_count, align 4, !tbaa !5
  %2086 = load ptr, ptr %43, align 8, !tbaa !9
  %2087 = call i32 @s2n_connection_set_client_auth_type(ptr noundef %2086, i32 noundef 2)
  %2088 = icmp eq i32 %2087, -1
  br i1 %2088, label %2089, label %2142

2089:                                             ; preds = %2083
  br label %2090

2090:                                             ; preds = %2089
  br label %2091

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

2098:                                             ; preds = %2091
  %2099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2100 = call i32 @fileno(ptr noundef %2099) #10
  %2101 = call i32 @isatty(i32 noundef %2100) #10
  %2102 = icmp ne i32 %2101, 0
  br i1 %2102, label %2103, label %2120

2103:                                             ; preds = %2098
  %2104 = load i32, ptr %48, align 4, !tbaa !5
  %2105 = call ptr @__errno_location() #11
  store i32 %2104, ptr %2105, align 4, !tbaa !5
  %2106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2107 = load i32, ptr @test_count, align 4, !tbaa !5
  %2108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2109 = load i32, ptr %2108, align 4, !tbaa !5
  %2110 = call ptr @s2n_strerror(i32 noundef %2109, ptr noundef @.str.52)
  %2111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2112 = load i32, ptr %2111, align 4, !tbaa !5
  %2113 = call ptr @s2n_strerror_debug(i32 noundef %2112, ptr noundef @.str.52)
  %2114 = call ptr @__errno_location() #11
  %2115 = load i32, ptr %2114, align 4, !tbaa !5
  %2116 = call ptr @strerror(i32 noundef %2115) #10
  %2117 = call ptr @__errno_location() #11
  %2118 = load i32, ptr %2117, align 4, !tbaa !5
  %2119 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2106, ptr noundef @.str.49, i32 noundef %2107, ptr noundef @.str.171, ptr noundef @.str.51, i32 noundef 383, ptr noundef %2110, ptr noundef %2113, ptr noundef %2116, i32 noundef %2118) #10
  br label %2137

2120:                                             ; preds = %2098, %2091
  %2121 = load i32, ptr %48, align 4, !tbaa !5
  %2122 = call ptr @__errno_location() #11
  store i32 %2121, ptr %2122, align 4, !tbaa !5
  %2123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2124 = load i32, ptr @test_count, align 4, !tbaa !5
  %2125 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2126 = load i32, ptr %2125, align 4, !tbaa !5
  %2127 = call ptr @s2n_strerror(i32 noundef %2126, ptr noundef @.str.52)
  %2128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2129 = load i32, ptr %2128, align 4, !tbaa !5
  %2130 = call ptr @s2n_strerror_debug(i32 noundef %2129, ptr noundef @.str.52)
  %2131 = call ptr @__errno_location() #11
  %2132 = load i32, ptr %2131, align 4, !tbaa !5
  %2133 = call ptr @strerror(i32 noundef %2132) #10
  %2134 = call ptr @__errno_location() #11
  %2135 = load i32, ptr %2134, align 4, !tbaa !5
  %2136 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2123, ptr noundef @.str.53, i32 noundef %2124, ptr noundef @.str.171, ptr noundef @.str.51, i32 noundef 383, ptr noundef %2127, ptr noundef %2130, ptr noundef %2133, i32 noundef %2135) #10
  br label %2137

2137:                                             ; preds = %2120, %2103
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #10
  br label %2138

2138:                                             ; preds = %2137
  br label %2139

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

2140:                                             ; No predecessors!
  br label %2141

2141:                                             ; preds = %2140
  br label %2142

2142:                                             ; preds = %2141, %2083
  br label %2143

2143:                                             ; preds = %2142
  br label %2144

2144:                                             ; preds = %2143
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #10
  call void @llvm.memset.p0.i64(ptr align 4 %49, i8 0, i64 8, i1 false)
  br label %2145

2145:                                             ; preds = %2144
  %2146 = load i32, ptr @test_count, align 4, !tbaa !5
  %2147 = add nsw i32 %2146, 1
  store i32 %2147, ptr @test_count, align 4, !tbaa !5
  %2148 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %49)
  %2149 = icmp eq i32 %2148, -1
  br i1 %2149, label %2150, label %2203

2150:                                             ; preds = %2145
  br label %2151

2151:                                             ; preds = %2150
  br label %2152

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

2159:                                             ; preds = %2152
  %2160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2161 = call i32 @fileno(ptr noundef %2160) #10
  %2162 = call i32 @isatty(i32 noundef %2161) #10
  %2163 = icmp ne i32 %2162, 0
  br i1 %2163, label %2164, label %2181

2164:                                             ; preds = %2159
  %2165 = load i32, ptr %50, align 4, !tbaa !5
  %2166 = call ptr @__errno_location() #11
  store i32 %2165, ptr %2166, align 4, !tbaa !5
  %2167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2168 = load i32, ptr @test_count, align 4, !tbaa !5
  %2169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2170 = load i32, ptr %2169, align 4, !tbaa !5
  %2171 = call ptr @s2n_strerror(i32 noundef %2170, ptr noundef @.str.52)
  %2172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2173 = load i32, ptr %2172, align 4, !tbaa !5
  %2174 = call ptr @s2n_strerror_debug(i32 noundef %2173, ptr noundef @.str.52)
  %2175 = call ptr @__errno_location() #11
  %2176 = load i32, ptr %2175, align 4, !tbaa !5
  %2177 = call ptr @strerror(i32 noundef %2176) #10
  %2178 = call ptr @__errno_location() #11
  %2179 = load i32, ptr %2178, align 4, !tbaa !5
  %2180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2167, ptr noundef @.str.49, i32 noundef %2168, ptr noundef @.str.61, ptr noundef @.str.51, i32 noundef 386, ptr noundef %2171, ptr noundef %2174, ptr noundef %2177, i32 noundef %2179) #10
  br label %2198

2181:                                             ; preds = %2159, %2152
  %2182 = load i32, ptr %50, align 4, !tbaa !5
  %2183 = call ptr @__errno_location() #11
  store i32 %2182, ptr %2183, align 4, !tbaa !5
  %2184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2185 = load i32, ptr @test_count, align 4, !tbaa !5
  %2186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2187 = load i32, ptr %2186, align 4, !tbaa !5
  %2188 = call ptr @s2n_strerror(i32 noundef %2187, ptr noundef @.str.52)
  %2189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2190 = load i32, ptr %2189, align 4, !tbaa !5
  %2191 = call ptr @s2n_strerror_debug(i32 noundef %2190, ptr noundef @.str.52)
  %2192 = call ptr @__errno_location() #11
  %2193 = load i32, ptr %2192, align 4, !tbaa !5
  %2194 = call ptr @strerror(i32 noundef %2193) #10
  %2195 = call ptr @__errno_location() #11
  %2196 = load i32, ptr %2195, align 4, !tbaa !5
  %2197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2184, ptr noundef @.str.53, i32 noundef %2185, ptr noundef @.str.61, ptr noundef @.str.51, i32 noundef 386, ptr noundef %2188, ptr noundef %2191, ptr noundef %2194, i32 noundef %2196) #10
  br label %2198

2198:                                             ; preds = %2181, %2164
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #10
  br label %2199

2199:                                             ; preds = %2198
  br label %2200

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

2201:                                             ; No predecessors!
  br label %2202

2202:                                             ; preds = %2201
  br label %2203

2203:                                             ; preds = %2202, %2145
  br label %2204

2204:                                             ; preds = %2203
  br label %2205

2205:                                             ; preds = %2204
  br label %2206

2206:                                             ; preds = %2205
  %2207 = load i32, ptr @test_count, align 4, !tbaa !5
  %2208 = add nsw i32 %2207, 1
  store i32 %2208, ptr @test_count, align 4, !tbaa !5
  %2209 = load ptr, ptr %39, align 8, !tbaa !9
  %2210 = load ptr, ptr %43, align 8, !tbaa !9
  %2211 = call i32 @s2n_connections_set_io_pair(ptr noundef %2209, ptr noundef %2210, ptr noundef %49)
  %2212 = icmp eq i32 %2211, -1
  br i1 %2212, label %2213, label %2266

2213:                                             ; preds = %2206
  br label %2214

2214:                                             ; preds = %2213
  br label %2215

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

2222:                                             ; preds = %2215
  %2223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2224 = call i32 @fileno(ptr noundef %2223) #10
  %2225 = call i32 @isatty(i32 noundef %2224) #10
  %2226 = icmp ne i32 %2225, 0
  br i1 %2226, label %2227, label %2244

2227:                                             ; preds = %2222
  %2228 = load i32, ptr %51, align 4, !tbaa !5
  %2229 = call ptr @__errno_location() #11
  store i32 %2228, ptr %2229, align 4, !tbaa !5
  %2230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2231 = load i32, ptr @test_count, align 4, !tbaa !5
  %2232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2233 = load i32, ptr %2232, align 4, !tbaa !5
  %2234 = call ptr @s2n_strerror(i32 noundef %2233, ptr noundef @.str.52)
  %2235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2236 = load i32, ptr %2235, align 4, !tbaa !5
  %2237 = call ptr @s2n_strerror_debug(i32 noundef %2236, ptr noundef @.str.52)
  %2238 = call ptr @__errno_location() #11
  %2239 = load i32, ptr %2238, align 4, !tbaa !5
  %2240 = call ptr @strerror(i32 noundef %2239) #10
  %2241 = call ptr @__errno_location() #11
  %2242 = load i32, ptr %2241, align 4, !tbaa !5
  %2243 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2230, ptr noundef @.str.49, i32 noundef %2231, ptr noundef @.str.172, ptr noundef @.str.51, i32 noundef 387, ptr noundef %2234, ptr noundef %2237, ptr noundef %2240, i32 noundef %2242) #10
  br label %2261

2244:                                             ; preds = %2222, %2215
  %2245 = load i32, ptr %51, align 4, !tbaa !5
  %2246 = call ptr @__errno_location() #11
  store i32 %2245, ptr %2246, align 4, !tbaa !5
  %2247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2248 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %2250, ptr noundef @.str.52)
  %2252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2253 = load i32, ptr %2252, align 4, !tbaa !5
  %2254 = call ptr @s2n_strerror_debug(i32 noundef %2253, ptr noundef @.str.52)
  %2255 = call ptr @__errno_location() #11
  %2256 = load i32, ptr %2255, align 4, !tbaa !5
  %2257 = call ptr @strerror(i32 noundef %2256) #10
  %2258 = call ptr @__errno_location() #11
  %2259 = load i32, ptr %2258, align 4, !tbaa !5
  %2260 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2247, ptr noundef @.str.53, i32 noundef %2248, ptr noundef @.str.172, ptr noundef @.str.51, i32 noundef 387, ptr noundef %2251, ptr noundef %2254, ptr noundef %2257, i32 noundef %2259) #10
  br label %2261

2261:                                             ; preds = %2244, %2227
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #10
  br label %2262

2262:                                             ; preds = %2261
  br label %2263

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

2264:                                             ; No predecessors!
  br label %2265

2265:                                             ; preds = %2264
  br label %2266

2266:                                             ; preds = %2265, %2206
  br label %2267

2267:                                             ; preds = %2266
  br label %2268

2268:                                             ; preds = %2267
  br label %2269

2269:                                             ; preds = %2268
  br label %2270

2270:                                             ; preds = %2269
  br label %2271

2271:                                             ; preds = %2270
  %2272 = load i32, ptr @test_count, align 4, !tbaa !5
  %2273 = add nsw i32 %2272, 1
  store i32 %2273, ptr @test_count, align 4, !tbaa !5
  %2274 = load ptr, ptr %43, align 8, !tbaa !9
  %2275 = load ptr, ptr %39, align 8, !tbaa !9
  %2276 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %2274, ptr noundef %2275)
  %2277 = icmp eq i32 %2276, -1
  br i1 %2277, label %2331, label %2278

2278:                                             ; preds = %2271
  br label %2279

2279:                                             ; preds = %2278
  br label %2280

2280:                                             ; preds = %2279
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #10
  %2281 = call ptr @__errno_location() #11
  %2282 = load i32, ptr %2281, align 4, !tbaa !5
  store i32 %2282, ptr %52, align 4, !tbaa !5
  %2283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2284 = call i32 @s2n_print_stacktrace(ptr noundef %2283)
  %2285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2286 = trunc i8 %2285 to i1
  br i1 %2286, label %2287, label %2309

2287:                                             ; preds = %2280
  %2288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2289 = call i32 @fileno(ptr noundef %2288) #10
  %2290 = call i32 @isatty(i32 noundef %2289) #10
  %2291 = icmp ne i32 %2290, 0
  br i1 %2291, label %2292, label %2309

2292:                                             ; preds = %2287
  %2293 = load i32, ptr %52, align 4, !tbaa !5
  %2294 = call ptr @__errno_location() #11
  store i32 %2293, ptr %2294, align 4, !tbaa !5
  %2295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2296 = load i32, ptr @test_count, align 4, !tbaa !5
  %2297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2298 = load i32, ptr %2297, align 4, !tbaa !5
  %2299 = call ptr @s2n_strerror(i32 noundef %2298, ptr noundef @.str.52)
  %2300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2301 = load i32, ptr %2300, align 4, !tbaa !5
  %2302 = call ptr @s2n_strerror_debug(i32 noundef %2301, ptr noundef @.str.52)
  %2303 = call ptr @__errno_location() #11
  %2304 = load i32, ptr %2303, align 4, !tbaa !5
  %2305 = call ptr @strerror(i32 noundef %2304) #10
  %2306 = call ptr @__errno_location() #11
  %2307 = load i32, ptr %2306, align 4, !tbaa !5
  %2308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2295, ptr noundef @.str.49, i32 noundef %2296, ptr noundef @.str.173, ptr noundef @.str.51, i32 noundef 390, ptr noundef %2299, ptr noundef %2302, ptr noundef %2305, i32 noundef %2307) #10
  br label %2326

2309:                                             ; preds = %2287, %2280
  %2310 = load i32, ptr %52, align 4, !tbaa !5
  %2311 = call ptr @__errno_location() #11
  store i32 %2310, ptr %2311, align 4, !tbaa !5
  %2312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2313 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %2315, ptr noundef @.str.52)
  %2317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2318 = load i32, ptr %2317, align 4, !tbaa !5
  %2319 = call ptr @s2n_strerror_debug(i32 noundef %2318, ptr noundef @.str.52)
  %2320 = call ptr @__errno_location() #11
  %2321 = load i32, ptr %2320, align 4, !tbaa !5
  %2322 = call ptr @strerror(i32 noundef %2321) #10
  %2323 = call ptr @__errno_location() #11
  %2324 = load i32, ptr %2323, align 4, !tbaa !5
  %2325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2312, ptr noundef @.str.53, i32 noundef %2313, ptr noundef @.str.173, ptr noundef @.str.51, i32 noundef 390, ptr noundef %2316, ptr noundef %2319, ptr noundef %2322, i32 noundef %2324) #10
  br label %2326

2326:                                             ; preds = %2309, %2292
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #10
  br label %2327

2327:                                             ; preds = %2326
  br label %2328

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

2329:                                             ; No predecessors!
  br label %2330

2330:                                             ; preds = %2329
  br label %2331

2331:                                             ; preds = %2330, %2271
  br label %2332

2332:                                             ; preds = %2331
  br label %2333

2333:                                             ; preds = %2332
  br label %2334

2334:                                             ; preds = %2333
  %2335 = load i32, ptr @test_count, align 4, !tbaa !5
  %2336 = add nsw i32 %2335, 1
  store i32 %2336, ptr @test_count, align 4, !tbaa !5
  %2337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2338 = load i32, ptr %2337, align 4, !tbaa !5
  %2339 = icmp eq i32 %2338, 335544323
  br i1 %2339, label %2393, label %2340

2340:                                             ; preds = %2334
  br label %2341

2341:                                             ; preds = %2340
  br label %2342

2342:                                             ; preds = %2341
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #10
  %2343 = call ptr @__errno_location() #11
  %2344 = load i32, ptr %2343, align 4, !tbaa !5
  store i32 %2344, ptr %53, align 4, !tbaa !5
  %2345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2346 = call i32 @s2n_print_stacktrace(ptr noundef %2345)
  %2347 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2348 = trunc i8 %2347 to i1
  br i1 %2348, label %2349, label %2371

2349:                                             ; preds = %2342
  %2350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2351 = call i32 @fileno(ptr noundef %2350) #10
  %2352 = call i32 @isatty(i32 noundef %2351) #10
  %2353 = icmp ne i32 %2352, 0
  br i1 %2353, label %2354, label %2371

2354:                                             ; preds = %2349
  %2355 = load i32, ptr %53, align 4, !tbaa !5
  %2356 = call ptr @__errno_location() #11
  store i32 %2355, ptr %2356, align 4, !tbaa !5
  %2357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2358 = load i32, ptr @test_count, align 4, !tbaa !5
  %2359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2360 = load i32, ptr %2359, align 4, !tbaa !5
  %2361 = call ptr @s2n_strerror(i32 noundef %2360, ptr noundef @.str.52)
  %2362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2363 = load i32, ptr %2362, align 4, !tbaa !5
  %2364 = call ptr @s2n_strerror_debug(i32 noundef %2363, ptr noundef @.str.52)
  %2365 = call ptr @__errno_location() #11
  %2366 = load i32, ptr %2365, align 4, !tbaa !5
  %2367 = call ptr @strerror(i32 noundef %2366) #10
  %2368 = call ptr @__errno_location() #11
  %2369 = load i32, ptr %2368, align 4, !tbaa !5
  %2370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2357, ptr noundef @.str.49, i32 noundef %2358, ptr noundef @.str.174, ptr noundef @.str.51, i32 noundef 390, ptr noundef %2361, ptr noundef %2364, ptr noundef %2367, i32 noundef %2369) #10
  br label %2388

2371:                                             ; preds = %2349, %2342
  %2372 = load i32, ptr %53, align 4, !tbaa !5
  %2373 = call ptr @__errno_location() #11
  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.52)
  %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.52)
  %2382 = call ptr @__errno_location() #11
  %2383 = load i32, ptr %2382, align 4, !tbaa !5
  %2384 = call ptr @strerror(i32 noundef %2383) #10
  %2385 = call ptr @__errno_location() #11
  %2386 = load i32, ptr %2385, align 4, !tbaa !5
  %2387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2374, ptr noundef @.str.53, i32 noundef %2375, ptr noundef @.str.174, ptr noundef @.str.51, i32 noundef 390, ptr noundef %2378, ptr noundef %2381, ptr noundef %2384, i32 noundef %2386) #10
  br label %2388

2388:                                             ; preds = %2371, %2354
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #10
  br label %2389

2389:                                             ; preds = %2388
  br label %2390

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

2391:                                             ; No predecessors!
  br label %2392

2392:                                             ; preds = %2391
  br label %2393

2393:                                             ; preds = %2392, %2334
  br label %2394

2394:                                             ; preds = %2393
  br label %2395

2395:                                             ; preds = %2394
  br label %2396

2396:                                             ; preds = %2395
  %2397 = load i32, ptr @test_count, align 4, !tbaa !5
  %2398 = add nsw i32 %2397, 1
  store i32 %2398, ptr @test_count, align 4, !tbaa !5
  %2399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2400 = load i32, ptr %2399, align 4, !tbaa !5
  %2401 = call ptr @s2n_strerror_debug(i32 noundef %2400, ptr noundef @.str.52)
  %2402 = icmp eq ptr %2401, null
  br i1 %2402, label %2403, label %2456

2403:                                             ; preds = %2396
  br label %2404

2404:                                             ; preds = %2403
  br label %2405

2405:                                             ; preds = %2404
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #10
  %2406 = call ptr @__errno_location() #11
  %2407 = load i32, ptr %2406, align 4, !tbaa !5
  store i32 %2407, ptr %54, align 4, !tbaa !5
  %2408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2409 = call i32 @s2n_print_stacktrace(ptr noundef %2408)
  %2410 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2411 = trunc i8 %2410 to i1
  br i1 %2411, label %2412, label %2434

2412:                                             ; preds = %2405
  %2413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2414 = call i32 @fileno(ptr noundef %2413) #10
  %2415 = call i32 @isatty(i32 noundef %2414) #10
  %2416 = icmp ne i32 %2415, 0
  br i1 %2416, label %2417, label %2434

2417:                                             ; preds = %2412
  %2418 = load i32, ptr %54, align 4, !tbaa !5
  %2419 = call ptr @__errno_location() #11
  store i32 %2418, ptr %2419, align 4, !tbaa !5
  %2420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2421 = load i32, ptr @test_count, align 4, !tbaa !5
  %2422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2423 = load i32, ptr %2422, align 4, !tbaa !5
  %2424 = call ptr @s2n_strerror(i32 noundef %2423, ptr noundef @.str.52)
  %2425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2426 = load i32, ptr %2425, align 4, !tbaa !5
  %2427 = call ptr @s2n_strerror_debug(i32 noundef %2426, ptr noundef @.str.52)
  %2428 = call ptr @__errno_location() #11
  %2429 = load i32, ptr %2428, align 4, !tbaa !5
  %2430 = call ptr @strerror(i32 noundef %2429) #10
  %2431 = call ptr @__errno_location() #11
  %2432 = load i32, ptr %2431, align 4, !tbaa !5
  %2433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2420, ptr noundef @.str.49, i32 noundef %2421, ptr noundef @.str.175, ptr noundef @.str.51, i32 noundef 390, ptr noundef %2424, ptr noundef %2427, ptr noundef %2430, i32 noundef %2432) #10
  br label %2451

2434:                                             ; preds = %2412, %2405
  %2435 = load i32, ptr %54, align 4, !tbaa !5
  %2436 = call ptr @__errno_location() #11
  store i32 %2435, ptr %2436, align 4, !tbaa !5
  %2437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2438 = load i32, ptr @test_count, align 4, !tbaa !5
  %2439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2440 = load i32, ptr %2439, align 4, !tbaa !5
  %2441 = call ptr @s2n_strerror(i32 noundef %2440, ptr noundef @.str.52)
  %2442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2443 = load i32, ptr %2442, align 4, !tbaa !5
  %2444 = call ptr @s2n_strerror_debug(i32 noundef %2443, ptr noundef @.str.52)
  %2445 = call ptr @__errno_location() #11
  %2446 = load i32, ptr %2445, align 4, !tbaa !5
  %2447 = call ptr @strerror(i32 noundef %2446) #10
  %2448 = call ptr @__errno_location() #11
  %2449 = load i32, ptr %2448, align 4, !tbaa !5
  %2450 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2437, ptr noundef @.str.53, i32 noundef %2438, ptr noundef @.str.175, ptr noundef @.str.51, i32 noundef 390, ptr noundef %2441, ptr noundef %2444, ptr noundef %2447, i32 noundef %2449) #10
  br label %2451

2451:                                             ; preds = %2434, %2417
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #10
  br label %2452

2452:                                             ; preds = %2451
  br label %2453

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

2454:                                             ; No predecessors!
  br label %2455

2455:                                             ; preds = %2454
  br label %2456

2456:                                             ; preds = %2455, %2396
  br label %2457

2457:                                             ; preds = %2456
  br label %2458

2458:                                             ; preds = %2457
  br label %2459

2459:                                             ; preds = %2458
  br label %2460

2460:                                             ; preds = %2459
  br label %2461

2461:                                             ; preds = %2460
  %2462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2462, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2463 = call ptr @__errno_location() #11
  store i32 0, ptr %2463, align 4, !tbaa !5
  br label %2464

2464:                                             ; preds = %2461
  br label %2465

2465:                                             ; preds = %2464
  br label %2466

2466:                                             ; preds = %2465
  br label %2467

2467:                                             ; preds = %2466
  %2468 = call i32 @s2n_io_pair_close(ptr noundef %49)
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #10
  %2469 = call i32 @s2n_connection_ptr_free(ptr noundef %43)
  %2470 = getelementptr inbounds %struct.s2n_result, ptr %55, i32 0, i32 0
  store i32 %2469, ptr %2470, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #10
  %2471 = call i32 @s2n_config_ptr_free(ptr noundef %41)
  %2472 = getelementptr inbounds %struct.s2n_result, ptr %56, i32 0, i32 0
  store i32 %2471, ptr %2472, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #10
  %2473 = call i32 @s2n_connection_ptr_free(ptr noundef %39)
  %2474 = getelementptr inbounds %struct.s2n_result, ptr %57, i32 0, i32 0
  store i32 %2473, ptr %2474, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %58) #10
  %2475 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %2475, ptr %58, align 8, !tbaa !9
  br label %2476

2476:                                             ; preds = %2467
  %2477 = load i32, ptr @test_count, align 4, !tbaa !5
  %2478 = add nsw i32 %2477, 1
  store i32 %2478, ptr @test_count, align 4, !tbaa !5
  %2479 = load ptr, ptr %58, align 8, !tbaa !9
  %2480 = icmp eq ptr %2479, null
  br i1 %2480, label %2481, label %2534

2481:                                             ; preds = %2476
  br label %2482

2482:                                             ; preds = %2481
  br label %2483

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

2490:                                             ; preds = %2483
  %2491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2492 = call i32 @fileno(ptr noundef %2491) #10
  %2493 = call i32 @isatty(i32 noundef %2492) #10
  %2494 = icmp ne i32 %2493, 0
  br i1 %2494, label %2495, label %2512

2495:                                             ; preds = %2490
  %2496 = load i32, ptr %59, align 4, !tbaa !5
  %2497 = call ptr @__errno_location() #11
  store i32 %2496, ptr %2497, align 4, !tbaa !5
  %2498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2499 = load i32, ptr @test_count, align 4, !tbaa !5
  %2500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2501 = load i32, ptr %2500, align 4, !tbaa !5
  %2502 = call ptr @s2n_strerror(i32 noundef %2501, ptr noundef @.str.52)
  %2503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2504 = load i32, ptr %2503, align 4, !tbaa !5
  %2505 = call ptr @s2n_strerror_debug(i32 noundef %2504, ptr noundef @.str.52)
  %2506 = call ptr @__errno_location() #11
  %2507 = load i32, ptr %2506, align 4, !tbaa !5
  %2508 = call ptr @strerror(i32 noundef %2507) #10
  %2509 = call ptr @__errno_location() #11
  %2510 = load i32, ptr %2509, align 4, !tbaa !5
  %2511 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2498, ptr noundef @.str.49, i32 noundef %2499, ptr noundef @.str.165, ptr noundef @.str.51, i32 noundef 397, ptr noundef %2502, ptr noundef %2505, ptr noundef %2508, i32 noundef %2510) #10
  br label %2529

2512:                                             ; preds = %2490, %2483
  %2513 = load i32, ptr %59, align 4, !tbaa !5
  %2514 = call ptr @__errno_location() #11
  store i32 %2513, ptr %2514, align 4, !tbaa !5
  %2515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2516 = load i32, ptr @test_count, align 4, !tbaa !5
  %2517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2518 = load i32, ptr %2517, align 4, !tbaa !5
  %2519 = call ptr @s2n_strerror(i32 noundef %2518, ptr noundef @.str.52)
  %2520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2521 = load i32, ptr %2520, align 4, !tbaa !5
  %2522 = call ptr @s2n_strerror_debug(i32 noundef %2521, ptr noundef @.str.52)
  %2523 = call ptr @__errno_location() #11
  %2524 = load i32, ptr %2523, align 4, !tbaa !5
  %2525 = call ptr @strerror(i32 noundef %2524) #10
  %2526 = call ptr @__errno_location() #11
  %2527 = load i32, ptr %2526, align 4, !tbaa !5
  %2528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2515, ptr noundef @.str.53, i32 noundef %2516, ptr noundef @.str.165, ptr noundef @.str.51, i32 noundef 397, ptr noundef %2519, ptr noundef %2522, ptr noundef %2525, i32 noundef %2527) #10
  br label %2529

2529:                                             ; preds = %2512, %2495
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #10
  br label %2530

2530:                                             ; preds = %2529
  br label %2531

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

2532:                                             ; No predecessors!
  br label %2533

2533:                                             ; preds = %2532
  br label %2534

2534:                                             ; preds = %2533, %2476
  br label %2535

2535:                                             ; preds = %2534
  br label %2536

2536:                                             ; preds = %2535
  br label %2537

2537:                                             ; preds = %2536
  %2538 = load i32, ptr @test_count, align 4, !tbaa !5
  %2539 = add nsw i32 %2538, 1
  store i32 %2539, ptr @test_count, align 4, !tbaa !5
  %2540 = load ptr, ptr %58, align 8, !tbaa !9
  %2541 = call i32 @s2n_connection_set_blinding(ptr noundef %2540, i32 noundef 1)
  %2542 = icmp eq i32 %2541, -1
  br i1 %2542, label %2543, label %2596

2543:                                             ; preds = %2537
  br label %2544

2544:                                             ; preds = %2543
  br label %2545

2545:                                             ; preds = %2544
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #10
  %2546 = call ptr @__errno_location() #11
  %2547 = load i32, ptr %2546, align 4, !tbaa !5
  store i32 %2547, ptr %60, align 4, !tbaa !5
  %2548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2549 = call i32 @s2n_print_stacktrace(ptr noundef %2548)
  %2550 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2551 = trunc i8 %2550 to i1
  br i1 %2551, label %2552, label %2574

2552:                                             ; preds = %2545
  %2553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2554 = call i32 @fileno(ptr noundef %2553) #10
  %2555 = call i32 @isatty(i32 noundef %2554) #10
  %2556 = icmp ne i32 %2555, 0
  br i1 %2556, label %2557, label %2574

2557:                                             ; preds = %2552
  %2558 = load i32, ptr %60, align 4, !tbaa !5
  %2559 = call ptr @__errno_location() #11
  store i32 %2558, ptr %2559, align 4, !tbaa !5
  %2560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2561 = load i32, ptr @test_count, align 4, !tbaa !5
  %2562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2563 = load i32, ptr %2562, align 4, !tbaa !5
  %2564 = call ptr @s2n_strerror(i32 noundef %2563, ptr noundef @.str.52)
  %2565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2566 = load i32, ptr %2565, align 4, !tbaa !5
  %2567 = call ptr @s2n_strerror_debug(i32 noundef %2566, ptr noundef @.str.52)
  %2568 = call ptr @__errno_location() #11
  %2569 = load i32, ptr %2568, align 4, !tbaa !5
  %2570 = call ptr @strerror(i32 noundef %2569) #10
  %2571 = call ptr @__errno_location() #11
  %2572 = load i32, ptr %2571, align 4, !tbaa !5
  %2573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2560, ptr noundef @.str.49, i32 noundef %2561, ptr noundef @.str.176, ptr noundef @.str.51, i32 noundef 398, ptr noundef %2564, ptr noundef %2567, ptr noundef %2570, i32 noundef %2572) #10
  br label %2591

2574:                                             ; preds = %2552, %2545
  %2575 = load i32, ptr %60, align 4, !tbaa !5
  %2576 = call ptr @__errno_location() #11
  store i32 %2575, ptr %2576, align 4, !tbaa !5
  %2577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2578 = load i32, ptr @test_count, align 4, !tbaa !5
  %2579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2580 = load i32, ptr %2579, align 4, !tbaa !5
  %2581 = call ptr @s2n_strerror(i32 noundef %2580, ptr noundef @.str.52)
  %2582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2583 = load i32, ptr %2582, align 4, !tbaa !5
  %2584 = call ptr @s2n_strerror_debug(i32 noundef %2583, ptr noundef @.str.52)
  %2585 = call ptr @__errno_location() #11
  %2586 = load i32, ptr %2585, align 4, !tbaa !5
  %2587 = call ptr @strerror(i32 noundef %2586) #10
  %2588 = call ptr @__errno_location() #11
  %2589 = load i32, ptr %2588, align 4, !tbaa !5
  %2590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2577, ptr noundef @.str.53, i32 noundef %2578, ptr noundef @.str.176, ptr noundef @.str.51, i32 noundef 398, ptr noundef %2581, ptr noundef %2584, ptr noundef %2587, i32 noundef %2589) #10
  br label %2591

2591:                                             ; preds = %2574, %2557
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #10
  br label %2592

2592:                                             ; preds = %2591
  br label %2593

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

2594:                                             ; No predecessors!
  br label %2595

2595:                                             ; preds = %2594
  br label %2596

2596:                                             ; preds = %2595, %2537
  br label %2597

2597:                                             ; preds = %2596
  br label %2598

2598:                                             ; preds = %2597
  call void @llvm.lifetime.start.p0(i64 8, ptr %61) #10
  %2599 = call ptr @s2n_config_new()
  store ptr %2599, ptr %61, align 8, !tbaa !9
  br label %2600

2600:                                             ; preds = %2598
  %2601 = load i32, ptr @test_count, align 4, !tbaa !5
  %2602 = add nsw i32 %2601, 1
  store i32 %2602, ptr @test_count, align 4, !tbaa !5
  %2603 = load ptr, ptr %61, align 8, !tbaa !9
  %2604 = load ptr, ptr %12, align 8, !tbaa !9
  %2605 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %2603, ptr noundef %2604)
  %2606 = icmp eq i32 %2605, -1
  br i1 %2606, label %2607, label %2660

2607:                                             ; preds = %2600
  br label %2608

2608:                                             ; preds = %2607
  br label %2609

2609:                                             ; preds = %2608
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #10
  %2610 = call ptr @__errno_location() #11
  %2611 = load i32, ptr %2610, align 4, !tbaa !5
  store i32 %2611, ptr %62, align 4, !tbaa !5
  %2612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2613 = call i32 @s2n_print_stacktrace(ptr noundef %2612)
  %2614 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2615 = trunc i8 %2614 to i1
  br i1 %2615, label %2616, label %2638

2616:                                             ; preds = %2609
  %2617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2618 = call i32 @fileno(ptr noundef %2617) #10
  %2619 = call i32 @isatty(i32 noundef %2618) #10
  %2620 = icmp ne i32 %2619, 0
  br i1 %2620, label %2621, label %2638

2621:                                             ; preds = %2616
  %2622 = load i32, ptr %62, align 4, !tbaa !5
  %2623 = call ptr @__errno_location() #11
  store i32 %2622, ptr %2623, align 4, !tbaa !5
  %2624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2625 = load i32, ptr @test_count, align 4, !tbaa !5
  %2626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2627 = load i32, ptr %2626, align 4, !tbaa !5
  %2628 = call ptr @s2n_strerror(i32 noundef %2627, ptr noundef @.str.52)
  %2629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2630 = load i32, ptr %2629, align 4, !tbaa !5
  %2631 = call ptr @s2n_strerror_debug(i32 noundef %2630, ptr noundef @.str.52)
  %2632 = call ptr @__errno_location() #11
  %2633 = load i32, ptr %2632, align 4, !tbaa !5
  %2634 = call ptr @strerror(i32 noundef %2633) #10
  %2635 = call ptr @__errno_location() #11
  %2636 = load i32, ptr %2635, align 4, !tbaa !5
  %2637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2624, ptr noundef @.str.49, i32 noundef %2625, ptr noundef @.str.166, ptr noundef @.str.51, i32 noundef 401, ptr noundef %2628, ptr noundef %2631, ptr noundef %2634, i32 noundef %2636) #10
  br label %2655

2638:                                             ; preds = %2616, %2609
  %2639 = load i32, ptr %62, align 4, !tbaa !5
  %2640 = call ptr @__errno_location() #11
  store i32 %2639, ptr %2640, align 4, !tbaa !5
  %2641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2642 = load i32, ptr @test_count, align 4, !tbaa !5
  %2643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2644 = load i32, ptr %2643, align 4, !tbaa !5
  %2645 = call ptr @s2n_strerror(i32 noundef %2644, ptr noundef @.str.52)
  %2646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2647 = load i32, ptr %2646, align 4, !tbaa !5
  %2648 = call ptr @s2n_strerror_debug(i32 noundef %2647, ptr noundef @.str.52)
  %2649 = call ptr @__errno_location() #11
  %2650 = load i32, ptr %2649, align 4, !tbaa !5
  %2651 = call ptr @strerror(i32 noundef %2650) #10
  %2652 = call ptr @__errno_location() #11
  %2653 = load i32, ptr %2652, align 4, !tbaa !5
  %2654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2641, ptr noundef @.str.53, i32 noundef %2642, ptr noundef @.str.166, ptr noundef @.str.51, i32 noundef 401, ptr noundef %2645, ptr noundef %2648, ptr noundef %2651, i32 noundef %2653) #10
  br label %2655

2655:                                             ; preds = %2638, %2621
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #10
  br label %2656

2656:                                             ; preds = %2655
  br label %2657

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

2658:                                             ; No predecessors!
  br label %2659

2659:                                             ; preds = %2658
  br label %2660

2660:                                             ; preds = %2659, %2600
  br label %2661

2661:                                             ; preds = %2660
  br label %2662

2662:                                             ; preds = %2661
  call void @llvm.lifetime.start.p0(i64 8, ptr %63) #10
  %2663 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %2663, ptr %63, align 8, !tbaa !9
  br label %2664

2664:                                             ; preds = %2662
  %2665 = load i32, ptr @test_count, align 4, !tbaa !5
  %2666 = add nsw i32 %2665, 1
  store i32 %2666, ptr @test_count, align 4, !tbaa !5
  %2667 = load ptr, ptr %63, align 8, !tbaa !9
  %2668 = icmp eq ptr %2667, null
  br i1 %2668, label %2669, label %2722

2669:                                             ; preds = %2664
  br label %2670

2670:                                             ; preds = %2669
  br label %2671

2671:                                             ; preds = %2670
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #10
  %2672 = call ptr @__errno_location() #11
  %2673 = load i32, ptr %2672, align 4, !tbaa !5
  store i32 %2673, ptr %64, align 4, !tbaa !5
  %2674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2675 = call i32 @s2n_print_stacktrace(ptr noundef %2674)
  %2676 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2677 = trunc i8 %2676 to i1
  br i1 %2677, label %2678, label %2700

2678:                                             ; preds = %2671
  %2679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2680 = call i32 @fileno(ptr noundef %2679) #10
  %2681 = call i32 @isatty(i32 noundef %2680) #10
  %2682 = icmp ne i32 %2681, 0
  br i1 %2682, label %2683, label %2700

2683:                                             ; preds = %2678
  %2684 = load i32, ptr %64, align 4, !tbaa !5
  %2685 = call ptr @__errno_location() #11
  store i32 %2684, ptr %2685, align 4, !tbaa !5
  %2686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2687 = load i32, ptr @test_count, align 4, !tbaa !5
  %2688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2689 = load i32, ptr %2688, align 4, !tbaa !5
  %2690 = call ptr @s2n_strerror(i32 noundef %2689, ptr noundef @.str.52)
  %2691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2692 = load i32, ptr %2691, align 4, !tbaa !5
  %2693 = call ptr @s2n_strerror_debug(i32 noundef %2692, ptr noundef @.str.52)
  %2694 = call ptr @__errno_location() #11
  %2695 = load i32, ptr %2694, align 4, !tbaa !5
  %2696 = call ptr @strerror(i32 noundef %2695) #10
  %2697 = call ptr @__errno_location() #11
  %2698 = load i32, ptr %2697, align 4, !tbaa !5
  %2699 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2686, ptr noundef @.str.49, i32 noundef %2687, ptr noundef @.str.167, ptr noundef @.str.51, i32 noundef 405, ptr noundef %2690, ptr noundef %2693, ptr noundef %2696, i32 noundef %2698) #10
  br label %2717

2700:                                             ; preds = %2678, %2671
  %2701 = load i32, ptr %64, align 4, !tbaa !5
  %2702 = call ptr @__errno_location() #11
  store i32 %2701, ptr %2702, align 4, !tbaa !5
  %2703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2704 = load i32, ptr @test_count, align 4, !tbaa !5
  %2705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2706 = load i32, ptr %2705, align 4, !tbaa !5
  %2707 = call ptr @s2n_strerror(i32 noundef %2706, ptr noundef @.str.52)
  %2708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2709 = load i32, ptr %2708, align 4, !tbaa !5
  %2710 = call ptr @s2n_strerror_debug(i32 noundef %2709, ptr noundef @.str.52)
  %2711 = call ptr @__errno_location() #11
  %2712 = load i32, ptr %2711, align 4, !tbaa !5
  %2713 = call ptr @strerror(i32 noundef %2712) #10
  %2714 = call ptr @__errno_location() #11
  %2715 = load i32, ptr %2714, align 4, !tbaa !5
  %2716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2703, ptr noundef @.str.53, i32 noundef %2704, ptr noundef @.str.167, ptr noundef @.str.51, i32 noundef 405, ptr noundef %2707, ptr noundef %2710, ptr noundef %2713, i32 noundef %2715) #10
  br label %2717

2717:                                             ; preds = %2700, %2683
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #10
  br label %2718

2718:                                             ; preds = %2717
  br label %2719

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

2720:                                             ; No predecessors!
  br label %2721

2721:                                             ; preds = %2720
  br label %2722

2722:                                             ; preds = %2721, %2664
  br label %2723

2723:                                             ; preds = %2722
  br label %2724

2724:                                             ; preds = %2723
  br label %2725

2725:                                             ; preds = %2724
  %2726 = load i32, ptr @test_count, align 4, !tbaa !5
  %2727 = add nsw i32 %2726, 1
  store i32 %2727, ptr @test_count, align 4, !tbaa !5
  %2728 = load ptr, ptr %63, align 8, !tbaa !9
  %2729 = load ptr, ptr %61, align 8, !tbaa !9
  %2730 = call i32 @s2n_connection_set_config(ptr noundef %2728, ptr noundef %2729)
  %2731 = icmp eq i32 %2730, -1
  br i1 %2731, label %2732, label %2785

2732:                                             ; preds = %2725
  br label %2733

2733:                                             ; preds = %2732
  br label %2734

2734:                                             ; preds = %2733
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #10
  %2735 = call ptr @__errno_location() #11
  %2736 = load i32, ptr %2735, align 4, !tbaa !5
  store i32 %2736, ptr %65, align 4, !tbaa !5
  %2737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2738 = call i32 @s2n_print_stacktrace(ptr noundef %2737)
  %2739 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2740 = trunc i8 %2739 to i1
  br i1 %2740, label %2741, label %2763

2741:                                             ; preds = %2734
  %2742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2743 = call i32 @fileno(ptr noundef %2742) #10
  %2744 = call i32 @isatty(i32 noundef %2743) #10
  %2745 = icmp ne i32 %2744, 0
  br i1 %2745, label %2746, label %2763

2746:                                             ; preds = %2741
  %2747 = load i32, ptr %65, align 4, !tbaa !5
  %2748 = call ptr @__errno_location() #11
  store i32 %2747, ptr %2748, align 4, !tbaa !5
  %2749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2750 = load i32, ptr @test_count, align 4, !tbaa !5
  %2751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2752 = load i32, ptr %2751, align 4, !tbaa !5
  %2753 = call ptr @s2n_strerror(i32 noundef %2752, ptr noundef @.str.52)
  %2754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2755 = load i32, ptr %2754, align 4, !tbaa !5
  %2756 = call ptr @s2n_strerror_debug(i32 noundef %2755, ptr noundef @.str.52)
  %2757 = call ptr @__errno_location() #11
  %2758 = load i32, ptr %2757, align 4, !tbaa !5
  %2759 = call ptr @strerror(i32 noundef %2758) #10
  %2760 = call ptr @__errno_location() #11
  %2761 = load i32, ptr %2760, align 4, !tbaa !5
  %2762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2749, ptr noundef @.str.49, i32 noundef %2750, ptr noundef @.str.169, ptr noundef @.str.51, i32 noundef 406, ptr noundef %2753, ptr noundef %2756, ptr noundef %2759, i32 noundef %2761) #10
  br label %2780

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

2780:                                             ; preds = %2763, %2746
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #10
  br label %2781

2781:                                             ; preds = %2780
  br label %2782

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

2783:                                             ; No predecessors!
  br label %2784

2784:                                             ; preds = %2783
  br label %2785

2785:                                             ; preds = %2784, %2725
  br label %2786

2786:                                             ; preds = %2785
  br label %2787

2787:                                             ; preds = %2786
  br label %2788

2788:                                             ; preds = %2787
  %2789 = load i32, ptr @test_count, align 4, !tbaa !5
  %2790 = add nsw i32 %2789, 1
  store i32 %2790, ptr @test_count, align 4, !tbaa !5
  %2791 = load ptr, ptr %58, align 8, !tbaa !9
  %2792 = call i32 @s2n_connection_set_client_auth_type(ptr noundef %2791, i32 noundef 1)
  %2793 = icmp eq i32 %2792, -1
  br i1 %2793, label %2794, label %2847

2794:                                             ; preds = %2788
  br label %2795

2795:                                             ; preds = %2794
  br label %2796

2796:                                             ; preds = %2795
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #10
  %2797 = call ptr @__errno_location() #11
  %2798 = load i32, ptr %2797, align 4, !tbaa !5
  store i32 %2798, ptr %66, align 4, !tbaa !5
  %2799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2800 = call i32 @s2n_print_stacktrace(ptr noundef %2799)
  %2801 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2802 = trunc i8 %2801 to i1
  br i1 %2802, label %2803, label %2825

2803:                                             ; preds = %2796
  %2804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2805 = call i32 @fileno(ptr noundef %2804) #10
  %2806 = call i32 @isatty(i32 noundef %2805) #10
  %2807 = icmp ne i32 %2806, 0
  br i1 %2807, label %2808, label %2825

2808:                                             ; preds = %2803
  %2809 = load i32, ptr %66, align 4, !tbaa !5
  %2810 = call ptr @__errno_location() #11
  store i32 %2809, ptr %2810, align 4, !tbaa !5
  %2811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2812 = load i32, ptr @test_count, align 4, !tbaa !5
  %2813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2814 = load i32, ptr %2813, align 4, !tbaa !5
  %2815 = call ptr @s2n_strerror(i32 noundef %2814, ptr noundef @.str.52)
  %2816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2817 = load i32, ptr %2816, align 4, !tbaa !5
  %2818 = call ptr @s2n_strerror_debug(i32 noundef %2817, ptr noundef @.str.52)
  %2819 = call ptr @__errno_location() #11
  %2820 = load i32, ptr %2819, align 4, !tbaa !5
  %2821 = call ptr @strerror(i32 noundef %2820) #10
  %2822 = call ptr @__errno_location() #11
  %2823 = load i32, ptr %2822, align 4, !tbaa !5
  %2824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2811, ptr noundef @.str.49, i32 noundef %2812, ptr noundef @.str.177, ptr noundef @.str.51, i32 noundef 409, ptr noundef %2815, ptr noundef %2818, ptr noundef %2821, i32 noundef %2823) #10
  br label %2842

2825:                                             ; preds = %2803, %2796
  %2826 = load i32, ptr %66, align 4, !tbaa !5
  %2827 = call ptr @__errno_location() #11
  store i32 %2826, ptr %2827, align 4, !tbaa !5
  %2828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2829 = load i32, ptr @test_count, align 4, !tbaa !5
  %2830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2831 = load i32, ptr %2830, align 4, !tbaa !5
  %2832 = call ptr @s2n_strerror(i32 noundef %2831, ptr noundef @.str.52)
  %2833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2834 = load i32, ptr %2833, align 4, !tbaa !5
  %2835 = call ptr @s2n_strerror_debug(i32 noundef %2834, ptr noundef @.str.52)
  %2836 = call ptr @__errno_location() #11
  %2837 = load i32, ptr %2836, align 4, !tbaa !5
  %2838 = call ptr @strerror(i32 noundef %2837) #10
  %2839 = call ptr @__errno_location() #11
  %2840 = load i32, ptr %2839, align 4, !tbaa !5
  %2841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2828, ptr noundef @.str.53, i32 noundef %2829, ptr noundef @.str.177, ptr noundef @.str.51, i32 noundef 409, ptr noundef %2832, ptr noundef %2835, ptr noundef %2838, i32 noundef %2840) #10
  br label %2842

2842:                                             ; preds = %2825, %2808
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #10
  br label %2843

2843:                                             ; preds = %2842
  br label %2844

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

2845:                                             ; No predecessors!
  br label %2846

2846:                                             ; preds = %2845
  br label %2847

2847:                                             ; preds = %2846, %2788
  br label %2848

2848:                                             ; preds = %2847
  br label %2849

2849:                                             ; preds = %2848
  br label %2850

2850:                                             ; preds = %2849
  %2851 = load i32, ptr @test_count, align 4, !tbaa !5
  %2852 = add nsw i32 %2851, 1
  store i32 %2852, ptr @test_count, align 4, !tbaa !5
  %2853 = load ptr, ptr %63, align 8, !tbaa !9
  %2854 = call i32 @s2n_connection_set_client_auth_type(ptr noundef %2853, i32 noundef 0)
  %2855 = icmp eq i32 %2854, -1
  br i1 %2855, label %2856, label %2909

2856:                                             ; preds = %2850
  br label %2857

2857:                                             ; preds = %2856
  br label %2858

2858:                                             ; preds = %2857
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #10
  %2859 = call ptr @__errno_location() #11
  %2860 = load i32, ptr %2859, align 4, !tbaa !5
  store i32 %2860, ptr %67, align 4, !tbaa !5
  %2861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2862 = call i32 @s2n_print_stacktrace(ptr noundef %2861)
  %2863 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2864 = trunc i8 %2863 to i1
  br i1 %2864, label %2865, label %2887

2865:                                             ; preds = %2858
  %2866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2867 = call i32 @fileno(ptr noundef %2866) #10
  %2868 = call i32 @isatty(i32 noundef %2867) #10
  %2869 = icmp ne i32 %2868, 0
  br i1 %2869, label %2870, label %2887

2870:                                             ; preds = %2865
  %2871 = load i32, ptr %67, align 4, !tbaa !5
  %2872 = call ptr @__errno_location() #11
  store i32 %2871, ptr %2872, align 4, !tbaa !5
  %2873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2874 = load i32, ptr @test_count, align 4, !tbaa !5
  %2875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2876 = load i32, ptr %2875, align 4, !tbaa !5
  %2877 = call ptr @s2n_strerror(i32 noundef %2876, ptr noundef @.str.52)
  %2878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2879 = load i32, ptr %2878, align 4, !tbaa !5
  %2880 = call ptr @s2n_strerror_debug(i32 noundef %2879, ptr noundef @.str.52)
  %2881 = call ptr @__errno_location() #11
  %2882 = load i32, ptr %2881, align 4, !tbaa !5
  %2883 = call ptr @strerror(i32 noundef %2882) #10
  %2884 = call ptr @__errno_location() #11
  %2885 = load i32, ptr %2884, align 4, !tbaa !5
  %2886 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2873, ptr noundef @.str.49, i32 noundef %2874, ptr noundef @.str.178, ptr noundef @.str.51, i32 noundef 410, ptr noundef %2877, ptr noundef %2880, ptr noundef %2883, i32 noundef %2885) #10
  br label %2904

2887:                                             ; preds = %2865, %2858
  %2888 = load i32, ptr %67, align 4, !tbaa !5
  %2889 = call ptr @__errno_location() #11
  store i32 %2888, ptr %2889, align 4, !tbaa !5
  %2890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2891 = load i32, ptr @test_count, align 4, !tbaa !5
  %2892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2893 = load i32, ptr %2892, align 4, !tbaa !5
  %2894 = call ptr @s2n_strerror(i32 noundef %2893, ptr noundef @.str.52)
  %2895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2896 = load i32, ptr %2895, align 4, !tbaa !5
  %2897 = call ptr @s2n_strerror_debug(i32 noundef %2896, ptr noundef @.str.52)
  %2898 = call ptr @__errno_location() #11
  %2899 = load i32, ptr %2898, align 4, !tbaa !5
  %2900 = call ptr @strerror(i32 noundef %2899) #10
  %2901 = call ptr @__errno_location() #11
  %2902 = load i32, ptr %2901, align 4, !tbaa !5
  %2903 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2890, ptr noundef @.str.53, i32 noundef %2891, ptr noundef @.str.178, ptr noundef @.str.51, i32 noundef 410, ptr noundef %2894, ptr noundef %2897, ptr noundef %2900, i32 noundef %2902) #10
  br label %2904

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

2905:                                             ; preds = %2904
  br label %2906

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

2907:                                             ; No predecessors!
  br label %2908

2908:                                             ; preds = %2907
  br label %2909

2909:                                             ; preds = %2908, %2850
  br label %2910

2910:                                             ; preds = %2909
  br label %2911

2911:                                             ; preds = %2910
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #10
  call void @llvm.memset.p0.i64(ptr align 4 %68, i8 0, i64 8, i1 false)
  br label %2912

2912:                                             ; preds = %2911
  %2913 = load i32, ptr @test_count, align 4, !tbaa !5
  %2914 = add nsw i32 %2913, 1
  store i32 %2914, ptr @test_count, align 4, !tbaa !5
  %2915 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %68)
  %2916 = icmp eq i32 %2915, -1
  br i1 %2916, label %2917, label %2970

2917:                                             ; preds = %2912
  br label %2918

2918:                                             ; preds = %2917
  br label %2919

2919:                                             ; preds = %2918
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #10
  %2920 = call ptr @__errno_location() #11
  %2921 = load i32, ptr %2920, align 4, !tbaa !5
  store i32 %2921, ptr %69, align 4, !tbaa !5
  %2922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2923 = call i32 @s2n_print_stacktrace(ptr noundef %2922)
  %2924 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2925 = trunc i8 %2924 to i1
  br i1 %2925, label %2926, label %2948

2926:                                             ; preds = %2919
  %2927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2928 = call i32 @fileno(ptr noundef %2927) #10
  %2929 = call i32 @isatty(i32 noundef %2928) #10
  %2930 = icmp ne i32 %2929, 0
  br i1 %2930, label %2931, label %2948

2931:                                             ; preds = %2926
  %2932 = load i32, ptr %69, align 4, !tbaa !5
  %2933 = call ptr @__errno_location() #11
  store i32 %2932, ptr %2933, align 4, !tbaa !5
  %2934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2935 = load i32, ptr @test_count, align 4, !tbaa !5
  %2936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2937 = load i32, ptr %2936, align 4, !tbaa !5
  %2938 = call ptr @s2n_strerror(i32 noundef %2937, ptr noundef @.str.52)
  %2939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2940 = load i32, ptr %2939, align 4, !tbaa !5
  %2941 = call ptr @s2n_strerror_debug(i32 noundef %2940, ptr noundef @.str.52)
  %2942 = call ptr @__errno_location() #11
  %2943 = load i32, ptr %2942, align 4, !tbaa !5
  %2944 = call ptr @strerror(i32 noundef %2943) #10
  %2945 = call ptr @__errno_location() #11
  %2946 = load i32, ptr %2945, align 4, !tbaa !5
  %2947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2934, ptr noundef @.str.49, i32 noundef %2935, ptr noundef @.str.61, ptr noundef @.str.51, i32 noundef 413, ptr noundef %2938, ptr noundef %2941, ptr noundef %2944, i32 noundef %2946) #10
  br label %2965

2948:                                             ; preds = %2926, %2919
  %2949 = load i32, ptr %69, align 4, !tbaa !5
  %2950 = call ptr @__errno_location() #11
  store i32 %2949, ptr %2950, align 4, !tbaa !5
  %2951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2952 = load i32, ptr @test_count, align 4, !tbaa !5
  %2953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2954 = load i32, ptr %2953, align 4, !tbaa !5
  %2955 = call ptr @s2n_strerror(i32 noundef %2954, ptr noundef @.str.52)
  %2956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2957 = load i32, ptr %2956, align 4, !tbaa !5
  %2958 = call ptr @s2n_strerror_debug(i32 noundef %2957, ptr noundef @.str.52)
  %2959 = call ptr @__errno_location() #11
  %2960 = load i32, ptr %2959, align 4, !tbaa !5
  %2961 = call ptr @strerror(i32 noundef %2960) #10
  %2962 = call ptr @__errno_location() #11
  %2963 = load i32, ptr %2962, align 4, !tbaa !5
  %2964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2951, ptr noundef @.str.53, i32 noundef %2952, ptr noundef @.str.61, ptr noundef @.str.51, i32 noundef 413, ptr noundef %2955, ptr noundef %2958, ptr noundef %2961, i32 noundef %2963) #10
  br label %2965

2965:                                             ; preds = %2948, %2931
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #10
  br label %2966

2966:                                             ; preds = %2965
  br label %2967

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

2968:                                             ; No predecessors!
  br label %2969

2969:                                             ; preds = %2968
  br label %2970

2970:                                             ; preds = %2969, %2912
  br label %2971

2971:                                             ; preds = %2970
  br label %2972

2972:                                             ; preds = %2971
  br label %2973

2973:                                             ; preds = %2972
  %2974 = load i32, ptr @test_count, align 4, !tbaa !5
  %2975 = add nsw i32 %2974, 1
  store i32 %2975, ptr @test_count, align 4, !tbaa !5
  %2976 = load ptr, ptr %58, align 8, !tbaa !9
  %2977 = load ptr, ptr %63, align 8, !tbaa !9
  %2978 = call i32 @s2n_connections_set_io_pair(ptr noundef %2976, ptr noundef %2977, ptr noundef %68)
  %2979 = icmp eq i32 %2978, -1
  br i1 %2979, label %2980, label %3033

2980:                                             ; preds = %2973
  br label %2981

2981:                                             ; preds = %2980
  br label %2982

2982:                                             ; preds = %2981
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #10
  %2983 = call ptr @__errno_location() #11
  %2984 = load i32, ptr %2983, align 4, !tbaa !5
  store i32 %2984, ptr %70, align 4, !tbaa !5
  %2985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2986 = call i32 @s2n_print_stacktrace(ptr noundef %2985)
  %2987 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2988 = trunc i8 %2987 to i1
  br i1 %2988, label %2989, label %3011

2989:                                             ; preds = %2982
  %2990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2991 = call i32 @fileno(ptr noundef %2990) #10
  %2992 = call i32 @isatty(i32 noundef %2991) #10
  %2993 = icmp ne i32 %2992, 0
  br i1 %2993, label %2994, label %3011

2994:                                             ; preds = %2989
  %2995 = load i32, ptr %70, align 4, !tbaa !5
  %2996 = call ptr @__errno_location() #11
  store i32 %2995, ptr %2996, align 4, !tbaa !5
  %2997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2998 = load i32, ptr @test_count, align 4, !tbaa !5
  %2999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3000 = load i32, ptr %2999, align 4, !tbaa !5
  %3001 = call ptr @s2n_strerror(i32 noundef %3000, ptr noundef @.str.52)
  %3002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3003 = load i32, ptr %3002, align 4, !tbaa !5
  %3004 = call ptr @s2n_strerror_debug(i32 noundef %3003, ptr noundef @.str.52)
  %3005 = call ptr @__errno_location() #11
  %3006 = load i32, ptr %3005, align 4, !tbaa !5
  %3007 = call ptr @strerror(i32 noundef %3006) #10
  %3008 = call ptr @__errno_location() #11
  %3009 = load i32, ptr %3008, align 4, !tbaa !5
  %3010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2997, ptr noundef @.str.49, i32 noundef %2998, ptr noundef @.str.172, ptr noundef @.str.51, i32 noundef 414, ptr noundef %3001, ptr noundef %3004, ptr noundef %3007, i32 noundef %3009) #10
  br label %3028

3011:                                             ; preds = %2989, %2982
  %3012 = load i32, ptr %70, align 4, !tbaa !5
  %3013 = call ptr @__errno_location() #11
  store i32 %3012, ptr %3013, align 4, !tbaa !5
  %3014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3015 = load i32, ptr @test_count, align 4, !tbaa !5
  %3016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3017 = load i32, ptr %3016, align 4, !tbaa !5
  %3018 = call ptr @s2n_strerror(i32 noundef %3017, ptr noundef @.str.52)
  %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_debug(i32 noundef %3020, ptr noundef @.str.52)
  %3022 = call ptr @__errno_location() #11
  %3023 = load i32, ptr %3022, align 4, !tbaa !5
  %3024 = call ptr @strerror(i32 noundef %3023) #10
  %3025 = call ptr @__errno_location() #11
  %3026 = load i32, ptr %3025, align 4, !tbaa !5
  %3027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3014, ptr noundef @.str.53, i32 noundef %3015, ptr noundef @.str.172, ptr noundef @.str.51, i32 noundef 414, ptr noundef %3018, ptr noundef %3021, ptr noundef %3024, i32 noundef %3026) #10
  br label %3028

3028:                                             ; preds = %3011, %2994
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #10
  br label %3029

3029:                                             ; preds = %3028
  br label %3030

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

3031:                                             ; No predecessors!
  br label %3032

3032:                                             ; preds = %3031
  br label %3033

3033:                                             ; preds = %3032, %2973
  br label %3034

3034:                                             ; preds = %3033
  br label %3035

3035:                                             ; preds = %3034
  br label %3036

3036:                                             ; preds = %3035
  br label %3037

3037:                                             ; preds = %3036
  br label %3038

3038:                                             ; preds = %3037
  %3039 = load i32, ptr @test_count, align 4, !tbaa !5
  %3040 = add nsw i32 %3039, 1
  store i32 %3040, ptr @test_count, align 4, !tbaa !5
  %3041 = load ptr, ptr %63, align 8, !tbaa !9
  %3042 = load ptr, ptr %58, align 8, !tbaa !9
  %3043 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %3041, ptr noundef %3042)
  %3044 = icmp eq i32 %3043, -1
  br i1 %3044, label %3098, label %3045

3045:                                             ; preds = %3038
  br label %3046

3046:                                             ; preds = %3045
  br label %3047

3047:                                             ; preds = %3046
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #10
  %3048 = call ptr @__errno_location() #11
  %3049 = load i32, ptr %3048, align 4, !tbaa !5
  store i32 %3049, ptr %71, align 4, !tbaa !5
  %3050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3051 = call i32 @s2n_print_stacktrace(ptr noundef %3050)
  %3052 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3053 = trunc i8 %3052 to i1
  br i1 %3053, label %3054, label %3076

3054:                                             ; preds = %3047
  %3055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3056 = call i32 @fileno(ptr noundef %3055) #10
  %3057 = call i32 @isatty(i32 noundef %3056) #10
  %3058 = icmp ne i32 %3057, 0
  br i1 %3058, label %3059, label %3076

3059:                                             ; preds = %3054
  %3060 = load i32, ptr %71, align 4, !tbaa !5
  %3061 = call ptr @__errno_location() #11
  store i32 %3060, ptr %3061, align 4, !tbaa !5
  %3062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3063 = load i32, ptr @test_count, align 4, !tbaa !5
  %3064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3065 = load i32, ptr %3064, align 4, !tbaa !5
  %3066 = call ptr @s2n_strerror(i32 noundef %3065, ptr noundef @.str.52)
  %3067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3068 = load i32, ptr %3067, align 4, !tbaa !5
  %3069 = call ptr @s2n_strerror_debug(i32 noundef %3068, ptr noundef @.str.52)
  %3070 = call ptr @__errno_location() #11
  %3071 = load i32, ptr %3070, align 4, !tbaa !5
  %3072 = call ptr @strerror(i32 noundef %3071) #10
  %3073 = call ptr @__errno_location() #11
  %3074 = load i32, ptr %3073, align 4, !tbaa !5
  %3075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3062, ptr noundef @.str.49, i32 noundef %3063, ptr noundef @.str.173, ptr noundef @.str.51, i32 noundef 417, ptr noundef %3066, ptr noundef %3069, ptr noundef %3072, i32 noundef %3074) #10
  br label %3093

3076:                                             ; preds = %3054, %3047
  %3077 = load i32, ptr %71, align 4, !tbaa !5
  %3078 = call ptr @__errno_location() #11
  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.52)
  %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.52)
  %3087 = call ptr @__errno_location() #11
  %3088 = load i32, ptr %3087, align 4, !tbaa !5
  %3089 = call ptr @strerror(i32 noundef %3088) #10
  %3090 = call ptr @__errno_location() #11
  %3091 = load i32, ptr %3090, align 4, !tbaa !5
  %3092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3079, ptr noundef @.str.53, i32 noundef %3080, ptr noundef @.str.173, ptr noundef @.str.51, i32 noundef 417, ptr noundef %3083, ptr noundef %3086, ptr noundef %3089, i32 noundef %3091) #10
  br label %3093

3093:                                             ; preds = %3076, %3059
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #10
  br label %3094

3094:                                             ; preds = %3093
  br label %3095

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

3096:                                             ; No predecessors!
  br label %3097

3097:                                             ; preds = %3096
  br label %3098

3098:                                             ; preds = %3097, %3038
  br label %3099

3099:                                             ; preds = %3098
  br label %3100

3100:                                             ; preds = %3099
  br label %3101

3101:                                             ; preds = %3100
  %3102 = load i32, ptr @test_count, align 4, !tbaa !5
  %3103 = add nsw i32 %3102, 1
  store i32 %3103, ptr @test_count, align 4, !tbaa !5
  %3104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3105 = load i32, ptr %3104, align 4, !tbaa !5
  %3106 = icmp eq i32 %3105, 335544324
  br i1 %3106, label %3160, label %3107

3107:                                             ; preds = %3101
  br label %3108

3108:                                             ; preds = %3107
  br label %3109

3109:                                             ; preds = %3108
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #10
  %3110 = call ptr @__errno_location() #11
  %3111 = load i32, ptr %3110, align 4, !tbaa !5
  store i32 %3111, ptr %72, align 4, !tbaa !5
  %3112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3113 = call i32 @s2n_print_stacktrace(ptr noundef %3112)
  %3114 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3115 = trunc i8 %3114 to i1
  br i1 %3115, label %3116, label %3138

3116:                                             ; preds = %3109
  %3117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3118 = call i32 @fileno(ptr noundef %3117) #10
  %3119 = call i32 @isatty(i32 noundef %3118) #10
  %3120 = icmp ne i32 %3119, 0
  br i1 %3120, label %3121, label %3138

3121:                                             ; preds = %3116
  %3122 = load i32, ptr %72, align 4, !tbaa !5
  %3123 = call ptr @__errno_location() #11
  store i32 %3122, ptr %3123, align 4, !tbaa !5
  %3124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3125 = load i32, ptr @test_count, align 4, !tbaa !5
  %3126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3127 = load i32, ptr %3126, align 4, !tbaa !5
  %3128 = call ptr @s2n_strerror(i32 noundef %3127, ptr noundef @.str.52)
  %3129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3130 = load i32, ptr %3129, align 4, !tbaa !5
  %3131 = call ptr @s2n_strerror_debug(i32 noundef %3130, ptr noundef @.str.52)
  %3132 = call ptr @__errno_location() #11
  %3133 = load i32, ptr %3132, align 4, !tbaa !5
  %3134 = call ptr @strerror(i32 noundef %3133) #10
  %3135 = call ptr @__errno_location() #11
  %3136 = load i32, ptr %3135, align 4, !tbaa !5
  %3137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3124, ptr noundef @.str.49, i32 noundef %3125, ptr noundef @.str.179, ptr noundef @.str.51, i32 noundef 417, ptr noundef %3128, ptr noundef %3131, ptr noundef %3134, i32 noundef %3136) #10
  br label %3155

3138:                                             ; preds = %3116, %3109
  %3139 = load i32, ptr %72, align 4, !tbaa !5
  %3140 = call ptr @__errno_location() #11
  store i32 %3139, ptr %3140, align 4, !tbaa !5
  %3141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3142 = load i32, ptr @test_count, align 4, !tbaa !5
  %3143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3144 = load i32, ptr %3143, align 4, !tbaa !5
  %3145 = call ptr @s2n_strerror(i32 noundef %3144, ptr noundef @.str.52)
  %3146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3147 = load i32, ptr %3146, align 4, !tbaa !5
  %3148 = call ptr @s2n_strerror_debug(i32 noundef %3147, ptr noundef @.str.52)
  %3149 = call ptr @__errno_location() #11
  %3150 = load i32, ptr %3149, align 4, !tbaa !5
  %3151 = call ptr @strerror(i32 noundef %3150) #10
  %3152 = call ptr @__errno_location() #11
  %3153 = load i32, ptr %3152, align 4, !tbaa !5
  %3154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3141, ptr noundef @.str.53, i32 noundef %3142, ptr noundef @.str.179, ptr noundef @.str.51, i32 noundef 417, ptr noundef %3145, ptr noundef %3148, ptr noundef %3151, i32 noundef %3153) #10
  br label %3155

3155:                                             ; preds = %3138, %3121
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #10
  br label %3156

3156:                                             ; preds = %3155
  br label %3157

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

3158:                                             ; No predecessors!
  br label %3159

3159:                                             ; preds = %3158
  br label %3160

3160:                                             ; preds = %3159, %3101
  br label %3161

3161:                                             ; preds = %3160
  br label %3162

3162:                                             ; preds = %3161
  br label %3163

3163:                                             ; preds = %3162
  %3164 = load i32, ptr @test_count, align 4, !tbaa !5
  %3165 = add nsw i32 %3164, 1
  store i32 %3165, ptr @test_count, align 4, !tbaa !5
  %3166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3167 = load i32, ptr %3166, align 4, !tbaa !5
  %3168 = call ptr @s2n_strerror_debug(i32 noundef %3167, ptr noundef @.str.52)
  %3169 = icmp eq ptr %3168, null
  br i1 %3169, label %3170, label %3223

3170:                                             ; preds = %3163
  br label %3171

3171:                                             ; preds = %3170
  br label %3172

3172:                                             ; preds = %3171
  call void @llvm.lifetime.start.p0(i64 4, ptr %73) #10
  %3173 = call ptr @__errno_location() #11
  %3174 = load i32, ptr %3173, align 4, !tbaa !5
  store i32 %3174, ptr %73, align 4, !tbaa !5
  %3175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3176 = call i32 @s2n_print_stacktrace(ptr noundef %3175)
  %3177 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3178 = trunc i8 %3177 to i1
  br i1 %3178, label %3179, label %3201

3179:                                             ; preds = %3172
  %3180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3181 = call i32 @fileno(ptr noundef %3180) #10
  %3182 = call i32 @isatty(i32 noundef %3181) #10
  %3183 = icmp ne i32 %3182, 0
  br i1 %3183, label %3184, label %3201

3184:                                             ; preds = %3179
  %3185 = load i32, ptr %73, align 4, !tbaa !5
  %3186 = call ptr @__errno_location() #11
  store i32 %3185, ptr %3186, align 4, !tbaa !5
  %3187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3188 = load i32, ptr @test_count, align 4, !tbaa !5
  %3189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3190 = load i32, ptr %3189, align 4, !tbaa !5
  %3191 = call ptr @s2n_strerror(i32 noundef %3190, ptr noundef @.str.52)
  %3192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3193 = load i32, ptr %3192, align 4, !tbaa !5
  %3194 = call ptr @s2n_strerror_debug(i32 noundef %3193, ptr noundef @.str.52)
  %3195 = call ptr @__errno_location() #11
  %3196 = load i32, ptr %3195, align 4, !tbaa !5
  %3197 = call ptr @strerror(i32 noundef %3196) #10
  %3198 = call ptr @__errno_location() #11
  %3199 = load i32, ptr %3198, align 4, !tbaa !5
  %3200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3187, ptr noundef @.str.49, i32 noundef %3188, ptr noundef @.str.175, ptr noundef @.str.51, i32 noundef 417, ptr noundef %3191, ptr noundef %3194, ptr noundef %3197, i32 noundef %3199) #10
  br label %3218

3201:                                             ; preds = %3179, %3172
  %3202 = load i32, ptr %73, align 4, !tbaa !5
  %3203 = call ptr @__errno_location() #11
  store i32 %3202, ptr %3203, align 4, !tbaa !5
  %3204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3205 = load i32, ptr @test_count, align 4, !tbaa !5
  %3206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3207 = load i32, ptr %3206, align 4, !tbaa !5
  %3208 = call ptr @s2n_strerror(i32 noundef %3207, ptr noundef @.str.52)
  %3209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3210 = load i32, ptr %3209, align 4, !tbaa !5
  %3211 = call ptr @s2n_strerror_debug(i32 noundef %3210, ptr noundef @.str.52)
  %3212 = call ptr @__errno_location() #11
  %3213 = load i32, ptr %3212, align 4, !tbaa !5
  %3214 = call ptr @strerror(i32 noundef %3213) #10
  %3215 = call ptr @__errno_location() #11
  %3216 = load i32, ptr %3215, align 4, !tbaa !5
  %3217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3204, ptr noundef @.str.53, i32 noundef %3205, ptr noundef @.str.175, ptr noundef @.str.51, i32 noundef 417, ptr noundef %3208, ptr noundef %3211, ptr noundef %3214, i32 noundef %3216) #10
  br label %3218

3218:                                             ; preds = %3201, %3184
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #10
  br label %3219

3219:                                             ; preds = %3218
  br label %3220

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

3221:                                             ; No predecessors!
  br label %3222

3222:                                             ; preds = %3221
  br label %3223

3223:                                             ; preds = %3222, %3163
  br label %3224

3224:                                             ; preds = %3223
  br label %3225

3225:                                             ; preds = %3224
  br label %3226

3226:                                             ; preds = %3225
  br label %3227

3227:                                             ; preds = %3226
  br label %3228

3228:                                             ; preds = %3227
  %3229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3229, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3230 = call ptr @__errno_location() #11
  store i32 0, ptr %3230, align 4, !tbaa !5
  br label %3231

3231:                                             ; preds = %3228
  br label %3232

3232:                                             ; preds = %3231
  br label %3233

3233:                                             ; preds = %3232
  br label %3234

3234:                                             ; preds = %3233
  %3235 = call i32 @s2n_io_pair_close(ptr noundef %68)
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #10
  %3236 = call i32 @s2n_connection_ptr_free(ptr noundef %63)
  %3237 = getelementptr inbounds %struct.s2n_result, ptr %74, i32 0, i32 0
  store i32 %3236, ptr %3237, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #10
  %3238 = call i32 @s2n_config_ptr_free(ptr noundef %61)
  %3239 = getelementptr inbounds %struct.s2n_result, ptr %75, i32 0, i32 0
  store i32 %3238, ptr %3239, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #10
  %3240 = call i32 @s2n_connection_ptr_free(ptr noundef %58)
  %3241 = getelementptr inbounds %struct.s2n_result, ptr %76, i32 0, i32 0
  store i32 %3240, ptr %3241, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %77) #10
  %3242 = call ptr @s2n_config_new()
  store ptr %3242, ptr %77, align 8, !tbaa !9
  br label %3243

3243:                                             ; preds = %3234
  %3244 = load i32, ptr @test_count, align 4, !tbaa !5
  %3245 = add nsw i32 %3244, 1
  store i32 %3245, ptr @test_count, align 4, !tbaa !5
  %3246 = load ptr, ptr %77, align 8, !tbaa !9
  %3247 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %3246)
  %3248 = icmp eq i32 %3247, -1
  br i1 %3248, label %3249, label %3302

3249:                                             ; preds = %3243
  br label %3250

3250:                                             ; preds = %3249
  br label %3251

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

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

3263:                                             ; preds = %3258
  %3264 = load i32, ptr %78, align 4, !tbaa !5
  %3265 = call ptr @__errno_location() #11
  store i32 %3264, ptr %3265, align 4, !tbaa !5
  %3266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3267 = load i32, ptr @test_count, align 4, !tbaa !5
  %3268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3269 = load i32, ptr %3268, align 4, !tbaa !5
  %3270 = call ptr @s2n_strerror(i32 noundef %3269, ptr noundef @.str.52)
  %3271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3272 = load i32, ptr %3271, align 4, !tbaa !5
  %3273 = call ptr @s2n_strerror_debug(i32 noundef %3272, ptr noundef @.str.52)
  %3274 = call ptr @__errno_location() #11
  %3275 = load i32, ptr %3274, align 4, !tbaa !5
  %3276 = call ptr @strerror(i32 noundef %3275) #10
  %3277 = call ptr @__errno_location() #11
  %3278 = load i32, ptr %3277, align 4, !tbaa !5
  %3279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3266, ptr noundef @.str.49, i32 noundef %3267, ptr noundef @.str.76, ptr noundef @.str.51, i32 noundef 423, ptr noundef %3270, ptr noundef %3273, ptr noundef %3276, i32 noundef %3278) #10
  br label %3297

3280:                                             ; preds = %3258, %3251
  %3281 = load i32, ptr %78, align 4, !tbaa !5
  %3282 = call ptr @__errno_location() #11
  store i32 %3281, ptr %3282, align 4, !tbaa !5
  %3283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3284 = load i32, ptr @test_count, align 4, !tbaa !5
  %3285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3286 = load i32, ptr %3285, align 4, !tbaa !5
  %3287 = call ptr @s2n_strerror(i32 noundef %3286, ptr noundef @.str.52)
  %3288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3289 = load i32, ptr %3288, align 4, !tbaa !5
  %3290 = call ptr @s2n_strerror_debug(i32 noundef %3289, ptr noundef @.str.52)
  %3291 = call ptr @__errno_location() #11
  %3292 = load i32, ptr %3291, align 4, !tbaa !5
  %3293 = call ptr @strerror(i32 noundef %3292) #10
  %3294 = call ptr @__errno_location() #11
  %3295 = load i32, ptr %3294, align 4, !tbaa !5
  %3296 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3283, ptr noundef @.str.53, i32 noundef %3284, ptr noundef @.str.76, ptr noundef @.str.51, i32 noundef 423, ptr noundef %3287, ptr noundef %3290, ptr noundef %3293, i32 noundef %3295) #10
  br label %3297

3297:                                             ; preds = %3280, %3263
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #10
  br label %3298

3298:                                             ; preds = %3297
  br label %3299

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

3300:                                             ; No predecessors!
  br label %3301

3301:                                             ; preds = %3300
  br label %3302

3302:                                             ; preds = %3301, %3243
  br label %3303

3303:                                             ; preds = %3302
  br label %3304

3304:                                             ; preds = %3303
  call void @llvm.lifetime.start.p0(i64 8, ptr %79) #10
  %3305 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %3305, ptr %79, align 8, !tbaa !9
  br label %3306

3306:                                             ; preds = %3304
  %3307 = load i32, ptr @test_count, align 4, !tbaa !5
  %3308 = add nsw i32 %3307, 1
  store i32 %3308, ptr @test_count, align 4, !tbaa !5
  %3309 = load ptr, ptr %79, align 8, !tbaa !9
  %3310 = icmp eq ptr %3309, null
  br i1 %3310, label %3311, label %3364

3311:                                             ; preds = %3306
  br label %3312

3312:                                             ; preds = %3311
  br label %3313

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

3320:                                             ; preds = %3313
  %3321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3322 = call i32 @fileno(ptr noundef %3321) #10
  %3323 = call i32 @isatty(i32 noundef %3322) #10
  %3324 = icmp ne i32 %3323, 0
  br i1 %3324, label %3325, label %3342

3325:                                             ; preds = %3320
  %3326 = load i32, ptr %80, align 4, !tbaa !5
  %3327 = call ptr @__errno_location() #11
  store i32 %3326, ptr %3327, align 4, !tbaa !5
  %3328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3329 = load i32, ptr @test_count, align 4, !tbaa !5
  %3330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3331 = load i32, ptr %3330, align 4, !tbaa !5
  %3332 = call ptr @s2n_strerror(i32 noundef %3331, ptr noundef @.str.52)
  %3333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3334 = load i32, ptr %3333, align 4, !tbaa !5
  %3335 = call ptr @s2n_strerror_debug(i32 noundef %3334, ptr noundef @.str.52)
  %3336 = call ptr @__errno_location() #11
  %3337 = load i32, ptr %3336, align 4, !tbaa !5
  %3338 = call ptr @strerror(i32 noundef %3337) #10
  %3339 = call ptr @__errno_location() #11
  %3340 = load i32, ptr %3339, align 4, !tbaa !5
  %3341 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3328, ptr noundef @.str.49, i32 noundef %3329, ptr noundef @.str.165, ptr noundef @.str.51, i32 noundef 426, ptr noundef %3332, ptr noundef %3335, ptr noundef %3338, i32 noundef %3340) #10
  br label %3359

3342:                                             ; preds = %3320, %3313
  %3343 = load i32, ptr %80, align 4, !tbaa !5
  %3344 = call ptr @__errno_location() #11
  store i32 %3343, ptr %3344, align 4, !tbaa !5
  %3345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3346 = load i32, ptr @test_count, align 4, !tbaa !5
  %3347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3348 = load i32, ptr %3347, align 4, !tbaa !5
  %3349 = call ptr @s2n_strerror(i32 noundef %3348, ptr noundef @.str.52)
  %3350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3351 = load i32, ptr %3350, align 4, !tbaa !5
  %3352 = call ptr @s2n_strerror_debug(i32 noundef %3351, ptr noundef @.str.52)
  %3353 = call ptr @__errno_location() #11
  %3354 = load i32, ptr %3353, align 4, !tbaa !5
  %3355 = call ptr @strerror(i32 noundef %3354) #10
  %3356 = call ptr @__errno_location() #11
  %3357 = load i32, ptr %3356, align 4, !tbaa !5
  %3358 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3345, ptr noundef @.str.53, i32 noundef %3346, ptr noundef @.str.165, ptr noundef @.str.51, i32 noundef 426, ptr noundef %3349, ptr noundef %3352, ptr noundef %3355, i32 noundef %3357) #10
  br label %3359

3359:                                             ; preds = %3342, %3325
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #10
  br label %3360

3360:                                             ; preds = %3359
  br label %3361

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

3362:                                             ; No predecessors!
  br label %3363

3363:                                             ; preds = %3362
  br label %3364

3364:                                             ; preds = %3363, %3306
  br label %3365

3365:                                             ; preds = %3364
  br label %3366

3366:                                             ; preds = %3365
  br label %3367

3367:                                             ; preds = %3366
  %3368 = load i32, ptr @test_count, align 4, !tbaa !5
  %3369 = add nsw i32 %3368, 1
  store i32 %3369, ptr @test_count, align 4, !tbaa !5
  %3370 = load ptr, ptr %79, align 8, !tbaa !9
  %3371 = load ptr, ptr %77, align 8, !tbaa !9
  %3372 = call i32 @s2n_connection_set_config(ptr noundef %3370, ptr noundef %3371)
  %3373 = icmp eq i32 %3372, -1
  br i1 %3373, label %3374, label %3427

3374:                                             ; preds = %3367
  br label %3375

3375:                                             ; preds = %3374
  br label %3376

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

3383:                                             ; preds = %3376
  %3384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3385 = call i32 @fileno(ptr noundef %3384) #10
  %3386 = call i32 @isatty(i32 noundef %3385) #10
  %3387 = icmp ne i32 %3386, 0
  br i1 %3387, label %3388, label %3405

3388:                                             ; preds = %3383
  %3389 = load i32, ptr %81, align 4, !tbaa !5
  %3390 = call ptr @__errno_location() #11
  store i32 %3389, ptr %3390, align 4, !tbaa !5
  %3391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3392 = load i32, ptr @test_count, align 4, !tbaa !5
  %3393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3394 = load i32, ptr %3393, align 4, !tbaa !5
  %3395 = call ptr @s2n_strerror(i32 noundef %3394, ptr noundef @.str.52)
  %3396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3397 = load i32, ptr %3396, align 4, !tbaa !5
  %3398 = call ptr @s2n_strerror_debug(i32 noundef %3397, ptr noundef @.str.52)
  %3399 = call ptr @__errno_location() #11
  %3400 = load i32, ptr %3399, align 4, !tbaa !5
  %3401 = call ptr @strerror(i32 noundef %3400) #10
  %3402 = call ptr @__errno_location() #11
  %3403 = load i32, ptr %3402, align 4, !tbaa !5
  %3404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3391, ptr noundef @.str.49, i32 noundef %3392, ptr noundef @.str.180, ptr noundef @.str.51, i32 noundef 427, ptr noundef %3395, ptr noundef %3398, ptr noundef %3401, i32 noundef %3403) #10
  br label %3422

3405:                                             ; preds = %3383, %3376
  %3406 = load i32, ptr %81, align 4, !tbaa !5
  %3407 = call ptr @__errno_location() #11
  store i32 %3406, ptr %3407, align 4, !tbaa !5
  %3408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3409 = load i32, ptr @test_count, align 4, !tbaa !5
  %3410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3411 = load i32, ptr %3410, align 4, !tbaa !5
  %3412 = call ptr @s2n_strerror(i32 noundef %3411, ptr noundef @.str.52)
  %3413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3414 = load i32, ptr %3413, align 4, !tbaa !5
  %3415 = call ptr @s2n_strerror_debug(i32 noundef %3414, ptr noundef @.str.52)
  %3416 = call ptr @__errno_location() #11
  %3417 = load i32, ptr %3416, align 4, !tbaa !5
  %3418 = call ptr @strerror(i32 noundef %3417) #10
  %3419 = call ptr @__errno_location() #11
  %3420 = load i32, ptr %3419, align 4, !tbaa !5
  %3421 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3408, ptr noundef @.str.53, i32 noundef %3409, ptr noundef @.str.180, ptr noundef @.str.51, i32 noundef 427, ptr noundef %3412, ptr noundef %3415, ptr noundef %3418, i32 noundef %3420) #10
  br label %3422

3422:                                             ; preds = %3405, %3388
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #10
  br label %3423

3423:                                             ; preds = %3422
  br label %3424

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

3425:                                             ; No predecessors!
  br label %3426

3426:                                             ; preds = %3425
  br label %3427

3427:                                             ; preds = %3426, %3367
  br label %3428

3428:                                             ; preds = %3427
  br label %3429

3429:                                             ; preds = %3428
  call void @llvm.lifetime.start.p0(i64 8, ptr %82) #10
  %3430 = call ptr @s2n_config_new()
  store ptr %3430, ptr %82, align 8, !tbaa !9
  br label %3431

3431:                                             ; preds = %3429
  %3432 = load i32, ptr @test_count, align 4, !tbaa !5
  %3433 = add nsw i32 %3432, 1
  store i32 %3433, ptr @test_count, align 4, !tbaa !5
  %3434 = load ptr, ptr %82, align 8, !tbaa !9
  %3435 = load ptr, ptr %12, align 8, !tbaa !9
  %3436 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %3434, ptr noundef %3435)
  %3437 = icmp eq i32 %3436, -1
  br i1 %3437, label %3438, label %3491

3438:                                             ; preds = %3431
  br label %3439

3439:                                             ; preds = %3438
  br label %3440

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

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

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

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

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

3487:                                             ; preds = %3486
  br label %3488

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

3489:                                             ; No predecessors!
  br label %3490

3490:                                             ; preds = %3489
  br label %3491

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

3492:                                             ; preds = %3491
  br label %3493

3493:                                             ; preds = %3492
  call void @llvm.lifetime.start.p0(i64 8, ptr %84) #10
  %3494 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %3494, ptr %84, align 8, !tbaa !9
  br label %3495

3495:                                             ; preds = %3493
  %3496 = load i32, ptr @test_count, align 4, !tbaa !5
  %3497 = add nsw i32 %3496, 1
  store i32 %3497, ptr @test_count, align 4, !tbaa !5
  %3498 = load ptr, ptr %84, align 8, !tbaa !9
  %3499 = icmp eq ptr %3498, null
  br i1 %3499, label %3500, label %3553

3500:                                             ; preds = %3495
  br label %3501

3501:                                             ; preds = %3500
  br label %3502

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

3509:                                             ; preds = %3502
  %3510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3511 = call i32 @fileno(ptr noundef %3510) #10
  %3512 = call i32 @isatty(i32 noundef %3511) #10
  %3513 = icmp ne i32 %3512, 0
  br i1 %3513, label %3514, label %3531

3514:                                             ; preds = %3509
  %3515 = load i32, ptr %85, align 4, !tbaa !5
  %3516 = call ptr @__errno_location() #11
  store i32 %3515, ptr %3516, align 4, !tbaa !5
  %3517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3518 = load i32, ptr @test_count, align 4, !tbaa !5
  %3519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3520 = load i32, ptr %3519, align 4, !tbaa !5
  %3521 = call ptr @s2n_strerror(i32 noundef %3520, ptr noundef @.str.52)
  %3522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3523 = load i32, ptr %3522, align 4, !tbaa !5
  %3524 = call ptr @s2n_strerror_debug(i32 noundef %3523, ptr noundef @.str.52)
  %3525 = call ptr @__errno_location() #11
  %3526 = load i32, ptr %3525, align 4, !tbaa !5
  %3527 = call ptr @strerror(i32 noundef %3526) #10
  %3528 = call ptr @__errno_location() #11
  %3529 = load i32, ptr %3528, align 4, !tbaa !5
  %3530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3517, ptr noundef @.str.49, i32 noundef %3518, ptr noundef @.str.167, ptr noundef @.str.51, i32 noundef 433, ptr noundef %3521, ptr noundef %3524, ptr noundef %3527, i32 noundef %3529) #10
  br label %3548

3531:                                             ; preds = %3509, %3502
  %3532 = load i32, ptr %85, align 4, !tbaa !5
  %3533 = call ptr @__errno_location() #11
  store i32 %3532, ptr %3533, align 4, !tbaa !5
  %3534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3535 = load i32, ptr @test_count, align 4, !tbaa !5
  %3536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3537 = load i32, ptr %3536, align 4, !tbaa !5
  %3538 = call ptr @s2n_strerror(i32 noundef %3537, ptr noundef @.str.52)
  %3539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3540 = load i32, ptr %3539, align 4, !tbaa !5
  %3541 = call ptr @s2n_strerror_debug(i32 noundef %3540, ptr noundef @.str.52)
  %3542 = call ptr @__errno_location() #11
  %3543 = load i32, ptr %3542, align 4, !tbaa !5
  %3544 = call ptr @strerror(i32 noundef %3543) #10
  %3545 = call ptr @__errno_location() #11
  %3546 = load i32, ptr %3545, align 4, !tbaa !5
  %3547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3534, ptr noundef @.str.53, i32 noundef %3535, ptr noundef @.str.167, ptr noundef @.str.51, i32 noundef 433, ptr noundef %3538, ptr noundef %3541, ptr noundef %3544, i32 noundef %3546) #10
  br label %3548

3548:                                             ; preds = %3531, %3514
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #10
  br label %3549

3549:                                             ; preds = %3548
  br label %3550

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

3551:                                             ; No predecessors!
  br label %3552

3552:                                             ; preds = %3551
  br label %3553

3553:                                             ; preds = %3552, %3495
  br label %3554

3554:                                             ; preds = %3553
  br label %3555

3555:                                             ; preds = %3554
  br label %3556

3556:                                             ; preds = %3555
  %3557 = load i32, ptr @test_count, align 4, !tbaa !5
  %3558 = add nsw i32 %3557, 1
  store i32 %3558, ptr @test_count, align 4, !tbaa !5
  %3559 = load ptr, ptr %84, align 8, !tbaa !9
  %3560 = load ptr, ptr %82, align 8, !tbaa !9
  %3561 = call i32 @s2n_connection_set_config(ptr noundef %3559, ptr noundef %3560)
  %3562 = icmp eq i32 %3561, -1
  br i1 %3562, label %3563, label %3616

3563:                                             ; preds = %3556
  br label %3564

3564:                                             ; preds = %3563
  br label %3565

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

3572:                                             ; preds = %3565
  %3573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3574 = call i32 @fileno(ptr noundef %3573) #10
  %3575 = call i32 @isatty(i32 noundef %3574) #10
  %3576 = icmp ne i32 %3575, 0
  br i1 %3576, label %3577, label %3594

3577:                                             ; preds = %3572
  %3578 = load i32, ptr %86, align 4, !tbaa !5
  %3579 = call ptr @__errno_location() #11
  store i32 %3578, ptr %3579, align 4, !tbaa !5
  %3580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3581 = load i32, ptr @test_count, align 4, !tbaa !5
  %3582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3583 = load i32, ptr %3582, align 4, !tbaa !5
  %3584 = call ptr @s2n_strerror(i32 noundef %3583, ptr noundef @.str.52)
  %3585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3586 = load i32, ptr %3585, align 4, !tbaa !5
  %3587 = call ptr @s2n_strerror_debug(i32 noundef %3586, ptr noundef @.str.52)
  %3588 = call ptr @__errno_location() #11
  %3589 = load i32, ptr %3588, align 4, !tbaa !5
  %3590 = call ptr @strerror(i32 noundef %3589) #10
  %3591 = call ptr @__errno_location() #11
  %3592 = load i32, ptr %3591, align 4, !tbaa !5
  %3593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3580, ptr noundef @.str.49, i32 noundef %3581, ptr noundef @.str.182, ptr noundef @.str.51, i32 noundef 434, ptr noundef %3584, ptr noundef %3587, ptr noundef %3590, i32 noundef %3592) #10
  br label %3611

3594:                                             ; preds = %3572, %3565
  %3595 = load i32, ptr %86, align 4, !tbaa !5
  %3596 = call ptr @__errno_location() #11
  store i32 %3595, ptr %3596, align 4, !tbaa !5
  %3597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3598 = load i32, ptr @test_count, align 4, !tbaa !5
  %3599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3600 = load i32, ptr %3599, align 4, !tbaa !5
  %3601 = call ptr @s2n_strerror(i32 noundef %3600, ptr noundef @.str.52)
  %3602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3603 = load i32, ptr %3602, align 4, !tbaa !5
  %3604 = call ptr @s2n_strerror_debug(i32 noundef %3603, ptr noundef @.str.52)
  %3605 = call ptr @__errno_location() #11
  %3606 = load i32, ptr %3605, align 4, !tbaa !5
  %3607 = call ptr @strerror(i32 noundef %3606) #10
  %3608 = call ptr @__errno_location() #11
  %3609 = load i32, ptr %3608, align 4, !tbaa !5
  %3610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3597, ptr noundef @.str.53, i32 noundef %3598, ptr noundef @.str.182, ptr noundef @.str.51, i32 noundef 434, ptr noundef %3601, ptr noundef %3604, ptr noundef %3607, i32 noundef %3609) #10
  br label %3611

3611:                                             ; preds = %3594, %3577
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #10
  br label %3612

3612:                                             ; preds = %3611
  br label %3613

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

3614:                                             ; No predecessors!
  br label %3615

3615:                                             ; preds = %3614
  br label %3616

3616:                                             ; preds = %3615, %3556
  br label %3617

3617:                                             ; preds = %3616
  br label %3618

3618:                                             ; preds = %3617
  br label %3619

3619:                                             ; preds = %3618
  %3620 = load i32, ptr @test_count, align 4, !tbaa !5
  %3621 = add nsw i32 %3620, 1
  store i32 %3621, ptr @test_count, align 4, !tbaa !5
  %3622 = load ptr, ptr %84, align 8, !tbaa !9
  %3623 = call i32 @s2n_connection_set_client_auth_type(ptr noundef %3622, i32 noundef 2)
  %3624 = icmp eq i32 %3623, -1
  br i1 %3624, label %3625, label %3678

3625:                                             ; preds = %3619
  br label %3626

3626:                                             ; preds = %3625
  br label %3627

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

3634:                                             ; preds = %3627
  %3635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3636 = call i32 @fileno(ptr noundef %3635) #10
  %3637 = call i32 @isatty(i32 noundef %3636) #10
  %3638 = icmp ne i32 %3637, 0
  br i1 %3638, label %3639, label %3656

3639:                                             ; preds = %3634
  %3640 = load i32, ptr %87, align 4, !tbaa !5
  %3641 = call ptr @__errno_location() #11
  store i32 %3640, ptr %3641, align 4, !tbaa !5
  %3642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3643 = load i32, ptr @test_count, align 4, !tbaa !5
  %3644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3645 = load i32, ptr %3644, align 4, !tbaa !5
  %3646 = call ptr @s2n_strerror(i32 noundef %3645, ptr noundef @.str.52)
  %3647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3648 = load i32, ptr %3647, align 4, !tbaa !5
  %3649 = call ptr @s2n_strerror_debug(i32 noundef %3648, ptr noundef @.str.52)
  %3650 = call ptr @__errno_location() #11
  %3651 = load i32, ptr %3650, align 4, !tbaa !5
  %3652 = call ptr @strerror(i32 noundef %3651) #10
  %3653 = call ptr @__errno_location() #11
  %3654 = load i32, ptr %3653, align 4, !tbaa !5
  %3655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3642, ptr noundef @.str.49, i32 noundef %3643, ptr noundef @.str.171, ptr noundef @.str.51, i32 noundef 437, ptr noundef %3646, ptr noundef %3649, ptr noundef %3652, i32 noundef %3654) #10
  br label %3673

3656:                                             ; preds = %3634, %3627
  %3657 = load i32, ptr %87, align 4, !tbaa !5
  %3658 = call ptr @__errno_location() #11
  store i32 %3657, ptr %3658, align 4, !tbaa !5
  %3659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3660 = load i32, ptr @test_count, align 4, !tbaa !5
  %3661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3662 = load i32, ptr %3661, align 4, !tbaa !5
  %3663 = call ptr @s2n_strerror(i32 noundef %3662, ptr noundef @.str.52)
  %3664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3665 = load i32, ptr %3664, align 4, !tbaa !5
  %3666 = call ptr @s2n_strerror_debug(i32 noundef %3665, ptr noundef @.str.52)
  %3667 = call ptr @__errno_location() #11
  %3668 = load i32, ptr %3667, align 4, !tbaa !5
  %3669 = call ptr @strerror(i32 noundef %3668) #10
  %3670 = call ptr @__errno_location() #11
  %3671 = load i32, ptr %3670, align 4, !tbaa !5
  %3672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3659, ptr noundef @.str.53, i32 noundef %3660, ptr noundef @.str.171, ptr noundef @.str.51, i32 noundef 437, ptr noundef %3663, ptr noundef %3666, ptr noundef %3669, i32 noundef %3671) #10
  br label %3673

3673:                                             ; preds = %3656, %3639
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #10
  br label %3674

3674:                                             ; preds = %3673
  br label %3675

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

3676:                                             ; No predecessors!
  br label %3677

3677:                                             ; preds = %3676
  br label %3678

3678:                                             ; preds = %3677, %3619
  br label %3679

3679:                                             ; preds = %3678
  br label %3680

3680:                                             ; preds = %3679
  call void @llvm.lifetime.start.p0(i64 8, ptr %88) #10
  call void @llvm.memset.p0.i64(ptr align 4 %88, i8 0, i64 8, i1 false)
  br label %3681

3681:                                             ; preds = %3680
  %3682 = load i32, ptr @test_count, align 4, !tbaa !5
  %3683 = add nsw i32 %3682, 1
  store i32 %3683, ptr @test_count, align 4, !tbaa !5
  %3684 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %88)
  %3685 = icmp eq i32 %3684, -1
  br i1 %3685, label %3686, label %3739

3686:                                             ; preds = %3681
  br label %3687

3687:                                             ; preds = %3686
  br label %3688

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

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

3700:                                             ; preds = %3695
  %3701 = load i32, ptr %89, align 4, !tbaa !5
  %3702 = call ptr @__errno_location() #11
  store i32 %3701, ptr %3702, align 4, !tbaa !5
  %3703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3704 = load i32, ptr @test_count, align 4, !tbaa !5
  %3705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3706 = load i32, ptr %3705, align 4, !tbaa !5
  %3707 = call ptr @s2n_strerror(i32 noundef %3706, ptr noundef @.str.52)
  %3708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3709 = load i32, ptr %3708, align 4, !tbaa !5
  %3710 = call ptr @s2n_strerror_debug(i32 noundef %3709, ptr noundef @.str.52)
  %3711 = call ptr @__errno_location() #11
  %3712 = load i32, ptr %3711, align 4, !tbaa !5
  %3713 = call ptr @strerror(i32 noundef %3712) #10
  %3714 = call ptr @__errno_location() #11
  %3715 = load i32, ptr %3714, align 4, !tbaa !5
  %3716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3703, ptr noundef @.str.49, i32 noundef %3704, ptr noundef @.str.61, ptr noundef @.str.51, i32 noundef 440, ptr noundef %3707, ptr noundef %3710, ptr noundef %3713, i32 noundef %3715) #10
  br label %3734

3717:                                             ; preds = %3695, %3688
  %3718 = load i32, ptr %89, align 4, !tbaa !5
  %3719 = call ptr @__errno_location() #11
  store i32 %3718, ptr %3719, align 4, !tbaa !5
  %3720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3721 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3723, ptr noundef @.str.52)
  %3725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3726 = load i32, ptr %3725, align 4, !tbaa !5
  %3727 = call ptr @s2n_strerror_debug(i32 noundef %3726, ptr noundef @.str.52)
  %3728 = call ptr @__errno_location() #11
  %3729 = load i32, ptr %3728, align 4, !tbaa !5
  %3730 = call ptr @strerror(i32 noundef %3729) #10
  %3731 = call ptr @__errno_location() #11
  %3732 = load i32, ptr %3731, align 4, !tbaa !5
  %3733 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3720, ptr noundef @.str.53, i32 noundef %3721, ptr noundef @.str.61, ptr noundef @.str.51, i32 noundef 440, ptr noundef %3724, ptr noundef %3727, ptr noundef %3730, i32 noundef %3732) #10
  br label %3734

3734:                                             ; preds = %3717, %3700
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #10
  br label %3735

3735:                                             ; preds = %3734
  br label %3736

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

3737:                                             ; No predecessors!
  br label %3738

3738:                                             ; preds = %3737
  br label %3739

3739:                                             ; preds = %3738, %3681
  br label %3740

3740:                                             ; preds = %3739
  br label %3741

3741:                                             ; preds = %3740
  br label %3742

3742:                                             ; preds = %3741
  %3743 = load i32, ptr @test_count, align 4, !tbaa !5
  %3744 = add nsw i32 %3743, 1
  store i32 %3744, ptr @test_count, align 4, !tbaa !5
  %3745 = load ptr, ptr %79, align 8, !tbaa !9
  %3746 = load ptr, ptr %84, align 8, !tbaa !9
  %3747 = call i32 @s2n_connections_set_io_pair(ptr noundef %3745, ptr noundef %3746, ptr noundef %88)
  %3748 = icmp eq i32 %3747, -1
  br i1 %3748, label %3749, label %3802

3749:                                             ; preds = %3742
  br label %3750

3750:                                             ; preds = %3749
  br label %3751

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

3758:                                             ; preds = %3751
  %3759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3760 = call i32 @fileno(ptr noundef %3759) #10
  %3761 = call i32 @isatty(i32 noundef %3760) #10
  %3762 = icmp ne i32 %3761, 0
  br i1 %3762, label %3763, label %3780

3763:                                             ; preds = %3758
  %3764 = load i32, ptr %90, align 4, !tbaa !5
  %3765 = call ptr @__errno_location() #11
  store i32 %3764, ptr %3765, align 4, !tbaa !5
  %3766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3767 = load i32, ptr @test_count, align 4, !tbaa !5
  %3768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3769 = load i32, ptr %3768, align 4, !tbaa !5
  %3770 = call ptr @s2n_strerror(i32 noundef %3769, ptr noundef @.str.52)
  %3771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3772 = load i32, ptr %3771, align 4, !tbaa !5
  %3773 = call ptr @s2n_strerror_debug(i32 noundef %3772, ptr noundef @.str.52)
  %3774 = call ptr @__errno_location() #11
  %3775 = load i32, ptr %3774, align 4, !tbaa !5
  %3776 = call ptr @strerror(i32 noundef %3775) #10
  %3777 = call ptr @__errno_location() #11
  %3778 = load i32, ptr %3777, align 4, !tbaa !5
  %3779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3766, ptr noundef @.str.49, i32 noundef %3767, ptr noundef @.str.172, ptr noundef @.str.51, i32 noundef 441, ptr noundef %3770, ptr noundef %3773, ptr noundef %3776, i32 noundef %3778) #10
  br label %3797

3780:                                             ; preds = %3758, %3751
  %3781 = load i32, ptr %90, align 4, !tbaa !5
  %3782 = call ptr @__errno_location() #11
  store i32 %3781, ptr %3782, align 4, !tbaa !5
  %3783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3784 = load i32, ptr @test_count, align 4, !tbaa !5
  %3785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3786 = load i32, ptr %3785, align 4, !tbaa !5
  %3787 = call ptr @s2n_strerror(i32 noundef %3786, ptr noundef @.str.52)
  %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_debug(i32 noundef %3789, ptr noundef @.str.52)
  %3791 = call ptr @__errno_location() #11
  %3792 = load i32, ptr %3791, align 4, !tbaa !5
  %3793 = call ptr @strerror(i32 noundef %3792) #10
  %3794 = call ptr @__errno_location() #11
  %3795 = load i32, ptr %3794, align 4, !tbaa !5
  %3796 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3783, ptr noundef @.str.53, i32 noundef %3784, ptr noundef @.str.172, ptr noundef @.str.51, i32 noundef 441, ptr noundef %3787, ptr noundef %3790, ptr noundef %3793, i32 noundef %3795) #10
  br label %3797

3797:                                             ; preds = %3780, %3763
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #10
  br label %3798

3798:                                             ; preds = %3797
  br label %3799

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

3800:                                             ; No predecessors!
  br label %3801

3801:                                             ; preds = %3800
  br label %3802

3802:                                             ; preds = %3801, %3742
  br label %3803

3803:                                             ; preds = %3802
  br label %3804

3804:                                             ; preds = %3803
  br label %3805

3805:                                             ; preds = %3804
  %3806 = load i32, ptr @test_count, align 4, !tbaa !5
  %3807 = add nsw i32 %3806, 1
  store i32 %3807, ptr @test_count, align 4, !tbaa !5
  %3808 = load ptr, ptr %84, align 8, !tbaa !9
  %3809 = load ptr, ptr %79, align 8, !tbaa !9
  %3810 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %3808, ptr noundef %3809)
  %3811 = icmp eq i32 %3810, -1
  br i1 %3811, label %3812, label %3865

3812:                                             ; preds = %3805
  br label %3813

3813:                                             ; preds = %3812
  br label %3814

3814:                                             ; preds = %3813
  call void @llvm.lifetime.start.p0(i64 4, ptr %91) #10
  %3815 = call ptr @__errno_location() #11
  %3816 = load i32, ptr %3815, align 4, !tbaa !5
  store i32 %3816, ptr %91, align 4, !tbaa !5
  %3817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3818 = call i32 @s2n_print_stacktrace(ptr noundef %3817)
  %3819 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3820 = trunc i8 %3819 to i1
  br i1 %3820, label %3821, label %3843

3821:                                             ; preds = %3814
  %3822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3823 = call i32 @fileno(ptr noundef %3822) #10
  %3824 = call i32 @isatty(i32 noundef %3823) #10
  %3825 = icmp ne i32 %3824, 0
  br i1 %3825, label %3826, label %3843

3826:                                             ; preds = %3821
  %3827 = load i32, ptr %91, align 4, !tbaa !5
  %3828 = call ptr @__errno_location() #11
  store i32 %3827, ptr %3828, align 4, !tbaa !5
  %3829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3830 = load i32, ptr @test_count, align 4, !tbaa !5
  %3831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3832 = load i32, ptr %3831, align 4, !tbaa !5
  %3833 = call ptr @s2n_strerror(i32 noundef %3832, ptr noundef @.str.52)
  %3834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3835 = load i32, ptr %3834, align 4, !tbaa !5
  %3836 = call ptr @s2n_strerror_debug(i32 noundef %3835, ptr noundef @.str.52)
  %3837 = call ptr @__errno_location() #11
  %3838 = load i32, ptr %3837, align 4, !tbaa !5
  %3839 = call ptr @strerror(i32 noundef %3838) #10
  %3840 = call ptr @__errno_location() #11
  %3841 = load i32, ptr %3840, align 4, !tbaa !5
  %3842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3829, ptr noundef @.str.49, i32 noundef %3830, ptr noundef @.str.183, ptr noundef @.str.51, i32 noundef 443, ptr noundef %3833, ptr noundef %3836, ptr noundef %3839, i32 noundef %3841) #10
  br label %3860

3843:                                             ; preds = %3821, %3814
  %3844 = load i32, ptr %91, align 4, !tbaa !5
  %3845 = call ptr @__errno_location() #11
  store i32 %3844, ptr %3845, align 4, !tbaa !5
  %3846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3847 = load i32, ptr @test_count, align 4, !tbaa !5
  %3848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3849 = load i32, ptr %3848, align 4, !tbaa !5
  %3850 = call ptr @s2n_strerror(i32 noundef %3849, ptr noundef @.str.52)
  %3851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3852 = load i32, ptr %3851, align 4, !tbaa !5
  %3853 = call ptr @s2n_strerror_debug(i32 noundef %3852, ptr noundef @.str.52)
  %3854 = call ptr @__errno_location() #11
  %3855 = load i32, ptr %3854, align 4, !tbaa !5
  %3856 = call ptr @strerror(i32 noundef %3855) #10
  %3857 = call ptr @__errno_location() #11
  %3858 = load i32, ptr %3857, align 4, !tbaa !5
  %3859 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3846, ptr noundef @.str.53, i32 noundef %3847, ptr noundef @.str.183, ptr noundef @.str.51, i32 noundef 443, ptr noundef %3850, ptr noundef %3853, ptr noundef %3856, i32 noundef %3858) #10
  br label %3860

3860:                                             ; preds = %3843, %3826
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #10
  br label %3861

3861:                                             ; preds = %3860
  br label %3862

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

3863:                                             ; No predecessors!
  br label %3864

3864:                                             ; preds = %3863
  br label %3865

3865:                                             ; preds = %3864, %3805
  br label %3866

3866:                                             ; preds = %3865
  br label %3867

3867:                                             ; preds = %3866
  %3868 = call i32 @s2n_io_pair_close(ptr noundef %88)
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #10
  %3869 = call i32 @s2n_connection_ptr_free(ptr noundef %84)
  %3870 = getelementptr inbounds %struct.s2n_result, ptr %92, i32 0, i32 0
  store i32 %3869, ptr %3870, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #10
  %3871 = call i32 @s2n_config_ptr_free(ptr noundef %82)
  %3872 = getelementptr inbounds %struct.s2n_result, ptr %93, i32 0, i32 0
  store i32 %3871, ptr %3872, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #10
  %3873 = call i32 @s2n_connection_ptr_free(ptr noundef %79)
  %3874 = getelementptr inbounds %struct.s2n_result, ptr %94, i32 0, i32 0
  store i32 %3873, ptr %3874, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #10
  %3875 = call i32 @s2n_config_ptr_free(ptr noundef %77)
  %3876 = getelementptr inbounds %struct.s2n_result, ptr %95, i32 0, i32 0
  store i32 %3875, ptr %3876, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #10
  store i32 -255, ptr %96, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %97) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %97, ptr align 16 @__const.main.all_options, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 1200, ptr %98) #10
  call void @llvm.memset.p0.i64(ptr align 16 %98, i8 0, i64 1200, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %99) #10
  store i64 0, ptr %99, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %100) #10
  store i64 0, ptr %100, align 8, !tbaa !15
  br label %3877

3877:                                             ; preds = %3995, %3867
  %3878 = load i64, ptr %100, align 8, !tbaa !15
  %3879 = icmp ult i64 %3878, 4
  br i1 %3879, label %3881, label %3880

3880:                                             ; preds = %3877
  store i32 376, ptr %101, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %100) #10
  br label %3998

3881:                                             ; preds = %3877
  call void @llvm.lifetime.start.p0(i64 8, ptr %102) #10
  store i64 0, ptr %102, align 8, !tbaa !15
  br label %3882

3882:                                             ; preds = %3991, %3881
  %3883 = load i64, ptr %102, align 8, !tbaa !15
  %3884 = icmp ult i64 %3883, 4
  br i1 %3884, label %3886, label %3885

3885:                                             ; preds = %3882
  store i32 379, ptr %101, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %102) #10
  br label %3994

3886:                                             ; preds = %3882
  call void @llvm.lifetime.start.p0(i64 8, ptr %103) #10
  store i64 0, ptr %103, align 8, !tbaa !15
  br label %3887

3887:                                             ; preds = %3987, %3886
  %3888 = load i64, ptr %103, align 8, !tbaa !15
  %3889 = icmp ule i64 %3888, 1
  br i1 %3889, label %3891, label %3890

3890:                                             ; preds = %3887
  store i32 382, ptr %101, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #10
  br label %3990

3891:                                             ; preds = %3887
  call void @llvm.lifetime.start.p0(i64 8, ptr %104) #10
  store i64 33, ptr %104, align 8, !tbaa !15
  br label %3892

3892:                                             ; preds = %3983, %3891
  %3893 = load i64, ptr %104, align 8, !tbaa !15
  %3894 = icmp ule i64 %3893, 34
  br i1 %3894, label %3896, label %3895

3895:                                             ; preds = %3892
  store i32 385, ptr %101, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %104) #10
  br label %3986

3896:                                             ; preds = %3892
  br label %3897

3897:                                             ; preds = %3896
  %3898 = load i32, ptr @test_count, align 4, !tbaa !5
  %3899 = add nsw i32 %3898, 1
  store i32 %3899, ptr @test_count, align 4, !tbaa !5
  %3900 = load i64, ptr %99, align 8, !tbaa !15
  %3901 = icmp ult i64 %3900, 100
  br i1 %3901, label %3955, label %3902

3902:                                             ; preds = %3897
  br label %3903

3903:                                             ; preds = %3902
  br label %3904

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

3911:                                             ; preds = %3904
  %3912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3913 = call i32 @fileno(ptr noundef %3912) #10
  %3914 = call i32 @isatty(i32 noundef %3913) #10
  %3915 = icmp ne i32 %3914, 0
  br i1 %3915, label %3916, label %3933

3916:                                             ; preds = %3911
  %3917 = load i32, ptr %105, align 4, !tbaa !5
  %3918 = call ptr @__errno_location() #11
  store i32 %3917, ptr %3918, align 4, !tbaa !5
  %3919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3920 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3922, ptr noundef @.str.52)
  %3924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3925 = load i32, ptr %3924, align 4, !tbaa !5
  %3926 = call ptr @s2n_strerror_debug(i32 noundef %3925, ptr noundef @.str.52)
  %3927 = call ptr @__errno_location() #11
  %3928 = load i32, ptr %3927, align 4, !tbaa !5
  %3929 = call ptr @strerror(i32 noundef %3928) #10
  %3930 = call ptr @__errno_location() #11
  %3931 = load i32, ptr %3930, align 4, !tbaa !5
  %3932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3919, ptr noundef @.str.49, i32 noundef %3920, ptr noundef @.str.184, ptr noundef @.str.51, i32 noundef 473, ptr noundef %3923, ptr noundef %3926, ptr noundef %3929, i32 noundef %3931) #10
  br label %3950

3933:                                             ; preds = %3911, %3904
  %3934 = load i32, ptr %105, align 4, !tbaa !5
  %3935 = call ptr @__errno_location() #11
  store i32 %3934, ptr %3935, align 4, !tbaa !5
  %3936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3937 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3939, ptr noundef @.str.52)
  %3941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3942 = load i32, ptr %3941, align 4, !tbaa !5
  %3943 = call ptr @s2n_strerror_debug(i32 noundef %3942, ptr noundef @.str.52)
  %3944 = call ptr @__errno_location() #11
  %3945 = load i32, ptr %3944, align 4, !tbaa !5
  %3946 = call ptr @strerror(i32 noundef %3945) #10
  %3947 = call ptr @__errno_location() #11
  %3948 = load i32, ptr %3947, align 4, !tbaa !5
  %3949 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3936, ptr noundef @.str.53, i32 noundef %3937, ptr noundef @.str.184, ptr noundef @.str.51, i32 noundef 473, ptr noundef %3940, ptr noundef %3943, ptr noundef %3946, i32 noundef %3948) #10
  br label %3950

3950:                                             ; preds = %3933, %3916
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #10
  br label %3951

3951:                                             ; preds = %3950
  br label %3952

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

3953:                                             ; No predecessors!
  br label %3954

3954:                                             ; preds = %3953
  br label %3955

3955:                                             ; preds = %3954, %3897
  br label %3956

3956:                                             ; preds = %3955
  br label %3957

3957:                                             ; preds = %3956
  %3958 = load i64, ptr %100, align 8, !tbaa !15
  %3959 = getelementptr inbounds [4 x i32], ptr %97, i64 0, i64 %3958
  %3960 = load i32, ptr %3959, align 4, !tbaa !5
  %3961 = load i64, ptr %99, align 8, !tbaa !15
  %3962 = getelementptr inbounds [100 x %struct.anon], ptr %98, i64 0, i64 %3961
  %3963 = getelementptr inbounds %struct.anon, ptr %3962, i32 0, i32 0
  store i32 %3960, ptr %3963, align 4, !tbaa !17
  %3964 = load i64, ptr %102, align 8, !tbaa !15
  %3965 = getelementptr inbounds [4 x i32], ptr %97, i64 0, i64 %3964
  %3966 = load i32, ptr %3965, align 4, !tbaa !5
  %3967 = load i64, ptr %99, align 8, !tbaa !15
  %3968 = getelementptr inbounds [100 x %struct.anon], ptr %98, i64 0, i64 %3967
  %3969 = getelementptr inbounds %struct.anon, ptr %3968, i32 0, i32 1
  store i32 %3966, ptr %3969, align 4, !tbaa !19
  %3970 = load i64, ptr %103, align 8, !tbaa !15
  %3971 = icmp eq i64 %3970, 1
  %3972 = load i64, ptr %99, align 8, !tbaa !15
  %3973 = getelementptr inbounds [100 x %struct.anon], ptr %98, i64 0, i64 %3972
  %3974 = getelementptr inbounds %struct.anon, ptr %3973, i32 0, i32 2
  %3975 = zext i1 %3971 to i8
  store i8 %3975, ptr %3974, align 4, !tbaa !20
  %3976 = load i64, ptr %104, align 8, !tbaa !15
  %3977 = trunc i64 %3976 to i8
  %3978 = load i64, ptr %99, align 8, !tbaa !15
  %3979 = getelementptr inbounds [100 x %struct.anon], ptr %98, i64 0, i64 %3978
  %3980 = getelementptr inbounds %struct.anon, ptr %3979, i32 0, i32 3
  store i8 %3977, ptr %3980, align 1, !tbaa !21
  %3981 = load i64, ptr %99, align 8, !tbaa !15
  %3982 = add i64 %3981, 1
  store i64 %3982, ptr %99, align 8, !tbaa !15
  br label %3983

3983:                                             ; preds = %3957
  %3984 = load i64, ptr %104, align 8, !tbaa !15
  %3985 = add i64 %3984, 1
  store i64 %3985, ptr %104, align 8, !tbaa !15
  br label %3892, !llvm.loop !22

3986:                                             ; preds = %3895
  br label %3987

3987:                                             ; preds = %3986
  %3988 = load i64, ptr %103, align 8, !tbaa !15
  %3989 = add i64 %3988, 1
  store i64 %3989, ptr %103, align 8, !tbaa !15
  br label %3887, !llvm.loop !24

3990:                                             ; preds = %3890
  br label %3991

3991:                                             ; preds = %3990
  %3992 = load i64, ptr %102, align 8, !tbaa !15
  %3993 = add i64 %3992, 1
  store i64 %3993, ptr %102, align 8, !tbaa !15
  br label %3882, !llvm.loop !25

3994:                                             ; preds = %3885
  br label %3995

3995:                                             ; preds = %3994
  %3996 = load i64, ptr %100, align 8, !tbaa !15
  %3997 = add i64 %3996, 1
  store i64 %3997, ptr %100, align 8, !tbaa !15
  br label %3877, !llvm.loop !26

3998:                                             ; preds = %3880
  call void @llvm.lifetime.start.p0(i64 8, ptr %106) #10
  store i64 0, ptr %106, align 8, !tbaa !15
  br label %3999

3999:                                             ; preds = %5138, %3998
  %4000 = load i64, ptr %106, align 8, !tbaa !15
  %4001 = load i64, ptr %99, align 8, !tbaa !15
  %4002 = icmp ult i64 %4000, %4001
  br i1 %4002, label %4004, label %4003

4003:                                             ; preds = %3999
  store i32 394, ptr %101, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %106) #10
  br label %5141

4004:                                             ; preds = %3999
  call void @llvm.lifetime.start.p0(i64 8, ptr %107) #10
  %4005 = call ptr @s2n_config_new()
  store ptr %4005, ptr %107, align 8, !tbaa !9
  br label %4006

4006:                                             ; preds = %4004
  %4007 = load i32, ptr @test_count, align 4, !tbaa !5
  %4008 = add nsw i32 %4007, 1
  store i32 %4008, ptr @test_count, align 4, !tbaa !5
  %4009 = load ptr, ptr %107, align 8, !tbaa !9
  %4010 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %4009)
  %4011 = icmp eq i32 %4010, -1
  br i1 %4011, label %4012, label %4065

4012:                                             ; preds = %4006
  br label %4013

4013:                                             ; preds = %4012
  br label %4014

4014:                                             ; preds = %4013
  call void @llvm.lifetime.start.p0(i64 4, ptr %108) #10
  %4015 = call ptr @__errno_location() #11
  %4016 = load i32, ptr %4015, align 4, !tbaa !5
  store i32 %4016, ptr %108, align 4, !tbaa !5
  %4017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4018 = call i32 @s2n_print_stacktrace(ptr noundef %4017)
  %4019 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4020 = trunc i8 %4019 to i1
  br i1 %4020, label %4021, label %4043

4021:                                             ; preds = %4014
  %4022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4023 = call i32 @fileno(ptr noundef %4022) #10
  %4024 = call i32 @isatty(i32 noundef %4023) #10
  %4025 = icmp ne i32 %4024, 0
  br i1 %4025, label %4026, label %4043

4026:                                             ; preds = %4021
  %4027 = load i32, ptr %108, align 4, !tbaa !5
  %4028 = call ptr @__errno_location() #11
  store i32 %4027, ptr %4028, align 4, !tbaa !5
  %4029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4030 = load i32, ptr @test_count, align 4, !tbaa !5
  %4031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4032 = load i32, ptr %4031, align 4, !tbaa !5
  %4033 = call ptr @s2n_strerror(i32 noundef %4032, ptr noundef @.str.52)
  %4034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4035 = load i32, ptr %4034, align 4, !tbaa !5
  %4036 = call ptr @s2n_strerror_debug(i32 noundef %4035, ptr noundef @.str.52)
  %4037 = call ptr @__errno_location() #11
  %4038 = load i32, ptr %4037, align 4, !tbaa !5
  %4039 = call ptr @strerror(i32 noundef %4038) #10
  %4040 = call ptr @__errno_location() #11
  %4041 = load i32, ptr %4040, align 4, !tbaa !5
  %4042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4029, ptr noundef @.str.49, i32 noundef %4030, ptr noundef @.str.76, ptr noundef @.str.51, i32 noundef 486, ptr noundef %4033, ptr noundef %4036, ptr noundef %4039, i32 noundef %4041) #10
  br label %4060

4043:                                             ; preds = %4021, %4014
  %4044 = load i32, ptr %108, align 4, !tbaa !5
  %4045 = call ptr @__errno_location() #11
  store i32 %4044, ptr %4045, align 4, !tbaa !5
  %4046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4047 = load i32, ptr @test_count, align 4, !tbaa !5
  %4048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4049 = load i32, ptr %4048, align 4, !tbaa !5
  %4050 = call ptr @s2n_strerror(i32 noundef %4049, ptr noundef @.str.52)
  %4051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4052 = load i32, ptr %4051, align 4, !tbaa !5
  %4053 = call ptr @s2n_strerror_debug(i32 noundef %4052, ptr noundef @.str.52)
  %4054 = call ptr @__errno_location() #11
  %4055 = load i32, ptr %4054, align 4, !tbaa !5
  %4056 = call ptr @strerror(i32 noundef %4055) #10
  %4057 = call ptr @__errno_location() #11
  %4058 = load i32, ptr %4057, align 4, !tbaa !5
  %4059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4046, ptr noundef @.str.53, i32 noundef %4047, ptr noundef @.str.76, ptr noundef @.str.51, i32 noundef 486, ptr noundef %4050, ptr noundef %4053, ptr noundef %4056, i32 noundef %4058) #10
  br label %4060

4060:                                             ; preds = %4043, %4026
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #10
  br label %4061

4061:                                             ; preds = %4060
  br label %4062

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

4063:                                             ; No predecessors!
  br label %4064

4064:                                             ; preds = %4063
  br label %4065

4065:                                             ; preds = %4064, %4006
  br label %4066

4066:                                             ; preds = %4065
  br label %4067

4067:                                             ; preds = %4066
  %4068 = load i64, ptr %106, align 8, !tbaa !15
  %4069 = getelementptr inbounds [100 x %struct.anon], ptr %98, i64 0, i64 %4068
  %4070 = getelementptr inbounds %struct.anon, ptr %4069, i32 0, i32 2
  %4071 = load i8, ptr %4070, align 4, !tbaa !20, !range !13, !noundef !14
  %4072 = trunc i8 %4071 to i1
  br i1 %4072, label %4073, label %4137

4073:                                             ; preds = %4067
  br label %4074

4074:                                             ; preds = %4073
  %4075 = load i32, ptr @test_count, align 4, !tbaa !5
  %4076 = add nsw i32 %4075, 1
  store i32 %4076, ptr @test_count, align 4, !tbaa !5
  %4077 = load ptr, ptr %107, align 8, !tbaa !9
  %4078 = load ptr, ptr %12, align 8, !tbaa !9
  %4079 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %4077, ptr noundef %4078)
  %4080 = icmp eq i32 %4079, -1
  br i1 %4080, label %4081, label %4134

4081:                                             ; preds = %4074
  br label %4082

4082:                                             ; preds = %4081
  br label %4083

4083:                                             ; preds = %4082
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #10
  %4084 = call ptr @__errno_location() #11
  %4085 = load i32, ptr %4084, align 4, !tbaa !5
  store i32 %4085, ptr %109, align 4, !tbaa !5
  %4086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4087 = call i32 @s2n_print_stacktrace(ptr noundef %4086)
  %4088 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4089 = trunc i8 %4088 to i1
  br i1 %4089, label %4090, label %4112

4090:                                             ; preds = %4083
  %4091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4092 = call i32 @fileno(ptr noundef %4091) #10
  %4093 = call i32 @isatty(i32 noundef %4092) #10
  %4094 = icmp ne i32 %4093, 0
  br i1 %4094, label %4095, label %4112

4095:                                             ; preds = %4090
  %4096 = load i32, ptr %109, align 4, !tbaa !5
  %4097 = call ptr @__errno_location() #11
  store i32 %4096, ptr %4097, align 4, !tbaa !5
  %4098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4099 = load i32, ptr @test_count, align 4, !tbaa !5
  %4100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4101 = load i32, ptr %4100, align 4, !tbaa !5
  %4102 = call ptr @s2n_strerror(i32 noundef %4101, ptr noundef @.str.52)
  %4103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4104 = load i32, ptr %4103, align 4, !tbaa !5
  %4105 = call ptr @s2n_strerror_debug(i32 noundef %4104, ptr noundef @.str.52)
  %4106 = call ptr @__errno_location() #11
  %4107 = load i32, ptr %4106, align 4, !tbaa !5
  %4108 = call ptr @strerror(i32 noundef %4107) #10
  %4109 = call ptr @__errno_location() #11
  %4110 = load i32, ptr %4109, align 4, !tbaa !5
  %4111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4098, ptr noundef @.str.49, i32 noundef %4099, ptr noundef @.str.185, ptr noundef @.str.51, i32 noundef 488, ptr noundef %4102, ptr noundef %4105, ptr noundef %4108, i32 noundef %4110) #10
  br label %4129

4112:                                             ; preds = %4090, %4083
  %4113 = load i32, ptr %109, align 4, !tbaa !5
  %4114 = call ptr @__errno_location() #11
  store i32 %4113, ptr %4114, align 4, !tbaa !5
  %4115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4116 = load i32, ptr @test_count, align 4, !tbaa !5
  %4117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4118 = load i32, ptr %4117, align 4, !tbaa !5
  %4119 = call ptr @s2n_strerror(i32 noundef %4118, ptr noundef @.str.52)
  %4120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4121 = load i32, ptr %4120, align 4, !tbaa !5
  %4122 = call ptr @s2n_strerror_debug(i32 noundef %4121, ptr noundef @.str.52)
  %4123 = call ptr @__errno_location() #11
  %4124 = load i32, ptr %4123, align 4, !tbaa !5
  %4125 = call ptr @strerror(i32 noundef %4124) #10
  %4126 = call ptr @__errno_location() #11
  %4127 = load i32, ptr %4126, align 4, !tbaa !5
  %4128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4115, ptr noundef @.str.53, i32 noundef %4116, ptr noundef @.str.185, ptr noundef @.str.51, i32 noundef 488, ptr noundef %4119, ptr noundef %4122, ptr noundef %4125, i32 noundef %4127) #10
  br label %4129

4129:                                             ; preds = %4112, %4095
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #10
  br label %4130

4130:                                             ; preds = %4129
  br label %4131

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

4132:                                             ; No predecessors!
  br label %4133

4133:                                             ; preds = %4132
  br label %4134

4134:                                             ; preds = %4133, %4074
  br label %4135

4135:                                             ; preds = %4134
  br label %4136

4136:                                             ; preds = %4135
  br label %4137

4137:                                             ; preds = %4136, %4067
  call void @llvm.lifetime.start.p0(i64 8, ptr %110) #10
  %4138 = call ptr @s2n_config_new()
  store ptr %4138, ptr %110, align 8, !tbaa !9
  br label %4139

4139:                                             ; preds = %4137
  %4140 = load i32, ptr @test_count, align 4, !tbaa !5
  %4141 = add nsw i32 %4140, 1
  store i32 %4141, ptr @test_count, align 4, !tbaa !5
  %4142 = load ptr, ptr %110, align 8, !tbaa !9
  %4143 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %4142)
  %4144 = icmp eq i32 %4143, -1
  br i1 %4144, label %4145, label %4198

4145:                                             ; preds = %4139
  br label %4146

4146:                                             ; preds = %4145
  br label %4147

4147:                                             ; preds = %4146
  call void @llvm.lifetime.start.p0(i64 4, ptr %111) #10
  %4148 = call ptr @__errno_location() #11
  %4149 = load i32, ptr %4148, align 4, !tbaa !5
  store i32 %4149, ptr %111, align 4, !tbaa !5
  %4150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4151 = call i32 @s2n_print_stacktrace(ptr noundef %4150)
  %4152 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4153 = trunc i8 %4152 to i1
  br i1 %4153, label %4154, label %4176

4154:                                             ; preds = %4147
  %4155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4156 = call i32 @fileno(ptr noundef %4155) #10
  %4157 = call i32 @isatty(i32 noundef %4156) #10
  %4158 = icmp ne i32 %4157, 0
  br i1 %4158, label %4159, label %4176

4159:                                             ; preds = %4154
  %4160 = load i32, ptr %111, align 4, !tbaa !5
  %4161 = call ptr @__errno_location() #11
  store i32 %4160, ptr %4161, align 4, !tbaa !5
  %4162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4163 = load i32, ptr @test_count, align 4, !tbaa !5
  %4164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4165 = load i32, ptr %4164, align 4, !tbaa !5
  %4166 = call ptr @s2n_strerror(i32 noundef %4165, ptr noundef @.str.52)
  %4167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4168 = load i32, ptr %4167, align 4, !tbaa !5
  %4169 = call ptr @s2n_strerror_debug(i32 noundef %4168, ptr noundef @.str.52)
  %4170 = call ptr @__errno_location() #11
  %4171 = load i32, ptr %4170, align 4, !tbaa !5
  %4172 = call ptr @strerror(i32 noundef %4171) #10
  %4173 = call ptr @__errno_location() #11
  %4174 = load i32, ptr %4173, align 4, !tbaa !5
  %4175 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4162, ptr noundef @.str.49, i32 noundef %4163, ptr noundef @.str.186, ptr noundef @.str.51, i32 noundef 492, ptr noundef %4166, ptr noundef %4169, ptr noundef %4172, i32 noundef %4174) #10
  br label %4193

4176:                                             ; preds = %4154, %4147
  %4177 = load i32, ptr %111, align 4, !tbaa !5
  %4178 = call ptr @__errno_location() #11
  store i32 %4177, ptr %4178, align 4, !tbaa !5
  %4179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4180 = load i32, ptr @test_count, align 4, !tbaa !5
  %4181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4182 = load i32, ptr %4181, align 4, !tbaa !5
  %4183 = call ptr @s2n_strerror(i32 noundef %4182, ptr noundef @.str.52)
  %4184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4185 = load i32, ptr %4184, align 4, !tbaa !5
  %4186 = call ptr @s2n_strerror_debug(i32 noundef %4185, ptr noundef @.str.52)
  %4187 = call ptr @__errno_location() #11
  %4188 = load i32, ptr %4187, align 4, !tbaa !5
  %4189 = call ptr @strerror(i32 noundef %4188) #10
  %4190 = call ptr @__errno_location() #11
  %4191 = load i32, ptr %4190, align 4, !tbaa !5
  %4192 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4179, ptr noundef @.str.53, i32 noundef %4180, ptr noundef @.str.186, ptr noundef @.str.51, i32 noundef 492, ptr noundef %4183, ptr noundef %4186, ptr noundef %4189, i32 noundef %4191) #10
  br label %4193

4193:                                             ; preds = %4176, %4159
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #10
  br label %4194

4194:                                             ; preds = %4193
  br label %4195

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

4196:                                             ; No predecessors!
  br label %4197

4197:                                             ; preds = %4196
  br label %4198

4198:                                             ; preds = %4197, %4139
  br label %4199

4199:                                             ; preds = %4198
  br label %4200

4200:                                             ; preds = %4199
  br label %4201

4201:                                             ; preds = %4200
  %4202 = load i32, ptr @test_count, align 4, !tbaa !5
  %4203 = add nsw i32 %4202, 1
  store i32 %4203, ptr @test_count, align 4, !tbaa !5
  %4204 = load ptr, ptr %110, align 8, !tbaa !9
  %4205 = load ptr, ptr %12, align 8, !tbaa !9
  %4206 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %4204, ptr noundef %4205)
  %4207 = icmp eq i32 %4206, -1
  br i1 %4207, label %4208, label %4261

4208:                                             ; preds = %4201
  br label %4209

4209:                                             ; preds = %4208
  br label %4210

4210:                                             ; preds = %4209
  call void @llvm.lifetime.start.p0(i64 4, ptr %112) #10
  %4211 = call ptr @__errno_location() #11
  %4212 = load i32, ptr %4211, align 4, !tbaa !5
  store i32 %4212, ptr %112, align 4, !tbaa !5
  %4213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4214 = call i32 @s2n_print_stacktrace(ptr noundef %4213)
  %4215 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4216 = trunc i8 %4215 to i1
  br i1 %4216, label %4217, label %4239

4217:                                             ; preds = %4210
  %4218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4219 = call i32 @fileno(ptr noundef %4218) #10
  %4220 = call i32 @isatty(i32 noundef %4219) #10
  %4221 = icmp ne i32 %4220, 0
  br i1 %4221, label %4222, label %4239

4222:                                             ; preds = %4217
  %4223 = load i32, ptr %112, align 4, !tbaa !5
  %4224 = call ptr @__errno_location() #11
  store i32 %4223, ptr %4224, align 4, !tbaa !5
  %4225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4226 = load i32, ptr @test_count, align 4, !tbaa !5
  %4227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4228 = load i32, ptr %4227, align 4, !tbaa !5
  %4229 = call ptr @s2n_strerror(i32 noundef %4228, ptr noundef @.str.52)
  %4230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4231 = load i32, ptr %4230, align 4, !tbaa !5
  %4232 = call ptr @s2n_strerror_debug(i32 noundef %4231, ptr noundef @.str.52)
  %4233 = call ptr @__errno_location() #11
  %4234 = load i32, ptr %4233, align 4, !tbaa !5
  %4235 = call ptr @strerror(i32 noundef %4234) #10
  %4236 = call ptr @__errno_location() #11
  %4237 = load i32, ptr %4236, align 4, !tbaa !5
  %4238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4225, ptr noundef @.str.49, i32 noundef %4226, ptr noundef @.str.181, ptr noundef @.str.51, i32 noundef 493, ptr noundef %4229, ptr noundef %4232, ptr noundef %4235, i32 noundef %4237) #10
  br label %4256

4239:                                             ; preds = %4217, %4210
  %4240 = load i32, ptr %112, align 4, !tbaa !5
  %4241 = call ptr @__errno_location() #11
  store i32 %4240, ptr %4241, align 4, !tbaa !5
  %4242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4243 = load i32, ptr @test_count, align 4, !tbaa !5
  %4244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4245 = load i32, ptr %4244, align 4, !tbaa !5
  %4246 = call ptr @s2n_strerror(i32 noundef %4245, ptr noundef @.str.52)
  %4247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4248 = load i32, ptr %4247, align 4, !tbaa !5
  %4249 = call ptr @s2n_strerror_debug(i32 noundef %4248, ptr noundef @.str.52)
  %4250 = call ptr @__errno_location() #11
  %4251 = load i32, ptr %4250, align 4, !tbaa !5
  %4252 = call ptr @strerror(i32 noundef %4251) #10
  %4253 = call ptr @__errno_location() #11
  %4254 = load i32, ptr %4253, align 4, !tbaa !5
  %4255 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4242, ptr noundef @.str.53, i32 noundef %4243, ptr noundef @.str.181, ptr noundef @.str.51, i32 noundef 493, ptr noundef %4246, ptr noundef %4249, ptr noundef %4252, i32 noundef %4254) #10
  br label %4256

4256:                                             ; preds = %4239, %4222
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #10
  br label %4257

4257:                                             ; preds = %4256
  br label %4258

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

4259:                                             ; No predecessors!
  br label %4260

4260:                                             ; preds = %4259
  br label %4261

4261:                                             ; preds = %4260, %4201
  br label %4262

4262:                                             ; preds = %4261
  br label %4263

4263:                                             ; preds = %4262
  call void @llvm.lifetime.start.p0(i64 8, ptr %113) #10
  %4264 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %4264, ptr %113, align 8, !tbaa !9
  br label %4265

4265:                                             ; preds = %4263
  %4266 = load i32, ptr @test_count, align 4, !tbaa !5
  %4267 = add nsw i32 %4266, 1
  store i32 %4267, ptr @test_count, align 4, !tbaa !5
  %4268 = load ptr, ptr %113, align 8, !tbaa !9
  %4269 = icmp eq ptr %4268, null
  br i1 %4269, label %4270, label %4323

4270:                                             ; preds = %4265
  br label %4271

4271:                                             ; preds = %4270
  br label %4272

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

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

4284:                                             ; preds = %4279
  %4285 = load i32, ptr %114, align 4, !tbaa !5
  %4286 = call ptr @__errno_location() #11
  store i32 %4285, ptr %4286, align 4, !tbaa !5
  %4287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4288 = load i32, ptr @test_count, align 4, !tbaa !5
  %4289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4290 = load i32, ptr %4289, align 4, !tbaa !5
  %4291 = call ptr @s2n_strerror(i32 noundef %4290, ptr noundef @.str.52)
  %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_debug(i32 noundef %4293, ptr noundef @.str.52)
  %4295 = call ptr @__errno_location() #11
  %4296 = load i32, ptr %4295, align 4, !tbaa !5
  %4297 = call ptr @strerror(i32 noundef %4296) #10
  %4298 = call ptr @__errno_location() #11
  %4299 = load i32, ptr %4298, align 4, !tbaa !5
  %4300 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4287, ptr noundef @.str.49, i32 noundef %4288, ptr noundef @.str.165, ptr noundef @.str.51, i32 noundef 497, ptr noundef %4291, ptr noundef %4294, ptr noundef %4297, i32 noundef %4299) #10
  br label %4318

4301:                                             ; preds = %4279, %4272
  %4302 = load i32, ptr %114, align 4, !tbaa !5
  %4303 = call ptr @__errno_location() #11
  store i32 %4302, ptr %4303, align 4, !tbaa !5
  %4304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4305 = load i32, ptr @test_count, align 4, !tbaa !5
  %4306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4307 = load i32, ptr %4306, align 4, !tbaa !5
  %4308 = call ptr @s2n_strerror(i32 noundef %4307, ptr noundef @.str.52)
  %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_debug(i32 noundef %4310, ptr noundef @.str.52)
  %4312 = call ptr @__errno_location() #11
  %4313 = load i32, ptr %4312, align 4, !tbaa !5
  %4314 = call ptr @strerror(i32 noundef %4313) #10
  %4315 = call ptr @__errno_location() #11
  %4316 = load i32, ptr %4315, align 4, !tbaa !5
  %4317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4304, ptr noundef @.str.53, i32 noundef %4305, ptr noundef @.str.165, ptr noundef @.str.51, i32 noundef 497, ptr noundef %4308, ptr noundef %4311, ptr noundef %4314, i32 noundef %4316) #10
  br label %4318

4318:                                             ; preds = %4301, %4284
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #10
  br label %4319

4319:                                             ; preds = %4318
  br label %4320

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

4321:                                             ; No predecessors!
  br label %4322

4322:                                             ; preds = %4321
  br label %4323

4323:                                             ; preds = %4322, %4265
  br label %4324

4324:                                             ; preds = %4323
  br label %4325

4325:                                             ; preds = %4324
  br label %4326

4326:                                             ; preds = %4325
  %4327 = load i32, ptr @test_count, align 4, !tbaa !5
  %4328 = add nsw i32 %4327, 1
  store i32 %4328, ptr @test_count, align 4, !tbaa !5
  %4329 = load ptr, ptr %113, align 8, !tbaa !9
  %4330 = call i32 @s2n_connection_set_blinding(ptr noundef %4329, i32 noundef 1)
  %4331 = icmp eq i32 %4330, -1
  br i1 %4331, label %4332, label %4385

4332:                                             ; preds = %4326
  br label %4333

4333:                                             ; preds = %4332
  br label %4334

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

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

4346:                                             ; preds = %4341
  %4347 = load i32, ptr %115, align 4, !tbaa !5
  %4348 = call ptr @__errno_location() #11
  store i32 %4347, ptr %4348, align 4, !tbaa !5
  %4349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4350 = load i32, ptr @test_count, align 4, !tbaa !5
  %4351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4352 = load i32, ptr %4351, align 4, !tbaa !5
  %4353 = call ptr @s2n_strerror(i32 noundef %4352, ptr noundef @.str.52)
  %4354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4355 = load i32, ptr %4354, align 4, !tbaa !5
  %4356 = call ptr @s2n_strerror_debug(i32 noundef %4355, ptr noundef @.str.52)
  %4357 = call ptr @__errno_location() #11
  %4358 = load i32, ptr %4357, align 4, !tbaa !5
  %4359 = call ptr @strerror(i32 noundef %4358) #10
  %4360 = call ptr @__errno_location() #11
  %4361 = load i32, ptr %4360, align 4, !tbaa !5
  %4362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4349, ptr noundef @.str.49, i32 noundef %4350, ptr noundef @.str.176, ptr noundef @.str.51, i32 noundef 498, ptr noundef %4353, ptr noundef %4356, ptr noundef %4359, i32 noundef %4361) #10
  br label %4380

4363:                                             ; preds = %4341, %4334
  %4364 = load i32, ptr %115, align 4, !tbaa !5
  %4365 = call ptr @__errno_location() #11
  store i32 %4364, ptr %4365, align 4, !tbaa !5
  %4366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4367 = load i32, ptr @test_count, align 4, !tbaa !5
  %4368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4369 = load i32, ptr %4368, align 4, !tbaa !5
  %4370 = call ptr @s2n_strerror(i32 noundef %4369, ptr noundef @.str.52)
  %4371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4372 = load i32, ptr %4371, align 4, !tbaa !5
  %4373 = call ptr @s2n_strerror_debug(i32 noundef %4372, ptr noundef @.str.52)
  %4374 = call ptr @__errno_location() #11
  %4375 = load i32, ptr %4374, align 4, !tbaa !5
  %4376 = call ptr @strerror(i32 noundef %4375) #10
  %4377 = call ptr @__errno_location() #11
  %4378 = load i32, ptr %4377, align 4, !tbaa !5
  %4379 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4366, ptr noundef @.str.53, i32 noundef %4367, ptr noundef @.str.176, ptr noundef @.str.51, i32 noundef 498, ptr noundef %4370, ptr noundef %4373, ptr noundef %4376, i32 noundef %4378) #10
  br label %4380

4380:                                             ; preds = %4363, %4346
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #10
  br label %4381

4381:                                             ; preds = %4380
  br label %4382

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

4383:                                             ; No predecessors!
  br label %4384

4384:                                             ; preds = %4383
  br label %4385

4385:                                             ; preds = %4384, %4326
  br label %4386

4386:                                             ; preds = %4385
  br label %4387

4387:                                             ; preds = %4386
  br label %4388

4388:                                             ; preds = %4387
  %4389 = load i32, ptr @test_count, align 4, !tbaa !5
  %4390 = add nsw i32 %4389, 1
  store i32 %4390, ptr @test_count, align 4, !tbaa !5
  %4391 = load ptr, ptr %113, align 8, !tbaa !9
  %4392 = load ptr, ptr %107, align 8, !tbaa !9
  %4393 = call i32 @s2n_connection_set_config(ptr noundef %4391, ptr noundef %4392)
  %4394 = icmp eq i32 %4393, -1
  br i1 %4394, label %4395, label %4448

4395:                                             ; preds = %4388
  br label %4396

4396:                                             ; preds = %4395
  br label %4397

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

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

4409:                                             ; preds = %4404
  %4410 = load i32, ptr %116, align 4, !tbaa !5
  %4411 = call ptr @__errno_location() #11
  store i32 %4410, ptr %4411, align 4, !tbaa !5
  %4412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4413 = load i32, ptr @test_count, align 4, !tbaa !5
  %4414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4415 = load i32, ptr %4414, align 4, !tbaa !5
  %4416 = call ptr @s2n_strerror(i32 noundef %4415, ptr noundef @.str.52)
  %4417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4418 = load i32, ptr %4417, align 4, !tbaa !5
  %4419 = call ptr @s2n_strerror_debug(i32 noundef %4418, ptr noundef @.str.52)
  %4420 = call ptr @__errno_location() #11
  %4421 = load i32, ptr %4420, align 4, !tbaa !5
  %4422 = call ptr @strerror(i32 noundef %4421) #10
  %4423 = call ptr @__errno_location() #11
  %4424 = load i32, ptr %4423, align 4, !tbaa !5
  %4425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4412, ptr noundef @.str.49, i32 noundef %4413, ptr noundef @.str.180, ptr noundef @.str.51, i32 noundef 499, ptr noundef %4416, ptr noundef %4419, ptr noundef %4422, i32 noundef %4424) #10
  br label %4443

4426:                                             ; preds = %4404, %4397
  %4427 = load i32, ptr %116, align 4, !tbaa !5
  %4428 = call ptr @__errno_location() #11
  store i32 %4427, ptr %4428, align 4, !tbaa !5
  %4429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4430 = load i32, ptr @test_count, align 4, !tbaa !5
  %4431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4432 = load i32, ptr %4431, align 4, !tbaa !5
  %4433 = call ptr @s2n_strerror(i32 noundef %4432, ptr noundef @.str.52)
  %4434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4435 = load i32, ptr %4434, align 4, !tbaa !5
  %4436 = call ptr @s2n_strerror_debug(i32 noundef %4435, ptr noundef @.str.52)
  %4437 = call ptr @__errno_location() #11
  %4438 = load i32, ptr %4437, align 4, !tbaa !5
  %4439 = call ptr @strerror(i32 noundef %4438) #10
  %4440 = call ptr @__errno_location() #11
  %4441 = load i32, ptr %4440, align 4, !tbaa !5
  %4442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4429, ptr noundef @.str.53, i32 noundef %4430, ptr noundef @.str.180, ptr noundef @.str.51, i32 noundef 499, ptr noundef %4433, ptr noundef %4436, ptr noundef %4439, i32 noundef %4441) #10
  br label %4443

4443:                                             ; preds = %4426, %4409
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #10
  br label %4444

4444:                                             ; preds = %4443
  br label %4445

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

4446:                                             ; No predecessors!
  br label %4447

4447:                                             ; preds = %4446
  br label %4448

4448:                                             ; preds = %4447, %4388
  br label %4449

4449:                                             ; preds = %4448
  br label %4450

4450:                                             ; preds = %4449
  call void @llvm.lifetime.start.p0(i64 8, ptr %117) #10
  %4451 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %4451, ptr %117, align 8, !tbaa !9
  br label %4452

4452:                                             ; preds = %4450
  %4453 = load i32, ptr @test_count, align 4, !tbaa !5
  %4454 = add nsw i32 %4453, 1
  store i32 %4454, ptr @test_count, align 4, !tbaa !5
  %4455 = load ptr, ptr %117, align 8, !tbaa !9
  %4456 = icmp eq ptr %4455, null
  br i1 %4456, label %4457, label %4510

4457:                                             ; preds = %4452
  br label %4458

4458:                                             ; preds = %4457
  br label %4459

4459:                                             ; preds = %4458
  call void @llvm.lifetime.start.p0(i64 4, ptr %118) #10
  %4460 = call ptr @__errno_location() #11
  %4461 = load i32, ptr %4460, align 4, !tbaa !5
  store i32 %4461, ptr %118, align 4, !tbaa !5
  %4462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4463 = call i32 @s2n_print_stacktrace(ptr noundef %4462)
  %4464 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4465 = trunc i8 %4464 to i1
  br i1 %4465, label %4466, label %4488

4466:                                             ; preds = %4459
  %4467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4468 = call i32 @fileno(ptr noundef %4467) #10
  %4469 = call i32 @isatty(i32 noundef %4468) #10
  %4470 = icmp ne i32 %4469, 0
  br i1 %4470, label %4471, label %4488

4471:                                             ; preds = %4466
  %4472 = load i32, ptr %118, align 4, !tbaa !5
  %4473 = call ptr @__errno_location() #11
  store i32 %4472, ptr %4473, align 4, !tbaa !5
  %4474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4475 = load i32, ptr @test_count, align 4, !tbaa !5
  %4476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4477 = load i32, ptr %4476, align 4, !tbaa !5
  %4478 = call ptr @s2n_strerror(i32 noundef %4477, ptr noundef @.str.52)
  %4479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4480 = load i32, ptr %4479, align 4, !tbaa !5
  %4481 = call ptr @s2n_strerror_debug(i32 noundef %4480, ptr noundef @.str.52)
  %4482 = call ptr @__errno_location() #11
  %4483 = load i32, ptr %4482, align 4, !tbaa !5
  %4484 = call ptr @strerror(i32 noundef %4483) #10
  %4485 = call ptr @__errno_location() #11
  %4486 = load i32, ptr %4485, align 4, !tbaa !5
  %4487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4474, ptr noundef @.str.49, i32 noundef %4475, ptr noundef @.str.167, ptr noundef @.str.51, i32 noundef 503, ptr noundef %4478, ptr noundef %4481, ptr noundef %4484, i32 noundef %4486) #10
  br label %4505

4488:                                             ; preds = %4466, %4459
  %4489 = load i32, ptr %118, align 4, !tbaa !5
  %4490 = call ptr @__errno_location() #11
  store i32 %4489, ptr %4490, align 4, !tbaa !5
  %4491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4492 = load i32, ptr @test_count, align 4, !tbaa !5
  %4493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4494 = load i32, ptr %4493, align 4, !tbaa !5
  %4495 = call ptr @s2n_strerror(i32 noundef %4494, ptr noundef @.str.52)
  %4496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4497 = load i32, ptr %4496, align 4, !tbaa !5
  %4498 = call ptr @s2n_strerror_debug(i32 noundef %4497, ptr noundef @.str.52)
  %4499 = call ptr @__errno_location() #11
  %4500 = load i32, ptr %4499, align 4, !tbaa !5
  %4501 = call ptr @strerror(i32 noundef %4500) #10
  %4502 = call ptr @__errno_location() #11
  %4503 = load i32, ptr %4502, align 4, !tbaa !5
  %4504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4491, ptr noundef @.str.53, i32 noundef %4492, ptr noundef @.str.167, ptr noundef @.str.51, i32 noundef 503, ptr noundef %4495, ptr noundef %4498, ptr noundef %4501, i32 noundef %4503) #10
  br label %4505

4505:                                             ; preds = %4488, %4471
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #10
  br label %4506

4506:                                             ; preds = %4505
  br label %4507

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

4508:                                             ; No predecessors!
  br label %4509

4509:                                             ; preds = %4508
  br label %4510

4510:                                             ; preds = %4509, %4452
  br label %4511

4511:                                             ; preds = %4510
  br label %4512

4512:                                             ; preds = %4511
  br label %4513

4513:                                             ; preds = %4512
  %4514 = load i32, ptr @test_count, align 4, !tbaa !5
  %4515 = add nsw i32 %4514, 1
  store i32 %4515, ptr @test_count, align 4, !tbaa !5
  %4516 = load ptr, ptr %117, align 8, !tbaa !9
  %4517 = call i32 @s2n_connection_set_blinding(ptr noundef %4516, i32 noundef 1)
  %4518 = icmp eq i32 %4517, -1
  br i1 %4518, label %4519, label %4572

4519:                                             ; preds = %4513
  br label %4520

4520:                                             ; preds = %4519
  br label %4521

4521:                                             ; preds = %4520
  call void @llvm.lifetime.start.p0(i64 4, ptr %119) #10
  %4522 = call ptr @__errno_location() #11
  %4523 = load i32, ptr %4522, align 4, !tbaa !5
  store i32 %4523, ptr %119, align 4, !tbaa !5
  %4524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4525 = call i32 @s2n_print_stacktrace(ptr noundef %4524)
  %4526 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4527 = trunc i8 %4526 to i1
  br i1 %4527, label %4528, label %4550

4528:                                             ; preds = %4521
  %4529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4530 = call i32 @fileno(ptr noundef %4529) #10
  %4531 = call i32 @isatty(i32 noundef %4530) #10
  %4532 = icmp ne i32 %4531, 0
  br i1 %4532, label %4533, label %4550

4533:                                             ; preds = %4528
  %4534 = load i32, ptr %119, align 4, !tbaa !5
  %4535 = call ptr @__errno_location() #11
  store i32 %4534, ptr %4535, align 4, !tbaa !5
  %4536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4537 = load i32, ptr @test_count, align 4, !tbaa !5
  %4538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4539 = load i32, ptr %4538, align 4, !tbaa !5
  %4540 = call ptr @s2n_strerror(i32 noundef %4539, ptr noundef @.str.52)
  %4541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4542 = load i32, ptr %4541, align 4, !tbaa !5
  %4543 = call ptr @s2n_strerror_debug(i32 noundef %4542, ptr noundef @.str.52)
  %4544 = call ptr @__errno_location() #11
  %4545 = load i32, ptr %4544, align 4, !tbaa !5
  %4546 = call ptr @strerror(i32 noundef %4545) #10
  %4547 = call ptr @__errno_location() #11
  %4548 = load i32, ptr %4547, align 4, !tbaa !5
  %4549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4536, ptr noundef @.str.49, i32 noundef %4537, ptr noundef @.str.168, ptr noundef @.str.51, i32 noundef 504, ptr noundef %4540, ptr noundef %4543, ptr noundef %4546, i32 noundef %4548) #10
  br label %4567

4550:                                             ; preds = %4528, %4521
  %4551 = load i32, ptr %119, align 4, !tbaa !5
  %4552 = call ptr @__errno_location() #11
  store i32 %4551, ptr %4552, align 4, !tbaa !5
  %4553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4554 = load i32, ptr @test_count, align 4, !tbaa !5
  %4555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4556 = load i32, ptr %4555, align 4, !tbaa !5
  %4557 = call ptr @s2n_strerror(i32 noundef %4556, ptr noundef @.str.52)
  %4558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4559 = load i32, ptr %4558, align 4, !tbaa !5
  %4560 = call ptr @s2n_strerror_debug(i32 noundef %4559, ptr noundef @.str.52)
  %4561 = call ptr @__errno_location() #11
  %4562 = load i32, ptr %4561, align 4, !tbaa !5
  %4563 = call ptr @strerror(i32 noundef %4562) #10
  %4564 = call ptr @__errno_location() #11
  %4565 = load i32, ptr %4564, align 4, !tbaa !5
  %4566 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4553, ptr noundef @.str.53, i32 noundef %4554, ptr noundef @.str.168, ptr noundef @.str.51, i32 noundef 504, ptr noundef %4557, ptr noundef %4560, ptr noundef %4563, i32 noundef %4565) #10
  br label %4567

4567:                                             ; preds = %4550, %4533
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #10
  br label %4568

4568:                                             ; preds = %4567
  br label %4569

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

4570:                                             ; No predecessors!
  br label %4571

4571:                                             ; preds = %4570
  br label %4572

4572:                                             ; preds = %4571, %4513
  br label %4573

4573:                                             ; preds = %4572
  br label %4574

4574:                                             ; preds = %4573
  br label %4575

4575:                                             ; preds = %4574
  %4576 = load i32, ptr @test_count, align 4, !tbaa !5
  %4577 = add nsw i32 %4576, 1
  store i32 %4577, ptr @test_count, align 4, !tbaa !5
  %4578 = load ptr, ptr %117, align 8, !tbaa !9
  %4579 = load ptr, ptr %110, align 8, !tbaa !9
  %4580 = call i32 @s2n_connection_set_config(ptr noundef %4578, ptr noundef %4579)
  %4581 = icmp eq i32 %4580, -1
  br i1 %4581, label %4582, label %4635

4582:                                             ; preds = %4575
  br label %4583

4583:                                             ; preds = %4582
  br label %4584

4584:                                             ; preds = %4583
  call void @llvm.lifetime.start.p0(i64 4, ptr %120) #10
  %4585 = call ptr @__errno_location() #11
  %4586 = load i32, ptr %4585, align 4, !tbaa !5
  store i32 %4586, ptr %120, align 4, !tbaa !5
  %4587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4588 = call i32 @s2n_print_stacktrace(ptr noundef %4587)
  %4589 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4590 = trunc i8 %4589 to i1
  br i1 %4590, label %4591, label %4613

4591:                                             ; preds = %4584
  %4592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4593 = call i32 @fileno(ptr noundef %4592) #10
  %4594 = call i32 @isatty(i32 noundef %4593) #10
  %4595 = icmp ne i32 %4594, 0
  br i1 %4595, label %4596, label %4613

4596:                                             ; preds = %4591
  %4597 = load i32, ptr %120, align 4, !tbaa !5
  %4598 = call ptr @__errno_location() #11
  store i32 %4597, ptr %4598, align 4, !tbaa !5
  %4599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4600 = load i32, ptr @test_count, align 4, !tbaa !5
  %4601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4602 = load i32, ptr %4601, align 4, !tbaa !5
  %4603 = call ptr @s2n_strerror(i32 noundef %4602, ptr noundef @.str.52)
  %4604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4605 = load i32, ptr %4604, align 4, !tbaa !5
  %4606 = call ptr @s2n_strerror_debug(i32 noundef %4605, ptr noundef @.str.52)
  %4607 = call ptr @__errno_location() #11
  %4608 = load i32, ptr %4607, align 4, !tbaa !5
  %4609 = call ptr @strerror(i32 noundef %4608) #10
  %4610 = call ptr @__errno_location() #11
  %4611 = load i32, ptr %4610, align 4, !tbaa !5
  %4612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4599, ptr noundef @.str.49, i32 noundef %4600, ptr noundef @.str.182, ptr noundef @.str.51, i32 noundef 505, ptr noundef %4603, ptr noundef %4606, ptr noundef %4609, i32 noundef %4611) #10
  br label %4630

4613:                                             ; preds = %4591, %4584
  %4614 = load i32, ptr %120, align 4, !tbaa !5
  %4615 = call ptr @__errno_location() #11
  store i32 %4614, ptr %4615, align 4, !tbaa !5
  %4616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4617 = load i32, ptr @test_count, align 4, !tbaa !5
  %4618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4619 = load i32, ptr %4618, align 4, !tbaa !5
  %4620 = call ptr @s2n_strerror(i32 noundef %4619, ptr noundef @.str.52)
  %4621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4622 = load i32, ptr %4621, align 4, !tbaa !5
  %4623 = call ptr @s2n_strerror_debug(i32 noundef %4622, ptr noundef @.str.52)
  %4624 = call ptr @__errno_location() #11
  %4625 = load i32, ptr %4624, align 4, !tbaa !5
  %4626 = call ptr @strerror(i32 noundef %4625) #10
  %4627 = call ptr @__errno_location() #11
  %4628 = load i32, ptr %4627, align 4, !tbaa !5
  %4629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4616, ptr noundef @.str.53, i32 noundef %4617, ptr noundef @.str.182, ptr noundef @.str.51, i32 noundef 505, ptr noundef %4620, ptr noundef %4623, ptr noundef %4626, i32 noundef %4628) #10
  br label %4630

4630:                                             ; preds = %4613, %4596
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #10
  br label %4631

4631:                                             ; preds = %4630
  br label %4632

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

4633:                                             ; No predecessors!
  br label %4634

4634:                                             ; preds = %4633
  br label %4635

4635:                                             ; preds = %4634, %4575
  br label %4636

4636:                                             ; preds = %4635
  br label %4637

4637:                                             ; preds = %4636
  %4638 = load i64, ptr %106, align 8, !tbaa !15
  %4639 = getelementptr inbounds [100 x %struct.anon], ptr %98, i64 0, i64 %4638
  %4640 = getelementptr inbounds %struct.anon, ptr %4639, i32 0, i32 3
  %4641 = load i8, ptr %4640, align 1, !tbaa !21
  %4642 = load ptr, ptr %117, align 8, !tbaa !9
  %4643 = getelementptr inbounds %struct.s2n_connection, ptr %4642, i32 0, i32 22
  store i8 %4641, ptr %4643, align 1, !tbaa !27
  %4644 = load i64, ptr %106, align 8, !tbaa !15
  %4645 = getelementptr inbounds [100 x %struct.anon], ptr %98, i64 0, i64 %4644
  %4646 = getelementptr inbounds %struct.anon, ptr %4645, i32 0, i32 0
  %4647 = load i32, ptr %4646, align 4, !tbaa !17
  %4648 = icmp ne i32 %4647, -255
  br i1 %4648, label %4649, label %4716

4649:                                             ; preds = %4637
  br label %4650

4650:                                             ; preds = %4649
  %4651 = load i32, ptr @test_count, align 4, !tbaa !5
  %4652 = add nsw i32 %4651, 1
  store i32 %4652, ptr @test_count, align 4, !tbaa !5
  %4653 = load ptr, ptr %113, align 8, !tbaa !9
  %4654 = load i64, ptr %106, align 8, !tbaa !15
  %4655 = getelementptr inbounds [100 x %struct.anon], ptr %98, i64 0, i64 %4654
  %4656 = getelementptr inbounds %struct.anon, ptr %4655, i32 0, i32 0
  %4657 = load i32, ptr %4656, align 4, !tbaa !17
  %4658 = call i32 @s2n_connection_set_client_auth_type(ptr noundef %4653, i32 noundef %4657)
  %4659 = icmp eq i32 %4658, -1
  br i1 %4659, label %4660, label %4713

4660:                                             ; preds = %4650
  br label %4661

4661:                                             ; preds = %4660
  br label %4662

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

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

4674:                                             ; preds = %4669
  %4675 = load i32, ptr %121, align 4, !tbaa !5
  %4676 = call ptr @__errno_location() #11
  store i32 %4675, ptr %4676, align 4, !tbaa !5
  %4677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4678 = load i32, ptr @test_count, align 4, !tbaa !5
  %4679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4680 = load i32, ptr %4679, align 4, !tbaa !5
  %4681 = call ptr @s2n_strerror(i32 noundef %4680, ptr noundef @.str.52)
  %4682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4683 = load i32, ptr %4682, align 4, !tbaa !5
  %4684 = call ptr @s2n_strerror_debug(i32 noundef %4683, ptr noundef @.str.52)
  %4685 = call ptr @__errno_location() #11
  %4686 = load i32, ptr %4685, align 4, !tbaa !5
  %4687 = call ptr @strerror(i32 noundef %4686) #10
  %4688 = call ptr @__errno_location() #11
  %4689 = load i32, ptr %4688, align 4, !tbaa !5
  %4690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4677, ptr noundef @.str.49, i32 noundef %4678, ptr noundef @.str.187, ptr noundef @.str.51, i32 noundef 509, ptr noundef %4681, ptr noundef %4684, ptr noundef %4687, i32 noundef %4689) #10
  br label %4708

4691:                                             ; preds = %4669, %4662
  %4692 = load i32, ptr %121, align 4, !tbaa !5
  %4693 = call ptr @__errno_location() #11
  store i32 %4692, ptr %4693, align 4, !tbaa !5
  %4694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4695 = load i32, ptr @test_count, align 4, !tbaa !5
  %4696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4697 = load i32, ptr %4696, align 4, !tbaa !5
  %4698 = call ptr @s2n_strerror(i32 noundef %4697, ptr noundef @.str.52)
  %4699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4700 = load i32, ptr %4699, align 4, !tbaa !5
  %4701 = call ptr @s2n_strerror_debug(i32 noundef %4700, ptr noundef @.str.52)
  %4702 = call ptr @__errno_location() #11
  %4703 = load i32, ptr %4702, align 4, !tbaa !5
  %4704 = call ptr @strerror(i32 noundef %4703) #10
  %4705 = call ptr @__errno_location() #11
  %4706 = load i32, ptr %4705, align 4, !tbaa !5
  %4707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4694, ptr noundef @.str.53, i32 noundef %4695, ptr noundef @.str.187, ptr noundef @.str.51, i32 noundef 509, ptr noundef %4698, ptr noundef %4701, ptr noundef %4704, i32 noundef %4706) #10
  br label %4708

4708:                                             ; preds = %4691, %4674
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #10
  br label %4709

4709:                                             ; preds = %4708
  br label %4710

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

4711:                                             ; No predecessors!
  br label %4712

4712:                                             ; preds = %4711
  br label %4713

4713:                                             ; preds = %4712, %4650
  br label %4714

4714:                                             ; preds = %4713
  br label %4715

4715:                                             ; preds = %4714
  br label %4716

4716:                                             ; preds = %4715, %4637
  %4717 = load i64, ptr %106, align 8, !tbaa !15
  %4718 = getelementptr inbounds [100 x %struct.anon], ptr %98, i64 0, i64 %4717
  %4719 = getelementptr inbounds %struct.anon, ptr %4718, i32 0, i32 1
  %4720 = load i32, ptr %4719, align 4, !tbaa !19
  %4721 = icmp ne i32 %4720, -255
  br i1 %4721, label %4722, label %4789

4722:                                             ; preds = %4716
  br label %4723

4723:                                             ; preds = %4722
  %4724 = load i32, ptr @test_count, align 4, !tbaa !5
  %4725 = add nsw i32 %4724, 1
  store i32 %4725, ptr @test_count, align 4, !tbaa !5
  %4726 = load ptr, ptr %117, align 8, !tbaa !9
  %4727 = load i64, ptr %106, align 8, !tbaa !15
  %4728 = getelementptr inbounds [100 x %struct.anon], ptr %98, i64 0, i64 %4727
  %4729 = getelementptr inbounds %struct.anon, ptr %4728, i32 0, i32 1
  %4730 = load i32, ptr %4729, align 4, !tbaa !19
  %4731 = call i32 @s2n_connection_set_client_auth_type(ptr noundef %4726, i32 noundef %4730)
  %4732 = icmp eq i32 %4731, -1
  br i1 %4732, label %4733, label %4786

4733:                                             ; preds = %4723
  br label %4734

4734:                                             ; preds = %4733
  br label %4735

4735:                                             ; preds = %4734
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #10
  %4736 = call ptr @__errno_location() #11
  %4737 = load i32, ptr %4736, align 4, !tbaa !5
  store i32 %4737, ptr %122, align 4, !tbaa !5
  %4738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4739 = call i32 @s2n_print_stacktrace(ptr noundef %4738)
  %4740 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4741 = trunc i8 %4740 to i1
  br i1 %4741, label %4742, label %4764

4742:                                             ; preds = %4735
  %4743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4744 = call i32 @fileno(ptr noundef %4743) #10
  %4745 = call i32 @isatty(i32 noundef %4744) #10
  %4746 = icmp ne i32 %4745, 0
  br i1 %4746, label %4747, label %4764

4747:                                             ; preds = %4742
  %4748 = load i32, ptr %122, align 4, !tbaa !5
  %4749 = call ptr @__errno_location() #11
  store i32 %4748, ptr %4749, align 4, !tbaa !5
  %4750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4751 = load i32, ptr @test_count, align 4, !tbaa !5
  %4752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4753 = load i32, ptr %4752, align 4, !tbaa !5
  %4754 = call ptr @s2n_strerror(i32 noundef %4753, ptr noundef @.str.52)
  %4755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4756 = load i32, ptr %4755, align 4, !tbaa !5
  %4757 = call ptr @s2n_strerror_debug(i32 noundef %4756, ptr noundef @.str.52)
  %4758 = call ptr @__errno_location() #11
  %4759 = load i32, ptr %4758, align 4, !tbaa !5
  %4760 = call ptr @strerror(i32 noundef %4759) #10
  %4761 = call ptr @__errno_location() #11
  %4762 = load i32, ptr %4761, align 4, !tbaa !5
  %4763 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4750, ptr noundef @.str.49, i32 noundef %4751, ptr noundef @.str.188, ptr noundef @.str.51, i32 noundef 513, ptr noundef %4754, ptr noundef %4757, ptr noundef %4760, i32 noundef %4762) #10
  br label %4781

4764:                                             ; preds = %4742, %4735
  %4765 = load i32, ptr %122, align 4, !tbaa !5
  %4766 = call ptr @__errno_location() #11
  store i32 %4765, ptr %4766, align 4, !tbaa !5
  %4767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4768 = load i32, ptr @test_count, align 4, !tbaa !5
  %4769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4770 = load i32, ptr %4769, align 4, !tbaa !5
  %4771 = call ptr @s2n_strerror(i32 noundef %4770, ptr noundef @.str.52)
  %4772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4773 = load i32, ptr %4772, align 4, !tbaa !5
  %4774 = call ptr @s2n_strerror_debug(i32 noundef %4773, ptr noundef @.str.52)
  %4775 = call ptr @__errno_location() #11
  %4776 = load i32, ptr %4775, align 4, !tbaa !5
  %4777 = call ptr @strerror(i32 noundef %4776) #10
  %4778 = call ptr @__errno_location() #11
  %4779 = load i32, ptr %4778, align 4, !tbaa !5
  %4780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4767, ptr noundef @.str.53, i32 noundef %4768, ptr noundef @.str.188, ptr noundef @.str.51, i32 noundef 513, ptr noundef %4771, ptr noundef %4774, ptr noundef %4777, i32 noundef %4779) #10
  br label %4781

4781:                                             ; preds = %4764, %4747
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #10
  br label %4782

4782:                                             ; preds = %4781
  br label %4783

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

4784:                                             ; No predecessors!
  br label %4785

4785:                                             ; preds = %4784
  br label %4786

4786:                                             ; preds = %4785, %4723
  br label %4787

4787:                                             ; preds = %4786
  br label %4788

4788:                                             ; preds = %4787
  br label %4789

4789:                                             ; preds = %4788, %4716
  call void @llvm.lifetime.start.p0(i64 8, ptr %123) #10
  call void @llvm.memset.p0.i64(ptr align 4 %123, i8 0, i64 8, i1 false)
  br label %4790

4790:                                             ; preds = %4789
  %4791 = load i32, ptr @test_count, align 4, !tbaa !5
  %4792 = add nsw i32 %4791, 1
  store i32 %4792, ptr @test_count, align 4, !tbaa !5
  %4793 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %123)
  %4794 = icmp eq i32 %4793, -1
  br i1 %4794, label %4795, label %4848

4795:                                             ; preds = %4790
  br label %4796

4796:                                             ; preds = %4795
  br label %4797

4797:                                             ; preds = %4796
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #10
  %4798 = call ptr @__errno_location() #11
  %4799 = load i32, ptr %4798, align 4, !tbaa !5
  store i32 %4799, ptr %124, align 4, !tbaa !5
  %4800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4801 = call i32 @s2n_print_stacktrace(ptr noundef %4800)
  %4802 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4803 = trunc i8 %4802 to i1
  br i1 %4803, label %4804, label %4826

4804:                                             ; preds = %4797
  %4805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4806 = call i32 @fileno(ptr noundef %4805) #10
  %4807 = call i32 @isatty(i32 noundef %4806) #10
  %4808 = icmp ne i32 %4807, 0
  br i1 %4808, label %4809, label %4826

4809:                                             ; preds = %4804
  %4810 = load i32, ptr %124, align 4, !tbaa !5
  %4811 = call ptr @__errno_location() #11
  store i32 %4810, ptr %4811, align 4, !tbaa !5
  %4812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4813 = load i32, ptr @test_count, align 4, !tbaa !5
  %4814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4815 = load i32, ptr %4814, align 4, !tbaa !5
  %4816 = call ptr @s2n_strerror(i32 noundef %4815, ptr noundef @.str.52)
  %4817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4818 = load i32, ptr %4817, align 4, !tbaa !5
  %4819 = call ptr @s2n_strerror_debug(i32 noundef %4818, ptr noundef @.str.52)
  %4820 = call ptr @__errno_location() #11
  %4821 = load i32, ptr %4820, align 4, !tbaa !5
  %4822 = call ptr @strerror(i32 noundef %4821) #10
  %4823 = call ptr @__errno_location() #11
  %4824 = load i32, ptr %4823, align 4, !tbaa !5
  %4825 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4812, ptr noundef @.str.49, i32 noundef %4813, ptr noundef @.str.61, ptr noundef @.str.51, i32 noundef 517, ptr noundef %4816, ptr noundef %4819, ptr noundef %4822, i32 noundef %4824) #10
  br label %4843

4826:                                             ; preds = %4804, %4797
  %4827 = load i32, ptr %124, align 4, !tbaa !5
  %4828 = call ptr @__errno_location() #11
  store i32 %4827, ptr %4828, align 4, !tbaa !5
  %4829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4830 = load i32, ptr @test_count, align 4, !tbaa !5
  %4831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4832 = load i32, ptr %4831, align 4, !tbaa !5
  %4833 = call ptr @s2n_strerror(i32 noundef %4832, ptr noundef @.str.52)
  %4834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4835 = load i32, ptr %4834, align 4, !tbaa !5
  %4836 = call ptr @s2n_strerror_debug(i32 noundef %4835, ptr noundef @.str.52)
  %4837 = call ptr @__errno_location() #11
  %4838 = load i32, ptr %4837, align 4, !tbaa !5
  %4839 = call ptr @strerror(i32 noundef %4838) #10
  %4840 = call ptr @__errno_location() #11
  %4841 = load i32, ptr %4840, align 4, !tbaa !5
  %4842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4829, ptr noundef @.str.53, i32 noundef %4830, ptr noundef @.str.61, ptr noundef @.str.51, i32 noundef 517, ptr noundef %4833, ptr noundef %4836, ptr noundef %4839, i32 noundef %4841) #10
  br label %4843

4843:                                             ; preds = %4826, %4809
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #10
  br label %4844

4844:                                             ; preds = %4843
  br label %4845

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

4846:                                             ; No predecessors!
  br label %4847

4847:                                             ; preds = %4846
  br label %4848

4848:                                             ; preds = %4847, %4790
  br label %4849

4849:                                             ; preds = %4848
  br label %4850

4850:                                             ; preds = %4849
  br label %4851

4851:                                             ; preds = %4850
  %4852 = load i32, ptr @test_count, align 4, !tbaa !5
  %4853 = add nsw i32 %4852, 1
  store i32 %4853, ptr @test_count, align 4, !tbaa !5
  %4854 = load ptr, ptr %113, align 8, !tbaa !9
  %4855 = load ptr, ptr %117, align 8, !tbaa !9
  %4856 = call i32 @s2n_connections_set_io_pair(ptr noundef %4854, ptr noundef %4855, ptr noundef %123)
  %4857 = icmp eq i32 %4856, -1
  br i1 %4857, label %4858, label %4911

4858:                                             ; preds = %4851
  br label %4859

4859:                                             ; preds = %4858
  br label %4860

4860:                                             ; preds = %4859
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #10
  %4861 = call ptr @__errno_location() #11
  %4862 = load i32, ptr %4861, align 4, !tbaa !5
  store i32 %4862, ptr %125, align 4, !tbaa !5
  %4863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4864 = call i32 @s2n_print_stacktrace(ptr noundef %4863)
  %4865 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4866 = trunc i8 %4865 to i1
  br i1 %4866, label %4867, label %4889

4867:                                             ; preds = %4860
  %4868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4869 = call i32 @fileno(ptr noundef %4868) #10
  %4870 = call i32 @isatty(i32 noundef %4869) #10
  %4871 = icmp ne i32 %4870, 0
  br i1 %4871, label %4872, label %4889

4872:                                             ; preds = %4867
  %4873 = load i32, ptr %125, align 4, !tbaa !5
  %4874 = call ptr @__errno_location() #11
  store i32 %4873, ptr %4874, align 4, !tbaa !5
  %4875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4876 = load i32, ptr @test_count, align 4, !tbaa !5
  %4877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4878 = load i32, ptr %4877, align 4, !tbaa !5
  %4879 = call ptr @s2n_strerror(i32 noundef %4878, ptr noundef @.str.52)
  %4880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4881 = load i32, ptr %4880, align 4, !tbaa !5
  %4882 = call ptr @s2n_strerror_debug(i32 noundef %4881, ptr noundef @.str.52)
  %4883 = call ptr @__errno_location() #11
  %4884 = load i32, ptr %4883, align 4, !tbaa !5
  %4885 = call ptr @strerror(i32 noundef %4884) #10
  %4886 = call ptr @__errno_location() #11
  %4887 = load i32, ptr %4886, align 4, !tbaa !5
  %4888 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4875, ptr noundef @.str.49, i32 noundef %4876, ptr noundef @.str.172, ptr noundef @.str.51, i32 noundef 518, ptr noundef %4879, ptr noundef %4882, ptr noundef %4885, i32 noundef %4887) #10
  br label %4906

4889:                                             ; preds = %4867, %4860
  %4890 = load i32, ptr %125, align 4, !tbaa !5
  %4891 = call ptr @__errno_location() #11
  store i32 %4890, ptr %4891, align 4, !tbaa !5
  %4892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4893 = load i32, ptr @test_count, align 4, !tbaa !5
  %4894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4895 = load i32, ptr %4894, align 4, !tbaa !5
  %4896 = call ptr @s2n_strerror(i32 noundef %4895, ptr noundef @.str.52)
  %4897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4898 = load i32, ptr %4897, align 4, !tbaa !5
  %4899 = call ptr @s2n_strerror_debug(i32 noundef %4898, ptr noundef @.str.52)
  %4900 = call ptr @__errno_location() #11
  %4901 = load i32, ptr %4900, align 4, !tbaa !5
  %4902 = call ptr @strerror(i32 noundef %4901) #10
  %4903 = call ptr @__errno_location() #11
  %4904 = load i32, ptr %4903, align 4, !tbaa !5
  %4905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4892, ptr noundef @.str.53, i32 noundef %4893, ptr noundef @.str.172, ptr noundef @.str.51, i32 noundef 518, ptr noundef %4896, ptr noundef %4899, ptr noundef %4902, i32 noundef %4904) #10
  br label %4906

4906:                                             ; preds = %4889, %4872
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #10
  br label %4907

4907:                                             ; preds = %4906
  br label %4908

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

4909:                                             ; No predecessors!
  br label %4910

4910:                                             ; preds = %4909
  br label %4911

4911:                                             ; preds = %4910, %4851
  br label %4912

4912:                                             ; preds = %4911
  br label %4913

4913:                                             ; preds = %4912
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #10
  %4914 = load ptr, ptr %117, align 8, !tbaa !9
  %4915 = load ptr, ptr %113, align 8, !tbaa !9
  %4916 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %4914, ptr noundef %4915)
  store i32 %4916, ptr %126, align 4, !tbaa !5
  br label %4917

4917:                                             ; preds = %4913
  %4918 = load i32, ptr @test_count, align 4, !tbaa !5
  %4919 = add nsw i32 %4918, 1
  store i32 %4919, ptr @test_count, align 4, !tbaa !5
  %4920 = load ptr, ptr %113, align 8, !tbaa !9
  %4921 = getelementptr inbounds %struct.s2n_connection, ptr %4920, i32 0, i32 23
  %4922 = load i8, ptr %4921, align 4, !tbaa !53
  %4923 = zext i8 %4922 to i32
  %4924 = load i64, ptr %106, align 8, !tbaa !15
  %4925 = getelementptr inbounds [100 x %struct.anon], ptr %98, i64 0, i64 %4924
  %4926 = getelementptr inbounds %struct.anon, ptr %4925, i32 0, i32 3
  %4927 = load i8, ptr %4926, align 1, !tbaa !21
  %4928 = zext i8 %4927 to i32
  %4929 = icmp eq i32 %4923, %4928
  br i1 %4929, label %4983, label %4930

4930:                                             ; preds = %4917
  br label %4931

4931:                                             ; preds = %4930
  br label %4932

4932:                                             ; preds = %4931
  call void @llvm.lifetime.start.p0(i64 4, ptr %127) #10
  %4933 = call ptr @__errno_location() #11
  %4934 = load i32, ptr %4933, align 4, !tbaa !5
  store i32 %4934, ptr %127, align 4, !tbaa !5
  %4935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4936 = call i32 @s2n_print_stacktrace(ptr noundef %4935)
  %4937 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4938 = trunc i8 %4937 to i1
  br i1 %4938, label %4939, label %4961

4939:                                             ; preds = %4932
  %4940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4941 = call i32 @fileno(ptr noundef %4940) #10
  %4942 = call i32 @isatty(i32 noundef %4941) #10
  %4943 = icmp ne i32 %4942, 0
  br i1 %4943, label %4944, label %4961

4944:                                             ; preds = %4939
  %4945 = load i32, ptr %127, align 4, !tbaa !5
  %4946 = call ptr @__errno_location() #11
  store i32 %4945, ptr %4946, align 4, !tbaa !5
  %4947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4948 = load i32, ptr @test_count, align 4, !tbaa !5
  %4949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4950 = load i32, ptr %4949, align 4, !tbaa !5
  %4951 = call ptr @s2n_strerror(i32 noundef %4950, ptr noundef @.str.52)
  %4952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4953 = load i32, ptr %4952, align 4, !tbaa !5
  %4954 = call ptr @s2n_strerror_debug(i32 noundef %4953, ptr noundef @.str.52)
  %4955 = call ptr @__errno_location() #11
  %4956 = load i32, ptr %4955, align 4, !tbaa !5
  %4957 = call ptr @strerror(i32 noundef %4956) #10
  %4958 = call ptr @__errno_location() #11
  %4959 = load i32, ptr %4958, align 4, !tbaa !5
  %4960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4947, ptr noundef @.str.49, i32 noundef %4948, ptr noundef @.str.189, ptr noundef @.str.51, i32 noundef 521, ptr noundef %4951, ptr noundef %4954, ptr noundef %4957, i32 noundef %4959) #10
  br label %4978

4961:                                             ; preds = %4939, %4932
  %4962 = load i32, ptr %127, align 4, !tbaa !5
  %4963 = call ptr @__errno_location() #11
  store i32 %4962, ptr %4963, align 4, !tbaa !5
  %4964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4965 = load i32, ptr @test_count, align 4, !tbaa !5
  %4966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4967 = load i32, ptr %4966, align 4, !tbaa !5
  %4968 = call ptr @s2n_strerror(i32 noundef %4967, ptr noundef @.str.52)
  %4969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4970 = load i32, ptr %4969, align 4, !tbaa !5
  %4971 = call ptr @s2n_strerror_debug(i32 noundef %4970, ptr noundef @.str.52)
  %4972 = call ptr @__errno_location() #11
  %4973 = load i32, ptr %4972, align 4, !tbaa !5
  %4974 = call ptr @strerror(i32 noundef %4973) #10
  %4975 = call ptr @__errno_location() #11
  %4976 = load i32, ptr %4975, align 4, !tbaa !5
  %4977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4964, ptr noundef @.str.53, i32 noundef %4965, ptr noundef @.str.189, ptr noundef @.str.51, i32 noundef 521, ptr noundef %4968, ptr noundef %4971, ptr noundef %4974, i32 noundef %4976) #10
  br label %4978

4978:                                             ; preds = %4961, %4944
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #10
  br label %4979

4979:                                             ; preds = %4978
  br label %4980

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

4981:                                             ; No predecessors!
  br label %4982

4982:                                             ; preds = %4981
  br label %4983

4983:                                             ; preds = %4982, %4917
  br label %4984

4984:                                             ; preds = %4983
  br label %4985

4985:                                             ; preds = %4984
  br label %4986

4986:                                             ; preds = %4985
  %4987 = load i32, ptr @test_count, align 4, !tbaa !5
  %4988 = add nsw i32 %4987, 1
  store i32 %4988, ptr @test_count, align 4, !tbaa !5
  %4989 = load ptr, ptr %117, align 8, !tbaa !9
  %4990 = getelementptr inbounds %struct.s2n_connection, ptr %4989, i32 0, i32 23
  %4991 = load i8, ptr %4990, align 4, !tbaa !53
  %4992 = zext i8 %4991 to i32
  %4993 = load i64, ptr %106, align 8, !tbaa !15
  %4994 = getelementptr inbounds [100 x %struct.anon], ptr %98, i64 0, i64 %4993
  %4995 = getelementptr inbounds %struct.anon, ptr %4994, i32 0, i32 3
  %4996 = load i8, ptr %4995, align 1, !tbaa !21
  %4997 = zext i8 %4996 to i32
  %4998 = icmp eq i32 %4992, %4997
  br i1 %4998, label %5052, label %4999

4999:                                             ; preds = %4986
  br label %5000

5000:                                             ; preds = %4999
  br label %5001

5001:                                             ; preds = %5000
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #10
  %5002 = call ptr @__errno_location() #11
  %5003 = load i32, ptr %5002, align 4, !tbaa !5
  store i32 %5003, ptr %128, align 4, !tbaa !5
  %5004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5005 = call i32 @s2n_print_stacktrace(ptr noundef %5004)
  %5006 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5007 = trunc i8 %5006 to i1
  br i1 %5007, label %5008, label %5030

5008:                                             ; preds = %5001
  %5009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5010 = call i32 @fileno(ptr noundef %5009) #10
  %5011 = call i32 @isatty(i32 noundef %5010) #10
  %5012 = icmp ne i32 %5011, 0
  br i1 %5012, label %5013, label %5030

5013:                                             ; preds = %5008
  %5014 = load i32, ptr %128, align 4, !tbaa !5
  %5015 = call ptr @__errno_location() #11
  store i32 %5014, ptr %5015, align 4, !tbaa !5
  %5016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5017 = load i32, ptr @test_count, align 4, !tbaa !5
  %5018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5019 = load i32, ptr %5018, align 4, !tbaa !5
  %5020 = call ptr @s2n_strerror(i32 noundef %5019, ptr noundef @.str.52)
  %5021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5022 = load i32, ptr %5021, align 4, !tbaa !5
  %5023 = call ptr @s2n_strerror_debug(i32 noundef %5022, ptr noundef @.str.52)
  %5024 = call ptr @__errno_location() #11
  %5025 = load i32, ptr %5024, align 4, !tbaa !5
  %5026 = call ptr @strerror(i32 noundef %5025) #10
  %5027 = call ptr @__errno_location() #11
  %5028 = load i32, ptr %5027, align 4, !tbaa !5
  %5029 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5016, ptr noundef @.str.49, i32 noundef %5017, ptr noundef @.str.190, ptr noundef @.str.51, i32 noundef 522, ptr noundef %5020, ptr noundef %5023, ptr noundef %5026, i32 noundef %5028) #10
  br label %5047

5030:                                             ; preds = %5008, %5001
  %5031 = load i32, ptr %128, align 4, !tbaa !5
  %5032 = call ptr @__errno_location() #11
  store i32 %5031, ptr %5032, align 4, !tbaa !5
  %5033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5034 = load i32, ptr @test_count, align 4, !tbaa !5
  %5035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5036 = load i32, ptr %5035, align 4, !tbaa !5
  %5037 = call ptr @s2n_strerror(i32 noundef %5036, ptr noundef @.str.52)
  %5038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5039 = load i32, ptr %5038, align 4, !tbaa !5
  %5040 = call ptr @s2n_strerror_debug(i32 noundef %5039, ptr noundef @.str.52)
  %5041 = call ptr @__errno_location() #11
  %5042 = load i32, ptr %5041, align 4, !tbaa !5
  %5043 = call ptr @strerror(i32 noundef %5042) #10
  %5044 = call ptr @__errno_location() #11
  %5045 = load i32, ptr %5044, align 4, !tbaa !5
  %5046 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5033, ptr noundef @.str.53, i32 noundef %5034, ptr noundef @.str.190, ptr noundef @.str.51, i32 noundef 522, ptr noundef %5037, ptr noundef %5040, ptr noundef %5043, i32 noundef %5045) #10
  br label %5047

5047:                                             ; preds = %5030, %5013
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #10
  br label %5048

5048:                                             ; preds = %5047
  br label %5049

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

5050:                                             ; No predecessors!
  br label %5051

5051:                                             ; preds = %5050
  br label %5052

5052:                                             ; preds = %5051, %4986
  br label %5053

5053:                                             ; preds = %5052
  br label %5054

5054:                                             ; preds = %5053
  %5055 = load i32, ptr %126, align 4, !tbaa !5
  %5056 = icmp ne i32 %5055, 0
  br i1 %5056, label %5057, label %5128

5057:                                             ; preds = %5054
  br label %5058

5058:                                             ; preds = %5057
  %5059 = load i32, ptr @test_count, align 4, !tbaa !5
  %5060 = add nsw i32 %5059, 1
  store i32 %5060, ptr @test_count, align 4, !tbaa !5
  %5061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5062 = load i32, ptr %5061, align 4, !tbaa !5
  %5063 = icmp eq i32 %5062, 335544324
  br i1 %5063, label %5125, label %5064

5064:                                             ; preds = %5058
  %5065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5066 = load i32, ptr %5065, align 4, !tbaa !5
  %5067 = icmp eq i32 %5066, 335544323
  br i1 %5067, label %5125, label %5068

5068:                                             ; preds = %5064
  %5069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5070 = load i32, ptr %5069, align 4, !tbaa !5
  %5071 = icmp eq i32 %5070, 335544325
  br i1 %5071, label %5125, label %5072

5072:                                             ; preds = %5068
  br label %5073

5073:                                             ; preds = %5072
  br label %5074

5074:                                             ; preds = %5073
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #10
  %5075 = call ptr @__errno_location() #11
  %5076 = load i32, ptr %5075, align 4, !tbaa !5
  store i32 %5076, ptr %129, align 4, !tbaa !5
  %5077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5078 = call i32 @s2n_print_stacktrace(ptr noundef %5077)
  %5079 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5080 = trunc i8 %5079 to i1
  br i1 %5080, label %5081, label %5103

5081:                                             ; preds = %5074
  %5082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5083 = call i32 @fileno(ptr noundef %5082) #10
  %5084 = call i32 @isatty(i32 noundef %5083) #10
  %5085 = icmp ne i32 %5084, 0
  br i1 %5085, label %5086, label %5103

5086:                                             ; preds = %5081
  %5087 = load i32, ptr %129, align 4, !tbaa !5
  %5088 = call ptr @__errno_location() #11
  store i32 %5087, ptr %5088, align 4, !tbaa !5
  %5089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5090 = load i32, ptr @test_count, align 4, !tbaa !5
  %5091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5092 = load i32, ptr %5091, align 4, !tbaa !5
  %5093 = call ptr @s2n_strerror(i32 noundef %5092, ptr noundef @.str.52)
  %5094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5095 = load i32, ptr %5094, align 4, !tbaa !5
  %5096 = call ptr @s2n_strerror_debug(i32 noundef %5095, ptr noundef @.str.52)
  %5097 = call ptr @__errno_location() #11
  %5098 = load i32, ptr %5097, align 4, !tbaa !5
  %5099 = call ptr @strerror(i32 noundef %5098) #10
  %5100 = call ptr @__errno_location() #11
  %5101 = load i32, ptr %5100, align 4, !tbaa !5
  %5102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5089, ptr noundef @.str.49, i32 noundef %5090, ptr noundef @.str.191, ptr noundef @.str.51, i32 noundef 526, ptr noundef %5093, ptr noundef %5096, ptr noundef %5099, i32 noundef %5101) #10
  br label %5120

5103:                                             ; preds = %5081, %5074
  %5104 = load i32, ptr %129, align 4, !tbaa !5
  %5105 = call ptr @__errno_location() #11
  store i32 %5104, ptr %5105, align 4, !tbaa !5
  %5106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5107 = load i32, ptr @test_count, align 4, !tbaa !5
  %5108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5109 = load i32, ptr %5108, align 4, !tbaa !5
  %5110 = call ptr @s2n_strerror(i32 noundef %5109, ptr noundef @.str.52)
  %5111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5112 = load i32, ptr %5111, align 4, !tbaa !5
  %5113 = call ptr @s2n_strerror_debug(i32 noundef %5112, ptr noundef @.str.52)
  %5114 = call ptr @__errno_location() #11
  %5115 = load i32, ptr %5114, align 4, !tbaa !5
  %5116 = call ptr @strerror(i32 noundef %5115) #10
  %5117 = call ptr @__errno_location() #11
  %5118 = load i32, ptr %5117, align 4, !tbaa !5
  %5119 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5106, ptr noundef @.str.53, i32 noundef %5107, ptr noundef @.str.191, ptr noundef @.str.51, i32 noundef 526, ptr noundef %5110, ptr noundef %5113, ptr noundef %5116, i32 noundef %5118) #10
  br label %5120

5120:                                             ; preds = %5103, %5086
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #10
  br label %5121

5121:                                             ; preds = %5120
  br label %5122

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

5123:                                             ; No predecessors!
  br label %5124

5124:                                             ; preds = %5123
  br label %5125

5125:                                             ; preds = %5124, %5068, %5064, %5058
  br label %5126

5126:                                             ; preds = %5125
  br label %5127

5127:                                             ; preds = %5126
  br label %5128

5128:                                             ; preds = %5127, %5054
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #10
  %5129 = call i32 @s2n_io_pair_close(ptr noundef %123)
  call void @llvm.lifetime.end.p0(i64 8, ptr %123) #10
  %5130 = call i32 @s2n_connection_ptr_free(ptr noundef %117)
  %5131 = getelementptr inbounds %struct.s2n_result, ptr %130, i32 0, i32 0
  store i32 %5130, ptr %5131, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %117) #10
  %5132 = call i32 @s2n_connection_ptr_free(ptr noundef %113)
  %5133 = getelementptr inbounds %struct.s2n_result, ptr %131, i32 0, i32 0
  store i32 %5132, ptr %5133, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %113) #10
  %5134 = call i32 @s2n_config_ptr_free(ptr noundef %110)
  %5135 = getelementptr inbounds %struct.s2n_result, ptr %132, i32 0, i32 0
  store i32 %5134, ptr %5135, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %110) #10
  %5136 = call i32 @s2n_config_ptr_free(ptr noundef %107)
  %5137 = getelementptr inbounds %struct.s2n_result, ptr %133, i32 0, i32 0
  store i32 %5136, ptr %5137, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %107) #10
  br label %5138

5138:                                             ; preds = %5128
  %5139 = load i64, ptr %106, align 8, !tbaa !15
  %5140 = add i64 %5139, 1
  store i64 %5140, ptr %106, align 8, !tbaa !15
  br label %3999, !llvm.loop !54

5141:                                             ; preds = %4003
  call void @llvm.lifetime.end.p0(i64 8, ptr %99) #10
  call void @llvm.lifetime.end.p0(i64 1200, ptr %98) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %97) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #10
  br label %5142

5142:                                             ; preds = %5141
  br label %5143

5143:                                             ; preds = %5142
  %5144 = call i32 @s2n_cleanup()
  %5145 = icmp eq i32 %5144, -1
  br i1 %5145, label %5146, label %5199

5146:                                             ; preds = %5143
  br label %5147

5147:                                             ; preds = %5146
  br label %5148

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

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

5160:                                             ; preds = %5155
  %5161 = load i32, ptr %134, align 4, !tbaa !5
  %5162 = call ptr @__errno_location() #11
  store i32 %5161, ptr %5162, align 4, !tbaa !5
  %5163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5164 = load i32, ptr @test_count, align 4, !tbaa !5
  %5165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5166 = load i32, ptr %5165, align 4, !tbaa !5
  %5167 = call ptr @s2n_strerror(i32 noundef %5166, ptr noundef @.str.52)
  %5168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5169 = load i32, ptr %5168, align 4, !tbaa !5
  %5170 = call ptr @s2n_strerror_debug(i32 noundef %5169, ptr noundef @.str.52)
  %5171 = call ptr @__errno_location() #11
  %5172 = load i32, ptr %5171, align 4, !tbaa !5
  %5173 = call ptr @strerror(i32 noundef %5172) #10
  %5174 = call ptr @__errno_location() #11
  %5175 = load i32, ptr %5174, align 4, !tbaa !5
  %5176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5163, ptr noundef @.str.49, i32 noundef %5164, ptr noundef @.str.143, ptr noundef @.str.51, i32 noundef 531, ptr noundef %5167, ptr noundef %5170, ptr noundef %5173, i32 noundef %5175) #10
  br label %5194

5177:                                             ; preds = %5155, %5148
  %5178 = load i32, ptr %134, align 4, !tbaa !5
  %5179 = call ptr @__errno_location() #11
  store i32 %5178, ptr %5179, align 4, !tbaa !5
  %5180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5181 = load i32, ptr @test_count, align 4, !tbaa !5
  %5182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5183 = load i32, ptr %5182, align 4, !tbaa !5
  %5184 = call ptr @s2n_strerror(i32 noundef %5183, ptr noundef @.str.52)
  %5185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5186 = load i32, ptr %5185, align 4, !tbaa !5
  %5187 = call ptr @s2n_strerror_debug(i32 noundef %5186, ptr noundef @.str.52)
  %5188 = call ptr @__errno_location() #11
  %5189 = load i32, ptr %5188, align 4, !tbaa !5
  %5190 = call ptr @strerror(i32 noundef %5189) #10
  %5191 = call ptr @__errno_location() #11
  %5192 = load i32, ptr %5191, align 4, !tbaa !5
  %5193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5180, ptr noundef @.str.53, i32 noundef %5181, ptr noundef @.str.143, ptr noundef @.str.51, i32 noundef 531, ptr noundef %5184, ptr noundef %5187, ptr noundef %5190, i32 noundef %5192) #10
  br label %5194

5194:                                             ; preds = %5177, %5160
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #10
  br label %5195

5195:                                             ; preds = %5194
  br label %5196

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

5197:                                             ; No predecessors!
  br label %5198

5198:                                             ; preds = %5197
  br label %5199

5199:                                             ; preds = %5198, %5143
  br label %5200

5200:                                             ; preds = %5199
  br label %5201

5201:                                             ; preds = %5200
  br label %5202

5202:                                             ; preds = %5201
  br label %5203

5203:                                             ; preds = %5202
  %5204 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %5205 = icmp eq i32 %5204, -1
  br i1 %5205, label %5206, label %5259

5206:                                             ; preds = %5203
  br label %5207

5207:                                             ; preds = %5206
  br label %5208

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

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

5220:                                             ; preds = %5215
  %5221 = load i32, ptr %135, align 4, !tbaa !5
  %5222 = call ptr @__errno_location() #11
  store i32 %5221, ptr %5222, align 4, !tbaa !5
  %5223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5224 = load i32, ptr @test_count, align 4, !tbaa !5
  %5225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5226 = load i32, ptr %5225, align 4, !tbaa !5
  %5227 = call ptr @s2n_strerror(i32 noundef %5226, ptr noundef @.str.52)
  %5228 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5229 = load i32, ptr %5228, align 4, !tbaa !5
  %5230 = call ptr @s2n_strerror_debug(i32 noundef %5229, ptr noundef @.str.52)
  %5231 = call ptr @__errno_location() #11
  %5232 = load i32, ptr %5231, align 4, !tbaa !5
  %5233 = call ptr @strerror(i32 noundef %5232) #10
  %5234 = call ptr @__errno_location() #11
  %5235 = load i32, ptr %5234, align 4, !tbaa !5
  %5236 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5223, ptr noundef @.str.49, i32 noundef %5224, ptr noundef @.str.144, ptr noundef @.str.51, i32 noundef 531, ptr noundef %5227, ptr noundef %5230, ptr noundef %5233, i32 noundef %5235) #10
  br label %5254

5237:                                             ; preds = %5215, %5208
  %5238 = load i32, ptr %135, align 4, !tbaa !5
  %5239 = call ptr @__errno_location() #11
  store i32 %5238, ptr %5239, align 4, !tbaa !5
  %5240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5241 = load i32, ptr @test_count, align 4, !tbaa !5
  %5242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5243 = load i32, ptr %5242, align 4, !tbaa !5
  %5244 = call ptr @s2n_strerror(i32 noundef %5243, ptr noundef @.str.52)
  %5245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5246 = load i32, ptr %5245, align 4, !tbaa !5
  %5247 = call ptr @s2n_strerror_debug(i32 noundef %5246, ptr noundef @.str.52)
  %5248 = call ptr @__errno_location() #11
  %5249 = load i32, ptr %5248, align 4, !tbaa !5
  %5250 = call ptr @strerror(i32 noundef %5249) #10
  %5251 = call ptr @__errno_location() #11
  %5252 = load i32, ptr %5251, align 4, !tbaa !5
  %5253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5240, ptr noundef @.str.53, i32 noundef %5241, ptr noundef @.str.144, ptr noundef @.str.51, i32 noundef 531, ptr noundef %5244, ptr noundef %5247, ptr noundef %5250, i32 noundef %5252) #10
  br label %5254

5254:                                             ; preds = %5237, %5220
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #10
  br label %5255

5255:                                             ; preds = %5254
  br label %5256

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

5257:                                             ; No predecessors!
  br label %5258

5258:                                             ; preds = %5257
  br label %5259

5259:                                             ; preds = %5258, %5203
  br label %5260

5260:                                             ; preds = %5259
  br label %5261

5261:                                             ; preds = %5260
  %5262 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5263 = trunc i8 %5262 to i1
  br i1 %5263, label %5264, label %5280

5264:                                             ; preds = %5261
  %5265 = load ptr, ptr @stdout, align 8, !tbaa !9
  %5266 = call i32 @fileno(ptr noundef %5265) #10
  %5267 = call i32 @isatty(i32 noundef %5266) #10
  %5268 = icmp ne i32 %5267, 0
  br i1 %5268, label %5269, label %5280

5269:                                             ; preds = %5264
  %5270 = load i32, ptr @test_count, align 4, !tbaa !5
  %5271 = icmp ne i32 %5270, 0
  br i1 %5271, label %5272, label %5276

5272:                                             ; preds = %5269
  %5273 = load ptr, ptr @stdout, align 8, !tbaa !9
  %5274 = load i32, ptr @test_count, align 4, !tbaa !5
  %5275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5273, ptr noundef @.str.145, i32 noundef %5274) #10
  br label %5279

5276:                                             ; preds = %5269
  %5277 = load ptr, ptr @stdout, align 8, !tbaa !9
  %5278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5277, ptr noundef @.str.146) #10
  br label %5279

5279:                                             ; preds = %5276, %5272
  br label %5291

5280:                                             ; preds = %5264, %5261
  %5281 = load i32, ptr @test_count, align 4, !tbaa !5
  %5282 = icmp ne i32 %5281, 0
  br i1 %5282, label %5283, label %5287

5283:                                             ; preds = %5280
  %5284 = load ptr, ptr @stdout, align 8, !tbaa !9
  %5285 = load i32, ptr @test_count, align 4, !tbaa !5
  %5286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5284, ptr noundef @.str.147, i32 noundef %5285) #10
  br label %5290

5287:                                             ; preds = %5280
  %5288 = load ptr, ptr @stdout, align 8, !tbaa !9
  %5289 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5288, ptr noundef @.str.148) #10
  br label %5290

5290:                                             ; preds = %5287, %5283
  br label %5291

5291:                                             ; preds = %5290, %5279
  store i32 0, ptr %3, align 4
  store i32 1, ptr %101, align 4
  br label %5296

5292:                                             ; No predecessors!
  br label %5293

5293:                                             ; preds = %5292
  br label %5294

5294:                                             ; preds = %5293
  br label %5295

5295:                                             ; preds = %5294
  store i32 0, ptr %101, align 4
  br label %5296

5296:                                             ; preds = %5295, %5291
  %5297 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %12)
  %5298 = getelementptr inbounds %struct.s2n_result, ptr %136, i32 0, i32 0
  store i32 %5297, ptr %5298, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #10
  %5299 = load i32, ptr %101, align 4
  switch i32 %5299, label %5302 [
    i32 0, label %5300
    i32 1, label %5300
  ]

5300:                                             ; preds = %5296, %5296, %460
  %5301 = load i32, ptr %3, align 4
  ret i32 %5301

5302:                                             ; preds = %5296
  unreachable
}

declare i32 @fflush(ptr noundef) #6

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #6

declare i32 @s2n_enable_atexit() #6

declare i32 @s2n_init() #6

declare zeroext i1 @s2n_is_tls13_fully_supported(...) #6

declare i32 @s2n_cleanup() #6

declare i32 @s2n_enable_tls13_in_test(...) #6

declare i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef) #6

declare i32 @s2n_test_cert_chain_and_key_new(ptr noundef, ptr noundef, ptr noundef) #6

declare i32 @s2n_read_test_pem_and_len(ptr noundef, ptr noundef, ptr noundef, i64 noundef) #6

declare i32 @s2n_cert_chain_and_key_load_pem_bytes(ptr noundef, ptr noundef, i32 noundef, ptr noundef, i32 noundef) #6

declare i32 @s2n_config_set_verification_ca_location(ptr noundef, ptr noundef, ptr noundef) #6

declare i32 @s2n_connection_ptr_free(ptr noundef) #6

declare i32 @s2n_config_ptr_free(ptr noundef) #6

declare i32 @s2n_connection_set_blinding(ptr noundef, i32 noundef) #6

declare void @s2n_debug_info_reset() #6

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #2 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #3 = { 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 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #5 = { 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 #6 = { "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 "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { 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 #9 = { nounwind allocsize(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 #10 = { nounwind }
attributes #11 = { nounwind willreturn memory(none) }
attributes #12 = { noreturn nounwind }
attributes #13 = { nounwind allocsize(0) }

!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 0}
!18 = !{!"", !6, i64 0, !6, i64 4, !12, i64 8, !7, i64 9}
!19 = !{!18, !6, i64 4}
!20 = !{!18, !12, i64 8}
!21 = !{!18, !7, i64 9}
!22 = distinct !{!22, !23}
!23 = !{!"llvm.loop.mustprogress"}
!24 = distinct !{!24, !23}
!25 = distinct !{!25, !23}
!26 = distinct !{!26, !23}
!27 = !{!28, !7, i64 219}
!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, !7, i64 220}
!54 = distinct !{!54, !23}


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

%struct.s2n_test_io_pair = type { i32, i32 }
%struct.anon = type { i32, i32, i8, i8 }

@s2n_use_color_in_output = external dso_local local_unnamed_addr global i8, align 1
@s2n_errno = external thread_local local_unnamed_addr global i32, align 4
@test_count = external dso_local local_unnamed_addr global i32, align 4
@stderr = external local_unnamed_addr global ptr, align 8
@.str.49 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [59 x i8], align 1
@stdout = external local_unnamed_addr global ptr, align 8
@.str.139 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [200 x i8], align 1
@.str.153 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.154 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [131 x i8], align 1
@.str.156 = external hidden unnamed_addr constant [132 x i8], align 1
@.str.157 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [144 x i8], align 1
@.str.159 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [132 x i8], align 1
@.str.161 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.164 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.167 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [81 x i8], align 1
@__const.main.all_options = external hidden unnamed_addr constant [4 x i32], align 16
@.str.185 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.189 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [147 x i8], align 1

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

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

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

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

; Function Attrs: mustprogress nofree nosync nounwind willreturn memory(none)
declare ptr @__errno_location() local_unnamed_addr #3

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_test_client_auth_negotiation(ptr noundef, ptr noundef, ptr noundef, i1 noundef zeroext) local_unnamed_addr #4

declare ptr @s2n_connection_new(i32 noundef) local_unnamed_addr #5

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #5

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

; Function Attrs: nofree nounwind
declare noundef i32 @fileno(ptr nocapture noundef) local_unnamed_addr #7

; Function Attrs: nofree nounwind
declare noundef i32 @fprintf(ptr nocapture noundef, ptr nocapture noundef readonly, ...) local_unnamed_addr #7

declare ptr @s2n_strerror(i32 noundef, ptr noundef) local_unnamed_addr #5

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

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

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

declare i32 @s2n_connection_set_config(ptr noundef, ptr noundef) local_unnamed_addr #5

declare i32 @s2n_connection_set_client_auth_type(ptr noundef, i32 noundef) local_unnamed_addr #5

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) local_unnamed_addr #5

declare i32 @s2n_connections_set_io_pair(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #5

declare i32 @s2n_negotiate_test_server_and_client(ptr noundef, ptr noundef) local_unnamed_addr #5

declare i32 @s2n_io_pair_close(ptr noundef) local_unnamed_addr #5

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_test_client_auth_message_by_message(i1 noundef zeroext) local_unnamed_addr #4

declare ptr @s2n_config_new() local_unnamed_addr #5

declare i32 @s2n_config_set_unsafe_for_testing(ptr noundef) local_unnamed_addr #5

declare i32 @s2n_config_set_cipher_preferences(ptr noundef, ptr noundef) local_unnamed_addr #5

; Function Attrs: mustprogress nofree nounwind willreturn allockind("alloc,uninitialized") allocsize(0) memory(inaccessiblemem: readwrite)
declare noalias noundef ptr @malloc(i64 noundef) local_unnamed_addr #9

declare ptr @s2n_cert_chain_and_key_new() local_unnamed_addr #5

declare i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef, ptr noundef) local_unnamed_addr #5

declare i32 @s2n_cert_chain_and_key_free(ptr noundef) local_unnamed_addr #5

declare i32 @s2n_config_free(ptr noundef) local_unnamed_addr #5

; Function Attrs: mustprogress nounwind willreturn allockind("free") memory(argmem: readwrite, inaccessiblemem: readwrite)
declare void @free(ptr allocptr nocapture noundef) local_unnamed_addr #10

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @main(i32 noundef %0, ptr nocapture noundef readnone %1) local_unnamed_addr #4 {
  %3 = alloca ptr, align 8
  %4 = alloca i32, align 4
  %5 = alloca i32, align 4
  %6 = alloca ptr, align 8
  %7 = alloca ptr, align 8
  %8 = alloca ptr, align 8
  %9 = alloca %struct.s2n_test_io_pair, align 8
  %10 = alloca ptr, align 8
  %11 = alloca ptr, align 8
  %12 = alloca ptr, align 8
  %13 = alloca %struct.s2n_test_io_pair, align 8
  %14 = alloca ptr, align 8
  %15 = alloca ptr, align 8
  %16 = alloca ptr, align 8
  %17 = alloca ptr, align 8
  %18 = alloca %struct.s2n_test_io_pair, align 8
  %19 = alloca [100 x %struct.anon], align 16
  %20 = alloca ptr, align 8
  %21 = alloca ptr, align 8
  %22 = alloca ptr, align 8
  %23 = alloca ptr, align 8
  %24 = alloca %struct.s2n_test_io_pair, align 8
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %25 = load ptr, ptr @stdout, align 8, !tbaa !9
  %26 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25, ptr noundef nonnull @.str.139, ptr noundef nonnull @.str.51) #11
  %27 = load ptr, ptr @stdout, align 8, !tbaa !9
  %28 = tail call i32 @fflush(ptr noundef %27)
  %29 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #11
  %30 = icmp eq i32 %29, -1
  br i1 %30, label %31, label %55

31:                                               ; preds = %2
  %32 = tail call ptr @__errno_location() #12
  %33 = load i32, ptr %32, align 4, !tbaa !5
  %34 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35 = tail call i32 @s2n_print_stacktrace(ptr noundef %34) #11
  %36 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %37 = trunc nuw i8 %36 to i1
  br i1 %37, label %38, label %42

38:                                               ; preds = %31
  %39 = load ptr, ptr @stderr, align 8, !tbaa !9
  %40 = tail call i32 @fileno(ptr noundef %39) #11
  %41 = tail call i32 @isatty(i32 noundef %40) #11
  %.not330 = icmp eq i32 %41, 0
  br i1 %.not330, label %42, label %43

42:                                               ; preds = %38, %31
  br label %43

43:                                               ; preds = %38, %42
  %.str.53.sink = phi ptr [ @.str.53, %42 ], [ @.str.49, %38 ]
  store i32 %33, ptr %32, align 4, !tbaa !5
  %44 = load ptr, ptr @stderr, align 8, !tbaa !9
  %45 = load i32, ptr @test_count, align 4, !tbaa !5
  %46 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %47 = load i32, ptr %46, align 4, !tbaa !5
  %48 = tail call ptr @s2n_strerror(i32 noundef %47, ptr noundef nonnull @.str.52) #11
  %49 = load i32, ptr %46, align 4, !tbaa !5
  %50 = tail call ptr @s2n_strerror_debug(i32 noundef %49, ptr noundef nonnull @.str.52) #11
  %51 = load i32, ptr %32, align 4, !tbaa !5
  %52 = tail call ptr @strerror(i32 noundef %51) #11
  %53 = load i32, ptr %32, align 4, !tbaa !5
  %54 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %44, ptr noundef nonnull %.str.53.sink, i32 noundef %45, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.51, i32 noundef 304, ptr noundef %48, ptr noundef %50, ptr noundef %52, i32 noundef %53) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

55:                                               ; preds = %2
  %56 = load i32, ptr @test_count, align 4, !tbaa !5
  %57 = add nsw i32 %56, 1
  store i32 %57, ptr @test_count, align 4, !tbaa !5
  %58 = tail call i32 @s2n_enable_atexit() #11
  %59 = icmp eq i32 %58, -1
  br i1 %59, label %60, label %84

60:                                               ; preds = %55
  %61 = tail call ptr @__errno_location() #12
  %62 = load i32, ptr %61, align 4, !tbaa !5
  %63 = load ptr, ptr @stderr, align 8, !tbaa !9
  %64 = tail call i32 @s2n_print_stacktrace(ptr noundef %63) #11
  %65 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %66 = trunc nuw i8 %65 to i1
  br i1 %66, label %67, label %71

67:                                               ; preds = %60
  %68 = load ptr, ptr @stderr, align 8, !tbaa !9
  %69 = tail call i32 @fileno(ptr noundef %68) #11
  %70 = tail call i32 @isatty(i32 noundef %69) #11
  %.not329 = icmp eq i32 %70, 0
  br i1 %.not329, label %71, label %72

71:                                               ; preds = %67, %60
  br label %72

72:                                               ; preds = %67, %71
  %.str.53.sink372 = phi ptr [ @.str.53, %71 ], [ @.str.49, %67 ]
  store i32 %62, ptr %61, align 4, !tbaa !5
  %73 = load ptr, ptr @stderr, align 8, !tbaa !9
  %74 = load i32, ptr @test_count, align 4, !tbaa !5
  %75 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %76 = load i32, ptr %75, align 4, !tbaa !5
  %77 = tail call ptr @s2n_strerror(i32 noundef %76, ptr noundef nonnull @.str.52) #11
  %78 = load i32, ptr %75, align 4, !tbaa !5
  %79 = tail call ptr @s2n_strerror_debug(i32 noundef %78, ptr noundef nonnull @.str.52) #11
  %80 = load i32, ptr %61, align 4, !tbaa !5
  %81 = tail call ptr @strerror(i32 noundef %80) #11
  %82 = load i32, ptr %61, align 4, !tbaa !5
  %83 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %73, ptr noundef nonnull %.str.53.sink372, i32 noundef %74, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.51, i32 noundef 304, ptr noundef %77, ptr noundef %79, ptr noundef %81, i32 noundef %82) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

84:                                               ; preds = %55
  %85 = tail call i32 @s2n_init() #11
  %86 = icmp eq i32 %85, -1
  br i1 %86, label %87, label %111

87:                                               ; preds = %84
  %88 = tail call ptr @__errno_location() #12
  %89 = load i32, ptr %88, align 4, !tbaa !5
  %90 = load ptr, ptr @stderr, align 8, !tbaa !9
  %91 = tail call i32 @s2n_print_stacktrace(ptr noundef %90) #11
  %92 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %93 = trunc nuw i8 %92 to i1
  br i1 %93, label %94, label %98

94:                                               ; preds = %87
  %95 = load ptr, ptr @stderr, align 8, !tbaa !9
  %96 = tail call i32 @fileno(ptr noundef %95) #11
  %97 = tail call i32 @isatty(i32 noundef %96) #11
  %.not328 = icmp eq i32 %97, 0
  br i1 %.not328, label %98, label %99

98:                                               ; preds = %94, %87
  br label %99

99:                                               ; preds = %94, %98
  %.str.53.sink383 = phi ptr [ @.str.53, %98 ], [ @.str.49, %94 ]
  store i32 %89, ptr %88, align 4, !tbaa !5
  %100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %101 = load i32, ptr @test_count, align 4, !tbaa !5
  %102 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %103 = load i32, ptr %102, align 4, !tbaa !5
  %104 = tail call ptr @s2n_strerror(i32 noundef %103, ptr noundef nonnull @.str.52) #11
  %105 = load i32, ptr %102, align 4, !tbaa !5
  %106 = tail call ptr @s2n_strerror_debug(i32 noundef %105, ptr noundef nonnull @.str.52) #11
  %107 = load i32, ptr %88, align 4, !tbaa !5
  %108 = tail call ptr @strerror(i32 noundef %107) #11
  %109 = load i32, ptr %88, align 4, !tbaa !5
  %110 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %100, ptr noundef nonnull %.str.53.sink383, i32 noundef %101, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.51, i32 noundef 304, ptr noundef %104, ptr noundef %106, ptr noundef %108, i32 noundef %109) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

111:                                              ; preds = %84
  %112 = tail call zeroext i1 (...) @s2n_is_tls13_fully_supported() #11
  br i1 %112, label %188, label %113

113:                                              ; preds = %111
  %114 = tail call i32 @s2n_cleanup() #11
  %115 = icmp eq i32 %114, -1
  br i1 %115, label %116, label %140

116:                                              ; preds = %113
  %117 = tail call ptr @__errno_location() #12
  %118 = load i32, ptr %117, align 4, !tbaa !5
  %119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %120 = tail call i32 @s2n_print_stacktrace(ptr noundef %119) #11
  %121 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %122 = trunc nuw i8 %121 to i1
  br i1 %122, label %123, label %127

123:                                              ; preds = %116
  %124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %125 = tail call i32 @fileno(ptr noundef %124) #11
  %126 = tail call i32 @isatty(i32 noundef %125) #11
  %.not247 = icmp eq i32 %126, 0
  br i1 %.not247, label %127, label %128

127:                                              ; preds = %123, %116
  br label %128

128:                                              ; preds = %123, %127
  %.str.53.sink394 = phi ptr [ @.str.53, %127 ], [ @.str.49, %123 ]
  store i32 %118, ptr %117, align 4, !tbaa !5
  %129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %130 = load i32, ptr @test_count, align 4, !tbaa !5
  %131 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %132 = load i32, ptr %131, align 4, !tbaa !5
  %133 = tail call ptr @s2n_strerror(i32 noundef %132, ptr noundef nonnull @.str.52) #11
  %134 = load i32, ptr %131, align 4, !tbaa !5
  %135 = tail call ptr @s2n_strerror_debug(i32 noundef %134, ptr noundef nonnull @.str.52) #11
  %136 = load i32, ptr %117, align 4, !tbaa !5
  %137 = tail call ptr @strerror(i32 noundef %136) #11
  %138 = load i32, ptr %117, align 4, !tbaa !5
  %139 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %129, ptr noundef nonnull %.str.53.sink394, i32 noundef %130, ptr noundef nonnull @.str.143, ptr noundef nonnull @.str.51, i32 noundef 307, ptr noundef %133, ptr noundef %135, ptr noundef %137, i32 noundef %138) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

140:                                              ; preds = %113
  %141 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #11
  %142 = icmp eq i32 %141, -1
  br i1 %142, label %143, label %167

143:                                              ; preds = %140
  %144 = tail call ptr @__errno_location() #12
  %145 = load i32, ptr %144, align 4, !tbaa !5
  %146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %147 = tail call i32 @s2n_print_stacktrace(ptr noundef %146) #11
  %148 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %149 = trunc nuw i8 %148 to i1
  br i1 %149, label %150, label %154

150:                                              ; preds = %143
  %151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %152 = tail call i32 @fileno(ptr noundef %151) #11
  %153 = tail call i32 @isatty(i32 noundef %152) #11
  %.not246 = icmp eq i32 %153, 0
  br i1 %.not246, label %154, label %155

154:                                              ; preds = %150, %143
  br label %155

155:                                              ; preds = %150, %154
  %.str.53.sink405 = phi ptr [ @.str.53, %154 ], [ @.str.49, %150 ]
  store i32 %145, ptr %144, align 4, !tbaa !5
  %156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %157 = load i32, ptr @test_count, align 4, !tbaa !5
  %158 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %159 = load i32, ptr %158, align 4, !tbaa !5
  %160 = tail call ptr @s2n_strerror(i32 noundef %159, ptr noundef nonnull @.str.52) #11
  %161 = load i32, ptr %158, align 4, !tbaa !5
  %162 = tail call ptr @s2n_strerror_debug(i32 noundef %161, ptr noundef nonnull @.str.52) #11
  %163 = load i32, ptr %144, align 4, !tbaa !5
  %164 = tail call ptr @strerror(i32 noundef %163) #11
  %165 = load i32, ptr %144, align 4, !tbaa !5
  %166 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %156, ptr noundef nonnull %.str.53.sink405, i32 noundef %157, ptr noundef nonnull @.str.144, ptr noundef nonnull @.str.51, i32 noundef 307, ptr noundef %160, ptr noundef %162, ptr noundef %164, i32 noundef %165) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

167:                                              ; preds = %140
  %168 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %169 = trunc nuw i8 %168 to i1
  br i1 %169, label %170, label %181

170:                                              ; preds = %167
  %171 = load ptr, ptr @stdout, align 8, !tbaa !9
  %172 = tail call i32 @fileno(ptr noundef %171) #11
  %173 = tail call i32 @isatty(i32 noundef %172) #11
  %.not = icmp eq i32 %173, 0
  br i1 %.not, label %181, label %174

174:                                              ; preds = %170
  %175 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not245 = icmp eq i32 %175, 0
  %176 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not245, label %179, label %177

177:                                              ; preds = %174
  %178 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %176, ptr noundef nonnull @.str.145, i32 noundef %175) #11
  br label %2582

179:                                              ; preds = %174
  %180 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %176, ptr noundef nonnull @.str.146) #11
  br label %2582

181:                                              ; preds = %170, %167
  %182 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not244 = icmp eq i32 %182, 0
  %183 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not244, label %186, label %184

184:                                              ; preds = %181
  %185 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %183, ptr noundef nonnull @.str.147, i32 noundef %182) #11
  br label %2582

186:                                              ; preds = %181
  %187 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %183, ptr noundef nonnull @.str.148) #11
  br label %2582

188:                                              ; preds = %111
  %189 = load i32, ptr @test_count, align 4, !tbaa !5
  %190 = add nsw i32 %189, 1
  store i32 %190, ptr @test_count, align 4, !tbaa !5
  %191 = tail call i32 (...) @s2n_enable_tls13_in_test() #11
  %192 = icmp eq i32 %191, -1
  br i1 %192, label %193, label %217

193:                                              ; preds = %188
  %194 = tail call ptr @__errno_location() #12
  %195 = load i32, ptr %194, align 4, !tbaa !5
  %196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %197 = tail call i32 @s2n_print_stacktrace(ptr noundef %196) #11
  %198 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %199 = trunc nuw i8 %198 to i1
  br i1 %199, label %200, label %204

200:                                              ; preds = %193
  %201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %202 = tail call i32 @fileno(ptr noundef %201) #11
  %203 = tail call i32 @isatty(i32 noundef %202) #11
  %.not327 = icmp eq i32 %203, 0
  br i1 %.not327, label %204, label %205

204:                                              ; preds = %200, %193
  br label %205

205:                                              ; preds = %200, %204
  %.str.53.sink416 = phi ptr [ @.str.53, %204 ], [ @.str.49, %200 ]
  store i32 %195, ptr %194, align 4, !tbaa !5
  %206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %207 = load i32, ptr @test_count, align 4, !tbaa !5
  %208 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %209 = load i32, ptr %208, align 4, !tbaa !5
  %210 = tail call ptr @s2n_strerror(i32 noundef %209, ptr noundef nonnull @.str.52) #11
  %211 = load i32, ptr %208, align 4, !tbaa !5
  %212 = tail call ptr @s2n_strerror_debug(i32 noundef %211, ptr noundef nonnull @.str.52) #11
  %213 = load i32, ptr %194, align 4, !tbaa !5
  %214 = tail call ptr @strerror(i32 noundef %213) #11
  %215 = load i32, ptr %194, align 4, !tbaa !5
  %216 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %206, ptr noundef nonnull %.str.53.sink416, i32 noundef %207, ptr noundef nonnull @.str.149, ptr noundef nonnull @.str.51, i32 noundef 310, ptr noundef %210, ptr noundef %212, ptr noundef %214, i32 noundef %215) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

217:                                              ; preds = %188
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #11
  store ptr null, ptr %3, align 8, !tbaa !9
  %218 = load i32, ptr @test_count, align 4, !tbaa !5
  %219 = add nsw i32 %218, 1
  store i32 %219, ptr @test_count, align 4, !tbaa !5
  %220 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %3, ptr noundef nonnull @.str.150, ptr noundef nonnull @.str.151) #11
  %221 = icmp eq i32 %220, -1
  br i1 %221, label %222, label %246

222:                                              ; preds = %217
  %223 = tail call ptr @__errno_location() #12
  %224 = load i32, ptr %223, align 4, !tbaa !5
  %225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %226 = call i32 @s2n_print_stacktrace(ptr noundef %225) #11
  %227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %228 = trunc nuw i8 %227 to i1
  br i1 %228, label %229, label %233

229:                                              ; preds = %222
  %230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %231 = call i32 @fileno(ptr noundef %230) #11
  %232 = call i32 @isatty(i32 noundef %231) #11
  %.not326 = icmp eq i32 %232, 0
  br i1 %.not326, label %233, label %234

233:                                              ; preds = %229, %222
  br label %234

234:                                              ; preds = %229, %233
  %.str.53.sink427 = phi ptr [ @.str.53, %233 ], [ @.str.49, %229 ]
  store i32 %224, ptr %223, align 4, !tbaa !5
  %235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %236 = load i32, ptr @test_count, align 4, !tbaa !5
  %237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %238 = load i32, ptr %237, align 4, !tbaa !5
  %239 = call ptr @s2n_strerror(i32 noundef %238, ptr noundef nonnull @.str.52) #11
  %240 = load i32, ptr %237, align 4, !tbaa !5
  %241 = call ptr @s2n_strerror_debug(i32 noundef %240, ptr noundef nonnull @.str.52) #11
  %242 = load i32, ptr %223, align 4, !tbaa !5
  %243 = call ptr @strerror(i32 noundef %242) #11
  %244 = load i32, ptr %223, align 4, !tbaa !5
  %245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %235, ptr noundef nonnull %.str.53.sink427, i32 noundef %236, ptr noundef nonnull @.str.152, ptr noundef nonnull @.str.51, i32 noundef 315, ptr noundef %239, ptr noundef %241, ptr noundef %243, i32 noundef %244) #13
  call void @exit(i32 noundef 1) #14
  unreachable

246:                                              ; preds = %217
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) #11
  store i32 0, ptr %4, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) #11
  store i32 0, ptr %5, align 4, !tbaa !5
  %247 = load i32, ptr @test_count, align 4, !tbaa !5
  %248 = add nsw i32 %247, 1
  store i32 %248, ptr @test_count, align 4, !tbaa !5
  %249 = call noalias dereferenceable_or_null(12000) ptr @malloc(i64 noundef 12000) #15
  %250 = icmp eq ptr %249, null
  br i1 %250, label %251, label %275

251:                                              ; preds = %246
  %252 = tail call ptr @__errno_location() #12
  %253 = load i32, ptr %252, align 4, !tbaa !5
  %254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %255 = call i32 @s2n_print_stacktrace(ptr noundef %254) #11
  %256 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %257 = trunc nuw i8 %256 to i1
  br i1 %257, label %258, label %262

258:                                              ; preds = %251
  %259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %260 = call i32 @fileno(ptr noundef %259) #11
  %261 = call i32 @isatty(i32 noundef %260) #11
  %.not325 = icmp eq i32 %261, 0
  br i1 %.not325, label %262, label %263

262:                                              ; preds = %258, %251
  br label %263

263:                                              ; preds = %258, %262
  %.str.53.sink438 = phi ptr [ @.str.53, %262 ], [ @.str.49, %258 ]
  store i32 %253, ptr %252, align 4, !tbaa !5
  %264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %265 = load i32, ptr @test_count, align 4, !tbaa !5
  %266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %267 = load i32, ptr %266, align 4, !tbaa !5
  %268 = call ptr @s2n_strerror(i32 noundef %267, ptr noundef nonnull @.str.52) #11
  %269 = load i32, ptr %266, align 4, !tbaa !5
  %270 = call ptr @s2n_strerror_debug(i32 noundef %269, ptr noundef nonnull @.str.52) #11
  %271 = load i32, ptr %252, align 4, !tbaa !5
  %272 = call ptr @strerror(i32 noundef %271) #11
  %273 = load i32, ptr %252, align 4, !tbaa !5
  %274 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %264, ptr noundef nonnull %.str.53.sink438, i32 noundef %265, ptr noundef nonnull @.str.153, ptr noundef nonnull @.str.51, i32 noundef 326, ptr noundef %268, ptr noundef %270, ptr noundef %272, i32 noundef %273) #13
  call void @exit(i32 noundef 1) #14
  unreachable

275:                                              ; preds = %246
  %276 = add nsw i32 %247, 2
  store i32 %276, ptr @test_count, align 4, !tbaa !5
  %277 = call noalias dereferenceable_or_null(12000) ptr @malloc(i64 noundef 12000) #15
  %278 = icmp eq ptr %277, null
  br i1 %278, label %279, label %303

279:                                              ; preds = %275
  %280 = tail call ptr @__errno_location() #12
  %281 = load i32, ptr %280, align 4, !tbaa !5
  %282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %283 = call i32 @s2n_print_stacktrace(ptr noundef %282) #11
  %284 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %285 = trunc nuw i8 %284 to i1
  br i1 %285, label %286, label %290

286:                                              ; preds = %279
  %287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %288 = call i32 @fileno(ptr noundef %287) #11
  %289 = call i32 @isatty(i32 noundef %288) #11
  %.not324 = icmp eq i32 %289, 0
  br i1 %.not324, label %290, label %291

290:                                              ; preds = %286, %279
  br label %291

291:                                              ; preds = %286, %290
  %.str.53.sink449 = phi ptr [ @.str.53, %290 ], [ @.str.49, %286 ]
  store i32 %281, ptr %280, align 4, !tbaa !5
  %292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %293 = load i32, ptr @test_count, align 4, !tbaa !5
  %294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %295 = load i32, ptr %294, align 4, !tbaa !5
  %296 = call ptr @s2n_strerror(i32 noundef %295, ptr noundef nonnull @.str.52) #11
  %297 = load i32, ptr %294, align 4, !tbaa !5
  %298 = call ptr @s2n_strerror_debug(i32 noundef %297, ptr noundef nonnull @.str.52) #11
  %299 = load i32, ptr %280, align 4, !tbaa !5
  %300 = call ptr @strerror(i32 noundef %299) #11
  %301 = load i32, ptr %280, align 4, !tbaa !5
  %302 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %292, ptr noundef nonnull %.str.53.sink449, i32 noundef %293, ptr noundef nonnull @.str.154, ptr noundef nonnull @.str.51, i32 noundef 327, ptr noundef %296, ptr noundef %298, ptr noundef %300, i32 noundef %301) #13
  call void @exit(i32 noundef 1) #14
  unreachable

303:                                              ; preds = %275
  %304 = add nsw i32 %247, 3
  store i32 %304, ptr @test_count, align 4, !tbaa !5
  %305 = call ptr @s2n_config_new() #11
  %306 = icmp eq ptr %305, null
  br i1 %306, label %307, label %331

307:                                              ; preds = %303
  %308 = tail call ptr @__errno_location() #12
  %309 = load i32, ptr %308, align 4, !tbaa !5
  %310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %311 = call i32 @s2n_print_stacktrace(ptr noundef %310) #11
  %312 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %313 = trunc nuw i8 %312 to i1
  br i1 %313, label %314, label %318

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

318:                                              ; preds = %314, %307
  br label %319

319:                                              ; preds = %314, %318
  %.str.53.sink460 = phi ptr [ @.str.53, %318 ], [ @.str.49, %314 ]
  store i32 %309, ptr %308, align 4, !tbaa !5
  %320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %321 = load i32, ptr @test_count, align 4, !tbaa !5
  %322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %323 = load i32, ptr %322, align 4, !tbaa !5
  %324 = call ptr @s2n_strerror(i32 noundef %323, ptr noundef nonnull @.str.52) #11
  %325 = load i32, ptr %322, align 4, !tbaa !5
  %326 = call ptr @s2n_strerror_debug(i32 noundef %325, ptr noundef nonnull @.str.52) #11
  %327 = load i32, ptr %308, align 4, !tbaa !5
  %328 = call ptr @strerror(i32 noundef %327) #11
  %329 = load i32, ptr %308, align 4, !tbaa !5
  %330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %320, ptr noundef nonnull %.str.53.sink460, i32 noundef %321, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.51, i32 noundef 329, ptr noundef %324, ptr noundef %326, ptr noundef %328, i32 noundef %329) #13
  call void @exit(i32 noundef 1) #14
  unreachable

331:                                              ; preds = %303
  %332 = load i32, ptr @test_count, align 4, !tbaa !5
  %333 = add nsw i32 %332, 1
  store i32 %333, ptr @test_count, align 4, !tbaa !5
  %334 = call ptr @s2n_config_new() #11
  %335 = icmp eq ptr %334, null
  br i1 %335, label %336, label %360

336:                                              ; preds = %331
  %337 = tail call ptr @__errno_location() #12
  %338 = load i32, ptr %337, align 4, !tbaa !5
  %339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %340 = call i32 @s2n_print_stacktrace(ptr noundef %339) #11
  %341 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %342 = trunc nuw i8 %341 to i1
  br i1 %342, label %343, label %347

343:                                              ; preds = %336
  %344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %345 = call i32 @fileno(ptr noundef %344) #11
  %346 = call i32 @isatty(i32 noundef %345) #11
  %.not322 = icmp eq i32 %346, 0
  br i1 %.not322, label %347, label %348

347:                                              ; preds = %343, %336
  br label %348

348:                                              ; preds = %343, %347
  %.str.53.sink471 = phi ptr [ @.str.53, %347 ], [ @.str.49, %343 ]
  store i32 %338, ptr %337, align 4, !tbaa !5
  %349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %350 = load i32, ptr @test_count, align 4, !tbaa !5
  %351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %352 = load i32, ptr %351, align 4, !tbaa !5
  %353 = call ptr @s2n_strerror(i32 noundef %352, ptr noundef nonnull @.str.52) #11
  %354 = load i32, ptr %351, align 4, !tbaa !5
  %355 = call ptr @s2n_strerror_debug(i32 noundef %354, ptr noundef nonnull @.str.52) #11
  %356 = load i32, ptr %337, align 4, !tbaa !5
  %357 = call ptr @strerror(i32 noundef %356) #11
  %358 = load i32, ptr %337, align 4, !tbaa !5
  %359 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %349, ptr noundef nonnull %.str.53.sink471, i32 noundef %350, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.51, i32 noundef 330, ptr noundef %353, ptr noundef %355, ptr noundef %357, i32 noundef %358) #13
  call void @exit(i32 noundef 1) #14
  unreachable

360:                                              ; preds = %331
  %361 = load i32, ptr @test_count, align 4, !tbaa !5
  %362 = add nsw i32 %361, 1
  store i32 %362, ptr @test_count, align 4, !tbaa !5
  %363 = call i32 @s2n_config_set_cipher_preferences(ptr noundef nonnull %305, ptr noundef nonnull @.str.77) #11
  %364 = icmp eq i32 %363, -1
  br i1 %364, label %365, label %389

365:                                              ; preds = %360
  %366 = tail call ptr @__errno_location() #12
  %367 = load i32, ptr %366, align 4, !tbaa !5
  %368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %369 = call i32 @s2n_print_stacktrace(ptr noundef %368) #11
  %370 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %371 = trunc nuw i8 %370 to i1
  br i1 %371, label %372, label %376

372:                                              ; preds = %365
  %373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %374 = call i32 @fileno(ptr noundef %373) #11
  %375 = call i32 @isatty(i32 noundef %374) #11
  %.not321 = icmp eq i32 %375, 0
  br i1 %.not321, label %376, label %377

376:                                              ; preds = %372, %365
  br label %377

377:                                              ; preds = %372, %376
  %.str.53.sink482 = phi ptr [ @.str.53, %376 ], [ @.str.49, %372 ]
  store i32 %367, ptr %366, align 4, !tbaa !5
  %378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %379 = load i32, ptr @test_count, align 4, !tbaa !5
  %380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %381 = load i32, ptr %380, align 4, !tbaa !5
  %382 = call ptr @s2n_strerror(i32 noundef %381, ptr noundef nonnull @.str.52) #11
  %383 = load i32, ptr %380, align 4, !tbaa !5
  %384 = call ptr @s2n_strerror_debug(i32 noundef %383, ptr noundef nonnull @.str.52) #11
  %385 = load i32, ptr %366, align 4, !tbaa !5
  %386 = call ptr @strerror(i32 noundef %385) #11
  %387 = load i32, ptr %366, align 4, !tbaa !5
  %388 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %378, ptr noundef nonnull %.str.53.sink482, i32 noundef %379, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.51, i32 noundef 332, ptr noundef %382, ptr noundef %384, ptr noundef %386, i32 noundef %387) #13
  call void @exit(i32 noundef 1) #14
  unreachable

389:                                              ; preds = %360
  %390 = load i32, ptr @test_count, align 4, !tbaa !5
  %391 = add nsw i32 %390, 1
  store i32 %391, ptr @test_count, align 4, !tbaa !5
  %392 = call i32 @s2n_config_set_cipher_preferences(ptr noundef nonnull %334, ptr noundef nonnull @.str.77) #11
  %393 = icmp eq i32 %392, -1
  br i1 %393, label %394, label %418

394:                                              ; preds = %389
  %395 = tail call ptr @__errno_location() #12
  %396 = load i32, ptr %395, align 4, !tbaa !5
  %397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %398 = call i32 @s2n_print_stacktrace(ptr noundef %397) #11
  %399 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %400 = trunc nuw i8 %399 to i1
  br i1 %400, label %401, label %405

401:                                              ; preds = %394
  %402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %403 = call i32 @fileno(ptr noundef %402) #11
  %404 = call i32 @isatty(i32 noundef %403) #11
  %.not320 = icmp eq i32 %404, 0
  br i1 %.not320, label %405, label %406

405:                                              ; preds = %401, %394
  br label %406

406:                                              ; preds = %401, %405
  %.str.53.sink493 = phi ptr [ @.str.53, %405 ], [ @.str.49, %401 ]
  store i32 %396, ptr %395, align 4, !tbaa !5
  %407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %408 = load i32, ptr @test_count, align 4, !tbaa !5
  %409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %410 = load i32, ptr %409, align 4, !tbaa !5
  %411 = call ptr @s2n_strerror(i32 noundef %410, ptr noundef nonnull @.str.52) #11
  %412 = load i32, ptr %409, align 4, !tbaa !5
  %413 = call ptr @s2n_strerror_debug(i32 noundef %412, ptr noundef nonnull @.str.52) #11
  %414 = load i32, ptr %395, align 4, !tbaa !5
  %415 = call ptr @strerror(i32 noundef %414) #11
  %416 = load i32, ptr %395, align 4, !tbaa !5
  %417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %407, ptr noundef nonnull %.str.53.sink493, i32 noundef %408, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.51, i32 noundef 333, ptr noundef %411, ptr noundef %413, ptr noundef %415, i32 noundef %416) #13
  call void @exit(i32 noundef 1) #14
  unreachable

418:                                              ; preds = %389
  %419 = load i32, ptr @test_count, align 4, !tbaa !5
  %420 = add nsw i32 %419, 1
  store i32 %420, ptr @test_count, align 4, !tbaa !5
  %421 = call i32 @s2n_read_test_pem_and_len(ptr noundef nonnull @.str.82, ptr noundef nonnull %249, ptr noundef nonnull %4, i64 noundef 12000) #11
  %422 = icmp eq i32 %421, -1
  br i1 %422, label %423, label %447

423:                                              ; preds = %418
  %424 = tail call ptr @__errno_location() #12
  %425 = load i32, ptr %424, align 4, !tbaa !5
  %426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %427 = call i32 @s2n_print_stacktrace(ptr noundef %426) #11
  %428 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %429 = trunc nuw i8 %428 to i1
  br i1 %429, label %430, label %434

430:                                              ; preds = %423
  %431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %432 = call i32 @fileno(ptr noundef %431) #11
  %433 = call i32 @isatty(i32 noundef %432) #11
  %.not319 = icmp eq i32 %433, 0
  br i1 %.not319, label %434, label %435

434:                                              ; preds = %430, %423
  br label %435

435:                                              ; preds = %430, %434
  %.str.53.sink504 = phi ptr [ @.str.53, %434 ], [ @.str.49, %430 ]
  store i32 %425, ptr %424, align 4, !tbaa !5
  %436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %437 = load i32, ptr @test_count, align 4, !tbaa !5
  %438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %439 = load i32, ptr %438, align 4, !tbaa !5
  %440 = call ptr @s2n_strerror(i32 noundef %439, ptr noundef nonnull @.str.52) #11
  %441 = load i32, ptr %438, align 4, !tbaa !5
  %442 = call ptr @s2n_strerror_debug(i32 noundef %441, ptr noundef nonnull @.str.52) #11
  %443 = load i32, ptr %424, align 4, !tbaa !5
  %444 = call ptr @strerror(i32 noundef %443) #11
  %445 = load i32, ptr %424, align 4, !tbaa !5
  %446 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %436, ptr noundef nonnull %.str.53.sink504, i32 noundef %437, ptr noundef nonnull @.str.155, ptr noundef nonnull @.str.51, i32 noundef 335, ptr noundef %440, ptr noundef %442, ptr noundef %444, i32 noundef %445) #13
  call void @exit(i32 noundef 1) #14
  unreachable

447:                                              ; preds = %418
  %448 = load i32, ptr @test_count, align 4, !tbaa !5
  %449 = add nsw i32 %448, 1
  store i32 %449, ptr @test_count, align 4, !tbaa !5
  %450 = call i32 @s2n_read_test_pem_and_len(ptr noundef nonnull @.str.84, ptr noundef nonnull %277, ptr noundef nonnull %5, i64 noundef 12000) #11
  %451 = icmp eq i32 %450, -1
  br i1 %451, label %452, label %476

452:                                              ; preds = %447
  %453 = tail call ptr @__errno_location() #12
  %454 = load i32, ptr %453, align 4, !tbaa !5
  %455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %456 = call i32 @s2n_print_stacktrace(ptr noundef %455) #11
  %457 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %458 = trunc nuw i8 %457 to i1
  br i1 %458, label %459, label %463

459:                                              ; preds = %452
  %460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %461 = call i32 @fileno(ptr noundef %460) #11
  %462 = call i32 @isatty(i32 noundef %461) #11
  %.not318 = icmp eq i32 %462, 0
  br i1 %.not318, label %463, label %464

463:                                              ; preds = %459, %452
  br label %464

464:                                              ; preds = %459, %463
  %.str.53.sink515 = phi ptr [ @.str.53, %463 ], [ @.str.49, %459 ]
  store i32 %454, ptr %453, 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 nonnull @.str.52) #11
  %470 = load i32, ptr %467, align 4, !tbaa !5
  %471 = call ptr @s2n_strerror_debug(i32 noundef %470, ptr noundef nonnull @.str.52) #11
  %472 = load i32, ptr %453, align 4, !tbaa !5
  %473 = call ptr @strerror(i32 noundef %472) #11
  %474 = load i32, ptr %453, align 4, !tbaa !5
  %475 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %465, ptr noundef nonnull %.str.53.sink515, i32 noundef %466, ptr noundef nonnull @.str.156, ptr noundef nonnull @.str.51, i32 noundef 336, ptr noundef %469, ptr noundef %471, ptr noundef %473, i32 noundef %474) #13
  call void @exit(i32 noundef 1) #14
  unreachable

476:                                              ; preds = %447
  %477 = load i32, ptr @test_count, align 4, !tbaa !5
  %478 = add nsw i32 %477, 1
  store i32 %478, ptr @test_count, align 4, !tbaa !5
  %479 = call ptr @s2n_cert_chain_and_key_new() #11
  %480 = icmp eq ptr %479, null
  br i1 %480, label %481, label %505

481:                                              ; preds = %476
  %482 = tail call ptr @__errno_location() #12
  %483 = load i32, ptr %482, align 4, !tbaa !5
  %484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %485 = call i32 @s2n_print_stacktrace(ptr noundef %484) #11
  %486 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %487 = trunc nuw i8 %486 to i1
  br i1 %487, label %488, label %492

488:                                              ; preds = %481
  %489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %490 = call i32 @fileno(ptr noundef %489) #11
  %491 = call i32 @isatty(i32 noundef %490) #11
  %.not317 = icmp eq i32 %491, 0
  br i1 %.not317, label %492, label %493

492:                                              ; preds = %488, %481
  br label %493

493:                                              ; preds = %488, %492
  %.str.53.sink526 = phi ptr [ @.str.53, %492 ], [ @.str.49, %488 ]
  store i32 %483, ptr %482, align 4, !tbaa !5
  %494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %495 = load i32, ptr @test_count, align 4, !tbaa !5
  %496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %497 = load i32, ptr %496, align 4, !tbaa !5
  %498 = call ptr @s2n_strerror(i32 noundef %497, ptr noundef nonnull @.str.52) #11
  %499 = load i32, ptr %496, align 4, !tbaa !5
  %500 = call ptr @s2n_strerror_debug(i32 noundef %499, ptr noundef nonnull @.str.52) #11
  %501 = load i32, ptr %482, align 4, !tbaa !5
  %502 = call ptr @strerror(i32 noundef %501) #11
  %503 = load i32, ptr %482, align 4, !tbaa !5
  %504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %494, ptr noundef nonnull %.str.53.sink526, i32 noundef %495, ptr noundef nonnull @.str.157, ptr noundef nonnull @.str.51, i32 noundef 337, ptr noundef %498, ptr noundef %500, ptr noundef %502, i32 noundef %503) #13
  call void @exit(i32 noundef 1) #14
  unreachable

505:                                              ; preds = %476
  %506 = load i32, ptr @test_count, align 4, !tbaa !5
  %507 = add nsw i32 %506, 1
  store i32 %507, ptr @test_count, align 4, !tbaa !5
  %508 = load i32, ptr %4, align 4, !tbaa !5
  %509 = load i32, ptr %5, align 4, !tbaa !5
  %510 = call i32 @s2n_cert_chain_and_key_load_pem_bytes(ptr noundef nonnull %479, ptr noundef nonnull %249, i32 noundef %508, ptr noundef nonnull %277, i32 noundef %509) #11
  %511 = icmp eq i32 %510, -1
  br i1 %511, label %512, label %536

512:                                              ; preds = %505
  %513 = tail call ptr @__errno_location() #12
  %514 = load i32, ptr %513, align 4, !tbaa !5
  %515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %516 = call i32 @s2n_print_stacktrace(ptr noundef %515) #11
  %517 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %518 = trunc nuw i8 %517 to i1
  br i1 %518, label %519, label %523

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
  %.not316 = icmp eq i32 %522, 0
  br i1 %.not316, label %523, label %524

523:                                              ; preds = %519, %512
  br label %524

524:                                              ; preds = %519, %523
  %.str.53.sink537 = phi ptr [ @.str.53, %523 ], [ @.str.49, %519 ]
  store i32 %514, ptr %513, align 4, !tbaa !5
  %525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %526 = load i32, ptr @test_count, align 4, !tbaa !5
  %527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %528 = load i32, ptr %527, align 4, !tbaa !5
  %529 = call ptr @s2n_strerror(i32 noundef %528, ptr noundef nonnull @.str.52) #11
  %530 = load i32, ptr %527, align 4, !tbaa !5
  %531 = call ptr @s2n_strerror_debug(i32 noundef %530, ptr noundef nonnull @.str.52) #11
  %532 = load i32, ptr %513, align 4, !tbaa !5
  %533 = call ptr @strerror(i32 noundef %532) #11
  %534 = load i32, ptr %513, align 4, !tbaa !5
  %535 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %525, ptr noundef nonnull %.str.53.sink537, i32 noundef %526, ptr noundef nonnull @.str.158, ptr noundef nonnull @.str.51, i32 noundef 338, ptr noundef %529, ptr noundef %531, ptr noundef %533, i32 noundef %534) #13
  call void @exit(i32 noundef 1) #14
  unreachable

536:                                              ; preds = %505
  %537 = load i32, ptr @test_count, align 4, !tbaa !5
  %538 = add nsw i32 %537, 1
  store i32 %538, ptr @test_count, align 4, !tbaa !5
  %539 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %305, ptr noundef nonnull %479) #11
  %540 = icmp eq i32 %539, -1
  br i1 %540, label %541, label %565

541:                                              ; preds = %536
  %542 = tail call ptr @__errno_location() #12
  %543 = load i32, ptr %542, align 4, !tbaa !5
  %544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %545 = call i32 @s2n_print_stacktrace(ptr noundef %544) #11
  %546 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %547 = trunc nuw i8 %546 to i1
  br i1 %547, label %548, label %552

548:                                              ; preds = %541
  %549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %550 = call i32 @fileno(ptr noundef %549) #11
  %551 = call i32 @isatty(i32 noundef %550) #11
  %.not315 = icmp eq i32 %551, 0
  br i1 %.not315, label %552, label %553

552:                                              ; preds = %548, %541
  br label %553

553:                                              ; preds = %548, %552
  %.str.53.sink548 = phi ptr [ @.str.53, %552 ], [ @.str.49, %548 ]
  store i32 %543, ptr %542, align 4, !tbaa !5
  %554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %555 = load i32, ptr @test_count, align 4, !tbaa !5
  %556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %557 = load i32, ptr %556, align 4, !tbaa !5
  %558 = call ptr @s2n_strerror(i32 noundef %557, ptr noundef nonnull @.str.52) #11
  %559 = load i32, ptr %556, align 4, !tbaa !5
  %560 = call ptr @s2n_strerror_debug(i32 noundef %559, ptr noundef nonnull @.str.52) #11
  %561 = load i32, ptr %542, align 4, !tbaa !5
  %562 = call ptr @strerror(i32 noundef %561) #11
  %563 = load i32, ptr %542, align 4, !tbaa !5
  %564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %554, ptr noundef nonnull %.str.53.sink548, i32 noundef %555, ptr noundef nonnull @.str.159, ptr noundef nonnull @.str.51, i32 noundef 339, ptr noundef %558, ptr noundef %560, ptr noundef %562, i32 noundef %563) #13
  call void @exit(i32 noundef 1) #14
  unreachable

565:                                              ; preds = %536
  %566 = load i32, ptr @test_count, align 4, !tbaa !5
  %567 = add nsw i32 %566, 1
  store i32 %567, ptr @test_count, align 4, !tbaa !5
  %568 = call i32 @s2n_config_set_verification_ca_location(ptr noundef nonnull %334, ptr noundef nonnull @.str.82, ptr noundef null) #11
  %569 = icmp eq i32 %568, -1
  br i1 %569, label %570, label %594

570:                                              ; preds = %565
  %571 = tail call ptr @__errno_location() #12
  %572 = load i32, ptr %571, align 4, !tbaa !5
  %573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %574 = call i32 @s2n_print_stacktrace(ptr noundef %573) #11
  %575 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %576 = trunc nuw i8 %575 to i1
  br i1 %576, label %577, label %581

577:                                              ; preds = %570
  %578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %579 = call i32 @fileno(ptr noundef %578) #11
  %580 = call i32 @isatty(i32 noundef %579) #11
  %.not314 = icmp eq i32 %580, 0
  br i1 %.not314, label %581, label %582

581:                                              ; preds = %577, %570
  br label %582

582:                                              ; preds = %577, %581
  %.str.53.sink559 = phi ptr [ @.str.53, %581 ], [ @.str.49, %577 ]
  store i32 %572, ptr %571, align 4, !tbaa !5
  %583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %584 = load i32, ptr @test_count, align 4, !tbaa !5
  %585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %586 = load i32, ptr %585, align 4, !tbaa !5
  %587 = call ptr @s2n_strerror(i32 noundef %586, ptr noundef nonnull @.str.52) #11
  %588 = load i32, ptr %585, align 4, !tbaa !5
  %589 = call ptr @s2n_strerror_debug(i32 noundef %588, ptr noundef nonnull @.str.52) #11
  %590 = load i32, ptr %571, align 4, !tbaa !5
  %591 = call ptr @strerror(i32 noundef %590) #11
  %592 = load i32, ptr %571, align 4, !tbaa !5
  %593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %583, ptr noundef nonnull %.str.53.sink559, i32 noundef %584, ptr noundef nonnull @.str.160, ptr noundef nonnull @.str.51, i32 noundef 341, ptr noundef %587, ptr noundef %589, ptr noundef %591, i32 noundef %592) #13
  call void @exit(i32 noundef 1) #14
  unreachable

594:                                              ; preds = %565
  %595 = load i32, ptr @test_count, align 4, !tbaa !5
  %596 = add nsw i32 %595, 1
  store i32 %596, ptr @test_count, align 4, !tbaa !5
  %597 = call i32 @s2n_test_client_auth_negotiation(ptr noundef nonnull %305, ptr noundef nonnull %334, ptr noundef nonnull %479, i1 noundef zeroext true)
  %598 = icmp eq i32 %597, -1
  br i1 %598, label %599, label %623

599:                                              ; preds = %594
  %600 = tail call ptr @__errno_location() #12
  %601 = load i32, ptr %600, align 4, !tbaa !5
  %602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %603 = call i32 @s2n_print_stacktrace(ptr noundef %602) #11
  %604 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %605 = trunc nuw i8 %604 to i1
  br i1 %605, label %606, label %610

606:                                              ; preds = %599
  %607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %608 = call i32 @fileno(ptr noundef %607) #11
  %609 = call i32 @isatty(i32 noundef %608) #11
  %.not313 = icmp eq i32 %609, 0
  br i1 %.not313, label %610, label %611

610:                                              ; preds = %606, %599
  br label %611

611:                                              ; preds = %606, %610
  %.str.53.sink570 = phi ptr [ @.str.53, %610 ], [ @.str.49, %606 ]
  store i32 %601, ptr %600, align 4, !tbaa !5
  %612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %613 = load i32, ptr @test_count, align 4, !tbaa !5
  %614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %615 = load i32, ptr %614, align 4, !tbaa !5
  %616 = call ptr @s2n_strerror(i32 noundef %615, ptr noundef nonnull @.str.52) #11
  %617 = load i32, ptr %614, align 4, !tbaa !5
  %618 = call ptr @s2n_strerror_debug(i32 noundef %617, ptr noundef nonnull @.str.52) #11
  %619 = load i32, ptr %600, align 4, !tbaa !5
  %620 = call ptr @strerror(i32 noundef %619) #11
  %621 = load i32, ptr %600, align 4, !tbaa !5
  %622 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %612, ptr noundef nonnull %.str.53.sink570, i32 noundef %613, ptr noundef nonnull @.str.161, ptr noundef nonnull @.str.51, i32 noundef 344, ptr noundef %616, ptr noundef %618, ptr noundef %620, i32 noundef %621) #13
  call void @exit(i32 noundef 1) #14
  unreachable

623:                                              ; preds = %594
  %624 = load i32, ptr @test_count, align 4, !tbaa !5
  %625 = add nsw i32 %624, 1
  store i32 %625, ptr @test_count, align 4, !tbaa !5
  %626 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %334, ptr noundef nonnull %479) #11
  %627 = icmp eq i32 %626, -1
  br i1 %627, label %628, label %652

628:                                              ; preds = %623
  %629 = tail call ptr @__errno_location() #12
  %630 = load i32, ptr %629, align 4, !tbaa !5
  %631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %632 = call i32 @s2n_print_stacktrace(ptr noundef %631) #11
  %633 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %634 = trunc nuw i8 %633 to i1
  br i1 %634, label %635, label %639

635:                                              ; preds = %628
  %636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %637 = call i32 @fileno(ptr noundef %636) #11
  %638 = call i32 @isatty(i32 noundef %637) #11
  %.not312 = icmp eq i32 %638, 0
  br i1 %.not312, label %639, label %640

639:                                              ; preds = %635, %628
  br label %640

640:                                              ; preds = %635, %639
  %.str.53.sink581 = phi ptr [ @.str.53, %639 ], [ @.str.49, %635 ]
  store i32 %630, ptr %629, align 4, !tbaa !5
  %641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %642 = load i32, ptr @test_count, align 4, !tbaa !5
  %643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %644 = load i32, ptr %643, align 4, !tbaa !5
  %645 = call ptr @s2n_strerror(i32 noundef %644, ptr noundef nonnull @.str.52) #11
  %646 = load i32, ptr %643, align 4, !tbaa !5
  %647 = call ptr @s2n_strerror_debug(i32 noundef %646, ptr noundef nonnull @.str.52) #11
  %648 = load i32, ptr %629, align 4, !tbaa !5
  %649 = call ptr @strerror(i32 noundef %648) #11
  %650 = load i32, ptr %629, align 4, !tbaa !5
  %651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %641, ptr noundef nonnull %.str.53.sink581, i32 noundef %642, ptr noundef nonnull @.str.162, ptr noundef nonnull @.str.51, i32 noundef 347, ptr noundef %645, ptr noundef %647, ptr noundef %649, i32 noundef %650) #13
  call void @exit(i32 noundef 1) #14
  unreachable

652:                                              ; preds = %623
  %653 = load i32, ptr @test_count, align 4, !tbaa !5
  %654 = add nsw i32 %653, 1
  store i32 %654, ptr @test_count, align 4, !tbaa !5
  %655 = call i32 @s2n_test_client_auth_negotiation(ptr noundef nonnull %305, ptr noundef nonnull %334, ptr noundef nonnull %479, i1 noundef zeroext false)
  %656 = icmp eq i32 %655, -1
  br i1 %656, label %657, label %681

657:                                              ; preds = %652
  %658 = tail call ptr @__errno_location() #12
  %659 = load i32, ptr %658, align 4, !tbaa !5
  %660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %661 = call i32 @s2n_print_stacktrace(ptr noundef %660) #11
  %662 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %663 = trunc nuw i8 %662 to i1
  br i1 %663, label %664, label %668

664:                                              ; preds = %657
  %665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %666 = call i32 @fileno(ptr noundef %665) #11
  %667 = call i32 @isatty(i32 noundef %666) #11
  %.not311 = icmp eq i32 %667, 0
  br i1 %.not311, label %668, label %669

668:                                              ; preds = %664, %657
  br label %669

669:                                              ; preds = %664, %668
  %.str.53.sink592 = phi ptr [ @.str.53, %668 ], [ @.str.49, %664 ]
  store i32 %659, ptr %658, align 4, !tbaa !5
  %670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %671 = load i32, ptr @test_count, align 4, !tbaa !5
  %672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %673 = load i32, ptr %672, align 4, !tbaa !5
  %674 = call ptr @s2n_strerror(i32 noundef %673, ptr noundef nonnull @.str.52) #11
  %675 = load i32, ptr %672, align 4, !tbaa !5
  %676 = call ptr @s2n_strerror_debug(i32 noundef %675, ptr noundef nonnull @.str.52) #11
  %677 = load i32, ptr %658, align 4, !tbaa !5
  %678 = call ptr @strerror(i32 noundef %677) #11
  %679 = load i32, ptr %658, align 4, !tbaa !5
  %680 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %670, ptr noundef nonnull %.str.53.sink592, i32 noundef %671, ptr noundef nonnull @.str.163, ptr noundef nonnull @.str.51, i32 noundef 348, ptr noundef %674, ptr noundef %676, ptr noundef %678, i32 noundef %679) #13
  call void @exit(i32 noundef 1) #14
  unreachable

681:                                              ; preds = %652
  %682 = load i32, ptr @test_count, align 4, !tbaa !5
  %683 = add nsw i32 %682, 1
  store i32 %683, ptr @test_count, align 4, !tbaa !5
  %684 = call i32 @s2n_cert_chain_and_key_free(ptr noundef nonnull %479) #11
  %685 = icmp eq i32 %684, -1
  br i1 %685, label %686, label %710

686:                                              ; preds = %681
  %687 = tail call ptr @__errno_location() #12
  %688 = load i32, ptr %687, align 4, !tbaa !5
  %689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %690 = call i32 @s2n_print_stacktrace(ptr noundef %689) #11
  %691 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %692 = trunc nuw i8 %691 to i1
  br i1 %692, label %693, label %697

693:                                              ; preds = %686
  %694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %695 = call i32 @fileno(ptr noundef %694) #11
  %696 = call i32 @isatty(i32 noundef %695) #11
  %.not310 = icmp eq i32 %696, 0
  br i1 %.not310, label %697, label %698

697:                                              ; preds = %693, %686
  br label %698

698:                                              ; preds = %693, %697
  %.str.53.sink603 = phi ptr [ @.str.53, %697 ], [ @.str.49, %693 ]
  store i32 %688, ptr %687, align 4, !tbaa !5
  %699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %700 = load i32, ptr @test_count, align 4, !tbaa !5
  %701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %702 = load i32, ptr %701, align 4, !tbaa !5
  %703 = call ptr @s2n_strerror(i32 noundef %702, ptr noundef nonnull @.str.52) #11
  %704 = load i32, ptr %701, align 4, !tbaa !5
  %705 = call ptr @s2n_strerror_debug(i32 noundef %704, ptr noundef nonnull @.str.52) #11
  %706 = load i32, ptr %687, align 4, !tbaa !5
  %707 = call ptr @strerror(i32 noundef %706) #11
  %708 = load i32, ptr %687, align 4, !tbaa !5
  %709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %699, ptr noundef nonnull %.str.53.sink603, i32 noundef %700, ptr noundef nonnull @.str.164, ptr noundef nonnull @.str.51, i32 noundef 350, ptr noundef %703, ptr noundef %705, ptr noundef %707, i32 noundef %708) #13
  call void @exit(i32 noundef 1) #14
  unreachable

710:                                              ; preds = %681
  %711 = load i32, ptr @test_count, align 4, !tbaa !5
  %712 = add nsw i32 %711, 1
  store i32 %712, ptr @test_count, align 4, !tbaa !5
  %713 = call i32 @s2n_config_free(ptr noundef nonnull %305) #11
  %714 = icmp eq i32 %713, -1
  br i1 %714, label %715, label %739

715:                                              ; preds = %710
  %716 = tail call ptr @__errno_location() #12
  %717 = load i32, ptr %716, align 4, !tbaa !5
  %718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %719 = call i32 @s2n_print_stacktrace(ptr noundef %718) #11
  %720 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %721 = trunc nuw i8 %720 to i1
  br i1 %721, label %722, label %726

722:                                              ; preds = %715
  %723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %724 = call i32 @fileno(ptr noundef %723) #11
  %725 = call i32 @isatty(i32 noundef %724) #11
  %.not309 = icmp eq i32 %725, 0
  br i1 %.not309, label %726, label %727

726:                                              ; preds = %722, %715
  br label %727

727:                                              ; preds = %722, %726
  %.str.53.sink614 = phi ptr [ @.str.53, %726 ], [ @.str.49, %722 ]
  store i32 %717, ptr %716, align 4, !tbaa !5
  %728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %729 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %731, ptr noundef nonnull @.str.52) #11
  %733 = load i32, ptr %730, align 4, !tbaa !5
  %734 = call ptr @s2n_strerror_debug(i32 noundef %733, ptr noundef nonnull @.str.52) #11
  %735 = load i32, ptr %716, align 4, !tbaa !5
  %736 = call ptr @strerror(i32 noundef %735) #11
  %737 = load i32, ptr %716, align 4, !tbaa !5
  %738 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %728, ptr noundef nonnull %.str.53.sink614, i32 noundef %729, ptr noundef nonnull @.str.137, ptr noundef nonnull @.str.51, i32 noundef 351, ptr noundef %732, ptr noundef %734, ptr noundef %736, i32 noundef %737) #13
  call void @exit(i32 noundef 1) #14
  unreachable

739:                                              ; preds = %710
  %740 = load i32, ptr @test_count, align 4, !tbaa !5
  %741 = add nsw i32 %740, 1
  store i32 %741, ptr @test_count, align 4, !tbaa !5
  %742 = call i32 @s2n_config_free(ptr noundef nonnull %334) #11
  %743 = icmp eq i32 %742, -1
  br i1 %743, label %744, label %768

744:                                              ; preds = %739
  %745 = tail call ptr @__errno_location() #12
  %746 = load i32, ptr %745, align 4, !tbaa !5
  %747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %748 = call i32 @s2n_print_stacktrace(ptr noundef %747) #11
  %749 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %750 = trunc nuw i8 %749 to i1
  br i1 %750, label %751, label %755

751:                                              ; preds = %744
  %752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %753 = call i32 @fileno(ptr noundef %752) #11
  %754 = call i32 @isatty(i32 noundef %753) #11
  %.not308 = icmp eq i32 %754, 0
  br i1 %.not308, label %755, label %756

755:                                              ; preds = %751, %744
  br label %756

756:                                              ; preds = %751, %755
  %.str.53.sink625 = phi ptr [ @.str.53, %755 ], [ @.str.49, %751 ]
  store i32 %746, ptr %745, align 4, !tbaa !5
  %757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %758 = load i32, ptr @test_count, align 4, !tbaa !5
  %759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %760 = load i32, ptr %759, align 4, !tbaa !5
  %761 = call ptr @s2n_strerror(i32 noundef %760, ptr noundef nonnull @.str.52) #11
  %762 = load i32, ptr %759, align 4, !tbaa !5
  %763 = call ptr @s2n_strerror_debug(i32 noundef %762, ptr noundef nonnull @.str.52) #11
  %764 = load i32, ptr %745, align 4, !tbaa !5
  %765 = call ptr @strerror(i32 noundef %764) #11
  %766 = load i32, ptr %745, align 4, !tbaa !5
  %767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %757, ptr noundef nonnull %.str.53.sink625, i32 noundef %758, ptr noundef nonnull @.str.138, ptr noundef nonnull @.str.51, i32 noundef 352, ptr noundef %761, ptr noundef %763, ptr noundef %765, i32 noundef %766) #13
  call void @exit(i32 noundef 1) #14
  unreachable

768:                                              ; preds = %739
  call void @free(ptr noundef nonnull %249) #11
  call void @free(ptr noundef nonnull %277) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #11
  %769 = call i32 @s2n_test_client_auth_message_by_message(i1 noundef zeroext true)
  %770 = call i32 @s2n_test_client_auth_message_by_message(i1 noundef zeroext false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #11
  %771 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %771, ptr %6, align 8, !tbaa !9
  %772 = load i32, ptr @test_count, align 4, !tbaa !5
  %773 = add nsw i32 %772, 1
  store i32 %773, ptr @test_count, align 4, !tbaa !5
  %774 = icmp eq ptr %771, null
  br i1 %774, label %775, label %799

775:                                              ; preds = %768
  %776 = tail call ptr @__errno_location() #12
  %777 = load i32, ptr %776, align 4, !tbaa !5
  %778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %779 = call i32 @s2n_print_stacktrace(ptr noundef %778) #11
  %780 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %781 = trunc nuw i8 %780 to i1
  br i1 %781, label %782, label %786

782:                                              ; preds = %775
  %783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %784 = call i32 @fileno(ptr noundef %783) #11
  %785 = call i32 @isatty(i32 noundef %784) #11
  %.not307 = icmp eq i32 %785, 0
  br i1 %.not307, label %786, label %787

786:                                              ; preds = %782, %775
  br label %787

787:                                              ; preds = %782, %786
  %.str.53.sink636 = phi ptr [ @.str.53, %786 ], [ @.str.49, %782 ]
  store i32 %777, ptr %776, 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 nonnull @.str.52) #11
  %793 = load i32, ptr %790, align 4, !tbaa !5
  %794 = call ptr @s2n_strerror_debug(i32 noundef %793, ptr noundef nonnull @.str.52) #11
  %795 = load i32, ptr %776, align 4, !tbaa !5
  %796 = call ptr @strerror(i32 noundef %795) #11
  %797 = load i32, ptr %776, align 4, !tbaa !5
  %798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %788, ptr noundef nonnull %.str.53.sink636, i32 noundef %789, ptr noundef nonnull @.str.165, ptr noundef nonnull @.str.51, i32 noundef 370, ptr noundef %792, ptr noundef %794, ptr noundef %796, i32 noundef %797) #13
  call void @exit(i32 noundef 1) #14
  unreachable

799:                                              ; preds = %768
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #11
  %800 = call ptr @s2n_config_new() #11
  store ptr %800, ptr %7, align 8, !tbaa !9
  %801 = load i32, ptr @test_count, align 4, !tbaa !5
  %802 = add nsw i32 %801, 1
  store i32 %802, ptr @test_count, align 4, !tbaa !5
  %803 = load ptr, ptr %3, align 8, !tbaa !9
  %804 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %800, ptr noundef %803) #11
  %805 = icmp eq i32 %804, -1
  br i1 %805, label %806, label %830

806:                                              ; preds = %799
  %807 = tail call ptr @__errno_location() #12
  %808 = load i32, ptr %807, align 4, !tbaa !5
  %809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %810 = call i32 @s2n_print_stacktrace(ptr noundef %809) #11
  %811 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %812 = trunc nuw i8 %811 to i1
  br i1 %812, label %813, label %817

813:                                              ; preds = %806
  %814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %815 = call i32 @fileno(ptr noundef %814) #11
  %816 = call i32 @isatty(i32 noundef %815) #11
  %.not306 = icmp eq i32 %816, 0
  br i1 %.not306, label %817, label %818

817:                                              ; preds = %813, %806
  br label %818

818:                                              ; preds = %813, %817
  %.str.53.sink647 = phi ptr [ @.str.53, %817 ], [ @.str.49, %813 ]
  store i32 %808, ptr %807, align 4, !tbaa !5
  %819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %820 = load i32, ptr @test_count, align 4, !tbaa !5
  %821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %822 = load i32, ptr %821, align 4, !tbaa !5
  %823 = call ptr @s2n_strerror(i32 noundef %822, ptr noundef nonnull @.str.52) #11
  %824 = load i32, ptr %821, align 4, !tbaa !5
  %825 = call ptr @s2n_strerror_debug(i32 noundef %824, ptr noundef nonnull @.str.52) #11
  %826 = load i32, ptr %807, align 4, !tbaa !5
  %827 = call ptr @strerror(i32 noundef %826) #11
  %828 = load i32, ptr %807, align 4, !tbaa !5
  %829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %819, ptr noundef nonnull %.str.53.sink647, i32 noundef %820, ptr noundef nonnull @.str.166, ptr noundef nonnull @.str.51, i32 noundef 373, ptr noundef %823, ptr noundef %825, ptr noundef %827, i32 noundef %828) #13
  call void @exit(i32 noundef 1) #14
  unreachable

830:                                              ; preds = %799
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #11
  %831 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %831, ptr %8, align 8, !tbaa !9
  %832 = load i32, ptr @test_count, align 4, !tbaa !5
  %833 = add nsw i32 %832, 1
  store i32 %833, ptr @test_count, align 4, !tbaa !5
  %834 = icmp eq ptr %831, null
  br i1 %834, label %835, label %859

835:                                              ; preds = %830
  %836 = tail call ptr @__errno_location() #12
  %837 = load i32, ptr %836, align 4, !tbaa !5
  %838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %839 = call i32 @s2n_print_stacktrace(ptr noundef %838) #11
  %840 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %841 = trunc nuw i8 %840 to i1
  br i1 %841, label %842, label %846

842:                                              ; preds = %835
  %843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %844 = call i32 @fileno(ptr noundef %843) #11
  %845 = call i32 @isatty(i32 noundef %844) #11
  %.not305 = icmp eq i32 %845, 0
  br i1 %.not305, label %846, label %847

846:                                              ; preds = %842, %835
  br label %847

847:                                              ; preds = %842, %846
  %.str.53.sink658 = phi ptr [ @.str.53, %846 ], [ @.str.49, %842 ]
  store i32 %837, ptr %836, align 4, !tbaa !5
  %848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %849 = load i32, ptr @test_count, align 4, !tbaa !5
  %850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %851 = load i32, ptr %850, align 4, !tbaa !5
  %852 = call ptr @s2n_strerror(i32 noundef %851, ptr noundef nonnull @.str.52) #11
  %853 = load i32, ptr %850, align 4, !tbaa !5
  %854 = call ptr @s2n_strerror_debug(i32 noundef %853, ptr noundef nonnull @.str.52) #11
  %855 = load i32, ptr %836, align 4, !tbaa !5
  %856 = call ptr @strerror(i32 noundef %855) #11
  %857 = load i32, ptr %836, align 4, !tbaa !5
  %858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %848, ptr noundef nonnull %.str.53.sink658, i32 noundef %849, ptr noundef nonnull @.str.167, ptr noundef nonnull @.str.51, i32 noundef 377, ptr noundef %852, ptr noundef %854, ptr noundef %856, i32 noundef %857) #13
  call void @exit(i32 noundef 1) #14
  unreachable

859:                                              ; preds = %830
  %860 = add nsw i32 %832, 2
  store i32 %860, ptr @test_count, align 4, !tbaa !5
  %861 = call i32 @s2n_connection_set_blinding(ptr noundef nonnull %831, i32 noundef 1) #11
  %862 = icmp eq i32 %861, -1
  br i1 %862, label %863, label %887

863:                                              ; preds = %859
  %864 = tail call ptr @__errno_location() #12
  %865 = load i32, ptr %864, align 4, !tbaa !5
  %866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %867 = call i32 @s2n_print_stacktrace(ptr noundef %866) #11
  %868 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %869 = trunc nuw i8 %868 to i1
  br i1 %869, label %870, label %874

870:                                              ; preds = %863
  %871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %872 = call i32 @fileno(ptr noundef %871) #11
  %873 = call i32 @isatty(i32 noundef %872) #11
  %.not304 = icmp eq i32 %873, 0
  br i1 %.not304, label %874, label %875

874:                                              ; preds = %870, %863
  br label %875

875:                                              ; preds = %870, %874
  %.str.53.sink669 = phi ptr [ @.str.53, %874 ], [ @.str.49, %870 ]
  store i32 %865, ptr %864, align 4, !tbaa !5
  %876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %877 = load i32, ptr @test_count, align 4, !tbaa !5
  %878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %879 = load i32, ptr %878, align 4, !tbaa !5
  %880 = call ptr @s2n_strerror(i32 noundef %879, ptr noundef nonnull @.str.52) #11
  %881 = load i32, ptr %878, align 4, !tbaa !5
  %882 = call ptr @s2n_strerror_debug(i32 noundef %881, ptr noundef nonnull @.str.52) #11
  %883 = load i32, ptr %864, align 4, !tbaa !5
  %884 = call ptr @strerror(i32 noundef %883) #11
  %885 = load i32, ptr %864, align 4, !tbaa !5
  %886 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %876, ptr noundef nonnull %.str.53.sink669, i32 noundef %877, ptr noundef nonnull @.str.168, ptr noundef nonnull @.str.51, i32 noundef 378, ptr noundef %880, ptr noundef %882, ptr noundef %884, i32 noundef %885) #13
  call void @exit(i32 noundef 1) #14
  unreachable

887:                                              ; preds = %859
  %888 = load i32, ptr @test_count, align 4, !tbaa !5
  %889 = add nsw i32 %888, 1
  store i32 %889, ptr @test_count, align 4, !tbaa !5
  %890 = load ptr, ptr %8, align 8, !tbaa !9
  %891 = load ptr, ptr %7, align 8, !tbaa !9
  %892 = call i32 @s2n_connection_set_config(ptr noundef %890, ptr noundef %891) #11
  %893 = icmp eq i32 %892, -1
  br i1 %893, label %894, label %918

894:                                              ; preds = %887
  %895 = tail call ptr @__errno_location() #12
  %896 = load i32, ptr %895, align 4, !tbaa !5
  %897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %898 = call i32 @s2n_print_stacktrace(ptr noundef %897) #11
  %899 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %900 = trunc nuw i8 %899 to i1
  br i1 %900, label %901, label %905

901:                                              ; preds = %894
  %902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %903 = call i32 @fileno(ptr noundef %902) #11
  %904 = call i32 @isatty(i32 noundef %903) #11
  %.not303 = icmp eq i32 %904, 0
  br i1 %.not303, label %905, label %906

905:                                              ; preds = %901, %894
  br label %906

906:                                              ; preds = %901, %905
  %.str.53.sink680 = phi ptr [ @.str.53, %905 ], [ @.str.49, %901 ]
  store i32 %896, ptr %895, align 4, !tbaa !5
  %907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %908 = load i32, ptr @test_count, align 4, !tbaa !5
  %909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %910 = load i32, ptr %909, align 4, !tbaa !5
  %911 = call ptr @s2n_strerror(i32 noundef %910, ptr noundef nonnull @.str.52) #11
  %912 = load i32, ptr %909, align 4, !tbaa !5
  %913 = call ptr @s2n_strerror_debug(i32 noundef %912, ptr noundef nonnull @.str.52) #11
  %914 = load i32, ptr %895, align 4, !tbaa !5
  %915 = call ptr @strerror(i32 noundef %914) #11
  %916 = load i32, ptr %895, align 4, !tbaa !5
  %917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %907, ptr noundef nonnull %.str.53.sink680, i32 noundef %908, ptr noundef nonnull @.str.169, ptr noundef nonnull @.str.51, i32 noundef 379, ptr noundef %911, ptr noundef %913, ptr noundef %915, i32 noundef %916) #13
  call void @exit(i32 noundef 1) #14
  unreachable

918:                                              ; preds = %887
  %919 = load i32, ptr @test_count, align 4, !tbaa !5
  %920 = add nsw i32 %919, 1
  store i32 %920, ptr @test_count, align 4, !tbaa !5
  %921 = load ptr, ptr %6, align 8, !tbaa !9
  %922 = call i32 @s2n_connection_set_client_auth_type(ptr noundef %921, i32 noundef 0) #11
  %923 = icmp eq i32 %922, -1
  br i1 %923, label %924, label %948

924:                                              ; preds = %918
  %925 = tail call ptr @__errno_location() #12
  %926 = load i32, ptr %925, align 4, !tbaa !5
  %927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %928 = call i32 @s2n_print_stacktrace(ptr noundef %927) #11
  %929 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %930 = trunc nuw i8 %929 to i1
  br i1 %930, label %931, label %935

931:                                              ; preds = %924
  %932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %933 = call i32 @fileno(ptr noundef %932) #11
  %934 = call i32 @isatty(i32 noundef %933) #11
  %.not302 = icmp eq i32 %934, 0
  br i1 %.not302, label %935, label %936

935:                                              ; preds = %931, %924
  br label %936

936:                                              ; preds = %931, %935
  %.str.53.sink691 = phi ptr [ @.str.53, %935 ], [ @.str.49, %931 ]
  store i32 %926, ptr %925, align 4, !tbaa !5
  %937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %938 = load i32, ptr @test_count, align 4, !tbaa !5
  %939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %940 = load i32, ptr %939, align 4, !tbaa !5
  %941 = call ptr @s2n_strerror(i32 noundef %940, ptr noundef nonnull @.str.52) #11
  %942 = load i32, ptr %939, align 4, !tbaa !5
  %943 = call ptr @s2n_strerror_debug(i32 noundef %942, ptr noundef nonnull @.str.52) #11
  %944 = load i32, ptr %925, align 4, !tbaa !5
  %945 = call ptr @strerror(i32 noundef %944) #11
  %946 = load i32, ptr %925, align 4, !tbaa !5
  %947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %937, ptr noundef nonnull %.str.53.sink691, i32 noundef %938, ptr noundef nonnull @.str.170, ptr noundef nonnull @.str.51, i32 noundef 382, ptr noundef %941, ptr noundef %943, ptr noundef %945, i32 noundef %946) #13
  call void @exit(i32 noundef 1) #14
  unreachable

948:                                              ; preds = %918
  %949 = load i32, ptr @test_count, align 4, !tbaa !5
  %950 = add nsw i32 %949, 1
  store i32 %950, ptr @test_count, align 4, !tbaa !5
  %951 = load ptr, ptr %8, align 8, !tbaa !9
  %952 = call i32 @s2n_connection_set_client_auth_type(ptr noundef %951, i32 noundef 2) #11
  %953 = icmp eq i32 %952, -1
  br i1 %953, label %954, label %978

954:                                              ; preds = %948
  %955 = tail call ptr @__errno_location() #12
  %956 = load i32, ptr %955, align 4, !tbaa !5
  %957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %958 = call i32 @s2n_print_stacktrace(ptr noundef %957) #11
  %959 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %960 = trunc nuw i8 %959 to i1
  br i1 %960, label %961, label %965

961:                                              ; preds = %954
  %962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %963 = call i32 @fileno(ptr noundef %962) #11
  %964 = call i32 @isatty(i32 noundef %963) #11
  %.not301 = icmp eq i32 %964, 0
  br i1 %.not301, label %965, label %966

965:                                              ; preds = %961, %954
  br label %966

966:                                              ; preds = %961, %965
  %.str.53.sink702 = phi ptr [ @.str.53, %965 ], [ @.str.49, %961 ]
  store i32 %956, ptr %955, align 4, !tbaa !5
  %967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %968 = load i32, ptr @test_count, align 4, !tbaa !5
  %969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %970 = load i32, ptr %969, align 4, !tbaa !5
  %971 = call ptr @s2n_strerror(i32 noundef %970, ptr noundef nonnull @.str.52) #11
  %972 = load i32, ptr %969, align 4, !tbaa !5
  %973 = call ptr @s2n_strerror_debug(i32 noundef %972, ptr noundef nonnull @.str.52) #11
  %974 = load i32, ptr %955, align 4, !tbaa !5
  %975 = call ptr @strerror(i32 noundef %974) #11
  %976 = load i32, ptr %955, align 4, !tbaa !5
  %977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %967, ptr noundef nonnull %.str.53.sink702, i32 noundef %968, ptr noundef nonnull @.str.171, ptr noundef nonnull @.str.51, i32 noundef 383, ptr noundef %971, ptr noundef %973, ptr noundef %975, i32 noundef %976) #13
  call void @exit(i32 noundef 1) #14
  unreachable

978:                                              ; preds = %948
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #11
  store i64 0, ptr %9, align 8
  %979 = load i32, ptr @test_count, align 4, !tbaa !5
  %980 = add nsw i32 %979, 1
  store i32 %980, ptr @test_count, align 4, !tbaa !5
  %981 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %9) #11
  %982 = icmp eq i32 %981, -1
  br i1 %982, label %983, label %1007

983:                                              ; preds = %978
  %984 = tail call ptr @__errno_location() #12
  %985 = load i32, ptr %984, align 4, !tbaa !5
  %986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %987 = call i32 @s2n_print_stacktrace(ptr noundef %986) #11
  %988 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %989 = trunc nuw i8 %988 to i1
  br i1 %989, label %990, label %994

990:                                              ; preds = %983
  %991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %992 = call i32 @fileno(ptr noundef %991) #11
  %993 = call i32 @isatty(i32 noundef %992) #11
  %.not300 = icmp eq i32 %993, 0
  br i1 %.not300, label %994, label %995

994:                                              ; preds = %990, %983
  br label %995

995:                                              ; preds = %990, %994
  %.str.53.sink713 = phi ptr [ @.str.53, %994 ], [ @.str.49, %990 ]
  store i32 %985, ptr %984, align 4, !tbaa !5
  %996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %997 = load i32, ptr @test_count, align 4, !tbaa !5
  %998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %999 = load i32, ptr %998, align 4, !tbaa !5
  %1000 = call ptr @s2n_strerror(i32 noundef %999, ptr noundef nonnull @.str.52) #11
  %1001 = load i32, ptr %998, align 4, !tbaa !5
  %1002 = call ptr @s2n_strerror_debug(i32 noundef %1001, ptr noundef nonnull @.str.52) #11
  %1003 = load i32, ptr %984, align 4, !tbaa !5
  %1004 = call ptr @strerror(i32 noundef %1003) #11
  %1005 = load i32, ptr %984, align 4, !tbaa !5
  %1006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %996, ptr noundef nonnull %.str.53.sink713, i32 noundef %997, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.51, i32 noundef 386, ptr noundef %1000, ptr noundef %1002, ptr noundef %1004, i32 noundef %1005) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1007:                                             ; preds = %978
  %1008 = load i32, ptr @test_count, align 4, !tbaa !5
  %1009 = add nsw i32 %1008, 1
  store i32 %1009, ptr @test_count, align 4, !tbaa !5
  %1010 = load ptr, ptr %6, align 8, !tbaa !9
  %1011 = load ptr, ptr %8, align 8, !tbaa !9
  %1012 = call i32 @s2n_connections_set_io_pair(ptr noundef %1010, ptr noundef %1011, ptr noundef nonnull %9) #11
  %1013 = icmp eq i32 %1012, -1
  br i1 %1013, label %1014, label %1038

1014:                                             ; preds = %1007
  %1015 = tail call ptr @__errno_location() #12
  %1016 = load i32, ptr %1015, align 4, !tbaa !5
  %1017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1018 = call i32 @s2n_print_stacktrace(ptr noundef %1017) #11
  %1019 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1020 = trunc nuw i8 %1019 to i1
  br i1 %1020, label %1021, label %1025

1021:                                             ; preds = %1014
  %1022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1023 = call i32 @fileno(ptr noundef %1022) #11
  %1024 = call i32 @isatty(i32 noundef %1023) #11
  %.not299 = icmp eq i32 %1024, 0
  br i1 %.not299, label %1025, label %1026

1025:                                             ; preds = %1021, %1014
  br label %1026

1026:                                             ; preds = %1021, %1025
  %.str.53.sink724 = phi ptr [ @.str.53, %1025 ], [ @.str.49, %1021 ]
  store i32 %1016, ptr %1015, align 4, !tbaa !5
  %1027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1028 = load i32, ptr @test_count, align 4, !tbaa !5
  %1029 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1030 = load i32, ptr %1029, align 4, !tbaa !5
  %1031 = call ptr @s2n_strerror(i32 noundef %1030, ptr noundef nonnull @.str.52) #11
  %1032 = load i32, ptr %1029, align 4, !tbaa !5
  %1033 = call ptr @s2n_strerror_debug(i32 noundef %1032, ptr noundef nonnull @.str.52) #11
  %1034 = load i32, ptr %1015, align 4, !tbaa !5
  %1035 = call ptr @strerror(i32 noundef %1034) #11
  %1036 = load i32, ptr %1015, align 4, !tbaa !5
  %1037 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1027, ptr noundef nonnull %.str.53.sink724, i32 noundef %1028, ptr noundef nonnull @.str.172, ptr noundef nonnull @.str.51, i32 noundef 387, ptr noundef %1031, ptr noundef %1033, ptr noundef %1035, i32 noundef %1036) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1038:                                             ; preds = %1007
  %1039 = load i32, ptr @test_count, align 4, !tbaa !5
  %1040 = add nsw i32 %1039, 1
  store i32 %1040, ptr @test_count, align 4, !tbaa !5
  %1041 = load ptr, ptr %8, align 8, !tbaa !9
  %1042 = load ptr, ptr %6, align 8, !tbaa !9
  %1043 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %1041, ptr noundef %1042) #11
  %1044 = icmp eq i32 %1043, -1
  br i1 %1044, label %1069, label %1045

1045:                                             ; preds = %1038
  %1046 = tail call ptr @__errno_location() #12
  %1047 = load i32, ptr %1046, align 4, !tbaa !5
  %1048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1049 = call i32 @s2n_print_stacktrace(ptr noundef %1048) #11
  %1050 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1051 = trunc nuw i8 %1050 to i1
  br i1 %1051, label %1052, label %1056

1052:                                             ; preds = %1045
  %1053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1054 = call i32 @fileno(ptr noundef %1053) #11
  %1055 = call i32 @isatty(i32 noundef %1054) #11
  %.not248 = icmp eq i32 %1055, 0
  br i1 %.not248, label %1056, label %1057

1056:                                             ; preds = %1052, %1045
  br label %1057

1057:                                             ; preds = %1052, %1056
  %.str.53.sink735 = phi ptr [ @.str.53, %1056 ], [ @.str.49, %1052 ]
  store i32 %1047, ptr %1046, align 4, !tbaa !5
  %1058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1059 = load i32, ptr @test_count, align 4, !tbaa !5
  %1060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1061 = load i32, ptr %1060, align 4, !tbaa !5
  %1062 = call ptr @s2n_strerror(i32 noundef %1061, ptr noundef nonnull @.str.52) #11
  %1063 = load i32, ptr %1060, align 4, !tbaa !5
  %1064 = call ptr @s2n_strerror_debug(i32 noundef %1063, ptr noundef nonnull @.str.52) #11
  %1065 = load i32, ptr %1046, align 4, !tbaa !5
  %1066 = call ptr @strerror(i32 noundef %1065) #11
  %1067 = load i32, ptr %1046, align 4, !tbaa !5
  %1068 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1058, ptr noundef nonnull %.str.53.sink735, i32 noundef %1059, ptr noundef nonnull @.str.173, ptr noundef nonnull @.str.51, i32 noundef 390, ptr noundef %1062, ptr noundef %1064, ptr noundef %1066, i32 noundef %1067) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1069:                                             ; preds = %1038
  %1070 = load i32, ptr @test_count, align 4, !tbaa !5
  %1071 = add nsw i32 %1070, 1
  store i32 %1071, ptr @test_count, align 4, !tbaa !5
  %1072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1073 = load i32, ptr %1072, align 4, !tbaa !5
  %1074 = icmp eq i32 %1073, 335544323
  br i1 %1074, label %1098, label %1075

1075:                                             ; preds = %1069
  %1076 = tail call ptr @__errno_location() #12
  %1077 = load i32, ptr %1076, align 4, !tbaa !5
  %1078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1079 = call i32 @s2n_print_stacktrace(ptr noundef %1078) #11
  %1080 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1081 = trunc nuw i8 %1080 to i1
  br i1 %1081, label %1082, label %1086

1082:                                             ; preds = %1075
  %1083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1084 = call i32 @fileno(ptr noundef %1083) #11
  %1085 = call i32 @isatty(i32 noundef %1084) #11
  %.not249 = icmp eq i32 %1085, 0
  br i1 %.not249, label %1086, label %1087

1086:                                             ; preds = %1082, %1075
  br label %1087

1087:                                             ; preds = %1082, %1086
  %.str.53.sink746 = phi ptr [ @.str.53, %1086 ], [ @.str.49, %1082 ]
  store i32 %1077, ptr %1076, align 4, !tbaa !5
  %1088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1089 = load i32, ptr @test_count, align 4, !tbaa !5
  %1090 = load i32, ptr %1072, align 4, !tbaa !5
  %1091 = call ptr @s2n_strerror(i32 noundef %1090, ptr noundef nonnull @.str.52) #11
  %1092 = load i32, ptr %1072, align 4, !tbaa !5
  %1093 = call ptr @s2n_strerror_debug(i32 noundef %1092, ptr noundef nonnull @.str.52) #11
  %1094 = load i32, ptr %1076, align 4, !tbaa !5
  %1095 = call ptr @strerror(i32 noundef %1094) #11
  %1096 = load i32, ptr %1076, align 4, !tbaa !5
  %1097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1088, ptr noundef nonnull %.str.53.sink746, i32 noundef %1089, ptr noundef nonnull @.str.174, ptr noundef nonnull @.str.51, i32 noundef 390, ptr noundef %1091, ptr noundef %1093, ptr noundef %1095, i32 noundef %1096) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1098:                                             ; preds = %1069
  %1099 = add nsw i32 %1070, 2
  store i32 %1099, ptr @test_count, align 4, !tbaa !5
  %1100 = call ptr @s2n_strerror_debug(i32 noundef 335544323, ptr noundef nonnull @.str.52) #11
  %1101 = icmp eq ptr %1100, null
  br i1 %1101, label %1102, label %1125

1102:                                             ; preds = %1098
  %1103 = tail call ptr @__errno_location() #12
  %1104 = load i32, ptr %1103, align 4, !tbaa !5
  %1105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1106 = call i32 @s2n_print_stacktrace(ptr noundef %1105) #11
  %1107 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1108 = trunc nuw i8 %1107 to i1
  br i1 %1108, label %1109, label %1113

1109:                                             ; preds = %1102
  %1110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1111 = call i32 @fileno(ptr noundef %1110) #11
  %1112 = call i32 @isatty(i32 noundef %1111) #11
  %.not298 = icmp eq i32 %1112, 0
  br i1 %.not298, label %1113, label %1114

1113:                                             ; preds = %1109, %1102
  br label %1114

1114:                                             ; preds = %1109, %1113
  %.str.53.sink755 = phi ptr [ @.str.53, %1113 ], [ @.str.49, %1109 ]
  store i32 %1104, ptr %1103, align 4, !tbaa !5
  %1115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1116 = load i32, ptr @test_count, align 4, !tbaa !5
  %1117 = load i32, ptr %1072, align 4, !tbaa !5
  %1118 = call ptr @s2n_strerror(i32 noundef %1117, ptr noundef nonnull @.str.52) #11
  %1119 = load i32, ptr %1072, align 4, !tbaa !5
  %1120 = call ptr @s2n_strerror_debug(i32 noundef %1119, ptr noundef nonnull @.str.52) #11
  %1121 = load i32, ptr %1103, align 4, !tbaa !5
  %1122 = call ptr @strerror(i32 noundef %1121) #11
  %1123 = load i32, ptr %1103, align 4, !tbaa !5
  %1124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1115, ptr noundef nonnull %.str.53.sink755, i32 noundef %1116, ptr noundef nonnull @.str.175, ptr noundef nonnull @.str.51, i32 noundef 390, ptr noundef %1118, ptr noundef %1120, ptr noundef %1122, i32 noundef %1123) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1125:                                             ; preds = %1098
  store i32 0, ptr %1072, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  %1126 = tail call ptr @__errno_location() #12
  store i32 0, ptr %1126, align 4, !tbaa !5
  %1127 = call i32 @s2n_io_pair_close(ptr noundef nonnull %9) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #11
  %1128 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %8) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #11
  %1129 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %7) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #11
  %1130 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %6) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #11
  %1131 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %1131, ptr %10, align 8, !tbaa !9
  %1132 = load i32, ptr @test_count, align 4, !tbaa !5
  %1133 = add nsw i32 %1132, 1
  store i32 %1133, ptr @test_count, align 4, !tbaa !5
  %1134 = icmp eq ptr %1131, null
  br i1 %1134, label %1135, label %1157

1135:                                             ; preds = %1125
  %1136 = load i32, ptr %1126, align 4, !tbaa !5
  %1137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1138 = call i32 @s2n_print_stacktrace(ptr noundef %1137) #11
  %1139 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1140 = trunc nuw i8 %1139 to i1
  br i1 %1140, label %1141, label %1145

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

1145:                                             ; preds = %1141, %1135
  br label %1146

1146:                                             ; preds = %1141, %1145
  %.str.53.sink764 = phi ptr [ @.str.53, %1145 ], [ @.str.49, %1141 ]
  store i32 %1136, ptr %1126, align 4, !tbaa !5
  %1147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1148 = load i32, ptr @test_count, align 4, !tbaa !5
  %1149 = load i32, ptr %1072, align 4, !tbaa !5
  %1150 = call ptr @s2n_strerror(i32 noundef %1149, ptr noundef nonnull @.str.52) #11
  %1151 = load i32, ptr %1072, align 4, !tbaa !5
  %1152 = call ptr @s2n_strerror_debug(i32 noundef %1151, ptr noundef nonnull @.str.52) #11
  %1153 = load i32, ptr %1126, align 4, !tbaa !5
  %1154 = call ptr @strerror(i32 noundef %1153) #11
  %1155 = load i32, ptr %1126, align 4, !tbaa !5
  %1156 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1147, ptr noundef nonnull %.str.53.sink764, i32 noundef %1148, ptr noundef nonnull @.str.165, ptr noundef nonnull @.str.51, i32 noundef 397, ptr noundef %1150, ptr noundef %1152, ptr noundef %1154, i32 noundef %1155) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1157:                                             ; preds = %1125
  %1158 = add nsw i32 %1132, 2
  store i32 %1158, ptr @test_count, align 4, !tbaa !5
  %1159 = call i32 @s2n_connection_set_blinding(ptr noundef nonnull %1131, i32 noundef 1) #11
  %1160 = icmp eq i32 %1159, -1
  br i1 %1160, label %1161, label %1183

1161:                                             ; preds = %1157
  %1162 = load i32, ptr %1126, align 4, !tbaa !5
  %1163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1164 = call i32 @s2n_print_stacktrace(ptr noundef %1163) #11
  %1165 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1166 = trunc nuw i8 %1165 to i1
  br i1 %1166, label %1167, label %1171

1167:                                             ; preds = %1161
  %1168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1169 = call i32 @fileno(ptr noundef %1168) #11
  %1170 = call i32 @isatty(i32 noundef %1169) #11
  %.not296 = icmp eq i32 %1170, 0
  br i1 %.not296, label %1171, label %1172

1171:                                             ; preds = %1167, %1161
  br label %1172

1172:                                             ; preds = %1167, %1171
  %.str.53.sink773 = phi ptr [ @.str.53, %1171 ], [ @.str.49, %1167 ]
  store i32 %1162, ptr %1126, align 4, !tbaa !5
  %1173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1174 = load i32, ptr @test_count, align 4, !tbaa !5
  %1175 = load i32, ptr %1072, align 4, !tbaa !5
  %1176 = call ptr @s2n_strerror(i32 noundef %1175, ptr noundef nonnull @.str.52) #11
  %1177 = load i32, ptr %1072, align 4, !tbaa !5
  %1178 = call ptr @s2n_strerror_debug(i32 noundef %1177, ptr noundef nonnull @.str.52) #11
  %1179 = load i32, ptr %1126, align 4, !tbaa !5
  %1180 = call ptr @strerror(i32 noundef %1179) #11
  %1181 = load i32, ptr %1126, align 4, !tbaa !5
  %1182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1173, ptr noundef nonnull %.str.53.sink773, i32 noundef %1174, ptr noundef nonnull @.str.176, ptr noundef nonnull @.str.51, i32 noundef 398, ptr noundef %1176, ptr noundef %1178, ptr noundef %1180, i32 noundef %1181) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1183:                                             ; preds = %1157
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #11
  %1184 = call ptr @s2n_config_new() #11
  store ptr %1184, ptr %11, align 8, !tbaa !9
  %1185 = load i32, ptr @test_count, align 4, !tbaa !5
  %1186 = add nsw i32 %1185, 1
  store i32 %1186, ptr @test_count, align 4, !tbaa !5
  %1187 = load ptr, ptr %3, align 8, !tbaa !9
  %1188 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %1184, ptr noundef %1187) #11
  %1189 = icmp eq i32 %1188, -1
  br i1 %1189, label %1190, label %1212

1190:                                             ; preds = %1183
  %1191 = load i32, ptr %1126, align 4, !tbaa !5
  %1192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1193 = call i32 @s2n_print_stacktrace(ptr noundef %1192) #11
  %1194 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1195 = trunc nuw i8 %1194 to i1
  br i1 %1195, label %1196, label %1200

1196:                                             ; preds = %1190
  %1197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1198 = call i32 @fileno(ptr noundef %1197) #11
  %1199 = call i32 @isatty(i32 noundef %1198) #11
  %.not295 = icmp eq i32 %1199, 0
  br i1 %.not295, label %1200, label %1201

1200:                                             ; preds = %1196, %1190
  br label %1201

1201:                                             ; preds = %1196, %1200
  %.str.53.sink782 = phi ptr [ @.str.53, %1200 ], [ @.str.49, %1196 ]
  store i32 %1191, ptr %1126, align 4, !tbaa !5
  %1202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1203 = load i32, ptr @test_count, align 4, !tbaa !5
  %1204 = load i32, ptr %1072, align 4, !tbaa !5
  %1205 = call ptr @s2n_strerror(i32 noundef %1204, ptr noundef nonnull @.str.52) #11
  %1206 = load i32, ptr %1072, align 4, !tbaa !5
  %1207 = call ptr @s2n_strerror_debug(i32 noundef %1206, ptr noundef nonnull @.str.52) #11
  %1208 = load i32, ptr %1126, align 4, !tbaa !5
  %1209 = call ptr @strerror(i32 noundef %1208) #11
  %1210 = load i32, ptr %1126, align 4, !tbaa !5
  %1211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1202, ptr noundef nonnull %.str.53.sink782, i32 noundef %1203, ptr noundef nonnull @.str.166, ptr noundef nonnull @.str.51, i32 noundef 401, ptr noundef %1205, ptr noundef %1207, ptr noundef %1209, i32 noundef %1210) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1212:                                             ; preds = %1183
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #11
  %1213 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %1213, ptr %12, align 8, !tbaa !9
  %1214 = load i32, ptr @test_count, align 4, !tbaa !5
  %1215 = add nsw i32 %1214, 1
  store i32 %1215, ptr @test_count, align 4, !tbaa !5
  %1216 = icmp eq ptr %1213, null
  br i1 %1216, label %1217, label %1239

1217:                                             ; preds = %1212
  %1218 = load i32, ptr %1126, align 4, !tbaa !5
  %1219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1220 = call i32 @s2n_print_stacktrace(ptr noundef %1219) #11
  %1221 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1222 = trunc nuw i8 %1221 to i1
  br i1 %1222, label %1223, label %1227

1223:                                             ; preds = %1217
  %1224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1225 = call i32 @fileno(ptr noundef %1224) #11
  %1226 = call i32 @isatty(i32 noundef %1225) #11
  %.not294 = icmp eq i32 %1226, 0
  br i1 %.not294, label %1227, label %1228

1227:                                             ; preds = %1223, %1217
  br label %1228

1228:                                             ; preds = %1223, %1227
  %.str.53.sink791 = phi ptr [ @.str.53, %1227 ], [ @.str.49, %1223 ]
  store i32 %1218, ptr %1126, align 4, !tbaa !5
  %1229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1230 = load i32, ptr @test_count, align 4, !tbaa !5
  %1231 = load i32, ptr %1072, align 4, !tbaa !5
  %1232 = call ptr @s2n_strerror(i32 noundef %1231, ptr noundef nonnull @.str.52) #11
  %1233 = load i32, ptr %1072, align 4, !tbaa !5
  %1234 = call ptr @s2n_strerror_debug(i32 noundef %1233, ptr noundef nonnull @.str.52) #11
  %1235 = load i32, ptr %1126, align 4, !tbaa !5
  %1236 = call ptr @strerror(i32 noundef %1235) #11
  %1237 = load i32, ptr %1126, align 4, !tbaa !5
  %1238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1229, ptr noundef nonnull %.str.53.sink791, i32 noundef %1230, ptr noundef nonnull @.str.167, ptr noundef nonnull @.str.51, i32 noundef 405, ptr noundef %1232, ptr noundef %1234, ptr noundef %1236, i32 noundef %1237) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1239:                                             ; preds = %1212
  %1240 = add nsw i32 %1214, 2
  store i32 %1240, ptr @test_count, align 4, !tbaa !5
  %1241 = load ptr, ptr %11, align 8, !tbaa !9
  %1242 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1213, ptr noundef %1241) #11
  %1243 = icmp eq i32 %1242, -1
  br i1 %1243, label %1244, label %1266

1244:                                             ; preds = %1239
  %1245 = load i32, ptr %1126, align 4, !tbaa !5
  %1246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1247 = call i32 @s2n_print_stacktrace(ptr noundef %1246) #11
  %1248 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1249 = trunc nuw i8 %1248 to i1
  br i1 %1249, label %1250, label %1254

1250:                                             ; preds = %1244
  %1251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1252 = call i32 @fileno(ptr noundef %1251) #11
  %1253 = call i32 @isatty(i32 noundef %1252) #11
  %.not293 = icmp eq i32 %1253, 0
  br i1 %.not293, label %1254, label %1255

1254:                                             ; preds = %1250, %1244
  br label %1255

1255:                                             ; preds = %1250, %1254
  %.str.53.sink800 = phi ptr [ @.str.53, %1254 ], [ @.str.49, %1250 ]
  store i32 %1245, ptr %1126, align 4, !tbaa !5
  %1256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1257 = load i32, ptr @test_count, align 4, !tbaa !5
  %1258 = load i32, ptr %1072, align 4, !tbaa !5
  %1259 = call ptr @s2n_strerror(i32 noundef %1258, ptr noundef nonnull @.str.52) #11
  %1260 = load i32, ptr %1072, align 4, !tbaa !5
  %1261 = call ptr @s2n_strerror_debug(i32 noundef %1260, ptr noundef nonnull @.str.52) #11
  %1262 = load i32, ptr %1126, align 4, !tbaa !5
  %1263 = call ptr @strerror(i32 noundef %1262) #11
  %1264 = load i32, ptr %1126, align 4, !tbaa !5
  %1265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1256, ptr noundef nonnull %.str.53.sink800, i32 noundef %1257, ptr noundef nonnull @.str.169, ptr noundef nonnull @.str.51, i32 noundef 406, ptr noundef %1259, ptr noundef %1261, ptr noundef %1263, i32 noundef %1264) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1266:                                             ; preds = %1239
  %1267 = load i32, ptr @test_count, align 4, !tbaa !5
  %1268 = add nsw i32 %1267, 1
  store i32 %1268, ptr @test_count, align 4, !tbaa !5
  %1269 = load ptr, ptr %10, align 8, !tbaa !9
  %1270 = call i32 @s2n_connection_set_client_auth_type(ptr noundef %1269, i32 noundef 1) #11
  %1271 = icmp eq i32 %1270, -1
  br i1 %1271, label %1272, label %1294

1272:                                             ; preds = %1266
  %1273 = load i32, ptr %1126, align 4, !tbaa !5
  %1274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1275 = call i32 @s2n_print_stacktrace(ptr noundef %1274) #11
  %1276 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1277 = trunc nuw i8 %1276 to i1
  br i1 %1277, label %1278, label %1282

1278:                                             ; preds = %1272
  %1279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1280 = call i32 @fileno(ptr noundef %1279) #11
  %1281 = call i32 @isatty(i32 noundef %1280) #11
  %.not292 = icmp eq i32 %1281, 0
  br i1 %.not292, label %1282, label %1283

1282:                                             ; preds = %1278, %1272
  br label %1283

1283:                                             ; preds = %1278, %1282
  %.str.53.sink809 = phi ptr [ @.str.53, %1282 ], [ @.str.49, %1278 ]
  store i32 %1273, ptr %1126, align 4, !tbaa !5
  %1284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1285 = load i32, ptr @test_count, align 4, !tbaa !5
  %1286 = load i32, ptr %1072, align 4, !tbaa !5
  %1287 = call ptr @s2n_strerror(i32 noundef %1286, ptr noundef nonnull @.str.52) #11
  %1288 = load i32, ptr %1072, align 4, !tbaa !5
  %1289 = call ptr @s2n_strerror_debug(i32 noundef %1288, ptr noundef nonnull @.str.52) #11
  %1290 = load i32, ptr %1126, align 4, !tbaa !5
  %1291 = call ptr @strerror(i32 noundef %1290) #11
  %1292 = load i32, ptr %1126, align 4, !tbaa !5
  %1293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1284, ptr noundef nonnull %.str.53.sink809, i32 noundef %1285, ptr noundef nonnull @.str.177, ptr noundef nonnull @.str.51, i32 noundef 409, ptr noundef %1287, ptr noundef %1289, ptr noundef %1291, i32 noundef %1292) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1294:                                             ; preds = %1266
  %1295 = load i32, ptr @test_count, align 4, !tbaa !5
  %1296 = add nsw i32 %1295, 1
  store i32 %1296, ptr @test_count, align 4, !tbaa !5
  %1297 = load ptr, ptr %12, align 8, !tbaa !9
  %1298 = call i32 @s2n_connection_set_client_auth_type(ptr noundef %1297, i32 noundef 0) #11
  %1299 = icmp eq i32 %1298, -1
  br i1 %1299, label %1300, label %1322

1300:                                             ; preds = %1294
  %1301 = load i32, ptr %1126, align 4, !tbaa !5
  %1302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1303 = call i32 @s2n_print_stacktrace(ptr noundef %1302) #11
  %1304 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1305 = trunc nuw i8 %1304 to i1
  br i1 %1305, label %1306, label %1310

1306:                                             ; preds = %1300
  %1307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1308 = call i32 @fileno(ptr noundef %1307) #11
  %1309 = call i32 @isatty(i32 noundef %1308) #11
  %.not291 = icmp eq i32 %1309, 0
  br i1 %.not291, label %1310, label %1311

1310:                                             ; preds = %1306, %1300
  br label %1311

1311:                                             ; preds = %1306, %1310
  %.str.53.sink818 = phi ptr [ @.str.53, %1310 ], [ @.str.49, %1306 ]
  store i32 %1301, ptr %1126, align 4, !tbaa !5
  %1312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1313 = load i32, ptr @test_count, align 4, !tbaa !5
  %1314 = load i32, ptr %1072, align 4, !tbaa !5
  %1315 = call ptr @s2n_strerror(i32 noundef %1314, ptr noundef nonnull @.str.52) #11
  %1316 = load i32, ptr %1072, align 4, !tbaa !5
  %1317 = call ptr @s2n_strerror_debug(i32 noundef %1316, ptr noundef nonnull @.str.52) #11
  %1318 = load i32, ptr %1126, align 4, !tbaa !5
  %1319 = call ptr @strerror(i32 noundef %1318) #11
  %1320 = load i32, ptr %1126, align 4, !tbaa !5
  %1321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1312, ptr noundef nonnull %.str.53.sink818, i32 noundef %1313, ptr noundef nonnull @.str.178, ptr noundef nonnull @.str.51, i32 noundef 410, ptr noundef %1315, ptr noundef %1317, ptr noundef %1319, i32 noundef %1320) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1322:                                             ; preds = %1294
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #11
  store i64 0, ptr %13, align 8
  %1323 = load i32, ptr @test_count, align 4, !tbaa !5
  %1324 = add nsw i32 %1323, 1
  store i32 %1324, ptr @test_count, align 4, !tbaa !5
  %1325 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %13) #11
  %1326 = icmp eq i32 %1325, -1
  br i1 %1326, label %1327, label %1349

1327:                                             ; preds = %1322
  %1328 = load i32, ptr %1126, align 4, !tbaa !5
  %1329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1330 = call i32 @s2n_print_stacktrace(ptr noundef %1329) #11
  %1331 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1332 = trunc nuw i8 %1331 to i1
  br i1 %1332, label %1333, label %1337

1333:                                             ; preds = %1327
  %1334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1335 = call i32 @fileno(ptr noundef %1334) #11
  %1336 = call i32 @isatty(i32 noundef %1335) #11
  %.not290 = icmp eq i32 %1336, 0
  br i1 %.not290, label %1337, label %1338

1337:                                             ; preds = %1333, %1327
  br label %1338

1338:                                             ; preds = %1333, %1337
  %.str.53.sink827 = phi ptr [ @.str.53, %1337 ], [ @.str.49, %1333 ]
  store i32 %1328, ptr %1126, align 4, !tbaa !5
  %1339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1340 = load i32, ptr @test_count, align 4, !tbaa !5
  %1341 = load i32, ptr %1072, align 4, !tbaa !5
  %1342 = call ptr @s2n_strerror(i32 noundef %1341, ptr noundef nonnull @.str.52) #11
  %1343 = load i32, ptr %1072, align 4, !tbaa !5
  %1344 = call ptr @s2n_strerror_debug(i32 noundef %1343, ptr noundef nonnull @.str.52) #11
  %1345 = load i32, ptr %1126, align 4, !tbaa !5
  %1346 = call ptr @strerror(i32 noundef %1345) #11
  %1347 = load i32, ptr %1126, align 4, !tbaa !5
  %1348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1339, ptr noundef nonnull %.str.53.sink827, i32 noundef %1340, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.51, i32 noundef 413, ptr noundef %1342, ptr noundef %1344, ptr noundef %1346, i32 noundef %1347) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1349:                                             ; preds = %1322
  %1350 = load i32, ptr @test_count, align 4, !tbaa !5
  %1351 = add nsw i32 %1350, 1
  store i32 %1351, ptr @test_count, align 4, !tbaa !5
  %1352 = load ptr, ptr %10, align 8, !tbaa !9
  %1353 = load ptr, ptr %12, align 8, !tbaa !9
  %1354 = call i32 @s2n_connections_set_io_pair(ptr noundef %1352, ptr noundef %1353, ptr noundef nonnull %13) #11
  %1355 = icmp eq i32 %1354, -1
  br i1 %1355, label %1356, label %1378

1356:                                             ; preds = %1349
  %1357 = load i32, ptr %1126, align 4, !tbaa !5
  %1358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1359 = call i32 @s2n_print_stacktrace(ptr noundef %1358) #11
  %1360 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1361 = trunc nuw i8 %1360 to i1
  br i1 %1361, label %1362, label %1366

1362:                                             ; preds = %1356
  %1363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1364 = call i32 @fileno(ptr noundef %1363) #11
  %1365 = call i32 @isatty(i32 noundef %1364) #11
  %.not289 = icmp eq i32 %1365, 0
  br i1 %.not289, label %1366, label %1367

1366:                                             ; preds = %1362, %1356
  br label %1367

1367:                                             ; preds = %1362, %1366
  %.str.53.sink836 = phi ptr [ @.str.53, %1366 ], [ @.str.49, %1362 ]
  store i32 %1357, ptr %1126, align 4, !tbaa !5
  %1368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1369 = load i32, ptr @test_count, align 4, !tbaa !5
  %1370 = load i32, ptr %1072, align 4, !tbaa !5
  %1371 = call ptr @s2n_strerror(i32 noundef %1370, ptr noundef nonnull @.str.52) #11
  %1372 = load i32, ptr %1072, align 4, !tbaa !5
  %1373 = call ptr @s2n_strerror_debug(i32 noundef %1372, ptr noundef nonnull @.str.52) #11
  %1374 = load i32, ptr %1126, align 4, !tbaa !5
  %1375 = call ptr @strerror(i32 noundef %1374) #11
  %1376 = load i32, ptr %1126, align 4, !tbaa !5
  %1377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1368, ptr noundef nonnull %.str.53.sink836, i32 noundef %1369, ptr noundef nonnull @.str.172, ptr noundef nonnull @.str.51, i32 noundef 414, ptr noundef %1371, ptr noundef %1373, ptr noundef %1375, i32 noundef %1376) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1378:                                             ; preds = %1349
  %1379 = load i32, ptr @test_count, align 4, !tbaa !5
  %1380 = add nsw i32 %1379, 1
  store i32 %1380, ptr @test_count, align 4, !tbaa !5
  %1381 = load ptr, ptr %12, align 8, !tbaa !9
  %1382 = load ptr, ptr %10, align 8, !tbaa !9
  %1383 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %1381, ptr noundef %1382) #11
  %1384 = icmp eq i32 %1383, -1
  br i1 %1384, label %1407, label %1385

1385:                                             ; preds = %1378
  %1386 = load i32, ptr %1126, align 4, !tbaa !5
  %1387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1388 = call i32 @s2n_print_stacktrace(ptr noundef %1387) #11
  %1389 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1390 = trunc nuw i8 %1389 to i1
  br i1 %1390, label %1391, label %1395

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

1395:                                             ; preds = %1391, %1385
  br label %1396

1396:                                             ; preds = %1391, %1395
  %.str.53.sink845 = phi ptr [ @.str.53, %1395 ], [ @.str.49, %1391 ]
  store i32 %1386, ptr %1126, align 4, !tbaa !5
  %1397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1398 = load i32, ptr @test_count, align 4, !tbaa !5
  %1399 = load i32, ptr %1072, align 4, !tbaa !5
  %1400 = call ptr @s2n_strerror(i32 noundef %1399, ptr noundef nonnull @.str.52) #11
  %1401 = load i32, ptr %1072, align 4, !tbaa !5
  %1402 = call ptr @s2n_strerror_debug(i32 noundef %1401, ptr noundef nonnull @.str.52) #11
  %1403 = load i32, ptr %1126, align 4, !tbaa !5
  %1404 = call ptr @strerror(i32 noundef %1403) #11
  %1405 = load i32, ptr %1126, align 4, !tbaa !5
  %1406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1397, ptr noundef nonnull %.str.53.sink845, i32 noundef %1398, ptr noundef nonnull @.str.173, ptr noundef nonnull @.str.51, i32 noundef 417, ptr noundef %1400, ptr noundef %1402, ptr noundef %1404, i32 noundef %1405) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1407:                                             ; preds = %1378
  %1408 = load i32, ptr @test_count, align 4, !tbaa !5
  %1409 = add nsw i32 %1408, 1
  store i32 %1409, ptr @test_count, align 4, !tbaa !5
  %1410 = load i32, ptr %1072, align 4, !tbaa !5
  %1411 = icmp eq i32 %1410, 335544324
  br i1 %1411, label %1434, label %1412

1412:                                             ; preds = %1407
  %1413 = load i32, ptr %1126, align 4, !tbaa !5
  %1414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1415 = call i32 @s2n_print_stacktrace(ptr noundef %1414) #11
  %1416 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1417 = trunc nuw i8 %1416 to i1
  br i1 %1417, label %1418, label %1422

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

1422:                                             ; preds = %1418, %1412
  br label %1423

1423:                                             ; preds = %1418, %1422
  %.str.53.sink854 = phi ptr [ @.str.53, %1422 ], [ @.str.49, %1418 ]
  store i32 %1413, ptr %1126, align 4, !tbaa !5
  %1424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1425 = load i32, ptr @test_count, align 4, !tbaa !5
  %1426 = load i32, ptr %1072, align 4, !tbaa !5
  %1427 = call ptr @s2n_strerror(i32 noundef %1426, ptr noundef nonnull @.str.52) #11
  %1428 = load i32, ptr %1072, align 4, !tbaa !5
  %1429 = call ptr @s2n_strerror_debug(i32 noundef %1428, ptr noundef nonnull @.str.52) #11
  %1430 = load i32, ptr %1126, align 4, !tbaa !5
  %1431 = call ptr @strerror(i32 noundef %1430) #11
  %1432 = load i32, ptr %1126, align 4, !tbaa !5
  %1433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1424, ptr noundef nonnull %.str.53.sink854, i32 noundef %1425, ptr noundef nonnull @.str.179, ptr noundef nonnull @.str.51, i32 noundef 417, ptr noundef %1427, ptr noundef %1429, ptr noundef %1431, i32 noundef %1432) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1434:                                             ; preds = %1407
  %1435 = add nsw i32 %1408, 2
  store i32 %1435, ptr @test_count, align 4, !tbaa !5
  %1436 = call ptr @s2n_strerror_debug(i32 noundef 335544324, ptr noundef nonnull @.str.52) #11
  %1437 = icmp eq ptr %1436, null
  br i1 %1437, label %1438, label %1460

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

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

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

1449:                                             ; preds = %1444, %1448
  %.str.53.sink863 = phi ptr [ @.str.53, %1448 ], [ @.str.49, %1444 ]
  store i32 %1439, ptr %1126, align 4, !tbaa !5
  %1450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1451 = load i32, ptr @test_count, align 4, !tbaa !5
  %1452 = load i32, ptr %1072, align 4, !tbaa !5
  %1453 = call ptr @s2n_strerror(i32 noundef %1452, ptr noundef nonnull @.str.52) #11
  %1454 = load i32, ptr %1072, align 4, !tbaa !5
  %1455 = call ptr @s2n_strerror_debug(i32 noundef %1454, ptr noundef nonnull @.str.52) #11
  %1456 = load i32, ptr %1126, align 4, !tbaa !5
  %1457 = call ptr @strerror(i32 noundef %1456) #11
  %1458 = load i32, ptr %1126, align 4, !tbaa !5
  %1459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1450, ptr noundef nonnull %.str.53.sink863, i32 noundef %1451, ptr noundef nonnull @.str.175, ptr noundef nonnull @.str.51, i32 noundef 417, ptr noundef %1453, ptr noundef %1455, ptr noundef %1457, i32 noundef %1458) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1460:                                             ; preds = %1434
  store i32 0, ptr %1072, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %1126, align 4, !tbaa !5
  %1461 = call i32 @s2n_io_pair_close(ptr noundef nonnull %13) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #11
  %1462 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %12) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #11
  %1463 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %11) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #11
  %1464 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %10) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #11
  %1465 = call ptr @s2n_config_new() #11
  store ptr %1465, ptr %14, align 8, !tbaa !9
  %1466 = load i32, ptr @test_count, align 4, !tbaa !5
  %1467 = add nsw i32 %1466, 1
  store i32 %1467, ptr @test_count, align 4, !tbaa !5
  %1468 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %1465) #11
  %1469 = icmp eq i32 %1468, -1
  br i1 %1469, label %1470, label %1492

1470:                                             ; preds = %1460
  %1471 = load i32, ptr %1126, align 4, !tbaa !5
  %1472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1473 = call i32 @s2n_print_stacktrace(ptr noundef %1472) #11
  %1474 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1475 = trunc nuw i8 %1474 to i1
  br i1 %1475, label %1476, label %1480

1476:                                             ; preds = %1470
  %1477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1478 = call i32 @fileno(ptr noundef %1477) #11
  %1479 = call i32 @isatty(i32 noundef %1478) #11
  %.not287 = icmp eq i32 %1479, 0
  br i1 %.not287, label %1480, label %1481

1480:                                             ; preds = %1476, %1470
  br label %1481

1481:                                             ; preds = %1476, %1480
  %.str.53.sink872 = phi ptr [ @.str.53, %1480 ], [ @.str.49, %1476 ]
  store i32 %1471, ptr %1126, align 4, !tbaa !5
  %1482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1483 = load i32, ptr @test_count, align 4, !tbaa !5
  %1484 = load i32, ptr %1072, align 4, !tbaa !5
  %1485 = call ptr @s2n_strerror(i32 noundef %1484, ptr noundef nonnull @.str.52) #11
  %1486 = load i32, ptr %1072, align 4, !tbaa !5
  %1487 = call ptr @s2n_strerror_debug(i32 noundef %1486, ptr noundef nonnull @.str.52) #11
  %1488 = load i32, ptr %1126, align 4, !tbaa !5
  %1489 = call ptr @strerror(i32 noundef %1488) #11
  %1490 = load i32, ptr %1126, align 4, !tbaa !5
  %1491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1482, ptr noundef nonnull %.str.53.sink872, i32 noundef %1483, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.51, i32 noundef 423, ptr noundef %1485, ptr noundef %1487, ptr noundef %1489, i32 noundef %1490) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1492:                                             ; preds = %1460
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #11
  %1493 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %1493, ptr %15, align 8, !tbaa !9
  %1494 = load i32, ptr @test_count, align 4, !tbaa !5
  %1495 = add nsw i32 %1494, 1
  store i32 %1495, ptr @test_count, align 4, !tbaa !5
  %1496 = icmp eq ptr %1493, null
  br i1 %1496, label %1497, label %1519

1497:                                             ; preds = %1492
  %1498 = load i32, ptr %1126, align 4, !tbaa !5
  %1499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1500 = call i32 @s2n_print_stacktrace(ptr noundef %1499) #11
  %1501 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1502 = trunc nuw i8 %1501 to i1
  br i1 %1502, label %1503, label %1507

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

1507:                                             ; preds = %1503, %1497
  br label %1508

1508:                                             ; preds = %1503, %1507
  %.str.53.sink881 = phi ptr [ @.str.53, %1507 ], [ @.str.49, %1503 ]
  store i32 %1498, ptr %1126, align 4, !tbaa !5
  %1509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1510 = load i32, ptr @test_count, align 4, !tbaa !5
  %1511 = load i32, ptr %1072, align 4, !tbaa !5
  %1512 = call ptr @s2n_strerror(i32 noundef %1511, ptr noundef nonnull @.str.52) #11
  %1513 = load i32, ptr %1072, align 4, !tbaa !5
  %1514 = call ptr @s2n_strerror_debug(i32 noundef %1513, ptr noundef nonnull @.str.52) #11
  %1515 = load i32, ptr %1126, align 4, !tbaa !5
  %1516 = call ptr @strerror(i32 noundef %1515) #11
  %1517 = load i32, ptr %1126, align 4, !tbaa !5
  %1518 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1509, ptr noundef nonnull %.str.53.sink881, i32 noundef %1510, ptr noundef nonnull @.str.165, ptr noundef nonnull @.str.51, i32 noundef 426, ptr noundef %1512, ptr noundef %1514, ptr noundef %1516, i32 noundef %1517) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1519:                                             ; preds = %1492
  %1520 = add nsw i32 %1494, 2
  store i32 %1520, ptr @test_count, align 4, !tbaa !5
  %1521 = load ptr, ptr %14, align 8, !tbaa !9
  %1522 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1493, ptr noundef %1521) #11
  %1523 = icmp eq i32 %1522, -1
  br i1 %1523, label %1524, label %1546

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

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

1534:                                             ; preds = %1530, %1524
  br label %1535

1535:                                             ; preds = %1530, %1534
  %.str.53.sink890 = phi ptr [ @.str.53, %1534 ], [ @.str.49, %1530 ]
  store i32 %1525, ptr %1126, align 4, !tbaa !5
  %1536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1537 = load i32, ptr @test_count, align 4, !tbaa !5
  %1538 = load i32, ptr %1072, align 4, !tbaa !5
  %1539 = call ptr @s2n_strerror(i32 noundef %1538, ptr noundef nonnull @.str.52) #11
  %1540 = load i32, ptr %1072, align 4, !tbaa !5
  %1541 = call ptr @s2n_strerror_debug(i32 noundef %1540, ptr noundef nonnull @.str.52) #11
  %1542 = load i32, ptr %1126, align 4, !tbaa !5
  %1543 = call ptr @strerror(i32 noundef %1542) #11
  %1544 = load i32, ptr %1126, align 4, !tbaa !5
  %1545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1536, ptr noundef nonnull %.str.53.sink890, i32 noundef %1537, ptr noundef nonnull @.str.180, ptr noundef nonnull @.str.51, i32 noundef 427, ptr noundef %1539, ptr noundef %1541, ptr noundef %1543, i32 noundef %1544) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1546:                                             ; preds = %1519
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #11
  %1547 = call ptr @s2n_config_new() #11
  store ptr %1547, ptr %16, align 8, !tbaa !9
  %1548 = load i32, ptr @test_count, align 4, !tbaa !5
  %1549 = add nsw i32 %1548, 1
  store i32 %1549, ptr @test_count, align 4, !tbaa !5
  %1550 = load ptr, ptr %3, align 8, !tbaa !9
  %1551 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %1547, ptr noundef %1550) #11
  %1552 = icmp eq i32 %1551, -1
  br i1 %1552, label %1553, label %1575

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

1559:                                             ; preds = %1553
  %1560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1561 = call i32 @fileno(ptr noundef %1560) #11
  %1562 = call i32 @isatty(i32 noundef %1561) #11
  %.not284 = icmp eq i32 %1562, 0
  br i1 %.not284, label %1563, label %1564

1563:                                             ; preds = %1559, %1553
  br label %1564

1564:                                             ; preds = %1559, %1563
  %.str.53.sink899 = phi ptr [ @.str.53, %1563 ], [ @.str.49, %1559 ]
  store i32 %1554, ptr %1126, align 4, !tbaa !5
  %1565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1566 = load i32, ptr @test_count, align 4, !tbaa !5
  %1567 = load i32, ptr %1072, align 4, !tbaa !5
  %1568 = call ptr @s2n_strerror(i32 noundef %1567, ptr noundef nonnull @.str.52) #11
  %1569 = load i32, ptr %1072, align 4, !tbaa !5
  %1570 = call ptr @s2n_strerror_debug(i32 noundef %1569, ptr noundef nonnull @.str.52) #11
  %1571 = load i32, ptr %1126, align 4, !tbaa !5
  %1572 = call ptr @strerror(i32 noundef %1571) #11
  %1573 = load i32, ptr %1126, align 4, !tbaa !5
  %1574 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1565, ptr noundef nonnull %.str.53.sink899, i32 noundef %1566, ptr noundef nonnull @.str.181, ptr noundef nonnull @.str.51, i32 noundef 430, ptr noundef %1568, ptr noundef %1570, ptr noundef %1572, i32 noundef %1573) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1575:                                             ; preds = %1546
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #11
  %1576 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %1576, ptr %17, align 8, !tbaa !9
  %1577 = load i32, ptr @test_count, align 4, !tbaa !5
  %1578 = add nsw i32 %1577, 1
  store i32 %1578, ptr @test_count, align 4, !tbaa !5
  %1579 = icmp eq ptr %1576, null
  br i1 %1579, label %1580, label %1602

1580:                                             ; preds = %1575
  %1581 = load i32, ptr %1126, align 4, !tbaa !5
  %1582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1583 = call i32 @s2n_print_stacktrace(ptr noundef %1582) #11
  %1584 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1585 = trunc nuw i8 %1584 to i1
  br i1 %1585, label %1586, label %1590

1586:                                             ; preds = %1580
  %1587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1588 = call i32 @fileno(ptr noundef %1587) #11
  %1589 = call i32 @isatty(i32 noundef %1588) #11
  %.not283 = icmp eq i32 %1589, 0
  br i1 %.not283, label %1590, label %1591

1590:                                             ; preds = %1586, %1580
  br label %1591

1591:                                             ; preds = %1586, %1590
  %.str.53.sink908 = phi ptr [ @.str.53, %1590 ], [ @.str.49, %1586 ]
  store i32 %1581, ptr %1126, align 4, !tbaa !5
  %1592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1593 = load i32, ptr @test_count, align 4, !tbaa !5
  %1594 = load i32, ptr %1072, align 4, !tbaa !5
  %1595 = call ptr @s2n_strerror(i32 noundef %1594, ptr noundef nonnull @.str.52) #11
  %1596 = load i32, ptr %1072, align 4, !tbaa !5
  %1597 = call ptr @s2n_strerror_debug(i32 noundef %1596, ptr noundef nonnull @.str.52) #11
  %1598 = load i32, ptr %1126, align 4, !tbaa !5
  %1599 = call ptr @strerror(i32 noundef %1598) #11
  %1600 = load i32, ptr %1126, align 4, !tbaa !5
  %1601 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1592, ptr noundef nonnull %.str.53.sink908, i32 noundef %1593, ptr noundef nonnull @.str.167, ptr noundef nonnull @.str.51, i32 noundef 433, ptr noundef %1595, ptr noundef %1597, ptr noundef %1599, i32 noundef %1600) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1602:                                             ; preds = %1575
  %1603 = add nsw i32 %1577, 2
  store i32 %1603, ptr @test_count, align 4, !tbaa !5
  %1604 = load ptr, ptr %16, align 8, !tbaa !9
  %1605 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1576, ptr noundef %1604) #11
  %1606 = icmp eq i32 %1605, -1
  br i1 %1606, label %1607, label %1629

1607:                                             ; preds = %1602
  %1608 = load i32, ptr %1126, align 4, !tbaa !5
  %1609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1610 = call i32 @s2n_print_stacktrace(ptr noundef %1609) #11
  %1611 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1612 = trunc nuw i8 %1611 to i1
  br i1 %1612, label %1613, label %1617

1613:                                             ; preds = %1607
  %1614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1615 = call i32 @fileno(ptr noundef %1614) #11
  %1616 = call i32 @isatty(i32 noundef %1615) #11
  %.not282 = icmp eq i32 %1616, 0
  br i1 %.not282, label %1617, label %1618

1617:                                             ; preds = %1613, %1607
  br label %1618

1618:                                             ; preds = %1613, %1617
  %.str.53.sink917 = phi ptr [ @.str.53, %1617 ], [ @.str.49, %1613 ]
  store i32 %1608, ptr %1126, align 4, !tbaa !5
  %1619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1620 = load i32, ptr @test_count, align 4, !tbaa !5
  %1621 = load i32, ptr %1072, align 4, !tbaa !5
  %1622 = call ptr @s2n_strerror(i32 noundef %1621, ptr noundef nonnull @.str.52) #11
  %1623 = load i32, ptr %1072, align 4, !tbaa !5
  %1624 = call ptr @s2n_strerror_debug(i32 noundef %1623, ptr noundef nonnull @.str.52) #11
  %1625 = load i32, ptr %1126, align 4, !tbaa !5
  %1626 = call ptr @strerror(i32 noundef %1625) #11
  %1627 = load i32, ptr %1126, align 4, !tbaa !5
  %1628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1619, ptr noundef nonnull %.str.53.sink917, i32 noundef %1620, ptr noundef nonnull @.str.182, ptr noundef nonnull @.str.51, i32 noundef 434, ptr noundef %1622, ptr noundef %1624, ptr noundef %1626, i32 noundef %1627) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1629:                                             ; preds = %1602
  %1630 = load i32, ptr @test_count, align 4, !tbaa !5
  %1631 = add nsw i32 %1630, 1
  store i32 %1631, ptr @test_count, align 4, !tbaa !5
  %1632 = load ptr, ptr %17, align 8, !tbaa !9
  %1633 = call i32 @s2n_connection_set_client_auth_type(ptr noundef %1632, i32 noundef 2) #11
  %1634 = icmp eq i32 %1633, -1
  br i1 %1634, label %1635, label %1657

1635:                                             ; preds = %1629
  %1636 = load i32, ptr %1126, align 4, !tbaa !5
  %1637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1638 = call i32 @s2n_print_stacktrace(ptr noundef %1637) #11
  %1639 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1640 = trunc nuw i8 %1639 to i1
  br i1 %1640, label %1641, label %1645

1641:                                             ; preds = %1635
  %1642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1643 = call i32 @fileno(ptr noundef %1642) #11
  %1644 = call i32 @isatty(i32 noundef %1643) #11
  %.not281 = icmp eq i32 %1644, 0
  br i1 %.not281, label %1645, label %1646

1645:                                             ; preds = %1641, %1635
  br label %1646

1646:                                             ; preds = %1641, %1645
  %.str.53.sink926 = phi ptr [ @.str.53, %1645 ], [ @.str.49, %1641 ]
  store i32 %1636, ptr %1126, align 4, !tbaa !5
  %1647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1648 = load i32, ptr @test_count, align 4, !tbaa !5
  %1649 = load i32, ptr %1072, align 4, !tbaa !5
  %1650 = call ptr @s2n_strerror(i32 noundef %1649, ptr noundef nonnull @.str.52) #11
  %1651 = load i32, ptr %1072, align 4, !tbaa !5
  %1652 = call ptr @s2n_strerror_debug(i32 noundef %1651, ptr noundef nonnull @.str.52) #11
  %1653 = load i32, ptr %1126, align 4, !tbaa !5
  %1654 = call ptr @strerror(i32 noundef %1653) #11
  %1655 = load i32, ptr %1126, align 4, !tbaa !5
  %1656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1647, ptr noundef nonnull %.str.53.sink926, i32 noundef %1648, ptr noundef nonnull @.str.171, ptr noundef nonnull @.str.51, i32 noundef 437, ptr noundef %1650, ptr noundef %1652, ptr noundef %1654, i32 noundef %1655) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1657:                                             ; preds = %1629
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #11
  store i64 0, ptr %18, align 8
  %1658 = load i32, ptr @test_count, align 4, !tbaa !5
  %1659 = add nsw i32 %1658, 1
  store i32 %1659, ptr @test_count, align 4, !tbaa !5
  %1660 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %18) #11
  %1661 = icmp eq i32 %1660, -1
  br i1 %1661, label %1662, label %1684

1662:                                             ; preds = %1657
  %1663 = load i32, ptr %1126, align 4, !tbaa !5
  %1664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1665 = call i32 @s2n_print_stacktrace(ptr noundef %1664) #11
  %1666 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1667 = trunc nuw i8 %1666 to i1
  br i1 %1667, label %1668, label %1672

1668:                                             ; preds = %1662
  %1669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1670 = call i32 @fileno(ptr noundef %1669) #11
  %1671 = call i32 @isatty(i32 noundef %1670) #11
  %.not280 = icmp eq i32 %1671, 0
  br i1 %.not280, label %1672, label %1673

1672:                                             ; preds = %1668, %1662
  br label %1673

1673:                                             ; preds = %1668, %1672
  %.str.53.sink935 = phi ptr [ @.str.53, %1672 ], [ @.str.49, %1668 ]
  store i32 %1663, ptr %1126, align 4, !tbaa !5
  %1674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1675 = load i32, ptr @test_count, align 4, !tbaa !5
  %1676 = load i32, ptr %1072, align 4, !tbaa !5
  %1677 = call ptr @s2n_strerror(i32 noundef %1676, ptr noundef nonnull @.str.52) #11
  %1678 = load i32, ptr %1072, align 4, !tbaa !5
  %1679 = call ptr @s2n_strerror_debug(i32 noundef %1678, ptr noundef nonnull @.str.52) #11
  %1680 = load i32, ptr %1126, align 4, !tbaa !5
  %1681 = call ptr @strerror(i32 noundef %1680) #11
  %1682 = load i32, ptr %1126, align 4, !tbaa !5
  %1683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1674, ptr noundef nonnull %.str.53.sink935, i32 noundef %1675, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.51, i32 noundef 440, ptr noundef %1677, ptr noundef %1679, ptr noundef %1681, i32 noundef %1682) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1684:                                             ; preds = %1657
  %1685 = load i32, ptr @test_count, align 4, !tbaa !5
  %1686 = add nsw i32 %1685, 1
  store i32 %1686, ptr @test_count, align 4, !tbaa !5
  %1687 = load ptr, ptr %15, align 8, !tbaa !9
  %1688 = load ptr, ptr %17, align 8, !tbaa !9
  %1689 = call i32 @s2n_connections_set_io_pair(ptr noundef %1687, ptr noundef %1688, ptr noundef nonnull %18) #11
  %1690 = icmp eq i32 %1689, -1
  br i1 %1690, label %1691, label %1713

1691:                                             ; preds = %1684
  %1692 = load i32, ptr %1126, align 4, !tbaa !5
  %1693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1694 = call i32 @s2n_print_stacktrace(ptr noundef %1693) #11
  %1695 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1696 = trunc nuw i8 %1695 to i1
  br i1 %1696, label %1697, label %1701

1697:                                             ; preds = %1691
  %1698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1699 = call i32 @fileno(ptr noundef %1698) #11
  %1700 = call i32 @isatty(i32 noundef %1699) #11
  %.not279 = icmp eq i32 %1700, 0
  br i1 %.not279, label %1701, label %1702

1701:                                             ; preds = %1697, %1691
  br label %1702

1702:                                             ; preds = %1697, %1701
  %.str.53.sink944 = phi ptr [ @.str.53, %1701 ], [ @.str.49, %1697 ]
  store i32 %1692, ptr %1126, align 4, !tbaa !5
  %1703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1704 = load i32, ptr @test_count, align 4, !tbaa !5
  %1705 = load i32, ptr %1072, align 4, !tbaa !5
  %1706 = call ptr @s2n_strerror(i32 noundef %1705, ptr noundef nonnull @.str.52) #11
  %1707 = load i32, ptr %1072, align 4, !tbaa !5
  %1708 = call ptr @s2n_strerror_debug(i32 noundef %1707, ptr noundef nonnull @.str.52) #11
  %1709 = load i32, ptr %1126, align 4, !tbaa !5
  %1710 = call ptr @strerror(i32 noundef %1709) #11
  %1711 = load i32, ptr %1126, align 4, !tbaa !5
  %1712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1703, ptr noundef nonnull %.str.53.sink944, i32 noundef %1704, ptr noundef nonnull @.str.172, ptr noundef nonnull @.str.51, i32 noundef 441, ptr noundef %1706, ptr noundef %1708, ptr noundef %1710, i32 noundef %1711) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1713:                                             ; preds = %1684
  %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 %17, align 8, !tbaa !9
  %1717 = load ptr, ptr %15, align 8, !tbaa !9
  %1718 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %1716, ptr noundef %1717) #11
  %1719 = icmp eq i32 %1718, -1
  br i1 %1719, label %1720, label %.preheader

1720:                                             ; preds = %1713
  %1721 = load i32, ptr %1126, align 4, !tbaa !5
  %1722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1723 = call i32 @s2n_print_stacktrace(ptr noundef %1722) #11
  %1724 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1725 = trunc nuw i8 %1724 to i1
  br i1 %1725, label %1726, label %1730

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

1730:                                             ; preds = %1726, %1720
  br label %1731

1731:                                             ; preds = %1726, %1730
  %.str.53.sink953 = phi ptr [ @.str.53, %1730 ], [ @.str.49, %1726 ]
  store i32 %1721, ptr %1126, align 4, !tbaa !5
  %1732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1733 = load i32, ptr @test_count, align 4, !tbaa !5
  %1734 = load i32, ptr %1072, align 4, !tbaa !5
  %1735 = call ptr @s2n_strerror(i32 noundef %1734, ptr noundef nonnull @.str.52) #11
  %1736 = load i32, ptr %1072, align 4, !tbaa !5
  %1737 = call ptr @s2n_strerror_debug(i32 noundef %1736, ptr noundef nonnull @.str.52) #11
  %1738 = load i32, ptr %1126, align 4, !tbaa !5
  %1739 = call ptr @strerror(i32 noundef %1738) #11
  %1740 = load i32, ptr %1126, align 4, !tbaa !5
  %1741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1732, ptr noundef nonnull %.str.53.sink953, i32 noundef %1733, ptr noundef nonnull @.str.183, ptr noundef nonnull @.str.51, i32 noundef 443, ptr noundef %1735, ptr noundef %1737, ptr noundef %1739, i32 noundef %1740) #13
  call void @exit(i32 noundef 1) #14
  unreachable

.preheader:                                       ; preds = %1713
  %1742 = call i32 @s2n_io_pair_close(ptr noundef nonnull %18) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #11
  %1743 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %17) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #11
  %1744 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %16) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #11
  %1745 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %15) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #11
  %1746 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %14) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #11
  call void @llvm.lifetime.start.p0(i64 1200, ptr nonnull %19) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(1200) %19, i8 0, i64 1200, i1 false)
  %1747 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.all_options, i64 12), align 4, !tbaa !5
  %1748 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.all_options, i64 8), align 8, !tbaa !5
  %1749 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.all_options, i64 4), align 4, !tbaa !5
  %1750 = load i32, ptr @__const.main.all_options, align 16, !tbaa !5
  %test_count.promoted350 = load i32, ptr @test_count, align 4, !tbaa !5
  store i32 %1750, ptr %19, align 16, !tbaa !15
  %1751 = getelementptr inbounds i8, ptr %19, i64 4
  store i32 %1750, ptr %1751, align 4, !tbaa !17
  %1752 = getelementptr inbounds i8, ptr %19, i64 8
  store i8 0, ptr %1752, align 8, !tbaa !18
  %1753 = getelementptr inbounds i8, ptr %19, i64 9
  store i8 33, ptr %1753, align 1, !tbaa !19
  %1754 = getelementptr inbounds i8, ptr %19, i64 12
  store i32 %1750, ptr %1754, align 4, !tbaa !15
  %1755 = getelementptr inbounds i8, ptr %19, i64 16
  store i32 %1750, ptr %1755, align 16, !tbaa !17
  %1756 = getelementptr inbounds i8, ptr %19, i64 20
  store i8 0, ptr %1756, align 4, !tbaa !18
  %1757 = getelementptr inbounds i8, ptr %19, i64 21
  store i8 34, ptr %1757, align 1, !tbaa !19
  %1758 = getelementptr inbounds i8, ptr %19, i64 24
  store i32 %1750, ptr %1758, align 8, !tbaa !15
  %1759 = getelementptr inbounds i8, ptr %19, i64 28
  store i32 %1750, ptr %1759, align 4, !tbaa !17
  %1760 = getelementptr inbounds i8, ptr %19, i64 32
  store i8 1, ptr %1760, align 16, !tbaa !18
  %1761 = getelementptr inbounds i8, ptr %19, i64 33
  store i8 33, ptr %1761, align 1, !tbaa !19
  %1762 = getelementptr inbounds i8, ptr %19, i64 36
  store i32 %1750, ptr %1762, align 4, !tbaa !15
  %1763 = getelementptr inbounds i8, ptr %19, i64 40
  store i32 %1750, ptr %1763, align 8, !tbaa !17
  %1764 = getelementptr inbounds i8, ptr %19, i64 44
  store i8 1, ptr %1764, align 4, !tbaa !18
  %1765 = getelementptr inbounds i8, ptr %19, i64 45
  store i8 34, ptr %1765, align 1, !tbaa !19
  %1766 = getelementptr inbounds i8, ptr %19, i64 48
  store i32 %1750, ptr %1766, align 16, !tbaa !15
  %1767 = getelementptr inbounds i8, ptr %19, i64 52
  store i32 %1749, ptr %1767, align 4, !tbaa !17
  %1768 = getelementptr inbounds i8, ptr %19, i64 56
  store i8 0, ptr %1768, align 8, !tbaa !18
  %1769 = getelementptr inbounds i8, ptr %19, i64 57
  store i8 33, ptr %1769, align 1, !tbaa !19
  %1770 = getelementptr inbounds i8, ptr %19, i64 60
  store i32 %1750, ptr %1770, align 4, !tbaa !15
  %1771 = getelementptr inbounds i8, ptr %19, i64 64
  store i32 %1749, ptr %1771, align 16, !tbaa !17
  %1772 = getelementptr inbounds i8, ptr %19, i64 68
  store i8 0, ptr %1772, align 4, !tbaa !18
  %1773 = getelementptr inbounds i8, ptr %19, i64 69
  store i8 34, ptr %1773, align 1, !tbaa !19
  %1774 = getelementptr inbounds i8, ptr %19, i64 72
  store i32 %1750, ptr %1774, align 8, !tbaa !15
  %1775 = getelementptr inbounds i8, ptr %19, i64 76
  store i32 %1749, ptr %1775, align 4, !tbaa !17
  %1776 = getelementptr inbounds i8, ptr %19, i64 80
  store i8 1, ptr %1776, align 16, !tbaa !18
  %1777 = getelementptr inbounds i8, ptr %19, i64 81
  store i8 33, ptr %1777, align 1, !tbaa !19
  %1778 = getelementptr inbounds i8, ptr %19, i64 84
  store i32 %1750, ptr %1778, align 4, !tbaa !15
  %1779 = getelementptr inbounds i8, ptr %19, i64 88
  store i32 %1749, ptr %1779, align 8, !tbaa !17
  %1780 = getelementptr inbounds i8, ptr %19, i64 92
  store i8 1, ptr %1780, align 4, !tbaa !18
  %1781 = getelementptr inbounds i8, ptr %19, i64 93
  store i8 34, ptr %1781, align 1, !tbaa !19
  %1782 = getelementptr inbounds i8, ptr %19, i64 96
  store i32 %1750, ptr %1782, align 16, !tbaa !15
  %1783 = getelementptr inbounds i8, ptr %19, i64 100
  store i32 %1748, ptr %1783, align 4, !tbaa !17
  %1784 = getelementptr inbounds i8, ptr %19, i64 104
  store i8 0, ptr %1784, align 8, !tbaa !18
  %1785 = getelementptr inbounds i8, ptr %19, i64 105
  store i8 33, ptr %1785, align 1, !tbaa !19
  %1786 = getelementptr inbounds i8, ptr %19, i64 108
  store i32 %1750, ptr %1786, align 4, !tbaa !15
  %1787 = getelementptr inbounds i8, ptr %19, i64 112
  store i32 %1748, ptr %1787, align 16, !tbaa !17
  %1788 = getelementptr inbounds i8, ptr %19, i64 116
  store i8 0, ptr %1788, align 4, !tbaa !18
  %1789 = getelementptr inbounds i8, ptr %19, i64 117
  store i8 34, ptr %1789, align 1, !tbaa !19
  %1790 = getelementptr inbounds i8, ptr %19, i64 120
  store i32 %1750, ptr %1790, align 8, !tbaa !15
  %1791 = getelementptr inbounds i8, ptr %19, i64 124
  store i32 %1748, ptr %1791, align 4, !tbaa !17
  %1792 = getelementptr inbounds i8, ptr %19, i64 128
  store i8 1, ptr %1792, align 16, !tbaa !18
  %1793 = getelementptr inbounds i8, ptr %19, i64 129
  store i8 33, ptr %1793, align 1, !tbaa !19
  %1794 = getelementptr inbounds i8, ptr %19, i64 132
  store i32 %1750, ptr %1794, align 4, !tbaa !15
  %1795 = getelementptr inbounds i8, ptr %19, i64 136
  store i32 %1748, ptr %1795, align 8, !tbaa !17
  %1796 = getelementptr inbounds i8, ptr %19, i64 140
  store i8 1, ptr %1796, align 4, !tbaa !18
  %1797 = getelementptr inbounds i8, ptr %19, i64 141
  store i8 34, ptr %1797, align 1, !tbaa !19
  %1798 = getelementptr inbounds i8, ptr %19, i64 144
  store i32 %1750, ptr %1798, align 16, !tbaa !15
  %1799 = getelementptr inbounds i8, ptr %19, i64 148
  store i32 %1747, ptr %1799, align 4, !tbaa !17
  %1800 = getelementptr inbounds i8, ptr %19, i64 152
  store i8 0, ptr %1800, align 8, !tbaa !18
  %1801 = getelementptr inbounds i8, ptr %19, i64 153
  store i8 33, ptr %1801, align 1, !tbaa !19
  %1802 = getelementptr inbounds i8, ptr %19, i64 156
  store i32 %1750, ptr %1802, align 4, !tbaa !15
  %1803 = getelementptr inbounds i8, ptr %19, i64 160
  store i32 %1747, ptr %1803, align 16, !tbaa !17
  %1804 = getelementptr inbounds i8, ptr %19, i64 164
  store i8 0, ptr %1804, align 4, !tbaa !18
  %1805 = getelementptr inbounds i8, ptr %19, i64 165
  store i8 34, ptr %1805, align 1, !tbaa !19
  %1806 = getelementptr inbounds i8, ptr %19, i64 168
  store i32 %1750, ptr %1806, align 8, !tbaa !15
  %1807 = getelementptr inbounds i8, ptr %19, i64 172
  store i32 %1747, ptr %1807, align 4, !tbaa !17
  %1808 = getelementptr inbounds i8, ptr %19, i64 176
  store i8 1, ptr %1808, align 16, !tbaa !18
  %1809 = getelementptr inbounds i8, ptr %19, i64 177
  store i8 33, ptr %1809, align 1, !tbaa !19
  %1810 = getelementptr inbounds i8, ptr %19, i64 180
  store i32 %1750, ptr %1810, align 4, !tbaa !15
  %1811 = getelementptr inbounds i8, ptr %19, i64 184
  store i32 %1747, ptr %1811, align 8, !tbaa !17
  %1812 = getelementptr inbounds i8, ptr %19, i64 188
  store i8 1, ptr %1812, align 4, !tbaa !18
  %1813 = getelementptr inbounds i8, ptr %19, i64 189
  store i8 34, ptr %1813, align 1, !tbaa !19
  %1814 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.all_options, i64 4), align 4, !tbaa !5
  %1815 = getelementptr inbounds i8, ptr %19, i64 192
  store i32 %1814, ptr %1815, align 16, !tbaa !15
  %1816 = getelementptr inbounds i8, ptr %19, i64 196
  store i32 %1750, ptr %1816, align 4, !tbaa !17
  %1817 = getelementptr inbounds i8, ptr %19, i64 200
  store i8 0, ptr %1817, align 8, !tbaa !18
  %1818 = getelementptr inbounds i8, ptr %19, i64 201
  store i8 33, ptr %1818, align 1, !tbaa !19
  %1819 = getelementptr inbounds i8, ptr %19, i64 204
  store i32 %1814, ptr %1819, align 4, !tbaa !15
  %1820 = getelementptr inbounds i8, ptr %19, i64 208
  store i32 %1750, ptr %1820, align 16, !tbaa !17
  %1821 = getelementptr inbounds i8, ptr %19, i64 212
  store i8 0, ptr %1821, align 4, !tbaa !18
  %1822 = getelementptr inbounds i8, ptr %19, i64 213
  store i8 34, ptr %1822, align 1, !tbaa !19
  %1823 = getelementptr inbounds i8, ptr %19, i64 216
  store i32 %1814, ptr %1823, align 8, !tbaa !15
  %1824 = getelementptr inbounds i8, ptr %19, i64 220
  store i32 %1750, ptr %1824, align 4, !tbaa !17
  %1825 = getelementptr inbounds i8, ptr %19, i64 224
  store i8 1, ptr %1825, align 16, !tbaa !18
  %1826 = getelementptr inbounds i8, ptr %19, i64 225
  store i8 33, ptr %1826, align 1, !tbaa !19
  %1827 = getelementptr inbounds i8, ptr %19, i64 228
  store i32 %1814, ptr %1827, align 4, !tbaa !15
  %1828 = getelementptr inbounds i8, ptr %19, i64 232
  store i32 %1750, ptr %1828, align 8, !tbaa !17
  %1829 = getelementptr inbounds i8, ptr %19, i64 236
  store i8 1, ptr %1829, align 4, !tbaa !18
  %1830 = getelementptr inbounds i8, ptr %19, i64 237
  store i8 34, ptr %1830, align 1, !tbaa !19
  %1831 = getelementptr inbounds i8, ptr %19, i64 240
  store i32 %1814, ptr %1831, align 16, !tbaa !15
  %1832 = getelementptr inbounds i8, ptr %19, i64 244
  store i32 %1749, ptr %1832, align 4, !tbaa !17
  %1833 = getelementptr inbounds i8, ptr %19, i64 248
  store i8 0, ptr %1833, align 8, !tbaa !18
  %1834 = getelementptr inbounds i8, ptr %19, i64 249
  store i8 33, ptr %1834, align 1, !tbaa !19
  %1835 = getelementptr inbounds i8, ptr %19, i64 252
  store i32 %1814, ptr %1835, align 4, !tbaa !15
  %1836 = getelementptr inbounds i8, ptr %19, i64 256
  store i32 %1749, ptr %1836, align 16, !tbaa !17
  %1837 = getelementptr inbounds i8, ptr %19, i64 260
  store i8 0, ptr %1837, align 4, !tbaa !18
  %1838 = getelementptr inbounds i8, ptr %19, i64 261
  store i8 34, ptr %1838, align 1, !tbaa !19
  %1839 = getelementptr inbounds i8, ptr %19, i64 264
  store i32 %1814, ptr %1839, align 8, !tbaa !15
  %1840 = getelementptr inbounds i8, ptr %19, i64 268
  store i32 %1749, ptr %1840, align 4, !tbaa !17
  %1841 = getelementptr inbounds i8, ptr %19, i64 272
  store i8 1, ptr %1841, align 16, !tbaa !18
  %1842 = getelementptr inbounds i8, ptr %19, i64 273
  store i8 33, ptr %1842, align 1, !tbaa !19
  %1843 = getelementptr inbounds i8, ptr %19, i64 276
  store i32 %1814, ptr %1843, align 4, !tbaa !15
  %1844 = getelementptr inbounds i8, ptr %19, i64 280
  store i32 %1749, ptr %1844, align 8, !tbaa !17
  %1845 = getelementptr inbounds i8, ptr %19, i64 284
  store i8 1, ptr %1845, align 4, !tbaa !18
  %1846 = getelementptr inbounds i8, ptr %19, i64 285
  store i8 34, ptr %1846, align 1, !tbaa !19
  %1847 = getelementptr inbounds i8, ptr %19, i64 288
  store i32 %1814, ptr %1847, align 16, !tbaa !15
  %1848 = getelementptr inbounds i8, ptr %19, i64 292
  store i32 %1748, ptr %1848, align 4, !tbaa !17
  %1849 = getelementptr inbounds i8, ptr %19, i64 296
  store i8 0, ptr %1849, align 8, !tbaa !18
  %1850 = getelementptr inbounds i8, ptr %19, i64 297
  store i8 33, ptr %1850, align 1, !tbaa !19
  %1851 = getelementptr inbounds i8, ptr %19, i64 300
  store i32 %1814, ptr %1851, align 4, !tbaa !15
  %1852 = getelementptr inbounds i8, ptr %19, i64 304
  store i32 %1748, ptr %1852, align 16, !tbaa !17
  %1853 = getelementptr inbounds i8, ptr %19, i64 308
  store i8 0, ptr %1853, align 4, !tbaa !18
  %1854 = getelementptr inbounds i8, ptr %19, i64 309
  store i8 34, ptr %1854, align 1, !tbaa !19
  %1855 = getelementptr inbounds i8, ptr %19, i64 312
  store i32 %1814, ptr %1855, align 8, !tbaa !15
  %1856 = getelementptr inbounds i8, ptr %19, i64 316
  store i32 %1748, ptr %1856, align 4, !tbaa !17
  %1857 = getelementptr inbounds i8, ptr %19, i64 320
  store i8 1, ptr %1857, align 16, !tbaa !18
  %1858 = getelementptr inbounds i8, ptr %19, i64 321
  store i8 33, ptr %1858, align 1, !tbaa !19
  %1859 = getelementptr inbounds i8, ptr %19, i64 324
  store i32 %1814, ptr %1859, align 4, !tbaa !15
  %1860 = getelementptr inbounds i8, ptr %19, i64 328
  store i32 %1748, ptr %1860, align 8, !tbaa !17
  %1861 = getelementptr inbounds i8, ptr %19, i64 332
  store i8 1, ptr %1861, align 4, !tbaa !18
  %1862 = getelementptr inbounds i8, ptr %19, i64 333
  store i8 34, ptr %1862, align 1, !tbaa !19
  %1863 = getelementptr inbounds i8, ptr %19, i64 336
  store i32 %1814, ptr %1863, align 16, !tbaa !15
  %1864 = getelementptr inbounds i8, ptr %19, i64 340
  store i32 %1747, ptr %1864, align 4, !tbaa !17
  %1865 = getelementptr inbounds i8, ptr %19, i64 344
  store i8 0, ptr %1865, align 8, !tbaa !18
  %1866 = getelementptr inbounds i8, ptr %19, i64 345
  store i8 33, ptr %1866, align 1, !tbaa !19
  %1867 = getelementptr inbounds i8, ptr %19, i64 348
  store i32 %1814, ptr %1867, align 4, !tbaa !15
  %1868 = getelementptr inbounds i8, ptr %19, i64 352
  store i32 %1747, ptr %1868, align 16, !tbaa !17
  %1869 = getelementptr inbounds i8, ptr %19, i64 356
  store i8 0, ptr %1869, align 4, !tbaa !18
  %1870 = getelementptr inbounds i8, ptr %19, i64 357
  store i8 34, ptr %1870, align 1, !tbaa !19
  %1871 = getelementptr inbounds i8, ptr %19, i64 360
  store i32 %1814, ptr %1871, align 8, !tbaa !15
  %1872 = getelementptr inbounds i8, ptr %19, i64 364
  store i32 %1747, ptr %1872, align 4, !tbaa !17
  %1873 = getelementptr inbounds i8, ptr %19, i64 368
  store i8 1, ptr %1873, align 16, !tbaa !18
  %1874 = getelementptr inbounds i8, ptr %19, i64 369
  store i8 33, ptr %1874, align 1, !tbaa !19
  %1875 = getelementptr inbounds i8, ptr %19, i64 372
  store i32 %1814, ptr %1875, align 4, !tbaa !15
  %1876 = getelementptr inbounds i8, ptr %19, i64 376
  store i32 %1747, ptr %1876, align 8, !tbaa !17
  %1877 = getelementptr inbounds i8, ptr %19, i64 380
  store i8 1, ptr %1877, align 4, !tbaa !18
  %1878 = getelementptr inbounds i8, ptr %19, i64 381
  store i8 34, ptr %1878, align 1, !tbaa !19
  %1879 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.all_options, i64 8), align 8, !tbaa !5
  %1880 = getelementptr inbounds i8, ptr %19, i64 384
  store i32 %1879, ptr %1880, align 16, !tbaa !15
  %1881 = getelementptr inbounds i8, ptr %19, i64 388
  store i32 %1750, ptr %1881, align 4, !tbaa !17
  %1882 = getelementptr inbounds i8, ptr %19, i64 392
  store i8 0, ptr %1882, align 8, !tbaa !18
  %1883 = getelementptr inbounds i8, ptr %19, i64 393
  store i8 33, ptr %1883, align 1, !tbaa !19
  %1884 = getelementptr inbounds i8, ptr %19, i64 396
  store i32 %1879, ptr %1884, align 4, !tbaa !15
  %1885 = getelementptr inbounds i8, ptr %19, i64 400
  store i32 %1750, ptr %1885, align 16, !tbaa !17
  %1886 = getelementptr inbounds i8, ptr %19, i64 404
  store i8 0, ptr %1886, align 4, !tbaa !18
  %1887 = getelementptr inbounds i8, ptr %19, i64 405
  store i8 34, ptr %1887, align 1, !tbaa !19
  %1888 = getelementptr inbounds i8, ptr %19, i64 408
  store i32 %1879, ptr %1888, align 8, !tbaa !15
  %1889 = getelementptr inbounds i8, ptr %19, i64 412
  store i32 %1750, ptr %1889, align 4, !tbaa !17
  %1890 = getelementptr inbounds i8, ptr %19, i64 416
  store i8 1, ptr %1890, align 16, !tbaa !18
  %1891 = getelementptr inbounds i8, ptr %19, i64 417
  store i8 33, ptr %1891, align 1, !tbaa !19
  %1892 = getelementptr inbounds i8, ptr %19, i64 420
  store i32 %1879, ptr %1892, align 4, !tbaa !15
  %1893 = getelementptr inbounds i8, ptr %19, i64 424
  store i32 %1750, ptr %1893, align 8, !tbaa !17
  %1894 = getelementptr inbounds i8, ptr %19, i64 428
  store i8 1, ptr %1894, align 4, !tbaa !18
  %1895 = getelementptr inbounds i8, ptr %19, i64 429
  store i8 34, ptr %1895, align 1, !tbaa !19
  %1896 = getelementptr inbounds i8, ptr %19, i64 432
  store i32 %1879, ptr %1896, align 16, !tbaa !15
  %1897 = getelementptr inbounds i8, ptr %19, i64 436
  store i32 %1749, ptr %1897, align 4, !tbaa !17
  %1898 = getelementptr inbounds i8, ptr %19, i64 440
  store i8 0, ptr %1898, align 8, !tbaa !18
  %1899 = getelementptr inbounds i8, ptr %19, i64 441
  store i8 33, ptr %1899, align 1, !tbaa !19
  %1900 = getelementptr inbounds i8, ptr %19, i64 444
  store i32 %1879, ptr %1900, align 4, !tbaa !15
  %1901 = getelementptr inbounds i8, ptr %19, i64 448
  store i32 %1749, ptr %1901, align 16, !tbaa !17
  %1902 = getelementptr inbounds i8, ptr %19, i64 452
  store i8 0, ptr %1902, align 4, !tbaa !18
  %1903 = getelementptr inbounds i8, ptr %19, i64 453
  store i8 34, ptr %1903, align 1, !tbaa !19
  %1904 = getelementptr inbounds i8, ptr %19, i64 456
  store i32 %1879, ptr %1904, align 8, !tbaa !15
  %1905 = getelementptr inbounds i8, ptr %19, i64 460
  store i32 %1749, ptr %1905, align 4, !tbaa !17
  %1906 = getelementptr inbounds i8, ptr %19, i64 464
  store i8 1, ptr %1906, align 16, !tbaa !18
  %1907 = getelementptr inbounds i8, ptr %19, i64 465
  store i8 33, ptr %1907, align 1, !tbaa !19
  %1908 = getelementptr inbounds i8, ptr %19, i64 468
  store i32 %1879, ptr %1908, align 4, !tbaa !15
  %1909 = getelementptr inbounds i8, ptr %19, i64 472
  store i32 %1749, ptr %1909, align 8, !tbaa !17
  %1910 = getelementptr inbounds i8, ptr %19, i64 476
  store i8 1, ptr %1910, align 4, !tbaa !18
  %1911 = getelementptr inbounds i8, ptr %19, i64 477
  store i8 34, ptr %1911, align 1, !tbaa !19
  %1912 = getelementptr inbounds i8, ptr %19, i64 480
  store i32 %1879, ptr %1912, align 16, !tbaa !15
  %1913 = getelementptr inbounds i8, ptr %19, i64 484
  store i32 %1748, ptr %1913, align 4, !tbaa !17
  %1914 = getelementptr inbounds i8, ptr %19, i64 488
  store i8 0, ptr %1914, align 8, !tbaa !18
  %1915 = getelementptr inbounds i8, ptr %19, i64 489
  store i8 33, ptr %1915, align 1, !tbaa !19
  %1916 = getelementptr inbounds i8, ptr %19, i64 492
  store i32 %1879, ptr %1916, align 4, !tbaa !15
  %1917 = getelementptr inbounds i8, ptr %19, i64 496
  store i32 %1748, ptr %1917, align 16, !tbaa !17
  %1918 = getelementptr inbounds i8, ptr %19, i64 500
  store i8 0, ptr %1918, align 4, !tbaa !18
  %1919 = getelementptr inbounds i8, ptr %19, i64 501
  store i8 34, ptr %1919, align 1, !tbaa !19
  %1920 = getelementptr inbounds i8, ptr %19, i64 504
  store i32 %1879, ptr %1920, align 8, !tbaa !15
  %1921 = getelementptr inbounds i8, ptr %19, i64 508
  store i32 %1748, ptr %1921, align 4, !tbaa !17
  %1922 = getelementptr inbounds i8, ptr %19, i64 512
  store i8 1, ptr %1922, align 16, !tbaa !18
  %1923 = getelementptr inbounds i8, ptr %19, i64 513
  store i8 33, ptr %1923, align 1, !tbaa !19
  %1924 = getelementptr inbounds i8, ptr %19, i64 516
  store i32 %1879, ptr %1924, align 4, !tbaa !15
  %1925 = getelementptr inbounds i8, ptr %19, i64 520
  store i32 %1748, ptr %1925, align 8, !tbaa !17
  %1926 = getelementptr inbounds i8, ptr %19, i64 524
  store i8 1, ptr %1926, align 4, !tbaa !18
  %1927 = getelementptr inbounds i8, ptr %19, i64 525
  store i8 34, ptr %1927, align 1, !tbaa !19
  %1928 = getelementptr inbounds i8, ptr %19, i64 528
  store i32 %1879, ptr %1928, align 16, !tbaa !15
  %1929 = getelementptr inbounds i8, ptr %19, i64 532
  store i32 %1747, ptr %1929, align 4, !tbaa !17
  %1930 = getelementptr inbounds i8, ptr %19, i64 536
  store i8 0, ptr %1930, align 8, !tbaa !18
  %1931 = getelementptr inbounds i8, ptr %19, i64 537
  store i8 33, ptr %1931, align 1, !tbaa !19
  %1932 = getelementptr inbounds i8, ptr %19, i64 540
  store i32 %1879, ptr %1932, align 4, !tbaa !15
  %1933 = getelementptr inbounds i8, ptr %19, i64 544
  store i32 %1747, ptr %1933, align 16, !tbaa !17
  %1934 = getelementptr inbounds i8, ptr %19, i64 548
  store i8 0, ptr %1934, align 4, !tbaa !18
  %1935 = getelementptr inbounds i8, ptr %19, i64 549
  store i8 34, ptr %1935, align 1, !tbaa !19
  %1936 = getelementptr inbounds i8, ptr %19, i64 552
  store i32 %1879, ptr %1936, align 8, !tbaa !15
  %1937 = getelementptr inbounds i8, ptr %19, i64 556
  store i32 %1747, ptr %1937, align 4, !tbaa !17
  %1938 = getelementptr inbounds i8, ptr %19, i64 560
  store i8 1, ptr %1938, align 16, !tbaa !18
  %1939 = getelementptr inbounds i8, ptr %19, i64 561
  store i8 33, ptr %1939, align 1, !tbaa !19
  %1940 = getelementptr inbounds i8, ptr %19, i64 564
  store i32 %1879, ptr %1940, align 4, !tbaa !15
  %1941 = getelementptr inbounds i8, ptr %19, i64 568
  store i32 %1747, ptr %1941, align 8, !tbaa !17
  %1942 = getelementptr inbounds i8, ptr %19, i64 572
  store i8 1, ptr %1942, align 4, !tbaa !18
  %1943 = getelementptr inbounds i8, ptr %19, i64 573
  store i8 34, ptr %1943, align 1, !tbaa !19
  %1944 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.all_options, i64 12), align 4, !tbaa !5
  %1945 = getelementptr inbounds i8, ptr %19, i64 576
  store i32 %1944, ptr %1945, align 16, !tbaa !15
  %1946 = getelementptr inbounds i8, ptr %19, i64 580
  store i32 %1750, ptr %1946, align 4, !tbaa !17
  %1947 = getelementptr inbounds i8, ptr %19, i64 584
  store i8 0, ptr %1947, align 8, !tbaa !18
  %1948 = getelementptr inbounds i8, ptr %19, i64 585
  store i8 33, ptr %1948, align 1, !tbaa !19
  %1949 = getelementptr inbounds i8, ptr %19, i64 588
  store i32 %1944, ptr %1949, align 4, !tbaa !15
  %1950 = getelementptr inbounds i8, ptr %19, i64 592
  store i32 %1750, ptr %1950, align 16, !tbaa !17
  %1951 = getelementptr inbounds i8, ptr %19, i64 596
  store i8 0, ptr %1951, align 4, !tbaa !18
  %1952 = getelementptr inbounds i8, ptr %19, i64 597
  store i8 34, ptr %1952, align 1, !tbaa !19
  %1953 = getelementptr inbounds i8, ptr %19, i64 600
  store i32 %1944, ptr %1953, align 8, !tbaa !15
  %1954 = getelementptr inbounds i8, ptr %19, i64 604
  store i32 %1750, ptr %1954, align 4, !tbaa !17
  %1955 = getelementptr inbounds i8, ptr %19, i64 608
  store i8 1, ptr %1955, align 16, !tbaa !18
  %1956 = getelementptr inbounds i8, ptr %19, i64 609
  store i8 33, ptr %1956, align 1, !tbaa !19
  %1957 = getelementptr inbounds i8, ptr %19, i64 612
  store i32 %1944, ptr %1957, align 4, !tbaa !15
  %1958 = getelementptr inbounds i8, ptr %19, i64 616
  store i32 %1750, ptr %1958, align 8, !tbaa !17
  %1959 = getelementptr inbounds i8, ptr %19, i64 620
  store i8 1, ptr %1959, align 4, !tbaa !18
  %1960 = getelementptr inbounds i8, ptr %19, i64 621
  store i8 34, ptr %1960, align 1, !tbaa !19
  %1961 = getelementptr inbounds i8, ptr %19, i64 624
  store i32 %1944, ptr %1961, align 16, !tbaa !15
  %1962 = getelementptr inbounds i8, ptr %19, i64 628
  store i32 %1749, ptr %1962, align 4, !tbaa !17
  %1963 = getelementptr inbounds i8, ptr %19, i64 632
  store i8 0, ptr %1963, align 8, !tbaa !18
  %1964 = getelementptr inbounds i8, ptr %19, i64 633
  store i8 33, ptr %1964, align 1, !tbaa !19
  %1965 = getelementptr inbounds i8, ptr %19, i64 636
  store i32 %1944, ptr %1965, align 4, !tbaa !15
  %1966 = getelementptr inbounds i8, ptr %19, i64 640
  store i32 %1749, ptr %1966, align 16, !tbaa !17
  %1967 = getelementptr inbounds i8, ptr %19, i64 644
  store i8 0, ptr %1967, align 4, !tbaa !18
  %1968 = getelementptr inbounds i8, ptr %19, i64 645
  store i8 34, ptr %1968, align 1, !tbaa !19
  %1969 = getelementptr inbounds i8, ptr %19, i64 648
  store i32 %1944, ptr %1969, align 8, !tbaa !15
  %1970 = getelementptr inbounds i8, ptr %19, i64 652
  store i32 %1749, ptr %1970, align 4, !tbaa !17
  %1971 = getelementptr inbounds i8, ptr %19, i64 656
  store i8 1, ptr %1971, align 16, !tbaa !18
  %1972 = getelementptr inbounds i8, ptr %19, i64 657
  store i8 33, ptr %1972, align 1, !tbaa !19
  %1973 = getelementptr inbounds i8, ptr %19, i64 660
  store i32 %1944, ptr %1973, align 4, !tbaa !15
  %1974 = getelementptr inbounds i8, ptr %19, i64 664
  store i32 %1749, ptr %1974, align 8, !tbaa !17
  %1975 = getelementptr inbounds i8, ptr %19, i64 668
  store i8 1, ptr %1975, align 4, !tbaa !18
  %1976 = getelementptr inbounds i8, ptr %19, i64 669
  store i8 34, ptr %1976, align 1, !tbaa !19
  %1977 = getelementptr inbounds i8, ptr %19, i64 672
  store i32 %1944, ptr %1977, align 16, !tbaa !15
  %1978 = getelementptr inbounds i8, ptr %19, i64 676
  store i32 %1748, ptr %1978, align 4, !tbaa !17
  %1979 = getelementptr inbounds i8, ptr %19, i64 680
  store i8 0, ptr %1979, align 8, !tbaa !18
  %1980 = getelementptr inbounds i8, ptr %19, i64 681
  store i8 33, ptr %1980, align 1, !tbaa !19
  %1981 = getelementptr inbounds i8, ptr %19, i64 684
  store i32 %1944, ptr %1981, align 4, !tbaa !15
  %1982 = getelementptr inbounds i8, ptr %19, i64 688
  store i32 %1748, ptr %1982, align 16, !tbaa !17
  %1983 = getelementptr inbounds i8, ptr %19, i64 692
  store i8 0, ptr %1983, align 4, !tbaa !18
  %1984 = getelementptr inbounds i8, ptr %19, i64 693
  store i8 34, ptr %1984, align 1, !tbaa !19
  %1985 = getelementptr inbounds i8, ptr %19, i64 696
  store i32 %1944, ptr %1985, align 8, !tbaa !15
  %1986 = getelementptr inbounds i8, ptr %19, i64 700
  store i32 %1748, ptr %1986, align 4, !tbaa !17
  %1987 = getelementptr inbounds i8, ptr %19, i64 704
  store i8 1, ptr %1987, align 16, !tbaa !18
  %1988 = getelementptr inbounds i8, ptr %19, i64 705
  store i8 33, ptr %1988, align 1, !tbaa !19
  %1989 = getelementptr inbounds i8, ptr %19, i64 708
  store i32 %1944, ptr %1989, align 4, !tbaa !15
  %1990 = getelementptr inbounds i8, ptr %19, i64 712
  store i32 %1748, ptr %1990, align 8, !tbaa !17
  %1991 = getelementptr inbounds i8, ptr %19, i64 716
  store i8 1, ptr %1991, align 4, !tbaa !18
  %1992 = getelementptr inbounds i8, ptr %19, i64 717
  store i8 34, ptr %1992, align 1, !tbaa !19
  %1993 = getelementptr inbounds i8, ptr %19, i64 720
  store i32 %1944, ptr %1993, align 16, !tbaa !15
  %1994 = getelementptr inbounds i8, ptr %19, i64 724
  store i32 %1747, ptr %1994, align 4, !tbaa !17
  %1995 = getelementptr inbounds i8, ptr %19, i64 728
  store i8 0, ptr %1995, align 8, !tbaa !18
  %1996 = getelementptr inbounds i8, ptr %19, i64 729
  store i8 33, ptr %1996, align 1, !tbaa !19
  %1997 = getelementptr inbounds i8, ptr %19, i64 732
  store i32 %1944, ptr %1997, align 4, !tbaa !15
  %1998 = getelementptr inbounds i8, ptr %19, i64 736
  store i32 %1747, ptr %1998, align 16, !tbaa !17
  %1999 = getelementptr inbounds i8, ptr %19, i64 740
  store i8 0, ptr %1999, align 4, !tbaa !18
  %2000 = getelementptr inbounds i8, ptr %19, i64 741
  store i8 34, ptr %2000, align 1, !tbaa !19
  %2001 = getelementptr inbounds i8, ptr %19, i64 744
  store i32 %1944, ptr %2001, align 8, !tbaa !15
  %2002 = getelementptr inbounds i8, ptr %19, i64 748
  store i32 %1747, ptr %2002, align 4, !tbaa !17
  %2003 = getelementptr inbounds i8, ptr %19, i64 752
  store i8 1, ptr %2003, align 16, !tbaa !18
  %2004 = getelementptr inbounds i8, ptr %19, i64 753
  store i8 33, ptr %2004, align 1, !tbaa !19
  %2005 = add nsw i32 %test_count.promoted350, 64
  %2006 = getelementptr inbounds i8, ptr %19, i64 756
  store i32 %1944, ptr %2006, align 4, !tbaa !15
  %2007 = getelementptr inbounds i8, ptr %19, i64 760
  store i32 %1747, ptr %2007, align 8, !tbaa !17
  %2008 = getelementptr inbounds i8, ptr %19, i64 764
  store i8 1, ptr %2008, align 4, !tbaa !18
  %2009 = getelementptr inbounds i8, ptr %19, i64 765
  store i8 34, ptr %2009, align 1, !tbaa !19
  store i32 %2005, ptr @test_count, align 4, !tbaa !5
  br label %2013

2010:                                             ; preds = %2505
  call void @llvm.lifetime.end.p0(i64 1200, ptr nonnull %19) #11
  %2011 = call i32 @s2n_cleanup() #11
  %2012 = icmp eq i32 %2011, -1
  br i1 %2012, label %2512, label %2534

2013:                                             ; preds = %.preheader, %2505
  %.0235356 = phi i64 [ 0, %.preheader ], [ %2511, %2505 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #11
  %2014 = call ptr @s2n_config_new() #11
  store ptr %2014, ptr %20, align 8, !tbaa !9
  %2015 = load i32, ptr @test_count, align 4, !tbaa !5
  %2016 = add nsw i32 %2015, 1
  store i32 %2016, ptr @test_count, align 4, !tbaa !5
  %2017 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %2014) #11
  %2018 = icmp eq i32 %2017, -1
  br i1 %2018, label %2019, label %2041

2019:                                             ; preds = %2013
  %2020 = load i32, ptr %1126, align 4, !tbaa !5
  %2021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2022 = call i32 @s2n_print_stacktrace(ptr noundef %2021) #11
  %2023 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2024 = trunc nuw i8 %2023 to i1
  br i1 %2024, label %2025, label %2029

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

2029:                                             ; preds = %2025, %2019
  br label %2030

2030:                                             ; preds = %2025, %2029
  %.str.53.sink962 = phi ptr [ @.str.53, %2029 ], [ @.str.49, %2025 ]
  store i32 %2020, ptr %1126, align 4, !tbaa !5
  %2031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2032 = load i32, ptr @test_count, align 4, !tbaa !5
  %2033 = load i32, ptr %1072, align 4, !tbaa !5
  %2034 = call ptr @s2n_strerror(i32 noundef %2033, ptr noundef nonnull @.str.52) #11
  %2035 = load i32, ptr %1072, align 4, !tbaa !5
  %2036 = call ptr @s2n_strerror_debug(i32 noundef %2035, ptr noundef nonnull @.str.52) #11
  %2037 = load i32, ptr %1126, align 4, !tbaa !5
  %2038 = call ptr @strerror(i32 noundef %2037) #11
  %2039 = load i32, ptr %1126, align 4, !tbaa !5
  %2040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2031, ptr noundef nonnull %.str.53.sink962, i32 noundef %2032, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.51, i32 noundef 486, ptr noundef %2034, ptr noundef %2036, ptr noundef %2038, i32 noundef %2039) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2041:                                             ; preds = %2013
  %2042 = getelementptr inbounds [100 x %struct.anon], ptr %19, i64 0, i64 %.0235356
  %2043 = getelementptr inbounds i8, ptr %2042, i64 8
  %2044 = load i8, ptr %2043, align 4, !tbaa !18, !range !13, !noundef !14
  %2045 = trunc nuw i8 %2044 to i1
  br i1 %2045, label %2046, label %2075

2046:                                             ; preds = %2041
  %2047 = load i32, ptr @test_count, align 4, !tbaa !5
  %2048 = add nsw i32 %2047, 1
  store i32 %2048, ptr @test_count, align 4, !tbaa !5
  %2049 = load ptr, ptr %20, align 8, !tbaa !9
  %2050 = load ptr, ptr %3, align 8, !tbaa !9
  %2051 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %2049, ptr noundef %2050) #11
  %2052 = icmp eq i32 %2051, -1
  br i1 %2052, label %2053, label %2075

2053:                                             ; preds = %2046
  %2054 = load i32, ptr %1126, align 4, !tbaa !5
  %2055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2056 = call i32 @s2n_print_stacktrace(ptr noundef %2055) #11
  %2057 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2058 = trunc nuw i8 %2057 to i1
  br i1 %2058, label %2059, label %2063

2059:                                             ; preds = %2053
  %2060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2061 = call i32 @fileno(ptr noundef %2060) #11
  %2062 = call i32 @isatty(i32 noundef %2061) #11
  %.not275 = icmp eq i32 %2062, 0
  br i1 %.not275, label %2063, label %2064

2063:                                             ; preds = %2059, %2053
  br label %2064

2064:                                             ; preds = %2059, %2063
  %.str.53.sink971 = phi ptr [ @.str.53, %2063 ], [ @.str.49, %2059 ]
  store i32 %2054, ptr %1126, align 4, !tbaa !5
  %2065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2066 = load i32, ptr @test_count, align 4, !tbaa !5
  %2067 = load i32, ptr %1072, align 4, !tbaa !5
  %2068 = call ptr @s2n_strerror(i32 noundef %2067, ptr noundef nonnull @.str.52) #11
  %2069 = load i32, ptr %1072, align 4, !tbaa !5
  %2070 = call ptr @s2n_strerror_debug(i32 noundef %2069, ptr noundef nonnull @.str.52) #11
  %2071 = load i32, ptr %1126, align 4, !tbaa !5
  %2072 = call ptr @strerror(i32 noundef %2071) #11
  %2073 = load i32, ptr %1126, align 4, !tbaa !5
  %2074 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2065, ptr noundef nonnull %.str.53.sink971, i32 noundef %2066, ptr noundef nonnull @.str.185, ptr noundef nonnull @.str.51, i32 noundef 488, ptr noundef %2068, ptr noundef %2070, ptr noundef %2072, i32 noundef %2073) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2075:                                             ; preds = %2046, %2041
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #11
  %2076 = call ptr @s2n_config_new() #11
  store ptr %2076, ptr %21, align 8, !tbaa !9
  %2077 = load i32, ptr @test_count, align 4, !tbaa !5
  %2078 = add nsw i32 %2077, 1
  store i32 %2078, ptr @test_count, align 4, !tbaa !5
  %2079 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %2076) #11
  %2080 = icmp eq i32 %2079, -1
  br i1 %2080, label %2081, label %2103

2081:                                             ; preds = %2075
  %2082 = load i32, ptr %1126, align 4, !tbaa !5
  %2083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2084 = call i32 @s2n_print_stacktrace(ptr noundef %2083) #11
  %2085 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2086 = trunc nuw i8 %2085 to i1
  br i1 %2086, label %2087, label %2091

2087:                                             ; preds = %2081
  %2088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2089 = call i32 @fileno(ptr noundef %2088) #11
  %2090 = call i32 @isatty(i32 noundef %2089) #11
  %.not274 = icmp eq i32 %2090, 0
  br i1 %.not274, label %2091, label %2092

2091:                                             ; preds = %2087, %2081
  br label %2092

2092:                                             ; preds = %2087, %2091
  %.str.53.sink980 = phi ptr [ @.str.53, %2091 ], [ @.str.49, %2087 ]
  store i32 %2082, ptr %1126, align 4, !tbaa !5
  %2093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2094 = load i32, ptr @test_count, align 4, !tbaa !5
  %2095 = load i32, ptr %1072, align 4, !tbaa !5
  %2096 = call ptr @s2n_strerror(i32 noundef %2095, ptr noundef nonnull @.str.52) #11
  %2097 = load i32, ptr %1072, align 4, !tbaa !5
  %2098 = call ptr @s2n_strerror_debug(i32 noundef %2097, ptr noundef nonnull @.str.52) #11
  %2099 = load i32, ptr %1126, align 4, !tbaa !5
  %2100 = call ptr @strerror(i32 noundef %2099) #11
  %2101 = load i32, ptr %1126, align 4, !tbaa !5
  %2102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2093, ptr noundef nonnull %.str.53.sink980, i32 noundef %2094, ptr noundef nonnull @.str.186, ptr noundef nonnull @.str.51, i32 noundef 492, ptr noundef %2096, ptr noundef %2098, ptr noundef %2100, i32 noundef %2101) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2103:                                             ; preds = %2075
  %2104 = load i32, ptr @test_count, align 4, !tbaa !5
  %2105 = add nsw i32 %2104, 1
  store i32 %2105, ptr @test_count, align 4, !tbaa !5
  %2106 = load ptr, ptr %21, align 8, !tbaa !9
  %2107 = load ptr, ptr %3, align 8, !tbaa !9
  %2108 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %2106, ptr noundef %2107) #11
  %2109 = icmp eq i32 %2108, -1
  br i1 %2109, label %2110, label %2132

2110:                                             ; preds = %2103
  %2111 = load i32, ptr %1126, align 4, !tbaa !5
  %2112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2113 = call i32 @s2n_print_stacktrace(ptr noundef %2112) #11
  %2114 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2115 = trunc nuw i8 %2114 to i1
  br i1 %2115, label %2116, label %2120

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

2120:                                             ; preds = %2116, %2110
  br label %2121

2121:                                             ; preds = %2116, %2120
  %.str.53.sink989 = phi ptr [ @.str.53, %2120 ], [ @.str.49, %2116 ]
  store i32 %2111, ptr %1126, align 4, !tbaa !5
  %2122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2123 = load i32, ptr @test_count, align 4, !tbaa !5
  %2124 = load i32, ptr %1072, align 4, !tbaa !5
  %2125 = call ptr @s2n_strerror(i32 noundef %2124, ptr noundef nonnull @.str.52) #11
  %2126 = load i32, ptr %1072, align 4, !tbaa !5
  %2127 = call ptr @s2n_strerror_debug(i32 noundef %2126, ptr noundef nonnull @.str.52) #11
  %2128 = load i32, ptr %1126, align 4, !tbaa !5
  %2129 = call ptr @strerror(i32 noundef %2128) #11
  %2130 = load i32, ptr %1126, align 4, !tbaa !5
  %2131 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2122, ptr noundef nonnull %.str.53.sink989, i32 noundef %2123, ptr noundef nonnull @.str.181, ptr noundef nonnull @.str.51, i32 noundef 493, ptr noundef %2125, ptr noundef %2127, ptr noundef %2129, i32 noundef %2130) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2132:                                             ; preds = %2103
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #11
  %2133 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %2133, ptr %22, align 8, !tbaa !9
  %2134 = load i32, ptr @test_count, align 4, !tbaa !5
  %2135 = add nsw i32 %2134, 1
  store i32 %2135, ptr @test_count, align 4, !tbaa !5
  %2136 = icmp eq ptr %2133, null
  br i1 %2136, label %2137, label %2159

2137:                                             ; preds = %2132
  %2138 = load i32, ptr %1126, align 4, !tbaa !5
  %2139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2140 = call i32 @s2n_print_stacktrace(ptr noundef %2139) #11
  %2141 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2142 = trunc nuw i8 %2141 to i1
  br i1 %2142, label %2143, label %2147

2143:                                             ; preds = %2137
  %2144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2145 = call i32 @fileno(ptr noundef %2144) #11
  %2146 = call i32 @isatty(i32 noundef %2145) #11
  %.not272 = icmp eq i32 %2146, 0
  br i1 %.not272, label %2147, label %2148

2147:                                             ; preds = %2143, %2137
  br label %2148

2148:                                             ; preds = %2143, %2147
  %.str.53.sink998 = phi ptr [ @.str.53, %2147 ], [ @.str.49, %2143 ]
  store i32 %2138, ptr %1126, align 4, !tbaa !5
  %2149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2150 = load i32, ptr @test_count, align 4, !tbaa !5
  %2151 = load i32, ptr %1072, align 4, !tbaa !5
  %2152 = call ptr @s2n_strerror(i32 noundef %2151, ptr noundef nonnull @.str.52) #11
  %2153 = load i32, ptr %1072, align 4, !tbaa !5
  %2154 = call ptr @s2n_strerror_debug(i32 noundef %2153, ptr noundef nonnull @.str.52) #11
  %2155 = load i32, ptr %1126, align 4, !tbaa !5
  %2156 = call ptr @strerror(i32 noundef %2155) #11
  %2157 = load i32, ptr %1126, align 4, !tbaa !5
  %2158 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2149, ptr noundef nonnull %.str.53.sink998, i32 noundef %2150, ptr noundef nonnull @.str.165, ptr noundef nonnull @.str.51, i32 noundef 497, ptr noundef %2152, ptr noundef %2154, ptr noundef %2156, i32 noundef %2157) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2159:                                             ; preds = %2132
  %2160 = add nsw i32 %2134, 2
  store i32 %2160, ptr @test_count, align 4, !tbaa !5
  %2161 = call i32 @s2n_connection_set_blinding(ptr noundef nonnull %2133, i32 noundef 1) #11
  %2162 = icmp eq i32 %2161, -1
  br i1 %2162, label %2163, label %2185

2163:                                             ; preds = %2159
  %2164 = load i32, ptr %1126, align 4, !tbaa !5
  %2165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2166 = call i32 @s2n_print_stacktrace(ptr noundef %2165) #11
  %2167 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2168 = trunc nuw i8 %2167 to i1
  br i1 %2168, label %2169, label %2173

2169:                                             ; preds = %2163
  %2170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2171 = call i32 @fileno(ptr noundef %2170) #11
  %2172 = call i32 @isatty(i32 noundef %2171) #11
  %.not271 = icmp eq i32 %2172, 0
  br i1 %.not271, label %2173, label %2174

2173:                                             ; preds = %2169, %2163
  br label %2174

2174:                                             ; preds = %2169, %2173
  %.str.53.sink1007 = phi ptr [ @.str.53, %2173 ], [ @.str.49, %2169 ]
  store i32 %2164, ptr %1126, align 4, !tbaa !5
  %2175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2176 = load i32, ptr @test_count, align 4, !tbaa !5
  %2177 = load i32, ptr %1072, align 4, !tbaa !5
  %2178 = call ptr @s2n_strerror(i32 noundef %2177, ptr noundef nonnull @.str.52) #11
  %2179 = load i32, ptr %1072, align 4, !tbaa !5
  %2180 = call ptr @s2n_strerror_debug(i32 noundef %2179, ptr noundef nonnull @.str.52) #11
  %2181 = load i32, ptr %1126, align 4, !tbaa !5
  %2182 = call ptr @strerror(i32 noundef %2181) #11
  %2183 = load i32, ptr %1126, align 4, !tbaa !5
  %2184 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2175, ptr noundef nonnull %.str.53.sink1007, i32 noundef %2176, ptr noundef nonnull @.str.176, ptr noundef nonnull @.str.51, i32 noundef 498, ptr noundef %2178, ptr noundef %2180, ptr noundef %2182, i32 noundef %2183) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2185:                                             ; preds = %2159
  %2186 = load i32, ptr @test_count, align 4, !tbaa !5
  %2187 = add nsw i32 %2186, 1
  store i32 %2187, ptr @test_count, align 4, !tbaa !5
  %2188 = load ptr, ptr %22, align 8, !tbaa !9
  %2189 = load ptr, ptr %20, align 8, !tbaa !9
  %2190 = call i32 @s2n_connection_set_config(ptr noundef %2188, ptr noundef %2189) #11
  %2191 = icmp eq i32 %2190, -1
  br i1 %2191, label %2192, label %2214

2192:                                             ; preds = %2185
  %2193 = load i32, ptr %1126, align 4, !tbaa !5
  %2194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2195 = call i32 @s2n_print_stacktrace(ptr noundef %2194) #11
  %2196 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2197 = trunc nuw i8 %2196 to i1
  br i1 %2197, label %2198, label %2202

2198:                                             ; preds = %2192
  %2199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2200 = call i32 @fileno(ptr noundef %2199) #11
  %2201 = call i32 @isatty(i32 noundef %2200) #11
  %.not270 = icmp eq i32 %2201, 0
  br i1 %.not270, label %2202, label %2203

2202:                                             ; preds = %2198, %2192
  br label %2203

2203:                                             ; preds = %2198, %2202
  %.str.53.sink1016 = phi ptr [ @.str.53, %2202 ], [ @.str.49, %2198 ]
  store i32 %2193, ptr %1126, align 4, !tbaa !5
  %2204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2205 = load i32, ptr @test_count, align 4, !tbaa !5
  %2206 = load i32, ptr %1072, align 4, !tbaa !5
  %2207 = call ptr @s2n_strerror(i32 noundef %2206, ptr noundef nonnull @.str.52) #11
  %2208 = load i32, ptr %1072, align 4, !tbaa !5
  %2209 = call ptr @s2n_strerror_debug(i32 noundef %2208, ptr noundef nonnull @.str.52) #11
  %2210 = load i32, ptr %1126, align 4, !tbaa !5
  %2211 = call ptr @strerror(i32 noundef %2210) #11
  %2212 = load i32, ptr %1126, align 4, !tbaa !5
  %2213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2204, ptr noundef nonnull %.str.53.sink1016, i32 noundef %2205, ptr noundef nonnull @.str.180, ptr noundef nonnull @.str.51, i32 noundef 499, ptr noundef %2207, ptr noundef %2209, ptr noundef %2211, i32 noundef %2212) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2214:                                             ; preds = %2185
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #11
  %2215 = call ptr @s2n_connection_new(i32 noundef 0) #11
  store ptr %2215, ptr %23, align 8, !tbaa !9
  %2216 = load i32, ptr @test_count, align 4, !tbaa !5
  %2217 = add nsw i32 %2216, 1
  store i32 %2217, ptr @test_count, align 4, !tbaa !5
  %2218 = icmp eq ptr %2215, null
  br i1 %2218, label %2219, label %2241

2219:                                             ; preds = %2214
  %2220 = load i32, ptr %1126, align 4, !tbaa !5
  %2221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2222 = call i32 @s2n_print_stacktrace(ptr noundef %2221) #11
  %2223 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2224 = trunc nuw i8 %2223 to i1
  br i1 %2224, label %2225, label %2229

2225:                                             ; preds = %2219
  %2226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2227 = call i32 @fileno(ptr noundef %2226) #11
  %2228 = call i32 @isatty(i32 noundef %2227) #11
  %.not269 = icmp eq i32 %2228, 0
  br i1 %.not269, label %2229, label %2230

2229:                                             ; preds = %2225, %2219
  br label %2230

2230:                                             ; preds = %2225, %2229
  %.str.53.sink1025 = phi ptr [ @.str.53, %2229 ], [ @.str.49, %2225 ]
  store i32 %2220, ptr %1126, align 4, !tbaa !5
  %2231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2232 = load i32, ptr @test_count, align 4, !tbaa !5
  %2233 = load i32, ptr %1072, align 4, !tbaa !5
  %2234 = call ptr @s2n_strerror(i32 noundef %2233, ptr noundef nonnull @.str.52) #11
  %2235 = load i32, ptr %1072, align 4, !tbaa !5
  %2236 = call ptr @s2n_strerror_debug(i32 noundef %2235, ptr noundef nonnull @.str.52) #11
  %2237 = load i32, ptr %1126, align 4, !tbaa !5
  %2238 = call ptr @strerror(i32 noundef %2237) #11
  %2239 = load i32, ptr %1126, align 4, !tbaa !5
  %2240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2231, ptr noundef nonnull %.str.53.sink1025, i32 noundef %2232, ptr noundef nonnull @.str.167, ptr noundef nonnull @.str.51, i32 noundef 503, ptr noundef %2234, ptr noundef %2236, ptr noundef %2238, i32 noundef %2239) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2241:                                             ; preds = %2214
  %2242 = add nsw i32 %2216, 2
  store i32 %2242, ptr @test_count, align 4, !tbaa !5
  %2243 = call i32 @s2n_connection_set_blinding(ptr noundef nonnull %2215, i32 noundef 1) #11
  %2244 = icmp eq i32 %2243, -1
  br i1 %2244, label %2245, label %2267

2245:                                             ; preds = %2241
  %2246 = load i32, ptr %1126, align 4, !tbaa !5
  %2247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2248 = call i32 @s2n_print_stacktrace(ptr noundef %2247) #11
  %2249 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2250 = trunc nuw i8 %2249 to i1
  br i1 %2250, label %2251, label %2255

2251:                                             ; preds = %2245
  %2252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2253 = call i32 @fileno(ptr noundef %2252) #11
  %2254 = call i32 @isatty(i32 noundef %2253) #11
  %.not268 = icmp eq i32 %2254, 0
  br i1 %.not268, label %2255, label %2256

2255:                                             ; preds = %2251, %2245
  br label %2256

2256:                                             ; preds = %2251, %2255
  %.str.53.sink1034 = phi ptr [ @.str.53, %2255 ], [ @.str.49, %2251 ]
  store i32 %2246, ptr %1126, align 4, !tbaa !5
  %2257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2258 = load i32, ptr @test_count, align 4, !tbaa !5
  %2259 = load i32, ptr %1072, align 4, !tbaa !5
  %2260 = call ptr @s2n_strerror(i32 noundef %2259, ptr noundef nonnull @.str.52) #11
  %2261 = load i32, ptr %1072, align 4, !tbaa !5
  %2262 = call ptr @s2n_strerror_debug(i32 noundef %2261, ptr noundef nonnull @.str.52) #11
  %2263 = load i32, ptr %1126, align 4, !tbaa !5
  %2264 = call ptr @strerror(i32 noundef %2263) #11
  %2265 = load i32, ptr %1126, align 4, !tbaa !5
  %2266 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2257, ptr noundef nonnull %.str.53.sink1034, i32 noundef %2258, ptr noundef nonnull @.str.168, ptr noundef nonnull @.str.51, i32 noundef 504, ptr noundef %2260, ptr noundef %2262, ptr noundef %2264, i32 noundef %2265) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2267:                                             ; preds = %2241
  %2268 = load i32, ptr @test_count, align 4, !tbaa !5
  %2269 = add nsw i32 %2268, 1
  store i32 %2269, ptr @test_count, align 4, !tbaa !5
  %2270 = load ptr, ptr %23, align 8, !tbaa !9
  %2271 = load ptr, ptr %21, align 8, !tbaa !9
  %2272 = call i32 @s2n_connection_set_config(ptr noundef %2270, ptr noundef %2271) #11
  %2273 = icmp eq i32 %2272, -1
  br i1 %2273, label %2274, label %2296

2274:                                             ; preds = %2267
  %2275 = load i32, ptr %1126, align 4, !tbaa !5
  %2276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2277 = call i32 @s2n_print_stacktrace(ptr noundef %2276) #11
  %2278 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2279 = trunc nuw i8 %2278 to i1
  br i1 %2279, label %2280, label %2284

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

2284:                                             ; preds = %2280, %2274
  br label %2285

2285:                                             ; preds = %2280, %2284
  %.str.53.sink1043 = phi ptr [ @.str.53, %2284 ], [ @.str.49, %2280 ]
  store i32 %2275, ptr %1126, align 4, !tbaa !5
  %2286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2287 = load i32, ptr @test_count, align 4, !tbaa !5
  %2288 = load i32, ptr %1072, align 4, !tbaa !5
  %2289 = call ptr @s2n_strerror(i32 noundef %2288, ptr noundef nonnull @.str.52) #11
  %2290 = load i32, ptr %1072, align 4, !tbaa !5
  %2291 = call ptr @s2n_strerror_debug(i32 noundef %2290, ptr noundef nonnull @.str.52) #11
  %2292 = load i32, ptr %1126, align 4, !tbaa !5
  %2293 = call ptr @strerror(i32 noundef %2292) #11
  %2294 = load i32, ptr %1126, align 4, !tbaa !5
  %2295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2286, ptr noundef nonnull %.str.53.sink1043, i32 noundef %2287, ptr noundef nonnull @.str.182, ptr noundef nonnull @.str.51, i32 noundef 505, ptr noundef %2289, ptr noundef %2291, ptr noundef %2293, i32 noundef %2294) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2296:                                             ; preds = %2267
  %2297 = getelementptr inbounds i8, ptr %2042, i64 9
  %2298 = load i8, ptr %2297, align 1, !tbaa !19
  %2299 = load ptr, ptr %23, align 8, !tbaa !9
  %2300 = getelementptr inbounds i8, ptr %2299, i64 219
  store i8 %2298, ptr %2300, align 1, !tbaa !20
  %2301 = load i32, ptr %2042, align 4, !tbaa !15
  %.not257 = icmp eq i32 %2301, -255
  br i1 %.not257, label %2330, label %2302

2302:                                             ; preds = %2296
  %2303 = load i32, ptr @test_count, align 4, !tbaa !5
  %2304 = add nsw i32 %2303, 1
  store i32 %2304, ptr @test_count, align 4, !tbaa !5
  %2305 = load ptr, ptr %22, align 8, !tbaa !9
  %2306 = call i32 @s2n_connection_set_client_auth_type(ptr noundef %2305, i32 noundef %2301) #11
  %2307 = icmp eq i32 %2306, -1
  br i1 %2307, label %2308, label %2330

2308:                                             ; preds = %2302
  %2309 = load i32, ptr %1126, align 4, !tbaa !5
  %2310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2311 = call i32 @s2n_print_stacktrace(ptr noundef %2310) #11
  %2312 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2313 = trunc nuw i8 %2312 to i1
  br i1 %2313, label %2314, label %2318

2314:                                             ; preds = %2308
  %2315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2316 = call i32 @fileno(ptr noundef %2315) #11
  %2317 = call i32 @isatty(i32 noundef %2316) #11
  %.not266 = icmp eq i32 %2317, 0
  br i1 %.not266, label %2318, label %2319

2318:                                             ; preds = %2314, %2308
  br label %2319

2319:                                             ; preds = %2314, %2318
  %.str.53.sink1052 = phi ptr [ @.str.53, %2318 ], [ @.str.49, %2314 ]
  store i32 %2309, ptr %1126, align 4, !tbaa !5
  %2320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2321 = load i32, ptr @test_count, align 4, !tbaa !5
  %2322 = load i32, ptr %1072, align 4, !tbaa !5
  %2323 = call ptr @s2n_strerror(i32 noundef %2322, ptr noundef nonnull @.str.52) #11
  %2324 = load i32, ptr %1072, align 4, !tbaa !5
  %2325 = call ptr @s2n_strerror_debug(i32 noundef %2324, ptr noundef nonnull @.str.52) #11
  %2326 = load i32, ptr %1126, align 4, !tbaa !5
  %2327 = call ptr @strerror(i32 noundef %2326) #11
  %2328 = load i32, ptr %1126, align 4, !tbaa !5
  %2329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2320, ptr noundef nonnull %.str.53.sink1052, i32 noundef %2321, ptr noundef nonnull @.str.187, ptr noundef nonnull @.str.51, i32 noundef 509, ptr noundef %2323, ptr noundef %2325, ptr noundef %2327, i32 noundef %2328) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2330:                                             ; preds = %2302, %2296
  %2331 = getelementptr inbounds i8, ptr %2042, i64 4
  %2332 = load i32, ptr %2331, align 4, !tbaa !17
  %.not258 = icmp eq i32 %2332, -255
  br i1 %.not258, label %2361, label %2333

2333:                                             ; preds = %2330
  %2334 = load i32, ptr @test_count, align 4, !tbaa !5
  %2335 = add nsw i32 %2334, 1
  store i32 %2335, ptr @test_count, align 4, !tbaa !5
  %2336 = load ptr, ptr %23, align 8, !tbaa !9
  %2337 = call i32 @s2n_connection_set_client_auth_type(ptr noundef %2336, i32 noundef %2332) #11
  %2338 = icmp eq i32 %2337, -1
  br i1 %2338, label %2339, label %2361

2339:                                             ; preds = %2333
  %2340 = load i32, ptr %1126, align 4, !tbaa !5
  %2341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2342 = call i32 @s2n_print_stacktrace(ptr noundef %2341) #11
  %2343 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2344 = trunc nuw i8 %2343 to i1
  br i1 %2344, label %2345, label %2349

2345:                                             ; preds = %2339
  %2346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2347 = call i32 @fileno(ptr noundef %2346) #11
  %2348 = call i32 @isatty(i32 noundef %2347) #11
  %.not265 = icmp eq i32 %2348, 0
  br i1 %.not265, label %2349, label %2350

2349:                                             ; preds = %2345, %2339
  br label %2350

2350:                                             ; preds = %2345, %2349
  %.str.53.sink1061 = phi ptr [ @.str.53, %2349 ], [ @.str.49, %2345 ]
  store i32 %2340, ptr %1126, align 4, !tbaa !5
  %2351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2352 = load i32, ptr @test_count, align 4, !tbaa !5
  %2353 = load i32, ptr %1072, align 4, !tbaa !5
  %2354 = call ptr @s2n_strerror(i32 noundef %2353, ptr noundef nonnull @.str.52) #11
  %2355 = load i32, ptr %1072, align 4, !tbaa !5
  %2356 = call ptr @s2n_strerror_debug(i32 noundef %2355, ptr noundef nonnull @.str.52) #11
  %2357 = load i32, ptr %1126, align 4, !tbaa !5
  %2358 = call ptr @strerror(i32 noundef %2357) #11
  %2359 = load i32, ptr %1126, align 4, !tbaa !5
  %2360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2351, ptr noundef nonnull %.str.53.sink1061, i32 noundef %2352, ptr noundef nonnull @.str.188, ptr noundef nonnull @.str.51, i32 noundef 513, ptr noundef %2354, ptr noundef %2356, ptr noundef %2358, i32 noundef %2359) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2361:                                             ; preds = %2333, %2330
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #11
  store i64 0, ptr %24, align 8
  %2362 = load i32, ptr @test_count, align 4, !tbaa !5
  %2363 = add nsw i32 %2362, 1
  store i32 %2363, ptr @test_count, align 4, !tbaa !5
  %2364 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %24) #11
  %2365 = icmp eq i32 %2364, -1
  br i1 %2365, label %2366, label %2388

2366:                                             ; preds = %2361
  %2367 = load i32, ptr %1126, align 4, !tbaa !5
  %2368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2369 = call i32 @s2n_print_stacktrace(ptr noundef %2368) #11
  %2370 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2371 = trunc nuw i8 %2370 to i1
  br i1 %2371, label %2372, label %2376

2372:                                             ; preds = %2366
  %2373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2374 = call i32 @fileno(ptr noundef %2373) #11
  %2375 = call i32 @isatty(i32 noundef %2374) #11
  %.not264 = icmp eq i32 %2375, 0
  br i1 %.not264, label %2376, label %2377

2376:                                             ; preds = %2372, %2366
  br label %2377

2377:                                             ; preds = %2372, %2376
  %.str.53.sink1070 = phi ptr [ @.str.53, %2376 ], [ @.str.49, %2372 ]
  store i32 %2367, ptr %1126, align 4, !tbaa !5
  %2378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2379 = load i32, ptr @test_count, align 4, !tbaa !5
  %2380 = load i32, ptr %1072, align 4, !tbaa !5
  %2381 = call ptr @s2n_strerror(i32 noundef %2380, ptr noundef nonnull @.str.52) #11
  %2382 = load i32, ptr %1072, align 4, !tbaa !5
  %2383 = call ptr @s2n_strerror_debug(i32 noundef %2382, ptr noundef nonnull @.str.52) #11
  %2384 = load i32, ptr %1126, align 4, !tbaa !5
  %2385 = call ptr @strerror(i32 noundef %2384) #11
  %2386 = load i32, ptr %1126, align 4, !tbaa !5
  %2387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2378, ptr noundef nonnull %.str.53.sink1070, i32 noundef %2379, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.51, i32 noundef 517, ptr noundef %2381, ptr noundef %2383, ptr noundef %2385, i32 noundef %2386) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2388:                                             ; preds = %2361
  %2389 = load i32, ptr @test_count, align 4, !tbaa !5
  %2390 = add nsw i32 %2389, 1
  store i32 %2390, ptr @test_count, align 4, !tbaa !5
  %2391 = load ptr, ptr %22, align 8, !tbaa !9
  %2392 = load ptr, ptr %23, align 8, !tbaa !9
  %2393 = call i32 @s2n_connections_set_io_pair(ptr noundef %2391, ptr noundef %2392, ptr noundef nonnull %24) #11
  %2394 = icmp eq i32 %2393, -1
  br i1 %2394, label %2395, label %2417

2395:                                             ; preds = %2388
  %2396 = load i32, ptr %1126, align 4, !tbaa !5
  %2397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2398 = call i32 @s2n_print_stacktrace(ptr noundef %2397) #11
  %2399 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2400 = trunc nuw i8 %2399 to i1
  br i1 %2400, label %2401, label %2405

2401:                                             ; preds = %2395
  %2402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2403 = call i32 @fileno(ptr noundef %2402) #11
  %2404 = call i32 @isatty(i32 noundef %2403) #11
  %.not263 = icmp eq i32 %2404, 0
  br i1 %.not263, label %2405, label %2406

2405:                                             ; preds = %2401, %2395
  br label %2406

2406:                                             ; preds = %2401, %2405
  %.str.53.sink1079 = phi ptr [ @.str.53, %2405 ], [ @.str.49, %2401 ]
  store i32 %2396, ptr %1126, align 4, !tbaa !5
  %2407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2408 = load i32, ptr @test_count, align 4, !tbaa !5
  %2409 = load i32, ptr %1072, align 4, !tbaa !5
  %2410 = call ptr @s2n_strerror(i32 noundef %2409, ptr noundef nonnull @.str.52) #11
  %2411 = load i32, ptr %1072, align 4, !tbaa !5
  %2412 = call ptr @s2n_strerror_debug(i32 noundef %2411, ptr noundef nonnull @.str.52) #11
  %2413 = load i32, ptr %1126, align 4, !tbaa !5
  %2414 = call ptr @strerror(i32 noundef %2413) #11
  %2415 = load i32, ptr %1126, align 4, !tbaa !5
  %2416 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2407, ptr noundef nonnull %.str.53.sink1079, i32 noundef %2408, ptr noundef nonnull @.str.172, ptr noundef nonnull @.str.51, i32 noundef 518, ptr noundef %2410, ptr noundef %2412, ptr noundef %2414, i32 noundef %2415) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2417:                                             ; preds = %2388
  %2418 = load ptr, ptr %23, align 8, !tbaa !9
  %2419 = load ptr, ptr %22, align 8, !tbaa !9
  %2420 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %2418, ptr noundef %2419) #11
  %2421 = load i32, ptr @test_count, align 4, !tbaa !5
  %2422 = add nsw i32 %2421, 1
  store i32 %2422, ptr @test_count, align 4, !tbaa !5
  %2423 = load ptr, ptr %22, align 8, !tbaa !9
  %2424 = getelementptr inbounds i8, ptr %2423, i64 220
  %2425 = load i8, ptr %2424, align 4, !tbaa !47
  %2426 = load i8, ptr %2297, align 1, !tbaa !19
  %2427 = icmp eq i8 %2425, %2426
  br i1 %2427, label %2450, label %2428

2428:                                             ; preds = %2417
  %2429 = load i32, ptr %1126, align 4, !tbaa !5
  %2430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2431 = call i32 @s2n_print_stacktrace(ptr noundef %2430) #11
  %2432 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2433 = trunc nuw i8 %2432 to i1
  br i1 %2433, label %2434, label %2438

2434:                                             ; preds = %2428
  %2435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2436 = call i32 @fileno(ptr noundef %2435) #11
  %2437 = call i32 @isatty(i32 noundef %2436) #11
  %.not259 = icmp eq i32 %2437, 0
  br i1 %.not259, label %2438, label %2439

2438:                                             ; preds = %2434, %2428
  br label %2439

2439:                                             ; preds = %2434, %2438
  %.str.53.sink1088 = phi ptr [ @.str.53, %2438 ], [ @.str.49, %2434 ]
  store i32 %2429, ptr %1126, align 4, !tbaa !5
  %2440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2441 = load i32, ptr @test_count, align 4, !tbaa !5
  %2442 = load i32, ptr %1072, align 4, !tbaa !5
  %2443 = call ptr @s2n_strerror(i32 noundef %2442, ptr noundef nonnull @.str.52) #11
  %2444 = load i32, ptr %1072, align 4, !tbaa !5
  %2445 = call ptr @s2n_strerror_debug(i32 noundef %2444, ptr noundef nonnull @.str.52) #11
  %2446 = load i32, ptr %1126, align 4, !tbaa !5
  %2447 = call ptr @strerror(i32 noundef %2446) #11
  %2448 = load i32, ptr %1126, align 4, !tbaa !5
  %2449 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2440, ptr noundef nonnull %.str.53.sink1088, i32 noundef %2441, ptr noundef nonnull @.str.189, ptr noundef nonnull @.str.51, i32 noundef 521, ptr noundef %2443, ptr noundef %2445, ptr noundef %2447, i32 noundef %2448) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2450:                                             ; preds = %2417
  %2451 = add nsw i32 %2421, 2
  store i32 %2451, ptr @test_count, align 4, !tbaa !5
  %2452 = load ptr, ptr %23, align 8, !tbaa !9
  %2453 = getelementptr inbounds i8, ptr %2452, i64 220
  %2454 = load i8, ptr %2453, align 4, !tbaa !47
  %2455 = icmp eq i8 %2454, %2425
  br i1 %2455, label %2478, label %2456

2456:                                             ; preds = %2450
  %2457 = load i32, ptr %1126, align 4, !tbaa !5
  %2458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2459 = call i32 @s2n_print_stacktrace(ptr noundef %2458) #11
  %2460 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2461 = trunc nuw i8 %2460 to i1
  br i1 %2461, label %2462, label %2466

2462:                                             ; preds = %2456
  %2463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2464 = call i32 @fileno(ptr noundef %2463) #11
  %2465 = call i32 @isatty(i32 noundef %2464) #11
  %.not260 = icmp eq i32 %2465, 0
  br i1 %.not260, label %2466, label %2467

2466:                                             ; preds = %2462, %2456
  br label %2467

2467:                                             ; preds = %2462, %2466
  %.str.53.sink1097 = phi ptr [ @.str.53, %2466 ], [ @.str.49, %2462 ]
  store i32 %2457, ptr %1126, align 4, !tbaa !5
  %2468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2469 = load i32, ptr @test_count, align 4, !tbaa !5
  %2470 = load i32, ptr %1072, align 4, !tbaa !5
  %2471 = call ptr @s2n_strerror(i32 noundef %2470, ptr noundef nonnull @.str.52) #11
  %2472 = load i32, ptr %1072, align 4, !tbaa !5
  %2473 = call ptr @s2n_strerror_debug(i32 noundef %2472, ptr noundef nonnull @.str.52) #11
  %2474 = load i32, ptr %1126, align 4, !tbaa !5
  %2475 = call ptr @strerror(i32 noundef %2474) #11
  %2476 = load i32, ptr %1126, align 4, !tbaa !5
  %2477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2468, ptr noundef nonnull %.str.53.sink1097, i32 noundef %2469, ptr noundef nonnull @.str.190, ptr noundef nonnull @.str.51, i32 noundef 522, ptr noundef %2471, ptr noundef %2473, ptr noundef %2475, i32 noundef %2476) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2478:                                             ; preds = %2450
  %.not261 = icmp eq i32 %2420, 0
  br i1 %.not261, label %2505, label %2479

2479:                                             ; preds = %2478
  %2480 = add nsw i32 %2421, 3
  store i32 %2480, ptr @test_count, align 4, !tbaa !5
  %2481 = load i32, ptr %1072, align 4
  %2482 = add i32 %2481, -335544323
  %or.cond5 = icmp ult i32 %2482, 3
  br i1 %or.cond5, label %2505, label %2483

2483:                                             ; preds = %2479
  %2484 = load i32, ptr %1126, align 4, !tbaa !5
  %2485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2486 = call i32 @s2n_print_stacktrace(ptr noundef %2485) #11
  %2487 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2488 = trunc nuw i8 %2487 to i1
  br i1 %2488, label %2489, label %2493

2489:                                             ; preds = %2483
  %2490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2491 = call i32 @fileno(ptr noundef %2490) #11
  %2492 = call i32 @isatty(i32 noundef %2491) #11
  %.not262 = icmp eq i32 %2492, 0
  br i1 %.not262, label %2493, label %2494

2493:                                             ; preds = %2489, %2483
  br label %2494

2494:                                             ; preds = %2489, %2493
  %.str.53.sink1106 = phi ptr [ @.str.53, %2493 ], [ @.str.49, %2489 ]
  store i32 %2484, ptr %1126, align 4, !tbaa !5
  %2495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2496 = load i32, ptr @test_count, align 4, !tbaa !5
  %2497 = load i32, ptr %1072, align 4, !tbaa !5
  %2498 = call ptr @s2n_strerror(i32 noundef %2497, ptr noundef nonnull @.str.52) #11
  %2499 = load i32, ptr %1072, align 4, !tbaa !5
  %2500 = call ptr @s2n_strerror_debug(i32 noundef %2499, ptr noundef nonnull @.str.52) #11
  %2501 = load i32, ptr %1126, align 4, !tbaa !5
  %2502 = call ptr @strerror(i32 noundef %2501) #11
  %2503 = load i32, ptr %1126, align 4, !tbaa !5
  %2504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2495, ptr noundef nonnull %.str.53.sink1106, i32 noundef %2496, ptr noundef nonnull @.str.191, ptr noundef nonnull @.str.51, i32 noundef 526, ptr noundef %2498, ptr noundef %2500, ptr noundef %2502, i32 noundef %2503) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2505:                                             ; preds = %2479, %2478
  %2506 = call i32 @s2n_io_pair_close(ptr noundef nonnull %24) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #11
  %2507 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %23) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #11
  %2508 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %22) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #11
  %2509 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %21) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #11
  %2510 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %20) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #11
  %2511 = add nuw nsw i64 %.0235356, 1
  %exitcond361.not = icmp eq i64 %2511, 64
  br i1 %exitcond361.not, label %2010, label %2013, !llvm.loop !48

2512:                                             ; preds = %2010
  %2513 = load i32, ptr %1126, align 4, !tbaa !5
  %2514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2515 = call i32 @s2n_print_stacktrace(ptr noundef %2514) #11
  %2516 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2517 = trunc nuw i8 %2516 to i1
  br i1 %2517, label %2518, label %2522

2518:                                             ; preds = %2512
  %2519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2520 = call i32 @fileno(ptr noundef %2519) #11
  %2521 = call i32 @isatty(i32 noundef %2520) #11
  %.not256 = icmp eq i32 %2521, 0
  br i1 %.not256, label %2522, label %2523

2522:                                             ; preds = %2518, %2512
  br label %2523

2523:                                             ; preds = %2518, %2522
  %.str.53.sink1115 = phi ptr [ @.str.53, %2522 ], [ @.str.49, %2518 ]
  store i32 %2513, ptr %1126, align 4, !tbaa !5
  %2524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2525 = load i32, ptr @test_count, align 4, !tbaa !5
  %2526 = load i32, ptr %1072, align 4, !tbaa !5
  %2527 = call ptr @s2n_strerror(i32 noundef %2526, ptr noundef nonnull @.str.52) #11
  %2528 = load i32, ptr %1072, align 4, !tbaa !5
  %2529 = call ptr @s2n_strerror_debug(i32 noundef %2528, ptr noundef nonnull @.str.52) #11
  %2530 = load i32, ptr %1126, align 4, !tbaa !5
  %2531 = call ptr @strerror(i32 noundef %2530) #11
  %2532 = load i32, ptr %1126, align 4, !tbaa !5
  %2533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2524, ptr noundef nonnull %.str.53.sink1115, i32 noundef %2525, ptr noundef nonnull @.str.143, ptr noundef nonnull @.str.51, i32 noundef 531, ptr noundef %2527, ptr noundef %2529, ptr noundef %2531, i32 noundef %2532) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2534:                                             ; preds = %2010
  %2535 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #11
  %2536 = icmp eq i32 %2535, -1
  br i1 %2536, label %2537, label %2559

2537:                                             ; preds = %2534
  %2538 = load i32, ptr %1126, align 4, !tbaa !5
  %2539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2540 = call i32 @s2n_print_stacktrace(ptr noundef %2539) #11
  %2541 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2542 = trunc nuw i8 %2541 to i1
  br i1 %2542, label %2543, label %2547

2543:                                             ; preds = %2537
  %2544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2545 = call i32 @fileno(ptr noundef %2544) #11
  %2546 = call i32 @isatty(i32 noundef %2545) #11
  %.not255 = icmp eq i32 %2546, 0
  br i1 %.not255, label %2547, label %2548

2547:                                             ; preds = %2543, %2537
  br label %2548

2548:                                             ; preds = %2543, %2547
  %.str.53.sink1124 = phi ptr [ @.str.53, %2547 ], [ @.str.49, %2543 ]
  store i32 %2538, ptr %1126, align 4, !tbaa !5
  %2549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2550 = load i32, ptr @test_count, align 4, !tbaa !5
  %2551 = load i32, ptr %1072, align 4, !tbaa !5
  %2552 = call ptr @s2n_strerror(i32 noundef %2551, ptr noundef nonnull @.str.52) #11
  %2553 = load i32, ptr %1072, align 4, !tbaa !5
  %2554 = call ptr @s2n_strerror_debug(i32 noundef %2553, ptr noundef nonnull @.str.52) #11
  %2555 = load i32, ptr %1126, align 4, !tbaa !5
  %2556 = call ptr @strerror(i32 noundef %2555) #11
  %2557 = load i32, ptr %1126, align 4, !tbaa !5
  %2558 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2549, ptr noundef nonnull %.str.53.sink1124, i32 noundef %2550, ptr noundef nonnull @.str.144, ptr noundef nonnull @.str.51, i32 noundef 531, ptr noundef %2552, ptr noundef %2554, ptr noundef %2556, i32 noundef %2557) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2559:                                             ; preds = %2534
  %2560 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2561 = trunc nuw i8 %2560 to i1
  br i1 %2561, label %2562, label %2573

2562:                                             ; preds = %2559
  %2563 = load ptr, ptr @stdout, align 8, !tbaa !9
  %2564 = call i32 @fileno(ptr noundef %2563) #11
  %2565 = call i32 @isatty(i32 noundef %2564) #11
  %.not252 = icmp eq i32 %2565, 0
  br i1 %.not252, label %2573, label %2566

2566:                                             ; preds = %2562
  %2567 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not254 = icmp eq i32 %2567, 0
  %2568 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not254, label %2571, label %2569

2569:                                             ; preds = %2566
  %2570 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2568, ptr noundef nonnull @.str.145, i32 noundef %2567) #11
  br label %2580

2571:                                             ; preds = %2566
  %2572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2568, ptr noundef nonnull @.str.146) #11
  br label %2580

2573:                                             ; preds = %2562, %2559
  %2574 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not253 = icmp eq i32 %2574, 0
  %2575 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not253, label %2578, label %2576

2576:                                             ; preds = %2573
  %2577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2575, ptr noundef nonnull @.str.147, i32 noundef %2574) #11
  br label %2580

2578:                                             ; preds = %2573
  %2579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2575, ptr noundef nonnull @.str.148) #11
  br label %2580

2580:                                             ; preds = %2576, %2578, %2569, %2571
  %2581 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %3) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #11
  br label %2582

2582:                                             ; preds = %179, %177, %186, %184, %2580
  ret i32 0
}

; Function Attrs: nofree nounwind
declare noundef i32 @fflush(ptr nocapture noundef) local_unnamed_addr #7

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) local_unnamed_addr #5

declare i32 @s2n_enable_atexit() local_unnamed_addr #5

declare i32 @s2n_init() local_unnamed_addr #5

declare zeroext i1 @s2n_is_tls13_fully_supported(...) local_unnamed_addr #5

declare i32 @s2n_cleanup() local_unnamed_addr #5

declare i32 @s2n_enable_tls13_in_test(...) local_unnamed_addr #5

declare i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef) local_unnamed_addr #5

declare i32 @s2n_test_cert_chain_and_key_new(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #5

declare i32 @s2n_read_test_pem_and_len(ptr noundef, ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #5

declare i32 @s2n_cert_chain_and_key_load_pem_bytes(ptr noundef, ptr noundef, i32 noundef, ptr noundef, i32 noundef) local_unnamed_addr #5

declare i32 @s2n_config_set_verification_ca_location(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #5

declare i32 @s2n_connection_ptr_free(ptr noundef) local_unnamed_addr #5

declare i32 @s2n_config_ptr_free(ptr noundef) local_unnamed_addr #5

declare i32 @s2n_connection_set_blinding(ptr noundef, i32 noundef) local_unnamed_addr #5

declare void @s2n_debug_info_reset() local_unnamed_addr #5

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #2 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
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 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 #5 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { 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 = { 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 #8 = { 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 #9 = { mustprogress nofree nounwind willreturn allockind("alloc,uninitialized") allocsize(0) memory(inaccessiblemem: readwrite) "alloc-family"="malloc" "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 #10 = { mustprogress nounwind willreturn allockind("free") memory(argmem: readwrite, inaccessiblemem: readwrite) "alloc-family"="malloc" "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 = { cold nounwind }
attributes #14 = { noreturn nounwind }
attributes #15 = { nounwind allocsize(0) }

!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, !6, i64 0}
!16 = !{!"", !6, i64 0, !6, i64 4, !12, i64 8, !7, i64 9}
!17 = !{!16, !6, i64 4}
!18 = !{!16, !12, i64 8}
!19 = !{!16, !7, i64 9}
!20 = !{!21, !7, i64 219}
!21 = !{!"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, !22, i64 160, !23, i64 168, !23, 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, !24, i64 240, !10, i64 632, !10, i64 640, !25, i64 648, !31, i64 1144, !34, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !37, i64 1776, !37, i64 1816, !37, i64 1856, !37, i64 1896, !6, i64 1936, !23, i64 1944, !7, i64 1952, !37, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !38, i64 2004, !38, i64 2008, !39, i64 2016, !36, i64 2208, !6, i64 2212, !36, i64 2216, !23, i64 2224, !7, i64 2232, !23, i64 2240, !23, i64 2248, !23, i64 2256, !38, i64 2264, !38, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !30, i64 2792, !6, i64 2816, !30, i64 2824, !30, i64 2848, !30, i64 2872, !41, i64 2896, !43, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !30, i64 3784, !6, i64 3808, !45, i64 3816, !7, i64 3848, !37, i64 3992, !30, i64 4032, !30, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !36, i64 4084, !36, i64 4086, !6, i64 4088, !6, i64 4092, !30, i64 4096, !6, i64 4120, !46, i64 4128, !38, i64 4176, !7, i64 4180, !7, i64 4181}
!22 = !{!"s2n_timer", !23, i64 0}
!23 = !{!"long", !7, i64 0}
!24 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!25 = !{!"s2n_kex_parameters", !26, i64 0, !27, i64 8, !7, i64 24, !27, i64 56, !28, i64 72, !28, i64 184, !7, i64 296, !29, i64 360, !30, i64 448, !30, i64 472}
!26 = !{!"s2n_dh_params", !10, i64 0}
!27 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!28 = !{!"s2n_kem_group_params", !10, i64 0, !29, i64 8, !27, i64 96}
!29 = !{!"s2n_kem_params", !10, i64 0, !30, i64 8, !30, i64 32, !30, i64 56, !12, i64 80}
!30 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!31 = !{!"s2n_handshake_parameters", !32, i64 0, !32, i64 48, !30, i64 96, !6, i64 120, !33, 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}
!32 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!33 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!34 = !{!"s2n_psk_parameters", !6, i64 0, !35, i64 8, !36, i64 40, !36, i64 42, !10, i64 48, !6, i64 56}
!35 = !{!"s2n_array", !30, i64 0, !6, i64 24, !6, i64 28}
!36 = !{!"short", !7, i64 0}
!37 = !{!"s2n_stuffer", !30, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!38 = !{!"", !6, i64 0}
!39 = !{!"s2n_handshake", !37, 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, !40, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!40 = !{!"s2n_offered_early_data", !10, i64 0}
!41 = !{!"s2n_client_hello", !30, i64 0, !42, i64 24, !30, i64 728, !30, i64 752, !30, 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}
!42 = !{!"", !7, i64 0, !30, i64 672, !36, i64 696}
!43 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !36, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !44, i64 48, !12, i64 52}
!44 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!45 = !{!"s2n_ticket_fields", !30, i64 0, !6, i64 24}
!46 = !{!"s2n_post_handshake", !37, i64 0, !7, i64 40}
!47 = !{!21, !7, i64 220}
!48 = distinct !{!48, !49}
!49 = !{!"llvm.loop.mustprogress"}


; Effective O3 passes: BDCEPass,CorrelatedValuePropagationPass,DSEPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LCSSAPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,SCCPPass,SROAPass,SimplifyCFGPass,TailCallElimPass