; LLVM IR from aws/s2n-tls :: tests/unit (s2n_cert_status_extension_test)

; Unoptimized IR (clang -disable-llvm-passes):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%struct.s2n_extension_type = type { i16, i8, i16, ptr, ptr, ptr, ptr }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_result = type { i32 }
%struct.s2n_test_io_pair = type { i32, i32 }
%struct.s2n_connection = type { i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, [22 x i8], [22 x i8], [22 x i8], i32, i32, %struct.s2n_timer, i64, i64, [32 x i8], i8, i8, i8, i8, i8, i8, i8, ptr, ptr, %struct.s2n_secrets, ptr, ptr, %struct.s2n_kex_parameters, %struct.s2n_handshake_parameters, %struct.s2n_psk_parameters, ptr, i8, i32, [5 x i8], %struct.s2n_stuffer, %struct.s2n_stuffer, %struct.s2n_stuffer, %struct.s2n_stuffer, i32, i64, [2 x i8], %struct.s2n_stuffer, i8, i8, i8, i8, %struct.s2n_atomic_flag, %struct.s2n_atomic_flag, %struct.s2n_handshake, i16, i32, i16, i64, i8, i64, i64, i64, %struct.s2n_atomic_flag, %struct.s2n_atomic_flag, [256 x i8], [256 x i8], i32, %struct.s2n_blob, i32, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_client_hello, %struct.s2n_x509_validator, ptr, ptr, i8, i32, %struct.s2n_blob, i32, %struct.s2n_ticket_fields, [138 x i8], %struct.s2n_stuffer, %struct.s2n_blob, %struct.s2n_blob, i8, i8, i8, i16, i16, i32, i32, %struct.s2n_blob, i32, %struct.s2n_post_handshake, %struct.s2n_atomic_flag, i8, i8 }
%struct.s2n_timer = type { i64 }
%struct.s2n_secrets = type { %union.anon, i32 }
%union.anon = type { %struct.s2n_tls13_secrets }
%struct.s2n_tls13_secrets = type { [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], i32 }
%struct.s2n_kex_parameters = type { %struct.s2n_dh_params, %struct.s2n_ecc_evp_params, [4 x ptr], %struct.s2n_ecc_evp_params, %struct.s2n_kem_group_params, %struct.s2n_kem_group_params, [8 x ptr], %struct.s2n_kem_params, %struct.s2n_blob, %struct.s2n_blob }
%struct.s2n_dh_params = type { ptr }
%struct.s2n_ecc_evp_params = type { ptr, ptr }
%struct.s2n_kem_group_params = type { ptr, %struct.s2n_kem_params, %struct.s2n_ecc_evp_params }
%struct.s2n_kem_params = type { ptr, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, i8 }
%struct.s2n_handshake_parameters = type { %struct.s2n_pkey, %struct.s2n_pkey, %struct.s2n_blob, i32, %struct.s2n_sig_scheme_list, ptr, ptr, ptr, [4 x ptr], [4 x ptr], i8, i8, [32 x i8], [32 x i8] }
%struct.s2n_pkey = type { ptr, ptr, ptr, ptr, ptr, ptr }
%struct.s2n_sig_scheme_list = type { [128 x i16], i8 }
%struct.s2n_psk_parameters = type { i32, %struct.s2n_array, i16, i16, ptr, i32 }
%struct.s2n_array = type { %struct.s2n_blob, i32, i32 }
%struct.s2n_handshake = type { %struct.s2n_stuffer, ptr, [8 x i8], [48 x i8], [48 x i8], i8, i32, i32, i32, i32, %struct.s2n_offered_early_data, i8, i32 }
%struct.s2n_offered_early_data = type { ptr }
%struct.s2n_client_hello = type { %struct.s2n_blob, %struct.s2n_parsed_extensions_list, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, i8, i8, i8 }
%struct.s2n_parsed_extensions_list = type { [21 x %struct.s2n_parsed_extension], %struct.s2n_blob, i16 }
%struct.s2n_parsed_extension = type { %struct.s2n_blob, i16, i16, i8 }
%struct.s2n_x509_validator = type { ptr, ptr, i8, i8, i16, ptr, i32, ptr, %struct.s2n_cert_validation_info, i8 }
%struct.s2n_cert_validation_info = type { i8, [3 x i8] }
%struct.s2n_ticket_fields = type { %struct.s2n_blob, i32 }
%struct.s2n_post_handshake = type { %struct.s2n_stuffer, [4 x i8] }
%struct.s2n_atomic_flag = type { i32 }
%struct.s2n_cert_chain_and_key = type { ptr, ptr, %struct.s2n_blob, %struct.s2n_blob, ptr, ptr, ptr }

@s2n_use_color_in_output = external dso_local global i8, align 1
@ocsp_data = external dso_local constant [10 x i8], align 1
@test_count = external dso_local global i32, align 4
@stderr = external global ptr, align 8
@.str = external hidden unnamed_addr constant [101 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [89 x i8], align 1
@s2n_errno = external thread_local global i32, align 4
@.str.3 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [90 x i8], align 1
@stdout = external global ptr, align 8
@.str.5 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [200 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [68 x i8], align 1
@s2n_cert_status_extension = external constant %struct.s2n_extension_type, align 8
@.str.15 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [120 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [130 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [144 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [119 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [123 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [123 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [25 x i8], align 1

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

declare i32 @s2n_cert_chain_and_key_set_ocsp_data(ptr noundef, ptr noundef, i32 noundef) #1

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

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

declare i32 @s2n_print_stacktrace(ptr noundef) #1

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

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

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

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

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

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

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

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

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

; Function Attrs: nounwind uwtable
define dso_local i32 @main(i32 noundef %0, ptr noundef %1) #0 {
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca ptr, align 8
  %10 = alloca i32, align 4
  %11 = alloca ptr, align 8
  %12 = alloca i32, align 4
  %13 = alloca ptr, align 8
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca 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 ptr, align 8
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca %struct.s2n_stuffer, align 8
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca i8, align 1
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %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 ptr, align 8
  %50 = alloca i32, align 4
  %51 = alloca ptr, align 8
  %52 = alloca i32, align 4
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca %struct.s2n_stuffer, align 8
  %56 = alloca i32, align 4
  %57 = alloca i32, align 4
  %58 = alloca i32, align 4
  %59 = alloca i32, align 4
  %60 = alloca i32, align 4
  %61 = alloca i32, align 4
  %62 = alloca i32, align 4
  %63 = alloca i32, align 4
  %64 = alloca %struct.s2n_result, align 4
  %65 = alloca ptr, align 8
  %66 = alloca i32, align 4
  %67 = alloca i32, align 4
  %68 = alloca %struct.s2n_stuffer, align 8
  %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 i32, align 4
  %75 = alloca i32, align 4
  %76 = alloca ptr, align 8
  %77 = alloca i32, align 4
  %78 = alloca i32, align 4
  %79 = alloca %struct.s2n_stuffer, align 8
  %80 = alloca i32, align 4
  %81 = alloca i32, align 4
  %82 = alloca i32, align 4
  %83 = alloca i32, align 4
  %84 = alloca i32, align 4
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca i32, align 4
  %88 = alloca i32, align 4
  %89 = alloca [12000 x i8], align 16
  %90 = alloca i32, align 4
  %91 = alloca i32, align 4
  %92 = alloca i32, align 4
  %93 = alloca ptr, align 8
  %94 = alloca i32, align 4
  %95 = alloca i32, align 4
  %96 = alloca ptr, align 8
  %97 = alloca i32, align 4
  %98 = alloca i32, align 4
  %99 = alloca i32, align 4
  %100 = alloca i32, align 4
  %101 = alloca ptr, align 8
  %102 = alloca i32, align 4
  %103 = alloca i32, align 4
  %104 = alloca i32, align 4
  %105 = alloca ptr, align 8
  %106 = alloca i32, align 4
  %107 = alloca i32, align 4
  %108 = alloca ptr, align 8
  %109 = alloca i32, align 4
  %110 = alloca i32, align 4
  %111 = alloca i32, align 4
  %112 = alloca %struct.s2n_test_io_pair, align 4
  %113 = alloca i32, align 4
  %114 = alloca i32, align 4
  %115 = alloca i32, align 4
  %116 = alloca i32, align 4
  %117 = alloca i32, align 4
  %118 = alloca i32, align 4
  %119 = alloca i32, align 4
  %120 = alloca ptr, align 8
  %121 = alloca i32, align 4
  %122 = alloca i32, align 4
  %123 = alloca ptr, align 8
  %124 = alloca i32, align 4
  %125 = alloca i32, align 4
  %126 = alloca i32, align 4
  %127 = alloca %struct.s2n_result, align 4
  %128 = alloca %struct.s2n_result, align 4
  %129 = alloca %struct.s2n_result, align 4
  %130 = alloca %struct.s2n_result, align 4
  %131 = alloca ptr, align 8
  %132 = alloca i32, align 4
  %133 = alloca i32, align 4
  %134 = alloca i32, align 4
  %135 = alloca i32, align 4
  %136 = alloca i32, align 4
  %137 = alloca i32, align 4
  %138 = alloca ptr, align 8
  %139 = alloca i32, align 4
  %140 = alloca i32, align 4
  %141 = alloca i32, align 4
  %142 = alloca i32, align 4
  %143 = alloca i32, align 4
  %144 = alloca i32, align 4
  %145 = alloca ptr, align 8
  %146 = alloca i32, align 4
  %147 = alloca i32, align 4
  %148 = alloca ptr, align 8
  %149 = alloca i32, align 4
  %150 = alloca i32, align 4
  %151 = alloca i32, align 4
  %152 = alloca %struct.s2n_test_io_pair, align 4
  %153 = alloca i32, align 4
  %154 = alloca i32, align 4
  %155 = alloca i32, align 4
  %156 = alloca i32, align 4
  %157 = alloca i32, align 4
  %158 = alloca i32, align 4
  %159 = alloca i32, align 4
  %160 = alloca ptr, align 8
  %161 = alloca i32, align 4
  %162 = alloca i32, align 4
  %163 = alloca ptr, align 8
  %164 = alloca i32, align 4
  %165 = alloca i32, align 4
  %166 = alloca i32, align 4
  %167 = alloca %struct.s2n_result, align 4
  %168 = alloca %struct.s2n_result, align 4
  %169 = alloca %struct.s2n_result, align 4
  %170 = alloca %struct.s2n_result, align 4
  %171 = alloca ptr, align 8
  %172 = alloca i32, align 4
  %173 = alloca i32, align 4
  %174 = alloca i32, align 4
  %175 = alloca i32, align 4
  %176 = alloca i32, align 4
  %177 = alloca i32, align 4
  %178 = alloca ptr, align 8
  %179 = alloca i32, align 4
  %180 = alloca i32, align 4
  %181 = alloca i32, align 4
  %182 = alloca i32, align 4
  %183 = alloca i32, align 4
  %184 = alloca i32, align 4
  %185 = alloca ptr, align 8
  %186 = alloca i32, align 4
  %187 = alloca i32, align 4
  %188 = alloca ptr, align 8
  %189 = alloca i32, align 4
  %190 = alloca i32, align 4
  %191 = alloca i32, align 4
  %192 = alloca %struct.s2n_test_io_pair, align 4
  %193 = alloca i32, align 4
  %194 = alloca i32, align 4
  %195 = alloca i32, align 4
  %196 = alloca i32, align 4
  %197 = alloca i32, align 4
  %198 = alloca i32, align 4
  %199 = alloca i32, align 4
  %200 = alloca ptr, align 8
  %201 = alloca i32, align 4
  %202 = alloca i32, align 4
  %203 = alloca ptr, align 8
  %204 = alloca i32, align 4
  %205 = alloca i32, align 4
  %206 = alloca i32, align 4
  %207 = alloca %struct.s2n_result, align 4
  %208 = alloca %struct.s2n_result, align 4
  %209 = alloca %struct.s2n_result, align 4
  %210 = alloca %struct.s2n_result, align 4
  %211 = alloca ptr, align 8
  %212 = alloca i32, align 4
  %213 = alloca i32, align 4
  %214 = alloca i32, align 4
  %215 = alloca i32, align 4
  %216 = alloca ptr, align 8
  %217 = alloca i32, align 4
  %218 = alloca i32, align 4
  %219 = alloca i32, align 4
  %220 = alloca ptr, align 8
  %221 = alloca i32, align 4
  %222 = alloca i32, align 4
  %223 = alloca ptr, align 8
  %224 = alloca i32, align 4
  %225 = alloca i32, align 4
  %226 = alloca i32, align 4
  %227 = alloca %struct.s2n_test_io_pair, align 4
  %228 = alloca i32, align 4
  %229 = alloca i32, align 4
  %230 = alloca i32, align 4
  %231 = alloca i32, align 4
  %232 = alloca i32, align 4
  %233 = alloca i32, align 4
  %234 = alloca i32, align 4
  %235 = alloca ptr, align 8
  %236 = alloca i32, align 4
  %237 = alloca ptr, align 8
  %238 = alloca i32, align 4
  %239 = alloca i32, align 4
  %240 = alloca i32, align 4
  %241 = alloca i32, align 4
  %242 = alloca %struct.s2n_result, align 4
  %243 = alloca %struct.s2n_result, align 4
  %244 = alloca %struct.s2n_result, align 4
  %245 = alloca %struct.s2n_result, align 4
  %246 = alloca %struct.s2n_result, align 4
  %247 = alloca i32, align 4
  %248 = alloca i32, align 4
  %249 = alloca i32, align 4
  %250 = 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 %251

251:                                              ; preds = %2
  br label %252

252:                                              ; preds = %251
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %253 = load ptr, ptr @stdout, align 8, !tbaa !9
  %254 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %253, ptr noundef @.str.5, ptr noundef @.str.2) #9
  %255 = load ptr, ptr @stdout, align 8, !tbaa !9
  %256 = call i32 @fflush(ptr noundef %255)
  br label %257

257:                                              ; preds = %252
  %258 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %259 = icmp eq i32 %258, -1
  br i1 %259, label %260, label %311

260:                                              ; preds = %257
  br label %261

261:                                              ; preds = %260
  br label %262

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

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

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

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

308:                                              ; preds = %291, %274
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #9
  br label %309

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

310:                                              ; No predecessors!
  br label %311

311:                                              ; preds = %310, %257
  br label %312

312:                                              ; preds = %311
  br label %313

313:                                              ; preds = %312
  %314 = load i32, ptr @test_count, align 4, !tbaa !5
  %315 = add nsw i32 %314, 1
  store i32 %315, ptr @test_count, align 4, !tbaa !5
  %316 = call i32 @s2n_enable_atexit()
  %317 = icmp eq i32 %316, -1
  br i1 %317, label %318, label %369

318:                                              ; preds = %313
  br label %319

319:                                              ; preds = %318
  br label %320

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

327:                                              ; preds = %320
  %328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %329 = call i32 @fileno(ptr noundef %328) #9
  %330 = call i32 @isatty(i32 noundef %329) #9
  %331 = icmp ne i32 %330, 0
  br i1 %331, label %332, label %349

332:                                              ; preds = %327
  %333 = load i32, ptr %7, align 4, !tbaa !5
  %334 = call ptr @__errno_location() #10
  store i32 %333, ptr %334, align 4, !tbaa !5
  %335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %336 = load i32, ptr @test_count, align 4, !tbaa !5
  %337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %338 = load i32, ptr %337, align 4, !tbaa !5
  %339 = call ptr @s2n_strerror(i32 noundef %338, ptr noundef @.str.3)
  %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_debug(i32 noundef %341, ptr noundef @.str.3)
  %343 = call ptr @__errno_location() #10
  %344 = load i32, ptr %343, align 4, !tbaa !5
  %345 = call ptr @strerror(i32 noundef %344) #9
  %346 = call ptr @__errno_location() #10
  %347 = load i32, ptr %346, align 4, !tbaa !5
  %348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %335, ptr noundef @.str, i32 noundef %336, ptr noundef @.str.7, ptr noundef @.str.2, i32 noundef 33, ptr noundef %339, ptr noundef %342, ptr noundef %345, i32 noundef %347) #9
  br label %366

349:                                              ; preds = %327, %320
  %350 = load i32, ptr %7, align 4, !tbaa !5
  %351 = call ptr @__errno_location() #10
  store i32 %350, ptr %351, align 4, !tbaa !5
  %352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %353 = load i32, ptr @test_count, align 4, !tbaa !5
  %354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %355 = load i32, ptr %354, align 4, !tbaa !5
  %356 = call ptr @s2n_strerror(i32 noundef %355, ptr noundef @.str.3)
  %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_debug(i32 noundef %358, ptr noundef @.str.3)
  %360 = call ptr @__errno_location() #10
  %361 = load i32, ptr %360, align 4, !tbaa !5
  %362 = call ptr @strerror(i32 noundef %361) #9
  %363 = call ptr @__errno_location() #10
  %364 = load i32, ptr %363, align 4, !tbaa !5
  %365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %352, ptr noundef @.str.4, i32 noundef %353, ptr noundef @.str.7, ptr noundef @.str.2, i32 noundef 33, ptr noundef %356, ptr noundef %359, ptr noundef %362, i32 noundef %364) #9
  br label %366

366:                                              ; preds = %349, %332
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #9
  br label %367

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

368:                                              ; No predecessors!
  br label %369

369:                                              ; preds = %368, %313
  br label %370

370:                                              ; preds = %369
  br label %371

371:                                              ; preds = %370
  br label %372

372:                                              ; preds = %371
  %373 = call i32 @s2n_init()
  %374 = icmp eq i32 %373, -1
  br i1 %374, label %375, label %426

375:                                              ; preds = %372
  br label %376

376:                                              ; preds = %375
  br label %377

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

384:                                              ; preds = %377
  %385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %386 = call i32 @fileno(ptr noundef %385) #9
  %387 = call i32 @isatty(i32 noundef %386) #9
  %388 = icmp ne i32 %387, 0
  br i1 %388, label %389, label %406

389:                                              ; preds = %384
  %390 = load i32, ptr %8, align 4, !tbaa !5
  %391 = call ptr @__errno_location() #10
  store i32 %390, ptr %391, align 4, !tbaa !5
  %392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %393 = load i32, ptr @test_count, align 4, !tbaa !5
  %394 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %395 = load i32, ptr %394, align 4, !tbaa !5
  %396 = call ptr @s2n_strerror(i32 noundef %395, ptr noundef @.str.3)
  %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_debug(i32 noundef %398, ptr noundef @.str.3)
  %400 = call ptr @__errno_location() #10
  %401 = load i32, ptr %400, align 4, !tbaa !5
  %402 = call ptr @strerror(i32 noundef %401) #9
  %403 = call ptr @__errno_location() #10
  %404 = load i32, ptr %403, align 4, !tbaa !5
  %405 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %392, ptr noundef @.str, i32 noundef %393, ptr noundef @.str.8, ptr noundef @.str.2, i32 noundef 33, ptr noundef %396, ptr noundef %399, ptr noundef %402, i32 noundef %404) #9
  br label %423

406:                                              ; preds = %384, %377
  %407 = load i32, ptr %8, align 4, !tbaa !5
  %408 = call ptr @__errno_location() #10
  store i32 %407, ptr %408, align 4, !tbaa !5
  %409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %410 = load i32, ptr @test_count, align 4, !tbaa !5
  %411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %412 = load i32, ptr %411, align 4, !tbaa !5
  %413 = call ptr @s2n_strerror(i32 noundef %412, ptr noundef @.str.3)
  %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_debug(i32 noundef %415, ptr noundef @.str.3)
  %417 = call ptr @__errno_location() #10
  %418 = load i32, ptr %417, align 4, !tbaa !5
  %419 = call ptr @strerror(i32 noundef %418) #9
  %420 = call ptr @__errno_location() #10
  %421 = load i32, ptr %420, align 4, !tbaa !5
  %422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %409, ptr noundef @.str.4, i32 noundef %410, ptr noundef @.str.8, ptr noundef @.str.2, i32 noundef 33, ptr noundef %413, ptr noundef %416, ptr noundef %419, i32 noundef %421) #9
  br label %423

423:                                              ; preds = %406, %389
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #9
  br label %424

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

425:                                              ; No predecessors!
  br label %426

426:                                              ; preds = %425, %372
  br label %427

427:                                              ; preds = %426
  br label %428

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

429:                                              ; preds = %428
  %430 = load i32, ptr @test_count, align 4, !tbaa !5
  %431 = add nsw i32 %430, 1
  store i32 %431, ptr @test_count, align 4, !tbaa !5
  %432 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %9, ptr noundef @.str.9, ptr noundef @.str.10)
  %433 = icmp eq i32 %432, -1
  br i1 %433, label %434, label %487

434:                                              ; preds = %429
  br label %435

435:                                              ; preds = %434
  br label %436

436:                                              ; preds = %435
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #9
  %437 = call ptr @__errno_location() #10
  %438 = load i32, ptr %437, align 4, !tbaa !5
  store i32 %438, ptr %10, align 4, !tbaa !5
  %439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %440 = call i32 @s2n_print_stacktrace(ptr noundef %439)
  %441 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %442 = trunc i8 %441 to i1
  br i1 %442, label %443, label %465

443:                                              ; preds = %436
  %444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %445 = call i32 @fileno(ptr noundef %444) #9
  %446 = call i32 @isatty(i32 noundef %445) #9
  %447 = icmp ne i32 %446, 0
  br i1 %447, label %448, label %465

448:                                              ; preds = %443
  %449 = load i32, ptr %10, align 4, !tbaa !5
  %450 = call ptr @__errno_location() #10
  store i32 %449, ptr %450, align 4, !tbaa !5
  %451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %452 = load i32, ptr @test_count, align 4, !tbaa !5
  %453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %454 = load i32, ptr %453, align 4, !tbaa !5
  %455 = call ptr @s2n_strerror(i32 noundef %454, ptr noundef @.str.3)
  %456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %457 = load i32, ptr %456, align 4, !tbaa !5
  %458 = call ptr @s2n_strerror_debug(i32 noundef %457, ptr noundef @.str.3)
  %459 = call ptr @__errno_location() #10
  %460 = load i32, ptr %459, align 4, !tbaa !5
  %461 = call ptr @strerror(i32 noundef %460) #9
  %462 = call ptr @__errno_location() #10
  %463 = load i32, ptr %462, align 4, !tbaa !5
  %464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %451, ptr noundef @.str, i32 noundef %452, ptr noundef @.str.11, ptr noundef @.str.2, i32 noundef 37, ptr noundef %455, ptr noundef %458, ptr noundef %461, i32 noundef %463) #9
  br label %482

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

482:                                              ; preds = %465, %448
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #9
  br label %483

483:                                              ; preds = %482
  br label %484

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

485:                                              ; No predecessors!
  br label %486

486:                                              ; preds = %485
  br label %487

487:                                              ; preds = %486, %429
  br label %488

488:                                              ; preds = %487
  br label %489

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

490:                                              ; preds = %489
  %491 = load i32, ptr @test_count, align 4, !tbaa !5
  %492 = add nsw i32 %491, 1
  store i32 %492, ptr @test_count, align 4, !tbaa !5
  %493 = call ptr @s2n_config_new()
  store ptr %493, ptr %11, align 8, !tbaa !9
  %494 = icmp eq ptr %493, null
  br i1 %494, label %495, label %548

495:                                              ; preds = %490
  br label %496

496:                                              ; preds = %495
  br label %497

497:                                              ; preds = %496
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #9
  %498 = call ptr @__errno_location() #10
  %499 = load i32, ptr %498, align 4, !tbaa !5
  store i32 %499, ptr %12, align 4, !tbaa !5
  %500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %501 = call i32 @s2n_print_stacktrace(ptr noundef %500)
  %502 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %503 = trunc i8 %502 to i1
  br i1 %503, label %504, label %526

504:                                              ; preds = %497
  %505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %506 = call i32 @fileno(ptr noundef %505) #9
  %507 = call i32 @isatty(i32 noundef %506) #9
  %508 = icmp ne i32 %507, 0
  br i1 %508, label %509, label %526

509:                                              ; preds = %504
  %510 = load i32, ptr %12, align 4, !tbaa !5
  %511 = call ptr @__errno_location() #10
  store i32 %510, ptr %511, align 4, !tbaa !5
  %512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %513 = load i32, ptr @test_count, align 4, !tbaa !5
  %514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %515 = load i32, ptr %514, align 4, !tbaa !5
  %516 = call ptr @s2n_strerror(i32 noundef %515, ptr noundef @.str.3)
  %517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %518 = load i32, ptr %517, align 4, !tbaa !5
  %519 = call ptr @s2n_strerror_debug(i32 noundef %518, ptr noundef @.str.3)
  %520 = call ptr @__errno_location() #10
  %521 = load i32, ptr %520, align 4, !tbaa !5
  %522 = call ptr @strerror(i32 noundef %521) #9
  %523 = call ptr @__errno_location() #10
  %524 = load i32, ptr %523, align 4, !tbaa !5
  %525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %512, ptr noundef @.str, i32 noundef %513, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 42, ptr noundef %516, ptr noundef %519, ptr noundef %522, i32 noundef %524) #9
  br label %543

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

543:                                              ; preds = %526, %509
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #9
  br label %544

544:                                              ; preds = %543
  br label %545

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

546:                                              ; No predecessors!
  br label %547

547:                                              ; preds = %546
  br label %548

548:                                              ; preds = %547, %490
  br label %549

549:                                              ; preds = %548
  br label %550

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

551:                                              ; preds = %550
  %552 = load i32, ptr @test_count, align 4, !tbaa !5
  %553 = add nsw i32 %552, 1
  store i32 %553, ptr @test_count, align 4, !tbaa !5
  %554 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %554, ptr %13, align 8, !tbaa !9
  %555 = icmp eq ptr %554, null
  br i1 %555, label %556, label %609

556:                                              ; preds = %551
  br label %557

557:                                              ; preds = %556
  br label %558

558:                                              ; preds = %557
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #9
  %559 = call ptr @__errno_location() #10
  %560 = load i32, ptr %559, align 4, !tbaa !5
  store i32 %560, ptr %14, align 4, !tbaa !5
  %561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %562 = call i32 @s2n_print_stacktrace(ptr noundef %561)
  %563 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %564 = trunc i8 %563 to i1
  br i1 %564, label %565, label %587

565:                                              ; preds = %558
  %566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %567 = call i32 @fileno(ptr noundef %566) #9
  %568 = call i32 @isatty(i32 noundef %567) #9
  %569 = icmp ne i32 %568, 0
  br i1 %569, label %570, label %587

570:                                              ; preds = %565
  %571 = load i32, ptr %14, align 4, !tbaa !5
  %572 = call ptr @__errno_location() #10
  store i32 %571, ptr %572, align 4, !tbaa !5
  %573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %574 = load i32, ptr @test_count, align 4, !tbaa !5
  %575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %576 = load i32, ptr %575, align 4, !tbaa !5
  %577 = call ptr @s2n_strerror(i32 noundef %576, ptr noundef @.str.3)
  %578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %579 = load i32, ptr %578, align 4, !tbaa !5
  %580 = call ptr @s2n_strerror_debug(i32 noundef %579, ptr noundef @.str.3)
  %581 = call ptr @__errno_location() #10
  %582 = load i32, ptr %581, align 4, !tbaa !5
  %583 = call ptr @strerror(i32 noundef %582) #9
  %584 = call ptr @__errno_location() #10
  %585 = load i32, ptr %584, align 4, !tbaa !5
  %586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %573, ptr noundef @.str, i32 noundef %574, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 45, ptr noundef %577, ptr noundef %580, ptr noundef %583, i32 noundef %585) #9
  br label %604

587:                                              ; preds = %565, %558
  %588 = load i32, ptr %14, align 4, !tbaa !5
  %589 = call ptr @__errno_location() #10
  store i32 %588, ptr %589, align 4, !tbaa !5
  %590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %591 = load i32, ptr @test_count, align 4, !tbaa !5
  %592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %593 = load i32, ptr %592, align 4, !tbaa !5
  %594 = call ptr @s2n_strerror(i32 noundef %593, ptr noundef @.str.3)
  %595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %596 = load i32, ptr %595, align 4, !tbaa !5
  %597 = call ptr @s2n_strerror_debug(i32 noundef %596, ptr noundef @.str.3)
  %598 = call ptr @__errno_location() #10
  %599 = load i32, ptr %598, align 4, !tbaa !5
  %600 = call ptr @strerror(i32 noundef %599) #9
  %601 = call ptr @__errno_location() #10
  %602 = load i32, ptr %601, align 4, !tbaa !5
  %603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %590, ptr noundef @.str.4, i32 noundef %591, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 45, ptr noundef %594, ptr noundef %597, ptr noundef %600, i32 noundef %602) #9
  br label %604

604:                                              ; preds = %587, %570
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #9
  br label %605

605:                                              ; preds = %604
  br label %606

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

607:                                              ; No predecessors!
  br label %608

608:                                              ; preds = %607
  br label %609

609:                                              ; preds = %608, %551
  br label %610

610:                                              ; preds = %609
  br label %611

611:                                              ; preds = %610
  br label %612

612:                                              ; preds = %611
  %613 = load i32, ptr @test_count, align 4, !tbaa !5
  %614 = add nsw i32 %613, 1
  store i32 %614, ptr @test_count, align 4, !tbaa !5
  %615 = load ptr, ptr %13, align 8, !tbaa !9
  %616 = load ptr, ptr %11, align 8, !tbaa !9
  %617 = call i32 @s2n_connection_set_config(ptr noundef %615, ptr noundef %616)
  %618 = icmp eq i32 %617, -1
  br i1 %618, label %619, label %672

619:                                              ; preds = %612
  br label %620

620:                                              ; preds = %619
  br label %621

621:                                              ; preds = %620
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #9
  %622 = call ptr @__errno_location() #10
  %623 = load i32, ptr %622, align 4, !tbaa !5
  store i32 %623, ptr %15, align 4, !tbaa !5
  %624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %625 = call i32 @s2n_print_stacktrace(ptr noundef %624)
  %626 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %627 = trunc i8 %626 to i1
  br i1 %627, label %628, label %650

628:                                              ; preds = %621
  %629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %630 = call i32 @fileno(ptr noundef %629) #9
  %631 = call i32 @isatty(i32 noundef %630) #9
  %632 = icmp ne i32 %631, 0
  br i1 %632, label %633, label %650

633:                                              ; preds = %628
  %634 = load i32, ptr %15, align 4, !tbaa !5
  %635 = call ptr @__errno_location() #10
  store i32 %634, ptr %635, align 4, !tbaa !5
  %636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %637 = load i32, ptr @test_count, align 4, !tbaa !5
  %638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %639 = load i32, ptr %638, align 4, !tbaa !5
  %640 = call ptr @s2n_strerror(i32 noundef %639, ptr noundef @.str.3)
  %641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %642 = load i32, ptr %641, align 4, !tbaa !5
  %643 = call ptr @s2n_strerror_debug(i32 noundef %642, ptr noundef @.str.3)
  %644 = call ptr @__errno_location() #10
  %645 = load i32, ptr %644, align 4, !tbaa !5
  %646 = call ptr @strerror(i32 noundef %645) #9
  %647 = call ptr @__errno_location() #10
  %648 = load i32, ptr %647, align 4, !tbaa !5
  %649 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %636, ptr noundef @.str, i32 noundef %637, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 46, ptr noundef %640, ptr noundef %643, ptr noundef %646, i32 noundef %648) #9
  br label %667

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

667:                                              ; preds = %650, %633
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #9
  br label %668

668:                                              ; preds = %667
  br label %669

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

670:                                              ; No predecessors!
  br label %671

671:                                              ; preds = %670
  br label %672

672:                                              ; preds = %671, %612
  br label %673

673:                                              ; preds = %672
  br label %674

674:                                              ; preds = %673
  br label %675

675:                                              ; preds = %674
  %676 = load i32, ptr @test_count, align 4, !tbaa !5
  %677 = add nsw i32 %676, 1
  store i32 %677, ptr @test_count, align 4, !tbaa !5
  %678 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_cert_status_extension, i32 0, i32 5), align 8, !tbaa !15
  %679 = load ptr, ptr %13, align 8, !tbaa !9
  %680 = call zeroext i1 %678(ptr noundef %679)
  br i1 %680, label %681, label %734

681:                                              ; preds = %675
  br label %682

682:                                              ; preds = %681
  br label %683

683:                                              ; preds = %682
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #9
  %684 = call ptr @__errno_location() #10
  %685 = load i32, ptr %684, align 4, !tbaa !5
  store i32 %685, ptr %16, align 4, !tbaa !5
  %686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %687 = call i32 @s2n_print_stacktrace(ptr noundef %686)
  %688 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %689 = trunc i8 %688 to i1
  br i1 %689, label %690, label %712

690:                                              ; preds = %683
  %691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %692 = call i32 @fileno(ptr noundef %691) #9
  %693 = call i32 @isatty(i32 noundef %692) #9
  %694 = icmp ne i32 %693, 0
  br i1 %694, label %695, label %712

695:                                              ; preds = %690
  %696 = load i32, ptr %16, align 4, !tbaa !5
  %697 = call ptr @__errno_location() #10
  store i32 %696, ptr %697, align 4, !tbaa !5
  %698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %699 = load i32, ptr @test_count, align 4, !tbaa !5
  %700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %701 = load i32, ptr %700, align 4, !tbaa !5
  %702 = call ptr @s2n_strerror(i32 noundef %701, ptr noundef @.str.3)
  %703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %704 = load i32, ptr %703, align 4, !tbaa !5
  %705 = call ptr @s2n_strerror_debug(i32 noundef %704, ptr noundef @.str.3)
  %706 = call ptr @__errno_location() #10
  %707 = load i32, ptr %706, align 4, !tbaa !5
  %708 = call ptr @strerror(i32 noundef %707) #9
  %709 = call ptr @__errno_location() #10
  %710 = load i32, ptr %709, align 4, !tbaa !5
  %711 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %698, ptr noundef @.str, i32 noundef %699, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 49, ptr noundef %702, ptr noundef %705, ptr noundef %708, i32 noundef %710) #9
  br label %729

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

729:                                              ; preds = %712, %695
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #9
  br label %730

730:                                              ; preds = %729
  br label %731

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

732:                                              ; No predecessors!
  br label %733

733:                                              ; preds = %732
  br label %734

734:                                              ; preds = %733, %675
  br label %735

735:                                              ; preds = %734
  br label %736

736:                                              ; preds = %735
  br label %737

737:                                              ; preds = %736
  %738 = load i32, ptr @test_count, align 4, !tbaa !5
  %739 = add nsw i32 %738, 1
  store i32 %739, ptr @test_count, align 4, !tbaa !5
  %740 = load ptr, ptr %13, align 8, !tbaa !9
  %741 = load ptr, ptr %9, align 8, !tbaa !9
  %742 = call i32 @s2n_test_enable_sending_extension(ptr noundef %740, ptr noundef %741)
  %743 = icmp eq i32 %742, -1
  br i1 %743, label %744, label %797

744:                                              ; preds = %737
  br label %745

745:                                              ; preds = %744
  br label %746

746:                                              ; preds = %745
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #9
  %747 = call ptr @__errno_location() #10
  %748 = load i32, ptr %747, align 4, !tbaa !5
  store i32 %748, ptr %17, align 4, !tbaa !5
  %749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %750 = call i32 @s2n_print_stacktrace(ptr noundef %749)
  %751 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %752 = trunc i8 %751 to i1
  br i1 %752, label %753, label %775

753:                                              ; preds = %746
  %754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %755 = call i32 @fileno(ptr noundef %754) #9
  %756 = call i32 @isatty(i32 noundef %755) #9
  %757 = icmp ne i32 %756, 0
  br i1 %757, label %758, label %775

758:                                              ; preds = %753
  %759 = load i32, ptr %17, align 4, !tbaa !5
  %760 = call ptr @__errno_location() #10
  store i32 %759, ptr %760, align 4, !tbaa !5
  %761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %762 = load i32, ptr @test_count, align 4, !tbaa !5
  %763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %764 = load i32, ptr %763, align 4, !tbaa !5
  %765 = call ptr @s2n_strerror(i32 noundef %764, ptr noundef @.str.3)
  %766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %767 = load i32, ptr %766, align 4, !tbaa !5
  %768 = call ptr @s2n_strerror_debug(i32 noundef %767, ptr noundef @.str.3)
  %769 = call ptr @__errno_location() #10
  %770 = load i32, ptr %769, align 4, !tbaa !5
  %771 = call ptr @strerror(i32 noundef %770) #9
  %772 = call ptr @__errno_location() #10
  %773 = load i32, ptr %772, align 4, !tbaa !5
  %774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %761, ptr noundef @.str, i32 noundef %762, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 52, ptr noundef %765, ptr noundef %768, ptr noundef %771, i32 noundef %773) #9
  br label %792

775:                                              ; preds = %753, %746
  %776 = load i32, ptr %17, align 4, !tbaa !5
  %777 = call ptr @__errno_location() #10
  store i32 %776, ptr %777, align 4, !tbaa !5
  %778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %779 = load i32, ptr @test_count, align 4, !tbaa !5
  %780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %781 = load i32, ptr %780, align 4, !tbaa !5
  %782 = call ptr @s2n_strerror(i32 noundef %781, ptr noundef @.str.3)
  %783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %784 = load i32, ptr %783, align 4, !tbaa !5
  %785 = call ptr @s2n_strerror_debug(i32 noundef %784, ptr noundef @.str.3)
  %786 = call ptr @__errno_location() #10
  %787 = load i32, ptr %786, align 4, !tbaa !5
  %788 = call ptr @strerror(i32 noundef %787) #9
  %789 = call ptr @__errno_location() #10
  %790 = load i32, ptr %789, align 4, !tbaa !5
  %791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %778, ptr noundef @.str.4, i32 noundef %779, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 52, ptr noundef %782, ptr noundef %785, ptr noundef %788, i32 noundef %790) #9
  br label %792

792:                                              ; preds = %775, %758
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #9
  br label %793

793:                                              ; preds = %792
  br label %794

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

795:                                              ; No predecessors!
  br label %796

796:                                              ; preds = %795
  br label %797

797:                                              ; preds = %796, %737
  br label %798

798:                                              ; preds = %797
  br label %799

799:                                              ; preds = %798
  br label %800

800:                                              ; preds = %799
  %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 getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_cert_status_extension, i32 0, i32 5), align 8, !tbaa !15
  %804 = load ptr, ptr %13, align 8, !tbaa !9
  %805 = call zeroext i1 %803(ptr noundef %804)
  br i1 %805, label %859, label %806

806:                                              ; preds = %800
  br label %807

807:                                              ; preds = %806
  br label %808

808:                                              ; preds = %807
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #9
  %809 = call ptr @__errno_location() #10
  %810 = load i32, ptr %809, align 4, !tbaa !5
  store i32 %810, ptr %18, align 4, !tbaa !5
  %811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %812 = call i32 @s2n_print_stacktrace(ptr noundef %811)
  %813 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %814 = trunc i8 %813 to i1
  br i1 %814, label %815, label %837

815:                                              ; preds = %808
  %816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %817 = call i32 @fileno(ptr noundef %816) #9
  %818 = call i32 @isatty(i32 noundef %817) #9
  %819 = icmp ne i32 %818, 0
  br i1 %819, label %820, label %837

820:                                              ; preds = %815
  %821 = load i32, ptr %18, align 4, !tbaa !5
  %822 = call ptr @__errno_location() #10
  store i32 %821, ptr %822, align 4, !tbaa !5
  %823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %824 = load i32, ptr @test_count, align 4, !tbaa !5
  %825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %826 = load i32, ptr %825, align 4, !tbaa !5
  %827 = call ptr @s2n_strerror(i32 noundef %826, ptr noundef @.str.3)
  %828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %829 = load i32, ptr %828, align 4, !tbaa !5
  %830 = call ptr @s2n_strerror_debug(i32 noundef %829, ptr noundef @.str.3)
  %831 = call ptr @__errno_location() #10
  %832 = load i32, ptr %831, align 4, !tbaa !5
  %833 = call ptr @strerror(i32 noundef %832) #9
  %834 = call ptr @__errno_location() #10
  %835 = load i32, ptr %834, align 4, !tbaa !5
  %836 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %823, ptr noundef @.str, i32 noundef %824, ptr noundef @.str.17, ptr noundef @.str.2, i32 noundef 53, ptr noundef %827, ptr noundef %830, ptr noundef %833, i32 noundef %835) #9
  br label %854

837:                                              ; preds = %815, %808
  %838 = load i32, ptr %18, align 4, !tbaa !5
  %839 = call ptr @__errno_location() #10
  store i32 %838, ptr %839, align 4, !tbaa !5
  %840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %841 = load i32, ptr @test_count, align 4, !tbaa !5
  %842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %843 = load i32, ptr %842, align 4, !tbaa !5
  %844 = call ptr @s2n_strerror(i32 noundef %843, ptr noundef @.str.3)
  %845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %846 = load i32, ptr %845, align 4, !tbaa !5
  %847 = call ptr @s2n_strerror_debug(i32 noundef %846, ptr noundef @.str.3)
  %848 = call ptr @__errno_location() #10
  %849 = load i32, ptr %848, align 4, !tbaa !5
  %850 = call ptr @strerror(i32 noundef %849) #9
  %851 = call ptr @__errno_location() #10
  %852 = load i32, ptr %851, align 4, !tbaa !5
  %853 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %840, ptr noundef @.str.4, i32 noundef %841, ptr noundef @.str.17, ptr noundef @.str.2, i32 noundef 53, ptr noundef %844, ptr noundef %847, ptr noundef %850, i32 noundef %852) #9
  br label %854

854:                                              ; preds = %837, %820
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #9
  br label %855

855:                                              ; preds = %854
  br label %856

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

857:                                              ; No predecessors!
  br label %858

858:                                              ; preds = %857
  br label %859

859:                                              ; preds = %858, %800
  br label %860

860:                                              ; preds = %859
  br label %861

861:                                              ; preds = %860
  br label %862

862:                                              ; preds = %861
  %863 = load i32, ptr @test_count, align 4, !tbaa !5
  %864 = add nsw i32 %863, 1
  store i32 %864, ptr @test_count, align 4, !tbaa !5
  %865 = load ptr, ptr %13, align 8, !tbaa !9
  %866 = load ptr, ptr %9, align 8, !tbaa !9
  %867 = call i32 @s2n_test_enable_sending_extension(ptr noundef %865, ptr noundef %866)
  %868 = icmp eq i32 %867, -1
  br i1 %868, label %869, label %922

869:                                              ; preds = %862
  br label %870

870:                                              ; preds = %869
  br label %871

871:                                              ; preds = %870
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #9
  %872 = call ptr @__errno_location() #10
  %873 = load i32, ptr %872, align 4, !tbaa !5
  store i32 %873, ptr %19, align 4, !tbaa !5
  %874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %875 = call i32 @s2n_print_stacktrace(ptr noundef %874)
  %876 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %877 = trunc i8 %876 to i1
  br i1 %877, label %878, label %900

878:                                              ; preds = %871
  %879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %880 = call i32 @fileno(ptr noundef %879) #9
  %881 = call i32 @isatty(i32 noundef %880) #9
  %882 = icmp ne i32 %881, 0
  br i1 %882, label %883, label %900

883:                                              ; preds = %878
  %884 = load i32, ptr %19, align 4, !tbaa !5
  %885 = call ptr @__errno_location() #10
  store i32 %884, ptr %885, align 4, !tbaa !5
  %886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %887 = load i32, ptr @test_count, align 4, !tbaa !5
  %888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %889 = load i32, ptr %888, align 4, !tbaa !5
  %890 = call ptr @s2n_strerror(i32 noundef %889, ptr noundef @.str.3)
  %891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %892 = load i32, ptr %891, align 4, !tbaa !5
  %893 = call ptr @s2n_strerror_debug(i32 noundef %892, ptr noundef @.str.3)
  %894 = call ptr @__errno_location() #10
  %895 = load i32, ptr %894, align 4, !tbaa !5
  %896 = call ptr @strerror(i32 noundef %895) #9
  %897 = call ptr @__errno_location() #10
  %898 = load i32, ptr %897, align 4, !tbaa !5
  %899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %886, ptr noundef @.str, i32 noundef %887, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 56, ptr noundef %890, ptr noundef %893, ptr noundef %896, i32 noundef %898) #9
  br label %917

900:                                              ; preds = %878, %871
  %901 = load i32, ptr %19, align 4, !tbaa !5
  %902 = call ptr @__errno_location() #10
  store i32 %901, ptr %902, align 4, !tbaa !5
  %903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %904 = load i32, ptr @test_count, align 4, !tbaa !5
  %905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %906 = load i32, ptr %905, align 4, !tbaa !5
  %907 = call ptr @s2n_strerror(i32 noundef %906, ptr noundef @.str.3)
  %908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %909 = load i32, ptr %908, align 4, !tbaa !5
  %910 = call ptr @s2n_strerror_debug(i32 noundef %909, ptr noundef @.str.3)
  %911 = call ptr @__errno_location() #10
  %912 = load i32, ptr %911, align 4, !tbaa !5
  %913 = call ptr @strerror(i32 noundef %912) #9
  %914 = call ptr @__errno_location() #10
  %915 = load i32, ptr %914, align 4, !tbaa !5
  %916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %903, ptr noundef @.str.4, i32 noundef %904, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 56, ptr noundef %907, ptr noundef %910, ptr noundef %913, i32 noundef %915) #9
  br label %917

917:                                              ; preds = %900, %883
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #9
  br label %918

918:                                              ; preds = %917
  br label %919

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

920:                                              ; No predecessors!
  br label %921

921:                                              ; preds = %920
  br label %922

922:                                              ; preds = %921, %862
  br label %923

923:                                              ; preds = %922
  br label %924

924:                                              ; preds = %923
  %925 = load ptr, ptr %13, align 8, !tbaa !9
  %926 = getelementptr inbounds %struct.s2n_connection, ptr %925, i32 0, i32 13
  store i32 1, ptr %926, align 4, !tbaa !18
  br label %927

927:                                              ; preds = %924
  %928 = load i32, ptr @test_count, align 4, !tbaa !5
  %929 = add nsw i32 %928, 1
  store i32 %929, ptr @test_count, align 4, !tbaa !5
  %930 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_cert_status_extension, i32 0, i32 5), align 8, !tbaa !15
  %931 = load ptr, ptr %13, align 8, !tbaa !9
  %932 = call zeroext i1 %930(ptr noundef %931)
  br i1 %932, label %986, label %933

933:                                              ; preds = %927
  br label %934

934:                                              ; preds = %933
  br label %935

935:                                              ; preds = %934
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #9
  %936 = call ptr @__errno_location() #10
  %937 = load i32, ptr %936, align 4, !tbaa !5
  store i32 %937, ptr %20, align 4, !tbaa !5
  %938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %939 = call i32 @s2n_print_stacktrace(ptr noundef %938)
  %940 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %941 = trunc i8 %940 to i1
  br i1 %941, label %942, label %964

942:                                              ; preds = %935
  %943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %944 = call i32 @fileno(ptr noundef %943) #9
  %945 = call i32 @isatty(i32 noundef %944) #9
  %946 = icmp ne i32 %945, 0
  br i1 %946, label %947, label %964

947:                                              ; preds = %942
  %948 = load i32, ptr %20, align 4, !tbaa !5
  %949 = call ptr @__errno_location() #10
  store i32 %948, ptr %949, align 4, !tbaa !5
  %950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %951 = load i32, ptr @test_count, align 4, !tbaa !5
  %952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %953 = load i32, ptr %952, align 4, !tbaa !5
  %954 = call ptr @s2n_strerror(i32 noundef %953, ptr noundef @.str.3)
  %955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %956 = load i32, ptr %955, align 4, !tbaa !5
  %957 = call ptr @s2n_strerror_debug(i32 noundef %956, ptr noundef @.str.3)
  %958 = call ptr @__errno_location() #10
  %959 = load i32, ptr %958, align 4, !tbaa !5
  %960 = call ptr @strerror(i32 noundef %959) #9
  %961 = call ptr @__errno_location() #10
  %962 = load i32, ptr %961, align 4, !tbaa !5
  %963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %950, ptr noundef @.str, i32 noundef %951, ptr noundef @.str.17, ptr noundef @.str.2, i32 noundef 58, ptr noundef %954, ptr noundef %957, ptr noundef %960, i32 noundef %962) #9
  br label %981

964:                                              ; preds = %942, %935
  %965 = load i32, ptr %20, align 4, !tbaa !5
  %966 = call ptr @__errno_location() #10
  store i32 %965, ptr %966, 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 @.str.3)
  %972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %973 = load i32, ptr %972, align 4, !tbaa !5
  %974 = call ptr @s2n_strerror_debug(i32 noundef %973, ptr noundef @.str.3)
  %975 = call ptr @__errno_location() #10
  %976 = load i32, ptr %975, align 4, !tbaa !5
  %977 = call ptr @strerror(i32 noundef %976) #9
  %978 = call ptr @__errno_location() #10
  %979 = load i32, ptr %978, align 4, !tbaa !5
  %980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %967, ptr noundef @.str.4, i32 noundef %968, ptr noundef @.str.17, ptr noundef @.str.2, i32 noundef 58, ptr noundef %971, ptr noundef %974, ptr noundef %977, i32 noundef %979) #9
  br label %981

981:                                              ; preds = %964, %947
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #9
  br label %982

982:                                              ; preds = %981
  br label %983

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

984:                                              ; No predecessors!
  br label %985

985:                                              ; preds = %984
  br label %986

986:                                              ; preds = %985, %927
  br label %987

987:                                              ; preds = %986
  br label %988

988:                                              ; preds = %987
  br label %989

989:                                              ; preds = %988
  %990 = load i32, ptr @test_count, align 4, !tbaa !5
  %991 = add nsw i32 %990, 1
  store i32 %991, ptr @test_count, align 4, !tbaa !5
  %992 = load ptr, ptr %13, align 8, !tbaa !9
  %993 = load ptr, ptr %9, align 8, !tbaa !9
  %994 = call i32 @s2n_test_enable_sending_extension(ptr noundef %992, ptr noundef %993)
  %995 = icmp eq i32 %994, -1
  br i1 %995, label %996, label %1049

996:                                              ; preds = %989
  br label %997

997:                                              ; preds = %996
  br label %998

998:                                              ; preds = %997
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #9
  %999 = call ptr @__errno_location() #10
  %1000 = load i32, ptr %999, align 4, !tbaa !5
  store i32 %1000, ptr %21, align 4, !tbaa !5
  %1001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1002 = call i32 @s2n_print_stacktrace(ptr noundef %1001)
  %1003 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1004 = trunc i8 %1003 to i1
  br i1 %1004, label %1005, label %1027

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

1010:                                             ; preds = %1005
  %1011 = load i32, ptr %21, align 4, !tbaa !5
  %1012 = call ptr @__errno_location() #10
  store i32 %1011, ptr %1012, align 4, !tbaa !5
  %1013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1014 = load i32, ptr @test_count, align 4, !tbaa !5
  %1015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1016 = load i32, ptr %1015, align 4, !tbaa !5
  %1017 = call ptr @s2n_strerror(i32 noundef %1016, ptr noundef @.str.3)
  %1018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1019 = load i32, ptr %1018, align 4, !tbaa !5
  %1020 = call ptr @s2n_strerror_debug(i32 noundef %1019, ptr noundef @.str.3)
  %1021 = call ptr @__errno_location() #10
  %1022 = load i32, ptr %1021, align 4, !tbaa !5
  %1023 = call ptr @strerror(i32 noundef %1022) #9
  %1024 = call ptr @__errno_location() #10
  %1025 = load i32, ptr %1024, align 4, !tbaa !5
  %1026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1013, ptr noundef @.str, i32 noundef %1014, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 61, ptr noundef %1017, ptr noundef %1020, ptr noundef %1023, i32 noundef %1025) #9
  br label %1044

1027:                                             ; preds = %1005, %998
  %1028 = load i32, ptr %21, align 4, !tbaa !5
  %1029 = call ptr @__errno_location() #10
  store i32 %1028, ptr %1029, align 4, !tbaa !5
  %1030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1031 = load i32, ptr @test_count, align 4, !tbaa !5
  %1032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1033 = load i32, ptr %1032, align 4, !tbaa !5
  %1034 = call ptr @s2n_strerror(i32 noundef %1033, ptr noundef @.str.3)
  %1035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1036 = load i32, ptr %1035, align 4, !tbaa !5
  %1037 = call ptr @s2n_strerror_debug(i32 noundef %1036, ptr noundef @.str.3)
  %1038 = call ptr @__errno_location() #10
  %1039 = load i32, ptr %1038, align 4, !tbaa !5
  %1040 = call ptr @strerror(i32 noundef %1039) #9
  %1041 = call ptr @__errno_location() #10
  %1042 = load i32, ptr %1041, align 4, !tbaa !5
  %1043 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1030, ptr noundef @.str.4, i32 noundef %1031, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 61, ptr noundef %1034, ptr noundef %1037, ptr noundef %1040, i32 noundef %1042) #9
  br label %1044

1044:                                             ; preds = %1027, %1010
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #9
  br label %1045

1045:                                             ; preds = %1044
  br label %1046

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

1047:                                             ; No predecessors!
  br label %1048

1048:                                             ; preds = %1047
  br label %1049

1049:                                             ; preds = %1048, %989
  br label %1050

1050:                                             ; preds = %1049
  br label %1051

1051:                                             ; preds = %1050
  %1052 = load ptr, ptr %13, align 8, !tbaa !9
  %1053 = getelementptr inbounds %struct.s2n_connection, ptr %1052, i32 0, i32 13
  store i32 0, ptr %1053, align 4, !tbaa !18
  br label %1054

1054:                                             ; preds = %1051
  %1055 = load i32, ptr @test_count, align 4, !tbaa !5
  %1056 = add nsw i32 %1055, 1
  store i32 %1056, ptr @test_count, align 4, !tbaa !5
  %1057 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_cert_status_extension, i32 0, i32 5), align 8, !tbaa !15
  %1058 = load ptr, ptr %13, align 8, !tbaa !9
  %1059 = call zeroext i1 %1057(ptr noundef %1058)
  br i1 %1059, label %1113, label %1060

1060:                                             ; preds = %1054
  br label %1061

1061:                                             ; preds = %1060
  br label %1062

1062:                                             ; preds = %1061
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #9
  %1063 = call ptr @__errno_location() #10
  %1064 = load i32, ptr %1063, align 4, !tbaa !5
  store i32 %1064, ptr %22, align 4, !tbaa !5
  %1065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1066 = call i32 @s2n_print_stacktrace(ptr noundef %1065)
  %1067 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1068 = trunc i8 %1067 to i1
  br i1 %1068, label %1069, label %1091

1069:                                             ; preds = %1062
  %1070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1071 = call i32 @fileno(ptr noundef %1070) #9
  %1072 = call i32 @isatty(i32 noundef %1071) #9
  %1073 = icmp ne i32 %1072, 0
  br i1 %1073, label %1074, label %1091

1074:                                             ; preds = %1069
  %1075 = load i32, ptr %22, align 4, !tbaa !5
  %1076 = call ptr @__errno_location() #10
  store i32 %1075, ptr %1076, align 4, !tbaa !5
  %1077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1078 = load i32, ptr @test_count, align 4, !tbaa !5
  %1079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1080 = load i32, ptr %1079, align 4, !tbaa !5
  %1081 = call ptr @s2n_strerror(i32 noundef %1080, ptr noundef @.str.3)
  %1082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1083 = load i32, ptr %1082, align 4, !tbaa !5
  %1084 = call ptr @s2n_strerror_debug(i32 noundef %1083, ptr noundef @.str.3)
  %1085 = call ptr @__errno_location() #10
  %1086 = load i32, ptr %1085, align 4, !tbaa !5
  %1087 = call ptr @strerror(i32 noundef %1086) #9
  %1088 = call ptr @__errno_location() #10
  %1089 = load i32, ptr %1088, align 4, !tbaa !5
  %1090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1077, ptr noundef @.str, i32 noundef %1078, ptr noundef @.str.17, ptr noundef @.str.2, i32 noundef 63, ptr noundef %1081, ptr noundef %1084, ptr noundef %1087, i32 noundef %1089) #9
  br label %1108

1091:                                             ; preds = %1069, %1062
  %1092 = load i32, ptr %22, align 4, !tbaa !5
  %1093 = call ptr @__errno_location() #10
  store i32 %1092, ptr %1093, align 4, !tbaa !5
  %1094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1095 = load i32, ptr @test_count, align 4, !tbaa !5
  %1096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1097 = load i32, ptr %1096, align 4, !tbaa !5
  %1098 = call ptr @s2n_strerror(i32 noundef %1097, ptr noundef @.str.3)
  %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_debug(i32 noundef %1100, ptr noundef @.str.3)
  %1102 = call ptr @__errno_location() #10
  %1103 = load i32, ptr %1102, align 4, !tbaa !5
  %1104 = call ptr @strerror(i32 noundef %1103) #9
  %1105 = call ptr @__errno_location() #10
  %1106 = load i32, ptr %1105, align 4, !tbaa !5
  %1107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1094, ptr noundef @.str.4, i32 noundef %1095, ptr noundef @.str.17, ptr noundef @.str.2, i32 noundef 63, ptr noundef %1098, ptr noundef %1101, ptr noundef %1104, i32 noundef %1106) #9
  br label %1108

1108:                                             ; preds = %1091, %1074
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #9
  br label %1109

1109:                                             ; preds = %1108
  br label %1110

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

1111:                                             ; No predecessors!
  br label %1112

1112:                                             ; preds = %1111
  br label %1113

1113:                                             ; preds = %1112, %1054
  br label %1114

1114:                                             ; preds = %1113
  br label %1115

1115:                                             ; preds = %1114
  br label %1116

1116:                                             ; preds = %1115
  %1117 = load i32, ptr @test_count, align 4, !tbaa !5
  %1118 = add nsw i32 %1117, 1
  store i32 %1118, ptr @test_count, align 4, !tbaa !5
  %1119 = load ptr, ptr %13, align 8, !tbaa !9
  %1120 = load ptr, ptr %9, align 8, !tbaa !9
  %1121 = call i32 @s2n_test_enable_sending_extension(ptr noundef %1119, ptr noundef %1120)
  %1122 = icmp eq i32 %1121, -1
  br i1 %1122, label %1123, label %1176

1123:                                             ; preds = %1116
  br label %1124

1124:                                             ; preds = %1123
  br label %1125

1125:                                             ; preds = %1124
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #9
  %1126 = call ptr @__errno_location() #10
  %1127 = load i32, ptr %1126, align 4, !tbaa !5
  store i32 %1127, ptr %23, align 4, !tbaa !5
  %1128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1129 = call i32 @s2n_print_stacktrace(ptr noundef %1128)
  %1130 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1131 = trunc i8 %1130 to i1
  br i1 %1131, label %1132, label %1154

1132:                                             ; preds = %1125
  %1133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1134 = call i32 @fileno(ptr noundef %1133) #9
  %1135 = call i32 @isatty(i32 noundef %1134) #9
  %1136 = icmp ne i32 %1135, 0
  br i1 %1136, label %1137, label %1154

1137:                                             ; preds = %1132
  %1138 = load i32, ptr %23, align 4, !tbaa !5
  %1139 = call ptr @__errno_location() #10
  store i32 %1138, ptr %1139, align 4, !tbaa !5
  %1140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1141 = load i32, ptr @test_count, align 4, !tbaa !5
  %1142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1143 = load i32, ptr %1142, align 4, !tbaa !5
  %1144 = call ptr @s2n_strerror(i32 noundef %1143, ptr noundef @.str.3)
  %1145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1146 = load i32, ptr %1145, align 4, !tbaa !5
  %1147 = call ptr @s2n_strerror_debug(i32 noundef %1146, ptr noundef @.str.3)
  %1148 = call ptr @__errno_location() #10
  %1149 = load i32, ptr %1148, align 4, !tbaa !5
  %1150 = call ptr @strerror(i32 noundef %1149) #9
  %1151 = call ptr @__errno_location() #10
  %1152 = load i32, ptr %1151, align 4, !tbaa !5
  %1153 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1140, ptr noundef @.str, i32 noundef %1141, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 66, ptr noundef %1144, ptr noundef %1147, ptr noundef %1150, i32 noundef %1152) #9
  br label %1171

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

1171:                                             ; preds = %1154, %1137
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #9
  br label %1172

1172:                                             ; preds = %1171
  br label %1173

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

1174:                                             ; No predecessors!
  br label %1175

1175:                                             ; preds = %1174
  br label %1176

1176:                                             ; preds = %1175, %1116
  br label %1177

1177:                                             ; preds = %1176
  br label %1178

1178:                                             ; preds = %1177
  %1179 = load ptr, ptr %13, align 8, !tbaa !9
  %1180 = getelementptr inbounds %struct.s2n_connection, ptr %1179, i32 0, i32 32
  %1181 = getelementptr inbounds %struct.s2n_handshake_parameters, ptr %1180, i32 0, i32 7
  store ptr null, ptr %1181, align 8, !tbaa !44
  br label %1182

1182:                                             ; preds = %1178
  %1183 = load i32, ptr @test_count, align 4, !tbaa !5
  %1184 = add nsw i32 %1183, 1
  store i32 %1184, ptr @test_count, align 4, !tbaa !5
  %1185 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_cert_status_extension, i32 0, i32 5), align 8, !tbaa !15
  %1186 = load ptr, ptr %13, align 8, !tbaa !9
  %1187 = call zeroext i1 %1185(ptr noundef %1186)
  br i1 %1187, label %1188, label %1241

1188:                                             ; preds = %1182
  br label %1189

1189:                                             ; preds = %1188
  br label %1190

1190:                                             ; preds = %1189
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #9
  %1191 = call ptr @__errno_location() #10
  %1192 = load i32, ptr %1191, align 4, !tbaa !5
  store i32 %1192, ptr %24, align 4, !tbaa !5
  %1193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1194 = call i32 @s2n_print_stacktrace(ptr noundef %1193)
  %1195 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1196 = trunc i8 %1195 to i1
  br i1 %1196, label %1197, label %1219

1197:                                             ; preds = %1190
  %1198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1199 = call i32 @fileno(ptr noundef %1198) #9
  %1200 = call i32 @isatty(i32 noundef %1199) #9
  %1201 = icmp ne i32 %1200, 0
  br i1 %1201, label %1202, label %1219

1202:                                             ; preds = %1197
  %1203 = load i32, ptr %24, align 4, !tbaa !5
  %1204 = call ptr @__errno_location() #10
  store i32 %1203, ptr %1204, align 4, !tbaa !5
  %1205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1206 = load i32, ptr @test_count, align 4, !tbaa !5
  %1207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1208 = load i32, ptr %1207, align 4, !tbaa !5
  %1209 = call ptr @s2n_strerror(i32 noundef %1208, ptr noundef @.str.3)
  %1210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1211 = load i32, ptr %1210, align 4, !tbaa !5
  %1212 = call ptr @s2n_strerror_debug(i32 noundef %1211, ptr noundef @.str.3)
  %1213 = call ptr @__errno_location() #10
  %1214 = load i32, ptr %1213, align 4, !tbaa !5
  %1215 = call ptr @strerror(i32 noundef %1214) #9
  %1216 = call ptr @__errno_location() #10
  %1217 = load i32, ptr %1216, align 4, !tbaa !5
  %1218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1205, ptr noundef @.str, i32 noundef %1206, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 68, ptr noundef %1209, ptr noundef %1212, ptr noundef %1215, i32 noundef %1217) #9
  br label %1236

1219:                                             ; preds = %1197, %1190
  %1220 = load i32, ptr %24, align 4, !tbaa !5
  %1221 = call ptr @__errno_location() #10
  store i32 %1220, ptr %1221, align 4, !tbaa !5
  %1222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1223 = load i32, ptr @test_count, align 4, !tbaa !5
  %1224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1225 = load i32, ptr %1224, align 4, !tbaa !5
  %1226 = call ptr @s2n_strerror(i32 noundef %1225, ptr noundef @.str.3)
  %1227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1228 = load i32, ptr %1227, align 4, !tbaa !5
  %1229 = call ptr @s2n_strerror_debug(i32 noundef %1228, ptr noundef @.str.3)
  %1230 = call ptr @__errno_location() #10
  %1231 = load i32, ptr %1230, align 4, !tbaa !5
  %1232 = call ptr @strerror(i32 noundef %1231) #9
  %1233 = call ptr @__errno_location() #10
  %1234 = load i32, ptr %1233, align 4, !tbaa !5
  %1235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1222, ptr noundef @.str.4, i32 noundef %1223, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 68, ptr noundef %1226, ptr noundef %1229, ptr noundef %1232, i32 noundef %1234) #9
  br label %1236

1236:                                             ; preds = %1219, %1202
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #9
  br label %1237

1237:                                             ; preds = %1236
  br label %1238

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

1239:                                             ; No predecessors!
  br label %1240

1240:                                             ; preds = %1239
  br label %1241

1241:                                             ; preds = %1240, %1182
  br label %1242

1242:                                             ; preds = %1241
  br label %1243

1243:                                             ; preds = %1242
  br label %1244

1244:                                             ; preds = %1243
  %1245 = load i32, ptr @test_count, align 4, !tbaa !5
  %1246 = add nsw i32 %1245, 1
  store i32 %1246, ptr @test_count, align 4, !tbaa !5
  %1247 = load ptr, ptr %13, align 8, !tbaa !9
  %1248 = load ptr, ptr %9, align 8, !tbaa !9
  %1249 = call i32 @s2n_test_enable_sending_extension(ptr noundef %1247, ptr noundef %1248)
  %1250 = icmp eq i32 %1249, -1
  br i1 %1250, label %1251, label %1304

1251:                                             ; preds = %1244
  br label %1252

1252:                                             ; preds = %1251
  br label %1253

1253:                                             ; preds = %1252
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #9
  %1254 = call ptr @__errno_location() #10
  %1255 = load i32, ptr %1254, align 4, !tbaa !5
  store i32 %1255, ptr %25, align 4, !tbaa !5
  %1256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1257 = call i32 @s2n_print_stacktrace(ptr noundef %1256)
  %1258 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1259 = trunc i8 %1258 to i1
  br i1 %1259, label %1260, label %1282

1260:                                             ; preds = %1253
  %1261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1262 = call i32 @fileno(ptr noundef %1261) #9
  %1263 = call i32 @isatty(i32 noundef %1262) #9
  %1264 = icmp ne i32 %1263, 0
  br i1 %1264, label %1265, label %1282

1265:                                             ; preds = %1260
  %1266 = load i32, ptr %25, align 4, !tbaa !5
  %1267 = call ptr @__errno_location() #10
  store i32 %1266, ptr %1267, align 4, !tbaa !5
  %1268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1269 = load i32, ptr @test_count, align 4, !tbaa !5
  %1270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1271 = load i32, ptr %1270, align 4, !tbaa !5
  %1272 = call ptr @s2n_strerror(i32 noundef %1271, ptr noundef @.str.3)
  %1273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1274 = load i32, ptr %1273, align 4, !tbaa !5
  %1275 = call ptr @s2n_strerror_debug(i32 noundef %1274, ptr noundef @.str.3)
  %1276 = call ptr @__errno_location() #10
  %1277 = load i32, ptr %1276, align 4, !tbaa !5
  %1278 = call ptr @strerror(i32 noundef %1277) #9
  %1279 = call ptr @__errno_location() #10
  %1280 = load i32, ptr %1279, align 4, !tbaa !5
  %1281 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1268, ptr noundef @.str, i32 noundef %1269, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 71, ptr noundef %1272, ptr noundef %1275, ptr noundef %1278, i32 noundef %1280) #9
  br label %1299

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

1299:                                             ; preds = %1282, %1265
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #9
  br label %1300

1300:                                             ; preds = %1299
  br label %1301

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

1302:                                             ; No predecessors!
  br label %1303

1303:                                             ; preds = %1302
  br label %1304

1304:                                             ; preds = %1303, %1244
  br label %1305

1305:                                             ; preds = %1304
  br label %1306

1306:                                             ; preds = %1305
  br label %1307

1307:                                             ; preds = %1306
  %1308 = load i32, ptr @test_count, align 4, !tbaa !5
  %1309 = add nsw i32 %1308, 1
  store i32 %1309, ptr @test_count, align 4, !tbaa !5
  %1310 = load ptr, ptr %13, align 8, !tbaa !9
  %1311 = getelementptr inbounds %struct.s2n_connection, ptr %1310, i32 0, i32 32
  %1312 = getelementptr inbounds %struct.s2n_handshake_parameters, ptr %1311, i32 0, i32 7
  %1313 = load ptr, ptr %1312, align 8, !tbaa !44
  %1314 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %1313, i32 0, i32 2
  %1315 = call i32 @s2n_free(ptr noundef %1314)
  %1316 = icmp eq i32 %1315, -1
  br i1 %1316, label %1317, label %1370

1317:                                             ; preds = %1307
  br label %1318

1318:                                             ; preds = %1317
  br label %1319

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

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

1331:                                             ; preds = %1326
  %1332 = load i32, ptr %26, align 4, !tbaa !5
  %1333 = call ptr @__errno_location() #10
  store i32 %1332, ptr %1333, align 4, !tbaa !5
  %1334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1335 = load i32, ptr @test_count, align 4, !tbaa !5
  %1336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1337 = load i32, ptr %1336, align 4, !tbaa !5
  %1338 = call ptr @s2n_strerror(i32 noundef %1337, ptr noundef @.str.3)
  %1339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1340 = load i32, ptr %1339, align 4, !tbaa !5
  %1341 = call ptr @s2n_strerror_debug(i32 noundef %1340, ptr noundef @.str.3)
  %1342 = call ptr @__errno_location() #10
  %1343 = load i32, ptr %1342, align 4, !tbaa !5
  %1344 = call ptr @strerror(i32 noundef %1343) #9
  %1345 = call ptr @__errno_location() #10
  %1346 = load i32, ptr %1345, align 4, !tbaa !5
  %1347 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1334, ptr noundef @.str, i32 noundef %1335, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 72, ptr noundef %1338, ptr noundef %1341, ptr noundef %1344, i32 noundef %1346) #9
  br label %1365

1348:                                             ; preds = %1326, %1319
  %1349 = load i32, ptr %26, align 4, !tbaa !5
  %1350 = call ptr @__errno_location() #10
  store i32 %1349, ptr %1350, align 4, !tbaa !5
  %1351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1352 = load i32, ptr @test_count, align 4, !tbaa !5
  %1353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1354 = load i32, ptr %1353, align 4, !tbaa !5
  %1355 = call ptr @s2n_strerror(i32 noundef %1354, ptr noundef @.str.3)
  %1356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1357 = load i32, ptr %1356, align 4, !tbaa !5
  %1358 = call ptr @s2n_strerror_debug(i32 noundef %1357, ptr noundef @.str.3)
  %1359 = call ptr @__errno_location() #10
  %1360 = load i32, ptr %1359, align 4, !tbaa !5
  %1361 = call ptr @strerror(i32 noundef %1360) #9
  %1362 = call ptr @__errno_location() #10
  %1363 = load i32, ptr %1362, align 4, !tbaa !5
  %1364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1351, ptr noundef @.str.4, i32 noundef %1352, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 72, ptr noundef %1355, ptr noundef %1358, ptr noundef %1361, i32 noundef %1363) #9
  br label %1365

1365:                                             ; preds = %1348, %1331
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #9
  br label %1366

1366:                                             ; preds = %1365
  br label %1367

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

1368:                                             ; No predecessors!
  br label %1369

1369:                                             ; preds = %1368
  br label %1370

1370:                                             ; preds = %1369, %1307
  br label %1371

1371:                                             ; preds = %1370
  br label %1372

1372:                                             ; preds = %1371
  br label %1373

1373:                                             ; preds = %1372
  %1374 = load i32, ptr @test_count, align 4, !tbaa !5
  %1375 = add nsw i32 %1374, 1
  store i32 %1375, ptr @test_count, align 4, !tbaa !5
  %1376 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_cert_status_extension, i32 0, i32 5), align 8, !tbaa !15
  %1377 = load ptr, ptr %13, align 8, !tbaa !9
  %1378 = call zeroext i1 %1376(ptr noundef %1377)
  br i1 %1378, label %1379, label %1432

1379:                                             ; preds = %1373
  br label %1380

1380:                                             ; preds = %1379
  br label %1381

1381:                                             ; preds = %1380
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #9
  %1382 = call ptr @__errno_location() #10
  %1383 = load i32, ptr %1382, align 4, !tbaa !5
  store i32 %1383, ptr %27, align 4, !tbaa !5
  %1384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1385 = call i32 @s2n_print_stacktrace(ptr noundef %1384)
  %1386 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1387 = trunc i8 %1386 to i1
  br i1 %1387, label %1388, label %1410

1388:                                             ; preds = %1381
  %1389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1390 = call i32 @fileno(ptr noundef %1389) #9
  %1391 = call i32 @isatty(i32 noundef %1390) #9
  %1392 = icmp ne i32 %1391, 0
  br i1 %1392, label %1393, label %1410

1393:                                             ; preds = %1388
  %1394 = load i32, ptr %27, align 4, !tbaa !5
  %1395 = call ptr @__errno_location() #10
  store i32 %1394, ptr %1395, align 4, !tbaa !5
  %1396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1397 = load i32, ptr @test_count, align 4, !tbaa !5
  %1398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1399 = load i32, ptr %1398, align 4, !tbaa !5
  %1400 = call ptr @s2n_strerror(i32 noundef %1399, ptr noundef @.str.3)
  %1401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1402 = load i32, ptr %1401, align 4, !tbaa !5
  %1403 = call ptr @s2n_strerror_debug(i32 noundef %1402, ptr noundef @.str.3)
  %1404 = call ptr @__errno_location() #10
  %1405 = load i32, ptr %1404, align 4, !tbaa !5
  %1406 = call ptr @strerror(i32 noundef %1405) #9
  %1407 = call ptr @__errno_location() #10
  %1408 = load i32, ptr %1407, align 4, !tbaa !5
  %1409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1396, ptr noundef @.str, i32 noundef %1397, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 73, ptr noundef %1400, ptr noundef %1403, ptr noundef %1406, i32 noundef %1408) #9
  br label %1427

1410:                                             ; preds = %1388, %1381
  %1411 = load i32, ptr %27, align 4, !tbaa !5
  %1412 = call ptr @__errno_location() #10
  store i32 %1411, ptr %1412, align 4, !tbaa !5
  %1413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1414 = load i32, ptr @test_count, align 4, !tbaa !5
  %1415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1416 = load i32, ptr %1415, align 4, !tbaa !5
  %1417 = call ptr @s2n_strerror(i32 noundef %1416, ptr noundef @.str.3)
  %1418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1419 = load i32, ptr %1418, align 4, !tbaa !5
  %1420 = call ptr @s2n_strerror_debug(i32 noundef %1419, ptr noundef @.str.3)
  %1421 = call ptr @__errno_location() #10
  %1422 = load i32, ptr %1421, align 4, !tbaa !5
  %1423 = call ptr @strerror(i32 noundef %1422) #9
  %1424 = call ptr @__errno_location() #10
  %1425 = load i32, ptr %1424, align 4, !tbaa !5
  %1426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1413, ptr noundef @.str.4, i32 noundef %1414, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 73, ptr noundef %1417, ptr noundef %1420, ptr noundef %1423, i32 noundef %1425) #9
  br label %1427

1427:                                             ; preds = %1410, %1393
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #9
  br label %1428

1428:                                             ; preds = %1427
  br label %1429

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

1430:                                             ; No predecessors!
  br label %1431

1431:                                             ; preds = %1430
  br label %1432

1432:                                             ; preds = %1431, %1373
  br label %1433

1433:                                             ; preds = %1432
  br label %1434

1434:                                             ; preds = %1433
  br label %1435

1435:                                             ; preds = %1434
  %1436 = load i32, ptr @test_count, align 4, !tbaa !5
  %1437 = add nsw i32 %1436, 1
  store i32 %1437, ptr @test_count, align 4, !tbaa !5
  %1438 = load ptr, ptr %13, align 8, !tbaa !9
  %1439 = call i32 @s2n_connection_free(ptr noundef %1438)
  %1440 = icmp eq i32 %1439, -1
  br i1 %1440, label %1441, label %1494

1441:                                             ; preds = %1435
  br label %1442

1442:                                             ; preds = %1441
  br label %1443

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

1450:                                             ; preds = %1443
  %1451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1452 = call i32 @fileno(ptr noundef %1451) #9
  %1453 = call i32 @isatty(i32 noundef %1452) #9
  %1454 = icmp ne i32 %1453, 0
  br i1 %1454, label %1455, label %1472

1455:                                             ; preds = %1450
  %1456 = load i32, ptr %28, align 4, !tbaa !5
  %1457 = call ptr @__errno_location() #10
  store i32 %1456, ptr %1457, align 4, !tbaa !5
  %1458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1459 = load i32, ptr @test_count, align 4, !tbaa !5
  %1460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1461 = load i32, ptr %1460, align 4, !tbaa !5
  %1462 = call ptr @s2n_strerror(i32 noundef %1461, ptr noundef @.str.3)
  %1463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1464 = load i32, ptr %1463, align 4, !tbaa !5
  %1465 = call ptr @s2n_strerror_debug(i32 noundef %1464, ptr noundef @.str.3)
  %1466 = call ptr @__errno_location() #10
  %1467 = load i32, ptr %1466, align 4, !tbaa !5
  %1468 = call ptr @strerror(i32 noundef %1467) #9
  %1469 = call ptr @__errno_location() #10
  %1470 = load i32, ptr %1469, align 4, !tbaa !5
  %1471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1458, ptr noundef @.str, i32 noundef %1459, ptr noundef @.str.19, ptr noundef @.str.2, i32 noundef 75, ptr noundef %1462, ptr noundef %1465, ptr noundef %1468, i32 noundef %1470) #9
  br label %1489

1472:                                             ; preds = %1450, %1443
  %1473 = load i32, ptr %28, align 4, !tbaa !5
  %1474 = call ptr @__errno_location() #10
  store i32 %1473, ptr %1474, align 4, !tbaa !5
  %1475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1476 = load i32, ptr @test_count, align 4, !tbaa !5
  %1477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1478 = load i32, ptr %1477, align 4, !tbaa !5
  %1479 = call ptr @s2n_strerror(i32 noundef %1478, ptr noundef @.str.3)
  %1480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1481 = load i32, ptr %1480, align 4, !tbaa !5
  %1482 = call ptr @s2n_strerror_debug(i32 noundef %1481, ptr noundef @.str.3)
  %1483 = call ptr @__errno_location() #10
  %1484 = load i32, ptr %1483, align 4, !tbaa !5
  %1485 = call ptr @strerror(i32 noundef %1484) #9
  %1486 = call ptr @__errno_location() #10
  %1487 = load i32, ptr %1486, align 4, !tbaa !5
  %1488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1475, ptr noundef @.str.4, i32 noundef %1476, ptr noundef @.str.19, ptr noundef @.str.2, i32 noundef 75, ptr noundef %1479, ptr noundef %1482, ptr noundef %1485, i32 noundef %1487) #9
  br label %1489

1489:                                             ; preds = %1472, %1455
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #9
  br label %1490

1490:                                             ; preds = %1489
  br label %1491

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

1492:                                             ; No predecessors!
  br label %1493

1493:                                             ; preds = %1492
  br label %1494

1494:                                             ; preds = %1493, %1435
  br label %1495

1495:                                             ; preds = %1494
  br label %1496

1496:                                             ; preds = %1495
  br label %1497

1497:                                             ; preds = %1496
  %1498 = load i32, ptr @test_count, align 4, !tbaa !5
  %1499 = add nsw i32 %1498, 1
  store i32 %1499, ptr @test_count, align 4, !tbaa !5
  %1500 = load ptr, ptr %11, align 8, !tbaa !9
  %1501 = call i32 @s2n_config_free(ptr noundef %1500)
  %1502 = icmp eq i32 %1501, -1
  br i1 %1502, label %1503, label %1556

1503:                                             ; preds = %1497
  br label %1504

1504:                                             ; preds = %1503
  br label %1505

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

1512:                                             ; preds = %1505
  %1513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1514 = call i32 @fileno(ptr noundef %1513) #9
  %1515 = call i32 @isatty(i32 noundef %1514) #9
  %1516 = icmp ne i32 %1515, 0
  br i1 %1516, label %1517, label %1534

1517:                                             ; preds = %1512
  %1518 = load i32, ptr %29, align 4, !tbaa !5
  %1519 = call ptr @__errno_location() #10
  store i32 %1518, ptr %1519, align 4, !tbaa !5
  %1520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1521 = load i32, ptr @test_count, align 4, !tbaa !5
  %1522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1523 = load i32, ptr %1522, align 4, !tbaa !5
  %1524 = call ptr @s2n_strerror(i32 noundef %1523, ptr noundef @.str.3)
  %1525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1526 = load i32, ptr %1525, align 4, !tbaa !5
  %1527 = call ptr @s2n_strerror_debug(i32 noundef %1526, ptr noundef @.str.3)
  %1528 = call ptr @__errno_location() #10
  %1529 = load i32, ptr %1528, align 4, !tbaa !5
  %1530 = call ptr @strerror(i32 noundef %1529) #9
  %1531 = call ptr @__errno_location() #10
  %1532 = load i32, ptr %1531, align 4, !tbaa !5
  %1533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1520, ptr noundef @.str, i32 noundef %1521, ptr noundef @.str.20, ptr noundef @.str.2, i32 noundef 76, ptr noundef %1524, ptr noundef %1527, ptr noundef %1530, i32 noundef %1532) #9
  br label %1551

1534:                                             ; preds = %1512, %1505
  %1535 = load i32, ptr %29, align 4, !tbaa !5
  %1536 = call ptr @__errno_location() #10
  store i32 %1535, ptr %1536, align 4, !tbaa !5
  %1537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1538 = load i32, ptr @test_count, align 4, !tbaa !5
  %1539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1540 = load i32, ptr %1539, align 4, !tbaa !5
  %1541 = call ptr @s2n_strerror(i32 noundef %1540, ptr noundef @.str.3)
  %1542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1543 = load i32, ptr %1542, align 4, !tbaa !5
  %1544 = call ptr @s2n_strerror_debug(i32 noundef %1543, ptr noundef @.str.3)
  %1545 = call ptr @__errno_location() #10
  %1546 = load i32, ptr %1545, align 4, !tbaa !5
  %1547 = call ptr @strerror(i32 noundef %1546) #9
  %1548 = call ptr @__errno_location() #10
  %1549 = load i32, ptr %1548, align 4, !tbaa !5
  %1550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1537, ptr noundef @.str.4, i32 noundef %1538, ptr noundef @.str.20, ptr noundef @.str.2, i32 noundef 76, ptr noundef %1541, ptr noundef %1544, ptr noundef %1547, i32 noundef %1549) #9
  br label %1551

1551:                                             ; preds = %1534, %1517
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #9
  br label %1552

1552:                                             ; preds = %1551
  br label %1553

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

1554:                                             ; No predecessors!
  br label %1555

1555:                                             ; preds = %1554
  br label %1556

1556:                                             ; preds = %1555, %1497
  br label %1557

1557:                                             ; preds = %1556
  br label %1558

1558:                                             ; preds = %1557
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #9
  store ptr null, ptr %30, align 8, !tbaa !9
  br label %1559

1559:                                             ; preds = %1558
  %1560 = load i32, ptr @test_count, align 4, !tbaa !5
  %1561 = add nsw i32 %1560, 1
  store i32 %1561, ptr @test_count, align 4, !tbaa !5
  %1562 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %1562, ptr %30, align 8, !tbaa !9
  %1563 = icmp eq ptr %1562, null
  br i1 %1563, label %1564, label %1617

1564:                                             ; preds = %1559
  br label %1565

1565:                                             ; preds = %1564
  br label %1566

1566:                                             ; preds = %1565
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #9
  %1567 = call ptr @__errno_location() #10
  %1568 = load i32, ptr %1567, align 4, !tbaa !5
  store i32 %1568, ptr %31, align 4, !tbaa !5
  %1569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1570 = call i32 @s2n_print_stacktrace(ptr noundef %1569)
  %1571 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1572 = trunc i8 %1571 to i1
  br i1 %1572, label %1573, label %1595

1573:                                             ; preds = %1566
  %1574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1575 = call i32 @fileno(ptr noundef %1574) #9
  %1576 = call i32 @isatty(i32 noundef %1575) #9
  %1577 = icmp ne i32 %1576, 0
  br i1 %1577, label %1578, label %1595

1578:                                             ; preds = %1573
  %1579 = load i32, ptr %31, align 4, !tbaa !5
  %1580 = call ptr @__errno_location() #10
  store i32 %1579, ptr %1580, align 4, !tbaa !5
  %1581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1582 = load i32, ptr @test_count, align 4, !tbaa !5
  %1583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1584 = load i32, ptr %1583, align 4, !tbaa !5
  %1585 = call ptr @s2n_strerror(i32 noundef %1584, ptr noundef @.str.3)
  %1586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1587 = load i32, ptr %1586, align 4, !tbaa !5
  %1588 = call ptr @s2n_strerror_debug(i32 noundef %1587, ptr noundef @.str.3)
  %1589 = call ptr @__errno_location() #10
  %1590 = load i32, ptr %1589, align 4, !tbaa !5
  %1591 = call ptr @strerror(i32 noundef %1590) #9
  %1592 = call ptr @__errno_location() #10
  %1593 = load i32, ptr %1592, align 4, !tbaa !5
  %1594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1581, ptr noundef @.str, i32 noundef %1582, ptr noundef @.str.21, ptr noundef @.str.2, i32 noundef 82, ptr noundef %1585, ptr noundef %1588, ptr noundef %1591, i32 noundef %1593) #9
  br label %1612

1595:                                             ; preds = %1573, %1566
  %1596 = load i32, ptr %31, align 4, !tbaa !5
  %1597 = call ptr @__errno_location() #10
  store i32 %1596, ptr %1597, align 4, !tbaa !5
  %1598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1599 = load i32, ptr @test_count, align 4, !tbaa !5
  %1600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1601 = load i32, ptr %1600, align 4, !tbaa !5
  %1602 = call ptr @s2n_strerror(i32 noundef %1601, ptr noundef @.str.3)
  %1603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1604 = load i32, ptr %1603, align 4, !tbaa !5
  %1605 = call ptr @s2n_strerror_debug(i32 noundef %1604, ptr noundef @.str.3)
  %1606 = call ptr @__errno_location() #10
  %1607 = load i32, ptr %1606, align 4, !tbaa !5
  %1608 = call ptr @strerror(i32 noundef %1607) #9
  %1609 = call ptr @__errno_location() #10
  %1610 = load i32, ptr %1609, align 4, !tbaa !5
  %1611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1598, ptr noundef @.str.4, i32 noundef %1599, ptr noundef @.str.21, ptr noundef @.str.2, i32 noundef 82, ptr noundef %1602, ptr noundef %1605, ptr noundef %1608, i32 noundef %1610) #9
  br label %1612

1612:                                             ; preds = %1595, %1578
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #9
  br label %1613

1613:                                             ; preds = %1612
  br label %1614

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

1615:                                             ; No predecessors!
  br label %1616

1616:                                             ; preds = %1615
  br label %1617

1617:                                             ; preds = %1616, %1559
  br label %1618

1618:                                             ; preds = %1617
  br label %1619

1619:                                             ; preds = %1618
  br label %1620

1620:                                             ; preds = %1619
  %1621 = load i32, ptr @test_count, align 4, !tbaa !5
  %1622 = add nsw i32 %1621, 1
  store i32 %1622, ptr @test_count, align 4, !tbaa !5
  %1623 = load ptr, ptr %30, align 8, !tbaa !9
  %1624 = load ptr, ptr %9, align 8, !tbaa !9
  %1625 = call i32 @s2n_test_enable_sending_extension(ptr noundef %1623, ptr noundef %1624)
  %1626 = icmp eq i32 %1625, -1
  br i1 %1626, label %1627, label %1680

1627:                                             ; preds = %1620
  br label %1628

1628:                                             ; preds = %1627
  br label %1629

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

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

1641:                                             ; preds = %1636
  %1642 = load i32, ptr %32, align 4, !tbaa !5
  %1643 = call ptr @__errno_location() #10
  store i32 %1642, ptr %1643, align 4, !tbaa !5
  %1644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1645 = load i32, ptr @test_count, align 4, !tbaa !5
  %1646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1647 = load i32, ptr %1646, align 4, !tbaa !5
  %1648 = call ptr @s2n_strerror(i32 noundef %1647, ptr noundef @.str.3)
  %1649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1650 = load i32, ptr %1649, align 4, !tbaa !5
  %1651 = call ptr @s2n_strerror_debug(i32 noundef %1650, ptr noundef @.str.3)
  %1652 = call ptr @__errno_location() #10
  %1653 = load i32, ptr %1652, align 4, !tbaa !5
  %1654 = call ptr @strerror(i32 noundef %1653) #9
  %1655 = call ptr @__errno_location() #10
  %1656 = load i32, ptr %1655, align 4, !tbaa !5
  %1657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1644, ptr noundef @.str, i32 noundef %1645, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 83, ptr noundef %1648, ptr noundef %1651, ptr noundef %1654, i32 noundef %1656) #9
  br label %1675

1658:                                             ; preds = %1636, %1629
  %1659 = load i32, ptr %32, align 4, !tbaa !5
  %1660 = call ptr @__errno_location() #10
  store i32 %1659, ptr %1660, align 4, !tbaa !5
  %1661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1662 = load i32, ptr @test_count, align 4, !tbaa !5
  %1663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1664 = load i32, ptr %1663, align 4, !tbaa !5
  %1665 = call ptr @s2n_strerror(i32 noundef %1664, ptr noundef @.str.3)
  %1666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1667 = load i32, ptr %1666, align 4, !tbaa !5
  %1668 = call ptr @s2n_strerror_debug(i32 noundef %1667, ptr noundef @.str.3)
  %1669 = call ptr @__errno_location() #10
  %1670 = load i32, ptr %1669, align 4, !tbaa !5
  %1671 = call ptr @strerror(i32 noundef %1670) #9
  %1672 = call ptr @__errno_location() #10
  %1673 = load i32, ptr %1672, align 4, !tbaa !5
  %1674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1661, ptr noundef @.str.4, i32 noundef %1662, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 83, ptr noundef %1665, ptr noundef %1668, ptr noundef %1671, i32 noundef %1673) #9
  br label %1675

1675:                                             ; preds = %1658, %1641
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #9
  br label %1676

1676:                                             ; preds = %1675
  br label %1677

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

1678:                                             ; No predecessors!
  br label %1679

1679:                                             ; preds = %1678
  br label %1680

1680:                                             ; preds = %1679, %1620
  br label %1681

1681:                                             ; preds = %1680
  br label %1682

1682:                                             ; preds = %1681
  call void @llvm.lifetime.start.p0(i64 40, ptr %33) #9
  call void @llvm.memset.p0.i64(ptr align 8 %33, i8 0, i64 40, i1 false)
  br label %1683

1683:                                             ; preds = %1682
  %1684 = load i32, ptr @test_count, align 4, !tbaa !5
  %1685 = add nsw i32 %1684, 1
  store i32 %1685, ptr @test_count, align 4, !tbaa !5
  %1686 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %33, i32 noundef 0)
  %1687 = icmp eq i32 %1686, -1
  br i1 %1687, label %1688, label %1741

1688:                                             ; preds = %1683
  br label %1689

1689:                                             ; preds = %1688
  br label %1690

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

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

1702:                                             ; preds = %1697
  %1703 = load i32, ptr %34, align 4, !tbaa !5
  %1704 = call ptr @__errno_location() #10
  store i32 %1703, ptr %1704, align 4, !tbaa !5
  %1705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1706 = load i32, ptr @test_count, align 4, !tbaa !5
  %1707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1708 = load i32, ptr %1707, align 4, !tbaa !5
  %1709 = call ptr @s2n_strerror(i32 noundef %1708, ptr noundef @.str.3)
  %1710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1711 = load i32, ptr %1710, align 4, !tbaa !5
  %1712 = call ptr @s2n_strerror_debug(i32 noundef %1711, ptr noundef @.str.3)
  %1713 = call ptr @__errno_location() #10
  %1714 = load i32, ptr %1713, align 4, !tbaa !5
  %1715 = call ptr @strerror(i32 noundef %1714) #9
  %1716 = call ptr @__errno_location() #10
  %1717 = load i32, ptr %1716, align 4, !tbaa !5
  %1718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1705, ptr noundef @.str, i32 noundef %1706, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 86, ptr noundef %1709, ptr noundef %1712, ptr noundef %1715, i32 noundef %1717) #9
  br label %1736

1719:                                             ; preds = %1697, %1690
  %1720 = load i32, ptr %34, align 4, !tbaa !5
  %1721 = call ptr @__errno_location() #10
  store i32 %1720, ptr %1721, align 4, !tbaa !5
  %1722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1723 = load i32, ptr @test_count, align 4, !tbaa !5
  %1724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1725 = load i32, ptr %1724, align 4, !tbaa !5
  %1726 = call ptr @s2n_strerror(i32 noundef %1725, ptr noundef @.str.3)
  %1727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1728 = load i32, ptr %1727, align 4, !tbaa !5
  %1729 = call ptr @s2n_strerror_debug(i32 noundef %1728, ptr noundef @.str.3)
  %1730 = call ptr @__errno_location() #10
  %1731 = load i32, ptr %1730, align 4, !tbaa !5
  %1732 = call ptr @strerror(i32 noundef %1731) #9
  %1733 = call ptr @__errno_location() #10
  %1734 = load i32, ptr %1733, align 4, !tbaa !5
  %1735 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1722, ptr noundef @.str.4, i32 noundef %1723, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 86, ptr noundef %1726, ptr noundef %1729, ptr noundef %1732, i32 noundef %1734) #9
  br label %1736

1736:                                             ; preds = %1719, %1702
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #9
  br label %1737

1737:                                             ; preds = %1736
  br label %1738

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

1739:                                             ; No predecessors!
  br label %1740

1740:                                             ; preds = %1739
  br label %1741

1741:                                             ; preds = %1740, %1683
  br label %1742

1742:                                             ; preds = %1741
  br label %1743

1743:                                             ; preds = %1742
  br label %1744

1744:                                             ; preds = %1743
  %1745 = load i32, ptr @test_count, align 4, !tbaa !5
  %1746 = add nsw i32 %1745, 1
  store i32 %1746, ptr @test_count, align 4, !tbaa !5
  %1747 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_cert_status_extension, i32 0, i32 3), align 8, !tbaa !45
  %1748 = load ptr, ptr %30, align 8, !tbaa !9
  %1749 = call i32 %1747(ptr noundef %1748, ptr noundef %33)
  %1750 = icmp eq i32 %1749, -1
  br i1 %1750, label %1751, label %1804

1751:                                             ; preds = %1744
  br label %1752

1752:                                             ; preds = %1751
  br label %1753

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

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

1765:                                             ; preds = %1760
  %1766 = load i32, ptr %35, align 4, !tbaa !5
  %1767 = call ptr @__errno_location() #10
  store i32 %1766, ptr %1767, align 4, !tbaa !5
  %1768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1769 = load i32, ptr @test_count, align 4, !tbaa !5
  %1770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1771 = load i32, ptr %1770, align 4, !tbaa !5
  %1772 = call ptr @s2n_strerror(i32 noundef %1771, ptr noundef @.str.3)
  %1773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1774 = load i32, ptr %1773, align 4, !tbaa !5
  %1775 = call ptr @s2n_strerror_debug(i32 noundef %1774, ptr noundef @.str.3)
  %1776 = call ptr @__errno_location() #10
  %1777 = load i32, ptr %1776, align 4, !tbaa !5
  %1778 = call ptr @strerror(i32 noundef %1777) #9
  %1779 = call ptr @__errno_location() #10
  %1780 = load i32, ptr %1779, align 4, !tbaa !5
  %1781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1768, ptr noundef @.str, i32 noundef %1769, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 88, ptr noundef %1772, ptr noundef %1775, ptr noundef %1778, i32 noundef %1780) #9
  br label %1799

1782:                                             ; preds = %1760, %1753
  %1783 = load i32, ptr %35, align 4, !tbaa !5
  %1784 = call ptr @__errno_location() #10
  store i32 %1783, ptr %1784, align 4, !tbaa !5
  %1785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1786 = load i32, ptr @test_count, align 4, !tbaa !5
  %1787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1788 = load i32, ptr %1787, align 4, !tbaa !5
  %1789 = call ptr @s2n_strerror(i32 noundef %1788, ptr noundef @.str.3)
  %1790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1791 = load i32, ptr %1790, align 4, !tbaa !5
  %1792 = call ptr @s2n_strerror_debug(i32 noundef %1791, ptr noundef @.str.3)
  %1793 = call ptr @__errno_location() #10
  %1794 = load i32, ptr %1793, align 4, !tbaa !5
  %1795 = call ptr @strerror(i32 noundef %1794) #9
  %1796 = call ptr @__errno_location() #10
  %1797 = load i32, ptr %1796, align 4, !tbaa !5
  %1798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1785, ptr noundef @.str.4, i32 noundef %1786, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 88, ptr noundef %1789, ptr noundef %1792, ptr noundef %1795, i32 noundef %1797) #9
  br label %1799

1799:                                             ; preds = %1782, %1765
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #9
  br label %1800

1800:                                             ; preds = %1799
  br label %1801

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

1802:                                             ; No predecessors!
  br label %1803

1803:                                             ; preds = %1802
  br label %1804

1804:                                             ; preds = %1803, %1744
  br label %1805

1805:                                             ; preds = %1804
  br label %1806

1806:                                             ; preds = %1805
  call void @llvm.lifetime.start.p0(i64 1, ptr %36) #9
  store i8 0, ptr %36, align 1, !tbaa !46
  br label %1807

1807:                                             ; preds = %1806
  %1808 = load i32, ptr @test_count, align 4, !tbaa !5
  %1809 = add nsw i32 %1808, 1
  store i32 %1809, ptr @test_count, align 4, !tbaa !5
  %1810 = call i32 @s2n_stuffer_read_uint8(ptr noundef %33, ptr noundef %36)
  %1811 = icmp eq i32 %1810, -1
  br i1 %1811, label %1812, label %1865

1812:                                             ; preds = %1807
  br label %1813

1813:                                             ; preds = %1812
  br label %1814

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

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

1826:                                             ; preds = %1821
  %1827 = load i32, ptr %37, align 4, !tbaa !5
  %1828 = call ptr @__errno_location() #10
  store i32 %1827, ptr %1828, align 4, !tbaa !5
  %1829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1830 = load i32, ptr @test_count, align 4, !tbaa !5
  %1831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1832 = load i32, ptr %1831, align 4, !tbaa !5
  %1833 = call ptr @s2n_strerror(i32 noundef %1832, ptr noundef @.str.3)
  %1834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1835 = load i32, ptr %1834, align 4, !tbaa !5
  %1836 = call ptr @s2n_strerror_debug(i32 noundef %1835, ptr noundef @.str.3)
  %1837 = call ptr @__errno_location() #10
  %1838 = load i32, ptr %1837, align 4, !tbaa !5
  %1839 = call ptr @strerror(i32 noundef %1838) #9
  %1840 = call ptr @__errno_location() #10
  %1841 = load i32, ptr %1840, align 4, !tbaa !5
  %1842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1829, ptr noundef @.str, i32 noundef %1830, ptr noundef @.str.24, ptr noundef @.str.2, i32 noundef 91, ptr noundef %1833, ptr noundef %1836, ptr noundef %1839, i32 noundef %1841) #9
  br label %1860

1843:                                             ; preds = %1821, %1814
  %1844 = load i32, ptr %37, align 4, !tbaa !5
  %1845 = call ptr @__errno_location() #10
  store i32 %1844, ptr %1845, align 4, !tbaa !5
  %1846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1847 = load i32, ptr @test_count, align 4, !tbaa !5
  %1848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1849 = load i32, ptr %1848, align 4, !tbaa !5
  %1850 = call ptr @s2n_strerror(i32 noundef %1849, ptr noundef @.str.3)
  %1851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1852 = load i32, ptr %1851, align 4, !tbaa !5
  %1853 = call ptr @s2n_strerror_debug(i32 noundef %1852, ptr noundef @.str.3)
  %1854 = call ptr @__errno_location() #10
  %1855 = load i32, ptr %1854, align 4, !tbaa !5
  %1856 = call ptr @strerror(i32 noundef %1855) #9
  %1857 = call ptr @__errno_location() #10
  %1858 = load i32, ptr %1857, align 4, !tbaa !5
  %1859 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1846, ptr noundef @.str.4, i32 noundef %1847, ptr noundef @.str.24, ptr noundef @.str.2, i32 noundef 91, ptr noundef %1850, ptr noundef %1853, ptr noundef %1856, i32 noundef %1858) #9
  br label %1860

1860:                                             ; preds = %1843, %1826
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #9
  br label %1861

1861:                                             ; preds = %1860
  br label %1862

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

1863:                                             ; No predecessors!
  br label %1864

1864:                                             ; preds = %1863
  br label %1865

1865:                                             ; preds = %1864, %1807
  br label %1866

1866:                                             ; preds = %1865
  br label %1867

1867:                                             ; preds = %1866
  br label %1868

1868:                                             ; preds = %1867
  %1869 = load i32, ptr @test_count, align 4, !tbaa !5
  %1870 = add nsw i32 %1869, 1
  store i32 %1870, ptr @test_count, align 4, !tbaa !5
  %1871 = load i8, ptr %36, align 1, !tbaa !46
  %1872 = zext i8 %1871 to i32
  %1873 = icmp eq i32 %1872, 1
  br i1 %1873, label %1927, label %1874

1874:                                             ; preds = %1868
  br label %1875

1875:                                             ; preds = %1874
  br label %1876

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

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

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

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

1922:                                             ; preds = %1905, %1888
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #9
  br label %1923

1923:                                             ; preds = %1922
  br label %1924

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

1925:                                             ; No predecessors!
  br label %1926

1926:                                             ; preds = %1925
  br label %1927

1927:                                             ; preds = %1926, %1868
  br label %1928

1928:                                             ; preds = %1927
  br label %1929

1929:                                             ; preds = %1928
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #9
  store i32 0, ptr %39, align 4, !tbaa !5
  br label %1930

1930:                                             ; preds = %1929
  %1931 = load i32, ptr @test_count, align 4, !tbaa !5
  %1932 = add nsw i32 %1931, 1
  store i32 %1932, ptr @test_count, align 4, !tbaa !5
  %1933 = call i32 @s2n_stuffer_read_uint24(ptr noundef %33, ptr noundef %39)
  %1934 = icmp eq i32 %1933, -1
  br i1 %1934, label %1935, label %1988

1935:                                             ; preds = %1930
  br label %1936

1936:                                             ; preds = %1935
  br label %1937

1937:                                             ; preds = %1936
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #9
  %1938 = call ptr @__errno_location() #10
  %1939 = load i32, ptr %1938, align 4, !tbaa !5
  store i32 %1939, ptr %40, align 4, !tbaa !5
  %1940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1941 = call i32 @s2n_print_stacktrace(ptr noundef %1940)
  %1942 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1943 = trunc i8 %1942 to i1
  br i1 %1943, label %1944, label %1966

1944:                                             ; preds = %1937
  %1945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1946 = call i32 @fileno(ptr noundef %1945) #9
  %1947 = call i32 @isatty(i32 noundef %1946) #9
  %1948 = icmp ne i32 %1947, 0
  br i1 %1948, label %1949, label %1966

1949:                                             ; preds = %1944
  %1950 = load i32, ptr %40, align 4, !tbaa !5
  %1951 = call ptr @__errno_location() #10
  store i32 %1950, ptr %1951, align 4, !tbaa !5
  %1952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1953 = load i32, ptr @test_count, align 4, !tbaa !5
  %1954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1955 = load i32, ptr %1954, align 4, !tbaa !5
  %1956 = call ptr @s2n_strerror(i32 noundef %1955, ptr noundef @.str.3)
  %1957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1958 = load i32, ptr %1957, align 4, !tbaa !5
  %1959 = call ptr @s2n_strerror_debug(i32 noundef %1958, ptr noundef @.str.3)
  %1960 = call ptr @__errno_location() #10
  %1961 = load i32, ptr %1960, align 4, !tbaa !5
  %1962 = call ptr @strerror(i32 noundef %1961) #9
  %1963 = call ptr @__errno_location() #10
  %1964 = load i32, ptr %1963, align 4, !tbaa !5
  %1965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1952, ptr noundef @.str, i32 noundef %1953, ptr noundef @.str.26, ptr noundef @.str.2, i32 noundef 95, ptr noundef %1956, ptr noundef %1959, ptr noundef %1962, i32 noundef %1964) #9
  br label %1983

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

1983:                                             ; preds = %1966, %1949
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #9
  br label %1984

1984:                                             ; preds = %1983
  br label %1985

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

1986:                                             ; No predecessors!
  br label %1987

1987:                                             ; preds = %1986
  br label %1988

1988:                                             ; preds = %1987, %1930
  br label %1989

1989:                                             ; preds = %1988
  br label %1990

1990:                                             ; preds = %1989
  br label %1991

1991:                                             ; preds = %1990
  %1992 = load i32, ptr @test_count, align 4, !tbaa !5
  %1993 = add nsw i32 %1992, 1
  store i32 %1993, ptr @test_count, align 4, !tbaa !5
  %1994 = load i32, ptr %39, align 4, !tbaa !5
  %1995 = getelementptr inbounds %struct.s2n_stuffer, ptr %33, i32 0, i32 2
  %1996 = load i32, ptr %1995, align 4, !tbaa !47
  %1997 = getelementptr inbounds %struct.s2n_stuffer, ptr %33, i32 0, i32 1
  %1998 = load i32, ptr %1997, align 8, !tbaa !48
  %1999 = sub i32 %1996, %1998
  %2000 = icmp eq i32 %1994, %1999
  br i1 %2000, label %2054, label %2001

2001:                                             ; preds = %1991
  br label %2002

2002:                                             ; preds = %2001
  br label %2003

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

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

2015:                                             ; preds = %2010
  %2016 = load i32, ptr %41, align 4, !tbaa !5
  %2017 = call ptr @__errno_location() #10
  store i32 %2016, ptr %2017, align 4, !tbaa !5
  %2018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2019 = load i32, ptr @test_count, align 4, !tbaa !5
  %2020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2021 = load i32, ptr %2020, align 4, !tbaa !5
  %2022 = call ptr @s2n_strerror(i32 noundef %2021, ptr noundef @.str.3)
  %2023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2024 = load i32, ptr %2023, align 4, !tbaa !5
  %2025 = call ptr @s2n_strerror_debug(i32 noundef %2024, ptr noundef @.str.3)
  %2026 = call ptr @__errno_location() #10
  %2027 = load i32, ptr %2026, align 4, !tbaa !5
  %2028 = call ptr @strerror(i32 noundef %2027) #9
  %2029 = call ptr @__errno_location() #10
  %2030 = load i32, ptr %2029, align 4, !tbaa !5
  %2031 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2018, ptr noundef @.str, i32 noundef %2019, ptr noundef @.str.27, ptr noundef @.str.2, i32 noundef 96, ptr noundef %2022, ptr noundef %2025, ptr noundef %2028, i32 noundef %2030) #9
  br label %2049

2032:                                             ; preds = %2010, %2003
  %2033 = load i32, ptr %41, align 4, !tbaa !5
  %2034 = call ptr @__errno_location() #10
  store i32 %2033, ptr %2034, align 4, !tbaa !5
  %2035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2036 = load i32, ptr @test_count, align 4, !tbaa !5
  %2037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2038 = load i32, ptr %2037, align 4, !tbaa !5
  %2039 = call ptr @s2n_strerror(i32 noundef %2038, ptr noundef @.str.3)
  %2040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2041 = load i32, ptr %2040, align 4, !tbaa !5
  %2042 = call ptr @s2n_strerror_debug(i32 noundef %2041, ptr noundef @.str.3)
  %2043 = call ptr @__errno_location() #10
  %2044 = load i32, ptr %2043, align 4, !tbaa !5
  %2045 = call ptr @strerror(i32 noundef %2044) #9
  %2046 = call ptr @__errno_location() #10
  %2047 = load i32, ptr %2046, align 4, !tbaa !5
  %2048 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2035, ptr noundef @.str.4, i32 noundef %2036, ptr noundef @.str.27, ptr noundef @.str.2, i32 noundef 96, ptr noundef %2039, ptr noundef %2042, ptr noundef %2045, i32 noundef %2047) #9
  br label %2049

2049:                                             ; preds = %2032, %2015
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #9
  br label %2050

2050:                                             ; preds = %2049
  br label %2051

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

2052:                                             ; No predecessors!
  br label %2053

2053:                                             ; preds = %2052
  br label %2054

2054:                                             ; preds = %2053, %1991
  br label %2055

2055:                                             ; preds = %2054
  br label %2056

2056:                                             ; preds = %2055
  br label %2057

2057:                                             ; preds = %2056
  %2058 = load i32, ptr @test_count, align 4, !tbaa !5
  %2059 = add nsw i32 %2058, 1
  store i32 %2059, ptr @test_count, align 4, !tbaa !5
  %2060 = load i32, ptr %39, align 4, !tbaa !5
  %2061 = zext i32 %2060 to i64
  %2062 = icmp eq i64 %2061, 10
  br i1 %2062, label %2116, label %2063

2063:                                             ; preds = %2057
  br label %2064

2064:                                             ; preds = %2063
  br label %2065

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

2072:                                             ; preds = %2065
  %2073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2074 = call i32 @fileno(ptr noundef %2073) #9
  %2075 = call i32 @isatty(i32 noundef %2074) #9
  %2076 = icmp ne i32 %2075, 0
  br i1 %2076, label %2077, label %2094

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

2094:                                             ; preds = %2072, %2065
  %2095 = load i32, ptr %42, align 4, !tbaa !5
  %2096 = call ptr @__errno_location() #10
  store i32 %2095, ptr %2096, align 4, !tbaa !5
  %2097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2098 = load i32, ptr @test_count, align 4, !tbaa !5
  %2099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2100 = load i32, ptr %2099, align 4, !tbaa !5
  %2101 = call ptr @s2n_strerror(i32 noundef %2100, ptr noundef @.str.3)
  %2102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2103 = load i32, ptr %2102, align 4, !tbaa !5
  %2104 = call ptr @s2n_strerror_debug(i32 noundef %2103, ptr noundef @.str.3)
  %2105 = call ptr @__errno_location() #10
  %2106 = load i32, ptr %2105, align 4, !tbaa !5
  %2107 = call ptr @strerror(i32 noundef %2106) #9
  %2108 = call ptr @__errno_location() #10
  %2109 = load i32, ptr %2108, align 4, !tbaa !5
  %2110 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2097, ptr noundef @.str.4, i32 noundef %2098, ptr noundef @.str.28, ptr noundef @.str.2, i32 noundef 97, ptr noundef %2101, ptr noundef %2104, ptr noundef %2107, i32 noundef %2109) #9
  br label %2111

2111:                                             ; preds = %2094, %2077
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #9
  br label %2112

2112:                                             ; preds = %2111
  br label %2113

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

2114:                                             ; No predecessors!
  br label %2115

2115:                                             ; preds = %2114
  br label %2116

2116:                                             ; preds = %2115, %2057
  br label %2117

2117:                                             ; preds = %2116
  br label %2118

2118:                                             ; preds = %2117
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #9
  store ptr null, ptr %43, align 8, !tbaa !9
  br label %2119

2119:                                             ; preds = %2118
  %2120 = load i32, ptr @test_count, align 4, !tbaa !5
  %2121 = add nsw i32 %2120, 1
  store i32 %2121, ptr @test_count, align 4, !tbaa !5
  %2122 = load i32, ptr %39, align 4, !tbaa !5
  %2123 = call ptr @s2n_stuffer_raw_read(ptr noundef %33, i32 noundef %2122)
  store ptr %2123, ptr %43, align 8, !tbaa !9
  %2124 = icmp eq ptr %2123, null
  br i1 %2124, label %2125, label %2178

2125:                                             ; preds = %2119
  br label %2126

2126:                                             ; preds = %2125
  br label %2127

2127:                                             ; preds = %2126
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #9
  %2128 = call ptr @__errno_location() #10
  %2129 = load i32, ptr %2128, align 4, !tbaa !5
  store i32 %2129, ptr %44, align 4, !tbaa !5
  %2130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2131 = call i32 @s2n_print_stacktrace(ptr noundef %2130)
  %2132 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2133 = trunc i8 %2132 to i1
  br i1 %2133, label %2134, label %2156

2134:                                             ; preds = %2127
  %2135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2136 = call i32 @fileno(ptr noundef %2135) #9
  %2137 = call i32 @isatty(i32 noundef %2136) #9
  %2138 = icmp ne i32 %2137, 0
  br i1 %2138, label %2139, label %2156

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

2156:                                             ; preds = %2134, %2127
  %2157 = load i32, ptr %44, align 4, !tbaa !5
  %2158 = call ptr @__errno_location() #10
  store i32 %2157, ptr %2158, align 4, !tbaa !5
  %2159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2160 = load i32, ptr @test_count, align 4, !tbaa !5
  %2161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2162 = load i32, ptr %2161, align 4, !tbaa !5
  %2163 = call ptr @s2n_strerror(i32 noundef %2162, ptr noundef @.str.3)
  %2164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2165 = load i32, ptr %2164, align 4, !tbaa !5
  %2166 = call ptr @s2n_strerror_debug(i32 noundef %2165, ptr noundef @.str.3)
  %2167 = call ptr @__errno_location() #10
  %2168 = load i32, ptr %2167, align 4, !tbaa !5
  %2169 = call ptr @strerror(i32 noundef %2168) #9
  %2170 = call ptr @__errno_location() #10
  %2171 = load i32, ptr %2170, align 4, !tbaa !5
  %2172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2159, ptr noundef @.str.4, i32 noundef %2160, ptr noundef @.str.29, ptr noundef @.str.2, i32 noundef 100, ptr noundef %2163, ptr noundef %2166, ptr noundef %2169, i32 noundef %2171) #9
  br label %2173

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

2174:                                             ; preds = %2173
  br label %2175

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

2176:                                             ; No predecessors!
  br label %2177

2177:                                             ; preds = %2176
  br label %2178

2178:                                             ; preds = %2177, %2119
  br label %2179

2179:                                             ; preds = %2178
  br label %2180

2180:                                             ; preds = %2179
  br label %2181

2181:                                             ; preds = %2180
  %2182 = load i32, ptr %39, align 4, !tbaa !5
  %2183 = icmp ne i32 %2182, 0
  br i1 %2183, label %2184, label %2249

2184:                                             ; preds = %2181
  br label %2185

2185:                                             ; preds = %2184
  %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 %43, align 8, !tbaa !9
  %2189 = load i32, ptr %39, align 4, !tbaa !5
  %2190 = zext i32 %2189 to i64
  %2191 = call i32 @memcmp(ptr noundef %2188, ptr noundef @ocsp_data, i64 noundef %2190) #12
  %2192 = icmp eq i32 %2191, 0
  br i1 %2192, label %2246, label %2193

2193:                                             ; preds = %2185
  br label %2194

2194:                                             ; preds = %2193
  br label %2195

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

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

2207:                                             ; preds = %2202
  %2208 = load i32, ptr %45, align 4, !tbaa !5
  %2209 = call ptr @__errno_location() #10
  store i32 %2208, ptr %2209, align 4, !tbaa !5
  %2210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2211 = load i32, ptr @test_count, align 4, !tbaa !5
  %2212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2213 = load i32, ptr %2212, align 4, !tbaa !5
  %2214 = call ptr @s2n_strerror(i32 noundef %2213, ptr noundef @.str.3)
  %2215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2216 = load i32, ptr %2215, align 4, !tbaa !5
  %2217 = call ptr @s2n_strerror_debug(i32 noundef %2216, ptr noundef @.str.3)
  %2218 = call ptr @__errno_location() #10
  %2219 = load i32, ptr %2218, align 4, !tbaa !5
  %2220 = call ptr @strerror(i32 noundef %2219) #9
  %2221 = call ptr @__errno_location() #10
  %2222 = load i32, ptr %2221, align 4, !tbaa !5
  %2223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2210, ptr noundef @.str, i32 noundef %2211, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 101, ptr noundef %2214, ptr noundef %2217, ptr noundef %2220, i32 noundef %2222) #9
  br label %2241

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

2241:                                             ; preds = %2224, %2207
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #9
  br label %2242

2242:                                             ; preds = %2241
  br label %2243

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

2244:                                             ; No predecessors!
  br label %2245

2245:                                             ; preds = %2244
  br label %2246

2246:                                             ; preds = %2245, %2185
  br label %2247

2247:                                             ; preds = %2246
  br label %2248

2248:                                             ; preds = %2247
  br label %2249

2249:                                             ; preds = %2248, %2181
  br label %2250

2250:                                             ; preds = %2249
  br label %2251

2251:                                             ; preds = %2250
  br label %2252

2252:                                             ; preds = %2251
  %2253 = load i32, ptr @test_count, align 4, !tbaa !5
  %2254 = add nsw i32 %2253, 1
  store i32 %2254, ptr @test_count, align 4, !tbaa !5
  %2255 = getelementptr inbounds %struct.s2n_stuffer, ptr %33, i32 0, i32 2
  %2256 = load i32, ptr %2255, align 4, !tbaa !47
  %2257 = getelementptr inbounds %struct.s2n_stuffer, ptr %33, i32 0, i32 1
  %2258 = load i32, ptr %2257, align 8, !tbaa !48
  %2259 = sub i32 %2256, %2258
  %2260 = icmp eq i32 %2259, 0
  br i1 %2260, label %2314, label %2261

2261:                                             ; preds = %2252
  br label %2262

2262:                                             ; preds = %2261
  br label %2263

2263:                                             ; preds = %2262
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #9
  %2264 = call ptr @__errno_location() #10
  %2265 = load i32, ptr %2264, align 4, !tbaa !5
  store i32 %2265, ptr %46, align 4, !tbaa !5
  %2266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2267 = call i32 @s2n_print_stacktrace(ptr noundef %2266)
  %2268 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2269 = trunc i8 %2268 to i1
  br i1 %2269, label %2270, label %2292

2270:                                             ; preds = %2263
  %2271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2272 = call i32 @fileno(ptr noundef %2271) #9
  %2273 = call i32 @isatty(i32 noundef %2272) #9
  %2274 = icmp ne i32 %2273, 0
  br i1 %2274, label %2275, label %2292

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

2292:                                             ; preds = %2270, %2263
  %2293 = load i32, ptr %46, align 4, !tbaa !5
  %2294 = call ptr @__errno_location() #10
  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.3)
  %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.3)
  %2303 = call ptr @__errno_location() #10
  %2304 = load i32, ptr %2303, align 4, !tbaa !5
  %2305 = call ptr @strerror(i32 noundef %2304) #9
  %2306 = call ptr @__errno_location() #10
  %2307 = load i32, ptr %2306, align 4, !tbaa !5
  %2308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2295, ptr noundef @.str.4, i32 noundef %2296, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 103, ptr noundef %2299, ptr noundef %2302, ptr noundef %2305, i32 noundef %2307) #9
  br label %2309

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

2310:                                             ; preds = %2309
  br label %2311

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

2312:                                             ; No predecessors!
  br label %2313

2313:                                             ; preds = %2312
  br label %2314

2314:                                             ; preds = %2313, %2252
  br label %2315

2315:                                             ; preds = %2314
  br label %2316

2316:                                             ; preds = %2315
  br label %2317

2317:                                             ; preds = %2316
  %2318 = load i32, ptr @test_count, align 4, !tbaa !5
  %2319 = add nsw i32 %2318, 1
  store i32 %2319, ptr @test_count, align 4, !tbaa !5
  %2320 = call i32 @s2n_stuffer_free(ptr noundef %33)
  %2321 = icmp eq i32 %2320, -1
  br i1 %2321, label %2322, label %2375

2322:                                             ; preds = %2317
  br label %2323

2323:                                             ; preds = %2322
  br label %2324

2324:                                             ; preds = %2323
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #9
  %2325 = call ptr @__errno_location() #10
  %2326 = load i32, ptr %2325, align 4, !tbaa !5
  store i32 %2326, ptr %47, align 4, !tbaa !5
  %2327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2328 = call i32 @s2n_print_stacktrace(ptr noundef %2327)
  %2329 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2330 = trunc i8 %2329 to i1
  br i1 %2330, label %2331, label %2353

2331:                                             ; preds = %2324
  %2332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2333 = call i32 @fileno(ptr noundef %2332) #9
  %2334 = call i32 @isatty(i32 noundef %2333) #9
  %2335 = icmp ne i32 %2334, 0
  br i1 %2335, label %2336, label %2353

2336:                                             ; preds = %2331
  %2337 = load i32, ptr %47, align 4, !tbaa !5
  %2338 = call ptr @__errno_location() #10
  store i32 %2337, ptr %2338, align 4, !tbaa !5
  %2339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2340 = load i32, ptr @test_count, align 4, !tbaa !5
  %2341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2342 = load i32, ptr %2341, align 4, !tbaa !5
  %2343 = call ptr @s2n_strerror(i32 noundef %2342, ptr noundef @.str.3)
  %2344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2345 = load i32, ptr %2344, align 4, !tbaa !5
  %2346 = call ptr @s2n_strerror_debug(i32 noundef %2345, ptr noundef @.str.3)
  %2347 = call ptr @__errno_location() #10
  %2348 = load i32, ptr %2347, align 4, !tbaa !5
  %2349 = call ptr @strerror(i32 noundef %2348) #9
  %2350 = call ptr @__errno_location() #10
  %2351 = load i32, ptr %2350, align 4, !tbaa !5
  %2352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2339, ptr noundef @.str, i32 noundef %2340, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 105, ptr noundef %2343, ptr noundef %2346, ptr noundef %2349, i32 noundef %2351) #9
  br label %2370

2353:                                             ; preds = %2331, %2324
  %2354 = load i32, ptr %47, align 4, !tbaa !5
  %2355 = call ptr @__errno_location() #10
  store i32 %2354, ptr %2355, align 4, !tbaa !5
  %2356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2357 = load i32, ptr @test_count, align 4, !tbaa !5
  %2358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2359 = load i32, ptr %2358, align 4, !tbaa !5
  %2360 = call ptr @s2n_strerror(i32 noundef %2359, ptr noundef @.str.3)
  %2361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2362 = load i32, ptr %2361, align 4, !tbaa !5
  %2363 = call ptr @s2n_strerror_debug(i32 noundef %2362, ptr noundef @.str.3)
  %2364 = call ptr @__errno_location() #10
  %2365 = load i32, ptr %2364, align 4, !tbaa !5
  %2366 = call ptr @strerror(i32 noundef %2365) #9
  %2367 = call ptr @__errno_location() #10
  %2368 = load i32, ptr %2367, align 4, !tbaa !5
  %2369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2356, ptr noundef @.str.4, i32 noundef %2357, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 105, ptr noundef %2360, ptr noundef %2363, ptr noundef %2366, i32 noundef %2368) #9
  br label %2370

2370:                                             ; preds = %2353, %2336
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #9
  br label %2371

2371:                                             ; preds = %2370
  br label %2372

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

2373:                                             ; No predecessors!
  br label %2374

2374:                                             ; preds = %2373
  br label %2375

2375:                                             ; preds = %2374, %2317
  br label %2376

2376:                                             ; preds = %2375
  br label %2377

2377:                                             ; preds = %2376
  br label %2378

2378:                                             ; preds = %2377
  %2379 = load i32, ptr @test_count, align 4, !tbaa !5
  %2380 = add nsw i32 %2379, 1
  store i32 %2380, ptr @test_count, align 4, !tbaa !5
  %2381 = load ptr, ptr %30, align 8, !tbaa !9
  %2382 = call i32 @s2n_connection_free(ptr noundef %2381)
  %2383 = icmp eq i32 %2382, -1
  br i1 %2383, label %2384, label %2437

2384:                                             ; preds = %2378
  br label %2385

2385:                                             ; preds = %2384
  br label %2386

2386:                                             ; preds = %2385
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #9
  %2387 = call ptr @__errno_location() #10
  %2388 = load i32, ptr %2387, align 4, !tbaa !5
  store i32 %2388, ptr %48, align 4, !tbaa !5
  %2389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2390 = call i32 @s2n_print_stacktrace(ptr noundef %2389)
  %2391 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2392 = trunc i8 %2391 to i1
  br i1 %2392, label %2393, label %2415

2393:                                             ; preds = %2386
  %2394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2395 = call i32 @fileno(ptr noundef %2394) #9
  %2396 = call i32 @isatty(i32 noundef %2395) #9
  %2397 = icmp ne i32 %2396, 0
  br i1 %2397, label %2398, label %2415

2398:                                             ; preds = %2393
  %2399 = load i32, ptr %48, align 4, !tbaa !5
  %2400 = call ptr @__errno_location() #10
  store i32 %2399, ptr %2400, align 4, !tbaa !5
  %2401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2402 = load i32, ptr @test_count, align 4, !tbaa !5
  %2403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2404 = load i32, ptr %2403, align 4, !tbaa !5
  %2405 = call ptr @s2n_strerror(i32 noundef %2404, ptr noundef @.str.3)
  %2406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2407 = load i32, ptr %2406, align 4, !tbaa !5
  %2408 = call ptr @s2n_strerror_debug(i32 noundef %2407, ptr noundef @.str.3)
  %2409 = call ptr @__errno_location() #10
  %2410 = load i32, ptr %2409, align 4, !tbaa !5
  %2411 = call ptr @strerror(i32 noundef %2410) #9
  %2412 = call ptr @__errno_location() #10
  %2413 = load i32, ptr %2412, align 4, !tbaa !5
  %2414 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2401, ptr noundef @.str, i32 noundef %2402, ptr noundef @.str.19, ptr noundef @.str.2, i32 noundef 106, ptr noundef %2405, ptr noundef %2408, ptr noundef %2411, i32 noundef %2413) #9
  br label %2432

2415:                                             ; preds = %2393, %2386
  %2416 = load i32, ptr %48, align 4, !tbaa !5
  %2417 = call ptr @__errno_location() #10
  store i32 %2416, ptr %2417, align 4, !tbaa !5
  %2418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2419 = load i32, ptr @test_count, align 4, !tbaa !5
  %2420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2421 = load i32, ptr %2420, align 4, !tbaa !5
  %2422 = call ptr @s2n_strerror(i32 noundef %2421, ptr noundef @.str.3)
  %2423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2424 = load i32, ptr %2423, align 4, !tbaa !5
  %2425 = call ptr @s2n_strerror_debug(i32 noundef %2424, ptr noundef @.str.3)
  %2426 = call ptr @__errno_location() #10
  %2427 = load i32, ptr %2426, align 4, !tbaa !5
  %2428 = call ptr @strerror(i32 noundef %2427) #9
  %2429 = call ptr @__errno_location() #10
  %2430 = load i32, ptr %2429, align 4, !tbaa !5
  %2431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2418, ptr noundef @.str.4, i32 noundef %2419, ptr noundef @.str.19, ptr noundef @.str.2, i32 noundef 106, ptr noundef %2422, ptr noundef %2425, ptr noundef %2428, i32 noundef %2430) #9
  br label %2432

2432:                                             ; preds = %2415, %2398
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #9
  br label %2433

2433:                                             ; preds = %2432
  br label %2434

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

2435:                                             ; No predecessors!
  br label %2436

2436:                                             ; preds = %2435
  br label %2437

2437:                                             ; preds = %2436, %2378
  br label %2438

2438:                                             ; preds = %2437
  br label %2439

2439:                                             ; preds = %2438
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %36) #9
  call void @llvm.lifetime.end.p0(i64 40, ptr %33) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #9
  %2440 = call ptr @s2n_config_new_minimal()
  store ptr %2440, ptr %49, align 8, !tbaa !9
  br label %2441

2441:                                             ; preds = %2439
  %2442 = load i32, ptr @test_count, align 4, !tbaa !5
  %2443 = add nsw i32 %2442, 1
  store i32 %2443, ptr @test_count, align 4, !tbaa !5
  %2444 = load ptr, ptr %49, align 8, !tbaa !9
  %2445 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %2444)
  %2446 = icmp eq i32 %2445, -1
  br i1 %2446, label %2447, label %2500

2447:                                             ; preds = %2441
  br label %2448

2448:                                             ; preds = %2447
  br label %2449

2449:                                             ; preds = %2448
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #9
  %2450 = call ptr @__errno_location() #10
  %2451 = load i32, ptr %2450, align 4, !tbaa !5
  store i32 %2451, ptr %50, align 4, !tbaa !5
  %2452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2453 = call i32 @s2n_print_stacktrace(ptr noundef %2452)
  %2454 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2455 = trunc i8 %2454 to i1
  br i1 %2455, label %2456, label %2478

2456:                                             ; preds = %2449
  %2457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2458 = call i32 @fileno(ptr noundef %2457) #9
  %2459 = call i32 @isatty(i32 noundef %2458) #9
  %2460 = icmp ne i32 %2459, 0
  br i1 %2460, label %2461, label %2478

2461:                                             ; preds = %2456
  %2462 = load i32, ptr %50, align 4, !tbaa !5
  %2463 = call ptr @__errno_location() #10
  store i32 %2462, ptr %2463, align 4, !tbaa !5
  %2464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2465 = load i32, ptr @test_count, align 4, !tbaa !5
  %2466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2467 = load i32, ptr %2466, align 4, !tbaa !5
  %2468 = call ptr @s2n_strerror(i32 noundef %2467, ptr noundef @.str.3)
  %2469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2470 = load i32, ptr %2469, align 4, !tbaa !5
  %2471 = call ptr @s2n_strerror_debug(i32 noundef %2470, ptr noundef @.str.3)
  %2472 = call ptr @__errno_location() #10
  %2473 = load i32, ptr %2472, align 4, !tbaa !5
  %2474 = call ptr @strerror(i32 noundef %2473) #9
  %2475 = call ptr @__errno_location() #10
  %2476 = load i32, ptr %2475, align 4, !tbaa !5
  %2477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2464, ptr noundef @.str, i32 noundef %2465, ptr noundef @.str.33, ptr noundef @.str.2, i32 noundef 113, ptr noundef %2468, ptr noundef %2471, ptr noundef %2474, i32 noundef %2476) #9
  br label %2495

2478:                                             ; preds = %2456, %2449
  %2479 = load i32, ptr %50, align 4, !tbaa !5
  %2480 = call ptr @__errno_location() #10
  store i32 %2479, ptr %2480, align 4, !tbaa !5
  %2481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2482 = load i32, ptr @test_count, align 4, !tbaa !5
  %2483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2484 = load i32, ptr %2483, align 4, !tbaa !5
  %2485 = call ptr @s2n_strerror(i32 noundef %2484, ptr noundef @.str.3)
  %2486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2487 = load i32, ptr %2486, align 4, !tbaa !5
  %2488 = call ptr @s2n_strerror_debug(i32 noundef %2487, ptr noundef @.str.3)
  %2489 = call ptr @__errno_location() #10
  %2490 = load i32, ptr %2489, align 4, !tbaa !5
  %2491 = call ptr @strerror(i32 noundef %2490) #9
  %2492 = call ptr @__errno_location() #10
  %2493 = load i32, ptr %2492, align 4, !tbaa !5
  %2494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2481, ptr noundef @.str.4, i32 noundef %2482, ptr noundef @.str.33, ptr noundef @.str.2, i32 noundef 113, ptr noundef %2485, ptr noundef %2488, ptr noundef %2491, i32 noundef %2493) #9
  br label %2495

2495:                                             ; preds = %2478, %2461
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #9
  br label %2496

2496:                                             ; preds = %2495
  br label %2497

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

2498:                                             ; No predecessors!
  br label %2499

2499:                                             ; preds = %2498
  br label %2500

2500:                                             ; preds = %2499, %2441
  br label %2501

2501:                                             ; preds = %2500
  br label %2502

2502:                                             ; preds = %2501
  call void @llvm.lifetime.start.p0(i64 8, ptr %51) #9
  store ptr null, ptr %51, align 8, !tbaa !9
  br label %2503

2503:                                             ; preds = %2502
  %2504 = load i32, ptr @test_count, align 4, !tbaa !5
  %2505 = add nsw i32 %2504, 1
  store i32 %2505, ptr @test_count, align 4, !tbaa !5
  %2506 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %2506, ptr %51, align 8, !tbaa !9
  %2507 = icmp eq ptr %2506, null
  br i1 %2507, label %2508, label %2561

2508:                                             ; preds = %2503
  br label %2509

2509:                                             ; preds = %2508
  br label %2510

2510:                                             ; preds = %2509
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #9
  %2511 = call ptr @__errno_location() #10
  %2512 = load i32, ptr %2511, align 4, !tbaa !5
  store i32 %2512, ptr %52, align 4, !tbaa !5
  %2513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2514 = call i32 @s2n_print_stacktrace(ptr noundef %2513)
  %2515 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2516 = trunc i8 %2515 to i1
  br i1 %2516, label %2517, label %2539

2517:                                             ; preds = %2510
  %2518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2519 = call i32 @fileno(ptr noundef %2518) #9
  %2520 = call i32 @isatty(i32 noundef %2519) #9
  %2521 = icmp ne i32 %2520, 0
  br i1 %2521, label %2522, label %2539

2522:                                             ; preds = %2517
  %2523 = load i32, ptr %52, align 4, !tbaa !5
  %2524 = call ptr @__errno_location() #10
  store i32 %2523, ptr %2524, align 4, !tbaa !5
  %2525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2526 = load i32, ptr @test_count, align 4, !tbaa !5
  %2527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2528 = load i32, ptr %2527, align 4, !tbaa !5
  %2529 = call ptr @s2n_strerror(i32 noundef %2528, ptr noundef @.str.3)
  %2530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2531 = load i32, ptr %2530, align 4, !tbaa !5
  %2532 = call ptr @s2n_strerror_debug(i32 noundef %2531, ptr noundef @.str.3)
  %2533 = call ptr @__errno_location() #10
  %2534 = load i32, ptr %2533, align 4, !tbaa !5
  %2535 = call ptr @strerror(i32 noundef %2534) #9
  %2536 = call ptr @__errno_location() #10
  %2537 = load i32, ptr %2536, align 4, !tbaa !5
  %2538 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2525, ptr noundef @.str, i32 noundef %2526, ptr noundef @.str.21, ptr noundef @.str.2, i32 noundef 116, ptr noundef %2529, ptr noundef %2532, ptr noundef %2535, i32 noundef %2537) #9
  br label %2556

2539:                                             ; preds = %2517, %2510
  %2540 = load i32, ptr %52, align 4, !tbaa !5
  %2541 = call ptr @__errno_location() #10
  store i32 %2540, ptr %2541, align 4, !tbaa !5
  %2542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2543 = load i32, ptr @test_count, align 4, !tbaa !5
  %2544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2545 = load i32, ptr %2544, align 4, !tbaa !5
  %2546 = call ptr @s2n_strerror(i32 noundef %2545, ptr noundef @.str.3)
  %2547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2548 = load i32, ptr %2547, align 4, !tbaa !5
  %2549 = call ptr @s2n_strerror_debug(i32 noundef %2548, ptr noundef @.str.3)
  %2550 = call ptr @__errno_location() #10
  %2551 = load i32, ptr %2550, align 4, !tbaa !5
  %2552 = call ptr @strerror(i32 noundef %2551) #9
  %2553 = call ptr @__errno_location() #10
  %2554 = load i32, ptr %2553, align 4, !tbaa !5
  %2555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2542, ptr noundef @.str.4, i32 noundef %2543, ptr noundef @.str.21, ptr noundef @.str.2, i32 noundef 116, ptr noundef %2546, ptr noundef %2549, ptr noundef %2552, i32 noundef %2554) #9
  br label %2556

2556:                                             ; preds = %2539, %2522
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #9
  br label %2557

2557:                                             ; preds = %2556
  br label %2558

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

2559:                                             ; No predecessors!
  br label %2560

2560:                                             ; preds = %2559
  br label %2561

2561:                                             ; preds = %2560, %2503
  br label %2562

2562:                                             ; preds = %2561
  br label %2563

2563:                                             ; preds = %2562
  br label %2564

2564:                                             ; preds = %2563
  %2565 = load i32, ptr @test_count, align 4, !tbaa !5
  %2566 = add nsw i32 %2565, 1
  store i32 %2566, ptr @test_count, align 4, !tbaa !5
  %2567 = load ptr, ptr %51, align 8, !tbaa !9
  %2568 = load ptr, ptr %49, align 8, !tbaa !9
  %2569 = call i32 @s2n_connection_set_config(ptr noundef %2567, ptr noundef %2568)
  %2570 = icmp eq i32 %2569, -1
  br i1 %2570, label %2571, label %2624

2571:                                             ; preds = %2564
  br label %2572

2572:                                             ; preds = %2571
  br label %2573

2573:                                             ; preds = %2572
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #9
  %2574 = call ptr @__errno_location() #10
  %2575 = load i32, ptr %2574, align 4, !tbaa !5
  store i32 %2575, ptr %53, align 4, !tbaa !5
  %2576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2577 = call i32 @s2n_print_stacktrace(ptr noundef %2576)
  %2578 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2579 = trunc i8 %2578 to i1
  br i1 %2579, label %2580, label %2602

2580:                                             ; preds = %2573
  %2581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2582 = call i32 @fileno(ptr noundef %2581) #9
  %2583 = call i32 @isatty(i32 noundef %2582) #9
  %2584 = icmp ne i32 %2583, 0
  br i1 %2584, label %2585, label %2602

2585:                                             ; preds = %2580
  %2586 = load i32, ptr %53, align 4, !tbaa !5
  %2587 = call ptr @__errno_location() #10
  store i32 %2586, ptr %2587, align 4, !tbaa !5
  %2588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2589 = load i32, ptr @test_count, align 4, !tbaa !5
  %2590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2591 = load i32, ptr %2590, align 4, !tbaa !5
  %2592 = call ptr @s2n_strerror(i32 noundef %2591, ptr noundef @.str.3)
  %2593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2594 = load i32, ptr %2593, align 4, !tbaa !5
  %2595 = call ptr @s2n_strerror_debug(i32 noundef %2594, ptr noundef @.str.3)
  %2596 = call ptr @__errno_location() #10
  %2597 = load i32, ptr %2596, align 4, !tbaa !5
  %2598 = call ptr @strerror(i32 noundef %2597) #9
  %2599 = call ptr @__errno_location() #10
  %2600 = load i32, ptr %2599, align 4, !tbaa !5
  %2601 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2588, ptr noundef @.str, i32 noundef %2589, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 117, ptr noundef %2592, ptr noundef %2595, ptr noundef %2598, i32 noundef %2600) #9
  br label %2619

2602:                                             ; preds = %2580, %2573
  %2603 = load i32, ptr %53, align 4, !tbaa !5
  %2604 = call ptr @__errno_location() #10
  store i32 %2603, ptr %2604, align 4, !tbaa !5
  %2605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2606 = load i32, ptr @test_count, align 4, !tbaa !5
  %2607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2608 = load i32, ptr %2607, align 4, !tbaa !5
  %2609 = call ptr @s2n_strerror(i32 noundef %2608, ptr noundef @.str.3)
  %2610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2611 = load i32, ptr %2610, align 4, !tbaa !5
  %2612 = call ptr @s2n_strerror_debug(i32 noundef %2611, ptr noundef @.str.3)
  %2613 = call ptr @__errno_location() #10
  %2614 = load i32, ptr %2613, align 4, !tbaa !5
  %2615 = call ptr @strerror(i32 noundef %2614) #9
  %2616 = call ptr @__errno_location() #10
  %2617 = load i32, ptr %2616, align 4, !tbaa !5
  %2618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2605, ptr noundef @.str.4, i32 noundef %2606, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 117, ptr noundef %2609, ptr noundef %2612, ptr noundef %2615, i32 noundef %2617) #9
  br label %2619

2619:                                             ; preds = %2602, %2585
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #9
  br label %2620

2620:                                             ; preds = %2619
  br label %2621

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

2622:                                             ; No predecessors!
  br label %2623

2623:                                             ; preds = %2622
  br label %2624

2624:                                             ; preds = %2623, %2564
  br label %2625

2625:                                             ; preds = %2624
  br label %2626

2626:                                             ; preds = %2625
  br label %2627

2627:                                             ; preds = %2626
  %2628 = load i32, ptr @test_count, align 4, !tbaa !5
  %2629 = add nsw i32 %2628, 1
  store i32 %2629, ptr @test_count, align 4, !tbaa !5
  %2630 = load ptr, ptr %51, align 8, !tbaa !9
  %2631 = load ptr, ptr %9, align 8, !tbaa !9
  %2632 = call i32 @s2n_test_enable_sending_extension(ptr noundef %2630, ptr noundef %2631)
  %2633 = icmp eq i32 %2632, -1
  br i1 %2633, label %2634, label %2687

2634:                                             ; preds = %2627
  br label %2635

2635:                                             ; preds = %2634
  br label %2636

2636:                                             ; preds = %2635
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #9
  %2637 = call ptr @__errno_location() #10
  %2638 = load i32, ptr %2637, align 4, !tbaa !5
  store i32 %2638, ptr %54, align 4, !tbaa !5
  %2639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2640 = call i32 @s2n_print_stacktrace(ptr noundef %2639)
  %2641 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2642 = trunc i8 %2641 to i1
  br i1 %2642, label %2643, label %2665

2643:                                             ; preds = %2636
  %2644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2645 = call i32 @fileno(ptr noundef %2644) #9
  %2646 = call i32 @isatty(i32 noundef %2645) #9
  %2647 = icmp ne i32 %2646, 0
  br i1 %2647, label %2648, label %2665

2648:                                             ; preds = %2643
  %2649 = load i32, ptr %54, align 4, !tbaa !5
  %2650 = call ptr @__errno_location() #10
  store i32 %2649, ptr %2650, align 4, !tbaa !5
  %2651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2652 = load i32, ptr @test_count, align 4, !tbaa !5
  %2653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2654 = load i32, ptr %2653, align 4, !tbaa !5
  %2655 = call ptr @s2n_strerror(i32 noundef %2654, ptr noundef @.str.3)
  %2656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2657 = load i32, ptr %2656, align 4, !tbaa !5
  %2658 = call ptr @s2n_strerror_debug(i32 noundef %2657, ptr noundef @.str.3)
  %2659 = call ptr @__errno_location() #10
  %2660 = load i32, ptr %2659, align 4, !tbaa !5
  %2661 = call ptr @strerror(i32 noundef %2660) #9
  %2662 = call ptr @__errno_location() #10
  %2663 = load i32, ptr %2662, align 4, !tbaa !5
  %2664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2651, ptr noundef @.str, i32 noundef %2652, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 118, ptr noundef %2655, ptr noundef %2658, ptr noundef %2661, i32 noundef %2663) #9
  br label %2682

2665:                                             ; preds = %2643, %2636
  %2666 = load i32, ptr %54, align 4, !tbaa !5
  %2667 = call ptr @__errno_location() #10
  store i32 %2666, ptr %2667, align 4, !tbaa !5
  %2668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2669 = load i32, ptr @test_count, align 4, !tbaa !5
  %2670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2671 = load i32, ptr %2670, align 4, !tbaa !5
  %2672 = call ptr @s2n_strerror(i32 noundef %2671, ptr noundef @.str.3)
  %2673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2674 = load i32, ptr %2673, align 4, !tbaa !5
  %2675 = call ptr @s2n_strerror_debug(i32 noundef %2674, ptr noundef @.str.3)
  %2676 = call ptr @__errno_location() #10
  %2677 = load i32, ptr %2676, align 4, !tbaa !5
  %2678 = call ptr @strerror(i32 noundef %2677) #9
  %2679 = call ptr @__errno_location() #10
  %2680 = load i32, ptr %2679, align 4, !tbaa !5
  %2681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2668, ptr noundef @.str.4, i32 noundef %2669, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 118, ptr noundef %2672, ptr noundef %2675, ptr noundef %2678, i32 noundef %2680) #9
  br label %2682

2682:                                             ; preds = %2665, %2648
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #9
  br label %2683

2683:                                             ; preds = %2682
  br label %2684

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

2685:                                             ; No predecessors!
  br label %2686

2686:                                             ; preds = %2685
  br label %2687

2687:                                             ; preds = %2686, %2627
  br label %2688

2688:                                             ; preds = %2687
  br label %2689

2689:                                             ; preds = %2688
  call void @llvm.lifetime.start.p0(i64 40, ptr %55) #9
  call void @llvm.memset.p0.i64(ptr align 8 %55, i8 0, i64 40, i1 false)
  br label %2690

2690:                                             ; preds = %2689
  %2691 = load i32, ptr @test_count, align 4, !tbaa !5
  %2692 = add nsw i32 %2691, 1
  store i32 %2692, ptr @test_count, align 4, !tbaa !5
  %2693 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %55, i32 noundef 0)
  %2694 = icmp eq i32 %2693, -1
  br i1 %2694, label %2695, label %2748

2695:                                             ; preds = %2690
  br label %2696

2696:                                             ; preds = %2695
  br label %2697

2697:                                             ; preds = %2696
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #9
  %2698 = call ptr @__errno_location() #10
  %2699 = load i32, ptr %2698, align 4, !tbaa !5
  store i32 %2699, ptr %56, align 4, !tbaa !5
  %2700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2701 = call i32 @s2n_print_stacktrace(ptr noundef %2700)
  %2702 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2703 = trunc i8 %2702 to i1
  br i1 %2703, label %2704, label %2726

2704:                                             ; preds = %2697
  %2705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2706 = call i32 @fileno(ptr noundef %2705) #9
  %2707 = call i32 @isatty(i32 noundef %2706) #9
  %2708 = icmp ne i32 %2707, 0
  br i1 %2708, label %2709, label %2726

2709:                                             ; preds = %2704
  %2710 = load i32, ptr %56, align 4, !tbaa !5
  %2711 = call ptr @__errno_location() #10
  store i32 %2710, ptr %2711, align 4, !tbaa !5
  %2712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2713 = load i32, ptr @test_count, align 4, !tbaa !5
  %2714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2715 = load i32, ptr %2714, align 4, !tbaa !5
  %2716 = call ptr @s2n_strerror(i32 noundef %2715, ptr noundef @.str.3)
  %2717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2718 = load i32, ptr %2717, align 4, !tbaa !5
  %2719 = call ptr @s2n_strerror_debug(i32 noundef %2718, ptr noundef @.str.3)
  %2720 = call ptr @__errno_location() #10
  %2721 = load i32, ptr %2720, align 4, !tbaa !5
  %2722 = call ptr @strerror(i32 noundef %2721) #9
  %2723 = call ptr @__errno_location() #10
  %2724 = load i32, ptr %2723, align 4, !tbaa !5
  %2725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2712, ptr noundef @.str, i32 noundef %2713, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 121, ptr noundef %2716, ptr noundef %2719, ptr noundef %2722, i32 noundef %2724) #9
  br label %2743

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

2743:                                             ; preds = %2726, %2709
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #9
  br label %2744

2744:                                             ; preds = %2743
  br label %2745

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

2746:                                             ; No predecessors!
  br label %2747

2747:                                             ; preds = %2746
  br label %2748

2748:                                             ; preds = %2747, %2690
  br label %2749

2749:                                             ; preds = %2748
  br label %2750

2750:                                             ; preds = %2749
  br label %2751

2751:                                             ; preds = %2750
  %2752 = load i32, ptr @test_count, align 4, !tbaa !5
  %2753 = add nsw i32 %2752, 1
  store i32 %2753, ptr @test_count, align 4, !tbaa !5
  %2754 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_cert_status_extension, i32 0, i32 3), align 8, !tbaa !45
  %2755 = load ptr, ptr %51, align 8, !tbaa !9
  %2756 = call i32 %2754(ptr noundef %2755, ptr noundef %55)
  %2757 = icmp eq i32 %2756, -1
  br i1 %2757, label %2758, label %2811

2758:                                             ; preds = %2751
  br label %2759

2759:                                             ; preds = %2758
  br label %2760

2760:                                             ; preds = %2759
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #9
  %2761 = call ptr @__errno_location() #10
  %2762 = load i32, ptr %2761, align 4, !tbaa !5
  store i32 %2762, ptr %57, align 4, !tbaa !5
  %2763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2764 = call i32 @s2n_print_stacktrace(ptr noundef %2763)
  %2765 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2766 = trunc i8 %2765 to i1
  br i1 %2766, label %2767, label %2789

2767:                                             ; preds = %2760
  %2768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2769 = call i32 @fileno(ptr noundef %2768) #9
  %2770 = call i32 @isatty(i32 noundef %2769) #9
  %2771 = icmp ne i32 %2770, 0
  br i1 %2771, label %2772, label %2789

2772:                                             ; preds = %2767
  %2773 = load i32, ptr %57, align 4, !tbaa !5
  %2774 = call ptr @__errno_location() #10
  store i32 %2773, ptr %2774, align 4, !tbaa !5
  %2775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2776 = load i32, ptr @test_count, align 4, !tbaa !5
  %2777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2778 = load i32, ptr %2777, align 4, !tbaa !5
  %2779 = call ptr @s2n_strerror(i32 noundef %2778, ptr noundef @.str.3)
  %2780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2781 = load i32, ptr %2780, align 4, !tbaa !5
  %2782 = call ptr @s2n_strerror_debug(i32 noundef %2781, ptr noundef @.str.3)
  %2783 = call ptr @__errno_location() #10
  %2784 = load i32, ptr %2783, align 4, !tbaa !5
  %2785 = call ptr @strerror(i32 noundef %2784) #9
  %2786 = call ptr @__errno_location() #10
  %2787 = load i32, ptr %2786, align 4, !tbaa !5
  %2788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2775, ptr noundef @.str, i32 noundef %2776, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 123, ptr noundef %2779, ptr noundef %2782, ptr noundef %2785, i32 noundef %2787) #9
  br label %2806

2789:                                             ; preds = %2767, %2760
  %2790 = load i32, ptr %57, align 4, !tbaa !5
  %2791 = call ptr @__errno_location() #10
  store i32 %2790, ptr %2791, align 4, !tbaa !5
  %2792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2793 = load i32, ptr @test_count, align 4, !tbaa !5
  %2794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2795 = load i32, ptr %2794, align 4, !tbaa !5
  %2796 = call ptr @s2n_strerror(i32 noundef %2795, ptr noundef @.str.3)
  %2797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2798 = load i32, ptr %2797, align 4, !tbaa !5
  %2799 = call ptr @s2n_strerror_debug(i32 noundef %2798, ptr noundef @.str.3)
  %2800 = call ptr @__errno_location() #10
  %2801 = load i32, ptr %2800, align 4, !tbaa !5
  %2802 = call ptr @strerror(i32 noundef %2801) #9
  %2803 = call ptr @__errno_location() #10
  %2804 = load i32, ptr %2803, align 4, !tbaa !5
  %2805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2792, ptr noundef @.str.4, i32 noundef %2793, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 123, ptr noundef %2796, ptr noundef %2799, ptr noundef %2802, i32 noundef %2804) #9
  br label %2806

2806:                                             ; preds = %2789, %2772
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #9
  br label %2807

2807:                                             ; preds = %2806
  br label %2808

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

2809:                                             ; No predecessors!
  br label %2810

2810:                                             ; preds = %2809
  br label %2811

2811:                                             ; preds = %2810, %2751
  br label %2812

2812:                                             ; preds = %2811
  br label %2813

2813:                                             ; preds = %2812
  br label %2814

2814:                                             ; preds = %2813
  %2815 = load i32, ptr @test_count, align 4, !tbaa !5
  %2816 = add nsw i32 %2815, 1
  store i32 %2816, ptr @test_count, align 4, !tbaa !5
  %2817 = load ptr, ptr %51, align 8, !tbaa !9
  %2818 = getelementptr inbounds %struct.s2n_connection, ptr %2817, i32 0, i32 66
  %2819 = getelementptr inbounds %struct.s2n_blob, ptr %2818, i32 0, i32 1
  %2820 = load i32, ptr %2819, align 8, !tbaa !49
  %2821 = icmp eq i32 %2820, 0
  br i1 %2821, label %2875, label %2822

2822:                                             ; preds = %2814
  br label %2823

2823:                                             ; preds = %2822
  br label %2824

2824:                                             ; preds = %2823
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #9
  %2825 = call ptr @__errno_location() #10
  %2826 = load i32, ptr %2825, align 4, !tbaa !5
  store i32 %2826, ptr %58, align 4, !tbaa !5
  %2827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2828 = call i32 @s2n_print_stacktrace(ptr noundef %2827)
  %2829 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2830 = trunc i8 %2829 to i1
  br i1 %2830, label %2831, label %2853

2831:                                             ; preds = %2824
  %2832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2833 = call i32 @fileno(ptr noundef %2832) #9
  %2834 = call i32 @isatty(i32 noundef %2833) #9
  %2835 = icmp ne i32 %2834, 0
  br i1 %2835, label %2836, label %2853

2836:                                             ; preds = %2831
  %2837 = load i32, ptr %58, align 4, !tbaa !5
  %2838 = call ptr @__errno_location() #10
  store i32 %2837, ptr %2838, align 4, !tbaa !5
  %2839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2840 = load i32, ptr @test_count, align 4, !tbaa !5
  %2841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2842 = load i32, ptr %2841, align 4, !tbaa !5
  %2843 = call ptr @s2n_strerror(i32 noundef %2842, ptr noundef @.str.3)
  %2844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2845 = load i32, ptr %2844, align 4, !tbaa !5
  %2846 = call ptr @s2n_strerror_debug(i32 noundef %2845, ptr noundef @.str.3)
  %2847 = call ptr @__errno_location() #10
  %2848 = load i32, ptr %2847, align 4, !tbaa !5
  %2849 = call ptr @strerror(i32 noundef %2848) #9
  %2850 = call ptr @__errno_location() #10
  %2851 = load i32, ptr %2850, align 4, !tbaa !5
  %2852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2839, ptr noundef @.str, i32 noundef %2840, ptr noundef @.str.34, ptr noundef @.str.2, i32 noundef 125, ptr noundef %2843, ptr noundef %2846, ptr noundef %2849, i32 noundef %2851) #9
  br label %2870

2853:                                             ; preds = %2831, %2824
  %2854 = load i32, ptr %58, align 4, !tbaa !5
  %2855 = call ptr @__errno_location() #10
  store i32 %2854, ptr %2855, align 4, !tbaa !5
  %2856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2857 = load i32, ptr @test_count, align 4, !tbaa !5
  %2858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2859 = load i32, ptr %2858, align 4, !tbaa !5
  %2860 = call ptr @s2n_strerror(i32 noundef %2859, ptr noundef @.str.3)
  %2861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2862 = load i32, ptr %2861, align 4, !tbaa !5
  %2863 = call ptr @s2n_strerror_debug(i32 noundef %2862, ptr noundef @.str.3)
  %2864 = call ptr @__errno_location() #10
  %2865 = load i32, ptr %2864, align 4, !tbaa !5
  %2866 = call ptr @strerror(i32 noundef %2865) #9
  %2867 = call ptr @__errno_location() #10
  %2868 = load i32, ptr %2867, align 4, !tbaa !5
  %2869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2856, ptr noundef @.str.4, i32 noundef %2857, ptr noundef @.str.34, ptr noundef @.str.2, i32 noundef 125, ptr noundef %2860, ptr noundef %2863, ptr noundef %2866, i32 noundef %2868) #9
  br label %2870

2870:                                             ; preds = %2853, %2836
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #9
  br label %2871

2871:                                             ; preds = %2870
  br label %2872

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

2873:                                             ; No predecessors!
  br label %2874

2874:                                             ; preds = %2873
  br label %2875

2875:                                             ; preds = %2874, %2814
  br label %2876

2876:                                             ; preds = %2875
  br label %2877

2877:                                             ; preds = %2876
  br label %2878

2878:                                             ; preds = %2877
  %2879 = load i32, ptr @test_count, align 4, !tbaa !5
  %2880 = add nsw i32 %2879, 1
  store i32 %2880, ptr @test_count, align 4, !tbaa !5
  %2881 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_cert_status_extension, i32 0, i32 4), align 8, !tbaa !50
  %2882 = load ptr, ptr %51, align 8, !tbaa !9
  %2883 = call i32 %2881(ptr noundef %2882, ptr noundef %55)
  %2884 = icmp eq i32 %2883, -1
  br i1 %2884, label %2885, label %2938

2885:                                             ; preds = %2878
  br label %2886

2886:                                             ; preds = %2885
  br label %2887

2887:                                             ; preds = %2886
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #9
  %2888 = call ptr @__errno_location() #10
  %2889 = load i32, ptr %2888, align 4, !tbaa !5
  store i32 %2889, ptr %59, align 4, !tbaa !5
  %2890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2891 = call i32 @s2n_print_stacktrace(ptr noundef %2890)
  %2892 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2893 = trunc i8 %2892 to i1
  br i1 %2893, label %2894, label %2916

2894:                                             ; preds = %2887
  %2895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2896 = call i32 @fileno(ptr noundef %2895) #9
  %2897 = call i32 @isatty(i32 noundef %2896) #9
  %2898 = icmp ne i32 %2897, 0
  br i1 %2898, label %2899, label %2916

2899:                                             ; preds = %2894
  %2900 = load i32, ptr %59, align 4, !tbaa !5
  %2901 = call ptr @__errno_location() #10
  store i32 %2900, ptr %2901, align 4, !tbaa !5
  %2902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2903 = load i32, ptr @test_count, align 4, !tbaa !5
  %2904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2905 = load i32, ptr %2904, align 4, !tbaa !5
  %2906 = call ptr @s2n_strerror(i32 noundef %2905, ptr noundef @.str.3)
  %2907 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2908 = load i32, ptr %2907, align 4, !tbaa !5
  %2909 = call ptr @s2n_strerror_debug(i32 noundef %2908, ptr noundef @.str.3)
  %2910 = call ptr @__errno_location() #10
  %2911 = load i32, ptr %2910, align 4, !tbaa !5
  %2912 = call ptr @strerror(i32 noundef %2911) #9
  %2913 = call ptr @__errno_location() #10
  %2914 = load i32, ptr %2913, align 4, !tbaa !5
  %2915 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2902, ptr noundef @.str, i32 noundef %2903, ptr noundef @.str.35, ptr noundef @.str.2, i32 noundef 126, ptr noundef %2906, ptr noundef %2909, ptr noundef %2912, i32 noundef %2914) #9
  br label %2933

2916:                                             ; preds = %2894, %2887
  %2917 = load i32, ptr %59, align 4, !tbaa !5
  %2918 = call ptr @__errno_location() #10
  store i32 %2917, ptr %2918, align 4, !tbaa !5
  %2919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2920 = load i32, ptr @test_count, align 4, !tbaa !5
  %2921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2922 = load i32, ptr %2921, align 4, !tbaa !5
  %2923 = call ptr @s2n_strerror(i32 noundef %2922, ptr noundef @.str.3)
  %2924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2925 = load i32, ptr %2924, align 4, !tbaa !5
  %2926 = call ptr @s2n_strerror_debug(i32 noundef %2925, ptr noundef @.str.3)
  %2927 = call ptr @__errno_location() #10
  %2928 = load i32, ptr %2927, align 4, !tbaa !5
  %2929 = call ptr @strerror(i32 noundef %2928) #9
  %2930 = call ptr @__errno_location() #10
  %2931 = load i32, ptr %2930, align 4, !tbaa !5
  %2932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2919, ptr noundef @.str.4, i32 noundef %2920, ptr noundef @.str.35, ptr noundef @.str.2, i32 noundef 126, ptr noundef %2923, ptr noundef %2926, ptr noundef %2929, i32 noundef %2931) #9
  br label %2933

2933:                                             ; preds = %2916, %2899
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #9
  br label %2934

2934:                                             ; preds = %2933
  br label %2935

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

2936:                                             ; No predecessors!
  br label %2937

2937:                                             ; preds = %2936
  br label %2938

2938:                                             ; preds = %2937, %2878
  br label %2939

2939:                                             ; preds = %2938
  br label %2940

2940:                                             ; preds = %2939
  br label %2941

2941:                                             ; preds = %2940
  br label %2942

2942:                                             ; preds = %2941
  %2943 = load i32, ptr @test_count, align 4, !tbaa !5
  %2944 = add nsw i32 %2943, 1
  store i32 %2944, ptr @test_count, align 4, !tbaa !5
  %2945 = load ptr, ptr %51, align 8, !tbaa !9
  %2946 = getelementptr inbounds %struct.s2n_connection, ptr %2945, i32 0, i32 66
  %2947 = getelementptr inbounds %struct.s2n_blob, ptr %2946, i32 0, i32 0
  %2948 = load ptr, ptr %2947, align 8, !tbaa !51
  %2949 = call i32 @memcmp(ptr noundef %2948, ptr noundef @ocsp_data, i64 noundef 10) #12
  %2950 = icmp eq i32 %2949, 0
  br i1 %2950, label %3004, label %2951

2951:                                             ; preds = %2942
  br label %2952

2952:                                             ; preds = %2951
  br label %2953

2953:                                             ; preds = %2952
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #9
  %2954 = call ptr @__errno_location() #10
  %2955 = load i32, ptr %2954, align 4, !tbaa !5
  store i32 %2955, ptr %60, align 4, !tbaa !5
  %2956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2957 = call i32 @s2n_print_stacktrace(ptr noundef %2956)
  %2958 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2959 = trunc i8 %2958 to i1
  br i1 %2959, label %2960, label %2982

2960:                                             ; preds = %2953
  %2961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2962 = call i32 @fileno(ptr noundef %2961) #9
  %2963 = call i32 @isatty(i32 noundef %2962) #9
  %2964 = icmp ne i32 %2963, 0
  br i1 %2964, label %2965, label %2982

2965:                                             ; preds = %2960
  %2966 = load i32, ptr %60, align 4, !tbaa !5
  %2967 = call ptr @__errno_location() #10
  store i32 %2966, ptr %2967, align 4, !tbaa !5
  %2968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2969 = load i32, ptr @test_count, align 4, !tbaa !5
  %2970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2971 = load i32, ptr %2970, align 4, !tbaa !5
  %2972 = call ptr @s2n_strerror(i32 noundef %2971, ptr noundef @.str.3)
  %2973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2974 = load i32, ptr %2973, align 4, !tbaa !5
  %2975 = call ptr @s2n_strerror_debug(i32 noundef %2974, ptr noundef @.str.3)
  %2976 = call ptr @__errno_location() #10
  %2977 = load i32, ptr %2976, align 4, !tbaa !5
  %2978 = call ptr @strerror(i32 noundef %2977) #9
  %2979 = call ptr @__errno_location() #10
  %2980 = load i32, ptr %2979, align 4, !tbaa !5
  %2981 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2968, ptr noundef @.str, i32 noundef %2969, ptr noundef @.str.36, ptr noundef @.str.2, i32 noundef 127, ptr noundef %2972, ptr noundef %2975, ptr noundef %2978, i32 noundef %2980) #9
  br label %2999

2982:                                             ; preds = %2960, %2953
  %2983 = load i32, ptr %60, align 4, !tbaa !5
  %2984 = call ptr @__errno_location() #10
  store i32 %2983, ptr %2984, align 4, !tbaa !5
  %2985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2986 = load i32, ptr @test_count, align 4, !tbaa !5
  %2987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2988 = load i32, ptr %2987, align 4, !tbaa !5
  %2989 = call ptr @s2n_strerror(i32 noundef %2988, ptr noundef @.str.3)
  %2990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2991 = load i32, ptr %2990, align 4, !tbaa !5
  %2992 = call ptr @s2n_strerror_debug(i32 noundef %2991, ptr noundef @.str.3)
  %2993 = call ptr @__errno_location() #10
  %2994 = load i32, ptr %2993, align 4, !tbaa !5
  %2995 = call ptr @strerror(i32 noundef %2994) #9
  %2996 = call ptr @__errno_location() #10
  %2997 = load i32, ptr %2996, align 4, !tbaa !5
  %2998 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2985, ptr noundef @.str.4, i32 noundef %2986, ptr noundef @.str.36, ptr noundef @.str.2, i32 noundef 127, ptr noundef %2989, ptr noundef %2992, ptr noundef %2995, i32 noundef %2997) #9
  br label %2999

2999:                                             ; preds = %2982, %2965
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #9
  br label %3000

3000:                                             ; preds = %2999
  br label %3001

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

3002:                                             ; No predecessors!
  br label %3003

3003:                                             ; preds = %3002
  br label %3004

3004:                                             ; preds = %3003, %2942
  br label %3005

3005:                                             ; preds = %3004
  br label %3006

3006:                                             ; preds = %3005
  br label %3007

3007:                                             ; preds = %3006
  br label %3008

3008:                                             ; preds = %3007
  br label %3009

3009:                                             ; preds = %3008
  %3010 = load i32, ptr @test_count, align 4, !tbaa !5
  %3011 = add nsw i32 %3010, 1
  store i32 %3011, ptr @test_count, align 4, !tbaa !5
  %3012 = getelementptr inbounds %struct.s2n_stuffer, ptr %55, i32 0, i32 2
  %3013 = load i32, ptr %3012, align 4, !tbaa !47
  %3014 = getelementptr inbounds %struct.s2n_stuffer, ptr %55, i32 0, i32 1
  %3015 = load i32, ptr %3014, align 8, !tbaa !48
  %3016 = sub i32 %3013, %3015
  %3017 = icmp eq i32 %3016, 0
  br i1 %3017, label %3071, label %3018

3018:                                             ; preds = %3009
  br label %3019

3019:                                             ; preds = %3018
  br label %3020

3020:                                             ; preds = %3019
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #9
  %3021 = call ptr @__errno_location() #10
  %3022 = load i32, ptr %3021, align 4, !tbaa !5
  store i32 %3022, ptr %61, align 4, !tbaa !5
  %3023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3024 = call i32 @s2n_print_stacktrace(ptr noundef %3023)
  %3025 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3026 = trunc i8 %3025 to i1
  br i1 %3026, label %3027, label %3049

3027:                                             ; preds = %3020
  %3028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3029 = call i32 @fileno(ptr noundef %3028) #9
  %3030 = call i32 @isatty(i32 noundef %3029) #9
  %3031 = icmp ne i32 %3030, 0
  br i1 %3031, label %3032, label %3049

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

3049:                                             ; preds = %3027, %3020
  %3050 = load i32, ptr %61, align 4, !tbaa !5
  %3051 = call ptr @__errno_location() #10
  store i32 %3050, ptr %3051, align 4, !tbaa !5
  %3052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3053 = load i32, ptr @test_count, align 4, !tbaa !5
  %3054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3055 = load i32, ptr %3054, align 4, !tbaa !5
  %3056 = call ptr @s2n_strerror(i32 noundef %3055, ptr noundef @.str.3)
  %3057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3058 = load i32, ptr %3057, align 4, !tbaa !5
  %3059 = call ptr @s2n_strerror_debug(i32 noundef %3058, ptr noundef @.str.3)
  %3060 = call ptr @__errno_location() #10
  %3061 = load i32, ptr %3060, align 4, !tbaa !5
  %3062 = call ptr @strerror(i32 noundef %3061) #9
  %3063 = call ptr @__errno_location() #10
  %3064 = load i32, ptr %3063, align 4, !tbaa !5
  %3065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3052, ptr noundef @.str.4, i32 noundef %3053, ptr noundef @.str.31, ptr noundef @.str.2, i32 noundef 129, ptr noundef %3056, ptr noundef %3059, ptr noundef %3062, i32 noundef %3064) #9
  br label %3066

3066:                                             ; preds = %3049, %3032
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #9
  br label %3067

3067:                                             ; preds = %3066
  br label %3068

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

3069:                                             ; No predecessors!
  br label %3070

3070:                                             ; preds = %3069
  br label %3071

3071:                                             ; preds = %3070, %3009
  br label %3072

3072:                                             ; preds = %3071
  br label %3073

3073:                                             ; preds = %3072
  br label %3074

3074:                                             ; preds = %3073
  %3075 = load i32, ptr @test_count, align 4, !tbaa !5
  %3076 = add nsw i32 %3075, 1
  store i32 %3076, ptr @test_count, align 4, !tbaa !5
  %3077 = call i32 @s2n_stuffer_free(ptr noundef %55)
  %3078 = icmp eq i32 %3077, -1
  br i1 %3078, label %3079, label %3132

3079:                                             ; preds = %3074
  br label %3080

3080:                                             ; preds = %3079
  br label %3081

3081:                                             ; preds = %3080
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #9
  %3082 = call ptr @__errno_location() #10
  %3083 = load i32, ptr %3082, align 4, !tbaa !5
  store i32 %3083, ptr %62, align 4, !tbaa !5
  %3084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3085 = call i32 @s2n_print_stacktrace(ptr noundef %3084)
  %3086 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3087 = trunc i8 %3086 to i1
  br i1 %3087, label %3088, label %3110

3088:                                             ; preds = %3081
  %3089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3090 = call i32 @fileno(ptr noundef %3089) #9
  %3091 = call i32 @isatty(i32 noundef %3090) #9
  %3092 = icmp ne i32 %3091, 0
  br i1 %3092, label %3093, label %3110

3093:                                             ; preds = %3088
  %3094 = load i32, ptr %62, align 4, !tbaa !5
  %3095 = call ptr @__errno_location() #10
  store i32 %3094, ptr %3095, align 4, !tbaa !5
  %3096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3097 = load i32, ptr @test_count, align 4, !tbaa !5
  %3098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3099 = load i32, ptr %3098, align 4, !tbaa !5
  %3100 = call ptr @s2n_strerror(i32 noundef %3099, ptr noundef @.str.3)
  %3101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3102 = load i32, ptr %3101, align 4, !tbaa !5
  %3103 = call ptr @s2n_strerror_debug(i32 noundef %3102, ptr noundef @.str.3)
  %3104 = call ptr @__errno_location() #10
  %3105 = load i32, ptr %3104, align 4, !tbaa !5
  %3106 = call ptr @strerror(i32 noundef %3105) #9
  %3107 = call ptr @__errno_location() #10
  %3108 = load i32, ptr %3107, align 4, !tbaa !5
  %3109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3096, ptr noundef @.str, i32 noundef %3097, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 131, ptr noundef %3100, ptr noundef %3103, ptr noundef %3106, i32 noundef %3108) #9
  br label %3127

3110:                                             ; preds = %3088, %3081
  %3111 = load i32, ptr %62, align 4, !tbaa !5
  %3112 = call ptr @__errno_location() #10
  store i32 %3111, ptr %3112, align 4, !tbaa !5
  %3113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3114 = load i32, ptr @test_count, align 4, !tbaa !5
  %3115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3116 = load i32, ptr %3115, align 4, !tbaa !5
  %3117 = call ptr @s2n_strerror(i32 noundef %3116, ptr noundef @.str.3)
  %3118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3119 = load i32, ptr %3118, align 4, !tbaa !5
  %3120 = call ptr @s2n_strerror_debug(i32 noundef %3119, ptr noundef @.str.3)
  %3121 = call ptr @__errno_location() #10
  %3122 = load i32, ptr %3121, align 4, !tbaa !5
  %3123 = call ptr @strerror(i32 noundef %3122) #9
  %3124 = call ptr @__errno_location() #10
  %3125 = load i32, ptr %3124, align 4, !tbaa !5
  %3126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3113, ptr noundef @.str.4, i32 noundef %3114, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 131, ptr noundef %3117, ptr noundef %3120, ptr noundef %3123, i32 noundef %3125) #9
  br label %3127

3127:                                             ; preds = %3110, %3093
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #9
  br label %3128

3128:                                             ; preds = %3127
  br label %3129

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

3130:                                             ; No predecessors!
  br label %3131

3131:                                             ; preds = %3130
  br label %3132

3132:                                             ; preds = %3131, %3074
  br label %3133

3133:                                             ; preds = %3132
  br label %3134

3134:                                             ; preds = %3133
  br label %3135

3135:                                             ; preds = %3134
  %3136 = load i32, ptr @test_count, align 4, !tbaa !5
  %3137 = add nsw i32 %3136, 1
  store i32 %3137, ptr @test_count, align 4, !tbaa !5
  %3138 = load ptr, ptr %51, align 8, !tbaa !9
  %3139 = call i32 @s2n_connection_free(ptr noundef %3138)
  %3140 = icmp eq i32 %3139, -1
  br i1 %3140, label %3141, label %3194

3141:                                             ; preds = %3135
  br label %3142

3142:                                             ; preds = %3141
  br label %3143

3143:                                             ; preds = %3142
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #9
  %3144 = call ptr @__errno_location() #10
  %3145 = load i32, ptr %3144, align 4, !tbaa !5
  store i32 %3145, ptr %63, align 4, !tbaa !5
  %3146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3147 = call i32 @s2n_print_stacktrace(ptr noundef %3146)
  %3148 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3149 = trunc i8 %3148 to i1
  br i1 %3149, label %3150, label %3172

3150:                                             ; preds = %3143
  %3151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3152 = call i32 @fileno(ptr noundef %3151) #9
  %3153 = call i32 @isatty(i32 noundef %3152) #9
  %3154 = icmp ne i32 %3153, 0
  br i1 %3154, label %3155, label %3172

3155:                                             ; preds = %3150
  %3156 = load i32, ptr %63, align 4, !tbaa !5
  %3157 = call ptr @__errno_location() #10
  store i32 %3156, ptr %3157, align 4, !tbaa !5
  %3158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3159 = load i32, ptr @test_count, align 4, !tbaa !5
  %3160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3161 = load i32, ptr %3160, align 4, !tbaa !5
  %3162 = call ptr @s2n_strerror(i32 noundef %3161, ptr noundef @.str.3)
  %3163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3164 = load i32, ptr %3163, align 4, !tbaa !5
  %3165 = call ptr @s2n_strerror_debug(i32 noundef %3164, ptr noundef @.str.3)
  %3166 = call ptr @__errno_location() #10
  %3167 = load i32, ptr %3166, align 4, !tbaa !5
  %3168 = call ptr @strerror(i32 noundef %3167) #9
  %3169 = call ptr @__errno_location() #10
  %3170 = load i32, ptr %3169, align 4, !tbaa !5
  %3171 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3158, ptr noundef @.str, i32 noundef %3159, ptr noundef @.str.19, ptr noundef @.str.2, i32 noundef 132, ptr noundef %3162, ptr noundef %3165, ptr noundef %3168, i32 noundef %3170) #9
  br label %3189

3172:                                             ; preds = %3150, %3143
  %3173 = load i32, ptr %63, align 4, !tbaa !5
  %3174 = call ptr @__errno_location() #10
  store i32 %3173, ptr %3174, align 4, !tbaa !5
  %3175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3176 = load i32, ptr @test_count, align 4, !tbaa !5
  %3177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3178 = load i32, ptr %3177, align 4, !tbaa !5
  %3179 = call ptr @s2n_strerror(i32 noundef %3178, ptr noundef @.str.3)
  %3180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3181 = load i32, ptr %3180, align 4, !tbaa !5
  %3182 = call ptr @s2n_strerror_debug(i32 noundef %3181, ptr noundef @.str.3)
  %3183 = call ptr @__errno_location() #10
  %3184 = load i32, ptr %3183, align 4, !tbaa !5
  %3185 = call ptr @strerror(i32 noundef %3184) #9
  %3186 = call ptr @__errno_location() #10
  %3187 = load i32, ptr %3186, align 4, !tbaa !5
  %3188 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3175, ptr noundef @.str.4, i32 noundef %3176, ptr noundef @.str.19, ptr noundef @.str.2, i32 noundef 132, ptr noundef %3179, ptr noundef %3182, ptr noundef %3185, i32 noundef %3187) #9
  br label %3189

3189:                                             ; preds = %3172, %3155
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #9
  br label %3190

3190:                                             ; preds = %3189
  br label %3191

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

3192:                                             ; No predecessors!
  br label %3193

3193:                                             ; preds = %3192
  br label %3194

3194:                                             ; preds = %3193, %3135
  br label %3195

3195:                                             ; preds = %3194
  br label %3196

3196:                                             ; preds = %3195
  call void @llvm.lifetime.end.p0(i64 40, ptr %55) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #9
  %3197 = call i32 @s2n_config_ptr_free(ptr noundef %49)
  %3198 = getelementptr inbounds %struct.s2n_result, ptr %64, i32 0, i32 0
  store i32 %3197, ptr %3198, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %65) #9
  store ptr null, ptr %65, align 8, !tbaa !9
  br label %3199

3199:                                             ; preds = %3196
  %3200 = load i32, ptr @test_count, align 4, !tbaa !5
  %3201 = add nsw i32 %3200, 1
  store i32 %3201, ptr @test_count, align 4, !tbaa !5
  %3202 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %3202, ptr %65, align 8, !tbaa !9
  %3203 = icmp eq ptr %3202, null
  br i1 %3203, label %3204, label %3257

3204:                                             ; preds = %3199
  br label %3205

3205:                                             ; preds = %3204
  br label %3206

3206:                                             ; preds = %3205
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #9
  %3207 = call ptr @__errno_location() #10
  %3208 = load i32, ptr %3207, align 4, !tbaa !5
  store i32 %3208, ptr %66, align 4, !tbaa !5
  %3209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3210 = call i32 @s2n_print_stacktrace(ptr noundef %3209)
  %3211 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3212 = trunc i8 %3211 to i1
  br i1 %3212, label %3213, label %3235

3213:                                             ; preds = %3206
  %3214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3215 = call i32 @fileno(ptr noundef %3214) #9
  %3216 = call i32 @isatty(i32 noundef %3215) #9
  %3217 = icmp ne i32 %3216, 0
  br i1 %3217, label %3218, label %3235

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

3235:                                             ; preds = %3213, %3206
  %3236 = load i32, ptr %66, align 4, !tbaa !5
  %3237 = call ptr @__errno_location() #10
  store i32 %3236, ptr %3237, align 4, !tbaa !5
  %3238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3239 = load i32, ptr @test_count, align 4, !tbaa !5
  %3240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3241 = load i32, ptr %3240, align 4, !tbaa !5
  %3242 = call ptr @s2n_strerror(i32 noundef %3241, ptr noundef @.str.3)
  %3243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3244 = load i32, ptr %3243, align 4, !tbaa !5
  %3245 = call ptr @s2n_strerror_debug(i32 noundef %3244, ptr noundef @.str.3)
  %3246 = call ptr @__errno_location() #10
  %3247 = load i32, ptr %3246, align 4, !tbaa !5
  %3248 = call ptr @strerror(i32 noundef %3247) #9
  %3249 = call ptr @__errno_location() #10
  %3250 = load i32, ptr %3249, align 4, !tbaa !5
  %3251 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3238, ptr noundef @.str.4, i32 noundef %3239, ptr noundef @.str.21, ptr noundef @.str.2, i32 noundef 138, ptr noundef %3242, ptr noundef %3245, ptr noundef %3248, i32 noundef %3250) #9
  br label %3252

3252:                                             ; preds = %3235, %3218
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #9
  br label %3253

3253:                                             ; preds = %3252
  br label %3254

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

3255:                                             ; No predecessors!
  br label %3256

3256:                                             ; preds = %3255
  br label %3257

3257:                                             ; preds = %3256, %3199
  br label %3258

3258:                                             ; preds = %3257
  br label %3259

3259:                                             ; preds = %3258
  br label %3260

3260:                                             ; preds = %3259
  %3261 = load i32, ptr @test_count, align 4, !tbaa !5
  %3262 = add nsw i32 %3261, 1
  store i32 %3262, ptr @test_count, align 4, !tbaa !5
  %3263 = load ptr, ptr %65, align 8, !tbaa !9
  %3264 = load ptr, ptr %9, align 8, !tbaa !9
  %3265 = call i32 @s2n_test_enable_sending_extension(ptr noundef %3263, ptr noundef %3264)
  %3266 = icmp eq i32 %3265, -1
  br i1 %3266, label %3267, label %3320

3267:                                             ; preds = %3260
  br label %3268

3268:                                             ; preds = %3267
  br label %3269

3269:                                             ; preds = %3268
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #9
  %3270 = call ptr @__errno_location() #10
  %3271 = load i32, ptr %3270, align 4, !tbaa !5
  store i32 %3271, ptr %67, align 4, !tbaa !5
  %3272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3273 = call i32 @s2n_print_stacktrace(ptr noundef %3272)
  %3274 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3275 = trunc i8 %3274 to i1
  br i1 %3275, label %3276, label %3298

3276:                                             ; preds = %3269
  %3277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3278 = call i32 @fileno(ptr noundef %3277) #9
  %3279 = call i32 @isatty(i32 noundef %3278) #9
  %3280 = icmp ne i32 %3279, 0
  br i1 %3280, label %3281, label %3298

3281:                                             ; preds = %3276
  %3282 = load i32, ptr %67, align 4, !tbaa !5
  %3283 = call ptr @__errno_location() #10
  store i32 %3282, ptr %3283, align 4, !tbaa !5
  %3284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3285 = load i32, ptr @test_count, align 4, !tbaa !5
  %3286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3287 = load i32, ptr %3286, align 4, !tbaa !5
  %3288 = call ptr @s2n_strerror(i32 noundef %3287, ptr noundef @.str.3)
  %3289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3290 = load i32, ptr %3289, align 4, !tbaa !5
  %3291 = call ptr @s2n_strerror_debug(i32 noundef %3290, ptr noundef @.str.3)
  %3292 = call ptr @__errno_location() #10
  %3293 = load i32, ptr %3292, align 4, !tbaa !5
  %3294 = call ptr @strerror(i32 noundef %3293) #9
  %3295 = call ptr @__errno_location() #10
  %3296 = load i32, ptr %3295, align 4, !tbaa !5
  %3297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3284, ptr noundef @.str, i32 noundef %3285, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 139, ptr noundef %3288, ptr noundef %3291, ptr noundef %3294, i32 noundef %3296) #9
  br label %3315

3298:                                             ; preds = %3276, %3269
  %3299 = load i32, ptr %67, align 4, !tbaa !5
  %3300 = call ptr @__errno_location() #10
  store i32 %3299, ptr %3300, align 4, !tbaa !5
  %3301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3302 = load i32, ptr @test_count, align 4, !tbaa !5
  %3303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3304 = load i32, ptr %3303, align 4, !tbaa !5
  %3305 = call ptr @s2n_strerror(i32 noundef %3304, ptr noundef @.str.3)
  %3306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3307 = load i32, ptr %3306, align 4, !tbaa !5
  %3308 = call ptr @s2n_strerror_debug(i32 noundef %3307, ptr noundef @.str.3)
  %3309 = call ptr @__errno_location() #10
  %3310 = load i32, ptr %3309, align 4, !tbaa !5
  %3311 = call ptr @strerror(i32 noundef %3310) #9
  %3312 = call ptr @__errno_location() #10
  %3313 = load i32, ptr %3312, align 4, !tbaa !5
  %3314 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3301, ptr noundef @.str.4, i32 noundef %3302, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 139, ptr noundef %3305, ptr noundef %3308, ptr noundef %3311, i32 noundef %3313) #9
  br label %3315

3315:                                             ; preds = %3298, %3281
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #9
  br label %3316

3316:                                             ; preds = %3315
  br label %3317

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

3318:                                             ; No predecessors!
  br label %3319

3319:                                             ; preds = %3318
  br label %3320

3320:                                             ; preds = %3319, %3260
  br label %3321

3321:                                             ; preds = %3320
  br label %3322

3322:                                             ; preds = %3321
  call void @llvm.lifetime.start.p0(i64 40, ptr %68) #9
  call void @llvm.memset.p0.i64(ptr align 8 %68, i8 0, i64 40, i1 false)
  br label %3323

3323:                                             ; preds = %3322
  %3324 = load i32, ptr @test_count, align 4, !tbaa !5
  %3325 = add nsw i32 %3324, 1
  store i32 %3325, ptr @test_count, align 4, !tbaa !5
  %3326 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %68, i32 noundef 0)
  %3327 = icmp eq i32 %3326, -1
  br i1 %3327, label %3328, label %3381

3328:                                             ; preds = %3323
  br label %3329

3329:                                             ; preds = %3328
  br label %3330

3330:                                             ; preds = %3329
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #9
  %3331 = call ptr @__errno_location() #10
  %3332 = load i32, ptr %3331, align 4, !tbaa !5
  store i32 %3332, ptr %69, align 4, !tbaa !5
  %3333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3334 = call i32 @s2n_print_stacktrace(ptr noundef %3333)
  %3335 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3336 = trunc i8 %3335 to i1
  br i1 %3336, label %3337, label %3359

3337:                                             ; preds = %3330
  %3338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3339 = call i32 @fileno(ptr noundef %3338) #9
  %3340 = call i32 @isatty(i32 noundef %3339) #9
  %3341 = icmp ne i32 %3340, 0
  br i1 %3341, label %3342, label %3359

3342:                                             ; preds = %3337
  %3343 = load i32, ptr %69, align 4, !tbaa !5
  %3344 = call ptr @__errno_location() #10
  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.3)
  %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.3)
  %3353 = call ptr @__errno_location() #10
  %3354 = load i32, ptr %3353, align 4, !tbaa !5
  %3355 = call ptr @strerror(i32 noundef %3354) #9
  %3356 = call ptr @__errno_location() #10
  %3357 = load i32, ptr %3356, align 4, !tbaa !5
  %3358 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3345, ptr noundef @.str, i32 noundef %3346, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 142, ptr noundef %3349, ptr noundef %3352, ptr noundef %3355, i32 noundef %3357) #9
  br label %3376

3359:                                             ; preds = %3337, %3330
  %3360 = load i32, ptr %69, align 4, !tbaa !5
  %3361 = call ptr @__errno_location() #10
  store i32 %3360, ptr %3361, align 4, !tbaa !5
  %3362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3363 = load i32, ptr @test_count, align 4, !tbaa !5
  %3364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3365 = load i32, ptr %3364, align 4, !tbaa !5
  %3366 = call ptr @s2n_strerror(i32 noundef %3365, ptr noundef @.str.3)
  %3367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3368 = load i32, ptr %3367, align 4, !tbaa !5
  %3369 = call ptr @s2n_strerror_debug(i32 noundef %3368, ptr noundef @.str.3)
  %3370 = call ptr @__errno_location() #10
  %3371 = load i32, ptr %3370, align 4, !tbaa !5
  %3372 = call ptr @strerror(i32 noundef %3371) #9
  %3373 = call ptr @__errno_location() #10
  %3374 = load i32, ptr %3373, align 4, !tbaa !5
  %3375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3362, ptr noundef @.str.4, i32 noundef %3363, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 142, ptr noundef %3366, ptr noundef %3369, ptr noundef %3372, i32 noundef %3374) #9
  br label %3376

3376:                                             ; preds = %3359, %3342
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #9
  br label %3377

3377:                                             ; preds = %3376
  br label %3378

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

3379:                                             ; No predecessors!
  br label %3380

3380:                                             ; preds = %3379
  br label %3381

3381:                                             ; preds = %3380, %3323
  br label %3382

3382:                                             ; preds = %3381
  br label %3383

3383:                                             ; preds = %3382
  br label %3384

3384:                                             ; preds = %3383
  %3385 = load i32, ptr @test_count, align 4, !tbaa !5
  %3386 = add nsw i32 %3385, 1
  store i32 %3386, ptr @test_count, align 4, !tbaa !5
  %3387 = call i32 @s2n_stuffer_write_uint8(ptr noundef %68, i8 noundef zeroext 0)
  %3388 = icmp eq i32 %3387, -1
  br i1 %3388, label %3389, label %3442

3389:                                             ; preds = %3384
  br label %3390

3390:                                             ; preds = %3389
  br label %3391

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

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

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

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

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

3438:                                             ; preds = %3437
  br label %3439

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

3440:                                             ; No predecessors!
  br label %3441

3441:                                             ; preds = %3440
  br label %3442

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

3443:                                             ; preds = %3442
  br label %3444

3444:                                             ; preds = %3443
  br label %3445

3445:                                             ; preds = %3444
  %3446 = load i32, ptr @test_count, align 4, !tbaa !5
  %3447 = add nsw i32 %3446, 1
  store i32 %3447, ptr @test_count, align 4, !tbaa !5
  %3448 = load ptr, ptr %65, align 8, !tbaa !9
  %3449 = getelementptr inbounds %struct.s2n_connection, ptr %3448, i32 0, i32 66
  %3450 = getelementptr inbounds %struct.s2n_blob, ptr %3449, i32 0, i32 1
  %3451 = load i32, ptr %3450, align 8, !tbaa !49
  %3452 = icmp eq i32 %3451, 0
  br i1 %3452, label %3506, label %3453

3453:                                             ; preds = %3445
  br label %3454

3454:                                             ; preds = %3453
  br label %3455

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

3462:                                             ; preds = %3455
  %3463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3464 = call i32 @fileno(ptr noundef %3463) #9
  %3465 = call i32 @isatty(i32 noundef %3464) #9
  %3466 = icmp ne i32 %3465, 0
  br i1 %3466, label %3467, label %3484

3467:                                             ; preds = %3462
  %3468 = load i32, ptr %71, align 4, !tbaa !5
  %3469 = call ptr @__errno_location() #10
  store i32 %3468, ptr %3469, align 4, !tbaa !5
  %3470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3471 = load i32, ptr @test_count, align 4, !tbaa !5
  %3472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3473 = load i32, ptr %3472, align 4, !tbaa !5
  %3474 = call ptr @s2n_strerror(i32 noundef %3473, ptr noundef @.str.3)
  %3475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3476 = load i32, ptr %3475, align 4, !tbaa !5
  %3477 = call ptr @s2n_strerror_debug(i32 noundef %3476, ptr noundef @.str.3)
  %3478 = call ptr @__errno_location() #10
  %3479 = load i32, ptr %3478, align 4, !tbaa !5
  %3480 = call ptr @strerror(i32 noundef %3479) #9
  %3481 = call ptr @__errno_location() #10
  %3482 = load i32, ptr %3481, align 4, !tbaa !5
  %3483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3470, ptr noundef @.str, i32 noundef %3471, ptr noundef @.str.34, ptr noundef @.str.2, i32 noundef 146, ptr noundef %3474, ptr noundef %3477, ptr noundef %3480, i32 noundef %3482) #9
  br label %3501

3484:                                             ; preds = %3462, %3455
  %3485 = load i32, ptr %71, align 4, !tbaa !5
  %3486 = call ptr @__errno_location() #10
  store i32 %3485, ptr %3486, align 4, !tbaa !5
  %3487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3488 = load i32, ptr @test_count, align 4, !tbaa !5
  %3489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3490 = load i32, ptr %3489, align 4, !tbaa !5
  %3491 = call ptr @s2n_strerror(i32 noundef %3490, ptr noundef @.str.3)
  %3492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3493 = load i32, ptr %3492, align 4, !tbaa !5
  %3494 = call ptr @s2n_strerror_debug(i32 noundef %3493, ptr noundef @.str.3)
  %3495 = call ptr @__errno_location() #10
  %3496 = load i32, ptr %3495, align 4, !tbaa !5
  %3497 = call ptr @strerror(i32 noundef %3496) #9
  %3498 = call ptr @__errno_location() #10
  %3499 = load i32, ptr %3498, align 4, !tbaa !5
  %3500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3487, ptr noundef @.str.4, i32 noundef %3488, ptr noundef @.str.34, ptr noundef @.str.2, i32 noundef 146, ptr noundef %3491, ptr noundef %3494, ptr noundef %3497, i32 noundef %3499) #9
  br label %3501

3501:                                             ; preds = %3484, %3467
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #9
  br label %3502

3502:                                             ; preds = %3501
  br label %3503

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

3504:                                             ; No predecessors!
  br label %3505

3505:                                             ; preds = %3504
  br label %3506

3506:                                             ; preds = %3505, %3445
  br label %3507

3507:                                             ; preds = %3506
  br label %3508

3508:                                             ; preds = %3507
  br label %3509

3509:                                             ; preds = %3508
  %3510 = load i32, ptr @test_count, align 4, !tbaa !5
  %3511 = add nsw i32 %3510, 1
  store i32 %3511, ptr @test_count, align 4, !tbaa !5
  %3512 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_cert_status_extension, i32 0, i32 4), align 8, !tbaa !50
  %3513 = load ptr, ptr %65, align 8, !tbaa !9
  %3514 = call i32 %3512(ptr noundef %3513, ptr noundef %68)
  %3515 = icmp eq i32 %3514, -1
  br i1 %3515, label %3516, label %3569

3516:                                             ; preds = %3509
  br label %3517

3517:                                             ; preds = %3516
  br label %3518

3518:                                             ; preds = %3517
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #9
  %3519 = call ptr @__errno_location() #10
  %3520 = load i32, ptr %3519, align 4, !tbaa !5
  store i32 %3520, ptr %72, align 4, !tbaa !5
  %3521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3522 = call i32 @s2n_print_stacktrace(ptr noundef %3521)
  %3523 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3524 = trunc i8 %3523 to i1
  br i1 %3524, label %3525, label %3547

3525:                                             ; preds = %3518
  %3526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3527 = call i32 @fileno(ptr noundef %3526) #9
  %3528 = call i32 @isatty(i32 noundef %3527) #9
  %3529 = icmp ne i32 %3528, 0
  br i1 %3529, label %3530, label %3547

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

3547:                                             ; preds = %3525, %3518
  %3548 = load i32, ptr %72, align 4, !tbaa !5
  %3549 = call ptr @__errno_location() #10
  store i32 %3548, ptr %3549, align 4, !tbaa !5
  %3550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3551 = load i32, ptr @test_count, align 4, !tbaa !5
  %3552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3553 = load i32, ptr %3552, align 4, !tbaa !5
  %3554 = call ptr @s2n_strerror(i32 noundef %3553, ptr noundef @.str.3)
  %3555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3556 = load i32, ptr %3555, align 4, !tbaa !5
  %3557 = call ptr @s2n_strerror_debug(i32 noundef %3556, ptr noundef @.str.3)
  %3558 = call ptr @__errno_location() #10
  %3559 = load i32, ptr %3558, align 4, !tbaa !5
  %3560 = call ptr @strerror(i32 noundef %3559) #9
  %3561 = call ptr @__errno_location() #10
  %3562 = load i32, ptr %3561, align 4, !tbaa !5
  %3563 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3550, ptr noundef @.str.4, i32 noundef %3551, ptr noundef @.str.35, ptr noundef @.str.2, i32 noundef 147, ptr noundef %3554, ptr noundef %3557, ptr noundef %3560, i32 noundef %3562) #9
  br label %3564

3564:                                             ; preds = %3547, %3530
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #9
  br label %3565

3565:                                             ; preds = %3564
  br label %3566

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

3567:                                             ; No predecessors!
  br label %3568

3568:                                             ; preds = %3567
  br label %3569

3569:                                             ; preds = %3568, %3509
  br label %3570

3570:                                             ; preds = %3569
  br label %3571

3571:                                             ; preds = %3570
  br label %3572

3572:                                             ; preds = %3571
  %3573 = load i32, ptr @test_count, align 4, !tbaa !5
  %3574 = add nsw i32 %3573, 1
  store i32 %3574, ptr @test_count, align 4, !tbaa !5
  %3575 = load ptr, ptr %65, align 8, !tbaa !9
  %3576 = getelementptr inbounds %struct.s2n_connection, ptr %3575, i32 0, i32 66
  %3577 = getelementptr inbounds %struct.s2n_blob, ptr %3576, i32 0, i32 1
  %3578 = load i32, ptr %3577, align 8, !tbaa !49
  %3579 = icmp eq i32 %3578, 0
  br i1 %3579, label %3633, label %3580

3580:                                             ; preds = %3572
  br label %3581

3581:                                             ; preds = %3580
  br label %3582

3582:                                             ; preds = %3581
  call void @llvm.lifetime.start.p0(i64 4, ptr %73) #9
  %3583 = call ptr @__errno_location() #10
  %3584 = load i32, ptr %3583, align 4, !tbaa !5
  store i32 %3584, ptr %73, align 4, !tbaa !5
  %3585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3586 = call i32 @s2n_print_stacktrace(ptr noundef %3585)
  %3587 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3588 = trunc i8 %3587 to i1
  br i1 %3588, label %3589, label %3611

3589:                                             ; preds = %3582
  %3590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3591 = call i32 @fileno(ptr noundef %3590) #9
  %3592 = call i32 @isatty(i32 noundef %3591) #9
  %3593 = icmp ne i32 %3592, 0
  br i1 %3593, label %3594, label %3611

3594:                                             ; preds = %3589
  %3595 = load i32, ptr %73, align 4, !tbaa !5
  %3596 = call ptr @__errno_location() #10
  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.3)
  %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.3)
  %3605 = call ptr @__errno_location() #10
  %3606 = load i32, ptr %3605, align 4, !tbaa !5
  %3607 = call ptr @strerror(i32 noundef %3606) #9
  %3608 = call ptr @__errno_location() #10
  %3609 = load i32, ptr %3608, align 4, !tbaa !5
  %3610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3597, ptr noundef @.str, i32 noundef %3598, ptr noundef @.str.34, ptr noundef @.str.2, i32 noundef 148, ptr noundef %3601, ptr noundef %3604, ptr noundef %3607, i32 noundef %3609) #9
  br label %3628

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

3628:                                             ; preds = %3611, %3594
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #9
  br label %3629

3629:                                             ; preds = %3628
  br label %3630

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

3631:                                             ; No predecessors!
  br label %3632

3632:                                             ; preds = %3631
  br label %3633

3633:                                             ; preds = %3632, %3572
  br label %3634

3634:                                             ; preds = %3633
  br label %3635

3635:                                             ; preds = %3634
  br label %3636

3636:                                             ; preds = %3635
  %3637 = load i32, ptr @test_count, align 4, !tbaa !5
  %3638 = add nsw i32 %3637, 1
  store i32 %3638, ptr @test_count, align 4, !tbaa !5
  %3639 = call i32 @s2n_stuffer_free(ptr noundef %68)
  %3640 = icmp eq i32 %3639, -1
  br i1 %3640, label %3641, label %3694

3641:                                             ; preds = %3636
  br label %3642

3642:                                             ; preds = %3641
  br label %3643

3643:                                             ; preds = %3642
  call void @llvm.lifetime.start.p0(i64 4, ptr %74) #9
  %3644 = call ptr @__errno_location() #10
  %3645 = load i32, ptr %3644, align 4, !tbaa !5
  store i32 %3645, ptr %74, align 4, !tbaa !5
  %3646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3647 = call i32 @s2n_print_stacktrace(ptr noundef %3646)
  %3648 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3649 = trunc i8 %3648 to i1
  br i1 %3649, label %3650, label %3672

3650:                                             ; preds = %3643
  %3651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3652 = call i32 @fileno(ptr noundef %3651) #9
  %3653 = call i32 @isatty(i32 noundef %3652) #9
  %3654 = icmp ne i32 %3653, 0
  br i1 %3654, label %3655, label %3672

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

3672:                                             ; preds = %3650, %3643
  %3673 = load i32, ptr %74, align 4, !tbaa !5
  %3674 = call ptr @__errno_location() #10
  store i32 %3673, ptr %3674, align 4, !tbaa !5
  %3675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3676 = load i32, ptr @test_count, align 4, !tbaa !5
  %3677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3678 = load i32, ptr %3677, align 4, !tbaa !5
  %3679 = call ptr @s2n_strerror(i32 noundef %3678, ptr noundef @.str.3)
  %3680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3681 = load i32, ptr %3680, align 4, !tbaa !5
  %3682 = call ptr @s2n_strerror_debug(i32 noundef %3681, ptr noundef @.str.3)
  %3683 = call ptr @__errno_location() #10
  %3684 = load i32, ptr %3683, align 4, !tbaa !5
  %3685 = call ptr @strerror(i32 noundef %3684) #9
  %3686 = call ptr @__errno_location() #10
  %3687 = load i32, ptr %3686, align 4, !tbaa !5
  %3688 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3675, ptr noundef @.str.4, i32 noundef %3676, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 150, ptr noundef %3679, ptr noundef %3682, ptr noundef %3685, i32 noundef %3687) #9
  br label %3689

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

3690:                                             ; preds = %3689
  br label %3691

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

3692:                                             ; No predecessors!
  br label %3693

3693:                                             ; preds = %3692
  br label %3694

3694:                                             ; preds = %3693, %3636
  br label %3695

3695:                                             ; preds = %3694
  br label %3696

3696:                                             ; preds = %3695
  br label %3697

3697:                                             ; preds = %3696
  %3698 = load i32, ptr @test_count, align 4, !tbaa !5
  %3699 = add nsw i32 %3698, 1
  store i32 %3699, ptr @test_count, align 4, !tbaa !5
  %3700 = load ptr, ptr %65, align 8, !tbaa !9
  %3701 = call i32 @s2n_connection_free(ptr noundef %3700)
  %3702 = icmp eq i32 %3701, -1
  br i1 %3702, label %3703, label %3756

3703:                                             ; preds = %3697
  br label %3704

3704:                                             ; preds = %3703
  br label %3705

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

3712:                                             ; preds = %3705
  %3713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3714 = call i32 @fileno(ptr noundef %3713) #9
  %3715 = call i32 @isatty(i32 noundef %3714) #9
  %3716 = icmp ne i32 %3715, 0
  br i1 %3716, label %3717, label %3734

3717:                                             ; preds = %3712
  %3718 = load i32, ptr %75, align 4, !tbaa !5
  %3719 = call ptr @__errno_location() #10
  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.3)
  %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.3)
  %3728 = call ptr @__errno_location() #10
  %3729 = load i32, ptr %3728, align 4, !tbaa !5
  %3730 = call ptr @strerror(i32 noundef %3729) #9
  %3731 = call ptr @__errno_location() #10
  %3732 = load i32, ptr %3731, align 4, !tbaa !5
  %3733 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3720, ptr noundef @.str, i32 noundef %3721, ptr noundef @.str.19, ptr noundef @.str.2, i32 noundef 151, ptr noundef %3724, ptr noundef %3727, ptr noundef %3730, i32 noundef %3732) #9
  br label %3751

3734:                                             ; preds = %3712, %3705
  %3735 = load i32, ptr %75, align 4, !tbaa !5
  %3736 = call ptr @__errno_location() #10
  store i32 %3735, ptr %3736, align 4, !tbaa !5
  %3737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3738 = load i32, ptr @test_count, align 4, !tbaa !5
  %3739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3740 = load i32, ptr %3739, align 4, !tbaa !5
  %3741 = call ptr @s2n_strerror(i32 noundef %3740, ptr noundef @.str.3)
  %3742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3743 = load i32, ptr %3742, align 4, !tbaa !5
  %3744 = call ptr @s2n_strerror_debug(i32 noundef %3743, ptr noundef @.str.3)
  %3745 = call ptr @__errno_location() #10
  %3746 = load i32, ptr %3745, align 4, !tbaa !5
  %3747 = call ptr @strerror(i32 noundef %3746) #9
  %3748 = call ptr @__errno_location() #10
  %3749 = load i32, ptr %3748, align 4, !tbaa !5
  %3750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3737, ptr noundef @.str.4, i32 noundef %3738, ptr noundef @.str.19, ptr noundef @.str.2, i32 noundef 151, ptr noundef %3741, ptr noundef %3744, ptr noundef %3747, i32 noundef %3749) #9
  br label %3751

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

3752:                                             ; preds = %3751
  br label %3753

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

3754:                                             ; No predecessors!
  br label %3755

3755:                                             ; preds = %3754
  br label %3756

3756:                                             ; preds = %3755, %3697
  br label %3757

3757:                                             ; preds = %3756
  br label %3758

3758:                                             ; preds = %3757
  call void @llvm.lifetime.end.p0(i64 40, ptr %68) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %76) #9
  %3759 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %3759, ptr %76, align 8, !tbaa !9
  br label %3760

3760:                                             ; preds = %3758
  %3761 = load i32, ptr @test_count, align 4, !tbaa !5
  %3762 = add nsw i32 %3761, 1
  store i32 %3762, ptr @test_count, align 4, !tbaa !5
  %3763 = load ptr, ptr %76, align 8, !tbaa !9
  %3764 = icmp eq ptr %3763, null
  br i1 %3764, label %3765, label %3818

3765:                                             ; preds = %3760
  br label %3766

3766:                                             ; preds = %3765
  br label %3767

3767:                                             ; preds = %3766
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #9
  %3768 = call ptr @__errno_location() #10
  %3769 = load i32, ptr %3768, align 4, !tbaa !5
  store i32 %3769, ptr %77, align 4, !tbaa !5
  %3770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3771 = call i32 @s2n_print_stacktrace(ptr noundef %3770)
  %3772 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3773 = trunc i8 %3772 to i1
  br i1 %3773, label %3774, label %3796

3774:                                             ; preds = %3767
  %3775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3776 = call i32 @fileno(ptr noundef %3775) #9
  %3777 = call i32 @isatty(i32 noundef %3776) #9
  %3778 = icmp ne i32 %3777, 0
  br i1 %3778, label %3779, label %3796

3779:                                             ; preds = %3774
  %3780 = load i32, ptr %77, align 4, !tbaa !5
  %3781 = call ptr @__errno_location() #10
  store i32 %3780, ptr %3781, align 4, !tbaa !5
  %3782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3783 = load i32, ptr @test_count, align 4, !tbaa !5
  %3784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3785 = load i32, ptr %3784, align 4, !tbaa !5
  %3786 = call ptr @s2n_strerror(i32 noundef %3785, ptr noundef @.str.3)
  %3787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3788 = load i32, ptr %3787, align 4, !tbaa !5
  %3789 = call ptr @s2n_strerror_debug(i32 noundef %3788, ptr noundef @.str.3)
  %3790 = call ptr @__errno_location() #10
  %3791 = load i32, ptr %3790, align 4, !tbaa !5
  %3792 = call ptr @strerror(i32 noundef %3791) #9
  %3793 = call ptr @__errno_location() #10
  %3794 = load i32, ptr %3793, align 4, !tbaa !5
  %3795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3782, ptr noundef @.str, i32 noundef %3783, ptr noundef @.str.38, ptr noundef @.str.2, i32 noundef 157, ptr noundef %3786, ptr noundef %3789, ptr noundef %3792, i32 noundef %3794) #9
  br label %3813

3796:                                             ; preds = %3774, %3767
  %3797 = load i32, ptr %77, align 4, !tbaa !5
  %3798 = call ptr @__errno_location() #10
  store i32 %3797, ptr %3798, align 4, !tbaa !5
  %3799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3800 = load i32, ptr @test_count, align 4, !tbaa !5
  %3801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3802 = load i32, ptr %3801, align 4, !tbaa !5
  %3803 = call ptr @s2n_strerror(i32 noundef %3802, ptr noundef @.str.3)
  %3804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3805 = load i32, ptr %3804, align 4, !tbaa !5
  %3806 = call ptr @s2n_strerror_debug(i32 noundef %3805, ptr noundef @.str.3)
  %3807 = call ptr @__errno_location() #10
  %3808 = load i32, ptr %3807, align 4, !tbaa !5
  %3809 = call ptr @strerror(i32 noundef %3808) #9
  %3810 = call ptr @__errno_location() #10
  %3811 = load i32, ptr %3810, align 4, !tbaa !5
  %3812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3799, ptr noundef @.str.4, i32 noundef %3800, ptr noundef @.str.38, ptr noundef @.str.2, i32 noundef 157, ptr noundef %3803, ptr noundef %3806, ptr noundef %3809, i32 noundef %3811) #9
  br label %3813

3813:                                             ; preds = %3796, %3779
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #9
  br label %3814

3814:                                             ; preds = %3813
  br label %3815

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

3816:                                             ; No predecessors!
  br label %3817

3817:                                             ; preds = %3816
  br label %3818

3818:                                             ; preds = %3817, %3760
  br label %3819

3819:                                             ; preds = %3818
  br label %3820

3820:                                             ; preds = %3819
  br label %3821

3821:                                             ; preds = %3820
  %3822 = load i32, ptr @test_count, align 4, !tbaa !5
  %3823 = add nsw i32 %3822, 1
  store i32 %3823, ptr @test_count, align 4, !tbaa !5
  %3824 = load ptr, ptr %76, align 8, !tbaa !9
  %3825 = load ptr, ptr %9, align 8, !tbaa !9
  %3826 = call i32 @s2n_test_enable_sending_extension(ptr noundef %3824, ptr noundef %3825)
  %3827 = icmp eq i32 %3826, -1
  br i1 %3827, label %3828, label %3881

3828:                                             ; preds = %3821
  br label %3829

3829:                                             ; preds = %3828
  br label %3830

3830:                                             ; preds = %3829
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #9
  %3831 = call ptr @__errno_location() #10
  %3832 = load i32, ptr %3831, align 4, !tbaa !5
  store i32 %3832, ptr %78, align 4, !tbaa !5
  %3833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3834 = call i32 @s2n_print_stacktrace(ptr noundef %3833)
  %3835 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3836 = trunc i8 %3835 to i1
  br i1 %3836, label %3837, label %3859

3837:                                             ; preds = %3830
  %3838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3839 = call i32 @fileno(ptr noundef %3838) #9
  %3840 = call i32 @isatty(i32 noundef %3839) #9
  %3841 = icmp ne i32 %3840, 0
  br i1 %3841, label %3842, label %3859

3842:                                             ; preds = %3837
  %3843 = load i32, ptr %78, align 4, !tbaa !5
  %3844 = call ptr @__errno_location() #10
  store i32 %3843, ptr %3844, align 4, !tbaa !5
  %3845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3846 = load i32, ptr @test_count, align 4, !tbaa !5
  %3847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3848 = load i32, ptr %3847, align 4, !tbaa !5
  %3849 = call ptr @s2n_strerror(i32 noundef %3848, ptr noundef @.str.3)
  %3850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3851 = load i32, ptr %3850, align 4, !tbaa !5
  %3852 = call ptr @s2n_strerror_debug(i32 noundef %3851, ptr noundef @.str.3)
  %3853 = call ptr @__errno_location() #10
  %3854 = load i32, ptr %3853, align 4, !tbaa !5
  %3855 = call ptr @strerror(i32 noundef %3854) #9
  %3856 = call ptr @__errno_location() #10
  %3857 = load i32, ptr %3856, align 4, !tbaa !5
  %3858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3845, ptr noundef @.str, i32 noundef %3846, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 158, ptr noundef %3849, ptr noundef %3852, ptr noundef %3855, i32 noundef %3857) #9
  br label %3876

3859:                                             ; preds = %3837, %3830
  %3860 = load i32, ptr %78, align 4, !tbaa !5
  %3861 = call ptr @__errno_location() #10
  store i32 %3860, ptr %3861, align 4, !tbaa !5
  %3862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3863 = load i32, ptr @test_count, align 4, !tbaa !5
  %3864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3865 = load i32, ptr %3864, align 4, !tbaa !5
  %3866 = call ptr @s2n_strerror(i32 noundef %3865, ptr noundef @.str.3)
  %3867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3868 = load i32, ptr %3867, align 4, !tbaa !5
  %3869 = call ptr @s2n_strerror_debug(i32 noundef %3868, ptr noundef @.str.3)
  %3870 = call ptr @__errno_location() #10
  %3871 = load i32, ptr %3870, align 4, !tbaa !5
  %3872 = call ptr @strerror(i32 noundef %3871) #9
  %3873 = call ptr @__errno_location() #10
  %3874 = load i32, ptr %3873, align 4, !tbaa !5
  %3875 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3862, ptr noundef @.str.4, i32 noundef %3863, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 158, ptr noundef %3866, ptr noundef %3869, ptr noundef %3872, i32 noundef %3874) #9
  br label %3876

3876:                                             ; preds = %3859, %3842
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #9
  br label %3877

3877:                                             ; preds = %3876
  br label %3878

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

3879:                                             ; No predecessors!
  br label %3880

3880:                                             ; preds = %3879
  br label %3881

3881:                                             ; preds = %3880, %3821
  br label %3882

3882:                                             ; preds = %3881
  br label %3883

3883:                                             ; preds = %3882
  call void @llvm.lifetime.start.p0(i64 40, ptr %79) #9
  call void @llvm.memset.p0.i64(ptr align 8 %79, i8 0, i64 40, i1 false)
  br label %3884

3884:                                             ; preds = %3883
  %3885 = load i32, ptr @test_count, align 4, !tbaa !5
  %3886 = add nsw i32 %3885, 1
  store i32 %3886, ptr @test_count, align 4, !tbaa !5
  %3887 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %79, i32 noundef 0)
  %3888 = icmp eq i32 %3887, -1
  br i1 %3888, label %3889, label %3942

3889:                                             ; preds = %3884
  br label %3890

3890:                                             ; preds = %3889
  br label %3891

3891:                                             ; preds = %3890
  call void @llvm.lifetime.start.p0(i64 4, ptr %80) #9
  %3892 = call ptr @__errno_location() #10
  %3893 = load i32, ptr %3892, align 4, !tbaa !5
  store i32 %3893, ptr %80, align 4, !tbaa !5
  %3894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3895 = call i32 @s2n_print_stacktrace(ptr noundef %3894)
  %3896 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3897 = trunc i8 %3896 to i1
  br i1 %3897, label %3898, label %3920

3898:                                             ; preds = %3891
  %3899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3900 = call i32 @fileno(ptr noundef %3899) #9
  %3901 = call i32 @isatty(i32 noundef %3900) #9
  %3902 = icmp ne i32 %3901, 0
  br i1 %3902, label %3903, label %3920

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

3920:                                             ; preds = %3898, %3891
  %3921 = load i32, ptr %80, align 4, !tbaa !5
  %3922 = call ptr @__errno_location() #10
  store i32 %3921, ptr %3922, align 4, !tbaa !5
  %3923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3924 = load i32, ptr @test_count, align 4, !tbaa !5
  %3925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3926 = load i32, ptr %3925, align 4, !tbaa !5
  %3927 = call ptr @s2n_strerror(i32 noundef %3926, ptr noundef @.str.3)
  %3928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3929 = load i32, ptr %3928, align 4, !tbaa !5
  %3930 = call ptr @s2n_strerror_debug(i32 noundef %3929, ptr noundef @.str.3)
  %3931 = call ptr @__errno_location() #10
  %3932 = load i32, ptr %3931, align 4, !tbaa !5
  %3933 = call ptr @strerror(i32 noundef %3932) #9
  %3934 = call ptr @__errno_location() #10
  %3935 = load i32, ptr %3934, align 4, !tbaa !5
  %3936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3923, ptr noundef @.str.4, i32 noundef %3924, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 161, ptr noundef %3927, ptr noundef %3930, ptr noundef %3933, i32 noundef %3935) #9
  br label %3937

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

3938:                                             ; preds = %3937
  br label %3939

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

3940:                                             ; No predecessors!
  br label %3941

3941:                                             ; preds = %3940
  br label %3942

3942:                                             ; preds = %3941, %3884
  br label %3943

3943:                                             ; preds = %3942
  br label %3944

3944:                                             ; preds = %3943
  br label %3945

3945:                                             ; preds = %3944
  %3946 = load i32, ptr @test_count, align 4, !tbaa !5
  %3947 = add nsw i32 %3946, 1
  store i32 %3947, ptr @test_count, align 4, !tbaa !5
  %3948 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_cert_status_extension, i32 0, i32 3), align 8, !tbaa !45
  %3949 = load ptr, ptr %76, align 8, !tbaa !9
  %3950 = call i32 %3948(ptr noundef %3949, ptr noundef %79)
  %3951 = icmp eq i32 %3950, -1
  br i1 %3951, label %3952, label %4005

3952:                                             ; preds = %3945
  br label %3953

3953:                                             ; preds = %3952
  br label %3954

3954:                                             ; preds = %3953
  call void @llvm.lifetime.start.p0(i64 4, ptr %81) #9
  %3955 = call ptr @__errno_location() #10
  %3956 = load i32, ptr %3955, align 4, !tbaa !5
  store i32 %3956, ptr %81, align 4, !tbaa !5
  %3957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3958 = call i32 @s2n_print_stacktrace(ptr noundef %3957)
  %3959 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3960 = trunc i8 %3959 to i1
  br i1 %3960, label %3961, label %3983

3961:                                             ; preds = %3954
  %3962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3963 = call i32 @fileno(ptr noundef %3962) #9
  %3964 = call i32 @isatty(i32 noundef %3963) #9
  %3965 = icmp ne i32 %3964, 0
  br i1 %3965, label %3966, label %3983

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

3983:                                             ; preds = %3961, %3954
  %3984 = load i32, ptr %81, align 4, !tbaa !5
  %3985 = call ptr @__errno_location() #10
  store i32 %3984, ptr %3985, align 4, !tbaa !5
  %3986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3987 = load i32, ptr @test_count, align 4, !tbaa !5
  %3988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3989 = load i32, ptr %3988, align 4, !tbaa !5
  %3990 = call ptr @s2n_strerror(i32 noundef %3989, ptr noundef @.str.3)
  %3991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3992 = load i32, ptr %3991, align 4, !tbaa !5
  %3993 = call ptr @s2n_strerror_debug(i32 noundef %3992, ptr noundef @.str.3)
  %3994 = call ptr @__errno_location() #10
  %3995 = load i32, ptr %3994, align 4, !tbaa !5
  %3996 = call ptr @strerror(i32 noundef %3995) #9
  %3997 = call ptr @__errno_location() #10
  %3998 = load i32, ptr %3997, align 4, !tbaa !5
  %3999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3986, ptr noundef @.str.4, i32 noundef %3987, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 163, ptr noundef %3990, ptr noundef %3993, ptr noundef %3996, i32 noundef %3998) #9
  br label %4000

4000:                                             ; preds = %3983, %3966
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #9
  br label %4001

4001:                                             ; preds = %4000
  br label %4002

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

4003:                                             ; No predecessors!
  br label %4004

4004:                                             ; preds = %4003
  br label %4005

4005:                                             ; preds = %4004, %3945
  br label %4006

4006:                                             ; preds = %4005
  br label %4007

4007:                                             ; preds = %4006
  %4008 = call zeroext i8 @s2n_x509_ocsp_stapling_supported()
  %4009 = icmp ne i8 %4008, 0
  br i1 %4009, label %4010, label %4210

4010:                                             ; preds = %4007
  br label %4011

4011:                                             ; preds = %4010
  br label %4012

4012:                                             ; preds = %4011
  br label %4013

4013:                                             ; preds = %4012
  %4014 = load i32, ptr @test_count, align 4, !tbaa !5
  %4015 = add nsw i32 %4014, 1
  store i32 %4015, ptr @test_count, align 4, !tbaa !5
  %4016 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_cert_status_extension, i32 0, i32 4), align 8, !tbaa !50
  %4017 = load ptr, ptr %76, align 8, !tbaa !9
  %4018 = call i32 %4016(ptr noundef %4017, ptr noundef %79)
  %4019 = icmp eq i32 %4018, -1
  br i1 %4019, label %4073, label %4020

4020:                                             ; preds = %4013
  br label %4021

4021:                                             ; preds = %4020
  br label %4022

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

4029:                                             ; preds = %4022
  %4030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4031 = call i32 @fileno(ptr noundef %4030) #9
  %4032 = call i32 @isatty(i32 noundef %4031) #9
  %4033 = icmp ne i32 %4032, 0
  br i1 %4033, label %4034, label %4051

4034:                                             ; preds = %4029
  %4035 = load i32, ptr %82, align 4, !tbaa !5
  %4036 = call ptr @__errno_location() #10
  store i32 %4035, ptr %4036, align 4, !tbaa !5
  %4037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4038 = load i32, ptr @test_count, align 4, !tbaa !5
  %4039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4040 = load i32, ptr %4039, align 4, !tbaa !5
  %4041 = call ptr @s2n_strerror(i32 noundef %4040, ptr noundef @.str.3)
  %4042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4043 = load i32, ptr %4042, align 4, !tbaa !5
  %4044 = call ptr @s2n_strerror_debug(i32 noundef %4043, ptr noundef @.str.3)
  %4045 = call ptr @__errno_location() #10
  %4046 = load i32, ptr %4045, align 4, !tbaa !5
  %4047 = call ptr @strerror(i32 noundef %4046) #9
  %4048 = call ptr @__errno_location() #10
  %4049 = load i32, ptr %4048, align 4, !tbaa !5
  %4050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4037, ptr noundef @.str, i32 noundef %4038, ptr noundef @.str.39, ptr noundef @.str.2, i32 noundef 167, ptr noundef %4041, ptr noundef %4044, ptr noundef %4047, i32 noundef %4049) #9
  br label %4068

4051:                                             ; preds = %4029, %4022
  %4052 = load i32, ptr %82, align 4, !tbaa !5
  %4053 = call ptr @__errno_location() #10
  store i32 %4052, ptr %4053, align 4, !tbaa !5
  %4054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4055 = load i32, ptr @test_count, align 4, !tbaa !5
  %4056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4057 = load i32, ptr %4056, align 4, !tbaa !5
  %4058 = call ptr @s2n_strerror(i32 noundef %4057, ptr noundef @.str.3)
  %4059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4060 = load i32, ptr %4059, align 4, !tbaa !5
  %4061 = call ptr @s2n_strerror_debug(i32 noundef %4060, ptr noundef @.str.3)
  %4062 = call ptr @__errno_location() #10
  %4063 = load i32, ptr %4062, align 4, !tbaa !5
  %4064 = call ptr @strerror(i32 noundef %4063) #9
  %4065 = call ptr @__errno_location() #10
  %4066 = load i32, ptr %4065, align 4, !tbaa !5
  %4067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4054, ptr noundef @.str.4, i32 noundef %4055, ptr noundef @.str.39, ptr noundef @.str.2, i32 noundef 167, ptr noundef %4058, ptr noundef %4061, ptr noundef %4064, i32 noundef %4066) #9
  br label %4068

4068:                                             ; preds = %4051, %4034
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #9
  br label %4069

4069:                                             ; preds = %4068
  br label %4070

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

4071:                                             ; No predecessors!
  br label %4072

4072:                                             ; preds = %4071
  br label %4073

4073:                                             ; preds = %4072, %4013
  br label %4074

4074:                                             ; preds = %4073
  br label %4075

4075:                                             ; preds = %4074
  br label %4076

4076:                                             ; preds = %4075
  %4077 = load i32, ptr @test_count, align 4, !tbaa !5
  %4078 = add nsw i32 %4077, 1
  store i32 %4078, ptr @test_count, align 4, !tbaa !5
  %4079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4080 = load i32, ptr %4079, align 4, !tbaa !5
  %4081 = icmp eq i32 %4080, 469762074
  br i1 %4081, label %4135, label %4082

4082:                                             ; preds = %4076
  br label %4083

4083:                                             ; preds = %4082
  br label %4084

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

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

4096:                                             ; preds = %4091
  %4097 = load i32, ptr %83, align 4, !tbaa !5
  %4098 = call ptr @__errno_location() #10
  store i32 %4097, ptr %4098, align 4, !tbaa !5
  %4099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4100 = load i32, ptr @test_count, align 4, !tbaa !5
  %4101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4102 = load i32, ptr %4101, align 4, !tbaa !5
  %4103 = call ptr @s2n_strerror(i32 noundef %4102, ptr noundef @.str.3)
  %4104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4105 = load i32, ptr %4104, align 4, !tbaa !5
  %4106 = call ptr @s2n_strerror_debug(i32 noundef %4105, ptr noundef @.str.3)
  %4107 = call ptr @__errno_location() #10
  %4108 = load i32, ptr %4107, align 4, !tbaa !5
  %4109 = call ptr @strerror(i32 noundef %4108) #9
  %4110 = call ptr @__errno_location() #10
  %4111 = load i32, ptr %4110, align 4, !tbaa !5
  %4112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4099, ptr noundef @.str, i32 noundef %4100, ptr noundef @.str.40, ptr noundef @.str.2, i32 noundef 167, ptr noundef %4103, ptr noundef %4106, ptr noundef %4109, i32 noundef %4111) #9
  br label %4130

4113:                                             ; preds = %4091, %4084
  %4114 = load i32, ptr %83, align 4, !tbaa !5
  %4115 = call ptr @__errno_location() #10
  store i32 %4114, ptr %4115, align 4, !tbaa !5
  %4116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4117 = load i32, ptr @test_count, align 4, !tbaa !5
  %4118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4119 = load i32, ptr %4118, align 4, !tbaa !5
  %4120 = call ptr @s2n_strerror(i32 noundef %4119, ptr noundef @.str.3)
  %4121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4122 = load i32, ptr %4121, align 4, !tbaa !5
  %4123 = call ptr @s2n_strerror_debug(i32 noundef %4122, ptr noundef @.str.3)
  %4124 = call ptr @__errno_location() #10
  %4125 = load i32, ptr %4124, align 4, !tbaa !5
  %4126 = call ptr @strerror(i32 noundef %4125) #9
  %4127 = call ptr @__errno_location() #10
  %4128 = load i32, ptr %4127, align 4, !tbaa !5
  %4129 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4116, ptr noundef @.str.4, i32 noundef %4117, ptr noundef @.str.40, ptr noundef @.str.2, i32 noundef 167, ptr noundef %4120, ptr noundef %4123, ptr noundef %4126, i32 noundef %4128) #9
  br label %4130

4130:                                             ; preds = %4113, %4096
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #9
  br label %4131

4131:                                             ; preds = %4130
  br label %4132

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

4133:                                             ; No predecessors!
  br label %4134

4134:                                             ; preds = %4133
  br label %4135

4135:                                             ; preds = %4134, %4076
  br label %4136

4136:                                             ; preds = %4135
  br label %4137

4137:                                             ; preds = %4136
  br label %4138

4138:                                             ; preds = %4137
  %4139 = load i32, ptr @test_count, align 4, !tbaa !5
  %4140 = add nsw i32 %4139, 1
  store i32 %4140, ptr @test_count, align 4, !tbaa !5
  %4141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4142 = load i32, ptr %4141, align 4, !tbaa !5
  %4143 = call ptr @s2n_strerror_debug(i32 noundef %4142, ptr noundef @.str.3)
  %4144 = icmp eq ptr %4143, null
  br i1 %4144, label %4145, label %4198

4145:                                             ; preds = %4138
  br label %4146

4146:                                             ; preds = %4145
  br label %4147

4147:                                             ; preds = %4146
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #9
  %4148 = call ptr @__errno_location() #10
  %4149 = load i32, ptr %4148, align 4, !tbaa !5
  store i32 %4149, ptr %84, 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) #9
  %4157 = call i32 @isatty(i32 noundef %4156) #9
  %4158 = icmp ne i32 %4157, 0
  br i1 %4158, label %4159, label %4176

4159:                                             ; preds = %4154
  %4160 = load i32, ptr %84, align 4, !tbaa !5
  %4161 = call ptr @__errno_location() #10
  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.3)
  %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.3)
  %4170 = call ptr @__errno_location() #10
  %4171 = load i32, ptr %4170, align 4, !tbaa !5
  %4172 = call ptr @strerror(i32 noundef %4171) #9
  %4173 = call ptr @__errno_location() #10
  %4174 = load i32, ptr %4173, align 4, !tbaa !5
  %4175 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4162, ptr noundef @.str, i32 noundef %4163, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 167, ptr noundef %4166, ptr noundef %4169, ptr noundef %4172, i32 noundef %4174) #9
  br label %4193

4176:                                             ; preds = %4154, %4147
  %4177 = load i32, ptr %84, align 4, !tbaa !5
  %4178 = call ptr @__errno_location() #10
  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.3)
  %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.3)
  %4187 = call ptr @__errno_location() #10
  %4188 = load i32, ptr %4187, align 4, !tbaa !5
  %4189 = call ptr @strerror(i32 noundef %4188) #9
  %4190 = call ptr @__errno_location() #10
  %4191 = load i32, ptr %4190, align 4, !tbaa !5
  %4192 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4179, ptr noundef @.str.4, i32 noundef %4180, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 167, ptr noundef %4183, ptr noundef %4186, ptr noundef %4189, i32 noundef %4191) #9
  br label %4193

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

4194:                                             ; preds = %4193
  br label %4195

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

4196:                                             ; No predecessors!
  br label %4197

4197:                                             ; preds = %4196
  br label %4198

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

4199:                                             ; preds = %4198
  br label %4200

4200:                                             ; preds = %4199
  br label %4201

4201:                                             ; preds = %4200
  br label %4202

4202:                                             ; preds = %4201
  br label %4203

4203:                                             ; preds = %4202
  %4204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4204, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4205 = call ptr @__errno_location() #10
  store i32 0, ptr %4205, align 4, !tbaa !5
  br label %4206

4206:                                             ; preds = %4203
  br label %4207

4207:                                             ; preds = %4206
  br label %4208

4208:                                             ; preds = %4207
  br label %4209

4209:                                             ; preds = %4208
  br label %4410

4210:                                             ; preds = %4007
  br label %4211

4211:                                             ; preds = %4210
  br label %4212

4212:                                             ; preds = %4211
  br label %4213

4213:                                             ; preds = %4212
  %4214 = load i32, ptr @test_count, align 4, !tbaa !5
  %4215 = add nsw i32 %4214, 1
  store i32 %4215, ptr @test_count, align 4, !tbaa !5
  %4216 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_cert_status_extension, i32 0, i32 4), align 8, !tbaa !50
  %4217 = load ptr, ptr %76, align 8, !tbaa !9
  %4218 = call i32 %4216(ptr noundef %4217, ptr noundef %79)
  %4219 = icmp eq i32 %4218, -1
  br i1 %4219, label %4273, label %4220

4220:                                             ; preds = %4213
  br label %4221

4221:                                             ; preds = %4220
  br label %4222

4222:                                             ; preds = %4221
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #9
  %4223 = call ptr @__errno_location() #10
  %4224 = load i32, ptr %4223, align 4, !tbaa !5
  store i32 %4224, ptr %85, align 4, !tbaa !5
  %4225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4226 = call i32 @s2n_print_stacktrace(ptr noundef %4225)
  %4227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4228 = trunc i8 %4227 to i1
  br i1 %4228, label %4229, label %4251

4229:                                             ; preds = %4222
  %4230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4231 = call i32 @fileno(ptr noundef %4230) #9
  %4232 = call i32 @isatty(i32 noundef %4231) #9
  %4233 = icmp ne i32 %4232, 0
  br i1 %4233, label %4234, label %4251

4234:                                             ; preds = %4229
  %4235 = load i32, ptr %85, align 4, !tbaa !5
  %4236 = call ptr @__errno_location() #10
  store i32 %4235, ptr %4236, align 4, !tbaa !5
  %4237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4238 = load i32, ptr @test_count, align 4, !tbaa !5
  %4239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4240 = load i32, ptr %4239, align 4, !tbaa !5
  %4241 = call ptr @s2n_strerror(i32 noundef %4240, ptr noundef @.str.3)
  %4242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4243 = load i32, ptr %4242, align 4, !tbaa !5
  %4244 = call ptr @s2n_strerror_debug(i32 noundef %4243, ptr noundef @.str.3)
  %4245 = call ptr @__errno_location() #10
  %4246 = load i32, ptr %4245, align 4, !tbaa !5
  %4247 = call ptr @strerror(i32 noundef %4246) #9
  %4248 = call ptr @__errno_location() #10
  %4249 = load i32, ptr %4248, align 4, !tbaa !5
  %4250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4237, ptr noundef @.str, i32 noundef %4238, ptr noundef @.str.39, ptr noundef @.str.2, i32 noundef 171, ptr noundef %4241, ptr noundef %4244, ptr noundef %4247, i32 noundef %4249) #9
  br label %4268

4251:                                             ; preds = %4229, %4222
  %4252 = load i32, ptr %85, align 4, !tbaa !5
  %4253 = call ptr @__errno_location() #10
  store i32 %4252, ptr %4253, align 4, !tbaa !5
  %4254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4255 = load i32, ptr @test_count, align 4, !tbaa !5
  %4256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4257 = load i32, ptr %4256, align 4, !tbaa !5
  %4258 = call ptr @s2n_strerror(i32 noundef %4257, ptr noundef @.str.3)
  %4259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4260 = load i32, ptr %4259, align 4, !tbaa !5
  %4261 = call ptr @s2n_strerror_debug(i32 noundef %4260, ptr noundef @.str.3)
  %4262 = call ptr @__errno_location() #10
  %4263 = load i32, ptr %4262, align 4, !tbaa !5
  %4264 = call ptr @strerror(i32 noundef %4263) #9
  %4265 = call ptr @__errno_location() #10
  %4266 = load i32, ptr %4265, align 4, !tbaa !5
  %4267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4254, ptr noundef @.str.4, i32 noundef %4255, ptr noundef @.str.39, ptr noundef @.str.2, i32 noundef 171, ptr noundef %4258, ptr noundef %4261, ptr noundef %4264, i32 noundef %4266) #9
  br label %4268

4268:                                             ; preds = %4251, %4234
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #9
  br label %4269

4269:                                             ; preds = %4268
  br label %4270

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

4271:                                             ; No predecessors!
  br label %4272

4272:                                             ; preds = %4271
  br label %4273

4273:                                             ; preds = %4272, %4213
  br label %4274

4274:                                             ; preds = %4273
  br label %4275

4275:                                             ; preds = %4274
  br label %4276

4276:                                             ; preds = %4275
  %4277 = load i32, ptr @test_count, align 4, !tbaa !5
  %4278 = add nsw i32 %4277, 1
  store i32 %4278, ptr @test_count, align 4, !tbaa !5
  %4279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4280 = load i32, ptr %4279, align 4, !tbaa !5
  %4281 = icmp eq i32 %4280, 335544366
  br i1 %4281, label %4335, label %4282

4282:                                             ; preds = %4276
  br label %4283

4283:                                             ; preds = %4282
  br label %4284

4284:                                             ; preds = %4283
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #9
  %4285 = call ptr @__errno_location() #10
  %4286 = load i32, ptr %4285, align 4, !tbaa !5
  store i32 %4286, ptr %86, align 4, !tbaa !5
  %4287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4288 = call i32 @s2n_print_stacktrace(ptr noundef %4287)
  %4289 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4290 = trunc i8 %4289 to i1
  br i1 %4290, label %4291, label %4313

4291:                                             ; preds = %4284
  %4292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4293 = call i32 @fileno(ptr noundef %4292) #9
  %4294 = call i32 @isatty(i32 noundef %4293) #9
  %4295 = icmp ne i32 %4294, 0
  br i1 %4295, label %4296, label %4313

4296:                                             ; preds = %4291
  %4297 = load i32, ptr %86, align 4, !tbaa !5
  %4298 = call ptr @__errno_location() #10
  store i32 %4297, ptr %4298, align 4, !tbaa !5
  %4299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4300 = load i32, ptr @test_count, align 4, !tbaa !5
  %4301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4302 = load i32, ptr %4301, align 4, !tbaa !5
  %4303 = call ptr @s2n_strerror(i32 noundef %4302, ptr noundef @.str.3)
  %4304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4305 = load i32, ptr %4304, align 4, !tbaa !5
  %4306 = call ptr @s2n_strerror_debug(i32 noundef %4305, ptr noundef @.str.3)
  %4307 = call ptr @__errno_location() #10
  %4308 = load i32, ptr %4307, align 4, !tbaa !5
  %4309 = call ptr @strerror(i32 noundef %4308) #9
  %4310 = call ptr @__errno_location() #10
  %4311 = load i32, ptr %4310, align 4, !tbaa !5
  %4312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4299, ptr noundef @.str, i32 noundef %4300, ptr noundef @.str.42, ptr noundef @.str.2, i32 noundef 171, ptr noundef %4303, ptr noundef %4306, ptr noundef %4309, i32 noundef %4311) #9
  br label %4330

4313:                                             ; preds = %4291, %4284
  %4314 = load i32, ptr %86, align 4, !tbaa !5
  %4315 = call ptr @__errno_location() #10
  store i32 %4314, ptr %4315, align 4, !tbaa !5
  %4316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4317 = load i32, ptr @test_count, align 4, !tbaa !5
  %4318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4319 = load i32, ptr %4318, align 4, !tbaa !5
  %4320 = call ptr @s2n_strerror(i32 noundef %4319, ptr noundef @.str.3)
  %4321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4322 = load i32, ptr %4321, align 4, !tbaa !5
  %4323 = call ptr @s2n_strerror_debug(i32 noundef %4322, ptr noundef @.str.3)
  %4324 = call ptr @__errno_location() #10
  %4325 = load i32, ptr %4324, align 4, !tbaa !5
  %4326 = call ptr @strerror(i32 noundef %4325) #9
  %4327 = call ptr @__errno_location() #10
  %4328 = load i32, ptr %4327, align 4, !tbaa !5
  %4329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4316, ptr noundef @.str.4, i32 noundef %4317, ptr noundef @.str.42, ptr noundef @.str.2, i32 noundef 171, ptr noundef %4320, ptr noundef %4323, ptr noundef %4326, i32 noundef %4328) #9
  br label %4330

4330:                                             ; preds = %4313, %4296
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #9
  br label %4331

4331:                                             ; preds = %4330
  br label %4332

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

4333:                                             ; No predecessors!
  br label %4334

4334:                                             ; preds = %4333
  br label %4335

4335:                                             ; preds = %4334, %4276
  br label %4336

4336:                                             ; preds = %4335
  br label %4337

4337:                                             ; preds = %4336
  br label %4338

4338:                                             ; preds = %4337
  %4339 = load i32, ptr @test_count, align 4, !tbaa !5
  %4340 = add nsw i32 %4339, 1
  store i32 %4340, ptr @test_count, align 4, !tbaa !5
  %4341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4342 = load i32, ptr %4341, align 4, !tbaa !5
  %4343 = call ptr @s2n_strerror_debug(i32 noundef %4342, ptr noundef @.str.3)
  %4344 = icmp eq ptr %4343, null
  br i1 %4344, label %4345, label %4398

4345:                                             ; preds = %4338
  br label %4346

4346:                                             ; preds = %4345
  br label %4347

4347:                                             ; preds = %4346
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #9
  %4348 = call ptr @__errno_location() #10
  %4349 = load i32, ptr %4348, align 4, !tbaa !5
  store i32 %4349, ptr %87, align 4, !tbaa !5
  %4350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4351 = call i32 @s2n_print_stacktrace(ptr noundef %4350)
  %4352 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4353 = trunc i8 %4352 to i1
  br i1 %4353, label %4354, label %4376

4354:                                             ; preds = %4347
  %4355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4356 = call i32 @fileno(ptr noundef %4355) #9
  %4357 = call i32 @isatty(i32 noundef %4356) #9
  %4358 = icmp ne i32 %4357, 0
  br i1 %4358, label %4359, label %4376

4359:                                             ; preds = %4354
  %4360 = load i32, ptr %87, align 4, !tbaa !5
  %4361 = call ptr @__errno_location() #10
  store i32 %4360, ptr %4361, align 4, !tbaa !5
  %4362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4363 = load i32, ptr @test_count, align 4, !tbaa !5
  %4364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4365 = load i32, ptr %4364, align 4, !tbaa !5
  %4366 = call ptr @s2n_strerror(i32 noundef %4365, ptr noundef @.str.3)
  %4367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4368 = load i32, ptr %4367, align 4, !tbaa !5
  %4369 = call ptr @s2n_strerror_debug(i32 noundef %4368, ptr noundef @.str.3)
  %4370 = call ptr @__errno_location() #10
  %4371 = load i32, ptr %4370, align 4, !tbaa !5
  %4372 = call ptr @strerror(i32 noundef %4371) #9
  %4373 = call ptr @__errno_location() #10
  %4374 = load i32, ptr %4373, align 4, !tbaa !5
  %4375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4362, ptr noundef @.str, i32 noundef %4363, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 171, ptr noundef %4366, ptr noundef %4369, ptr noundef %4372, i32 noundef %4374) #9
  br label %4393

4376:                                             ; preds = %4354, %4347
  %4377 = load i32, ptr %87, align 4, !tbaa !5
  %4378 = call ptr @__errno_location() #10
  store i32 %4377, ptr %4378, align 4, !tbaa !5
  %4379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4380 = load i32, ptr @test_count, align 4, !tbaa !5
  %4381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4382 = load i32, ptr %4381, align 4, !tbaa !5
  %4383 = call ptr @s2n_strerror(i32 noundef %4382, ptr noundef @.str.3)
  %4384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4385 = load i32, ptr %4384, align 4, !tbaa !5
  %4386 = call ptr @s2n_strerror_debug(i32 noundef %4385, ptr noundef @.str.3)
  %4387 = call ptr @__errno_location() #10
  %4388 = load i32, ptr %4387, align 4, !tbaa !5
  %4389 = call ptr @strerror(i32 noundef %4388) #9
  %4390 = call ptr @__errno_location() #10
  %4391 = load i32, ptr %4390, align 4, !tbaa !5
  %4392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4379, ptr noundef @.str.4, i32 noundef %4380, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 171, ptr noundef %4383, ptr noundef %4386, ptr noundef %4389, i32 noundef %4391) #9
  br label %4393

4393:                                             ; preds = %4376, %4359
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #9
  br label %4394

4394:                                             ; preds = %4393
  br label %4395

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

4396:                                             ; No predecessors!
  br label %4397

4397:                                             ; preds = %4396
  br label %4398

4398:                                             ; preds = %4397, %4338
  br label %4399

4399:                                             ; preds = %4398
  br label %4400

4400:                                             ; preds = %4399
  br label %4401

4401:                                             ; preds = %4400
  br label %4402

4402:                                             ; preds = %4401
  br label %4403

4403:                                             ; preds = %4402
  %4404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4404, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4405 = call ptr @__errno_location() #10
  store i32 0, ptr %4405, align 4, !tbaa !5
  br label %4406

4406:                                             ; preds = %4403
  br label %4407

4407:                                             ; preds = %4406
  br label %4408

4408:                                             ; preds = %4407
  br label %4409

4409:                                             ; preds = %4408
  br label %4410

4410:                                             ; preds = %4409, %4209
  br label %4411

4411:                                             ; preds = %4410
  %4412 = load i32, ptr @test_count, align 4, !tbaa !5
  %4413 = add nsw i32 %4412, 1
  store i32 %4413, ptr @test_count, align 4, !tbaa !5
  %4414 = load ptr, ptr %76, align 8, !tbaa !9
  %4415 = call i32 @s2n_connection_free(ptr noundef %4414)
  %4416 = icmp eq i32 %4415, -1
  br i1 %4416, label %4417, label %4470

4417:                                             ; preds = %4411
  br label %4418

4418:                                             ; preds = %4417
  br label %4419

4419:                                             ; preds = %4418
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #9
  %4420 = call ptr @__errno_location() #10
  %4421 = load i32, ptr %4420, align 4, !tbaa !5
  store i32 %4421, ptr %88, align 4, !tbaa !5
  %4422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4423 = call i32 @s2n_print_stacktrace(ptr noundef %4422)
  %4424 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4425 = trunc i8 %4424 to i1
  br i1 %4425, label %4426, label %4448

4426:                                             ; preds = %4419
  %4427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4428 = call i32 @fileno(ptr noundef %4427) #9
  %4429 = call i32 @isatty(i32 noundef %4428) #9
  %4430 = icmp ne i32 %4429, 0
  br i1 %4430, label %4431, label %4448

4431:                                             ; preds = %4426
  %4432 = load i32, ptr %88, align 4, !tbaa !5
  %4433 = call ptr @__errno_location() #10
  store i32 %4432, ptr %4433, align 4, !tbaa !5
  %4434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4435 = load i32, ptr @test_count, align 4, !tbaa !5
  %4436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4437 = load i32, ptr %4436, align 4, !tbaa !5
  %4438 = call ptr @s2n_strerror(i32 noundef %4437, ptr noundef @.str.3)
  %4439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4440 = load i32, ptr %4439, align 4, !tbaa !5
  %4441 = call ptr @s2n_strerror_debug(i32 noundef %4440, ptr noundef @.str.3)
  %4442 = call ptr @__errno_location() #10
  %4443 = load i32, ptr %4442, align 4, !tbaa !5
  %4444 = call ptr @strerror(i32 noundef %4443) #9
  %4445 = call ptr @__errno_location() #10
  %4446 = load i32, ptr %4445, align 4, !tbaa !5
  %4447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4434, ptr noundef @.str, i32 noundef %4435, ptr noundef @.str.19, ptr noundef @.str.2, i32 noundef 174, ptr noundef %4438, ptr noundef %4441, ptr noundef %4444, i32 noundef %4446) #9
  br label %4465

4448:                                             ; preds = %4426, %4419
  %4449 = load i32, ptr %88, align 4, !tbaa !5
  %4450 = call ptr @__errno_location() #10
  store i32 %4449, ptr %4450, align 4, !tbaa !5
  %4451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4452 = load i32, ptr @test_count, align 4, !tbaa !5
  %4453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4454 = load i32, ptr %4453, align 4, !tbaa !5
  %4455 = call ptr @s2n_strerror(i32 noundef %4454, ptr noundef @.str.3)
  %4456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4457 = load i32, ptr %4456, align 4, !tbaa !5
  %4458 = call ptr @s2n_strerror_debug(i32 noundef %4457, ptr noundef @.str.3)
  %4459 = call ptr @__errno_location() #10
  %4460 = load i32, ptr %4459, align 4, !tbaa !5
  %4461 = call ptr @strerror(i32 noundef %4460) #9
  %4462 = call ptr @__errno_location() #10
  %4463 = load i32, ptr %4462, align 4, !tbaa !5
  %4464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4451, ptr noundef @.str.4, i32 noundef %4452, ptr noundef @.str.19, ptr noundef @.str.2, i32 noundef 174, ptr noundef %4455, ptr noundef %4458, ptr noundef %4461, i32 noundef %4463) #9
  br label %4465

4465:                                             ; preds = %4448, %4431
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #9
  br label %4466

4466:                                             ; preds = %4465
  br label %4467

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

4468:                                             ; No predecessors!
  br label %4469

4469:                                             ; preds = %4468
  br label %4470

4470:                                             ; preds = %4469, %4411
  br label %4471

4471:                                             ; preds = %4470
  br label %4472

4472:                                             ; preds = %4471
  %4473 = call i32 @s2n_stuffer_free(ptr noundef %79)
  call void @llvm.lifetime.end.p0(i64 40, ptr %79) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #9
  %4474 = call zeroext i8 @s2n_x509_ocsp_stapling_supported()
  %4475 = zext i8 %4474 to i32
  %4476 = icmp ne i32 %4475, 0
  br i1 %4476, label %4477, label %10880

4477:                                             ; preds = %4472
  %4478 = call zeroext i1 (...) @s2n_is_tls13_fully_supported()
  br i1 %4478, label %4479, label %10880

4479:                                             ; preds = %4477
  call void @llvm.lifetime.start.p0(i64 12000, ptr %89) #9
  call void @llvm.memset.p0.i64(ptr align 16 %89, i8 0, i64 12000, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %90) #9
  store i32 0, ptr %90, align 4, !tbaa !5
  br label %4480

4480:                                             ; preds = %4479
  %4481 = load i32, ptr @test_count, align 4, !tbaa !5
  %4482 = add nsw i32 %4481, 1
  store i32 %4482, ptr @test_count, align 4, !tbaa !5
  %4483 = getelementptr inbounds [12000 x i8], ptr %89, i64 0, i64 0
  %4484 = call i32 @s2n_read_test_pem_and_len(ptr noundef @.str.43, ptr noundef %4483, ptr noundef %90, i64 noundef 12000)
  %4485 = icmp eq i32 %4484, -1
  br i1 %4485, label %4486, label %4539

4486:                                             ; preds = %4480
  br label %4487

4487:                                             ; preds = %4486
  br label %4488

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

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

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

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

4534:                                             ; preds = %4517, %4500
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #9
  br label %4535

4535:                                             ; preds = %4534
  br label %4536

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

4537:                                             ; No predecessors!
  br label %4538

4538:                                             ; preds = %4537
  br label %4539

4539:                                             ; preds = %4538, %4480
  br label %4540

4540:                                             ; preds = %4539
  br label %4541

4541:                                             ; preds = %4540
  br label %4542

4542:                                             ; preds = %4541
  %4543 = load i32, ptr @test_count, align 4, !tbaa !5
  %4544 = add nsw i32 %4543, 1
  store i32 %4544, ptr @test_count, align 4, !tbaa !5
  %4545 = load i32, ptr %90, align 4, !tbaa !5
  %4546 = icmp ugt i32 %4545, 0
  br i1 %4546, label %4600, label %4547

4547:                                             ; preds = %4542
  br label %4548

4548:                                             ; preds = %4547
  br label %4549

4549:                                             ; preds = %4548
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #9
  %4550 = call ptr @__errno_location() #10
  %4551 = load i32, ptr %4550, align 4, !tbaa !5
  store i32 %4551, ptr %92, align 4, !tbaa !5
  %4552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4553 = call i32 @s2n_print_stacktrace(ptr noundef %4552)
  %4554 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4555 = trunc i8 %4554 to i1
  br i1 %4555, label %4556, label %4578

4556:                                             ; preds = %4549
  %4557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4558 = call i32 @fileno(ptr noundef %4557) #9
  %4559 = call i32 @isatty(i32 noundef %4558) #9
  %4560 = icmp ne i32 %4559, 0
  br i1 %4560, label %4561, label %4578

4561:                                             ; preds = %4556
  %4562 = load i32, ptr %92, align 4, !tbaa !5
  %4563 = call ptr @__errno_location() #10
  store i32 %4562, ptr %4563, align 4, !tbaa !5
  %4564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4565 = load i32, ptr @test_count, align 4, !tbaa !5
  %4566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4567 = load i32, ptr %4566, align 4, !tbaa !5
  %4568 = call ptr @s2n_strerror(i32 noundef %4567, ptr noundef @.str.3)
  %4569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4570 = load i32, ptr %4569, align 4, !tbaa !5
  %4571 = call ptr @s2n_strerror_debug(i32 noundef %4570, ptr noundef @.str.3)
  %4572 = call ptr @__errno_location() #10
  %4573 = load i32, ptr %4572, align 4, !tbaa !5
  %4574 = call ptr @strerror(i32 noundef %4573) #9
  %4575 = call ptr @__errno_location() #10
  %4576 = load i32, ptr %4575, align 4, !tbaa !5
  %4577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4564, ptr noundef @.str, i32 noundef %4565, ptr noundef @.str.45, ptr noundef @.str.2, i32 noundef 182, ptr noundef %4568, ptr noundef %4571, ptr noundef %4574, i32 noundef %4576) #9
  br label %4595

4578:                                             ; preds = %4556, %4549
  %4579 = load i32, ptr %92, align 4, !tbaa !5
  %4580 = call ptr @__errno_location() #10
  store i32 %4579, ptr %4580, align 4, !tbaa !5
  %4581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4582 = load i32, ptr @test_count, align 4, !tbaa !5
  %4583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4584 = load i32, ptr %4583, align 4, !tbaa !5
  %4585 = call ptr @s2n_strerror(i32 noundef %4584, ptr noundef @.str.3)
  %4586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4587 = load i32, ptr %4586, align 4, !tbaa !5
  %4588 = call ptr @s2n_strerror_debug(i32 noundef %4587, ptr noundef @.str.3)
  %4589 = call ptr @__errno_location() #10
  %4590 = load i32, ptr %4589, align 4, !tbaa !5
  %4591 = call ptr @strerror(i32 noundef %4590) #9
  %4592 = call ptr @__errno_location() #10
  %4593 = load i32, ptr %4592, align 4, !tbaa !5
  %4594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4581, ptr noundef @.str.4, i32 noundef %4582, ptr noundef @.str.45, ptr noundef @.str.2, i32 noundef 182, ptr noundef %4585, ptr noundef %4588, ptr noundef %4591, i32 noundef %4593) #9
  br label %4595

4595:                                             ; preds = %4578, %4561
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #9
  br label %4596

4596:                                             ; preds = %4595
  br label %4597

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

4598:                                             ; No predecessors!
  br label %4599

4599:                                             ; preds = %4598
  br label %4600

4600:                                             ; preds = %4599, %4542
  br label %4601

4601:                                             ; preds = %4600
  br label %4602

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

4603:                                             ; preds = %4602
  %4604 = load i32, ptr @test_count, align 4, !tbaa !5
  %4605 = add nsw i32 %4604, 1
  store i32 %4605, ptr @test_count, align 4, !tbaa !5
  %4606 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %93, ptr noundef @.str.46, ptr noundef @.str.47)
  %4607 = icmp eq i32 %4606, -1
  br i1 %4607, label %4608, label %4661

4608:                                             ; preds = %4603
  br label %4609

4609:                                             ; preds = %4608
  br label %4610

4610:                                             ; preds = %4609
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #9
  %4611 = call ptr @__errno_location() #10
  %4612 = load i32, ptr %4611, align 4, !tbaa !5
  store i32 %4612, ptr %94, align 4, !tbaa !5
  %4613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4614 = call i32 @s2n_print_stacktrace(ptr noundef %4613)
  %4615 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4616 = trunc i8 %4615 to i1
  br i1 %4616, label %4617, label %4639

4617:                                             ; preds = %4610
  %4618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4619 = call i32 @fileno(ptr noundef %4618) #9
  %4620 = call i32 @isatty(i32 noundef %4619) #9
  %4621 = icmp ne i32 %4620, 0
  br i1 %4621, label %4622, label %4639

4622:                                             ; preds = %4617
  %4623 = load i32, ptr %94, align 4, !tbaa !5
  %4624 = call ptr @__errno_location() #10
  store i32 %4623, ptr %4624, align 4, !tbaa !5
  %4625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4626 = load i32, ptr @test_count, align 4, !tbaa !5
  %4627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4628 = load i32, ptr %4627, align 4, !tbaa !5
  %4629 = call ptr @s2n_strerror(i32 noundef %4628, ptr noundef @.str.3)
  %4630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4631 = load i32, ptr %4630, align 4, !tbaa !5
  %4632 = call ptr @s2n_strerror_debug(i32 noundef %4631, ptr noundef @.str.3)
  %4633 = call ptr @__errno_location() #10
  %4634 = load i32, ptr %4633, align 4, !tbaa !5
  %4635 = call ptr @strerror(i32 noundef %4634) #9
  %4636 = call ptr @__errno_location() #10
  %4637 = load i32, ptr %4636, align 4, !tbaa !5
  %4638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4625, ptr noundef @.str, i32 noundef %4626, ptr noundef @.str.48, ptr noundef @.str.2, i32 noundef 185, ptr noundef %4629, ptr noundef %4632, ptr noundef %4635, i32 noundef %4637) #9
  br label %4656

4639:                                             ; preds = %4617, %4610
  %4640 = load i32, ptr %94, align 4, !tbaa !5
  %4641 = call ptr @__errno_location() #10
  store i32 %4640, ptr %4641, align 4, !tbaa !5
  %4642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4643 = load i32, ptr @test_count, align 4, !tbaa !5
  %4644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4645 = load i32, ptr %4644, align 4, !tbaa !5
  %4646 = call ptr @s2n_strerror(i32 noundef %4645, ptr noundef @.str.3)
  %4647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4648 = load i32, ptr %4647, align 4, !tbaa !5
  %4649 = call ptr @s2n_strerror_debug(i32 noundef %4648, ptr noundef @.str.3)
  %4650 = call ptr @__errno_location() #10
  %4651 = load i32, ptr %4650, align 4, !tbaa !5
  %4652 = call ptr @strerror(i32 noundef %4651) #9
  %4653 = call ptr @__errno_location() #10
  %4654 = load i32, ptr %4653, align 4, !tbaa !5
  %4655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4642, ptr noundef @.str.4, i32 noundef %4643, ptr noundef @.str.48, ptr noundef @.str.2, i32 noundef 185, ptr noundef %4646, ptr noundef %4649, ptr noundef %4652, i32 noundef %4654) #9
  br label %4656

4656:                                             ; preds = %4639, %4622
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #9
  br label %4657

4657:                                             ; preds = %4656
  br label %4658

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

4659:                                             ; No predecessors!
  br label %4660

4660:                                             ; preds = %4659
  br label %4661

4661:                                             ; preds = %4660, %4603
  br label %4662

4662:                                             ; preds = %4661
  br label %4663

4663:                                             ; preds = %4662
  br label %4664

4664:                                             ; preds = %4663
  %4665 = load i32, ptr @test_count, align 4, !tbaa !5
  %4666 = add nsw i32 %4665, 1
  store i32 %4666, ptr @test_count, align 4, !tbaa !5
  %4667 = load ptr, ptr %93, align 8, !tbaa !9
  %4668 = getelementptr inbounds [12000 x i8], ptr %89, i64 0, i64 0
  %4669 = load i32, ptr %90, align 4, !tbaa !5
  %4670 = call i32 @s2n_cert_chain_and_key_set_ocsp_data(ptr noundef %4667, ptr noundef %4668, i32 noundef %4669)
  %4671 = icmp eq i32 %4670, -1
  br i1 %4671, label %4672, label %4725

4672:                                             ; preds = %4664
  br label %4673

4673:                                             ; preds = %4672
  br label %4674

4674:                                             ; preds = %4673
  call void @llvm.lifetime.start.p0(i64 4, ptr %95) #9
  %4675 = call ptr @__errno_location() #10
  %4676 = load i32, ptr %4675, align 4, !tbaa !5
  store i32 %4676, ptr %95, align 4, !tbaa !5
  %4677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4678 = call i32 @s2n_print_stacktrace(ptr noundef %4677)
  %4679 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4680 = trunc i8 %4679 to i1
  br i1 %4680, label %4681, label %4703

4681:                                             ; preds = %4674
  %4682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4683 = call i32 @fileno(ptr noundef %4682) #9
  %4684 = call i32 @isatty(i32 noundef %4683) #9
  %4685 = icmp ne i32 %4684, 0
  br i1 %4685, label %4686, label %4703

4686:                                             ; preds = %4681
  %4687 = load i32, ptr %95, align 4, !tbaa !5
  %4688 = call ptr @__errno_location() #10
  store i32 %4687, ptr %4688, align 4, !tbaa !5
  %4689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4690 = load i32, ptr @test_count, align 4, !tbaa !5
  %4691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4692 = load i32, ptr %4691, align 4, !tbaa !5
  %4693 = call ptr @s2n_strerror(i32 noundef %4692, ptr noundef @.str.3)
  %4694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4695 = load i32, ptr %4694, align 4, !tbaa !5
  %4696 = call ptr @s2n_strerror_debug(i32 noundef %4695, ptr noundef @.str.3)
  %4697 = call ptr @__errno_location() #10
  %4698 = load i32, ptr %4697, align 4, !tbaa !5
  %4699 = call ptr @strerror(i32 noundef %4698) #9
  %4700 = call ptr @__errno_location() #10
  %4701 = load i32, ptr %4700, align 4, !tbaa !5
  %4702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4689, ptr noundef @.str, i32 noundef %4690, ptr noundef @.str.49, ptr noundef @.str.2, i32 noundef 186, ptr noundef %4693, ptr noundef %4696, ptr noundef %4699, i32 noundef %4701) #9
  br label %4720

4703:                                             ; preds = %4681, %4674
  %4704 = load i32, ptr %95, align 4, !tbaa !5
  %4705 = call ptr @__errno_location() #10
  store i32 %4704, ptr %4705, align 4, !tbaa !5
  %4706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4707 = load i32, ptr @test_count, align 4, !tbaa !5
  %4708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4709 = load i32, ptr %4708, align 4, !tbaa !5
  %4710 = call ptr @s2n_strerror(i32 noundef %4709, ptr noundef @.str.3)
  %4711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4712 = load i32, ptr %4711, align 4, !tbaa !5
  %4713 = call ptr @s2n_strerror_debug(i32 noundef %4712, ptr noundef @.str.3)
  %4714 = call ptr @__errno_location() #10
  %4715 = load i32, ptr %4714, align 4, !tbaa !5
  %4716 = call ptr @strerror(i32 noundef %4715) #9
  %4717 = call ptr @__errno_location() #10
  %4718 = load i32, ptr %4717, align 4, !tbaa !5
  %4719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4706, ptr noundef @.str.4, i32 noundef %4707, ptr noundef @.str.49, ptr noundef @.str.2, i32 noundef 186, ptr noundef %4710, ptr noundef %4713, ptr noundef %4716, i32 noundef %4718) #9
  br label %4720

4720:                                             ; preds = %4703, %4686
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #9
  br label %4721

4721:                                             ; preds = %4720
  br label %4722

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

4723:                                             ; No predecessors!
  br label %4724

4724:                                             ; preds = %4723
  br label %4725

4725:                                             ; preds = %4724, %4664
  br label %4726

4726:                                             ; preds = %4725
  br label %4727

4727:                                             ; preds = %4726
  call void @llvm.lifetime.start.p0(i64 8, ptr %96) #9
  %4728 = call ptr @s2n_config_new()
  store ptr %4728, ptr %96, align 8, !tbaa !9
  br label %4729

4729:                                             ; preds = %4727
  %4730 = load i32, ptr @test_count, align 4, !tbaa !5
  %4731 = add nsw i32 %4730, 1
  store i32 %4731, ptr @test_count, align 4, !tbaa !5
  %4732 = load ptr, ptr %96, align 8, !tbaa !9
  %4733 = icmp eq ptr %4732, null
  br i1 %4733, label %4734, label %4787

4734:                                             ; preds = %4729
  br label %4735

4735:                                             ; preds = %4734
  br label %4736

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

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

4748:                                             ; preds = %4743
  %4749 = load i32, ptr %97, align 4, !tbaa !5
  %4750 = call ptr @__errno_location() #10
  store i32 %4749, ptr %4750, align 4, !tbaa !5
  %4751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4752 = load i32, ptr @test_count, align 4, !tbaa !5
  %4753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4754 = load i32, ptr %4753, align 4, !tbaa !5
  %4755 = call ptr @s2n_strerror(i32 noundef %4754, ptr noundef @.str.3)
  %4756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4757 = load i32, ptr %4756, align 4, !tbaa !5
  %4758 = call ptr @s2n_strerror_debug(i32 noundef %4757, ptr noundef @.str.3)
  %4759 = call ptr @__errno_location() #10
  %4760 = load i32, ptr %4759, align 4, !tbaa !5
  %4761 = call ptr @strerror(i32 noundef %4760) #9
  %4762 = call ptr @__errno_location() #10
  %4763 = load i32, ptr %4762, align 4, !tbaa !5
  %4764 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4751, ptr noundef @.str, i32 noundef %4752, ptr noundef @.str.50, ptr noundef @.str.2, i32 noundef 191, ptr noundef %4755, ptr noundef %4758, ptr noundef %4761, i32 noundef %4763) #9
  br label %4782

4765:                                             ; preds = %4743, %4736
  %4766 = load i32, ptr %97, align 4, !tbaa !5
  %4767 = call ptr @__errno_location() #10
  store i32 %4766, ptr %4767, align 4, !tbaa !5
  %4768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4769 = load i32, ptr @test_count, align 4, !tbaa !5
  %4770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4771 = load i32, ptr %4770, align 4, !tbaa !5
  %4772 = call ptr @s2n_strerror(i32 noundef %4771, ptr noundef @.str.3)
  %4773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4774 = load i32, ptr %4773, align 4, !tbaa !5
  %4775 = call ptr @s2n_strerror_debug(i32 noundef %4774, ptr noundef @.str.3)
  %4776 = call ptr @__errno_location() #10
  %4777 = load i32, ptr %4776, align 4, !tbaa !5
  %4778 = call ptr @strerror(i32 noundef %4777) #9
  %4779 = call ptr @__errno_location() #10
  %4780 = load i32, ptr %4779, align 4, !tbaa !5
  %4781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4768, ptr noundef @.str.4, i32 noundef %4769, ptr noundef @.str.50, ptr noundef @.str.2, i32 noundef 191, ptr noundef %4772, ptr noundef %4775, ptr noundef %4778, i32 noundef %4780) #9
  br label %4782

4782:                                             ; preds = %4765, %4748
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #9
  br label %4783

4783:                                             ; preds = %4782
  br label %4784

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

4785:                                             ; No predecessors!
  br label %4786

4786:                                             ; preds = %4785
  br label %4787

4787:                                             ; preds = %4786, %4729
  br label %4788

4788:                                             ; preds = %4787
  br label %4789

4789:                                             ; preds = %4788
  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 = load ptr, ptr %96, align 8, !tbaa !9
  %4794 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %4793, ptr noundef @.str.51, ptr noundef null)
  %4795 = icmp eq i32 %4794, -1
  br i1 %4795, label %4796, label %4849

4796:                                             ; preds = %4790
  br label %4797

4797:                                             ; preds = %4796
  br label %4798

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

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

4810:                                             ; preds = %4805
  %4811 = load i32, ptr %98, align 4, !tbaa !5
  %4812 = call ptr @__errno_location() #10
  store i32 %4811, ptr %4812, align 4, !tbaa !5
  %4813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4814 = load i32, ptr @test_count, align 4, !tbaa !5
  %4815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4816 = load i32, ptr %4815, align 4, !tbaa !5
  %4817 = call ptr @s2n_strerror(i32 noundef %4816, ptr noundef @.str.3)
  %4818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4819 = load i32, ptr %4818, align 4, !tbaa !5
  %4820 = call ptr @s2n_strerror_debug(i32 noundef %4819, ptr noundef @.str.3)
  %4821 = call ptr @__errno_location() #10
  %4822 = load i32, ptr %4821, align 4, !tbaa !5
  %4823 = call ptr @strerror(i32 noundef %4822) #9
  %4824 = call ptr @__errno_location() #10
  %4825 = load i32, ptr %4824, align 4, !tbaa !5
  %4826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4813, ptr noundef @.str, i32 noundef %4814, ptr noundef @.str.52, ptr noundef @.str.2, i32 noundef 192, ptr noundef %4817, ptr noundef %4820, ptr noundef %4823, i32 noundef %4825) #9
  br label %4844

4827:                                             ; preds = %4805, %4798
  %4828 = load i32, ptr %98, align 4, !tbaa !5
  %4829 = call ptr @__errno_location() #10
  store i32 %4828, ptr %4829, align 4, !tbaa !5
  %4830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4831 = load i32, ptr @test_count, align 4, !tbaa !5
  %4832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4833 = load i32, ptr %4832, align 4, !tbaa !5
  %4834 = call ptr @s2n_strerror(i32 noundef %4833, ptr noundef @.str.3)
  %4835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4836 = load i32, ptr %4835, align 4, !tbaa !5
  %4837 = call ptr @s2n_strerror_debug(i32 noundef %4836, ptr noundef @.str.3)
  %4838 = call ptr @__errno_location() #10
  %4839 = load i32, ptr %4838, align 4, !tbaa !5
  %4840 = call ptr @strerror(i32 noundef %4839) #9
  %4841 = call ptr @__errno_location() #10
  %4842 = load i32, ptr %4841, align 4, !tbaa !5
  %4843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4830, ptr noundef @.str.4, i32 noundef %4831, ptr noundef @.str.52, ptr noundef @.str.2, i32 noundef 192, ptr noundef %4834, ptr noundef %4837, ptr noundef %4840, i32 noundef %4842) #9
  br label %4844

4844:                                             ; preds = %4827, %4810
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #9
  br label %4845

4845:                                             ; preds = %4844
  br label %4846

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

4847:                                             ; No predecessors!
  br label %4848

4848:                                             ; preds = %4847
  br label %4849

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

4850:                                             ; preds = %4849
  br label %4851

4851:                                             ; preds = %4850
  br label %4852

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

4858:                                             ; preds = %4852
  br label %4859

4859:                                             ; preds = %4858
  br label %4860

4860:                                             ; preds = %4859
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #9
  %4861 = call ptr @__errno_location() #10
  %4862 = load i32, ptr %4861, align 4, !tbaa !5
  store i32 %4862, ptr %99, 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) #9
  %4870 = call i32 @isatty(i32 noundef %4869) #9
  %4871 = icmp ne i32 %4870, 0
  br i1 %4871, label %4872, label %4889

4872:                                             ; preds = %4867
  %4873 = load i32, ptr %99, align 4, !tbaa !5
  %4874 = call ptr @__errno_location() #10
  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.3)
  %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.3)
  %4883 = call ptr @__errno_location() #10
  %4884 = load i32, ptr %4883, align 4, !tbaa !5
  %4885 = call ptr @strerror(i32 noundef %4884) #9
  %4886 = call ptr @__errno_location() #10
  %4887 = load i32, ptr %4886, align 4, !tbaa !5
  %4888 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4875, ptr noundef @.str, i32 noundef %4876, ptr noundef @.str.54, ptr noundef @.str.2, i32 noundef 193, ptr noundef %4879, ptr noundef %4882, ptr noundef %4885, i32 noundef %4887) #9
  br label %4906

4889:                                             ; preds = %4867, %4860
  %4890 = load i32, ptr %99, align 4, !tbaa !5
  %4891 = call ptr @__errno_location() #10
  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.3)
  %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.3)
  %4900 = call ptr @__errno_location() #10
  %4901 = load i32, ptr %4900, align 4, !tbaa !5
  %4902 = call ptr @strerror(i32 noundef %4901) #9
  %4903 = call ptr @__errno_location() #10
  %4904 = load i32, ptr %4903, align 4, !tbaa !5
  %4905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4892, ptr noundef @.str.4, i32 noundef %4893, ptr noundef @.str.54, ptr noundef @.str.2, i32 noundef 193, ptr noundef %4896, ptr noundef %4899, ptr noundef %4902, i32 noundef %4904) #9
  br label %4906

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

4907:                                             ; preds = %4906
  br label %4908

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

4909:                                             ; No predecessors!
  br label %4910

4910:                                             ; preds = %4909
  br label %4911

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

4912:                                             ; preds = %4911
  br label %4913

4913:                                             ; preds = %4912
  br label %4914

4914:                                             ; preds = %4913
  %4915 = load i32, ptr @test_count, align 4, !tbaa !5
  %4916 = add nsw i32 %4915, 1
  store i32 %4916, ptr @test_count, align 4, !tbaa !5
  %4917 = load ptr, ptr %96, align 8, !tbaa !9
  %4918 = call i32 @s2n_config_set_status_request_type(ptr noundef %4917, i32 noundef 1)
  %4919 = icmp eq i32 %4918, -1
  br i1 %4919, label %4920, label %4973

4920:                                             ; preds = %4914
  br label %4921

4921:                                             ; preds = %4920
  br label %4922

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

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

4934:                                             ; preds = %4929
  %4935 = load i32, ptr %100, align 4, !tbaa !5
  %4936 = call ptr @__errno_location() #10
  store i32 %4935, ptr %4936, align 4, !tbaa !5
  %4937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4938 = load i32, ptr @test_count, align 4, !tbaa !5
  %4939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4940 = load i32, ptr %4939, align 4, !tbaa !5
  %4941 = call ptr @s2n_strerror(i32 noundef %4940, ptr noundef @.str.3)
  %4942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4943 = load i32, ptr %4942, align 4, !tbaa !5
  %4944 = call ptr @s2n_strerror_debug(i32 noundef %4943, ptr noundef @.str.3)
  %4945 = call ptr @__errno_location() #10
  %4946 = load i32, ptr %4945, align 4, !tbaa !5
  %4947 = call ptr @strerror(i32 noundef %4946) #9
  %4948 = call ptr @__errno_location() #10
  %4949 = load i32, ptr %4948, align 4, !tbaa !5
  %4950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4937, ptr noundef @.str, i32 noundef %4938, ptr noundef @.str.55, ptr noundef @.str.2, i32 noundef 194, ptr noundef %4941, ptr noundef %4944, ptr noundef %4947, i32 noundef %4949) #9
  br label %4968

4951:                                             ; preds = %4929, %4922
  %4952 = load i32, ptr %100, align 4, !tbaa !5
  %4953 = call ptr @__errno_location() #10
  store i32 %4952, ptr %4953, align 4, !tbaa !5
  %4954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4955 = load i32, ptr @test_count, align 4, !tbaa !5
  %4956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4957 = load i32, ptr %4956, align 4, !tbaa !5
  %4958 = call ptr @s2n_strerror(i32 noundef %4957, ptr noundef @.str.3)
  %4959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4960 = load i32, ptr %4959, align 4, !tbaa !5
  %4961 = call ptr @s2n_strerror_debug(i32 noundef %4960, ptr noundef @.str.3)
  %4962 = call ptr @__errno_location() #10
  %4963 = load i32, ptr %4962, align 4, !tbaa !5
  %4964 = call ptr @strerror(i32 noundef %4963) #9
  %4965 = call ptr @__errno_location() #10
  %4966 = load i32, ptr %4965, align 4, !tbaa !5
  %4967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4954, ptr noundef @.str.4, i32 noundef %4955, ptr noundef @.str.55, ptr noundef @.str.2, i32 noundef 194, ptr noundef %4958, ptr noundef %4961, ptr noundef %4964, i32 noundef %4966) #9
  br label %4968

4968:                                             ; preds = %4951, %4934
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #9
  br label %4969

4969:                                             ; preds = %4968
  br label %4970

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

4971:                                             ; No predecessors!
  br label %4972

4972:                                             ; preds = %4971
  br label %4973

4973:                                             ; preds = %4972, %4914
  br label %4974

4974:                                             ; preds = %4973
  br label %4975

4975:                                             ; preds = %4974
  call void @llvm.lifetime.start.p0(i64 8, ptr %101) #9
  %4976 = call ptr @s2n_config_new()
  store ptr %4976, ptr %101, align 8, !tbaa !9
  br label %4977

4977:                                             ; preds = %4975
  %4978 = load i32, ptr @test_count, align 4, !tbaa !5
  %4979 = add nsw i32 %4978, 1
  store i32 %4979, ptr @test_count, align 4, !tbaa !5
  %4980 = load ptr, ptr %101, align 8, !tbaa !9
  %4981 = icmp eq ptr %4980, null
  br i1 %4981, label %4982, label %5035

4982:                                             ; preds = %4977
  br label %4983

4983:                                             ; preds = %4982
  br label %4984

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

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

4996:                                             ; preds = %4991
  %4997 = load i32, ptr %102, align 4, !tbaa !5
  %4998 = call ptr @__errno_location() #10
  store i32 %4997, ptr %4998, align 4, !tbaa !5
  %4999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5000 = load i32, ptr @test_count, align 4, !tbaa !5
  %5001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5002 = load i32, ptr %5001, align 4, !tbaa !5
  %5003 = call ptr @s2n_strerror(i32 noundef %5002, ptr noundef @.str.3)
  %5004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5005 = load i32, ptr %5004, align 4, !tbaa !5
  %5006 = call ptr @s2n_strerror_debug(i32 noundef %5005, ptr noundef @.str.3)
  %5007 = call ptr @__errno_location() #10
  %5008 = load i32, ptr %5007, align 4, !tbaa !5
  %5009 = call ptr @strerror(i32 noundef %5008) #9
  %5010 = call ptr @__errno_location() #10
  %5011 = load i32, ptr %5010, align 4, !tbaa !5
  %5012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4999, ptr noundef @.str, i32 noundef %5000, ptr noundef @.str.56, ptr noundef @.str.2, i32 noundef 197, ptr noundef %5003, ptr noundef %5006, ptr noundef %5009, i32 noundef %5011) #9
  br label %5030

5013:                                             ; preds = %4991, %4984
  %5014 = load i32, ptr %102, align 4, !tbaa !5
  %5015 = call ptr @__errno_location() #10
  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.3)
  %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.3)
  %5024 = call ptr @__errno_location() #10
  %5025 = load i32, ptr %5024, align 4, !tbaa !5
  %5026 = call ptr @strerror(i32 noundef %5025) #9
  %5027 = call ptr @__errno_location() #10
  %5028 = load i32, ptr %5027, align 4, !tbaa !5
  %5029 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5016, ptr noundef @.str.4, i32 noundef %5017, ptr noundef @.str.56, ptr noundef @.str.2, i32 noundef 197, ptr noundef %5020, ptr noundef %5023, ptr noundef %5026, i32 noundef %5028) #9
  br label %5030

5030:                                             ; preds = %5013, %4996
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #9
  br label %5031

5031:                                             ; preds = %5030
  br label %5032

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

5033:                                             ; No predecessors!
  br label %5034

5034:                                             ; preds = %5033
  br label %5035

5035:                                             ; preds = %5034, %4977
  br label %5036

5036:                                             ; preds = %5035
  br label %5037

5037:                                             ; preds = %5036
  br label %5038

5038:                                             ; preds = %5037
  %5039 = load i32, ptr @test_count, align 4, !tbaa !5
  %5040 = add nsw i32 %5039, 1
  store i32 %5040, ptr @test_count, align 4, !tbaa !5
  %5041 = load ptr, ptr %101, align 8, !tbaa !9
  %5042 = load ptr, ptr %93, align 8, !tbaa !9
  %5043 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %5041, ptr noundef %5042)
  %5044 = icmp eq i32 %5043, -1
  br i1 %5044, label %5045, label %5098

5045:                                             ; preds = %5038
  br label %5046

5046:                                             ; preds = %5045
  br label %5047

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

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

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

5076:                                             ; preds = %5054, %5047
  %5077 = load i32, ptr %103, align 4, !tbaa !5
  %5078 = call ptr @__errno_location() #10
  store i32 %5077, ptr %5078, align 4, !tbaa !5
  %5079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5080 = load i32, ptr @test_count, align 4, !tbaa !5
  %5081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5082 = load i32, ptr %5081, align 4, !tbaa !5
  %5083 = call ptr @s2n_strerror(i32 noundef %5082, ptr noundef @.str.3)
  %5084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5085 = load i32, ptr %5084, align 4, !tbaa !5
  %5086 = call ptr @s2n_strerror_debug(i32 noundef %5085, ptr noundef @.str.3)
  %5087 = call ptr @__errno_location() #10
  %5088 = load i32, ptr %5087, align 4, !tbaa !5
  %5089 = call ptr @strerror(i32 noundef %5088) #9
  %5090 = call ptr @__errno_location() #10
  %5091 = load i32, ptr %5090, align 4, !tbaa !5
  %5092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5079, ptr noundef @.str.4, i32 noundef %5080, ptr noundef @.str.57, ptr noundef @.str.2, i32 noundef 198, ptr noundef %5083, ptr noundef %5086, ptr noundef %5089, i32 noundef %5091) #9
  br label %5093

5093:                                             ; preds = %5076, %5059
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #9
  br label %5094

5094:                                             ; preds = %5093
  br label %5095

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

5096:                                             ; No predecessors!
  br label %5097

5097:                                             ; preds = %5096
  br label %5098

5098:                                             ; preds = %5097, %5038
  br label %5099

5099:                                             ; preds = %5098
  br label %5100

5100:                                             ; preds = %5099
  br label %5101

5101:                                             ; preds = %5100
  %5102 = load i32, ptr @test_count, align 4, !tbaa !5
  %5103 = add nsw i32 %5102, 1
  store i32 %5103, ptr @test_count, align 4, !tbaa !5
  %5104 = load ptr, ptr %101, align 8, !tbaa !9
  %5105 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %5104, ptr noundef @.str.53)
  %5106 = icmp eq i32 %5105, -1
  br i1 %5106, label %5107, label %5160

5107:                                             ; preds = %5101
  br label %5108

5108:                                             ; preds = %5107
  br label %5109

5109:                                             ; preds = %5108
  call void @llvm.lifetime.start.p0(i64 4, ptr %104) #9
  %5110 = call ptr @__errno_location() #10
  %5111 = load i32, ptr %5110, align 4, !tbaa !5
  store i32 %5111, ptr %104, align 4, !tbaa !5
  %5112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5113 = call i32 @s2n_print_stacktrace(ptr noundef %5112)
  %5114 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5115 = trunc i8 %5114 to i1
  br i1 %5115, label %5116, label %5138

5116:                                             ; preds = %5109
  %5117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5118 = call i32 @fileno(ptr noundef %5117) #9
  %5119 = call i32 @isatty(i32 noundef %5118) #9
  %5120 = icmp ne i32 %5119, 0
  br i1 %5120, label %5121, label %5138

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

5138:                                             ; preds = %5116, %5109
  %5139 = load i32, ptr %104, align 4, !tbaa !5
  %5140 = call ptr @__errno_location() #10
  store i32 %5139, ptr %5140, align 4, !tbaa !5
  %5141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5142 = load i32, ptr @test_count, align 4, !tbaa !5
  %5143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5144 = load i32, ptr %5143, align 4, !tbaa !5
  %5145 = call ptr @s2n_strerror(i32 noundef %5144, ptr noundef @.str.3)
  %5146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5147 = load i32, ptr %5146, align 4, !tbaa !5
  %5148 = call ptr @s2n_strerror_debug(i32 noundef %5147, ptr noundef @.str.3)
  %5149 = call ptr @__errno_location() #10
  %5150 = load i32, ptr %5149, align 4, !tbaa !5
  %5151 = call ptr @strerror(i32 noundef %5150) #9
  %5152 = call ptr @__errno_location() #10
  %5153 = load i32, ptr %5152, align 4, !tbaa !5
  %5154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5141, ptr noundef @.str.4, i32 noundef %5142, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 199, ptr noundef %5145, ptr noundef %5148, ptr noundef %5151, i32 noundef %5153) #9
  br label %5155

5155:                                             ; preds = %5138, %5121
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #9
  br label %5156

5156:                                             ; preds = %5155
  br label %5157

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

5158:                                             ; No predecessors!
  br label %5159

5159:                                             ; preds = %5158
  br label %5160

5160:                                             ; preds = %5159, %5101
  br label %5161

5161:                                             ; preds = %5160
  br label %5162

5162:                                             ; preds = %5161
  call void @llvm.lifetime.start.p0(i64 8, ptr %105) #9
  %5163 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %5163, ptr %105, align 8, !tbaa !9
  br label %5164

5164:                                             ; preds = %5162
  %5165 = load i32, ptr @test_count, align 4, !tbaa !5
  %5166 = add nsw i32 %5165, 1
  store i32 %5166, ptr @test_count, align 4, !tbaa !5
  %5167 = load ptr, ptr %105, align 8, !tbaa !9
  %5168 = icmp eq ptr %5167, null
  br i1 %5168, label %5169, label %5222

5169:                                             ; preds = %5164
  br label %5170

5170:                                             ; preds = %5169
  br label %5171

5171:                                             ; preds = %5170
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #9
  %5172 = call ptr @__errno_location() #10
  %5173 = load i32, ptr %5172, align 4, !tbaa !5
  store i32 %5173, ptr %106, align 4, !tbaa !5
  %5174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5175 = call i32 @s2n_print_stacktrace(ptr noundef %5174)
  %5176 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5177 = trunc i8 %5176 to i1
  br i1 %5177, label %5178, label %5200

5178:                                             ; preds = %5171
  %5179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5180 = call i32 @fileno(ptr noundef %5179) #9
  %5181 = call i32 @isatty(i32 noundef %5180) #9
  %5182 = icmp ne i32 %5181, 0
  br i1 %5182, label %5183, label %5200

5183:                                             ; preds = %5178
  %5184 = load i32, ptr %106, align 4, !tbaa !5
  %5185 = call ptr @__errno_location() #10
  store i32 %5184, ptr %5185, align 4, !tbaa !5
  %5186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5187 = load i32, ptr @test_count, align 4, !tbaa !5
  %5188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5189 = load i32, ptr %5188, align 4, !tbaa !5
  %5190 = call ptr @s2n_strerror(i32 noundef %5189, ptr noundef @.str.3)
  %5191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5192 = load i32, ptr %5191, align 4, !tbaa !5
  %5193 = call ptr @s2n_strerror_debug(i32 noundef %5192, ptr noundef @.str.3)
  %5194 = call ptr @__errno_location() #10
  %5195 = load i32, ptr %5194, align 4, !tbaa !5
  %5196 = call ptr @strerror(i32 noundef %5195) #9
  %5197 = call ptr @__errno_location() #10
  %5198 = load i32, ptr %5197, align 4, !tbaa !5
  %5199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5186, ptr noundef @.str, i32 noundef %5187, ptr noundef @.str.59, ptr noundef @.str.2, i32 noundef 202, ptr noundef %5190, ptr noundef %5193, ptr noundef %5196, i32 noundef %5198) #9
  br label %5217

5200:                                             ; preds = %5178, %5171
  %5201 = load i32, ptr %106, align 4, !tbaa !5
  %5202 = call ptr @__errno_location() #10
  store i32 %5201, ptr %5202, align 4, !tbaa !5
  %5203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5204 = load i32, ptr @test_count, align 4, !tbaa !5
  %5205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5206 = load i32, ptr %5205, align 4, !tbaa !5
  %5207 = call ptr @s2n_strerror(i32 noundef %5206, ptr noundef @.str.3)
  %5208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5209 = load i32, ptr %5208, align 4, !tbaa !5
  %5210 = call ptr @s2n_strerror_debug(i32 noundef %5209, ptr noundef @.str.3)
  %5211 = call ptr @__errno_location() #10
  %5212 = load i32, ptr %5211, align 4, !tbaa !5
  %5213 = call ptr @strerror(i32 noundef %5212) #9
  %5214 = call ptr @__errno_location() #10
  %5215 = load i32, ptr %5214, align 4, !tbaa !5
  %5216 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5203, ptr noundef @.str.4, i32 noundef %5204, ptr noundef @.str.59, ptr noundef @.str.2, i32 noundef 202, ptr noundef %5207, ptr noundef %5210, ptr noundef %5213, i32 noundef %5215) #9
  br label %5217

5217:                                             ; preds = %5200, %5183
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #9
  br label %5218

5218:                                             ; preds = %5217
  br label %5219

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

5220:                                             ; No predecessors!
  br label %5221

5221:                                             ; preds = %5220
  br label %5222

5222:                                             ; preds = %5221, %5164
  br label %5223

5223:                                             ; preds = %5222
  br label %5224

5224:                                             ; preds = %5223
  br label %5225

5225:                                             ; preds = %5224
  %5226 = load i32, ptr @test_count, align 4, !tbaa !5
  %5227 = add nsw i32 %5226, 1
  store i32 %5227, ptr @test_count, align 4, !tbaa !5
  %5228 = load ptr, ptr %105, align 8, !tbaa !9
  %5229 = load ptr, ptr %101, align 8, !tbaa !9
  %5230 = call i32 @s2n_connection_set_config(ptr noundef %5228, ptr noundef %5229)
  %5231 = icmp eq i32 %5230, -1
  br i1 %5231, label %5232, label %5285

5232:                                             ; preds = %5225
  br label %5233

5233:                                             ; preds = %5232
  br label %5234

5234:                                             ; preds = %5233
  call void @llvm.lifetime.start.p0(i64 4, ptr %107) #9
  %5235 = call ptr @__errno_location() #10
  %5236 = load i32, ptr %5235, align 4, !tbaa !5
  store i32 %5236, ptr %107, align 4, !tbaa !5
  %5237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5238 = call i32 @s2n_print_stacktrace(ptr noundef %5237)
  %5239 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5240 = trunc i8 %5239 to i1
  br i1 %5240, label %5241, label %5263

5241:                                             ; preds = %5234
  %5242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5243 = call i32 @fileno(ptr noundef %5242) #9
  %5244 = call i32 @isatty(i32 noundef %5243) #9
  %5245 = icmp ne i32 %5244, 0
  br i1 %5245, label %5246, label %5263

5246:                                             ; preds = %5241
  %5247 = load i32, ptr %107, align 4, !tbaa !5
  %5248 = call ptr @__errno_location() #10
  store i32 %5247, ptr %5248, align 4, !tbaa !5
  %5249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5250 = load i32, ptr @test_count, align 4, !tbaa !5
  %5251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5252 = load i32, ptr %5251, align 4, !tbaa !5
  %5253 = call ptr @s2n_strerror(i32 noundef %5252, ptr noundef @.str.3)
  %5254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5255 = load i32, ptr %5254, align 4, !tbaa !5
  %5256 = call ptr @s2n_strerror_debug(i32 noundef %5255, ptr noundef @.str.3)
  %5257 = call ptr @__errno_location() #10
  %5258 = load i32, ptr %5257, align 4, !tbaa !5
  %5259 = call ptr @strerror(i32 noundef %5258) #9
  %5260 = call ptr @__errno_location() #10
  %5261 = load i32, ptr %5260, align 4, !tbaa !5
  %5262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5249, ptr noundef @.str, i32 noundef %5250, ptr noundef @.str.60, ptr noundef @.str.2, i32 noundef 203, ptr noundef %5253, ptr noundef %5256, ptr noundef %5259, i32 noundef %5261) #9
  br label %5280

5263:                                             ; preds = %5241, %5234
  %5264 = load i32, ptr %107, align 4, !tbaa !5
  %5265 = call ptr @__errno_location() #10
  store i32 %5264, ptr %5265, align 4, !tbaa !5
  %5266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5267 = load i32, ptr @test_count, align 4, !tbaa !5
  %5268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5269 = load i32, ptr %5268, align 4, !tbaa !5
  %5270 = call ptr @s2n_strerror(i32 noundef %5269, ptr noundef @.str.3)
  %5271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5272 = load i32, ptr %5271, align 4, !tbaa !5
  %5273 = call ptr @s2n_strerror_debug(i32 noundef %5272, ptr noundef @.str.3)
  %5274 = call ptr @__errno_location() #10
  %5275 = load i32, ptr %5274, align 4, !tbaa !5
  %5276 = call ptr @strerror(i32 noundef %5275) #9
  %5277 = call ptr @__errno_location() #10
  %5278 = load i32, ptr %5277, align 4, !tbaa !5
  %5279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5266, ptr noundef @.str.4, i32 noundef %5267, ptr noundef @.str.60, ptr noundef @.str.2, i32 noundef 203, ptr noundef %5270, ptr noundef %5273, ptr noundef %5276, i32 noundef %5278) #9
  br label %5280

5280:                                             ; preds = %5263, %5246
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #9
  br label %5281

5281:                                             ; preds = %5280
  br label %5282

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

5283:                                             ; No predecessors!
  br label %5284

5284:                                             ; preds = %5283
  br label %5285

5285:                                             ; preds = %5284, %5225
  br label %5286

5286:                                             ; preds = %5285
  br label %5287

5287:                                             ; preds = %5286
  call void @llvm.lifetime.start.p0(i64 8, ptr %108) #9
  %5288 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %5288, ptr %108, align 8, !tbaa !9
  br label %5289

5289:                                             ; preds = %5287
  %5290 = load i32, ptr @test_count, align 4, !tbaa !5
  %5291 = add nsw i32 %5290, 1
  store i32 %5291, ptr @test_count, align 4, !tbaa !5
  %5292 = load ptr, ptr %108, align 8, !tbaa !9
  %5293 = icmp eq ptr %5292, null
  br i1 %5293, label %5294, label %5347

5294:                                             ; preds = %5289
  br label %5295

5295:                                             ; preds = %5294
  br label %5296

5296:                                             ; preds = %5295
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #9
  %5297 = call ptr @__errno_location() #10
  %5298 = load i32, ptr %5297, align 4, !tbaa !5
  store i32 %5298, ptr %109, align 4, !tbaa !5
  %5299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5300 = call i32 @s2n_print_stacktrace(ptr noundef %5299)
  %5301 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5302 = trunc i8 %5301 to i1
  br i1 %5302, label %5303, label %5325

5303:                                             ; preds = %5296
  %5304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5305 = call i32 @fileno(ptr noundef %5304) #9
  %5306 = call i32 @isatty(i32 noundef %5305) #9
  %5307 = icmp ne i32 %5306, 0
  br i1 %5307, label %5308, label %5325

5308:                                             ; preds = %5303
  %5309 = load i32, ptr %109, align 4, !tbaa !5
  %5310 = call ptr @__errno_location() #10
  store i32 %5309, ptr %5310, align 4, !tbaa !5
  %5311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5312 = load i32, ptr @test_count, align 4, !tbaa !5
  %5313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5314 = load i32, ptr %5313, align 4, !tbaa !5
  %5315 = call ptr @s2n_strerror(i32 noundef %5314, ptr noundef @.str.3)
  %5316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5317 = load i32, ptr %5316, align 4, !tbaa !5
  %5318 = call ptr @s2n_strerror_debug(i32 noundef %5317, ptr noundef @.str.3)
  %5319 = call ptr @__errno_location() #10
  %5320 = load i32, ptr %5319, align 4, !tbaa !5
  %5321 = call ptr @strerror(i32 noundef %5320) #9
  %5322 = call ptr @__errno_location() #10
  %5323 = load i32, ptr %5322, align 4, !tbaa !5
  %5324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5311, ptr noundef @.str, i32 noundef %5312, ptr noundef @.str.61, ptr noundef @.str.2, i32 noundef 206, ptr noundef %5315, ptr noundef %5318, ptr noundef %5321, i32 noundef %5323) #9
  br label %5342

5325:                                             ; preds = %5303, %5296
  %5326 = load i32, ptr %109, align 4, !tbaa !5
  %5327 = call ptr @__errno_location() #10
  store i32 %5326, ptr %5327, align 4, !tbaa !5
  %5328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5329 = load i32, ptr @test_count, align 4, !tbaa !5
  %5330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5331 = load i32, ptr %5330, align 4, !tbaa !5
  %5332 = call ptr @s2n_strerror(i32 noundef %5331, ptr noundef @.str.3)
  %5333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5334 = load i32, ptr %5333, align 4, !tbaa !5
  %5335 = call ptr @s2n_strerror_debug(i32 noundef %5334, ptr noundef @.str.3)
  %5336 = call ptr @__errno_location() #10
  %5337 = load i32, ptr %5336, align 4, !tbaa !5
  %5338 = call ptr @strerror(i32 noundef %5337) #9
  %5339 = call ptr @__errno_location() #10
  %5340 = load i32, ptr %5339, align 4, !tbaa !5
  %5341 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5328, ptr noundef @.str.4, i32 noundef %5329, ptr noundef @.str.61, ptr noundef @.str.2, i32 noundef 206, ptr noundef %5332, ptr noundef %5335, ptr noundef %5338, i32 noundef %5340) #9
  br label %5342

5342:                                             ; preds = %5325, %5308
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #9
  br label %5343

5343:                                             ; preds = %5342
  br label %5344

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

5345:                                             ; No predecessors!
  br label %5346

5346:                                             ; preds = %5345
  br label %5347

5347:                                             ; preds = %5346, %5289
  br label %5348

5348:                                             ; preds = %5347
  br label %5349

5349:                                             ; preds = %5348
  br label %5350

5350:                                             ; preds = %5349
  %5351 = load i32, ptr @test_count, align 4, !tbaa !5
  %5352 = add nsw i32 %5351, 1
  store i32 %5352, ptr @test_count, align 4, !tbaa !5
  %5353 = load ptr, ptr %108, align 8, !tbaa !9
  %5354 = load ptr, ptr %96, align 8, !tbaa !9
  %5355 = call i32 @s2n_connection_set_config(ptr noundef %5353, ptr noundef %5354)
  %5356 = icmp eq i32 %5355, -1
  br i1 %5356, label %5357, label %5410

5357:                                             ; preds = %5350
  br label %5358

5358:                                             ; preds = %5357
  br label %5359

5359:                                             ; preds = %5358
  call void @llvm.lifetime.start.p0(i64 4, ptr %110) #9
  %5360 = call ptr @__errno_location() #10
  %5361 = load i32, ptr %5360, align 4, !tbaa !5
  store i32 %5361, ptr %110, align 4, !tbaa !5
  %5362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5363 = call i32 @s2n_print_stacktrace(ptr noundef %5362)
  %5364 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5365 = trunc i8 %5364 to i1
  br i1 %5365, label %5366, label %5388

5366:                                             ; preds = %5359
  %5367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5368 = call i32 @fileno(ptr noundef %5367) #9
  %5369 = call i32 @isatty(i32 noundef %5368) #9
  %5370 = icmp ne i32 %5369, 0
  br i1 %5370, label %5371, label %5388

5371:                                             ; preds = %5366
  %5372 = load i32, ptr %110, align 4, !tbaa !5
  %5373 = call ptr @__errno_location() #10
  store i32 %5372, ptr %5373, align 4, !tbaa !5
  %5374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5375 = load i32, ptr @test_count, align 4, !tbaa !5
  %5376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5377 = load i32, ptr %5376, align 4, !tbaa !5
  %5378 = call ptr @s2n_strerror(i32 noundef %5377, ptr noundef @.str.3)
  %5379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5380 = load i32, ptr %5379, align 4, !tbaa !5
  %5381 = call ptr @s2n_strerror_debug(i32 noundef %5380, ptr noundef @.str.3)
  %5382 = call ptr @__errno_location() #10
  %5383 = load i32, ptr %5382, align 4, !tbaa !5
  %5384 = call ptr @strerror(i32 noundef %5383) #9
  %5385 = call ptr @__errno_location() #10
  %5386 = load i32, ptr %5385, align 4, !tbaa !5
  %5387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5374, ptr noundef @.str, i32 noundef %5375, ptr noundef @.str.62, ptr noundef @.str.2, i32 noundef 207, ptr noundef %5378, ptr noundef %5381, ptr noundef %5384, i32 noundef %5386) #9
  br label %5405

5388:                                             ; preds = %5366, %5359
  %5389 = load i32, ptr %110, align 4, !tbaa !5
  %5390 = call ptr @__errno_location() #10
  store i32 %5389, ptr %5390, align 4, !tbaa !5
  %5391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5392 = load i32, ptr @test_count, align 4, !tbaa !5
  %5393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5394 = load i32, ptr %5393, align 4, !tbaa !5
  %5395 = call ptr @s2n_strerror(i32 noundef %5394, ptr noundef @.str.3)
  %5396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5397 = load i32, ptr %5396, align 4, !tbaa !5
  %5398 = call ptr @s2n_strerror_debug(i32 noundef %5397, ptr noundef @.str.3)
  %5399 = call ptr @__errno_location() #10
  %5400 = load i32, ptr %5399, align 4, !tbaa !5
  %5401 = call ptr @strerror(i32 noundef %5400) #9
  %5402 = call ptr @__errno_location() #10
  %5403 = load i32, ptr %5402, align 4, !tbaa !5
  %5404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5391, ptr noundef @.str.4, i32 noundef %5392, ptr noundef @.str.62, ptr noundef @.str.2, i32 noundef 207, ptr noundef %5395, ptr noundef %5398, ptr noundef %5401, i32 noundef %5403) #9
  br label %5405

5405:                                             ; preds = %5388, %5371
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #9
  br label %5406

5406:                                             ; preds = %5405
  br label %5407

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

5408:                                             ; No predecessors!
  br label %5409

5409:                                             ; preds = %5408
  br label %5410

5410:                                             ; preds = %5409, %5350
  br label %5411

5411:                                             ; preds = %5410
  br label %5412

5412:                                             ; preds = %5411
  br label %5413

5413:                                             ; preds = %5412
  %5414 = load i32, ptr @test_count, align 4, !tbaa !5
  %5415 = add nsw i32 %5414, 1
  store i32 %5415, ptr @test_count, align 4, !tbaa !5
  %5416 = load ptr, ptr %108, align 8, !tbaa !9
  %5417 = call i32 @s2n_set_server_name(ptr noundef %5416, ptr noundef @.str.63)
  %5418 = icmp eq i32 %5417, -1
  br i1 %5418, label %5419, label %5472

5419:                                             ; preds = %5413
  br label %5420

5420:                                             ; preds = %5419
  br label %5421

5421:                                             ; preds = %5420
  call void @llvm.lifetime.start.p0(i64 4, ptr %111) #9
  %5422 = call ptr @__errno_location() #10
  %5423 = load i32, ptr %5422, align 4, !tbaa !5
  store i32 %5423, ptr %111, align 4, !tbaa !5
  %5424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5425 = call i32 @s2n_print_stacktrace(ptr noundef %5424)
  %5426 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5427 = trunc i8 %5426 to i1
  br i1 %5427, label %5428, label %5450

5428:                                             ; preds = %5421
  %5429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5430 = call i32 @fileno(ptr noundef %5429) #9
  %5431 = call i32 @isatty(i32 noundef %5430) #9
  %5432 = icmp ne i32 %5431, 0
  br i1 %5432, label %5433, label %5450

5433:                                             ; preds = %5428
  %5434 = load i32, ptr %111, align 4, !tbaa !5
  %5435 = call ptr @__errno_location() #10
  store i32 %5434, ptr %5435, align 4, !tbaa !5
  %5436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5437 = load i32, ptr @test_count, align 4, !tbaa !5
  %5438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5439 = load i32, ptr %5438, align 4, !tbaa !5
  %5440 = call ptr @s2n_strerror(i32 noundef %5439, ptr noundef @.str.3)
  %5441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5442 = load i32, ptr %5441, align 4, !tbaa !5
  %5443 = call ptr @s2n_strerror_debug(i32 noundef %5442, ptr noundef @.str.3)
  %5444 = call ptr @__errno_location() #10
  %5445 = load i32, ptr %5444, align 4, !tbaa !5
  %5446 = call ptr @strerror(i32 noundef %5445) #9
  %5447 = call ptr @__errno_location() #10
  %5448 = load i32, ptr %5447, align 4, !tbaa !5
  %5449 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5436, ptr noundef @.str, i32 noundef %5437, ptr noundef @.str.64, ptr noundef @.str.2, i32 noundef 208, ptr noundef %5440, ptr noundef %5443, ptr noundef %5446, i32 noundef %5448) #9
  br label %5467

5450:                                             ; preds = %5428, %5421
  %5451 = load i32, ptr %111, align 4, !tbaa !5
  %5452 = call ptr @__errno_location() #10
  store i32 %5451, ptr %5452, align 4, !tbaa !5
  %5453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5454 = load i32, ptr @test_count, align 4, !tbaa !5
  %5455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5456 = load i32, ptr %5455, align 4, !tbaa !5
  %5457 = call ptr @s2n_strerror(i32 noundef %5456, ptr noundef @.str.3)
  %5458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5459 = load i32, ptr %5458, align 4, !tbaa !5
  %5460 = call ptr @s2n_strerror_debug(i32 noundef %5459, ptr noundef @.str.3)
  %5461 = call ptr @__errno_location() #10
  %5462 = load i32, ptr %5461, align 4, !tbaa !5
  %5463 = call ptr @strerror(i32 noundef %5462) #9
  %5464 = call ptr @__errno_location() #10
  %5465 = load i32, ptr %5464, align 4, !tbaa !5
  %5466 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5453, ptr noundef @.str.4, i32 noundef %5454, ptr noundef @.str.64, ptr noundef @.str.2, i32 noundef 208, ptr noundef %5457, ptr noundef %5460, ptr noundef %5463, i32 noundef %5465) #9
  br label %5467

5467:                                             ; preds = %5450, %5433
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #9
  br label %5468

5468:                                             ; preds = %5467
  br label %5469

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

5470:                                             ; No predecessors!
  br label %5471

5471:                                             ; preds = %5470
  br label %5472

5472:                                             ; preds = %5471, %5413
  br label %5473

5473:                                             ; preds = %5472
  br label %5474

5474:                                             ; preds = %5473
  call void @llvm.lifetime.start.p0(i64 8, ptr %112) #9
  call void @llvm.memset.p0.i64(ptr align 4 %112, i8 0, i64 8, i1 false)
  br label %5475

5475:                                             ; preds = %5474
  %5476 = load i32, ptr @test_count, align 4, !tbaa !5
  %5477 = add nsw i32 %5476, 1
  store i32 %5477, ptr @test_count, align 4, !tbaa !5
  %5478 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %112)
  %5479 = icmp eq i32 %5478, -1
  br i1 %5479, label %5480, label %5533

5480:                                             ; preds = %5475
  br label %5481

5481:                                             ; preds = %5480
  br label %5482

5482:                                             ; preds = %5481
  call void @llvm.lifetime.start.p0(i64 4, ptr %113) #9
  %5483 = call ptr @__errno_location() #10
  %5484 = load i32, ptr %5483, align 4, !tbaa !5
  store i32 %5484, ptr %113, align 4, !tbaa !5
  %5485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5486 = call i32 @s2n_print_stacktrace(ptr noundef %5485)
  %5487 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5488 = trunc i8 %5487 to i1
  br i1 %5488, label %5489, label %5511

5489:                                             ; preds = %5482
  %5490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5491 = call i32 @fileno(ptr noundef %5490) #9
  %5492 = call i32 @isatty(i32 noundef %5491) #9
  %5493 = icmp ne i32 %5492, 0
  br i1 %5493, label %5494, label %5511

5494:                                             ; preds = %5489
  %5495 = load i32, ptr %113, align 4, !tbaa !5
  %5496 = call ptr @__errno_location() #10
  store i32 %5495, ptr %5496, align 4, !tbaa !5
  %5497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5498 = load i32, ptr @test_count, align 4, !tbaa !5
  %5499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5500 = load i32, ptr %5499, align 4, !tbaa !5
  %5501 = call ptr @s2n_strerror(i32 noundef %5500, ptr noundef @.str.3)
  %5502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5503 = load i32, ptr %5502, align 4, !tbaa !5
  %5504 = call ptr @s2n_strerror_debug(i32 noundef %5503, ptr noundef @.str.3)
  %5505 = call ptr @__errno_location() #10
  %5506 = load i32, ptr %5505, align 4, !tbaa !5
  %5507 = call ptr @strerror(i32 noundef %5506) #9
  %5508 = call ptr @__errno_location() #10
  %5509 = load i32, ptr %5508, align 4, !tbaa !5
  %5510 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5497, ptr noundef @.str, i32 noundef %5498, ptr noundef @.str.65, ptr noundef @.str.2, i32 noundef 211, ptr noundef %5501, ptr noundef %5504, ptr noundef %5507, i32 noundef %5509) #9
  br label %5528

5511:                                             ; preds = %5489, %5482
  %5512 = load i32, ptr %113, align 4, !tbaa !5
  %5513 = call ptr @__errno_location() #10
  store i32 %5512, ptr %5513, align 4, !tbaa !5
  %5514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5515 = load i32, ptr @test_count, align 4, !tbaa !5
  %5516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5517 = load i32, ptr %5516, align 4, !tbaa !5
  %5518 = call ptr @s2n_strerror(i32 noundef %5517, ptr noundef @.str.3)
  %5519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5520 = load i32, ptr %5519, align 4, !tbaa !5
  %5521 = call ptr @s2n_strerror_debug(i32 noundef %5520, ptr noundef @.str.3)
  %5522 = call ptr @__errno_location() #10
  %5523 = load i32, ptr %5522, align 4, !tbaa !5
  %5524 = call ptr @strerror(i32 noundef %5523) #9
  %5525 = call ptr @__errno_location() #10
  %5526 = load i32, ptr %5525, align 4, !tbaa !5
  %5527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5514, ptr noundef @.str.4, i32 noundef %5515, ptr noundef @.str.65, ptr noundef @.str.2, i32 noundef 211, ptr noundef %5518, ptr noundef %5521, ptr noundef %5524, i32 noundef %5526) #9
  br label %5528

5528:                                             ; preds = %5511, %5494
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #9
  br label %5529

5529:                                             ; preds = %5528
  br label %5530

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

5531:                                             ; No predecessors!
  br label %5532

5532:                                             ; preds = %5531
  br label %5533

5533:                                             ; preds = %5532, %5475
  br label %5534

5534:                                             ; preds = %5533
  br label %5535

5535:                                             ; preds = %5534
  br label %5536

5536:                                             ; preds = %5535
  %5537 = load i32, ptr @test_count, align 4, !tbaa !5
  %5538 = add nsw i32 %5537, 1
  store i32 %5538, ptr @test_count, align 4, !tbaa !5
  %5539 = load ptr, ptr %108, align 8, !tbaa !9
  %5540 = call i32 @s2n_connection_set_io_pair(ptr noundef %5539, ptr noundef %112)
  %5541 = icmp eq i32 %5540, -1
  br i1 %5541, label %5542, label %5595

5542:                                             ; preds = %5536
  br label %5543

5543:                                             ; preds = %5542
  br label %5544

5544:                                             ; preds = %5543
  call void @llvm.lifetime.start.p0(i64 4, ptr %114) #9
  %5545 = call ptr @__errno_location() #10
  %5546 = load i32, ptr %5545, align 4, !tbaa !5
  store i32 %5546, ptr %114, align 4, !tbaa !5
  %5547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5548 = call i32 @s2n_print_stacktrace(ptr noundef %5547)
  %5549 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5550 = trunc i8 %5549 to i1
  br i1 %5550, label %5551, label %5573

5551:                                             ; preds = %5544
  %5552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5553 = call i32 @fileno(ptr noundef %5552) #9
  %5554 = call i32 @isatty(i32 noundef %5553) #9
  %5555 = icmp ne i32 %5554, 0
  br i1 %5555, label %5556, label %5573

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

5573:                                             ; preds = %5551, %5544
  %5574 = load i32, ptr %114, align 4, !tbaa !5
  %5575 = call ptr @__errno_location() #10
  store i32 %5574, ptr %5575, align 4, !tbaa !5
  %5576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5577 = load i32, ptr @test_count, align 4, !tbaa !5
  %5578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5579 = load i32, ptr %5578, align 4, !tbaa !5
  %5580 = call ptr @s2n_strerror(i32 noundef %5579, ptr noundef @.str.3)
  %5581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5582 = load i32, ptr %5581, align 4, !tbaa !5
  %5583 = call ptr @s2n_strerror_debug(i32 noundef %5582, ptr noundef @.str.3)
  %5584 = call ptr @__errno_location() #10
  %5585 = load i32, ptr %5584, align 4, !tbaa !5
  %5586 = call ptr @strerror(i32 noundef %5585) #9
  %5587 = call ptr @__errno_location() #10
  %5588 = load i32, ptr %5587, align 4, !tbaa !5
  %5589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5576, ptr noundef @.str.4, i32 noundef %5577, ptr noundef @.str.66, ptr noundef @.str.2, i32 noundef 212, ptr noundef %5580, ptr noundef %5583, ptr noundef %5586, i32 noundef %5588) #9
  br label %5590

5590:                                             ; preds = %5573, %5556
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #9
  br label %5591

5591:                                             ; preds = %5590
  br label %5592

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

5593:                                             ; No predecessors!
  br label %5594

5594:                                             ; preds = %5593
  br label %5595

5595:                                             ; preds = %5594, %5536
  br label %5596

5596:                                             ; preds = %5595
  br label %5597

5597:                                             ; preds = %5596
  br label %5598

5598:                                             ; preds = %5597
  %5599 = load i32, ptr @test_count, align 4, !tbaa !5
  %5600 = add nsw i32 %5599, 1
  store i32 %5600, ptr @test_count, align 4, !tbaa !5
  %5601 = load ptr, ptr %105, align 8, !tbaa !9
  %5602 = call i32 @s2n_connection_set_io_pair(ptr noundef %5601, ptr noundef %112)
  %5603 = icmp eq i32 %5602, -1
  br i1 %5603, label %5604, label %5657

5604:                                             ; preds = %5598
  br label %5605

5605:                                             ; preds = %5604
  br label %5606

5606:                                             ; preds = %5605
  call void @llvm.lifetime.start.p0(i64 4, ptr %115) #9
  %5607 = call ptr @__errno_location() #10
  %5608 = load i32, ptr %5607, align 4, !tbaa !5
  store i32 %5608, ptr %115, align 4, !tbaa !5
  %5609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5610 = call i32 @s2n_print_stacktrace(ptr noundef %5609)
  %5611 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5612 = trunc i8 %5611 to i1
  br i1 %5612, label %5613, label %5635

5613:                                             ; preds = %5606
  %5614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5615 = call i32 @fileno(ptr noundef %5614) #9
  %5616 = call i32 @isatty(i32 noundef %5615) #9
  %5617 = icmp ne i32 %5616, 0
  br i1 %5617, label %5618, label %5635

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

5635:                                             ; preds = %5613, %5606
  %5636 = load i32, ptr %115, align 4, !tbaa !5
  %5637 = call ptr @__errno_location() #10
  store i32 %5636, ptr %5637, align 4, !tbaa !5
  %5638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5639 = load i32, ptr @test_count, align 4, !tbaa !5
  %5640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5641 = load i32, ptr %5640, align 4, !tbaa !5
  %5642 = call ptr @s2n_strerror(i32 noundef %5641, ptr noundef @.str.3)
  %5643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5644 = load i32, ptr %5643, align 4, !tbaa !5
  %5645 = call ptr @s2n_strerror_debug(i32 noundef %5644, ptr noundef @.str.3)
  %5646 = call ptr @__errno_location() #10
  %5647 = load i32, ptr %5646, align 4, !tbaa !5
  %5648 = call ptr @strerror(i32 noundef %5647) #9
  %5649 = call ptr @__errno_location() #10
  %5650 = load i32, ptr %5649, align 4, !tbaa !5
  %5651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5638, ptr noundef @.str.4, i32 noundef %5639, ptr noundef @.str.67, ptr noundef @.str.2, i32 noundef 213, ptr noundef %5642, ptr noundef %5645, ptr noundef %5648, i32 noundef %5650) #9
  br label %5652

5652:                                             ; preds = %5635, %5618
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #9
  br label %5653

5653:                                             ; preds = %5652
  br label %5654

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

5655:                                             ; No predecessors!
  br label %5656

5656:                                             ; preds = %5655
  br label %5657

5657:                                             ; preds = %5656, %5598
  br label %5658

5658:                                             ; preds = %5657
  br label %5659

5659:                                             ; preds = %5658
  br label %5660

5660:                                             ; preds = %5659
  %5661 = load i32, ptr @test_count, align 4, !tbaa !5
  %5662 = add nsw i32 %5661, 1
  store i32 %5662, ptr @test_count, align 4, !tbaa !5
  %5663 = load ptr, ptr %105, align 8, !tbaa !9
  %5664 = load ptr, ptr %108, align 8, !tbaa !9
  %5665 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %5663, ptr noundef %5664)
  %5666 = icmp eq i32 %5665, -1
  br i1 %5666, label %5667, label %5720

5667:                                             ; preds = %5660
  br label %5668

5668:                                             ; preds = %5667
  br label %5669

5669:                                             ; preds = %5668
  call void @llvm.lifetime.start.p0(i64 4, ptr %116) #9
  %5670 = call ptr @__errno_location() #10
  %5671 = load i32, ptr %5670, align 4, !tbaa !5
  store i32 %5671, ptr %116, align 4, !tbaa !5
  %5672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5673 = call i32 @s2n_print_stacktrace(ptr noundef %5672)
  %5674 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5675 = trunc i8 %5674 to i1
  br i1 %5675, label %5676, label %5698

5676:                                             ; preds = %5669
  %5677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5678 = call i32 @fileno(ptr noundef %5677) #9
  %5679 = call i32 @isatty(i32 noundef %5678) #9
  %5680 = icmp ne i32 %5679, 0
  br i1 %5680, label %5681, label %5698

5681:                                             ; preds = %5676
  %5682 = load i32, ptr %116, align 4, !tbaa !5
  %5683 = call ptr @__errno_location() #10
  store i32 %5682, ptr %5683, align 4, !tbaa !5
  %5684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5685 = load i32, ptr @test_count, align 4, !tbaa !5
  %5686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5687 = load i32, ptr %5686, align 4, !tbaa !5
  %5688 = call ptr @s2n_strerror(i32 noundef %5687, ptr noundef @.str.3)
  %5689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5690 = load i32, ptr %5689, align 4, !tbaa !5
  %5691 = call ptr @s2n_strerror_debug(i32 noundef %5690, ptr noundef @.str.3)
  %5692 = call ptr @__errno_location() #10
  %5693 = load i32, ptr %5692, align 4, !tbaa !5
  %5694 = call ptr @strerror(i32 noundef %5693) #9
  %5695 = call ptr @__errno_location() #10
  %5696 = load i32, ptr %5695, align 4, !tbaa !5
  %5697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5684, ptr noundef @.str, i32 noundef %5685, ptr noundef @.str.68, ptr noundef @.str.2, i32 noundef 215, ptr noundef %5688, ptr noundef %5691, ptr noundef %5694, i32 noundef %5696) #9
  br label %5715

5698:                                             ; preds = %5676, %5669
  %5699 = load i32, ptr %116, align 4, !tbaa !5
  %5700 = call ptr @__errno_location() #10
  store i32 %5699, ptr %5700, align 4, !tbaa !5
  %5701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5702 = load i32, ptr @test_count, align 4, !tbaa !5
  %5703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5704 = load i32, ptr %5703, align 4, !tbaa !5
  %5705 = call ptr @s2n_strerror(i32 noundef %5704, ptr noundef @.str.3)
  %5706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5707 = load i32, ptr %5706, align 4, !tbaa !5
  %5708 = call ptr @s2n_strerror_debug(i32 noundef %5707, ptr noundef @.str.3)
  %5709 = call ptr @__errno_location() #10
  %5710 = load i32, ptr %5709, align 4, !tbaa !5
  %5711 = call ptr @strerror(i32 noundef %5710) #9
  %5712 = call ptr @__errno_location() #10
  %5713 = load i32, ptr %5712, align 4, !tbaa !5
  %5714 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5701, ptr noundef @.str.4, i32 noundef %5702, ptr noundef @.str.68, ptr noundef @.str.2, i32 noundef 215, ptr noundef %5705, ptr noundef %5708, ptr noundef %5711, i32 noundef %5713) #9
  br label %5715

5715:                                             ; preds = %5698, %5681
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #9
  br label %5716

5716:                                             ; preds = %5715
  br label %5717

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

5718:                                             ; No predecessors!
  br label %5719

5719:                                             ; preds = %5718
  br label %5720

5720:                                             ; preds = %5719, %5660
  br label %5721

5721:                                             ; preds = %5720
  br label %5722

5722:                                             ; preds = %5721
  br label %5723

5723:                                             ; preds = %5722
  %5724 = load i32, ptr @test_count, align 4, !tbaa !5
  %5725 = add nsw i32 %5724, 1
  store i32 %5725, ptr @test_count, align 4, !tbaa !5
  %5726 = load ptr, ptr %105, align 8, !tbaa !9
  %5727 = getelementptr inbounds %struct.s2n_connection, ptr %5726, i32 0, i32 23
  %5728 = load i8, ptr %5727, align 4, !tbaa !52
  %5729 = zext i8 %5728 to i32
  %5730 = icmp eq i32 %5729, 34
  br i1 %5730, label %5784, label %5731

5731:                                             ; preds = %5723
  br label %5732

5732:                                             ; preds = %5731
  br label %5733

5733:                                             ; preds = %5732
  call void @llvm.lifetime.start.p0(i64 4, ptr %117) #9
  %5734 = call ptr @__errno_location() #10
  %5735 = load i32, ptr %5734, align 4, !tbaa !5
  store i32 %5735, ptr %117, align 4, !tbaa !5
  %5736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5737 = call i32 @s2n_print_stacktrace(ptr noundef %5736)
  %5738 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5739 = trunc i8 %5738 to i1
  br i1 %5739, label %5740, label %5762

5740:                                             ; preds = %5733
  %5741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5742 = call i32 @fileno(ptr noundef %5741) #9
  %5743 = call i32 @isatty(i32 noundef %5742) #9
  %5744 = icmp ne i32 %5743, 0
  br i1 %5744, label %5745, label %5762

5745:                                             ; preds = %5740
  %5746 = load i32, ptr %117, align 4, !tbaa !5
  %5747 = call ptr @__errno_location() #10
  store i32 %5746, ptr %5747, align 4, !tbaa !5
  %5748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5749 = load i32, ptr @test_count, align 4, !tbaa !5
  %5750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5751 = load i32, ptr %5750, align 4, !tbaa !5
  %5752 = call ptr @s2n_strerror(i32 noundef %5751, ptr noundef @.str.3)
  %5753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5754 = load i32, ptr %5753, align 4, !tbaa !5
  %5755 = call ptr @s2n_strerror_debug(i32 noundef %5754, ptr noundef @.str.3)
  %5756 = call ptr @__errno_location() #10
  %5757 = load i32, ptr %5756, align 4, !tbaa !5
  %5758 = call ptr @strerror(i32 noundef %5757) #9
  %5759 = call ptr @__errno_location() #10
  %5760 = load i32, ptr %5759, align 4, !tbaa !5
  %5761 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5748, ptr noundef @.str, i32 noundef %5749, ptr noundef @.str.69, ptr noundef @.str.2, i32 noundef 217, ptr noundef %5752, ptr noundef %5755, ptr noundef %5758, i32 noundef %5760) #9
  br label %5779

5762:                                             ; preds = %5740, %5733
  %5763 = load i32, ptr %117, align 4, !tbaa !5
  %5764 = call ptr @__errno_location() #10
  store i32 %5763, ptr %5764, align 4, !tbaa !5
  %5765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5766 = load i32, ptr @test_count, align 4, !tbaa !5
  %5767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5768 = load i32, ptr %5767, align 4, !tbaa !5
  %5769 = call ptr @s2n_strerror(i32 noundef %5768, ptr noundef @.str.3)
  %5770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5771 = load i32, ptr %5770, align 4, !tbaa !5
  %5772 = call ptr @s2n_strerror_debug(i32 noundef %5771, ptr noundef @.str.3)
  %5773 = call ptr @__errno_location() #10
  %5774 = load i32, ptr %5773, align 4, !tbaa !5
  %5775 = call ptr @strerror(i32 noundef %5774) #9
  %5776 = call ptr @__errno_location() #10
  %5777 = load i32, ptr %5776, align 4, !tbaa !5
  %5778 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5765, ptr noundef @.str.4, i32 noundef %5766, ptr noundef @.str.69, ptr noundef @.str.2, i32 noundef 217, ptr noundef %5769, ptr noundef %5772, ptr noundef %5775, i32 noundef %5777) #9
  br label %5779

5779:                                             ; preds = %5762, %5745
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #9
  br label %5780

5780:                                             ; preds = %5779
  br label %5781

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

5782:                                             ; No predecessors!
  br label %5783

5783:                                             ; preds = %5782
  br label %5784

5784:                                             ; preds = %5783, %5723
  br label %5785

5785:                                             ; preds = %5784
  br label %5786

5786:                                             ; preds = %5785
  br label %5787

5787:                                             ; preds = %5786
  %5788 = load i32, ptr @test_count, align 4, !tbaa !5
  %5789 = add nsw i32 %5788, 1
  store i32 %5789, ptr @test_count, align 4, !tbaa !5
  %5790 = load ptr, ptr %108, align 8, !tbaa !9
  %5791 = getelementptr inbounds %struct.s2n_connection, ptr %5790, i32 0, i32 23
  %5792 = load i8, ptr %5791, align 4, !tbaa !52
  %5793 = zext i8 %5792 to i32
  %5794 = icmp eq i32 %5793, 34
  br i1 %5794, label %5848, label %5795

5795:                                             ; preds = %5787
  br label %5796

5796:                                             ; preds = %5795
  br label %5797

5797:                                             ; preds = %5796
  call void @llvm.lifetime.start.p0(i64 4, ptr %118) #9
  %5798 = call ptr @__errno_location() #10
  %5799 = load i32, ptr %5798, align 4, !tbaa !5
  store i32 %5799, ptr %118, align 4, !tbaa !5
  %5800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5801 = call i32 @s2n_print_stacktrace(ptr noundef %5800)
  %5802 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5803 = trunc i8 %5802 to i1
  br i1 %5803, label %5804, label %5826

5804:                                             ; preds = %5797
  %5805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5806 = call i32 @fileno(ptr noundef %5805) #9
  %5807 = call i32 @isatty(i32 noundef %5806) #9
  %5808 = icmp ne i32 %5807, 0
  br i1 %5808, label %5809, label %5826

5809:                                             ; preds = %5804
  %5810 = load i32, ptr %118, align 4, !tbaa !5
  %5811 = call ptr @__errno_location() #10
  store i32 %5810, ptr %5811, align 4, !tbaa !5
  %5812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5813 = load i32, ptr @test_count, align 4, !tbaa !5
  %5814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5815 = load i32, ptr %5814, align 4, !tbaa !5
  %5816 = call ptr @s2n_strerror(i32 noundef %5815, ptr noundef @.str.3)
  %5817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5818 = load i32, ptr %5817, align 4, !tbaa !5
  %5819 = call ptr @s2n_strerror_debug(i32 noundef %5818, ptr noundef @.str.3)
  %5820 = call ptr @__errno_location() #10
  %5821 = load i32, ptr %5820, align 4, !tbaa !5
  %5822 = call ptr @strerror(i32 noundef %5821) #9
  %5823 = call ptr @__errno_location() #10
  %5824 = load i32, ptr %5823, align 4, !tbaa !5
  %5825 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5812, ptr noundef @.str, i32 noundef %5813, ptr noundef @.str.70, ptr noundef @.str.2, i32 noundef 218, ptr noundef %5816, ptr noundef %5819, ptr noundef %5822, i32 noundef %5824) #9
  br label %5843

5826:                                             ; preds = %5804, %5797
  %5827 = load i32, ptr %118, align 4, !tbaa !5
  %5828 = call ptr @__errno_location() #10
  store i32 %5827, ptr %5828, align 4, !tbaa !5
  %5829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5830 = load i32, ptr @test_count, align 4, !tbaa !5
  %5831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5832 = load i32, ptr %5831, align 4, !tbaa !5
  %5833 = call ptr @s2n_strerror(i32 noundef %5832, ptr noundef @.str.3)
  %5834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5835 = load i32, ptr %5834, align 4, !tbaa !5
  %5836 = call ptr @s2n_strerror_debug(i32 noundef %5835, ptr noundef @.str.3)
  %5837 = call ptr @__errno_location() #10
  %5838 = load i32, ptr %5837, align 4, !tbaa !5
  %5839 = call ptr @strerror(i32 noundef %5838) #9
  %5840 = call ptr @__errno_location() #10
  %5841 = load i32, ptr %5840, align 4, !tbaa !5
  %5842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5829, ptr noundef @.str.4, i32 noundef %5830, ptr noundef @.str.70, ptr noundef @.str.2, i32 noundef 218, ptr noundef %5833, ptr noundef %5836, ptr noundef %5839, i32 noundef %5841) #9
  br label %5843

5843:                                             ; preds = %5826, %5809
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #9
  br label %5844

5844:                                             ; preds = %5843
  br label %5845

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

5846:                                             ; No predecessors!
  br label %5847

5847:                                             ; preds = %5846
  br label %5848

5848:                                             ; preds = %5847, %5787
  br label %5849

5849:                                             ; preds = %5848
  br label %5850

5850:                                             ; preds = %5849
  call void @llvm.lifetime.start.p0(i64 4, ptr %119) #9
  store i32 0, ptr %119, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %120) #9
  %5851 = load ptr, ptr %108, align 8, !tbaa !9
  %5852 = call ptr @s2n_connection_get_ocsp_response(ptr noundef %5851, ptr noundef %119)
  store ptr %5852, ptr %120, align 8, !tbaa !9
  br label %5853

5853:                                             ; preds = %5850
  %5854 = load i32, ptr @test_count, align 4, !tbaa !5
  %5855 = add nsw i32 %5854, 1
  store i32 %5855, ptr @test_count, align 4, !tbaa !5
  %5856 = load ptr, ptr %120, align 8, !tbaa !9
  %5857 = icmp eq ptr %5856, null
  br i1 %5857, label %5858, label %5911

5858:                                             ; preds = %5853
  br label %5859

5859:                                             ; preds = %5858
  br label %5860

5860:                                             ; preds = %5859
  call void @llvm.lifetime.start.p0(i64 4, ptr %121) #9
  %5861 = call ptr @__errno_location() #10
  %5862 = load i32, ptr %5861, align 4, !tbaa !5
  store i32 %5862, ptr %121, align 4, !tbaa !5
  %5863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5864 = call i32 @s2n_print_stacktrace(ptr noundef %5863)
  %5865 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5866 = trunc i8 %5865 to i1
  br i1 %5866, label %5867, label %5889

5867:                                             ; preds = %5860
  %5868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5869 = call i32 @fileno(ptr noundef %5868) #9
  %5870 = call i32 @isatty(i32 noundef %5869) #9
  %5871 = icmp ne i32 %5870, 0
  br i1 %5871, label %5872, label %5889

5872:                                             ; preds = %5867
  %5873 = load i32, ptr %121, align 4, !tbaa !5
  %5874 = call ptr @__errno_location() #10
  store i32 %5873, ptr %5874, align 4, !tbaa !5
  %5875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5876 = load i32, ptr @test_count, align 4, !tbaa !5
  %5877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5878 = load i32, ptr %5877, align 4, !tbaa !5
  %5879 = call ptr @s2n_strerror(i32 noundef %5878, ptr noundef @.str.3)
  %5880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5881 = load i32, ptr %5880, align 4, !tbaa !5
  %5882 = call ptr @s2n_strerror_debug(i32 noundef %5881, ptr noundef @.str.3)
  %5883 = call ptr @__errno_location() #10
  %5884 = load i32, ptr %5883, align 4, !tbaa !5
  %5885 = call ptr @strerror(i32 noundef %5884) #9
  %5886 = call ptr @__errno_location() #10
  %5887 = load i32, ptr %5886, align 4, !tbaa !5
  %5888 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5875, ptr noundef @.str, i32 noundef %5876, ptr noundef @.str.71, ptr noundef @.str.2, i32 noundef 223, ptr noundef %5879, ptr noundef %5882, ptr noundef %5885, i32 noundef %5887) #9
  br label %5906

5889:                                             ; preds = %5867, %5860
  %5890 = load i32, ptr %121, align 4, !tbaa !5
  %5891 = call ptr @__errno_location() #10
  store i32 %5890, ptr %5891, align 4, !tbaa !5
  %5892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5893 = load i32, ptr @test_count, align 4, !tbaa !5
  %5894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5895 = load i32, ptr %5894, align 4, !tbaa !5
  %5896 = call ptr @s2n_strerror(i32 noundef %5895, ptr noundef @.str.3)
  %5897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5898 = load i32, ptr %5897, align 4, !tbaa !5
  %5899 = call ptr @s2n_strerror_debug(i32 noundef %5898, ptr noundef @.str.3)
  %5900 = call ptr @__errno_location() #10
  %5901 = load i32, ptr %5900, align 4, !tbaa !5
  %5902 = call ptr @strerror(i32 noundef %5901) #9
  %5903 = call ptr @__errno_location() #10
  %5904 = load i32, ptr %5903, align 4, !tbaa !5
  %5905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5892, ptr noundef @.str.4, i32 noundef %5893, ptr noundef @.str.71, ptr noundef @.str.2, i32 noundef 223, ptr noundef %5896, ptr noundef %5899, ptr noundef %5902, i32 noundef %5904) #9
  br label %5906

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

5907:                                             ; preds = %5906
  br label %5908

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

5909:                                             ; No predecessors!
  br label %5910

5910:                                             ; preds = %5909
  br label %5911

5911:                                             ; preds = %5910, %5853
  br label %5912

5912:                                             ; preds = %5911
  br label %5913

5913:                                             ; preds = %5912
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #9
  store i32 0, ptr %122, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %123) #9
  %5914 = load ptr, ptr %105, align 8, !tbaa !9
  %5915 = call ptr @s2n_connection_get_ocsp_response(ptr noundef %5914, ptr noundef %122)
  store ptr %5915, ptr %123, align 8, !tbaa !9
  br label %5916

5916:                                             ; preds = %5913
  %5917 = load i32, ptr @test_count, align 4, !tbaa !5
  %5918 = add nsw i32 %5917, 1
  store i32 %5918, ptr @test_count, align 4, !tbaa !5
  %5919 = load ptr, ptr %123, align 8, !tbaa !9
  %5920 = icmp eq ptr %5919, null
  br i1 %5920, label %5974, label %5921

5921:                                             ; preds = %5916
  br label %5922

5922:                                             ; preds = %5921
  br label %5923

5923:                                             ; preds = %5922
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #9
  %5924 = call ptr @__errno_location() #10
  %5925 = load i32, ptr %5924, align 4, !tbaa !5
  store i32 %5925, ptr %124, align 4, !tbaa !5
  %5926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5927 = call i32 @s2n_print_stacktrace(ptr noundef %5926)
  %5928 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5929 = trunc i8 %5928 to i1
  br i1 %5929, label %5930, label %5952

5930:                                             ; preds = %5923
  %5931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5932 = call i32 @fileno(ptr noundef %5931) #9
  %5933 = call i32 @isatty(i32 noundef %5932) #9
  %5934 = icmp ne i32 %5933, 0
  br i1 %5934, label %5935, label %5952

5935:                                             ; preds = %5930
  %5936 = load i32, ptr %124, align 4, !tbaa !5
  %5937 = call ptr @__errno_location() #10
  store i32 %5936, ptr %5937, align 4, !tbaa !5
  %5938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5939 = load i32, ptr @test_count, align 4, !tbaa !5
  %5940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5941 = load i32, ptr %5940, align 4, !tbaa !5
  %5942 = call ptr @s2n_strerror(i32 noundef %5941, ptr noundef @.str.3)
  %5943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5944 = load i32, ptr %5943, align 4, !tbaa !5
  %5945 = call ptr @s2n_strerror_debug(i32 noundef %5944, ptr noundef @.str.3)
  %5946 = call ptr @__errno_location() #10
  %5947 = load i32, ptr %5946, align 4, !tbaa !5
  %5948 = call ptr @strerror(i32 noundef %5947) #9
  %5949 = call ptr @__errno_location() #10
  %5950 = load i32, ptr %5949, align 4, !tbaa !5
  %5951 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5938, ptr noundef @.str, i32 noundef %5939, ptr noundef @.str.72, ptr noundef @.str.2, i32 noundef 229, ptr noundef %5942, ptr noundef %5945, ptr noundef %5948, i32 noundef %5950) #9
  br label %5969

5952:                                             ; preds = %5930, %5923
  %5953 = load i32, ptr %124, align 4, !tbaa !5
  %5954 = call ptr @__errno_location() #10
  store i32 %5953, ptr %5954, align 4, !tbaa !5
  %5955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5956 = load i32, ptr @test_count, align 4, !tbaa !5
  %5957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5958 = load i32, ptr %5957, align 4, !tbaa !5
  %5959 = call ptr @s2n_strerror(i32 noundef %5958, ptr noundef @.str.3)
  %5960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5961 = load i32, ptr %5960, align 4, !tbaa !5
  %5962 = call ptr @s2n_strerror_debug(i32 noundef %5961, ptr noundef @.str.3)
  %5963 = call ptr @__errno_location() #10
  %5964 = load i32, ptr %5963, align 4, !tbaa !5
  %5965 = call ptr @strerror(i32 noundef %5964) #9
  %5966 = call ptr @__errno_location() #10
  %5967 = load i32, ptr %5966, align 4, !tbaa !5
  %5968 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5955, ptr noundef @.str.4, i32 noundef %5956, ptr noundef @.str.72, ptr noundef @.str.2, i32 noundef 229, ptr noundef %5959, ptr noundef %5962, ptr noundef %5965, i32 noundef %5967) #9
  br label %5969

5969:                                             ; preds = %5952, %5935
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #9
  br label %5970

5970:                                             ; preds = %5969
  br label %5971

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

5972:                                             ; No predecessors!
  br label %5973

5973:                                             ; preds = %5972
  br label %5974

5974:                                             ; preds = %5973, %5916
  br label %5975

5975:                                             ; preds = %5974
  br label %5976

5976:                                             ; preds = %5975
  br label %5977

5977:                                             ; preds = %5976
  %5978 = load i32, ptr @test_count, align 4, !tbaa !5
  %5979 = add nsw i32 %5978, 1
  store i32 %5979, ptr @test_count, align 4, !tbaa !5
  %5980 = load ptr, ptr %105, align 8, !tbaa !9
  %5981 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef %5980)
  %5982 = icmp eq i32 %5981, 1
  br i1 %5982, label %6036, label %5983

5983:                                             ; preds = %5977
  br label %5984

5984:                                             ; preds = %5983
  br label %5985

5985:                                             ; preds = %5984
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #9
  %5986 = call ptr @__errno_location() #10
  %5987 = load i32, ptr %5986, align 4, !tbaa !5
  store i32 %5987, ptr %125, align 4, !tbaa !5
  %5988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5989 = call i32 @s2n_print_stacktrace(ptr noundef %5988)
  %5990 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5991 = trunc i8 %5990 to i1
  br i1 %5991, label %5992, label %6014

5992:                                             ; preds = %5985
  %5993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5994 = call i32 @fileno(ptr noundef %5993) #9
  %5995 = call i32 @isatty(i32 noundef %5994) #9
  %5996 = icmp ne i32 %5995, 0
  br i1 %5996, label %5997, label %6014

5997:                                             ; preds = %5992
  %5998 = load i32, ptr %125, align 4, !tbaa !5
  %5999 = call ptr @__errno_location() #10
  store i32 %5998, ptr %5999, align 4, !tbaa !5
  %6000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6001 = load i32, ptr @test_count, align 4, !tbaa !5
  %6002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6003 = load i32, ptr %6002, align 4, !tbaa !5
  %6004 = call ptr @s2n_strerror(i32 noundef %6003, ptr noundef @.str.3)
  %6005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6006 = load i32, ptr %6005, align 4, !tbaa !5
  %6007 = call ptr @s2n_strerror_debug(i32 noundef %6006, ptr noundef @.str.3)
  %6008 = call ptr @__errno_location() #10
  %6009 = load i32, ptr %6008, align 4, !tbaa !5
  %6010 = call ptr @strerror(i32 noundef %6009) #9
  %6011 = call ptr @__errno_location() #10
  %6012 = load i32, ptr %6011, align 4, !tbaa !5
  %6013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6000, ptr noundef @.str, i32 noundef %6001, ptr noundef @.str.73, ptr noundef @.str.2, i32 noundef 232, ptr noundef %6004, ptr noundef %6007, ptr noundef %6010, i32 noundef %6012) #9
  br label %6031

6014:                                             ; preds = %5992, %5985
  %6015 = load i32, ptr %125, align 4, !tbaa !5
  %6016 = call ptr @__errno_location() #10
  store i32 %6015, ptr %6016, align 4, !tbaa !5
  %6017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6018 = load i32, ptr @test_count, align 4, !tbaa !5
  %6019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6020 = load i32, ptr %6019, align 4, !tbaa !5
  %6021 = call ptr @s2n_strerror(i32 noundef %6020, ptr noundef @.str.3)
  %6022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6023 = load i32, ptr %6022, align 4, !tbaa !5
  %6024 = call ptr @s2n_strerror_debug(i32 noundef %6023, ptr noundef @.str.3)
  %6025 = call ptr @__errno_location() #10
  %6026 = load i32, ptr %6025, align 4, !tbaa !5
  %6027 = call ptr @strerror(i32 noundef %6026) #9
  %6028 = call ptr @__errno_location() #10
  %6029 = load i32, ptr %6028, align 4, !tbaa !5
  %6030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6017, ptr noundef @.str.4, i32 noundef %6018, ptr noundef @.str.73, ptr noundef @.str.2, i32 noundef 232, ptr noundef %6021, ptr noundef %6024, ptr noundef %6027, i32 noundef %6029) #9
  br label %6031

6031:                                             ; preds = %6014, %5997
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #9
  br label %6032

6032:                                             ; preds = %6031
  br label %6033

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

6034:                                             ; No predecessors!
  br label %6035

6035:                                             ; preds = %6034
  br label %6036

6036:                                             ; preds = %6035, %5977
  br label %6037

6037:                                             ; preds = %6036
  br label %6038

6038:                                             ; preds = %6037
  br label %6039

6039:                                             ; preds = %6038
  %6040 = load i32, ptr @test_count, align 4, !tbaa !5
  %6041 = add nsw i32 %6040, 1
  store i32 %6041, ptr @test_count, align 4, !tbaa !5
  %6042 = load ptr, ptr %108, align 8, !tbaa !9
  %6043 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef %6042)
  %6044 = icmp eq i32 %6043, 1
  br i1 %6044, label %6098, label %6045

6045:                                             ; preds = %6039
  br label %6046

6046:                                             ; preds = %6045
  br label %6047

6047:                                             ; preds = %6046
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #9
  %6048 = call ptr @__errno_location() #10
  %6049 = load i32, ptr %6048, align 4, !tbaa !5
  store i32 %6049, ptr %126, align 4, !tbaa !5
  %6050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6051 = call i32 @s2n_print_stacktrace(ptr noundef %6050)
  %6052 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6053 = trunc i8 %6052 to i1
  br i1 %6053, label %6054, label %6076

6054:                                             ; preds = %6047
  %6055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6056 = call i32 @fileno(ptr noundef %6055) #9
  %6057 = call i32 @isatty(i32 noundef %6056) #9
  %6058 = icmp ne i32 %6057, 0
  br i1 %6058, label %6059, label %6076

6059:                                             ; preds = %6054
  %6060 = load i32, ptr %126, align 4, !tbaa !5
  %6061 = call ptr @__errno_location() #10
  store i32 %6060, ptr %6061, align 4, !tbaa !5
  %6062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6063 = load i32, ptr @test_count, align 4, !tbaa !5
  %6064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6065 = load i32, ptr %6064, align 4, !tbaa !5
  %6066 = call ptr @s2n_strerror(i32 noundef %6065, ptr noundef @.str.3)
  %6067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6068 = load i32, ptr %6067, align 4, !tbaa !5
  %6069 = call ptr @s2n_strerror_debug(i32 noundef %6068, ptr noundef @.str.3)
  %6070 = call ptr @__errno_location() #10
  %6071 = load i32, ptr %6070, align 4, !tbaa !5
  %6072 = call ptr @strerror(i32 noundef %6071) #9
  %6073 = call ptr @__errno_location() #10
  %6074 = load i32, ptr %6073, align 4, !tbaa !5
  %6075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6062, ptr noundef @.str, i32 noundef %6063, ptr noundef @.str.74, ptr noundef @.str.2, i32 noundef 233, ptr noundef %6066, ptr noundef %6069, ptr noundef %6072, i32 noundef %6074) #9
  br label %6093

6076:                                             ; preds = %6054, %6047
  %6077 = load i32, ptr %126, align 4, !tbaa !5
  %6078 = call ptr @__errno_location() #10
  store i32 %6077, ptr %6078, align 4, !tbaa !5
  %6079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6080 = load i32, ptr @test_count, align 4, !tbaa !5
  %6081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6082 = load i32, ptr %6081, align 4, !tbaa !5
  %6083 = call ptr @s2n_strerror(i32 noundef %6082, ptr noundef @.str.3)
  %6084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6085 = load i32, ptr %6084, align 4, !tbaa !5
  %6086 = call ptr @s2n_strerror_debug(i32 noundef %6085, ptr noundef @.str.3)
  %6087 = call ptr @__errno_location() #10
  %6088 = load i32, ptr %6087, align 4, !tbaa !5
  %6089 = call ptr @strerror(i32 noundef %6088) #9
  %6090 = call ptr @__errno_location() #10
  %6091 = load i32, ptr %6090, align 4, !tbaa !5
  %6092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6079, ptr noundef @.str.4, i32 noundef %6080, ptr noundef @.str.74, ptr noundef @.str.2, i32 noundef 233, ptr noundef %6083, ptr noundef %6086, ptr noundef %6089, i32 noundef %6091) #9
  br label %6093

6093:                                             ; preds = %6076, %6059
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #9
  br label %6094

6094:                                             ; preds = %6093
  br label %6095

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

6096:                                             ; No predecessors!
  br label %6097

6097:                                             ; preds = %6096
  br label %6098

6098:                                             ; preds = %6097, %6039
  br label %6099

6099:                                             ; preds = %6098
  br label %6100

6100:                                             ; preds = %6099
  call void @llvm.lifetime.end.p0(i64 8, ptr %123) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %120) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #9
  %6101 = call i32 @s2n_io_pair_close(ptr noundef %112)
  call void @llvm.lifetime.end.p0(i64 8, ptr %112) #9
  %6102 = call i32 @s2n_connection_ptr_free(ptr noundef %108)
  %6103 = getelementptr inbounds %struct.s2n_result, ptr %127, i32 0, i32 0
  store i32 %6102, ptr %6103, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %108) #9
  %6104 = call i32 @s2n_connection_ptr_free(ptr noundef %105)
  %6105 = getelementptr inbounds %struct.s2n_result, ptr %128, i32 0, i32 0
  store i32 %6104, ptr %6105, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %105) #9
  %6106 = call i32 @s2n_config_ptr_free(ptr noundef %101)
  %6107 = getelementptr inbounds %struct.s2n_result, ptr %129, i32 0, i32 0
  store i32 %6106, ptr %6107, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %101) #9
  %6108 = call i32 @s2n_config_ptr_free(ptr noundef %96)
  %6109 = getelementptr inbounds %struct.s2n_result, ptr %130, i32 0, i32 0
  store i32 %6108, ptr %6109, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %131) #9
  %6110 = call ptr @s2n_config_new()
  store ptr %6110, ptr %131, align 8, !tbaa !9
  br label %6111

6111:                                             ; preds = %6100
  %6112 = load i32, ptr @test_count, align 4, !tbaa !5
  %6113 = add nsw i32 %6112, 1
  store i32 %6113, ptr @test_count, align 4, !tbaa !5
  %6114 = load ptr, ptr %131, align 8, !tbaa !9
  %6115 = icmp eq ptr %6114, null
  br i1 %6115, label %6116, label %6169

6116:                                             ; preds = %6111
  br label %6117

6117:                                             ; preds = %6116
  br label %6118

6118:                                             ; preds = %6117
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #9
  %6119 = call ptr @__errno_location() #10
  %6120 = load i32, ptr %6119, align 4, !tbaa !5
  store i32 %6120, ptr %132, align 4, !tbaa !5
  %6121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6122 = call i32 @s2n_print_stacktrace(ptr noundef %6121)
  %6123 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6124 = trunc i8 %6123 to i1
  br i1 %6124, label %6125, label %6147

6125:                                             ; preds = %6118
  %6126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6127 = call i32 @fileno(ptr noundef %6126) #9
  %6128 = call i32 @isatty(i32 noundef %6127) #9
  %6129 = icmp ne i32 %6128, 0
  br i1 %6129, label %6130, label %6147

6130:                                             ; preds = %6125
  %6131 = load i32, ptr %132, align 4, !tbaa !5
  %6132 = call ptr @__errno_location() #10
  store i32 %6131, ptr %6132, align 4, !tbaa !5
  %6133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6134 = load i32, ptr @test_count, align 4, !tbaa !5
  %6135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6136 = load i32, ptr %6135, align 4, !tbaa !5
  %6137 = call ptr @s2n_strerror(i32 noundef %6136, ptr noundef @.str.3)
  %6138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6139 = load i32, ptr %6138, align 4, !tbaa !5
  %6140 = call ptr @s2n_strerror_debug(i32 noundef %6139, ptr noundef @.str.3)
  %6141 = call ptr @__errno_location() #10
  %6142 = load i32, ptr %6141, align 4, !tbaa !5
  %6143 = call ptr @strerror(i32 noundef %6142) #9
  %6144 = call ptr @__errno_location() #10
  %6145 = load i32, ptr %6144, align 4, !tbaa !5
  %6146 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6133, ptr noundef @.str, i32 noundef %6134, ptr noundef @.str.50, ptr noundef @.str.2, i32 noundef 239, ptr noundef %6137, ptr noundef %6140, ptr noundef %6143, i32 noundef %6145) #9
  br label %6164

6147:                                             ; preds = %6125, %6118
  %6148 = load i32, ptr %132, align 4, !tbaa !5
  %6149 = call ptr @__errno_location() #10
  store i32 %6148, ptr %6149, align 4, !tbaa !5
  %6150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6151 = load i32, ptr @test_count, align 4, !tbaa !5
  %6152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6153 = load i32, ptr %6152, align 4, !tbaa !5
  %6154 = call ptr @s2n_strerror(i32 noundef %6153, ptr noundef @.str.3)
  %6155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6156 = load i32, ptr %6155, align 4, !tbaa !5
  %6157 = call ptr @s2n_strerror_debug(i32 noundef %6156, ptr noundef @.str.3)
  %6158 = call ptr @__errno_location() #10
  %6159 = load i32, ptr %6158, align 4, !tbaa !5
  %6160 = call ptr @strerror(i32 noundef %6159) #9
  %6161 = call ptr @__errno_location() #10
  %6162 = load i32, ptr %6161, align 4, !tbaa !5
  %6163 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6150, ptr noundef @.str.4, i32 noundef %6151, ptr noundef @.str.50, ptr noundef @.str.2, i32 noundef 239, ptr noundef %6154, ptr noundef %6157, ptr noundef %6160, i32 noundef %6162) #9
  br label %6164

6164:                                             ; preds = %6147, %6130
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #9
  br label %6165

6165:                                             ; preds = %6164
  br label %6166

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

6167:                                             ; No predecessors!
  br label %6168

6168:                                             ; preds = %6167
  br label %6169

6169:                                             ; preds = %6168, %6111
  br label %6170

6170:                                             ; preds = %6169
  br label %6171

6171:                                             ; preds = %6170
  br label %6172

6172:                                             ; preds = %6171
  %6173 = load i32, ptr @test_count, align 4, !tbaa !5
  %6174 = add nsw i32 %6173, 1
  store i32 %6174, ptr @test_count, align 4, !tbaa !5
  %6175 = load ptr, ptr %131, align 8, !tbaa !9
  %6176 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %6175, ptr noundef @.str.51, ptr noundef null)
  %6177 = icmp eq i32 %6176, -1
  br i1 %6177, label %6178, label %6231

6178:                                             ; preds = %6172
  br label %6179

6179:                                             ; preds = %6178
  br label %6180

6180:                                             ; preds = %6179
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #9
  %6181 = call ptr @__errno_location() #10
  %6182 = load i32, ptr %6181, align 4, !tbaa !5
  store i32 %6182, ptr %133, align 4, !tbaa !5
  %6183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6184 = call i32 @s2n_print_stacktrace(ptr noundef %6183)
  %6185 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6186 = trunc i8 %6185 to i1
  br i1 %6186, label %6187, label %6209

6187:                                             ; preds = %6180
  %6188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6189 = call i32 @fileno(ptr noundef %6188) #9
  %6190 = call i32 @isatty(i32 noundef %6189) #9
  %6191 = icmp ne i32 %6190, 0
  br i1 %6191, label %6192, label %6209

6192:                                             ; preds = %6187
  %6193 = load i32, ptr %133, align 4, !tbaa !5
  %6194 = call ptr @__errno_location() #10
  store i32 %6193, ptr %6194, align 4, !tbaa !5
  %6195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6196 = load i32, ptr @test_count, align 4, !tbaa !5
  %6197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6198 = load i32, ptr %6197, align 4, !tbaa !5
  %6199 = call ptr @s2n_strerror(i32 noundef %6198, ptr noundef @.str.3)
  %6200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6201 = load i32, ptr %6200, align 4, !tbaa !5
  %6202 = call ptr @s2n_strerror_debug(i32 noundef %6201, ptr noundef @.str.3)
  %6203 = call ptr @__errno_location() #10
  %6204 = load i32, ptr %6203, align 4, !tbaa !5
  %6205 = call ptr @strerror(i32 noundef %6204) #9
  %6206 = call ptr @__errno_location() #10
  %6207 = load i32, ptr %6206, align 4, !tbaa !5
  %6208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6195, ptr noundef @.str, i32 noundef %6196, ptr noundef @.str.52, ptr noundef @.str.2, i32 noundef 240, ptr noundef %6199, ptr noundef %6202, ptr noundef %6205, i32 noundef %6207) #9
  br label %6226

6209:                                             ; preds = %6187, %6180
  %6210 = load i32, ptr %133, align 4, !tbaa !5
  %6211 = call ptr @__errno_location() #10
  store i32 %6210, ptr %6211, align 4, !tbaa !5
  %6212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6213 = load i32, ptr @test_count, align 4, !tbaa !5
  %6214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6215 = load i32, ptr %6214, align 4, !tbaa !5
  %6216 = call ptr @s2n_strerror(i32 noundef %6215, ptr noundef @.str.3)
  %6217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6218 = load i32, ptr %6217, align 4, !tbaa !5
  %6219 = call ptr @s2n_strerror_debug(i32 noundef %6218, ptr noundef @.str.3)
  %6220 = call ptr @__errno_location() #10
  %6221 = load i32, ptr %6220, align 4, !tbaa !5
  %6222 = call ptr @strerror(i32 noundef %6221) #9
  %6223 = call ptr @__errno_location() #10
  %6224 = load i32, ptr %6223, align 4, !tbaa !5
  %6225 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6212, ptr noundef @.str.4, i32 noundef %6213, ptr noundef @.str.52, ptr noundef @.str.2, i32 noundef 240, ptr noundef %6216, ptr noundef %6219, ptr noundef %6222, i32 noundef %6224) #9
  br label %6226

6226:                                             ; preds = %6209, %6192
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #9
  br label %6227

6227:                                             ; preds = %6226
  br label %6228

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

6229:                                             ; No predecessors!
  br label %6230

6230:                                             ; preds = %6229
  br label %6231

6231:                                             ; preds = %6230, %6172
  br label %6232

6232:                                             ; preds = %6231
  br label %6233

6233:                                             ; preds = %6232
  br label %6234

6234:                                             ; preds = %6233
  %6235 = load i32, ptr @test_count, align 4, !tbaa !5
  %6236 = add nsw i32 %6235, 1
  store i32 %6236, ptr @test_count, align 4, !tbaa !5
  %6237 = load ptr, ptr %131, align 8, !tbaa !9
  %6238 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %6237, ptr noundef @.str.53)
  %6239 = icmp eq i32 %6238, -1
  br i1 %6239, label %6240, label %6293

6240:                                             ; preds = %6234
  br label %6241

6241:                                             ; preds = %6240
  br label %6242

6242:                                             ; preds = %6241
  call void @llvm.lifetime.start.p0(i64 4, ptr %134) #9
  %6243 = call ptr @__errno_location() #10
  %6244 = load i32, ptr %6243, align 4, !tbaa !5
  store i32 %6244, ptr %134, align 4, !tbaa !5
  %6245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6246 = call i32 @s2n_print_stacktrace(ptr noundef %6245)
  %6247 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6248 = trunc i8 %6247 to i1
  br i1 %6248, label %6249, label %6271

6249:                                             ; preds = %6242
  %6250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6251 = call i32 @fileno(ptr noundef %6250) #9
  %6252 = call i32 @isatty(i32 noundef %6251) #9
  %6253 = icmp ne i32 %6252, 0
  br i1 %6253, label %6254, label %6271

6254:                                             ; preds = %6249
  %6255 = load i32, ptr %134, align 4, !tbaa !5
  %6256 = call ptr @__errno_location() #10
  store i32 %6255, ptr %6256, align 4, !tbaa !5
  %6257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6258 = load i32, ptr @test_count, align 4, !tbaa !5
  %6259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6260 = load i32, ptr %6259, align 4, !tbaa !5
  %6261 = call ptr @s2n_strerror(i32 noundef %6260, ptr noundef @.str.3)
  %6262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6263 = load i32, ptr %6262, align 4, !tbaa !5
  %6264 = call ptr @s2n_strerror_debug(i32 noundef %6263, ptr noundef @.str.3)
  %6265 = call ptr @__errno_location() #10
  %6266 = load i32, ptr %6265, align 4, !tbaa !5
  %6267 = call ptr @strerror(i32 noundef %6266) #9
  %6268 = call ptr @__errno_location() #10
  %6269 = load i32, ptr %6268, align 4, !tbaa !5
  %6270 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6257, ptr noundef @.str, i32 noundef %6258, ptr noundef @.str.54, ptr noundef @.str.2, i32 noundef 241, ptr noundef %6261, ptr noundef %6264, ptr noundef %6267, i32 noundef %6269) #9
  br label %6288

6271:                                             ; preds = %6249, %6242
  %6272 = load i32, ptr %134, align 4, !tbaa !5
  %6273 = call ptr @__errno_location() #10
  store i32 %6272, ptr %6273, align 4, !tbaa !5
  %6274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6275 = load i32, ptr @test_count, align 4, !tbaa !5
  %6276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6277 = load i32, ptr %6276, align 4, !tbaa !5
  %6278 = call ptr @s2n_strerror(i32 noundef %6277, ptr noundef @.str.3)
  %6279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6280 = load i32, ptr %6279, align 4, !tbaa !5
  %6281 = call ptr @s2n_strerror_debug(i32 noundef %6280, ptr noundef @.str.3)
  %6282 = call ptr @__errno_location() #10
  %6283 = load i32, ptr %6282, align 4, !tbaa !5
  %6284 = call ptr @strerror(i32 noundef %6283) #9
  %6285 = call ptr @__errno_location() #10
  %6286 = load i32, ptr %6285, align 4, !tbaa !5
  %6287 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6274, ptr noundef @.str.4, i32 noundef %6275, ptr noundef @.str.54, ptr noundef @.str.2, i32 noundef 241, ptr noundef %6278, ptr noundef %6281, ptr noundef %6284, i32 noundef %6286) #9
  br label %6288

6288:                                             ; preds = %6271, %6254
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #9
  br label %6289

6289:                                             ; preds = %6288
  br label %6290

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

6291:                                             ; No predecessors!
  br label %6292

6292:                                             ; preds = %6291
  br label %6293

6293:                                             ; preds = %6292, %6234
  br label %6294

6294:                                             ; preds = %6293
  br label %6295

6295:                                             ; preds = %6294
  br label %6296

6296:                                             ; preds = %6295
  %6297 = load i32, ptr @test_count, align 4, !tbaa !5
  %6298 = add nsw i32 %6297, 1
  store i32 %6298, ptr @test_count, align 4, !tbaa !5
  %6299 = load ptr, ptr %131, align 8, !tbaa !9
  %6300 = call i32 @s2n_config_set_status_request_type(ptr noundef %6299, i32 noundef 0)
  %6301 = icmp eq i32 %6300, -1
  br i1 %6301, label %6302, label %6355

6302:                                             ; preds = %6296
  br label %6303

6303:                                             ; preds = %6302
  br label %6304

6304:                                             ; preds = %6303
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #9
  %6305 = call ptr @__errno_location() #10
  %6306 = load i32, ptr %6305, align 4, !tbaa !5
  store i32 %6306, ptr %135, align 4, !tbaa !5
  %6307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6308 = call i32 @s2n_print_stacktrace(ptr noundef %6307)
  %6309 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6310 = trunc i8 %6309 to i1
  br i1 %6310, label %6311, label %6333

6311:                                             ; preds = %6304
  %6312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6313 = call i32 @fileno(ptr noundef %6312) #9
  %6314 = call i32 @isatty(i32 noundef %6313) #9
  %6315 = icmp ne i32 %6314, 0
  br i1 %6315, label %6316, label %6333

6316:                                             ; preds = %6311
  %6317 = load i32, ptr %135, align 4, !tbaa !5
  %6318 = call ptr @__errno_location() #10
  store i32 %6317, ptr %6318, align 4, !tbaa !5
  %6319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6320 = load i32, ptr @test_count, align 4, !tbaa !5
  %6321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6322 = load i32, ptr %6321, align 4, !tbaa !5
  %6323 = call ptr @s2n_strerror(i32 noundef %6322, ptr noundef @.str.3)
  %6324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6325 = load i32, ptr %6324, align 4, !tbaa !5
  %6326 = call ptr @s2n_strerror_debug(i32 noundef %6325, ptr noundef @.str.3)
  %6327 = call ptr @__errno_location() #10
  %6328 = load i32, ptr %6327, align 4, !tbaa !5
  %6329 = call ptr @strerror(i32 noundef %6328) #9
  %6330 = call ptr @__errno_location() #10
  %6331 = load i32, ptr %6330, align 4, !tbaa !5
  %6332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6319, ptr noundef @.str, i32 noundef %6320, ptr noundef @.str.75, ptr noundef @.str.2, i32 noundef 242, ptr noundef %6323, ptr noundef %6326, ptr noundef %6329, i32 noundef %6331) #9
  br label %6350

6333:                                             ; preds = %6311, %6304
  %6334 = load i32, ptr %135, align 4, !tbaa !5
  %6335 = call ptr @__errno_location() #10
  store i32 %6334, ptr %6335, align 4, !tbaa !5
  %6336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6337 = load i32, ptr @test_count, align 4, !tbaa !5
  %6338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6339 = load i32, ptr %6338, align 4, !tbaa !5
  %6340 = call ptr @s2n_strerror(i32 noundef %6339, ptr noundef @.str.3)
  %6341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6342 = load i32, ptr %6341, align 4, !tbaa !5
  %6343 = call ptr @s2n_strerror_debug(i32 noundef %6342, ptr noundef @.str.3)
  %6344 = call ptr @__errno_location() #10
  %6345 = load i32, ptr %6344, align 4, !tbaa !5
  %6346 = call ptr @strerror(i32 noundef %6345) #9
  %6347 = call ptr @__errno_location() #10
  %6348 = load i32, ptr %6347, align 4, !tbaa !5
  %6349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6336, ptr noundef @.str.4, i32 noundef %6337, ptr noundef @.str.75, ptr noundef @.str.2, i32 noundef 242, ptr noundef %6340, ptr noundef %6343, ptr noundef %6346, i32 noundef %6348) #9
  br label %6350

6350:                                             ; preds = %6333, %6316
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #9
  br label %6351

6351:                                             ; preds = %6350
  br label %6352

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

6353:                                             ; No predecessors!
  br label %6354

6354:                                             ; preds = %6353
  br label %6355

6355:                                             ; preds = %6354, %6296
  br label %6356

6356:                                             ; preds = %6355
  br label %6357

6357:                                             ; preds = %6356
  br label %6358

6358:                                             ; preds = %6357
  %6359 = load i32, ptr @test_count, align 4, !tbaa !5
  %6360 = add nsw i32 %6359, 1
  store i32 %6360, ptr @test_count, align 4, !tbaa !5
  %6361 = load ptr, ptr %131, align 8, !tbaa !9
  %6362 = call i32 @s2n_config_set_client_auth_type(ptr noundef %6361, i32 noundef 2)
  %6363 = icmp eq i32 %6362, -1
  br i1 %6363, label %6364, label %6417

6364:                                             ; preds = %6358
  br label %6365

6365:                                             ; preds = %6364
  br label %6366

6366:                                             ; preds = %6365
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #9
  %6367 = call ptr @__errno_location() #10
  %6368 = load i32, ptr %6367, align 4, !tbaa !5
  store i32 %6368, ptr %136, align 4, !tbaa !5
  %6369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6370 = call i32 @s2n_print_stacktrace(ptr noundef %6369)
  %6371 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6372 = trunc i8 %6371 to i1
  br i1 %6372, label %6373, label %6395

6373:                                             ; preds = %6366
  %6374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6375 = call i32 @fileno(ptr noundef %6374) #9
  %6376 = call i32 @isatty(i32 noundef %6375) #9
  %6377 = icmp ne i32 %6376, 0
  br i1 %6377, label %6378, label %6395

6378:                                             ; preds = %6373
  %6379 = load i32, ptr %136, align 4, !tbaa !5
  %6380 = call ptr @__errno_location() #10
  store i32 %6379, ptr %6380, align 4, !tbaa !5
  %6381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6382 = load i32, ptr @test_count, align 4, !tbaa !5
  %6383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6384 = load i32, ptr %6383, align 4, !tbaa !5
  %6385 = call ptr @s2n_strerror(i32 noundef %6384, ptr noundef @.str.3)
  %6386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6387 = load i32, ptr %6386, align 4, !tbaa !5
  %6388 = call ptr @s2n_strerror_debug(i32 noundef %6387, ptr noundef @.str.3)
  %6389 = call ptr @__errno_location() #10
  %6390 = load i32, ptr %6389, align 4, !tbaa !5
  %6391 = call ptr @strerror(i32 noundef %6390) #9
  %6392 = call ptr @__errno_location() #10
  %6393 = load i32, ptr %6392, align 4, !tbaa !5
  %6394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6381, ptr noundef @.str, i32 noundef %6382, ptr noundef @.str.76, ptr noundef @.str.2, i32 noundef 244, ptr noundef %6385, ptr noundef %6388, ptr noundef %6391, i32 noundef %6393) #9
  br label %6412

6395:                                             ; preds = %6373, %6366
  %6396 = load i32, ptr %136, align 4, !tbaa !5
  %6397 = call ptr @__errno_location() #10
  store i32 %6396, ptr %6397, align 4, !tbaa !5
  %6398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6399 = load i32, ptr @test_count, align 4, !tbaa !5
  %6400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6401 = load i32, ptr %6400, align 4, !tbaa !5
  %6402 = call ptr @s2n_strerror(i32 noundef %6401, ptr noundef @.str.3)
  %6403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6404 = load i32, ptr %6403, align 4, !tbaa !5
  %6405 = call ptr @s2n_strerror_debug(i32 noundef %6404, ptr noundef @.str.3)
  %6406 = call ptr @__errno_location() #10
  %6407 = load i32, ptr %6406, align 4, !tbaa !5
  %6408 = call ptr @strerror(i32 noundef %6407) #9
  %6409 = call ptr @__errno_location() #10
  %6410 = load i32, ptr %6409, align 4, !tbaa !5
  %6411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6398, ptr noundef @.str.4, i32 noundef %6399, ptr noundef @.str.76, ptr noundef @.str.2, i32 noundef 244, ptr noundef %6402, ptr noundef %6405, ptr noundef %6408, i32 noundef %6410) #9
  br label %6412

6412:                                             ; preds = %6395, %6378
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #9
  br label %6413

6413:                                             ; preds = %6412
  br label %6414

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

6415:                                             ; No predecessors!
  br label %6416

6416:                                             ; preds = %6415
  br label %6417

6417:                                             ; preds = %6416, %6358
  br label %6418

6418:                                             ; preds = %6417
  br label %6419

6419:                                             ; preds = %6418
  br label %6420

6420:                                             ; preds = %6419
  %6421 = load i32, ptr @test_count, align 4, !tbaa !5
  %6422 = add nsw i32 %6421, 1
  store i32 %6422, ptr @test_count, align 4, !tbaa !5
  %6423 = load ptr, ptr %131, align 8, !tbaa !9
  %6424 = load ptr, ptr %93, align 8, !tbaa !9
  %6425 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %6423, ptr noundef %6424)
  %6426 = icmp eq i32 %6425, -1
  br i1 %6426, label %6427, label %6480

6427:                                             ; preds = %6420
  br label %6428

6428:                                             ; preds = %6427
  br label %6429

6429:                                             ; preds = %6428
  call void @llvm.lifetime.start.p0(i64 4, ptr %137) #9
  %6430 = call ptr @__errno_location() #10
  %6431 = load i32, ptr %6430, align 4, !tbaa !5
  store i32 %6431, ptr %137, align 4, !tbaa !5
  %6432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6433 = call i32 @s2n_print_stacktrace(ptr noundef %6432)
  %6434 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6435 = trunc i8 %6434 to i1
  br i1 %6435, label %6436, label %6458

6436:                                             ; preds = %6429
  %6437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6438 = call i32 @fileno(ptr noundef %6437) #9
  %6439 = call i32 @isatty(i32 noundef %6438) #9
  %6440 = icmp ne i32 %6439, 0
  br i1 %6440, label %6441, label %6458

6441:                                             ; preds = %6436
  %6442 = load i32, ptr %137, align 4, !tbaa !5
  %6443 = call ptr @__errno_location() #10
  store i32 %6442, ptr %6443, align 4, !tbaa !5
  %6444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6445 = load i32, ptr @test_count, align 4, !tbaa !5
  %6446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6447 = load i32, ptr %6446, align 4, !tbaa !5
  %6448 = call ptr @s2n_strerror(i32 noundef %6447, ptr noundef @.str.3)
  %6449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6450 = load i32, ptr %6449, align 4, !tbaa !5
  %6451 = call ptr @s2n_strerror_debug(i32 noundef %6450, ptr noundef @.str.3)
  %6452 = call ptr @__errno_location() #10
  %6453 = load i32, ptr %6452, align 4, !tbaa !5
  %6454 = call ptr @strerror(i32 noundef %6453) #9
  %6455 = call ptr @__errno_location() #10
  %6456 = load i32, ptr %6455, align 4, !tbaa !5
  %6457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6444, ptr noundef @.str, i32 noundef %6445, ptr noundef @.str.77, ptr noundef @.str.2, i32 noundef 245, ptr noundef %6448, ptr noundef %6451, ptr noundef %6454, i32 noundef %6456) #9
  br label %6475

6458:                                             ; preds = %6436, %6429
  %6459 = load i32, ptr %137, align 4, !tbaa !5
  %6460 = call ptr @__errno_location() #10
  store i32 %6459, ptr %6460, align 4, !tbaa !5
  %6461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6462 = load i32, ptr @test_count, align 4, !tbaa !5
  %6463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6464 = load i32, ptr %6463, align 4, !tbaa !5
  %6465 = call ptr @s2n_strerror(i32 noundef %6464, ptr noundef @.str.3)
  %6466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6467 = load i32, ptr %6466, align 4, !tbaa !5
  %6468 = call ptr @s2n_strerror_debug(i32 noundef %6467, ptr noundef @.str.3)
  %6469 = call ptr @__errno_location() #10
  %6470 = load i32, ptr %6469, align 4, !tbaa !5
  %6471 = call ptr @strerror(i32 noundef %6470) #9
  %6472 = call ptr @__errno_location() #10
  %6473 = load i32, ptr %6472, align 4, !tbaa !5
  %6474 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6461, ptr noundef @.str.4, i32 noundef %6462, ptr noundef @.str.77, ptr noundef @.str.2, i32 noundef 245, ptr noundef %6465, ptr noundef %6468, ptr noundef %6471, i32 noundef %6473) #9
  br label %6475

6475:                                             ; preds = %6458, %6441
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #9
  br label %6476

6476:                                             ; preds = %6475
  br label %6477

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

6478:                                             ; No predecessors!
  br label %6479

6479:                                             ; preds = %6478
  br label %6480

6480:                                             ; preds = %6479, %6420
  br label %6481

6481:                                             ; preds = %6480
  br label %6482

6482:                                             ; preds = %6481
  call void @llvm.lifetime.start.p0(i64 8, ptr %138) #9
  %6483 = call ptr @s2n_config_new()
  store ptr %6483, ptr %138, align 8, !tbaa !9
  br label %6484

6484:                                             ; preds = %6482
  %6485 = load i32, ptr @test_count, align 4, !tbaa !5
  %6486 = add nsw i32 %6485, 1
  store i32 %6486, ptr @test_count, align 4, !tbaa !5
  %6487 = load ptr, ptr %138, align 8, !tbaa !9
  %6488 = icmp eq ptr %6487, null
  br i1 %6488, label %6489, label %6542

6489:                                             ; preds = %6484
  br label %6490

6490:                                             ; preds = %6489
  br label %6491

6491:                                             ; preds = %6490
  call void @llvm.lifetime.start.p0(i64 4, ptr %139) #9
  %6492 = call ptr @__errno_location() #10
  %6493 = load i32, ptr %6492, align 4, !tbaa !5
  store i32 %6493, ptr %139, align 4, !tbaa !5
  %6494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6495 = call i32 @s2n_print_stacktrace(ptr noundef %6494)
  %6496 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6497 = trunc i8 %6496 to i1
  br i1 %6497, label %6498, label %6520

6498:                                             ; preds = %6491
  %6499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6500 = call i32 @fileno(ptr noundef %6499) #9
  %6501 = call i32 @isatty(i32 noundef %6500) #9
  %6502 = icmp ne i32 %6501, 0
  br i1 %6502, label %6503, label %6520

6503:                                             ; preds = %6498
  %6504 = load i32, ptr %139, align 4, !tbaa !5
  %6505 = call ptr @__errno_location() #10
  store i32 %6504, ptr %6505, align 4, !tbaa !5
  %6506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6507 = load i32, ptr @test_count, align 4, !tbaa !5
  %6508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6509 = load i32, ptr %6508, align 4, !tbaa !5
  %6510 = call ptr @s2n_strerror(i32 noundef %6509, ptr noundef @.str.3)
  %6511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6512 = load i32, ptr %6511, align 4, !tbaa !5
  %6513 = call ptr @s2n_strerror_debug(i32 noundef %6512, ptr noundef @.str.3)
  %6514 = call ptr @__errno_location() #10
  %6515 = load i32, ptr %6514, align 4, !tbaa !5
  %6516 = call ptr @strerror(i32 noundef %6515) #9
  %6517 = call ptr @__errno_location() #10
  %6518 = load i32, ptr %6517, align 4, !tbaa !5
  %6519 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6506, ptr noundef @.str, i32 noundef %6507, ptr noundef @.str.56, ptr noundef @.str.2, i32 noundef 248, ptr noundef %6510, ptr noundef %6513, ptr noundef %6516, i32 noundef %6518) #9
  br label %6537

6520:                                             ; preds = %6498, %6491
  %6521 = load i32, ptr %139, align 4, !tbaa !5
  %6522 = call ptr @__errno_location() #10
  store i32 %6521, ptr %6522, align 4, !tbaa !5
  %6523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6524 = load i32, ptr @test_count, align 4, !tbaa !5
  %6525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6526 = load i32, ptr %6525, align 4, !tbaa !5
  %6527 = call ptr @s2n_strerror(i32 noundef %6526, ptr noundef @.str.3)
  %6528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6529 = load i32, ptr %6528, align 4, !tbaa !5
  %6530 = call ptr @s2n_strerror_debug(i32 noundef %6529, ptr noundef @.str.3)
  %6531 = call ptr @__errno_location() #10
  %6532 = load i32, ptr %6531, align 4, !tbaa !5
  %6533 = call ptr @strerror(i32 noundef %6532) #9
  %6534 = call ptr @__errno_location() #10
  %6535 = load i32, ptr %6534, align 4, !tbaa !5
  %6536 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6523, ptr noundef @.str.4, i32 noundef %6524, ptr noundef @.str.56, ptr noundef @.str.2, i32 noundef 248, ptr noundef %6527, ptr noundef %6530, ptr noundef %6533, i32 noundef %6535) #9
  br label %6537

6537:                                             ; preds = %6520, %6503
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #9
  br label %6538

6538:                                             ; preds = %6537
  br label %6539

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

6540:                                             ; No predecessors!
  br label %6541

6541:                                             ; preds = %6540
  br label %6542

6542:                                             ; preds = %6541, %6484
  br label %6543

6543:                                             ; preds = %6542
  br label %6544

6544:                                             ; preds = %6543
  br label %6545

6545:                                             ; preds = %6544
  %6546 = load i32, ptr @test_count, align 4, !tbaa !5
  %6547 = add nsw i32 %6546, 1
  store i32 %6547, ptr @test_count, align 4, !tbaa !5
  %6548 = load ptr, ptr %138, align 8, !tbaa !9
  %6549 = load ptr, ptr %93, align 8, !tbaa !9
  %6550 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %6548, ptr noundef %6549)
  %6551 = icmp eq i32 %6550, -1
  br i1 %6551, label %6552, label %6605

6552:                                             ; preds = %6545
  br label %6553

6553:                                             ; preds = %6552
  br label %6554

6554:                                             ; preds = %6553
  call void @llvm.lifetime.start.p0(i64 4, ptr %140) #9
  %6555 = call ptr @__errno_location() #10
  %6556 = load i32, ptr %6555, align 4, !tbaa !5
  store i32 %6556, ptr %140, align 4, !tbaa !5
  %6557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6558 = call i32 @s2n_print_stacktrace(ptr noundef %6557)
  %6559 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6560 = trunc i8 %6559 to i1
  br i1 %6560, label %6561, label %6583

6561:                                             ; preds = %6554
  %6562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6563 = call i32 @fileno(ptr noundef %6562) #9
  %6564 = call i32 @isatty(i32 noundef %6563) #9
  %6565 = icmp ne i32 %6564, 0
  br i1 %6565, label %6566, label %6583

6566:                                             ; preds = %6561
  %6567 = load i32, ptr %140, align 4, !tbaa !5
  %6568 = call ptr @__errno_location() #10
  store i32 %6567, ptr %6568, align 4, !tbaa !5
  %6569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6570 = load i32, ptr @test_count, align 4, !tbaa !5
  %6571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6572 = load i32, ptr %6571, align 4, !tbaa !5
  %6573 = call ptr @s2n_strerror(i32 noundef %6572, ptr noundef @.str.3)
  %6574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6575 = load i32, ptr %6574, align 4, !tbaa !5
  %6576 = call ptr @s2n_strerror_debug(i32 noundef %6575, ptr noundef @.str.3)
  %6577 = call ptr @__errno_location() #10
  %6578 = load i32, ptr %6577, align 4, !tbaa !5
  %6579 = call ptr @strerror(i32 noundef %6578) #9
  %6580 = call ptr @__errno_location() #10
  %6581 = load i32, ptr %6580, align 4, !tbaa !5
  %6582 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6569, ptr noundef @.str, i32 noundef %6570, ptr noundef @.str.57, ptr noundef @.str.2, i32 noundef 249, ptr noundef %6573, ptr noundef %6576, ptr noundef %6579, i32 noundef %6581) #9
  br label %6600

6583:                                             ; preds = %6561, %6554
  %6584 = load i32, ptr %140, align 4, !tbaa !5
  %6585 = call ptr @__errno_location() #10
  store i32 %6584, ptr %6585, align 4, !tbaa !5
  %6586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6587 = load i32, ptr @test_count, align 4, !tbaa !5
  %6588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6589 = load i32, ptr %6588, align 4, !tbaa !5
  %6590 = call ptr @s2n_strerror(i32 noundef %6589, ptr noundef @.str.3)
  %6591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6592 = load i32, ptr %6591, align 4, !tbaa !5
  %6593 = call ptr @s2n_strerror_debug(i32 noundef %6592, ptr noundef @.str.3)
  %6594 = call ptr @__errno_location() #10
  %6595 = load i32, ptr %6594, align 4, !tbaa !5
  %6596 = call ptr @strerror(i32 noundef %6595) #9
  %6597 = call ptr @__errno_location() #10
  %6598 = load i32, ptr %6597, align 4, !tbaa !5
  %6599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6586, ptr noundef @.str.4, i32 noundef %6587, ptr noundef @.str.57, ptr noundef @.str.2, i32 noundef 249, ptr noundef %6590, ptr noundef %6593, ptr noundef %6596, i32 noundef %6598) #9
  br label %6600

6600:                                             ; preds = %6583, %6566
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #9
  br label %6601

6601:                                             ; preds = %6600
  br label %6602

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

6603:                                             ; No predecessors!
  br label %6604

6604:                                             ; preds = %6603
  br label %6605

6605:                                             ; preds = %6604, %6545
  br label %6606

6606:                                             ; preds = %6605
  br label %6607

6607:                                             ; preds = %6606
  br label %6608

6608:                                             ; preds = %6607
  %6609 = load i32, ptr @test_count, align 4, !tbaa !5
  %6610 = add nsw i32 %6609, 1
  store i32 %6610, ptr @test_count, align 4, !tbaa !5
  %6611 = load ptr, ptr %138, align 8, !tbaa !9
  %6612 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %6611, ptr noundef @.str.53)
  %6613 = icmp eq i32 %6612, -1
  br i1 %6613, label %6614, label %6667

6614:                                             ; preds = %6608
  br label %6615

6615:                                             ; preds = %6614
  br label %6616

6616:                                             ; preds = %6615
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #9
  %6617 = call ptr @__errno_location() #10
  %6618 = load i32, ptr %6617, align 4, !tbaa !5
  store i32 %6618, ptr %141, align 4, !tbaa !5
  %6619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6620 = call i32 @s2n_print_stacktrace(ptr noundef %6619)
  %6621 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6622 = trunc i8 %6621 to i1
  br i1 %6622, label %6623, label %6645

6623:                                             ; preds = %6616
  %6624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6625 = call i32 @fileno(ptr noundef %6624) #9
  %6626 = call i32 @isatty(i32 noundef %6625) #9
  %6627 = icmp ne i32 %6626, 0
  br i1 %6627, label %6628, label %6645

6628:                                             ; preds = %6623
  %6629 = load i32, ptr %141, align 4, !tbaa !5
  %6630 = call ptr @__errno_location() #10
  store i32 %6629, ptr %6630, align 4, !tbaa !5
  %6631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6632 = load i32, ptr @test_count, align 4, !tbaa !5
  %6633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6634 = load i32, ptr %6633, align 4, !tbaa !5
  %6635 = call ptr @s2n_strerror(i32 noundef %6634, ptr noundef @.str.3)
  %6636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6637 = load i32, ptr %6636, align 4, !tbaa !5
  %6638 = call ptr @s2n_strerror_debug(i32 noundef %6637, ptr noundef @.str.3)
  %6639 = call ptr @__errno_location() #10
  %6640 = load i32, ptr %6639, align 4, !tbaa !5
  %6641 = call ptr @strerror(i32 noundef %6640) #9
  %6642 = call ptr @__errno_location() #10
  %6643 = load i32, ptr %6642, align 4, !tbaa !5
  %6644 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6631, ptr noundef @.str, i32 noundef %6632, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 250, ptr noundef %6635, ptr noundef %6638, ptr noundef %6641, i32 noundef %6643) #9
  br label %6662

6645:                                             ; preds = %6623, %6616
  %6646 = load i32, ptr %141, align 4, !tbaa !5
  %6647 = call ptr @__errno_location() #10
  store i32 %6646, ptr %6647, align 4, !tbaa !5
  %6648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6649 = load i32, ptr @test_count, align 4, !tbaa !5
  %6650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6651 = load i32, ptr %6650, align 4, !tbaa !5
  %6652 = call ptr @s2n_strerror(i32 noundef %6651, ptr noundef @.str.3)
  %6653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6654 = load i32, ptr %6653, align 4, !tbaa !5
  %6655 = call ptr @s2n_strerror_debug(i32 noundef %6654, ptr noundef @.str.3)
  %6656 = call ptr @__errno_location() #10
  %6657 = load i32, ptr %6656, align 4, !tbaa !5
  %6658 = call ptr @strerror(i32 noundef %6657) #9
  %6659 = call ptr @__errno_location() #10
  %6660 = load i32, ptr %6659, align 4, !tbaa !5
  %6661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6648, ptr noundef @.str.4, i32 noundef %6649, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 250, ptr noundef %6652, ptr noundef %6655, ptr noundef %6658, i32 noundef %6660) #9
  br label %6662

6662:                                             ; preds = %6645, %6628
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #9
  br label %6663

6663:                                             ; preds = %6662
  br label %6664

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

6665:                                             ; No predecessors!
  br label %6666

6666:                                             ; preds = %6665
  br label %6667

6667:                                             ; preds = %6666, %6608
  br label %6668

6668:                                             ; preds = %6667
  br label %6669

6669:                                             ; preds = %6668
  br label %6670

6670:                                             ; preds = %6669
  %6671 = load i32, ptr @test_count, align 4, !tbaa !5
  %6672 = add nsw i32 %6671, 1
  store i32 %6672, ptr @test_count, align 4, !tbaa !5
  %6673 = load ptr, ptr %138, align 8, !tbaa !9
  %6674 = call i32 @s2n_config_set_status_request_type(ptr noundef %6673, i32 noundef 1)
  %6675 = icmp eq i32 %6674, -1
  br i1 %6675, label %6676, label %6729

6676:                                             ; preds = %6670
  br label %6677

6677:                                             ; preds = %6676
  br label %6678

6678:                                             ; preds = %6677
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #9
  %6679 = call ptr @__errno_location() #10
  %6680 = load i32, ptr %6679, align 4, !tbaa !5
  store i32 %6680, ptr %142, align 4, !tbaa !5
  %6681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6682 = call i32 @s2n_print_stacktrace(ptr noundef %6681)
  %6683 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6684 = trunc i8 %6683 to i1
  br i1 %6684, label %6685, label %6707

6685:                                             ; preds = %6678
  %6686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6687 = call i32 @fileno(ptr noundef %6686) #9
  %6688 = call i32 @isatty(i32 noundef %6687) #9
  %6689 = icmp ne i32 %6688, 0
  br i1 %6689, label %6690, label %6707

6690:                                             ; preds = %6685
  %6691 = load i32, ptr %142, align 4, !tbaa !5
  %6692 = call ptr @__errno_location() #10
  store i32 %6691, ptr %6692, align 4, !tbaa !5
  %6693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6694 = load i32, ptr @test_count, align 4, !tbaa !5
  %6695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6696 = load i32, ptr %6695, align 4, !tbaa !5
  %6697 = call ptr @s2n_strerror(i32 noundef %6696, ptr noundef @.str.3)
  %6698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6699 = load i32, ptr %6698, align 4, !tbaa !5
  %6700 = call ptr @s2n_strerror_debug(i32 noundef %6699, ptr noundef @.str.3)
  %6701 = call ptr @__errno_location() #10
  %6702 = load i32, ptr %6701, align 4, !tbaa !5
  %6703 = call ptr @strerror(i32 noundef %6702) #9
  %6704 = call ptr @__errno_location() #10
  %6705 = load i32, ptr %6704, align 4, !tbaa !5
  %6706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6693, ptr noundef @.str, i32 noundef %6694, ptr noundef @.str.78, ptr noundef @.str.2, i32 noundef 251, ptr noundef %6697, ptr noundef %6700, ptr noundef %6703, i32 noundef %6705) #9
  br label %6724

6707:                                             ; preds = %6685, %6678
  %6708 = load i32, ptr %142, align 4, !tbaa !5
  %6709 = call ptr @__errno_location() #10
  store i32 %6708, ptr %6709, align 4, !tbaa !5
  %6710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6711 = load i32, ptr @test_count, align 4, !tbaa !5
  %6712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6713 = load i32, ptr %6712, align 4, !tbaa !5
  %6714 = call ptr @s2n_strerror(i32 noundef %6713, ptr noundef @.str.3)
  %6715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6716 = load i32, ptr %6715, align 4, !tbaa !5
  %6717 = call ptr @s2n_strerror_debug(i32 noundef %6716, ptr noundef @.str.3)
  %6718 = call ptr @__errno_location() #10
  %6719 = load i32, ptr %6718, align 4, !tbaa !5
  %6720 = call ptr @strerror(i32 noundef %6719) #9
  %6721 = call ptr @__errno_location() #10
  %6722 = load i32, ptr %6721, align 4, !tbaa !5
  %6723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6710, ptr noundef @.str.4, i32 noundef %6711, ptr noundef @.str.78, ptr noundef @.str.2, i32 noundef 251, ptr noundef %6714, ptr noundef %6717, ptr noundef %6720, i32 noundef %6722) #9
  br label %6724

6724:                                             ; preds = %6707, %6690
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #9
  br label %6725

6725:                                             ; preds = %6724
  br label %6726

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

6727:                                             ; No predecessors!
  br label %6728

6728:                                             ; preds = %6727
  br label %6729

6729:                                             ; preds = %6728, %6670
  br label %6730

6730:                                             ; preds = %6729
  br label %6731

6731:                                             ; preds = %6730
  br label %6732

6732:                                             ; preds = %6731
  %6733 = load i32, ptr @test_count, align 4, !tbaa !5
  %6734 = add nsw i32 %6733, 1
  store i32 %6734, ptr @test_count, align 4, !tbaa !5
  %6735 = load ptr, ptr %138, align 8, !tbaa !9
  %6736 = call i32 @s2n_config_set_client_auth_type(ptr noundef %6735, i32 noundef 1)
  %6737 = icmp eq i32 %6736, -1
  br i1 %6737, label %6738, label %6791

6738:                                             ; preds = %6732
  br label %6739

6739:                                             ; preds = %6738
  br label %6740

6740:                                             ; preds = %6739
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #9
  %6741 = call ptr @__errno_location() #10
  %6742 = load i32, ptr %6741, align 4, !tbaa !5
  store i32 %6742, ptr %143, align 4, !tbaa !5
  %6743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6744 = call i32 @s2n_print_stacktrace(ptr noundef %6743)
  %6745 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6746 = trunc i8 %6745 to i1
  br i1 %6746, label %6747, label %6769

6747:                                             ; preds = %6740
  %6748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6749 = call i32 @fileno(ptr noundef %6748) #9
  %6750 = call i32 @isatty(i32 noundef %6749) #9
  %6751 = icmp ne i32 %6750, 0
  br i1 %6751, label %6752, label %6769

6752:                                             ; preds = %6747
  %6753 = load i32, ptr %143, align 4, !tbaa !5
  %6754 = call ptr @__errno_location() #10
  store i32 %6753, ptr %6754, align 4, !tbaa !5
  %6755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6756 = load i32, ptr @test_count, align 4, !tbaa !5
  %6757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6758 = load i32, ptr %6757, align 4, !tbaa !5
  %6759 = call ptr @s2n_strerror(i32 noundef %6758, ptr noundef @.str.3)
  %6760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6761 = load i32, ptr %6760, align 4, !tbaa !5
  %6762 = call ptr @s2n_strerror_debug(i32 noundef %6761, ptr noundef @.str.3)
  %6763 = call ptr @__errno_location() #10
  %6764 = load i32, ptr %6763, align 4, !tbaa !5
  %6765 = call ptr @strerror(i32 noundef %6764) #9
  %6766 = call ptr @__errno_location() #10
  %6767 = load i32, ptr %6766, align 4, !tbaa !5
  %6768 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6755, ptr noundef @.str, i32 noundef %6756, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 253, ptr noundef %6759, ptr noundef %6762, ptr noundef %6765, i32 noundef %6767) #9
  br label %6786

6769:                                             ; preds = %6747, %6740
  %6770 = load i32, ptr %143, align 4, !tbaa !5
  %6771 = call ptr @__errno_location() #10
  store i32 %6770, ptr %6771, align 4, !tbaa !5
  %6772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6773 = load i32, ptr @test_count, align 4, !tbaa !5
  %6774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6775 = load i32, ptr %6774, align 4, !tbaa !5
  %6776 = call ptr @s2n_strerror(i32 noundef %6775, ptr noundef @.str.3)
  %6777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6778 = load i32, ptr %6777, align 4, !tbaa !5
  %6779 = call ptr @s2n_strerror_debug(i32 noundef %6778, ptr noundef @.str.3)
  %6780 = call ptr @__errno_location() #10
  %6781 = load i32, ptr %6780, align 4, !tbaa !5
  %6782 = call ptr @strerror(i32 noundef %6781) #9
  %6783 = call ptr @__errno_location() #10
  %6784 = load i32, ptr %6783, align 4, !tbaa !5
  %6785 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6772, ptr noundef @.str.4, i32 noundef %6773, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 253, ptr noundef %6776, ptr noundef %6779, ptr noundef %6782, i32 noundef %6784) #9
  br label %6786

6786:                                             ; preds = %6769, %6752
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #9
  br label %6787

6787:                                             ; preds = %6786
  br label %6788

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

6789:                                             ; No predecessors!
  br label %6790

6790:                                             ; preds = %6789
  br label %6791

6791:                                             ; preds = %6790, %6732
  br label %6792

6792:                                             ; preds = %6791
  br label %6793

6793:                                             ; preds = %6792
  br label %6794

6794:                                             ; preds = %6793
  %6795 = load i32, ptr @test_count, align 4, !tbaa !5
  %6796 = add nsw i32 %6795, 1
  store i32 %6796, ptr @test_count, align 4, !tbaa !5
  %6797 = load ptr, ptr %138, align 8, !tbaa !9
  %6798 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %6797, ptr noundef @.str.51, ptr noundef null)
  %6799 = icmp eq i32 %6798, -1
  br i1 %6799, label %6800, label %6853

6800:                                             ; preds = %6794
  br label %6801

6801:                                             ; preds = %6800
  br label %6802

6802:                                             ; preds = %6801
  call void @llvm.lifetime.start.p0(i64 4, ptr %144) #9
  %6803 = call ptr @__errno_location() #10
  %6804 = load i32, ptr %6803, align 4, !tbaa !5
  store i32 %6804, ptr %144, align 4, !tbaa !5
  %6805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6806 = call i32 @s2n_print_stacktrace(ptr noundef %6805)
  %6807 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6808 = trunc i8 %6807 to i1
  br i1 %6808, label %6809, label %6831

6809:                                             ; preds = %6802
  %6810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6811 = call i32 @fileno(ptr noundef %6810) #9
  %6812 = call i32 @isatty(i32 noundef %6811) #9
  %6813 = icmp ne i32 %6812, 0
  br i1 %6813, label %6814, label %6831

6814:                                             ; preds = %6809
  %6815 = load i32, ptr %144, align 4, !tbaa !5
  %6816 = call ptr @__errno_location() #10
  store i32 %6815, ptr %6816, align 4, !tbaa !5
  %6817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6818 = load i32, ptr @test_count, align 4, !tbaa !5
  %6819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6820 = load i32, ptr %6819, align 4, !tbaa !5
  %6821 = call ptr @s2n_strerror(i32 noundef %6820, ptr noundef @.str.3)
  %6822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6823 = load i32, ptr %6822, align 4, !tbaa !5
  %6824 = call ptr @s2n_strerror_debug(i32 noundef %6823, ptr noundef @.str.3)
  %6825 = call ptr @__errno_location() #10
  %6826 = load i32, ptr %6825, align 4, !tbaa !5
  %6827 = call ptr @strerror(i32 noundef %6826) #9
  %6828 = call ptr @__errno_location() #10
  %6829 = load i32, ptr %6828, align 4, !tbaa !5
  %6830 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6817, ptr noundef @.str, i32 noundef %6818, ptr noundef @.str.80, ptr noundef @.str.2, i32 noundef 254, ptr noundef %6821, ptr noundef %6824, ptr noundef %6827, i32 noundef %6829) #9
  br label %6848

6831:                                             ; preds = %6809, %6802
  %6832 = load i32, ptr %144, align 4, !tbaa !5
  %6833 = call ptr @__errno_location() #10
  store i32 %6832, ptr %6833, align 4, !tbaa !5
  %6834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6835 = load i32, ptr @test_count, align 4, !tbaa !5
  %6836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6837 = load i32, ptr %6836, align 4, !tbaa !5
  %6838 = call ptr @s2n_strerror(i32 noundef %6837, ptr noundef @.str.3)
  %6839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6840 = load i32, ptr %6839, align 4, !tbaa !5
  %6841 = call ptr @s2n_strerror_debug(i32 noundef %6840, ptr noundef @.str.3)
  %6842 = call ptr @__errno_location() #10
  %6843 = load i32, ptr %6842, align 4, !tbaa !5
  %6844 = call ptr @strerror(i32 noundef %6843) #9
  %6845 = call ptr @__errno_location() #10
  %6846 = load i32, ptr %6845, align 4, !tbaa !5
  %6847 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6834, ptr noundef @.str.4, i32 noundef %6835, ptr noundef @.str.80, ptr noundef @.str.2, i32 noundef 254, ptr noundef %6838, ptr noundef %6841, ptr noundef %6844, i32 noundef %6846) #9
  br label %6848

6848:                                             ; preds = %6831, %6814
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #9
  br label %6849

6849:                                             ; preds = %6848
  br label %6850

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

6851:                                             ; No predecessors!
  br label %6852

6852:                                             ; preds = %6851
  br label %6853

6853:                                             ; preds = %6852, %6794
  br label %6854

6854:                                             ; preds = %6853
  br label %6855

6855:                                             ; preds = %6854
  call void @llvm.lifetime.start.p0(i64 8, ptr %145) #9
  %6856 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %6856, ptr %145, align 8, !tbaa !9
  br label %6857

6857:                                             ; preds = %6855
  %6858 = load i32, ptr @test_count, align 4, !tbaa !5
  %6859 = add nsw i32 %6858, 1
  store i32 %6859, ptr @test_count, align 4, !tbaa !5
  %6860 = load ptr, ptr %145, align 8, !tbaa !9
  %6861 = icmp eq ptr %6860, null
  br i1 %6861, label %6862, label %6915

6862:                                             ; preds = %6857
  br label %6863

6863:                                             ; preds = %6862
  br label %6864

6864:                                             ; preds = %6863
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #9
  %6865 = call ptr @__errno_location() #10
  %6866 = load i32, ptr %6865, align 4, !tbaa !5
  store i32 %6866, ptr %146, align 4, !tbaa !5
  %6867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6868 = call i32 @s2n_print_stacktrace(ptr noundef %6867)
  %6869 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6870 = trunc i8 %6869 to i1
  br i1 %6870, label %6871, label %6893

6871:                                             ; preds = %6864
  %6872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6873 = call i32 @fileno(ptr noundef %6872) #9
  %6874 = call i32 @isatty(i32 noundef %6873) #9
  %6875 = icmp ne i32 %6874, 0
  br i1 %6875, label %6876, label %6893

6876:                                             ; preds = %6871
  %6877 = load i32, ptr %146, align 4, !tbaa !5
  %6878 = call ptr @__errno_location() #10
  store i32 %6877, ptr %6878, align 4, !tbaa !5
  %6879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6880 = load i32, ptr @test_count, align 4, !tbaa !5
  %6881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6882 = load i32, ptr %6881, align 4, !tbaa !5
  %6883 = call ptr @s2n_strerror(i32 noundef %6882, ptr noundef @.str.3)
  %6884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6885 = load i32, ptr %6884, align 4, !tbaa !5
  %6886 = call ptr @s2n_strerror_debug(i32 noundef %6885, ptr noundef @.str.3)
  %6887 = call ptr @__errno_location() #10
  %6888 = load i32, ptr %6887, align 4, !tbaa !5
  %6889 = call ptr @strerror(i32 noundef %6888) #9
  %6890 = call ptr @__errno_location() #10
  %6891 = load i32, ptr %6890, align 4, !tbaa !5
  %6892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6879, ptr noundef @.str, i32 noundef %6880, ptr noundef @.str.59, ptr noundef @.str.2, i32 noundef 257, ptr noundef %6883, ptr noundef %6886, ptr noundef %6889, i32 noundef %6891) #9
  br label %6910

6893:                                             ; preds = %6871, %6864
  %6894 = load i32, ptr %146, align 4, !tbaa !5
  %6895 = call ptr @__errno_location() #10
  store i32 %6894, ptr %6895, align 4, !tbaa !5
  %6896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6897 = load i32, ptr @test_count, align 4, !tbaa !5
  %6898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6899 = load i32, ptr %6898, align 4, !tbaa !5
  %6900 = call ptr @s2n_strerror(i32 noundef %6899, ptr noundef @.str.3)
  %6901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6902 = load i32, ptr %6901, align 4, !tbaa !5
  %6903 = call ptr @s2n_strerror_debug(i32 noundef %6902, ptr noundef @.str.3)
  %6904 = call ptr @__errno_location() #10
  %6905 = load i32, ptr %6904, align 4, !tbaa !5
  %6906 = call ptr @strerror(i32 noundef %6905) #9
  %6907 = call ptr @__errno_location() #10
  %6908 = load i32, ptr %6907, align 4, !tbaa !5
  %6909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6896, ptr noundef @.str.4, i32 noundef %6897, ptr noundef @.str.59, ptr noundef @.str.2, i32 noundef 257, ptr noundef %6900, ptr noundef %6903, ptr noundef %6906, i32 noundef %6908) #9
  br label %6910

6910:                                             ; preds = %6893, %6876
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #9
  br label %6911

6911:                                             ; preds = %6910
  br label %6912

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

6913:                                             ; No predecessors!
  br label %6914

6914:                                             ; preds = %6913
  br label %6915

6915:                                             ; preds = %6914, %6857
  br label %6916

6916:                                             ; preds = %6915
  br label %6917

6917:                                             ; preds = %6916
  br label %6918

6918:                                             ; preds = %6917
  %6919 = load i32, ptr @test_count, align 4, !tbaa !5
  %6920 = add nsw i32 %6919, 1
  store i32 %6920, ptr @test_count, align 4, !tbaa !5
  %6921 = load ptr, ptr %145, align 8, !tbaa !9
  %6922 = load ptr, ptr %138, align 8, !tbaa !9
  %6923 = call i32 @s2n_connection_set_config(ptr noundef %6921, ptr noundef %6922)
  %6924 = icmp eq i32 %6923, -1
  br i1 %6924, label %6925, label %6978

6925:                                             ; preds = %6918
  br label %6926

6926:                                             ; preds = %6925
  br label %6927

6927:                                             ; preds = %6926
  call void @llvm.lifetime.start.p0(i64 4, ptr %147) #9
  %6928 = call ptr @__errno_location() #10
  %6929 = load i32, ptr %6928, align 4, !tbaa !5
  store i32 %6929, ptr %147, align 4, !tbaa !5
  %6930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6931 = call i32 @s2n_print_stacktrace(ptr noundef %6930)
  %6932 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6933 = trunc i8 %6932 to i1
  br i1 %6933, label %6934, label %6956

6934:                                             ; preds = %6927
  %6935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6936 = call i32 @fileno(ptr noundef %6935) #9
  %6937 = call i32 @isatty(i32 noundef %6936) #9
  %6938 = icmp ne i32 %6937, 0
  br i1 %6938, label %6939, label %6956

6939:                                             ; preds = %6934
  %6940 = load i32, ptr %147, align 4, !tbaa !5
  %6941 = call ptr @__errno_location() #10
  store i32 %6940, ptr %6941, align 4, !tbaa !5
  %6942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6943 = load i32, ptr @test_count, align 4, !tbaa !5
  %6944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6945 = load i32, ptr %6944, align 4, !tbaa !5
  %6946 = call ptr @s2n_strerror(i32 noundef %6945, ptr noundef @.str.3)
  %6947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6948 = load i32, ptr %6947, align 4, !tbaa !5
  %6949 = call ptr @s2n_strerror_debug(i32 noundef %6948, ptr noundef @.str.3)
  %6950 = call ptr @__errno_location() #10
  %6951 = load i32, ptr %6950, align 4, !tbaa !5
  %6952 = call ptr @strerror(i32 noundef %6951) #9
  %6953 = call ptr @__errno_location() #10
  %6954 = load i32, ptr %6953, align 4, !tbaa !5
  %6955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6942, ptr noundef @.str, i32 noundef %6943, ptr noundef @.str.60, ptr noundef @.str.2, i32 noundef 258, ptr noundef %6946, ptr noundef %6949, ptr noundef %6952, i32 noundef %6954) #9
  br label %6973

6956:                                             ; preds = %6934, %6927
  %6957 = load i32, ptr %147, align 4, !tbaa !5
  %6958 = call ptr @__errno_location() #10
  store i32 %6957, ptr %6958, align 4, !tbaa !5
  %6959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6960 = load i32, ptr @test_count, align 4, !tbaa !5
  %6961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6962 = load i32, ptr %6961, align 4, !tbaa !5
  %6963 = call ptr @s2n_strerror(i32 noundef %6962, ptr noundef @.str.3)
  %6964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6965 = load i32, ptr %6964, align 4, !tbaa !5
  %6966 = call ptr @s2n_strerror_debug(i32 noundef %6965, ptr noundef @.str.3)
  %6967 = call ptr @__errno_location() #10
  %6968 = load i32, ptr %6967, align 4, !tbaa !5
  %6969 = call ptr @strerror(i32 noundef %6968) #9
  %6970 = call ptr @__errno_location() #10
  %6971 = load i32, ptr %6970, align 4, !tbaa !5
  %6972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6959, ptr noundef @.str.4, i32 noundef %6960, ptr noundef @.str.60, ptr noundef @.str.2, i32 noundef 258, ptr noundef %6963, ptr noundef %6966, ptr noundef %6969, i32 noundef %6971) #9
  br label %6973

6973:                                             ; preds = %6956, %6939
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #9
  br label %6974

6974:                                             ; preds = %6973
  br label %6975

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

6976:                                             ; No predecessors!
  br label %6977

6977:                                             ; preds = %6976
  br label %6978

6978:                                             ; preds = %6977, %6918
  br label %6979

6979:                                             ; preds = %6978
  br label %6980

6980:                                             ; preds = %6979
  call void @llvm.lifetime.start.p0(i64 8, ptr %148) #9
  %6981 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %6981, ptr %148, align 8, !tbaa !9
  br label %6982

6982:                                             ; preds = %6980
  %6983 = load i32, ptr @test_count, align 4, !tbaa !5
  %6984 = add nsw i32 %6983, 1
  store i32 %6984, ptr @test_count, align 4, !tbaa !5
  %6985 = load ptr, ptr %148, align 8, !tbaa !9
  %6986 = icmp eq ptr %6985, null
  br i1 %6986, label %6987, label %7040

6987:                                             ; preds = %6982
  br label %6988

6988:                                             ; preds = %6987
  br label %6989

6989:                                             ; preds = %6988
  call void @llvm.lifetime.start.p0(i64 4, ptr %149) #9
  %6990 = call ptr @__errno_location() #10
  %6991 = load i32, ptr %6990, align 4, !tbaa !5
  store i32 %6991, ptr %149, align 4, !tbaa !5
  %6992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6993 = call i32 @s2n_print_stacktrace(ptr noundef %6992)
  %6994 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6995 = trunc i8 %6994 to i1
  br i1 %6995, label %6996, label %7018

6996:                                             ; preds = %6989
  %6997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6998 = call i32 @fileno(ptr noundef %6997) #9
  %6999 = call i32 @isatty(i32 noundef %6998) #9
  %7000 = icmp ne i32 %6999, 0
  br i1 %7000, label %7001, label %7018

7001:                                             ; preds = %6996
  %7002 = load i32, ptr %149, align 4, !tbaa !5
  %7003 = call ptr @__errno_location() #10
  store i32 %7002, ptr %7003, align 4, !tbaa !5
  %7004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7005 = load i32, ptr @test_count, align 4, !tbaa !5
  %7006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7007 = load i32, ptr %7006, align 4, !tbaa !5
  %7008 = call ptr @s2n_strerror(i32 noundef %7007, ptr noundef @.str.3)
  %7009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7010 = load i32, ptr %7009, align 4, !tbaa !5
  %7011 = call ptr @s2n_strerror_debug(i32 noundef %7010, ptr noundef @.str.3)
  %7012 = call ptr @__errno_location() #10
  %7013 = load i32, ptr %7012, align 4, !tbaa !5
  %7014 = call ptr @strerror(i32 noundef %7013) #9
  %7015 = call ptr @__errno_location() #10
  %7016 = load i32, ptr %7015, align 4, !tbaa !5
  %7017 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7004, ptr noundef @.str, i32 noundef %7005, ptr noundef @.str.61, ptr noundef @.str.2, i32 noundef 261, ptr noundef %7008, ptr noundef %7011, ptr noundef %7014, i32 noundef %7016) #9
  br label %7035

7018:                                             ; preds = %6996, %6989
  %7019 = load i32, ptr %149, align 4, !tbaa !5
  %7020 = call ptr @__errno_location() #10
  store i32 %7019, ptr %7020, align 4, !tbaa !5
  %7021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7022 = load i32, ptr @test_count, align 4, !tbaa !5
  %7023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7024 = load i32, ptr %7023, align 4, !tbaa !5
  %7025 = call ptr @s2n_strerror(i32 noundef %7024, ptr noundef @.str.3)
  %7026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7027 = load i32, ptr %7026, align 4, !tbaa !5
  %7028 = call ptr @s2n_strerror_debug(i32 noundef %7027, ptr noundef @.str.3)
  %7029 = call ptr @__errno_location() #10
  %7030 = load i32, ptr %7029, align 4, !tbaa !5
  %7031 = call ptr @strerror(i32 noundef %7030) #9
  %7032 = call ptr @__errno_location() #10
  %7033 = load i32, ptr %7032, align 4, !tbaa !5
  %7034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7021, ptr noundef @.str.4, i32 noundef %7022, ptr noundef @.str.61, ptr noundef @.str.2, i32 noundef 261, ptr noundef %7025, ptr noundef %7028, ptr noundef %7031, i32 noundef %7033) #9
  br label %7035

7035:                                             ; preds = %7018, %7001
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #9
  br label %7036

7036:                                             ; preds = %7035
  br label %7037

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

7038:                                             ; No predecessors!
  br label %7039

7039:                                             ; preds = %7038
  br label %7040

7040:                                             ; preds = %7039, %6982
  br label %7041

7041:                                             ; preds = %7040
  br label %7042

7042:                                             ; preds = %7041
  br label %7043

7043:                                             ; preds = %7042
  %7044 = load i32, ptr @test_count, align 4, !tbaa !5
  %7045 = add nsw i32 %7044, 1
  store i32 %7045, ptr @test_count, align 4, !tbaa !5
  %7046 = load ptr, ptr %148, align 8, !tbaa !9
  %7047 = load ptr, ptr %131, align 8, !tbaa !9
  %7048 = call i32 @s2n_connection_set_config(ptr noundef %7046, ptr noundef %7047)
  %7049 = icmp eq i32 %7048, -1
  br i1 %7049, label %7050, label %7103

7050:                                             ; preds = %7043
  br label %7051

7051:                                             ; preds = %7050
  br label %7052

7052:                                             ; preds = %7051
  call void @llvm.lifetime.start.p0(i64 4, ptr %150) #9
  %7053 = call ptr @__errno_location() #10
  %7054 = load i32, ptr %7053, align 4, !tbaa !5
  store i32 %7054, ptr %150, align 4, !tbaa !5
  %7055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7056 = call i32 @s2n_print_stacktrace(ptr noundef %7055)
  %7057 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7058 = trunc i8 %7057 to i1
  br i1 %7058, label %7059, label %7081

7059:                                             ; preds = %7052
  %7060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7061 = call i32 @fileno(ptr noundef %7060) #9
  %7062 = call i32 @isatty(i32 noundef %7061) #9
  %7063 = icmp ne i32 %7062, 0
  br i1 %7063, label %7064, label %7081

7064:                                             ; preds = %7059
  %7065 = load i32, ptr %150, align 4, !tbaa !5
  %7066 = call ptr @__errno_location() #10
  store i32 %7065, ptr %7066, align 4, !tbaa !5
  %7067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7068 = load i32, ptr @test_count, align 4, !tbaa !5
  %7069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7070 = load i32, ptr %7069, align 4, !tbaa !5
  %7071 = call ptr @s2n_strerror(i32 noundef %7070, ptr noundef @.str.3)
  %7072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7073 = load i32, ptr %7072, align 4, !tbaa !5
  %7074 = call ptr @s2n_strerror_debug(i32 noundef %7073, ptr noundef @.str.3)
  %7075 = call ptr @__errno_location() #10
  %7076 = load i32, ptr %7075, align 4, !tbaa !5
  %7077 = call ptr @strerror(i32 noundef %7076) #9
  %7078 = call ptr @__errno_location() #10
  %7079 = load i32, ptr %7078, align 4, !tbaa !5
  %7080 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7067, ptr noundef @.str, i32 noundef %7068, ptr noundef @.str.62, ptr noundef @.str.2, i32 noundef 262, ptr noundef %7071, ptr noundef %7074, ptr noundef %7077, i32 noundef %7079) #9
  br label %7098

7081:                                             ; preds = %7059, %7052
  %7082 = load i32, ptr %150, align 4, !tbaa !5
  %7083 = call ptr @__errno_location() #10
  store i32 %7082, ptr %7083, align 4, !tbaa !5
  %7084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7085 = load i32, ptr @test_count, align 4, !tbaa !5
  %7086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7087 = load i32, ptr %7086, align 4, !tbaa !5
  %7088 = call ptr @s2n_strerror(i32 noundef %7087, ptr noundef @.str.3)
  %7089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7090 = load i32, ptr %7089, align 4, !tbaa !5
  %7091 = call ptr @s2n_strerror_debug(i32 noundef %7090, ptr noundef @.str.3)
  %7092 = call ptr @__errno_location() #10
  %7093 = load i32, ptr %7092, align 4, !tbaa !5
  %7094 = call ptr @strerror(i32 noundef %7093) #9
  %7095 = call ptr @__errno_location() #10
  %7096 = load i32, ptr %7095, align 4, !tbaa !5
  %7097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7084, ptr noundef @.str.4, i32 noundef %7085, ptr noundef @.str.62, ptr noundef @.str.2, i32 noundef 262, ptr noundef %7088, ptr noundef %7091, ptr noundef %7094, i32 noundef %7096) #9
  br label %7098

7098:                                             ; preds = %7081, %7064
  call void @llvm.lifetime.end.p0(i64 4, ptr %150) #9
  br label %7099

7099:                                             ; preds = %7098
  br label %7100

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

7101:                                             ; No predecessors!
  br label %7102

7102:                                             ; preds = %7101
  br label %7103

7103:                                             ; preds = %7102, %7043
  br label %7104

7104:                                             ; preds = %7103
  br label %7105

7105:                                             ; preds = %7104
  br label %7106

7106:                                             ; preds = %7105
  %7107 = load i32, ptr @test_count, align 4, !tbaa !5
  %7108 = add nsw i32 %7107, 1
  store i32 %7108, ptr @test_count, align 4, !tbaa !5
  %7109 = load ptr, ptr %148, align 8, !tbaa !9
  %7110 = call i32 @s2n_set_server_name(ptr noundef %7109, ptr noundef @.str.63)
  %7111 = icmp eq i32 %7110, -1
  br i1 %7111, label %7112, label %7165

7112:                                             ; preds = %7106
  br label %7113

7113:                                             ; preds = %7112
  br label %7114

7114:                                             ; preds = %7113
  call void @llvm.lifetime.start.p0(i64 4, ptr %151) #9
  %7115 = call ptr @__errno_location() #10
  %7116 = load i32, ptr %7115, align 4, !tbaa !5
  store i32 %7116, ptr %151, align 4, !tbaa !5
  %7117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7118 = call i32 @s2n_print_stacktrace(ptr noundef %7117)
  %7119 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7120 = trunc i8 %7119 to i1
  br i1 %7120, label %7121, label %7143

7121:                                             ; preds = %7114
  %7122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7123 = call i32 @fileno(ptr noundef %7122) #9
  %7124 = call i32 @isatty(i32 noundef %7123) #9
  %7125 = icmp ne i32 %7124, 0
  br i1 %7125, label %7126, label %7143

7126:                                             ; preds = %7121
  %7127 = load i32, ptr %151, align 4, !tbaa !5
  %7128 = call ptr @__errno_location() #10
  store i32 %7127, ptr %7128, align 4, !tbaa !5
  %7129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7130 = load i32, ptr @test_count, align 4, !tbaa !5
  %7131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7132 = load i32, ptr %7131, align 4, !tbaa !5
  %7133 = call ptr @s2n_strerror(i32 noundef %7132, ptr noundef @.str.3)
  %7134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7135 = load i32, ptr %7134, align 4, !tbaa !5
  %7136 = call ptr @s2n_strerror_debug(i32 noundef %7135, ptr noundef @.str.3)
  %7137 = call ptr @__errno_location() #10
  %7138 = load i32, ptr %7137, align 4, !tbaa !5
  %7139 = call ptr @strerror(i32 noundef %7138) #9
  %7140 = call ptr @__errno_location() #10
  %7141 = load i32, ptr %7140, align 4, !tbaa !5
  %7142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7129, ptr noundef @.str, i32 noundef %7130, ptr noundef @.str.64, ptr noundef @.str.2, i32 noundef 263, ptr noundef %7133, ptr noundef %7136, ptr noundef %7139, i32 noundef %7141) #9
  br label %7160

7143:                                             ; preds = %7121, %7114
  %7144 = load i32, ptr %151, align 4, !tbaa !5
  %7145 = call ptr @__errno_location() #10
  store i32 %7144, ptr %7145, align 4, !tbaa !5
  %7146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7147 = load i32, ptr @test_count, align 4, !tbaa !5
  %7148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7149 = load i32, ptr %7148, align 4, !tbaa !5
  %7150 = call ptr @s2n_strerror(i32 noundef %7149, ptr noundef @.str.3)
  %7151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7152 = load i32, ptr %7151, align 4, !tbaa !5
  %7153 = call ptr @s2n_strerror_debug(i32 noundef %7152, ptr noundef @.str.3)
  %7154 = call ptr @__errno_location() #10
  %7155 = load i32, ptr %7154, align 4, !tbaa !5
  %7156 = call ptr @strerror(i32 noundef %7155) #9
  %7157 = call ptr @__errno_location() #10
  %7158 = load i32, ptr %7157, align 4, !tbaa !5
  %7159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7146, ptr noundef @.str.4, i32 noundef %7147, ptr noundef @.str.64, ptr noundef @.str.2, i32 noundef 263, ptr noundef %7150, ptr noundef %7153, ptr noundef %7156, i32 noundef %7158) #9
  br label %7160

7160:                                             ; preds = %7143, %7126
  call void @llvm.lifetime.end.p0(i64 4, ptr %151) #9
  br label %7161

7161:                                             ; preds = %7160
  br label %7162

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

7163:                                             ; No predecessors!
  br label %7164

7164:                                             ; preds = %7163
  br label %7165

7165:                                             ; preds = %7164, %7106
  br label %7166

7166:                                             ; preds = %7165
  br label %7167

7167:                                             ; preds = %7166
  call void @llvm.lifetime.start.p0(i64 8, ptr %152) #9
  call void @llvm.memset.p0.i64(ptr align 4 %152, i8 0, i64 8, i1 false)
  br label %7168

7168:                                             ; preds = %7167
  %7169 = load i32, ptr @test_count, align 4, !tbaa !5
  %7170 = add nsw i32 %7169, 1
  store i32 %7170, ptr @test_count, align 4, !tbaa !5
  %7171 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %152)
  %7172 = icmp eq i32 %7171, -1
  br i1 %7172, label %7173, label %7226

7173:                                             ; preds = %7168
  br label %7174

7174:                                             ; preds = %7173
  br label %7175

7175:                                             ; preds = %7174
  call void @llvm.lifetime.start.p0(i64 4, ptr %153) #9
  %7176 = call ptr @__errno_location() #10
  %7177 = load i32, ptr %7176, align 4, !tbaa !5
  store i32 %7177, ptr %153, align 4, !tbaa !5
  %7178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7179 = call i32 @s2n_print_stacktrace(ptr noundef %7178)
  %7180 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7181 = trunc i8 %7180 to i1
  br i1 %7181, label %7182, label %7204

7182:                                             ; preds = %7175
  %7183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7184 = call i32 @fileno(ptr noundef %7183) #9
  %7185 = call i32 @isatty(i32 noundef %7184) #9
  %7186 = icmp ne i32 %7185, 0
  br i1 %7186, label %7187, label %7204

7187:                                             ; preds = %7182
  %7188 = load i32, ptr %153, align 4, !tbaa !5
  %7189 = call ptr @__errno_location() #10
  store i32 %7188, ptr %7189, align 4, !tbaa !5
  %7190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7191 = load i32, ptr @test_count, align 4, !tbaa !5
  %7192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7193 = load i32, ptr %7192, align 4, !tbaa !5
  %7194 = call ptr @s2n_strerror(i32 noundef %7193, ptr noundef @.str.3)
  %7195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7196 = load i32, ptr %7195, align 4, !tbaa !5
  %7197 = call ptr @s2n_strerror_debug(i32 noundef %7196, ptr noundef @.str.3)
  %7198 = call ptr @__errno_location() #10
  %7199 = load i32, ptr %7198, align 4, !tbaa !5
  %7200 = call ptr @strerror(i32 noundef %7199) #9
  %7201 = call ptr @__errno_location() #10
  %7202 = load i32, ptr %7201, align 4, !tbaa !5
  %7203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7190, ptr noundef @.str, i32 noundef %7191, ptr noundef @.str.65, ptr noundef @.str.2, i32 noundef 266, ptr noundef %7194, ptr noundef %7197, ptr noundef %7200, i32 noundef %7202) #9
  br label %7221

7204:                                             ; preds = %7182, %7175
  %7205 = load i32, ptr %153, align 4, !tbaa !5
  %7206 = call ptr @__errno_location() #10
  store i32 %7205, ptr %7206, align 4, !tbaa !5
  %7207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7208 = load i32, ptr @test_count, align 4, !tbaa !5
  %7209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7210 = load i32, ptr %7209, align 4, !tbaa !5
  %7211 = call ptr @s2n_strerror(i32 noundef %7210, ptr noundef @.str.3)
  %7212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7213 = load i32, ptr %7212, align 4, !tbaa !5
  %7214 = call ptr @s2n_strerror_debug(i32 noundef %7213, ptr noundef @.str.3)
  %7215 = call ptr @__errno_location() #10
  %7216 = load i32, ptr %7215, align 4, !tbaa !5
  %7217 = call ptr @strerror(i32 noundef %7216) #9
  %7218 = call ptr @__errno_location() #10
  %7219 = load i32, ptr %7218, align 4, !tbaa !5
  %7220 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7207, ptr noundef @.str.4, i32 noundef %7208, ptr noundef @.str.65, ptr noundef @.str.2, i32 noundef 266, ptr noundef %7211, ptr noundef %7214, ptr noundef %7217, i32 noundef %7219) #9
  br label %7221

7221:                                             ; preds = %7204, %7187
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #9
  br label %7222

7222:                                             ; preds = %7221
  br label %7223

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

7224:                                             ; No predecessors!
  br label %7225

7225:                                             ; preds = %7224
  br label %7226

7226:                                             ; preds = %7225, %7168
  br label %7227

7227:                                             ; preds = %7226
  br label %7228

7228:                                             ; preds = %7227
  br label %7229

7229:                                             ; preds = %7228
  %7230 = load i32, ptr @test_count, align 4, !tbaa !5
  %7231 = add nsw i32 %7230, 1
  store i32 %7231, ptr @test_count, align 4, !tbaa !5
  %7232 = load ptr, ptr %148, align 8, !tbaa !9
  %7233 = call i32 @s2n_connection_set_io_pair(ptr noundef %7232, ptr noundef %152)
  %7234 = icmp eq i32 %7233, -1
  br i1 %7234, label %7235, label %7288

7235:                                             ; preds = %7229
  br label %7236

7236:                                             ; preds = %7235
  br label %7237

7237:                                             ; preds = %7236
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #9
  %7238 = call ptr @__errno_location() #10
  %7239 = load i32, ptr %7238, align 4, !tbaa !5
  store i32 %7239, ptr %154, align 4, !tbaa !5
  %7240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7241 = call i32 @s2n_print_stacktrace(ptr noundef %7240)
  %7242 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7243 = trunc i8 %7242 to i1
  br i1 %7243, label %7244, label %7266

7244:                                             ; preds = %7237
  %7245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7246 = call i32 @fileno(ptr noundef %7245) #9
  %7247 = call i32 @isatty(i32 noundef %7246) #9
  %7248 = icmp ne i32 %7247, 0
  br i1 %7248, label %7249, label %7266

7249:                                             ; preds = %7244
  %7250 = load i32, ptr %154, align 4, !tbaa !5
  %7251 = call ptr @__errno_location() #10
  store i32 %7250, ptr %7251, align 4, !tbaa !5
  %7252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7253 = load i32, ptr @test_count, align 4, !tbaa !5
  %7254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7255 = load i32, ptr %7254, align 4, !tbaa !5
  %7256 = call ptr @s2n_strerror(i32 noundef %7255, ptr noundef @.str.3)
  %7257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7258 = load i32, ptr %7257, align 4, !tbaa !5
  %7259 = call ptr @s2n_strerror_debug(i32 noundef %7258, ptr noundef @.str.3)
  %7260 = call ptr @__errno_location() #10
  %7261 = load i32, ptr %7260, align 4, !tbaa !5
  %7262 = call ptr @strerror(i32 noundef %7261) #9
  %7263 = call ptr @__errno_location() #10
  %7264 = load i32, ptr %7263, align 4, !tbaa !5
  %7265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7252, ptr noundef @.str, i32 noundef %7253, ptr noundef @.str.66, ptr noundef @.str.2, i32 noundef 267, ptr noundef %7256, ptr noundef %7259, ptr noundef %7262, i32 noundef %7264) #9
  br label %7283

7266:                                             ; preds = %7244, %7237
  %7267 = load i32, ptr %154, align 4, !tbaa !5
  %7268 = call ptr @__errno_location() #10
  store i32 %7267, ptr %7268, align 4, !tbaa !5
  %7269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7270 = load i32, ptr @test_count, align 4, !tbaa !5
  %7271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7272 = load i32, ptr %7271, align 4, !tbaa !5
  %7273 = call ptr @s2n_strerror(i32 noundef %7272, ptr noundef @.str.3)
  %7274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7275 = load i32, ptr %7274, align 4, !tbaa !5
  %7276 = call ptr @s2n_strerror_debug(i32 noundef %7275, ptr noundef @.str.3)
  %7277 = call ptr @__errno_location() #10
  %7278 = load i32, ptr %7277, align 4, !tbaa !5
  %7279 = call ptr @strerror(i32 noundef %7278) #9
  %7280 = call ptr @__errno_location() #10
  %7281 = load i32, ptr %7280, align 4, !tbaa !5
  %7282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7269, ptr noundef @.str.4, i32 noundef %7270, ptr noundef @.str.66, ptr noundef @.str.2, i32 noundef 267, ptr noundef %7273, ptr noundef %7276, ptr noundef %7279, i32 noundef %7281) #9
  br label %7283

7283:                                             ; preds = %7266, %7249
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #9
  br label %7284

7284:                                             ; preds = %7283
  br label %7285

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

7286:                                             ; No predecessors!
  br label %7287

7287:                                             ; preds = %7286
  br label %7288

7288:                                             ; preds = %7287, %7229
  br label %7289

7289:                                             ; preds = %7288
  br label %7290

7290:                                             ; preds = %7289
  br label %7291

7291:                                             ; preds = %7290
  %7292 = load i32, ptr @test_count, align 4, !tbaa !5
  %7293 = add nsw i32 %7292, 1
  store i32 %7293, ptr @test_count, align 4, !tbaa !5
  %7294 = load ptr, ptr %145, align 8, !tbaa !9
  %7295 = call i32 @s2n_connection_set_io_pair(ptr noundef %7294, ptr noundef %152)
  %7296 = icmp eq i32 %7295, -1
  br i1 %7296, label %7297, label %7350

7297:                                             ; preds = %7291
  br label %7298

7298:                                             ; preds = %7297
  br label %7299

7299:                                             ; preds = %7298
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #9
  %7300 = call ptr @__errno_location() #10
  %7301 = load i32, ptr %7300, align 4, !tbaa !5
  store i32 %7301, ptr %155, align 4, !tbaa !5
  %7302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7303 = call i32 @s2n_print_stacktrace(ptr noundef %7302)
  %7304 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7305 = trunc i8 %7304 to i1
  br i1 %7305, label %7306, label %7328

7306:                                             ; preds = %7299
  %7307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7308 = call i32 @fileno(ptr noundef %7307) #9
  %7309 = call i32 @isatty(i32 noundef %7308) #9
  %7310 = icmp ne i32 %7309, 0
  br i1 %7310, label %7311, label %7328

7311:                                             ; preds = %7306
  %7312 = load i32, ptr %155, align 4, !tbaa !5
  %7313 = call ptr @__errno_location() #10
  store i32 %7312, ptr %7313, align 4, !tbaa !5
  %7314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7315 = load i32, ptr @test_count, align 4, !tbaa !5
  %7316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7317 = load i32, ptr %7316, align 4, !tbaa !5
  %7318 = call ptr @s2n_strerror(i32 noundef %7317, ptr noundef @.str.3)
  %7319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7320 = load i32, ptr %7319, align 4, !tbaa !5
  %7321 = call ptr @s2n_strerror_debug(i32 noundef %7320, ptr noundef @.str.3)
  %7322 = call ptr @__errno_location() #10
  %7323 = load i32, ptr %7322, align 4, !tbaa !5
  %7324 = call ptr @strerror(i32 noundef %7323) #9
  %7325 = call ptr @__errno_location() #10
  %7326 = load i32, ptr %7325, align 4, !tbaa !5
  %7327 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7314, ptr noundef @.str, i32 noundef %7315, ptr noundef @.str.67, ptr noundef @.str.2, i32 noundef 268, ptr noundef %7318, ptr noundef %7321, ptr noundef %7324, i32 noundef %7326) #9
  br label %7345

7328:                                             ; preds = %7306, %7299
  %7329 = load i32, ptr %155, align 4, !tbaa !5
  %7330 = call ptr @__errno_location() #10
  store i32 %7329, ptr %7330, align 4, !tbaa !5
  %7331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7332 = load i32, ptr @test_count, align 4, !tbaa !5
  %7333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7334 = load i32, ptr %7333, align 4, !tbaa !5
  %7335 = call ptr @s2n_strerror(i32 noundef %7334, ptr noundef @.str.3)
  %7336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7337 = load i32, ptr %7336, align 4, !tbaa !5
  %7338 = call ptr @s2n_strerror_debug(i32 noundef %7337, ptr noundef @.str.3)
  %7339 = call ptr @__errno_location() #10
  %7340 = load i32, ptr %7339, align 4, !tbaa !5
  %7341 = call ptr @strerror(i32 noundef %7340) #9
  %7342 = call ptr @__errno_location() #10
  %7343 = load i32, ptr %7342, align 4, !tbaa !5
  %7344 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7331, ptr noundef @.str.4, i32 noundef %7332, ptr noundef @.str.67, ptr noundef @.str.2, i32 noundef 268, ptr noundef %7335, ptr noundef %7338, ptr noundef %7341, i32 noundef %7343) #9
  br label %7345

7345:                                             ; preds = %7328, %7311
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #9
  br label %7346

7346:                                             ; preds = %7345
  br label %7347

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

7348:                                             ; No predecessors!
  br label %7349

7349:                                             ; preds = %7348
  br label %7350

7350:                                             ; preds = %7349, %7291
  br label %7351

7351:                                             ; preds = %7350
  br label %7352

7352:                                             ; preds = %7351
  br label %7353

7353:                                             ; preds = %7352
  %7354 = load i32, ptr @test_count, align 4, !tbaa !5
  %7355 = add nsw i32 %7354, 1
  store i32 %7355, ptr @test_count, align 4, !tbaa !5
  %7356 = load ptr, ptr %145, align 8, !tbaa !9
  %7357 = load ptr, ptr %148, align 8, !tbaa !9
  %7358 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %7356, ptr noundef %7357)
  %7359 = icmp eq i32 %7358, -1
  br i1 %7359, label %7360, label %7413

7360:                                             ; preds = %7353
  br label %7361

7361:                                             ; preds = %7360
  br label %7362

7362:                                             ; preds = %7361
  call void @llvm.lifetime.start.p0(i64 4, ptr %156) #9
  %7363 = call ptr @__errno_location() #10
  %7364 = load i32, ptr %7363, align 4, !tbaa !5
  store i32 %7364, ptr %156, align 4, !tbaa !5
  %7365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7366 = call i32 @s2n_print_stacktrace(ptr noundef %7365)
  %7367 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7368 = trunc i8 %7367 to i1
  br i1 %7368, label %7369, label %7391

7369:                                             ; preds = %7362
  %7370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7371 = call i32 @fileno(ptr noundef %7370) #9
  %7372 = call i32 @isatty(i32 noundef %7371) #9
  %7373 = icmp ne i32 %7372, 0
  br i1 %7373, label %7374, label %7391

7374:                                             ; preds = %7369
  %7375 = load i32, ptr %156, align 4, !tbaa !5
  %7376 = call ptr @__errno_location() #10
  store i32 %7375, ptr %7376, align 4, !tbaa !5
  %7377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7378 = load i32, ptr @test_count, align 4, !tbaa !5
  %7379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7380 = load i32, ptr %7379, align 4, !tbaa !5
  %7381 = call ptr @s2n_strerror(i32 noundef %7380, ptr noundef @.str.3)
  %7382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7383 = load i32, ptr %7382, align 4, !tbaa !5
  %7384 = call ptr @s2n_strerror_debug(i32 noundef %7383, ptr noundef @.str.3)
  %7385 = call ptr @__errno_location() #10
  %7386 = load i32, ptr %7385, align 4, !tbaa !5
  %7387 = call ptr @strerror(i32 noundef %7386) #9
  %7388 = call ptr @__errno_location() #10
  %7389 = load i32, ptr %7388, align 4, !tbaa !5
  %7390 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7377, ptr noundef @.str, i32 noundef %7378, ptr noundef @.str.68, ptr noundef @.str.2, i32 noundef 270, ptr noundef %7381, ptr noundef %7384, ptr noundef %7387, i32 noundef %7389) #9
  br label %7408

7391:                                             ; preds = %7369, %7362
  %7392 = load i32, ptr %156, align 4, !tbaa !5
  %7393 = call ptr @__errno_location() #10
  store i32 %7392, ptr %7393, align 4, !tbaa !5
  %7394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7395 = load i32, ptr @test_count, align 4, !tbaa !5
  %7396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7397 = load i32, ptr %7396, align 4, !tbaa !5
  %7398 = call ptr @s2n_strerror(i32 noundef %7397, ptr noundef @.str.3)
  %7399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7400 = load i32, ptr %7399, align 4, !tbaa !5
  %7401 = call ptr @s2n_strerror_debug(i32 noundef %7400, ptr noundef @.str.3)
  %7402 = call ptr @__errno_location() #10
  %7403 = load i32, ptr %7402, align 4, !tbaa !5
  %7404 = call ptr @strerror(i32 noundef %7403) #9
  %7405 = call ptr @__errno_location() #10
  %7406 = load i32, ptr %7405, align 4, !tbaa !5
  %7407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7394, ptr noundef @.str.4, i32 noundef %7395, ptr noundef @.str.68, ptr noundef @.str.2, i32 noundef 270, ptr noundef %7398, ptr noundef %7401, ptr noundef %7404, i32 noundef %7406) #9
  br label %7408

7408:                                             ; preds = %7391, %7374
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #9
  br label %7409

7409:                                             ; preds = %7408
  br label %7410

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

7411:                                             ; No predecessors!
  br label %7412

7412:                                             ; preds = %7411
  br label %7413

7413:                                             ; preds = %7412, %7353
  br label %7414

7414:                                             ; preds = %7413
  br label %7415

7415:                                             ; preds = %7414
  br label %7416

7416:                                             ; preds = %7415
  %7417 = load i32, ptr @test_count, align 4, !tbaa !5
  %7418 = add nsw i32 %7417, 1
  store i32 %7418, ptr @test_count, align 4, !tbaa !5
  %7419 = load ptr, ptr %145, align 8, !tbaa !9
  %7420 = getelementptr inbounds %struct.s2n_connection, ptr %7419, i32 0, i32 23
  %7421 = load i8, ptr %7420, align 4, !tbaa !52
  %7422 = zext i8 %7421 to i32
  %7423 = icmp eq i32 %7422, 34
  br i1 %7423, label %7477, label %7424

7424:                                             ; preds = %7416
  br label %7425

7425:                                             ; preds = %7424
  br label %7426

7426:                                             ; preds = %7425
  call void @llvm.lifetime.start.p0(i64 4, ptr %157) #9
  %7427 = call ptr @__errno_location() #10
  %7428 = load i32, ptr %7427, align 4, !tbaa !5
  store i32 %7428, ptr %157, align 4, !tbaa !5
  %7429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7430 = call i32 @s2n_print_stacktrace(ptr noundef %7429)
  %7431 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7432 = trunc i8 %7431 to i1
  br i1 %7432, label %7433, label %7455

7433:                                             ; preds = %7426
  %7434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7435 = call i32 @fileno(ptr noundef %7434) #9
  %7436 = call i32 @isatty(i32 noundef %7435) #9
  %7437 = icmp ne i32 %7436, 0
  br i1 %7437, label %7438, label %7455

7438:                                             ; preds = %7433
  %7439 = load i32, ptr %157, align 4, !tbaa !5
  %7440 = call ptr @__errno_location() #10
  store i32 %7439, ptr %7440, align 4, !tbaa !5
  %7441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7442 = load i32, ptr @test_count, align 4, !tbaa !5
  %7443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7444 = load i32, ptr %7443, align 4, !tbaa !5
  %7445 = call ptr @s2n_strerror(i32 noundef %7444, ptr noundef @.str.3)
  %7446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7447 = load i32, ptr %7446, align 4, !tbaa !5
  %7448 = call ptr @s2n_strerror_debug(i32 noundef %7447, ptr noundef @.str.3)
  %7449 = call ptr @__errno_location() #10
  %7450 = load i32, ptr %7449, align 4, !tbaa !5
  %7451 = call ptr @strerror(i32 noundef %7450) #9
  %7452 = call ptr @__errno_location() #10
  %7453 = load i32, ptr %7452, align 4, !tbaa !5
  %7454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7441, ptr noundef @.str, i32 noundef %7442, ptr noundef @.str.69, ptr noundef @.str.2, i32 noundef 272, ptr noundef %7445, ptr noundef %7448, ptr noundef %7451, i32 noundef %7453) #9
  br label %7472

7455:                                             ; preds = %7433, %7426
  %7456 = load i32, ptr %157, align 4, !tbaa !5
  %7457 = call ptr @__errno_location() #10
  store i32 %7456, ptr %7457, align 4, !tbaa !5
  %7458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7459 = load i32, ptr @test_count, align 4, !tbaa !5
  %7460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7461 = load i32, ptr %7460, align 4, !tbaa !5
  %7462 = call ptr @s2n_strerror(i32 noundef %7461, ptr noundef @.str.3)
  %7463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7464 = load i32, ptr %7463, align 4, !tbaa !5
  %7465 = call ptr @s2n_strerror_debug(i32 noundef %7464, ptr noundef @.str.3)
  %7466 = call ptr @__errno_location() #10
  %7467 = load i32, ptr %7466, align 4, !tbaa !5
  %7468 = call ptr @strerror(i32 noundef %7467) #9
  %7469 = call ptr @__errno_location() #10
  %7470 = load i32, ptr %7469, align 4, !tbaa !5
  %7471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7458, ptr noundef @.str.4, i32 noundef %7459, ptr noundef @.str.69, ptr noundef @.str.2, i32 noundef 272, ptr noundef %7462, ptr noundef %7465, ptr noundef %7468, i32 noundef %7470) #9
  br label %7472

7472:                                             ; preds = %7455, %7438
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #9
  br label %7473

7473:                                             ; preds = %7472
  br label %7474

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

7475:                                             ; No predecessors!
  br label %7476

7476:                                             ; preds = %7475
  br label %7477

7477:                                             ; preds = %7476, %7416
  br label %7478

7478:                                             ; preds = %7477
  br label %7479

7479:                                             ; preds = %7478
  br label %7480

7480:                                             ; preds = %7479
  %7481 = load i32, ptr @test_count, align 4, !tbaa !5
  %7482 = add nsw i32 %7481, 1
  store i32 %7482, ptr @test_count, align 4, !tbaa !5
  %7483 = load ptr, ptr %148, align 8, !tbaa !9
  %7484 = getelementptr inbounds %struct.s2n_connection, ptr %7483, i32 0, i32 23
  %7485 = load i8, ptr %7484, align 4, !tbaa !52
  %7486 = zext i8 %7485 to i32
  %7487 = icmp eq i32 %7486, 34
  br i1 %7487, label %7541, label %7488

7488:                                             ; preds = %7480
  br label %7489

7489:                                             ; preds = %7488
  br label %7490

7490:                                             ; preds = %7489
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #9
  %7491 = call ptr @__errno_location() #10
  %7492 = load i32, ptr %7491, align 4, !tbaa !5
  store i32 %7492, ptr %158, align 4, !tbaa !5
  %7493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7494 = call i32 @s2n_print_stacktrace(ptr noundef %7493)
  %7495 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7496 = trunc i8 %7495 to i1
  br i1 %7496, label %7497, label %7519

7497:                                             ; preds = %7490
  %7498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7499 = call i32 @fileno(ptr noundef %7498) #9
  %7500 = call i32 @isatty(i32 noundef %7499) #9
  %7501 = icmp ne i32 %7500, 0
  br i1 %7501, label %7502, label %7519

7502:                                             ; preds = %7497
  %7503 = load i32, ptr %158, align 4, !tbaa !5
  %7504 = call ptr @__errno_location() #10
  store i32 %7503, ptr %7504, align 4, !tbaa !5
  %7505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7506 = load i32, ptr @test_count, align 4, !tbaa !5
  %7507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7508 = load i32, ptr %7507, align 4, !tbaa !5
  %7509 = call ptr @s2n_strerror(i32 noundef %7508, ptr noundef @.str.3)
  %7510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7511 = load i32, ptr %7510, align 4, !tbaa !5
  %7512 = call ptr @s2n_strerror_debug(i32 noundef %7511, ptr noundef @.str.3)
  %7513 = call ptr @__errno_location() #10
  %7514 = load i32, ptr %7513, align 4, !tbaa !5
  %7515 = call ptr @strerror(i32 noundef %7514) #9
  %7516 = call ptr @__errno_location() #10
  %7517 = load i32, ptr %7516, align 4, !tbaa !5
  %7518 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7505, ptr noundef @.str, i32 noundef %7506, ptr noundef @.str.70, ptr noundef @.str.2, i32 noundef 273, ptr noundef %7509, ptr noundef %7512, ptr noundef %7515, i32 noundef %7517) #9
  br label %7536

7519:                                             ; preds = %7497, %7490
  %7520 = load i32, ptr %158, align 4, !tbaa !5
  %7521 = call ptr @__errno_location() #10
  store i32 %7520, ptr %7521, align 4, !tbaa !5
  %7522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7523 = load i32, ptr @test_count, align 4, !tbaa !5
  %7524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7525 = load i32, ptr %7524, align 4, !tbaa !5
  %7526 = call ptr @s2n_strerror(i32 noundef %7525, ptr noundef @.str.3)
  %7527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7528 = load i32, ptr %7527, align 4, !tbaa !5
  %7529 = call ptr @s2n_strerror_debug(i32 noundef %7528, ptr noundef @.str.3)
  %7530 = call ptr @__errno_location() #10
  %7531 = load i32, ptr %7530, align 4, !tbaa !5
  %7532 = call ptr @strerror(i32 noundef %7531) #9
  %7533 = call ptr @__errno_location() #10
  %7534 = load i32, ptr %7533, align 4, !tbaa !5
  %7535 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7522, ptr noundef @.str.4, i32 noundef %7523, ptr noundef @.str.70, ptr noundef @.str.2, i32 noundef 273, ptr noundef %7526, ptr noundef %7529, ptr noundef %7532, i32 noundef %7534) #9
  br label %7536

7536:                                             ; preds = %7519, %7502
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #9
  br label %7537

7537:                                             ; preds = %7536
  br label %7538

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

7539:                                             ; No predecessors!
  br label %7540

7540:                                             ; preds = %7539
  br label %7541

7541:                                             ; preds = %7540, %7480
  br label %7542

7542:                                             ; preds = %7541
  br label %7543

7543:                                             ; preds = %7542
  call void @llvm.lifetime.start.p0(i64 4, ptr %159) #9
  store i32 0, ptr %159, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %160) #9
  %7544 = load ptr, ptr %148, align 8, !tbaa !9
  %7545 = call ptr @s2n_connection_get_ocsp_response(ptr noundef %7544, ptr noundef %159)
  store ptr %7545, ptr %160, align 8, !tbaa !9
  br label %7546

7546:                                             ; preds = %7543
  %7547 = load i32, ptr @test_count, align 4, !tbaa !5
  %7548 = add nsw i32 %7547, 1
  store i32 %7548, ptr @test_count, align 4, !tbaa !5
  %7549 = load ptr, ptr %160, align 8, !tbaa !9
  %7550 = icmp eq ptr %7549, null
  br i1 %7550, label %7604, label %7551

7551:                                             ; preds = %7546
  br label %7552

7552:                                             ; preds = %7551
  br label %7553

7553:                                             ; preds = %7552
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #9
  %7554 = call ptr @__errno_location() #10
  %7555 = load i32, ptr %7554, align 4, !tbaa !5
  store i32 %7555, ptr %161, align 4, !tbaa !5
  %7556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7557 = call i32 @s2n_print_stacktrace(ptr noundef %7556)
  %7558 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7559 = trunc i8 %7558 to i1
  br i1 %7559, label %7560, label %7582

7560:                                             ; preds = %7553
  %7561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7562 = call i32 @fileno(ptr noundef %7561) #9
  %7563 = call i32 @isatty(i32 noundef %7562) #9
  %7564 = icmp ne i32 %7563, 0
  br i1 %7564, label %7565, label %7582

7565:                                             ; preds = %7560
  %7566 = load i32, ptr %161, align 4, !tbaa !5
  %7567 = call ptr @__errno_location() #10
  store i32 %7566, ptr %7567, align 4, !tbaa !5
  %7568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7569 = load i32, ptr @test_count, align 4, !tbaa !5
  %7570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7571 = load i32, ptr %7570, align 4, !tbaa !5
  %7572 = call ptr @s2n_strerror(i32 noundef %7571, ptr noundef @.str.3)
  %7573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7574 = load i32, ptr %7573, align 4, !tbaa !5
  %7575 = call ptr @s2n_strerror_debug(i32 noundef %7574, ptr noundef @.str.3)
  %7576 = call ptr @__errno_location() #10
  %7577 = load i32, ptr %7576, align 4, !tbaa !5
  %7578 = call ptr @strerror(i32 noundef %7577) #9
  %7579 = call ptr @__errno_location() #10
  %7580 = load i32, ptr %7579, align 4, !tbaa !5
  %7581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7568, ptr noundef @.str, i32 noundef %7569, ptr noundef @.str.81, ptr noundef @.str.2, i32 noundef 279, ptr noundef %7572, ptr noundef %7575, ptr noundef %7578, i32 noundef %7580) #9
  br label %7599

7582:                                             ; preds = %7560, %7553
  %7583 = load i32, ptr %161, align 4, !tbaa !5
  %7584 = call ptr @__errno_location() #10
  store i32 %7583, ptr %7584, align 4, !tbaa !5
  %7585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7586 = load i32, ptr @test_count, align 4, !tbaa !5
  %7587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7588 = load i32, ptr %7587, align 4, !tbaa !5
  %7589 = call ptr @s2n_strerror(i32 noundef %7588, ptr noundef @.str.3)
  %7590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7591 = load i32, ptr %7590, align 4, !tbaa !5
  %7592 = call ptr @s2n_strerror_debug(i32 noundef %7591, ptr noundef @.str.3)
  %7593 = call ptr @__errno_location() #10
  %7594 = load i32, ptr %7593, align 4, !tbaa !5
  %7595 = call ptr @strerror(i32 noundef %7594) #9
  %7596 = call ptr @__errno_location() #10
  %7597 = load i32, ptr %7596, align 4, !tbaa !5
  %7598 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7585, ptr noundef @.str.4, i32 noundef %7586, ptr noundef @.str.81, ptr noundef @.str.2, i32 noundef 279, ptr noundef %7589, ptr noundef %7592, ptr noundef %7595, i32 noundef %7597) #9
  br label %7599

7599:                                             ; preds = %7582, %7565
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #9
  br label %7600

7600:                                             ; preds = %7599
  br label %7601

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

7602:                                             ; No predecessors!
  br label %7603

7603:                                             ; preds = %7602
  br label %7604

7604:                                             ; preds = %7603, %7546
  br label %7605

7605:                                             ; preds = %7604
  br label %7606

7606:                                             ; preds = %7605
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #9
  store i32 0, ptr %162, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %163) #9
  %7607 = load ptr, ptr %145, align 8, !tbaa !9
  %7608 = call ptr @s2n_connection_get_ocsp_response(ptr noundef %7607, ptr noundef %162)
  store ptr %7608, ptr %163, align 8, !tbaa !9
  br label %7609

7609:                                             ; preds = %7606
  %7610 = load i32, ptr @test_count, align 4, !tbaa !5
  %7611 = add nsw i32 %7610, 1
  store i32 %7611, ptr @test_count, align 4, !tbaa !5
  %7612 = load ptr, ptr %163, align 8, !tbaa !9
  %7613 = icmp eq ptr %7612, null
  br i1 %7613, label %7614, label %7667

7614:                                             ; preds = %7609
  br label %7615

7615:                                             ; preds = %7614
  br label %7616

7616:                                             ; preds = %7615
  call void @llvm.lifetime.start.p0(i64 4, ptr %164) #9
  %7617 = call ptr @__errno_location() #10
  %7618 = load i32, ptr %7617, align 4, !tbaa !5
  store i32 %7618, ptr %164, align 4, !tbaa !5
  %7619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7620 = call i32 @s2n_print_stacktrace(ptr noundef %7619)
  %7621 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7622 = trunc i8 %7621 to i1
  br i1 %7622, label %7623, label %7645

7623:                                             ; preds = %7616
  %7624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7625 = call i32 @fileno(ptr noundef %7624) #9
  %7626 = call i32 @isatty(i32 noundef %7625) #9
  %7627 = icmp ne i32 %7626, 0
  br i1 %7627, label %7628, label %7645

7628:                                             ; preds = %7623
  %7629 = load i32, ptr %164, align 4, !tbaa !5
  %7630 = call ptr @__errno_location() #10
  store i32 %7629, ptr %7630, align 4, !tbaa !5
  %7631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7632 = load i32, ptr @test_count, align 4, !tbaa !5
  %7633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7634 = load i32, ptr %7633, align 4, !tbaa !5
  %7635 = call ptr @s2n_strerror(i32 noundef %7634, ptr noundef @.str.3)
  %7636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7637 = load i32, ptr %7636, align 4, !tbaa !5
  %7638 = call ptr @s2n_strerror_debug(i32 noundef %7637, ptr noundef @.str.3)
  %7639 = call ptr @__errno_location() #10
  %7640 = load i32, ptr %7639, align 4, !tbaa !5
  %7641 = call ptr @strerror(i32 noundef %7640) #9
  %7642 = call ptr @__errno_location() #10
  %7643 = load i32, ptr %7642, align 4, !tbaa !5
  %7644 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7631, ptr noundef @.str, i32 noundef %7632, ptr noundef @.str.82, ptr noundef @.str.2, i32 noundef 284, ptr noundef %7635, ptr noundef %7638, ptr noundef %7641, i32 noundef %7643) #9
  br label %7662

7645:                                             ; preds = %7623, %7616
  %7646 = load i32, ptr %164, align 4, !tbaa !5
  %7647 = call ptr @__errno_location() #10
  store i32 %7646, ptr %7647, align 4, !tbaa !5
  %7648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7649 = load i32, ptr @test_count, align 4, !tbaa !5
  %7650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7651 = load i32, ptr %7650, align 4, !tbaa !5
  %7652 = call ptr @s2n_strerror(i32 noundef %7651, ptr noundef @.str.3)
  %7653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7654 = load i32, ptr %7653, align 4, !tbaa !5
  %7655 = call ptr @s2n_strerror_debug(i32 noundef %7654, ptr noundef @.str.3)
  %7656 = call ptr @__errno_location() #10
  %7657 = load i32, ptr %7656, align 4, !tbaa !5
  %7658 = call ptr @strerror(i32 noundef %7657) #9
  %7659 = call ptr @__errno_location() #10
  %7660 = load i32, ptr %7659, align 4, !tbaa !5
  %7661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7648, ptr noundef @.str.4, i32 noundef %7649, ptr noundef @.str.82, ptr noundef @.str.2, i32 noundef 284, ptr noundef %7652, ptr noundef %7655, ptr noundef %7658, i32 noundef %7660) #9
  br label %7662

7662:                                             ; preds = %7645, %7628
  call void @llvm.lifetime.end.p0(i64 4, ptr %164) #9
  br label %7663

7663:                                             ; preds = %7662
  br label %7664

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

7665:                                             ; No predecessors!
  br label %7666

7666:                                             ; preds = %7665
  br label %7667

7667:                                             ; preds = %7666, %7609
  br label %7668

7668:                                             ; preds = %7667
  br label %7669

7669:                                             ; preds = %7668
  br label %7670

7670:                                             ; preds = %7669
  %7671 = load i32, ptr @test_count, align 4, !tbaa !5
  %7672 = add nsw i32 %7671, 1
  store i32 %7672, ptr @test_count, align 4, !tbaa !5
  %7673 = load ptr, ptr %145, align 8, !tbaa !9
  %7674 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef %7673)
  %7675 = icmp eq i32 %7674, 0
  br i1 %7675, label %7729, label %7676

7676:                                             ; preds = %7670
  br label %7677

7677:                                             ; preds = %7676
  br label %7678

7678:                                             ; preds = %7677
  call void @llvm.lifetime.start.p0(i64 4, ptr %165) #9
  %7679 = call ptr @__errno_location() #10
  %7680 = load i32, ptr %7679, align 4, !tbaa !5
  store i32 %7680, ptr %165, align 4, !tbaa !5
  %7681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7682 = call i32 @s2n_print_stacktrace(ptr noundef %7681)
  %7683 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7684 = trunc i8 %7683 to i1
  br i1 %7684, label %7685, label %7707

7685:                                             ; preds = %7678
  %7686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7687 = call i32 @fileno(ptr noundef %7686) #9
  %7688 = call i32 @isatty(i32 noundef %7687) #9
  %7689 = icmp ne i32 %7688, 0
  br i1 %7689, label %7690, label %7707

7690:                                             ; preds = %7685
  %7691 = load i32, ptr %165, align 4, !tbaa !5
  %7692 = call ptr @__errno_location() #10
  store i32 %7691, ptr %7692, align 4, !tbaa !5
  %7693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7694 = load i32, ptr @test_count, align 4, !tbaa !5
  %7695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7696 = load i32, ptr %7695, align 4, !tbaa !5
  %7697 = call ptr @s2n_strerror(i32 noundef %7696, ptr noundef @.str.3)
  %7698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7699 = load i32, ptr %7698, align 4, !tbaa !5
  %7700 = call ptr @s2n_strerror_debug(i32 noundef %7699, ptr noundef @.str.3)
  %7701 = call ptr @__errno_location() #10
  %7702 = load i32, ptr %7701, align 4, !tbaa !5
  %7703 = call ptr @strerror(i32 noundef %7702) #9
  %7704 = call ptr @__errno_location() #10
  %7705 = load i32, ptr %7704, align 4, !tbaa !5
  %7706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7693, ptr noundef @.str, i32 noundef %7694, ptr noundef @.str.83, ptr noundef @.str.2, i32 noundef 287, ptr noundef %7697, ptr noundef %7700, ptr noundef %7703, i32 noundef %7705) #9
  br label %7724

7707:                                             ; preds = %7685, %7678
  %7708 = load i32, ptr %165, align 4, !tbaa !5
  %7709 = call ptr @__errno_location() #10
  store i32 %7708, ptr %7709, align 4, !tbaa !5
  %7710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7711 = load i32, ptr @test_count, align 4, !tbaa !5
  %7712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7713 = load i32, ptr %7712, align 4, !tbaa !5
  %7714 = call ptr @s2n_strerror(i32 noundef %7713, ptr noundef @.str.3)
  %7715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7716 = load i32, ptr %7715, align 4, !tbaa !5
  %7717 = call ptr @s2n_strerror_debug(i32 noundef %7716, ptr noundef @.str.3)
  %7718 = call ptr @__errno_location() #10
  %7719 = load i32, ptr %7718, align 4, !tbaa !5
  %7720 = call ptr @strerror(i32 noundef %7719) #9
  %7721 = call ptr @__errno_location() #10
  %7722 = load i32, ptr %7721, align 4, !tbaa !5
  %7723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7710, ptr noundef @.str.4, i32 noundef %7711, ptr noundef @.str.83, ptr noundef @.str.2, i32 noundef 287, ptr noundef %7714, ptr noundef %7717, ptr noundef %7720, i32 noundef %7722) #9
  br label %7724

7724:                                             ; preds = %7707, %7690
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #9
  br label %7725

7725:                                             ; preds = %7724
  br label %7726

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

7727:                                             ; No predecessors!
  br label %7728

7728:                                             ; preds = %7727
  br label %7729

7729:                                             ; preds = %7728, %7670
  br label %7730

7730:                                             ; preds = %7729
  br label %7731

7731:                                             ; preds = %7730
  br label %7732

7732:                                             ; preds = %7731
  %7733 = load i32, ptr @test_count, align 4, !tbaa !5
  %7734 = add nsw i32 %7733, 1
  store i32 %7734, ptr @test_count, align 4, !tbaa !5
  %7735 = load ptr, ptr %148, align 8, !tbaa !9
  %7736 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef %7735)
  %7737 = icmp eq i32 %7736, 0
  br i1 %7737, label %7791, label %7738

7738:                                             ; preds = %7732
  br label %7739

7739:                                             ; preds = %7738
  br label %7740

7740:                                             ; preds = %7739
  call void @llvm.lifetime.start.p0(i64 4, ptr %166) #9
  %7741 = call ptr @__errno_location() #10
  %7742 = load i32, ptr %7741, align 4, !tbaa !5
  store i32 %7742, ptr %166, align 4, !tbaa !5
  %7743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7744 = call i32 @s2n_print_stacktrace(ptr noundef %7743)
  %7745 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7746 = trunc i8 %7745 to i1
  br i1 %7746, label %7747, label %7769

7747:                                             ; preds = %7740
  %7748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7749 = call i32 @fileno(ptr noundef %7748) #9
  %7750 = call i32 @isatty(i32 noundef %7749) #9
  %7751 = icmp ne i32 %7750, 0
  br i1 %7751, label %7752, label %7769

7752:                                             ; preds = %7747
  %7753 = load i32, ptr %166, align 4, !tbaa !5
  %7754 = call ptr @__errno_location() #10
  store i32 %7753, ptr %7754, align 4, !tbaa !5
  %7755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7756 = load i32, ptr @test_count, align 4, !tbaa !5
  %7757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7758 = load i32, ptr %7757, align 4, !tbaa !5
  %7759 = call ptr @s2n_strerror(i32 noundef %7758, ptr noundef @.str.3)
  %7760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7761 = load i32, ptr %7760, align 4, !tbaa !5
  %7762 = call ptr @s2n_strerror_debug(i32 noundef %7761, ptr noundef @.str.3)
  %7763 = call ptr @__errno_location() #10
  %7764 = load i32, ptr %7763, align 4, !tbaa !5
  %7765 = call ptr @strerror(i32 noundef %7764) #9
  %7766 = call ptr @__errno_location() #10
  %7767 = load i32, ptr %7766, align 4, !tbaa !5
  %7768 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7755, ptr noundef @.str, i32 noundef %7756, ptr noundef @.str.84, ptr noundef @.str.2, i32 noundef 288, ptr noundef %7759, ptr noundef %7762, ptr noundef %7765, i32 noundef %7767) #9
  br label %7786

7769:                                             ; preds = %7747, %7740
  %7770 = load i32, ptr %166, align 4, !tbaa !5
  %7771 = call ptr @__errno_location() #10
  store i32 %7770, ptr %7771, align 4, !tbaa !5
  %7772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7773 = load i32, ptr @test_count, align 4, !tbaa !5
  %7774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7775 = load i32, ptr %7774, align 4, !tbaa !5
  %7776 = call ptr @s2n_strerror(i32 noundef %7775, ptr noundef @.str.3)
  %7777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7778 = load i32, ptr %7777, align 4, !tbaa !5
  %7779 = call ptr @s2n_strerror_debug(i32 noundef %7778, ptr noundef @.str.3)
  %7780 = call ptr @__errno_location() #10
  %7781 = load i32, ptr %7780, align 4, !tbaa !5
  %7782 = call ptr @strerror(i32 noundef %7781) #9
  %7783 = call ptr @__errno_location() #10
  %7784 = load i32, ptr %7783, align 4, !tbaa !5
  %7785 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7772, ptr noundef @.str.4, i32 noundef %7773, ptr noundef @.str.84, ptr noundef @.str.2, i32 noundef 288, ptr noundef %7776, ptr noundef %7779, ptr noundef %7782, i32 noundef %7784) #9
  br label %7786

7786:                                             ; preds = %7769, %7752
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #9
  br label %7787

7787:                                             ; preds = %7786
  br label %7788

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

7789:                                             ; No predecessors!
  br label %7790

7790:                                             ; preds = %7789
  br label %7791

7791:                                             ; preds = %7790, %7732
  br label %7792

7792:                                             ; preds = %7791
  br label %7793

7793:                                             ; preds = %7792
  call void @llvm.lifetime.end.p0(i64 8, ptr %163) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %160) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %159) #9
  %7794 = call i32 @s2n_io_pair_close(ptr noundef %152)
  call void @llvm.lifetime.end.p0(i64 8, ptr %152) #9
  %7795 = call i32 @s2n_connection_ptr_free(ptr noundef %148)
  %7796 = getelementptr inbounds %struct.s2n_result, ptr %167, i32 0, i32 0
  store i32 %7795, ptr %7796, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %148) #9
  %7797 = call i32 @s2n_connection_ptr_free(ptr noundef %145)
  %7798 = getelementptr inbounds %struct.s2n_result, ptr %168, i32 0, i32 0
  store i32 %7797, ptr %7798, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %145) #9
  %7799 = call i32 @s2n_config_ptr_free(ptr noundef %138)
  %7800 = getelementptr inbounds %struct.s2n_result, ptr %169, i32 0, i32 0
  store i32 %7799, ptr %7800, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %138) #9
  %7801 = call i32 @s2n_config_ptr_free(ptr noundef %131)
  %7802 = getelementptr inbounds %struct.s2n_result, ptr %170, i32 0, i32 0
  store i32 %7801, ptr %7802, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %131) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %171) #9
  %7803 = call ptr @s2n_config_new()
  store ptr %7803, ptr %171, align 8, !tbaa !9
  br label %7804

7804:                                             ; preds = %7793
  %7805 = load i32, ptr @test_count, align 4, !tbaa !5
  %7806 = add nsw i32 %7805, 1
  store i32 %7806, ptr @test_count, align 4, !tbaa !5
  %7807 = load ptr, ptr %171, align 8, !tbaa !9
  %7808 = icmp eq ptr %7807, null
  br i1 %7808, label %7809, label %7862

7809:                                             ; preds = %7804
  br label %7810

7810:                                             ; preds = %7809
  br label %7811

7811:                                             ; preds = %7810
  call void @llvm.lifetime.start.p0(i64 4, ptr %172) #9
  %7812 = call ptr @__errno_location() #10
  %7813 = load i32, ptr %7812, align 4, !tbaa !5
  store i32 %7813, ptr %172, align 4, !tbaa !5
  %7814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7815 = call i32 @s2n_print_stacktrace(ptr noundef %7814)
  %7816 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7817 = trunc i8 %7816 to i1
  br i1 %7817, label %7818, label %7840

7818:                                             ; preds = %7811
  %7819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7820 = call i32 @fileno(ptr noundef %7819) #9
  %7821 = call i32 @isatty(i32 noundef %7820) #9
  %7822 = icmp ne i32 %7821, 0
  br i1 %7822, label %7823, label %7840

7823:                                             ; preds = %7818
  %7824 = load i32, ptr %172, align 4, !tbaa !5
  %7825 = call ptr @__errno_location() #10
  store i32 %7824, ptr %7825, align 4, !tbaa !5
  %7826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7827 = load i32, ptr @test_count, align 4, !tbaa !5
  %7828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7829 = load i32, ptr %7828, align 4, !tbaa !5
  %7830 = call ptr @s2n_strerror(i32 noundef %7829, ptr noundef @.str.3)
  %7831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7832 = load i32, ptr %7831, align 4, !tbaa !5
  %7833 = call ptr @s2n_strerror_debug(i32 noundef %7832, ptr noundef @.str.3)
  %7834 = call ptr @__errno_location() #10
  %7835 = load i32, ptr %7834, align 4, !tbaa !5
  %7836 = call ptr @strerror(i32 noundef %7835) #9
  %7837 = call ptr @__errno_location() #10
  %7838 = load i32, ptr %7837, align 4, !tbaa !5
  %7839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7826, ptr noundef @.str, i32 noundef %7827, ptr noundef @.str.50, ptr noundef @.str.2, i32 noundef 294, ptr noundef %7830, ptr noundef %7833, ptr noundef %7836, i32 noundef %7838) #9
  br label %7857

7840:                                             ; preds = %7818, %7811
  %7841 = load i32, ptr %172, align 4, !tbaa !5
  %7842 = call ptr @__errno_location() #10
  store i32 %7841, ptr %7842, align 4, !tbaa !5
  %7843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7844 = load i32, ptr @test_count, align 4, !tbaa !5
  %7845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7846 = load i32, ptr %7845, align 4, !tbaa !5
  %7847 = call ptr @s2n_strerror(i32 noundef %7846, ptr noundef @.str.3)
  %7848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7849 = load i32, ptr %7848, align 4, !tbaa !5
  %7850 = call ptr @s2n_strerror_debug(i32 noundef %7849, ptr noundef @.str.3)
  %7851 = call ptr @__errno_location() #10
  %7852 = load i32, ptr %7851, align 4, !tbaa !5
  %7853 = call ptr @strerror(i32 noundef %7852) #9
  %7854 = call ptr @__errno_location() #10
  %7855 = load i32, ptr %7854, align 4, !tbaa !5
  %7856 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7843, ptr noundef @.str.4, i32 noundef %7844, ptr noundef @.str.50, ptr noundef @.str.2, i32 noundef 294, ptr noundef %7847, ptr noundef %7850, ptr noundef %7853, i32 noundef %7855) #9
  br label %7857

7857:                                             ; preds = %7840, %7823
  call void @llvm.lifetime.end.p0(i64 4, ptr %172) #9
  br label %7858

7858:                                             ; preds = %7857
  br label %7859

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

7860:                                             ; No predecessors!
  br label %7861

7861:                                             ; preds = %7860
  br label %7862

7862:                                             ; preds = %7861, %7804
  br label %7863

7863:                                             ; preds = %7862
  br label %7864

7864:                                             ; preds = %7863
  br label %7865

7865:                                             ; preds = %7864
  %7866 = load i32, ptr @test_count, align 4, !tbaa !5
  %7867 = add nsw i32 %7866, 1
  store i32 %7867, ptr @test_count, align 4, !tbaa !5
  %7868 = load ptr, ptr %171, align 8, !tbaa !9
  %7869 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %7868, ptr noundef @.str.51, ptr noundef null)
  %7870 = icmp eq i32 %7869, -1
  br i1 %7870, label %7871, label %7924

7871:                                             ; preds = %7865
  br label %7872

7872:                                             ; preds = %7871
  br label %7873

7873:                                             ; preds = %7872
  call void @llvm.lifetime.start.p0(i64 4, ptr %173) #9
  %7874 = call ptr @__errno_location() #10
  %7875 = load i32, ptr %7874, align 4, !tbaa !5
  store i32 %7875, ptr %173, align 4, !tbaa !5
  %7876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7877 = call i32 @s2n_print_stacktrace(ptr noundef %7876)
  %7878 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7879 = trunc i8 %7878 to i1
  br i1 %7879, label %7880, label %7902

7880:                                             ; preds = %7873
  %7881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7882 = call i32 @fileno(ptr noundef %7881) #9
  %7883 = call i32 @isatty(i32 noundef %7882) #9
  %7884 = icmp ne i32 %7883, 0
  br i1 %7884, label %7885, label %7902

7885:                                             ; preds = %7880
  %7886 = load i32, ptr %173, align 4, !tbaa !5
  %7887 = call ptr @__errno_location() #10
  store i32 %7886, ptr %7887, align 4, !tbaa !5
  %7888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7889 = load i32, ptr @test_count, align 4, !tbaa !5
  %7890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7891 = load i32, ptr %7890, align 4, !tbaa !5
  %7892 = call ptr @s2n_strerror(i32 noundef %7891, ptr noundef @.str.3)
  %7893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7894 = load i32, ptr %7893, align 4, !tbaa !5
  %7895 = call ptr @s2n_strerror_debug(i32 noundef %7894, ptr noundef @.str.3)
  %7896 = call ptr @__errno_location() #10
  %7897 = load i32, ptr %7896, align 4, !tbaa !5
  %7898 = call ptr @strerror(i32 noundef %7897) #9
  %7899 = call ptr @__errno_location() #10
  %7900 = load i32, ptr %7899, align 4, !tbaa !5
  %7901 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7888, ptr noundef @.str, i32 noundef %7889, ptr noundef @.str.52, ptr noundef @.str.2, i32 noundef 295, ptr noundef %7892, ptr noundef %7895, ptr noundef %7898, i32 noundef %7900) #9
  br label %7919

7902:                                             ; preds = %7880, %7873
  %7903 = load i32, ptr %173, align 4, !tbaa !5
  %7904 = call ptr @__errno_location() #10
  store i32 %7903, ptr %7904, align 4, !tbaa !5
  %7905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7906 = load i32, ptr @test_count, align 4, !tbaa !5
  %7907 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7908 = load i32, ptr %7907, align 4, !tbaa !5
  %7909 = call ptr @s2n_strerror(i32 noundef %7908, ptr noundef @.str.3)
  %7910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7911 = load i32, ptr %7910, align 4, !tbaa !5
  %7912 = call ptr @s2n_strerror_debug(i32 noundef %7911, ptr noundef @.str.3)
  %7913 = call ptr @__errno_location() #10
  %7914 = load i32, ptr %7913, align 4, !tbaa !5
  %7915 = call ptr @strerror(i32 noundef %7914) #9
  %7916 = call ptr @__errno_location() #10
  %7917 = load i32, ptr %7916, align 4, !tbaa !5
  %7918 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7905, ptr noundef @.str.4, i32 noundef %7906, ptr noundef @.str.52, ptr noundef @.str.2, i32 noundef 295, ptr noundef %7909, ptr noundef %7912, ptr noundef %7915, i32 noundef %7917) #9
  br label %7919

7919:                                             ; preds = %7902, %7885
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #9
  br label %7920

7920:                                             ; preds = %7919
  br label %7921

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

7922:                                             ; No predecessors!
  br label %7923

7923:                                             ; preds = %7922
  br label %7924

7924:                                             ; preds = %7923, %7865
  br label %7925

7925:                                             ; preds = %7924
  br label %7926

7926:                                             ; preds = %7925
  br label %7927

7927:                                             ; preds = %7926
  %7928 = load i32, ptr @test_count, align 4, !tbaa !5
  %7929 = add nsw i32 %7928, 1
  store i32 %7929, ptr @test_count, align 4, !tbaa !5
  %7930 = load ptr, ptr %171, align 8, !tbaa !9
  %7931 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %7930, ptr noundef @.str.53)
  %7932 = icmp eq i32 %7931, -1
  br i1 %7932, label %7933, label %7986

7933:                                             ; preds = %7927
  br label %7934

7934:                                             ; preds = %7933
  br label %7935

7935:                                             ; preds = %7934
  call void @llvm.lifetime.start.p0(i64 4, ptr %174) #9
  %7936 = call ptr @__errno_location() #10
  %7937 = load i32, ptr %7936, align 4, !tbaa !5
  store i32 %7937, ptr %174, align 4, !tbaa !5
  %7938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7939 = call i32 @s2n_print_stacktrace(ptr noundef %7938)
  %7940 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7941 = trunc i8 %7940 to i1
  br i1 %7941, label %7942, label %7964

7942:                                             ; preds = %7935
  %7943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7944 = call i32 @fileno(ptr noundef %7943) #9
  %7945 = call i32 @isatty(i32 noundef %7944) #9
  %7946 = icmp ne i32 %7945, 0
  br i1 %7946, label %7947, label %7964

7947:                                             ; preds = %7942
  %7948 = load i32, ptr %174, align 4, !tbaa !5
  %7949 = call ptr @__errno_location() #10
  store i32 %7948, ptr %7949, align 4, !tbaa !5
  %7950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7951 = load i32, ptr @test_count, align 4, !tbaa !5
  %7952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7953 = load i32, ptr %7952, align 4, !tbaa !5
  %7954 = call ptr @s2n_strerror(i32 noundef %7953, ptr noundef @.str.3)
  %7955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7956 = load i32, ptr %7955, align 4, !tbaa !5
  %7957 = call ptr @s2n_strerror_debug(i32 noundef %7956, ptr noundef @.str.3)
  %7958 = call ptr @__errno_location() #10
  %7959 = load i32, ptr %7958, align 4, !tbaa !5
  %7960 = call ptr @strerror(i32 noundef %7959) #9
  %7961 = call ptr @__errno_location() #10
  %7962 = load i32, ptr %7961, align 4, !tbaa !5
  %7963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7950, ptr noundef @.str, i32 noundef %7951, ptr noundef @.str.54, ptr noundef @.str.2, i32 noundef 296, ptr noundef %7954, ptr noundef %7957, ptr noundef %7960, i32 noundef %7962) #9
  br label %7981

7964:                                             ; preds = %7942, %7935
  %7965 = load i32, ptr %174, align 4, !tbaa !5
  %7966 = call ptr @__errno_location() #10
  store i32 %7965, ptr %7966, align 4, !tbaa !5
  %7967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7968 = load i32, ptr @test_count, align 4, !tbaa !5
  %7969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7970 = load i32, ptr %7969, align 4, !tbaa !5
  %7971 = call ptr @s2n_strerror(i32 noundef %7970, ptr noundef @.str.3)
  %7972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7973 = load i32, ptr %7972, align 4, !tbaa !5
  %7974 = call ptr @s2n_strerror_debug(i32 noundef %7973, ptr noundef @.str.3)
  %7975 = call ptr @__errno_location() #10
  %7976 = load i32, ptr %7975, align 4, !tbaa !5
  %7977 = call ptr @strerror(i32 noundef %7976) #9
  %7978 = call ptr @__errno_location() #10
  %7979 = load i32, ptr %7978, align 4, !tbaa !5
  %7980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7967, ptr noundef @.str.4, i32 noundef %7968, ptr noundef @.str.54, ptr noundef @.str.2, i32 noundef 296, ptr noundef %7971, ptr noundef %7974, ptr noundef %7977, i32 noundef %7979) #9
  br label %7981

7981:                                             ; preds = %7964, %7947
  call void @llvm.lifetime.end.p0(i64 4, ptr %174) #9
  br label %7982

7982:                                             ; preds = %7981
  br label %7983

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

7984:                                             ; No predecessors!
  br label %7985

7985:                                             ; preds = %7984
  br label %7986

7986:                                             ; preds = %7985, %7927
  br label %7987

7987:                                             ; preds = %7986
  br label %7988

7988:                                             ; preds = %7987
  br label %7989

7989:                                             ; preds = %7988
  %7990 = load i32, ptr @test_count, align 4, !tbaa !5
  %7991 = add nsw i32 %7990, 1
  store i32 %7991, ptr @test_count, align 4, !tbaa !5
  %7992 = load ptr, ptr %171, align 8, !tbaa !9
  %7993 = call i32 @s2n_config_set_status_request_type(ptr noundef %7992, i32 noundef 1)
  %7994 = icmp eq i32 %7993, -1
  br i1 %7994, label %7995, label %8048

7995:                                             ; preds = %7989
  br label %7996

7996:                                             ; preds = %7995
  br label %7997

7997:                                             ; preds = %7996
  call void @llvm.lifetime.start.p0(i64 4, ptr %175) #9
  %7998 = call ptr @__errno_location() #10
  %7999 = load i32, ptr %7998, align 4, !tbaa !5
  store i32 %7999, ptr %175, align 4, !tbaa !5
  %8000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8001 = call i32 @s2n_print_stacktrace(ptr noundef %8000)
  %8002 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8003 = trunc i8 %8002 to i1
  br i1 %8003, label %8004, label %8026

8004:                                             ; preds = %7997
  %8005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8006 = call i32 @fileno(ptr noundef %8005) #9
  %8007 = call i32 @isatty(i32 noundef %8006) #9
  %8008 = icmp ne i32 %8007, 0
  br i1 %8008, label %8009, label %8026

8009:                                             ; preds = %8004
  %8010 = load i32, ptr %175, align 4, !tbaa !5
  %8011 = call ptr @__errno_location() #10
  store i32 %8010, ptr %8011, align 4, !tbaa !5
  %8012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8013 = load i32, ptr @test_count, align 4, !tbaa !5
  %8014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8015 = load i32, ptr %8014, align 4, !tbaa !5
  %8016 = call ptr @s2n_strerror(i32 noundef %8015, ptr noundef @.str.3)
  %8017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8018 = load i32, ptr %8017, align 4, !tbaa !5
  %8019 = call ptr @s2n_strerror_debug(i32 noundef %8018, ptr noundef @.str.3)
  %8020 = call ptr @__errno_location() #10
  %8021 = load i32, ptr %8020, align 4, !tbaa !5
  %8022 = call ptr @strerror(i32 noundef %8021) #9
  %8023 = call ptr @__errno_location() #10
  %8024 = load i32, ptr %8023, align 4, !tbaa !5
  %8025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8012, ptr noundef @.str, i32 noundef %8013, ptr noundef @.str.55, ptr noundef @.str.2, i32 noundef 297, ptr noundef %8016, ptr noundef %8019, ptr noundef %8022, i32 noundef %8024) #9
  br label %8043

8026:                                             ; preds = %8004, %7997
  %8027 = load i32, ptr %175, align 4, !tbaa !5
  %8028 = call ptr @__errno_location() #10
  store i32 %8027, ptr %8028, align 4, !tbaa !5
  %8029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8030 = load i32, ptr @test_count, align 4, !tbaa !5
  %8031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8032 = load i32, ptr %8031, align 4, !tbaa !5
  %8033 = call ptr @s2n_strerror(i32 noundef %8032, ptr noundef @.str.3)
  %8034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8035 = load i32, ptr %8034, align 4, !tbaa !5
  %8036 = call ptr @s2n_strerror_debug(i32 noundef %8035, ptr noundef @.str.3)
  %8037 = call ptr @__errno_location() #10
  %8038 = load i32, ptr %8037, align 4, !tbaa !5
  %8039 = call ptr @strerror(i32 noundef %8038) #9
  %8040 = call ptr @__errno_location() #10
  %8041 = load i32, ptr %8040, align 4, !tbaa !5
  %8042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8029, ptr noundef @.str.4, i32 noundef %8030, ptr noundef @.str.55, ptr noundef @.str.2, i32 noundef 297, ptr noundef %8033, ptr noundef %8036, ptr noundef %8039, i32 noundef %8041) #9
  br label %8043

8043:                                             ; preds = %8026, %8009
  call void @llvm.lifetime.end.p0(i64 4, ptr %175) #9
  br label %8044

8044:                                             ; preds = %8043
  br label %8045

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

8046:                                             ; No predecessors!
  br label %8047

8047:                                             ; preds = %8046
  br label %8048

8048:                                             ; preds = %8047, %7989
  br label %8049

8049:                                             ; preds = %8048
  br label %8050

8050:                                             ; preds = %8049
  br label %8051

8051:                                             ; preds = %8050
  %8052 = load i32, ptr @test_count, align 4, !tbaa !5
  %8053 = add nsw i32 %8052, 1
  store i32 %8053, ptr @test_count, align 4, !tbaa !5
  %8054 = load ptr, ptr %171, align 8, !tbaa !9
  %8055 = call i32 @s2n_config_set_client_auth_type(ptr noundef %8054, i32 noundef 2)
  %8056 = icmp eq i32 %8055, -1
  br i1 %8056, label %8057, label %8110

8057:                                             ; preds = %8051
  br label %8058

8058:                                             ; preds = %8057
  br label %8059

8059:                                             ; preds = %8058
  call void @llvm.lifetime.start.p0(i64 4, ptr %176) #9
  %8060 = call ptr @__errno_location() #10
  %8061 = load i32, ptr %8060, align 4, !tbaa !5
  store i32 %8061, ptr %176, align 4, !tbaa !5
  %8062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8063 = call i32 @s2n_print_stacktrace(ptr noundef %8062)
  %8064 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8065 = trunc i8 %8064 to i1
  br i1 %8065, label %8066, label %8088

8066:                                             ; preds = %8059
  %8067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8068 = call i32 @fileno(ptr noundef %8067) #9
  %8069 = call i32 @isatty(i32 noundef %8068) #9
  %8070 = icmp ne i32 %8069, 0
  br i1 %8070, label %8071, label %8088

8071:                                             ; preds = %8066
  %8072 = load i32, ptr %176, align 4, !tbaa !5
  %8073 = call ptr @__errno_location() #10
  store i32 %8072, ptr %8073, align 4, !tbaa !5
  %8074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8075 = load i32, ptr @test_count, align 4, !tbaa !5
  %8076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8077 = load i32, ptr %8076, align 4, !tbaa !5
  %8078 = call ptr @s2n_strerror(i32 noundef %8077, ptr noundef @.str.3)
  %8079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8080 = load i32, ptr %8079, align 4, !tbaa !5
  %8081 = call ptr @s2n_strerror_debug(i32 noundef %8080, ptr noundef @.str.3)
  %8082 = call ptr @__errno_location() #10
  %8083 = load i32, ptr %8082, align 4, !tbaa !5
  %8084 = call ptr @strerror(i32 noundef %8083) #9
  %8085 = call ptr @__errno_location() #10
  %8086 = load i32, ptr %8085, align 4, !tbaa !5
  %8087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8074, ptr noundef @.str, i32 noundef %8075, ptr noundef @.str.76, ptr noundef @.str.2, i32 noundef 299, ptr noundef %8078, ptr noundef %8081, ptr noundef %8084, i32 noundef %8086) #9
  br label %8105

8088:                                             ; preds = %8066, %8059
  %8089 = load i32, ptr %176, align 4, !tbaa !5
  %8090 = call ptr @__errno_location() #10
  store i32 %8089, ptr %8090, align 4, !tbaa !5
  %8091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8092 = load i32, ptr @test_count, align 4, !tbaa !5
  %8093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8094 = load i32, ptr %8093, align 4, !tbaa !5
  %8095 = call ptr @s2n_strerror(i32 noundef %8094, ptr noundef @.str.3)
  %8096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8097 = load i32, ptr %8096, align 4, !tbaa !5
  %8098 = call ptr @s2n_strerror_debug(i32 noundef %8097, ptr noundef @.str.3)
  %8099 = call ptr @__errno_location() #10
  %8100 = load i32, ptr %8099, align 4, !tbaa !5
  %8101 = call ptr @strerror(i32 noundef %8100) #9
  %8102 = call ptr @__errno_location() #10
  %8103 = load i32, ptr %8102, align 4, !tbaa !5
  %8104 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8091, ptr noundef @.str.4, i32 noundef %8092, ptr noundef @.str.76, ptr noundef @.str.2, i32 noundef 299, ptr noundef %8095, ptr noundef %8098, ptr noundef %8101, i32 noundef %8103) #9
  br label %8105

8105:                                             ; preds = %8088, %8071
  call void @llvm.lifetime.end.p0(i64 4, ptr %176) #9
  br label %8106

8106:                                             ; preds = %8105
  br label %8107

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

8108:                                             ; No predecessors!
  br label %8109

8109:                                             ; preds = %8108
  br label %8110

8110:                                             ; preds = %8109, %8051
  br label %8111

8111:                                             ; preds = %8110
  br label %8112

8112:                                             ; preds = %8111
  br label %8113

8113:                                             ; preds = %8112
  %8114 = load i32, ptr @test_count, align 4, !tbaa !5
  %8115 = add nsw i32 %8114, 1
  store i32 %8115, ptr @test_count, align 4, !tbaa !5
  %8116 = load ptr, ptr %171, align 8, !tbaa !9
  %8117 = load ptr, ptr %93, align 8, !tbaa !9
  %8118 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %8116, ptr noundef %8117)
  %8119 = icmp eq i32 %8118, -1
  br i1 %8119, label %8120, label %8173

8120:                                             ; preds = %8113
  br label %8121

8121:                                             ; preds = %8120
  br label %8122

8122:                                             ; preds = %8121
  call void @llvm.lifetime.start.p0(i64 4, ptr %177) #9
  %8123 = call ptr @__errno_location() #10
  %8124 = load i32, ptr %8123, align 4, !tbaa !5
  store i32 %8124, ptr %177, align 4, !tbaa !5
  %8125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8126 = call i32 @s2n_print_stacktrace(ptr noundef %8125)
  %8127 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8128 = trunc i8 %8127 to i1
  br i1 %8128, label %8129, label %8151

8129:                                             ; preds = %8122
  %8130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8131 = call i32 @fileno(ptr noundef %8130) #9
  %8132 = call i32 @isatty(i32 noundef %8131) #9
  %8133 = icmp ne i32 %8132, 0
  br i1 %8133, label %8134, label %8151

8134:                                             ; preds = %8129
  %8135 = load i32, ptr %177, align 4, !tbaa !5
  %8136 = call ptr @__errno_location() #10
  store i32 %8135, ptr %8136, align 4, !tbaa !5
  %8137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8138 = load i32, ptr @test_count, align 4, !tbaa !5
  %8139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8140 = load i32, ptr %8139, align 4, !tbaa !5
  %8141 = call ptr @s2n_strerror(i32 noundef %8140, ptr noundef @.str.3)
  %8142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8143 = load i32, ptr %8142, align 4, !tbaa !5
  %8144 = call ptr @s2n_strerror_debug(i32 noundef %8143, ptr noundef @.str.3)
  %8145 = call ptr @__errno_location() #10
  %8146 = load i32, ptr %8145, align 4, !tbaa !5
  %8147 = call ptr @strerror(i32 noundef %8146) #9
  %8148 = call ptr @__errno_location() #10
  %8149 = load i32, ptr %8148, align 4, !tbaa !5
  %8150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8137, ptr noundef @.str, i32 noundef %8138, ptr noundef @.str.77, ptr noundef @.str.2, i32 noundef 300, ptr noundef %8141, ptr noundef %8144, ptr noundef %8147, i32 noundef %8149) #9
  br label %8168

8151:                                             ; preds = %8129, %8122
  %8152 = load i32, ptr %177, align 4, !tbaa !5
  %8153 = call ptr @__errno_location() #10
  store i32 %8152, ptr %8153, align 4, !tbaa !5
  %8154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8155 = load i32, ptr @test_count, align 4, !tbaa !5
  %8156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8157 = load i32, ptr %8156, align 4, !tbaa !5
  %8158 = call ptr @s2n_strerror(i32 noundef %8157, ptr noundef @.str.3)
  %8159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8160 = load i32, ptr %8159, align 4, !tbaa !5
  %8161 = call ptr @s2n_strerror_debug(i32 noundef %8160, ptr noundef @.str.3)
  %8162 = call ptr @__errno_location() #10
  %8163 = load i32, ptr %8162, align 4, !tbaa !5
  %8164 = call ptr @strerror(i32 noundef %8163) #9
  %8165 = call ptr @__errno_location() #10
  %8166 = load i32, ptr %8165, align 4, !tbaa !5
  %8167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8154, ptr noundef @.str.4, i32 noundef %8155, ptr noundef @.str.77, ptr noundef @.str.2, i32 noundef 300, ptr noundef %8158, ptr noundef %8161, ptr noundef %8164, i32 noundef %8166) #9
  br label %8168

8168:                                             ; preds = %8151, %8134
  call void @llvm.lifetime.end.p0(i64 4, ptr %177) #9
  br label %8169

8169:                                             ; preds = %8168
  br label %8170

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

8171:                                             ; No predecessors!
  br label %8172

8172:                                             ; preds = %8171
  br label %8173

8173:                                             ; preds = %8172, %8113
  br label %8174

8174:                                             ; preds = %8173
  br label %8175

8175:                                             ; preds = %8174
  call void @llvm.lifetime.start.p0(i64 8, ptr %178) #9
  %8176 = call ptr @s2n_config_new()
  store ptr %8176, ptr %178, align 8, !tbaa !9
  br label %8177

8177:                                             ; preds = %8175
  %8178 = load i32, ptr @test_count, align 4, !tbaa !5
  %8179 = add nsw i32 %8178, 1
  store i32 %8179, ptr @test_count, align 4, !tbaa !5
  %8180 = load ptr, ptr %178, align 8, !tbaa !9
  %8181 = icmp eq ptr %8180, null
  br i1 %8181, label %8182, label %8235

8182:                                             ; preds = %8177
  br label %8183

8183:                                             ; preds = %8182
  br label %8184

8184:                                             ; preds = %8183
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #9
  %8185 = call ptr @__errno_location() #10
  %8186 = load i32, ptr %8185, align 4, !tbaa !5
  store i32 %8186, ptr %179, align 4, !tbaa !5
  %8187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8188 = call i32 @s2n_print_stacktrace(ptr noundef %8187)
  %8189 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8190 = trunc i8 %8189 to i1
  br i1 %8190, label %8191, label %8213

8191:                                             ; preds = %8184
  %8192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8193 = call i32 @fileno(ptr noundef %8192) #9
  %8194 = call i32 @isatty(i32 noundef %8193) #9
  %8195 = icmp ne i32 %8194, 0
  br i1 %8195, label %8196, label %8213

8196:                                             ; preds = %8191
  %8197 = load i32, ptr %179, align 4, !tbaa !5
  %8198 = call ptr @__errno_location() #10
  store i32 %8197, ptr %8198, align 4, !tbaa !5
  %8199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8200 = load i32, ptr @test_count, align 4, !tbaa !5
  %8201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8202 = load i32, ptr %8201, align 4, !tbaa !5
  %8203 = call ptr @s2n_strerror(i32 noundef %8202, ptr noundef @.str.3)
  %8204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8205 = load i32, ptr %8204, align 4, !tbaa !5
  %8206 = call ptr @s2n_strerror_debug(i32 noundef %8205, ptr noundef @.str.3)
  %8207 = call ptr @__errno_location() #10
  %8208 = load i32, ptr %8207, align 4, !tbaa !5
  %8209 = call ptr @strerror(i32 noundef %8208) #9
  %8210 = call ptr @__errno_location() #10
  %8211 = load i32, ptr %8210, align 4, !tbaa !5
  %8212 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8199, ptr noundef @.str, i32 noundef %8200, ptr noundef @.str.56, ptr noundef @.str.2, i32 noundef 303, ptr noundef %8203, ptr noundef %8206, ptr noundef %8209, i32 noundef %8211) #9
  br label %8230

8213:                                             ; preds = %8191, %8184
  %8214 = load i32, ptr %179, align 4, !tbaa !5
  %8215 = call ptr @__errno_location() #10
  store i32 %8214, ptr %8215, align 4, !tbaa !5
  %8216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8217 = load i32, ptr @test_count, align 4, !tbaa !5
  %8218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8219 = load i32, ptr %8218, align 4, !tbaa !5
  %8220 = call ptr @s2n_strerror(i32 noundef %8219, ptr noundef @.str.3)
  %8221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8222 = load i32, ptr %8221, align 4, !tbaa !5
  %8223 = call ptr @s2n_strerror_debug(i32 noundef %8222, ptr noundef @.str.3)
  %8224 = call ptr @__errno_location() #10
  %8225 = load i32, ptr %8224, align 4, !tbaa !5
  %8226 = call ptr @strerror(i32 noundef %8225) #9
  %8227 = call ptr @__errno_location() #10
  %8228 = load i32, ptr %8227, align 4, !tbaa !5
  %8229 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8216, ptr noundef @.str.4, i32 noundef %8217, ptr noundef @.str.56, ptr noundef @.str.2, i32 noundef 303, ptr noundef %8220, ptr noundef %8223, ptr noundef %8226, i32 noundef %8228) #9
  br label %8230

8230:                                             ; preds = %8213, %8196
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #9
  br label %8231

8231:                                             ; preds = %8230
  br label %8232

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

8233:                                             ; No predecessors!
  br label %8234

8234:                                             ; preds = %8233
  br label %8235

8235:                                             ; preds = %8234, %8177
  br label %8236

8236:                                             ; preds = %8235
  br label %8237

8237:                                             ; preds = %8236
  br label %8238

8238:                                             ; preds = %8237
  %8239 = load i32, ptr @test_count, align 4, !tbaa !5
  %8240 = add nsw i32 %8239, 1
  store i32 %8240, ptr @test_count, align 4, !tbaa !5
  %8241 = load ptr, ptr %178, align 8, !tbaa !9
  %8242 = load ptr, ptr %93, align 8, !tbaa !9
  %8243 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %8241, ptr noundef %8242)
  %8244 = icmp eq i32 %8243, -1
  br i1 %8244, label %8245, label %8298

8245:                                             ; preds = %8238
  br label %8246

8246:                                             ; preds = %8245
  br label %8247

8247:                                             ; preds = %8246
  call void @llvm.lifetime.start.p0(i64 4, ptr %180) #9
  %8248 = call ptr @__errno_location() #10
  %8249 = load i32, ptr %8248, align 4, !tbaa !5
  store i32 %8249, ptr %180, align 4, !tbaa !5
  %8250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8251 = call i32 @s2n_print_stacktrace(ptr noundef %8250)
  %8252 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8253 = trunc i8 %8252 to i1
  br i1 %8253, label %8254, label %8276

8254:                                             ; preds = %8247
  %8255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8256 = call i32 @fileno(ptr noundef %8255) #9
  %8257 = call i32 @isatty(i32 noundef %8256) #9
  %8258 = icmp ne i32 %8257, 0
  br i1 %8258, label %8259, label %8276

8259:                                             ; preds = %8254
  %8260 = load i32, ptr %180, align 4, !tbaa !5
  %8261 = call ptr @__errno_location() #10
  store i32 %8260, ptr %8261, align 4, !tbaa !5
  %8262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8263 = load i32, ptr @test_count, align 4, !tbaa !5
  %8264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8265 = load i32, ptr %8264, align 4, !tbaa !5
  %8266 = call ptr @s2n_strerror(i32 noundef %8265, ptr noundef @.str.3)
  %8267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8268 = load i32, ptr %8267, align 4, !tbaa !5
  %8269 = call ptr @s2n_strerror_debug(i32 noundef %8268, ptr noundef @.str.3)
  %8270 = call ptr @__errno_location() #10
  %8271 = load i32, ptr %8270, align 4, !tbaa !5
  %8272 = call ptr @strerror(i32 noundef %8271) #9
  %8273 = call ptr @__errno_location() #10
  %8274 = load i32, ptr %8273, align 4, !tbaa !5
  %8275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8262, ptr noundef @.str, i32 noundef %8263, ptr noundef @.str.57, ptr noundef @.str.2, i32 noundef 304, ptr noundef %8266, ptr noundef %8269, ptr noundef %8272, i32 noundef %8274) #9
  br label %8293

8276:                                             ; preds = %8254, %8247
  %8277 = load i32, ptr %180, align 4, !tbaa !5
  %8278 = call ptr @__errno_location() #10
  store i32 %8277, ptr %8278, align 4, !tbaa !5
  %8279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8280 = load i32, ptr @test_count, align 4, !tbaa !5
  %8281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8282 = load i32, ptr %8281, align 4, !tbaa !5
  %8283 = call ptr @s2n_strerror(i32 noundef %8282, ptr noundef @.str.3)
  %8284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8285 = load i32, ptr %8284, align 4, !tbaa !5
  %8286 = call ptr @s2n_strerror_debug(i32 noundef %8285, ptr noundef @.str.3)
  %8287 = call ptr @__errno_location() #10
  %8288 = load i32, ptr %8287, align 4, !tbaa !5
  %8289 = call ptr @strerror(i32 noundef %8288) #9
  %8290 = call ptr @__errno_location() #10
  %8291 = load i32, ptr %8290, align 4, !tbaa !5
  %8292 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8279, ptr noundef @.str.4, i32 noundef %8280, ptr noundef @.str.57, ptr noundef @.str.2, i32 noundef 304, ptr noundef %8283, ptr noundef %8286, ptr noundef %8289, i32 noundef %8291) #9
  br label %8293

8293:                                             ; preds = %8276, %8259
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #9
  br label %8294

8294:                                             ; preds = %8293
  br label %8295

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

8296:                                             ; No predecessors!
  br label %8297

8297:                                             ; preds = %8296
  br label %8298

8298:                                             ; preds = %8297, %8238
  br label %8299

8299:                                             ; preds = %8298
  br label %8300

8300:                                             ; preds = %8299
  br label %8301

8301:                                             ; preds = %8300
  %8302 = load i32, ptr @test_count, align 4, !tbaa !5
  %8303 = add nsw i32 %8302, 1
  store i32 %8303, ptr @test_count, align 4, !tbaa !5
  %8304 = load ptr, ptr %178, align 8, !tbaa !9
  %8305 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %8304, ptr noundef @.str.53)
  %8306 = icmp eq i32 %8305, -1
  br i1 %8306, label %8307, label %8360

8307:                                             ; preds = %8301
  br label %8308

8308:                                             ; preds = %8307
  br label %8309

8309:                                             ; preds = %8308
  call void @llvm.lifetime.start.p0(i64 4, ptr %181) #9
  %8310 = call ptr @__errno_location() #10
  %8311 = load i32, ptr %8310, align 4, !tbaa !5
  store i32 %8311, ptr %181, align 4, !tbaa !5
  %8312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8313 = call i32 @s2n_print_stacktrace(ptr noundef %8312)
  %8314 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8315 = trunc i8 %8314 to i1
  br i1 %8315, label %8316, label %8338

8316:                                             ; preds = %8309
  %8317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8318 = call i32 @fileno(ptr noundef %8317) #9
  %8319 = call i32 @isatty(i32 noundef %8318) #9
  %8320 = icmp ne i32 %8319, 0
  br i1 %8320, label %8321, label %8338

8321:                                             ; preds = %8316
  %8322 = load i32, ptr %181, align 4, !tbaa !5
  %8323 = call ptr @__errno_location() #10
  store i32 %8322, ptr %8323, align 4, !tbaa !5
  %8324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8325 = load i32, ptr @test_count, align 4, !tbaa !5
  %8326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8327 = load i32, ptr %8326, align 4, !tbaa !5
  %8328 = call ptr @s2n_strerror(i32 noundef %8327, ptr noundef @.str.3)
  %8329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8330 = load i32, ptr %8329, align 4, !tbaa !5
  %8331 = call ptr @s2n_strerror_debug(i32 noundef %8330, ptr noundef @.str.3)
  %8332 = call ptr @__errno_location() #10
  %8333 = load i32, ptr %8332, align 4, !tbaa !5
  %8334 = call ptr @strerror(i32 noundef %8333) #9
  %8335 = call ptr @__errno_location() #10
  %8336 = load i32, ptr %8335, align 4, !tbaa !5
  %8337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8324, ptr noundef @.str, i32 noundef %8325, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 305, ptr noundef %8328, ptr noundef %8331, ptr noundef %8334, i32 noundef %8336) #9
  br label %8355

8338:                                             ; preds = %8316, %8309
  %8339 = load i32, ptr %181, align 4, !tbaa !5
  %8340 = call ptr @__errno_location() #10
  store i32 %8339, ptr %8340, align 4, !tbaa !5
  %8341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8342 = load i32, ptr @test_count, align 4, !tbaa !5
  %8343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8344 = load i32, ptr %8343, align 4, !tbaa !5
  %8345 = call ptr @s2n_strerror(i32 noundef %8344, ptr noundef @.str.3)
  %8346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8347 = load i32, ptr %8346, align 4, !tbaa !5
  %8348 = call ptr @s2n_strerror_debug(i32 noundef %8347, ptr noundef @.str.3)
  %8349 = call ptr @__errno_location() #10
  %8350 = load i32, ptr %8349, align 4, !tbaa !5
  %8351 = call ptr @strerror(i32 noundef %8350) #9
  %8352 = call ptr @__errno_location() #10
  %8353 = load i32, ptr %8352, align 4, !tbaa !5
  %8354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8341, ptr noundef @.str.4, i32 noundef %8342, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 305, ptr noundef %8345, ptr noundef %8348, ptr noundef %8351, i32 noundef %8353) #9
  br label %8355

8355:                                             ; preds = %8338, %8321
  call void @llvm.lifetime.end.p0(i64 4, ptr %181) #9
  br label %8356

8356:                                             ; preds = %8355
  br label %8357

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

8358:                                             ; No predecessors!
  br label %8359

8359:                                             ; preds = %8358
  br label %8360

8360:                                             ; preds = %8359, %8301
  br label %8361

8361:                                             ; preds = %8360
  br label %8362

8362:                                             ; preds = %8361
  br label %8363

8363:                                             ; preds = %8362
  %8364 = load i32, ptr @test_count, align 4, !tbaa !5
  %8365 = add nsw i32 %8364, 1
  store i32 %8365, ptr @test_count, align 4, !tbaa !5
  %8366 = load ptr, ptr %178, align 8, !tbaa !9
  %8367 = call i32 @s2n_config_set_status_request_type(ptr noundef %8366, i32 noundef 1)
  %8368 = icmp eq i32 %8367, -1
  br i1 %8368, label %8369, label %8422

8369:                                             ; preds = %8363
  br label %8370

8370:                                             ; preds = %8369
  br label %8371

8371:                                             ; preds = %8370
  call void @llvm.lifetime.start.p0(i64 4, ptr %182) #9
  %8372 = call ptr @__errno_location() #10
  %8373 = load i32, ptr %8372, align 4, !tbaa !5
  store i32 %8373, ptr %182, align 4, !tbaa !5
  %8374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8375 = call i32 @s2n_print_stacktrace(ptr noundef %8374)
  %8376 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8377 = trunc i8 %8376 to i1
  br i1 %8377, label %8378, label %8400

8378:                                             ; preds = %8371
  %8379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8380 = call i32 @fileno(ptr noundef %8379) #9
  %8381 = call i32 @isatty(i32 noundef %8380) #9
  %8382 = icmp ne i32 %8381, 0
  br i1 %8382, label %8383, label %8400

8383:                                             ; preds = %8378
  %8384 = load i32, ptr %182, align 4, !tbaa !5
  %8385 = call ptr @__errno_location() #10
  store i32 %8384, ptr %8385, align 4, !tbaa !5
  %8386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8387 = load i32, ptr @test_count, align 4, !tbaa !5
  %8388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8389 = load i32, ptr %8388, align 4, !tbaa !5
  %8390 = call ptr @s2n_strerror(i32 noundef %8389, ptr noundef @.str.3)
  %8391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8392 = load i32, ptr %8391, align 4, !tbaa !5
  %8393 = call ptr @s2n_strerror_debug(i32 noundef %8392, ptr noundef @.str.3)
  %8394 = call ptr @__errno_location() #10
  %8395 = load i32, ptr %8394, align 4, !tbaa !5
  %8396 = call ptr @strerror(i32 noundef %8395) #9
  %8397 = call ptr @__errno_location() #10
  %8398 = load i32, ptr %8397, align 4, !tbaa !5
  %8399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8386, ptr noundef @.str, i32 noundef %8387, ptr noundef @.str.78, ptr noundef @.str.2, i32 noundef 306, ptr noundef %8390, ptr noundef %8393, ptr noundef %8396, i32 noundef %8398) #9
  br label %8417

8400:                                             ; preds = %8378, %8371
  %8401 = load i32, ptr %182, align 4, !tbaa !5
  %8402 = call ptr @__errno_location() #10
  store i32 %8401, ptr %8402, align 4, !tbaa !5
  %8403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8404 = load i32, ptr @test_count, align 4, !tbaa !5
  %8405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8406 = load i32, ptr %8405, align 4, !tbaa !5
  %8407 = call ptr @s2n_strerror(i32 noundef %8406, ptr noundef @.str.3)
  %8408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8409 = load i32, ptr %8408, align 4, !tbaa !5
  %8410 = call ptr @s2n_strerror_debug(i32 noundef %8409, ptr noundef @.str.3)
  %8411 = call ptr @__errno_location() #10
  %8412 = load i32, ptr %8411, align 4, !tbaa !5
  %8413 = call ptr @strerror(i32 noundef %8412) #9
  %8414 = call ptr @__errno_location() #10
  %8415 = load i32, ptr %8414, align 4, !tbaa !5
  %8416 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8403, ptr noundef @.str.4, i32 noundef %8404, ptr noundef @.str.78, ptr noundef @.str.2, i32 noundef 306, ptr noundef %8407, ptr noundef %8410, ptr noundef %8413, i32 noundef %8415) #9
  br label %8417

8417:                                             ; preds = %8400, %8383
  call void @llvm.lifetime.end.p0(i64 4, ptr %182) #9
  br label %8418

8418:                                             ; preds = %8417
  br label %8419

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

8420:                                             ; No predecessors!
  br label %8421

8421:                                             ; preds = %8420
  br label %8422

8422:                                             ; preds = %8421, %8363
  br label %8423

8423:                                             ; preds = %8422
  br label %8424

8424:                                             ; preds = %8423
  br label %8425

8425:                                             ; preds = %8424
  %8426 = load i32, ptr @test_count, align 4, !tbaa !5
  %8427 = add nsw i32 %8426, 1
  store i32 %8427, ptr @test_count, align 4, !tbaa !5
  %8428 = load ptr, ptr %178, align 8, !tbaa !9
  %8429 = call i32 @s2n_config_set_client_auth_type(ptr noundef %8428, i32 noundef 1)
  %8430 = icmp eq i32 %8429, -1
  br i1 %8430, label %8431, label %8484

8431:                                             ; preds = %8425
  br label %8432

8432:                                             ; preds = %8431
  br label %8433

8433:                                             ; preds = %8432
  call void @llvm.lifetime.start.p0(i64 4, ptr %183) #9
  %8434 = call ptr @__errno_location() #10
  %8435 = load i32, ptr %8434, align 4, !tbaa !5
  store i32 %8435, ptr %183, align 4, !tbaa !5
  %8436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8437 = call i32 @s2n_print_stacktrace(ptr noundef %8436)
  %8438 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8439 = trunc i8 %8438 to i1
  br i1 %8439, label %8440, label %8462

8440:                                             ; preds = %8433
  %8441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8442 = call i32 @fileno(ptr noundef %8441) #9
  %8443 = call i32 @isatty(i32 noundef %8442) #9
  %8444 = icmp ne i32 %8443, 0
  br i1 %8444, label %8445, label %8462

8445:                                             ; preds = %8440
  %8446 = load i32, ptr %183, align 4, !tbaa !5
  %8447 = call ptr @__errno_location() #10
  store i32 %8446, ptr %8447, align 4, !tbaa !5
  %8448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8449 = load i32, ptr @test_count, align 4, !tbaa !5
  %8450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8451 = load i32, ptr %8450, align 4, !tbaa !5
  %8452 = call ptr @s2n_strerror(i32 noundef %8451, ptr noundef @.str.3)
  %8453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8454 = load i32, ptr %8453, align 4, !tbaa !5
  %8455 = call ptr @s2n_strerror_debug(i32 noundef %8454, ptr noundef @.str.3)
  %8456 = call ptr @__errno_location() #10
  %8457 = load i32, ptr %8456, align 4, !tbaa !5
  %8458 = call ptr @strerror(i32 noundef %8457) #9
  %8459 = call ptr @__errno_location() #10
  %8460 = load i32, ptr %8459, align 4, !tbaa !5
  %8461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8448, ptr noundef @.str, i32 noundef %8449, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 308, ptr noundef %8452, ptr noundef %8455, ptr noundef %8458, i32 noundef %8460) #9
  br label %8479

8462:                                             ; preds = %8440, %8433
  %8463 = load i32, ptr %183, align 4, !tbaa !5
  %8464 = call ptr @__errno_location() #10
  store i32 %8463, ptr %8464, align 4, !tbaa !5
  %8465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8466 = load i32, ptr @test_count, align 4, !tbaa !5
  %8467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8468 = load i32, ptr %8467, align 4, !tbaa !5
  %8469 = call ptr @s2n_strerror(i32 noundef %8468, ptr noundef @.str.3)
  %8470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8471 = load i32, ptr %8470, align 4, !tbaa !5
  %8472 = call ptr @s2n_strerror_debug(i32 noundef %8471, ptr noundef @.str.3)
  %8473 = call ptr @__errno_location() #10
  %8474 = load i32, ptr %8473, align 4, !tbaa !5
  %8475 = call ptr @strerror(i32 noundef %8474) #9
  %8476 = call ptr @__errno_location() #10
  %8477 = load i32, ptr %8476, align 4, !tbaa !5
  %8478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8465, ptr noundef @.str.4, i32 noundef %8466, ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 308, ptr noundef %8469, ptr noundef %8472, ptr noundef %8475, i32 noundef %8477) #9
  br label %8479

8479:                                             ; preds = %8462, %8445
  call void @llvm.lifetime.end.p0(i64 4, ptr %183) #9
  br label %8480

8480:                                             ; preds = %8479
  br label %8481

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

8482:                                             ; No predecessors!
  br label %8483

8483:                                             ; preds = %8482
  br label %8484

8484:                                             ; preds = %8483, %8425
  br label %8485

8485:                                             ; preds = %8484
  br label %8486

8486:                                             ; preds = %8485
  br label %8487

8487:                                             ; preds = %8486
  %8488 = load i32, ptr @test_count, align 4, !tbaa !5
  %8489 = add nsw i32 %8488, 1
  store i32 %8489, ptr @test_count, align 4, !tbaa !5
  %8490 = load ptr, ptr %178, align 8, !tbaa !9
  %8491 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %8490, ptr noundef @.str.51, ptr noundef null)
  %8492 = icmp eq i32 %8491, -1
  br i1 %8492, label %8493, label %8546

8493:                                             ; preds = %8487
  br label %8494

8494:                                             ; preds = %8493
  br label %8495

8495:                                             ; preds = %8494
  call void @llvm.lifetime.start.p0(i64 4, ptr %184) #9
  %8496 = call ptr @__errno_location() #10
  %8497 = load i32, ptr %8496, align 4, !tbaa !5
  store i32 %8497, ptr %184, align 4, !tbaa !5
  %8498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8499 = call i32 @s2n_print_stacktrace(ptr noundef %8498)
  %8500 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8501 = trunc i8 %8500 to i1
  br i1 %8501, label %8502, label %8524

8502:                                             ; preds = %8495
  %8503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8504 = call i32 @fileno(ptr noundef %8503) #9
  %8505 = call i32 @isatty(i32 noundef %8504) #9
  %8506 = icmp ne i32 %8505, 0
  br i1 %8506, label %8507, label %8524

8507:                                             ; preds = %8502
  %8508 = load i32, ptr %184, align 4, !tbaa !5
  %8509 = call ptr @__errno_location() #10
  store i32 %8508, ptr %8509, align 4, !tbaa !5
  %8510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8511 = load i32, ptr @test_count, align 4, !tbaa !5
  %8512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8513 = load i32, ptr %8512, align 4, !tbaa !5
  %8514 = call ptr @s2n_strerror(i32 noundef %8513, ptr noundef @.str.3)
  %8515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8516 = load i32, ptr %8515, align 4, !tbaa !5
  %8517 = call ptr @s2n_strerror_debug(i32 noundef %8516, ptr noundef @.str.3)
  %8518 = call ptr @__errno_location() #10
  %8519 = load i32, ptr %8518, align 4, !tbaa !5
  %8520 = call ptr @strerror(i32 noundef %8519) #9
  %8521 = call ptr @__errno_location() #10
  %8522 = load i32, ptr %8521, align 4, !tbaa !5
  %8523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8510, ptr noundef @.str, i32 noundef %8511, ptr noundef @.str.80, ptr noundef @.str.2, i32 noundef 309, ptr noundef %8514, ptr noundef %8517, ptr noundef %8520, i32 noundef %8522) #9
  br label %8541

8524:                                             ; preds = %8502, %8495
  %8525 = load i32, ptr %184, align 4, !tbaa !5
  %8526 = call ptr @__errno_location() #10
  store i32 %8525, ptr %8526, align 4, !tbaa !5
  %8527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8528 = load i32, ptr @test_count, align 4, !tbaa !5
  %8529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8530 = load i32, ptr %8529, align 4, !tbaa !5
  %8531 = call ptr @s2n_strerror(i32 noundef %8530, ptr noundef @.str.3)
  %8532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8533 = load i32, ptr %8532, align 4, !tbaa !5
  %8534 = call ptr @s2n_strerror_debug(i32 noundef %8533, ptr noundef @.str.3)
  %8535 = call ptr @__errno_location() #10
  %8536 = load i32, ptr %8535, align 4, !tbaa !5
  %8537 = call ptr @strerror(i32 noundef %8536) #9
  %8538 = call ptr @__errno_location() #10
  %8539 = load i32, ptr %8538, align 4, !tbaa !5
  %8540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8527, ptr noundef @.str.4, i32 noundef %8528, ptr noundef @.str.80, ptr noundef @.str.2, i32 noundef 309, ptr noundef %8531, ptr noundef %8534, ptr noundef %8537, i32 noundef %8539) #9
  br label %8541

8541:                                             ; preds = %8524, %8507
  call void @llvm.lifetime.end.p0(i64 4, ptr %184) #9
  br label %8542

8542:                                             ; preds = %8541
  br label %8543

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

8544:                                             ; No predecessors!
  br label %8545

8545:                                             ; preds = %8544
  br label %8546

8546:                                             ; preds = %8545, %8487
  br label %8547

8547:                                             ; preds = %8546
  br label %8548

8548:                                             ; preds = %8547
  call void @llvm.lifetime.start.p0(i64 8, ptr %185) #9
  %8549 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %8549, ptr %185, align 8, !tbaa !9
  br label %8550

8550:                                             ; preds = %8548
  %8551 = load i32, ptr @test_count, align 4, !tbaa !5
  %8552 = add nsw i32 %8551, 1
  store i32 %8552, ptr @test_count, align 4, !tbaa !5
  %8553 = load ptr, ptr %185, align 8, !tbaa !9
  %8554 = icmp eq ptr %8553, null
  br i1 %8554, label %8555, label %8608

8555:                                             ; preds = %8550
  br label %8556

8556:                                             ; preds = %8555
  br label %8557

8557:                                             ; preds = %8556
  call void @llvm.lifetime.start.p0(i64 4, ptr %186) #9
  %8558 = call ptr @__errno_location() #10
  %8559 = load i32, ptr %8558, align 4, !tbaa !5
  store i32 %8559, ptr %186, align 4, !tbaa !5
  %8560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8561 = call i32 @s2n_print_stacktrace(ptr noundef %8560)
  %8562 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8563 = trunc i8 %8562 to i1
  br i1 %8563, label %8564, label %8586

8564:                                             ; preds = %8557
  %8565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8566 = call i32 @fileno(ptr noundef %8565) #9
  %8567 = call i32 @isatty(i32 noundef %8566) #9
  %8568 = icmp ne i32 %8567, 0
  br i1 %8568, label %8569, label %8586

8569:                                             ; preds = %8564
  %8570 = load i32, ptr %186, align 4, !tbaa !5
  %8571 = call ptr @__errno_location() #10
  store i32 %8570, ptr %8571, align 4, !tbaa !5
  %8572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8573 = load i32, ptr @test_count, align 4, !tbaa !5
  %8574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8575 = load i32, ptr %8574, align 4, !tbaa !5
  %8576 = call ptr @s2n_strerror(i32 noundef %8575, ptr noundef @.str.3)
  %8577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8578 = load i32, ptr %8577, align 4, !tbaa !5
  %8579 = call ptr @s2n_strerror_debug(i32 noundef %8578, ptr noundef @.str.3)
  %8580 = call ptr @__errno_location() #10
  %8581 = load i32, ptr %8580, align 4, !tbaa !5
  %8582 = call ptr @strerror(i32 noundef %8581) #9
  %8583 = call ptr @__errno_location() #10
  %8584 = load i32, ptr %8583, align 4, !tbaa !5
  %8585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8572, ptr noundef @.str, i32 noundef %8573, ptr noundef @.str.59, ptr noundef @.str.2, i32 noundef 312, ptr noundef %8576, ptr noundef %8579, ptr noundef %8582, i32 noundef %8584) #9
  br label %8603

8586:                                             ; preds = %8564, %8557
  %8587 = load i32, ptr %186, align 4, !tbaa !5
  %8588 = call ptr @__errno_location() #10
  store i32 %8587, ptr %8588, align 4, !tbaa !5
  %8589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8590 = load i32, ptr @test_count, align 4, !tbaa !5
  %8591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8592 = load i32, ptr %8591, align 4, !tbaa !5
  %8593 = call ptr @s2n_strerror(i32 noundef %8592, ptr noundef @.str.3)
  %8594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8595 = load i32, ptr %8594, align 4, !tbaa !5
  %8596 = call ptr @s2n_strerror_debug(i32 noundef %8595, ptr noundef @.str.3)
  %8597 = call ptr @__errno_location() #10
  %8598 = load i32, ptr %8597, align 4, !tbaa !5
  %8599 = call ptr @strerror(i32 noundef %8598) #9
  %8600 = call ptr @__errno_location() #10
  %8601 = load i32, ptr %8600, align 4, !tbaa !5
  %8602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8589, ptr noundef @.str.4, i32 noundef %8590, ptr noundef @.str.59, ptr noundef @.str.2, i32 noundef 312, ptr noundef %8593, ptr noundef %8596, ptr noundef %8599, i32 noundef %8601) #9
  br label %8603

8603:                                             ; preds = %8586, %8569
  call void @llvm.lifetime.end.p0(i64 4, ptr %186) #9
  br label %8604

8604:                                             ; preds = %8603
  br label %8605

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

8606:                                             ; No predecessors!
  br label %8607

8607:                                             ; preds = %8606
  br label %8608

8608:                                             ; preds = %8607, %8550
  br label %8609

8609:                                             ; preds = %8608
  br label %8610

8610:                                             ; preds = %8609
  br label %8611

8611:                                             ; preds = %8610
  %8612 = load i32, ptr @test_count, align 4, !tbaa !5
  %8613 = add nsw i32 %8612, 1
  store i32 %8613, ptr @test_count, align 4, !tbaa !5
  %8614 = load ptr, ptr %185, align 8, !tbaa !9
  %8615 = load ptr, ptr %178, align 8, !tbaa !9
  %8616 = call i32 @s2n_connection_set_config(ptr noundef %8614, ptr noundef %8615)
  %8617 = icmp eq i32 %8616, -1
  br i1 %8617, label %8618, label %8671

8618:                                             ; preds = %8611
  br label %8619

8619:                                             ; preds = %8618
  br label %8620

8620:                                             ; preds = %8619
  call void @llvm.lifetime.start.p0(i64 4, ptr %187) #9
  %8621 = call ptr @__errno_location() #10
  %8622 = load i32, ptr %8621, align 4, !tbaa !5
  store i32 %8622, ptr %187, align 4, !tbaa !5
  %8623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8624 = call i32 @s2n_print_stacktrace(ptr noundef %8623)
  %8625 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8626 = trunc i8 %8625 to i1
  br i1 %8626, label %8627, label %8649

8627:                                             ; preds = %8620
  %8628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8629 = call i32 @fileno(ptr noundef %8628) #9
  %8630 = call i32 @isatty(i32 noundef %8629) #9
  %8631 = icmp ne i32 %8630, 0
  br i1 %8631, label %8632, label %8649

8632:                                             ; preds = %8627
  %8633 = load i32, ptr %187, align 4, !tbaa !5
  %8634 = call ptr @__errno_location() #10
  store i32 %8633, ptr %8634, align 4, !tbaa !5
  %8635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8636 = load i32, ptr @test_count, align 4, !tbaa !5
  %8637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8638 = load i32, ptr %8637, align 4, !tbaa !5
  %8639 = call ptr @s2n_strerror(i32 noundef %8638, ptr noundef @.str.3)
  %8640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8641 = load i32, ptr %8640, align 4, !tbaa !5
  %8642 = call ptr @s2n_strerror_debug(i32 noundef %8641, ptr noundef @.str.3)
  %8643 = call ptr @__errno_location() #10
  %8644 = load i32, ptr %8643, align 4, !tbaa !5
  %8645 = call ptr @strerror(i32 noundef %8644) #9
  %8646 = call ptr @__errno_location() #10
  %8647 = load i32, ptr %8646, align 4, !tbaa !5
  %8648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8635, ptr noundef @.str, i32 noundef %8636, ptr noundef @.str.60, ptr noundef @.str.2, i32 noundef 313, ptr noundef %8639, ptr noundef %8642, ptr noundef %8645, i32 noundef %8647) #9
  br label %8666

8649:                                             ; preds = %8627, %8620
  %8650 = load i32, ptr %187, align 4, !tbaa !5
  %8651 = call ptr @__errno_location() #10
  store i32 %8650, ptr %8651, align 4, !tbaa !5
  %8652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8653 = load i32, ptr @test_count, align 4, !tbaa !5
  %8654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8655 = load i32, ptr %8654, align 4, !tbaa !5
  %8656 = call ptr @s2n_strerror(i32 noundef %8655, ptr noundef @.str.3)
  %8657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8658 = load i32, ptr %8657, align 4, !tbaa !5
  %8659 = call ptr @s2n_strerror_debug(i32 noundef %8658, ptr noundef @.str.3)
  %8660 = call ptr @__errno_location() #10
  %8661 = load i32, ptr %8660, align 4, !tbaa !5
  %8662 = call ptr @strerror(i32 noundef %8661) #9
  %8663 = call ptr @__errno_location() #10
  %8664 = load i32, ptr %8663, align 4, !tbaa !5
  %8665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8652, ptr noundef @.str.4, i32 noundef %8653, ptr noundef @.str.60, ptr noundef @.str.2, i32 noundef 313, ptr noundef %8656, ptr noundef %8659, ptr noundef %8662, i32 noundef %8664) #9
  br label %8666

8666:                                             ; preds = %8649, %8632
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #9
  br label %8667

8667:                                             ; preds = %8666
  br label %8668

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

8669:                                             ; No predecessors!
  br label %8670

8670:                                             ; preds = %8669
  br label %8671

8671:                                             ; preds = %8670, %8611
  br label %8672

8672:                                             ; preds = %8671
  br label %8673

8673:                                             ; preds = %8672
  call void @llvm.lifetime.start.p0(i64 8, ptr %188) #9
  %8674 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %8674, ptr %188, align 8, !tbaa !9
  br label %8675

8675:                                             ; preds = %8673
  %8676 = load i32, ptr @test_count, align 4, !tbaa !5
  %8677 = add nsw i32 %8676, 1
  store i32 %8677, ptr @test_count, align 4, !tbaa !5
  %8678 = load ptr, ptr %188, align 8, !tbaa !9
  %8679 = icmp eq ptr %8678, null
  br i1 %8679, label %8680, label %8733

8680:                                             ; preds = %8675
  br label %8681

8681:                                             ; preds = %8680
  br label %8682

8682:                                             ; preds = %8681
  call void @llvm.lifetime.start.p0(i64 4, ptr %189) #9
  %8683 = call ptr @__errno_location() #10
  %8684 = load i32, ptr %8683, align 4, !tbaa !5
  store i32 %8684, ptr %189, align 4, !tbaa !5
  %8685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8686 = call i32 @s2n_print_stacktrace(ptr noundef %8685)
  %8687 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8688 = trunc i8 %8687 to i1
  br i1 %8688, label %8689, label %8711

8689:                                             ; preds = %8682
  %8690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8691 = call i32 @fileno(ptr noundef %8690) #9
  %8692 = call i32 @isatty(i32 noundef %8691) #9
  %8693 = icmp ne i32 %8692, 0
  br i1 %8693, label %8694, label %8711

8694:                                             ; preds = %8689
  %8695 = load i32, ptr %189, align 4, !tbaa !5
  %8696 = call ptr @__errno_location() #10
  store i32 %8695, ptr %8696, align 4, !tbaa !5
  %8697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8698 = load i32, ptr @test_count, align 4, !tbaa !5
  %8699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8700 = load i32, ptr %8699, align 4, !tbaa !5
  %8701 = call ptr @s2n_strerror(i32 noundef %8700, ptr noundef @.str.3)
  %8702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8703 = load i32, ptr %8702, align 4, !tbaa !5
  %8704 = call ptr @s2n_strerror_debug(i32 noundef %8703, ptr noundef @.str.3)
  %8705 = call ptr @__errno_location() #10
  %8706 = load i32, ptr %8705, align 4, !tbaa !5
  %8707 = call ptr @strerror(i32 noundef %8706) #9
  %8708 = call ptr @__errno_location() #10
  %8709 = load i32, ptr %8708, align 4, !tbaa !5
  %8710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8697, ptr noundef @.str, i32 noundef %8698, ptr noundef @.str.61, ptr noundef @.str.2, i32 noundef 316, ptr noundef %8701, ptr noundef %8704, ptr noundef %8707, i32 noundef %8709) #9
  br label %8728

8711:                                             ; preds = %8689, %8682
  %8712 = load i32, ptr %189, align 4, !tbaa !5
  %8713 = call ptr @__errno_location() #10
  store i32 %8712, ptr %8713, align 4, !tbaa !5
  %8714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8715 = load i32, ptr @test_count, align 4, !tbaa !5
  %8716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8717 = load i32, ptr %8716, align 4, !tbaa !5
  %8718 = call ptr @s2n_strerror(i32 noundef %8717, ptr noundef @.str.3)
  %8719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8720 = load i32, ptr %8719, align 4, !tbaa !5
  %8721 = call ptr @s2n_strerror_debug(i32 noundef %8720, ptr noundef @.str.3)
  %8722 = call ptr @__errno_location() #10
  %8723 = load i32, ptr %8722, align 4, !tbaa !5
  %8724 = call ptr @strerror(i32 noundef %8723) #9
  %8725 = call ptr @__errno_location() #10
  %8726 = load i32, ptr %8725, align 4, !tbaa !5
  %8727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8714, ptr noundef @.str.4, i32 noundef %8715, ptr noundef @.str.61, ptr noundef @.str.2, i32 noundef 316, ptr noundef %8718, ptr noundef %8721, ptr noundef %8724, i32 noundef %8726) #9
  br label %8728

8728:                                             ; preds = %8711, %8694
  call void @llvm.lifetime.end.p0(i64 4, ptr %189) #9
  br label %8729

8729:                                             ; preds = %8728
  br label %8730

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

8731:                                             ; No predecessors!
  br label %8732

8732:                                             ; preds = %8731
  br label %8733

8733:                                             ; preds = %8732, %8675
  br label %8734

8734:                                             ; preds = %8733
  br label %8735

8735:                                             ; preds = %8734
  br label %8736

8736:                                             ; preds = %8735
  %8737 = load i32, ptr @test_count, align 4, !tbaa !5
  %8738 = add nsw i32 %8737, 1
  store i32 %8738, ptr @test_count, align 4, !tbaa !5
  %8739 = load ptr, ptr %188, align 8, !tbaa !9
  %8740 = load ptr, ptr %171, align 8, !tbaa !9
  %8741 = call i32 @s2n_connection_set_config(ptr noundef %8739, ptr noundef %8740)
  %8742 = icmp eq i32 %8741, -1
  br i1 %8742, label %8743, label %8796

8743:                                             ; preds = %8736
  br label %8744

8744:                                             ; preds = %8743
  br label %8745

8745:                                             ; preds = %8744
  call void @llvm.lifetime.start.p0(i64 4, ptr %190) #9
  %8746 = call ptr @__errno_location() #10
  %8747 = load i32, ptr %8746, align 4, !tbaa !5
  store i32 %8747, ptr %190, align 4, !tbaa !5
  %8748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8749 = call i32 @s2n_print_stacktrace(ptr noundef %8748)
  %8750 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8751 = trunc i8 %8750 to i1
  br i1 %8751, label %8752, label %8774

8752:                                             ; preds = %8745
  %8753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8754 = call i32 @fileno(ptr noundef %8753) #9
  %8755 = call i32 @isatty(i32 noundef %8754) #9
  %8756 = icmp ne i32 %8755, 0
  br i1 %8756, label %8757, label %8774

8757:                                             ; preds = %8752
  %8758 = load i32, ptr %190, align 4, !tbaa !5
  %8759 = call ptr @__errno_location() #10
  store i32 %8758, ptr %8759, align 4, !tbaa !5
  %8760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8761 = load i32, ptr @test_count, align 4, !tbaa !5
  %8762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8763 = load i32, ptr %8762, align 4, !tbaa !5
  %8764 = call ptr @s2n_strerror(i32 noundef %8763, ptr noundef @.str.3)
  %8765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8766 = load i32, ptr %8765, align 4, !tbaa !5
  %8767 = call ptr @s2n_strerror_debug(i32 noundef %8766, ptr noundef @.str.3)
  %8768 = call ptr @__errno_location() #10
  %8769 = load i32, ptr %8768, align 4, !tbaa !5
  %8770 = call ptr @strerror(i32 noundef %8769) #9
  %8771 = call ptr @__errno_location() #10
  %8772 = load i32, ptr %8771, align 4, !tbaa !5
  %8773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8760, ptr noundef @.str, i32 noundef %8761, ptr noundef @.str.62, ptr noundef @.str.2, i32 noundef 317, ptr noundef %8764, ptr noundef %8767, ptr noundef %8770, i32 noundef %8772) #9
  br label %8791

8774:                                             ; preds = %8752, %8745
  %8775 = load i32, ptr %190, align 4, !tbaa !5
  %8776 = call ptr @__errno_location() #10
  store i32 %8775, ptr %8776, align 4, !tbaa !5
  %8777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8778 = load i32, ptr @test_count, align 4, !tbaa !5
  %8779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8780 = load i32, ptr %8779, align 4, !tbaa !5
  %8781 = call ptr @s2n_strerror(i32 noundef %8780, ptr noundef @.str.3)
  %8782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8783 = load i32, ptr %8782, align 4, !tbaa !5
  %8784 = call ptr @s2n_strerror_debug(i32 noundef %8783, ptr noundef @.str.3)
  %8785 = call ptr @__errno_location() #10
  %8786 = load i32, ptr %8785, align 4, !tbaa !5
  %8787 = call ptr @strerror(i32 noundef %8786) #9
  %8788 = call ptr @__errno_location() #10
  %8789 = load i32, ptr %8788, align 4, !tbaa !5
  %8790 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8777, ptr noundef @.str.4, i32 noundef %8778, ptr noundef @.str.62, ptr noundef @.str.2, i32 noundef 317, ptr noundef %8781, ptr noundef %8784, ptr noundef %8787, i32 noundef %8789) #9
  br label %8791

8791:                                             ; preds = %8774, %8757
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #9
  br label %8792

8792:                                             ; preds = %8791
  br label %8793

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

8794:                                             ; No predecessors!
  br label %8795

8795:                                             ; preds = %8794
  br label %8796

8796:                                             ; preds = %8795, %8736
  br label %8797

8797:                                             ; preds = %8796
  br label %8798

8798:                                             ; preds = %8797
  br label %8799

8799:                                             ; preds = %8798
  %8800 = load i32, ptr @test_count, align 4, !tbaa !5
  %8801 = add nsw i32 %8800, 1
  store i32 %8801, ptr @test_count, align 4, !tbaa !5
  %8802 = load ptr, ptr %188, align 8, !tbaa !9
  %8803 = call i32 @s2n_set_server_name(ptr noundef %8802, ptr noundef @.str.63)
  %8804 = icmp eq i32 %8803, -1
  br i1 %8804, label %8805, label %8858

8805:                                             ; preds = %8799
  br label %8806

8806:                                             ; preds = %8805
  br label %8807

8807:                                             ; preds = %8806
  call void @llvm.lifetime.start.p0(i64 4, ptr %191) #9
  %8808 = call ptr @__errno_location() #10
  %8809 = load i32, ptr %8808, align 4, !tbaa !5
  store i32 %8809, ptr %191, align 4, !tbaa !5
  %8810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8811 = call i32 @s2n_print_stacktrace(ptr noundef %8810)
  %8812 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8813 = trunc i8 %8812 to i1
  br i1 %8813, label %8814, label %8836

8814:                                             ; preds = %8807
  %8815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8816 = call i32 @fileno(ptr noundef %8815) #9
  %8817 = call i32 @isatty(i32 noundef %8816) #9
  %8818 = icmp ne i32 %8817, 0
  br i1 %8818, label %8819, label %8836

8819:                                             ; preds = %8814
  %8820 = load i32, ptr %191, align 4, !tbaa !5
  %8821 = call ptr @__errno_location() #10
  store i32 %8820, ptr %8821, align 4, !tbaa !5
  %8822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8823 = load i32, ptr @test_count, align 4, !tbaa !5
  %8824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8825 = load i32, ptr %8824, align 4, !tbaa !5
  %8826 = call ptr @s2n_strerror(i32 noundef %8825, ptr noundef @.str.3)
  %8827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8828 = load i32, ptr %8827, align 4, !tbaa !5
  %8829 = call ptr @s2n_strerror_debug(i32 noundef %8828, ptr noundef @.str.3)
  %8830 = call ptr @__errno_location() #10
  %8831 = load i32, ptr %8830, align 4, !tbaa !5
  %8832 = call ptr @strerror(i32 noundef %8831) #9
  %8833 = call ptr @__errno_location() #10
  %8834 = load i32, ptr %8833, align 4, !tbaa !5
  %8835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8822, ptr noundef @.str, i32 noundef %8823, ptr noundef @.str.64, ptr noundef @.str.2, i32 noundef 318, ptr noundef %8826, ptr noundef %8829, ptr noundef %8832, i32 noundef %8834) #9
  br label %8853

8836:                                             ; preds = %8814, %8807
  %8837 = load i32, ptr %191, align 4, !tbaa !5
  %8838 = call ptr @__errno_location() #10
  store i32 %8837, ptr %8838, align 4, !tbaa !5
  %8839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8840 = load i32, ptr @test_count, align 4, !tbaa !5
  %8841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8842 = load i32, ptr %8841, align 4, !tbaa !5
  %8843 = call ptr @s2n_strerror(i32 noundef %8842, ptr noundef @.str.3)
  %8844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8845 = load i32, ptr %8844, align 4, !tbaa !5
  %8846 = call ptr @s2n_strerror_debug(i32 noundef %8845, ptr noundef @.str.3)
  %8847 = call ptr @__errno_location() #10
  %8848 = load i32, ptr %8847, align 4, !tbaa !5
  %8849 = call ptr @strerror(i32 noundef %8848) #9
  %8850 = call ptr @__errno_location() #10
  %8851 = load i32, ptr %8850, align 4, !tbaa !5
  %8852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8839, ptr noundef @.str.4, i32 noundef %8840, ptr noundef @.str.64, ptr noundef @.str.2, i32 noundef 318, ptr noundef %8843, ptr noundef %8846, ptr noundef %8849, i32 noundef %8851) #9
  br label %8853

8853:                                             ; preds = %8836, %8819
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #9
  br label %8854

8854:                                             ; preds = %8853
  br label %8855

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

8856:                                             ; No predecessors!
  br label %8857

8857:                                             ; preds = %8856
  br label %8858

8858:                                             ; preds = %8857, %8799
  br label %8859

8859:                                             ; preds = %8858
  br label %8860

8860:                                             ; preds = %8859
  call void @llvm.lifetime.start.p0(i64 8, ptr %192) #9
  call void @llvm.memset.p0.i64(ptr align 4 %192, i8 0, i64 8, i1 false)
  br label %8861

8861:                                             ; preds = %8860
  %8862 = load i32, ptr @test_count, align 4, !tbaa !5
  %8863 = add nsw i32 %8862, 1
  store i32 %8863, ptr @test_count, align 4, !tbaa !5
  %8864 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %192)
  %8865 = icmp eq i32 %8864, -1
  br i1 %8865, label %8866, label %8919

8866:                                             ; preds = %8861
  br label %8867

8867:                                             ; preds = %8866
  br label %8868

8868:                                             ; preds = %8867
  call void @llvm.lifetime.start.p0(i64 4, ptr %193) #9
  %8869 = call ptr @__errno_location() #10
  %8870 = load i32, ptr %8869, align 4, !tbaa !5
  store i32 %8870, ptr %193, align 4, !tbaa !5
  %8871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8872 = call i32 @s2n_print_stacktrace(ptr noundef %8871)
  %8873 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8874 = trunc i8 %8873 to i1
  br i1 %8874, label %8875, label %8897

8875:                                             ; preds = %8868
  %8876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8877 = call i32 @fileno(ptr noundef %8876) #9
  %8878 = call i32 @isatty(i32 noundef %8877) #9
  %8879 = icmp ne i32 %8878, 0
  br i1 %8879, label %8880, label %8897

8880:                                             ; preds = %8875
  %8881 = load i32, ptr %193, align 4, !tbaa !5
  %8882 = call ptr @__errno_location() #10
  store i32 %8881, ptr %8882, align 4, !tbaa !5
  %8883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8884 = load i32, ptr @test_count, align 4, !tbaa !5
  %8885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8886 = load i32, ptr %8885, align 4, !tbaa !5
  %8887 = call ptr @s2n_strerror(i32 noundef %8886, ptr noundef @.str.3)
  %8888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8889 = load i32, ptr %8888, align 4, !tbaa !5
  %8890 = call ptr @s2n_strerror_debug(i32 noundef %8889, ptr noundef @.str.3)
  %8891 = call ptr @__errno_location() #10
  %8892 = load i32, ptr %8891, align 4, !tbaa !5
  %8893 = call ptr @strerror(i32 noundef %8892) #9
  %8894 = call ptr @__errno_location() #10
  %8895 = load i32, ptr %8894, align 4, !tbaa !5
  %8896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8883, ptr noundef @.str, i32 noundef %8884, ptr noundef @.str.65, ptr noundef @.str.2, i32 noundef 321, ptr noundef %8887, ptr noundef %8890, ptr noundef %8893, i32 noundef %8895) #9
  br label %8914

8897:                                             ; preds = %8875, %8868
  %8898 = load i32, ptr %193, align 4, !tbaa !5
  %8899 = call ptr @__errno_location() #10
  store i32 %8898, ptr %8899, align 4, !tbaa !5
  %8900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8901 = load i32, ptr @test_count, align 4, !tbaa !5
  %8902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8903 = load i32, ptr %8902, align 4, !tbaa !5
  %8904 = call ptr @s2n_strerror(i32 noundef %8903, ptr noundef @.str.3)
  %8905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8906 = load i32, ptr %8905, align 4, !tbaa !5
  %8907 = call ptr @s2n_strerror_debug(i32 noundef %8906, ptr noundef @.str.3)
  %8908 = call ptr @__errno_location() #10
  %8909 = load i32, ptr %8908, align 4, !tbaa !5
  %8910 = call ptr @strerror(i32 noundef %8909) #9
  %8911 = call ptr @__errno_location() #10
  %8912 = load i32, ptr %8911, align 4, !tbaa !5
  %8913 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8900, ptr noundef @.str.4, i32 noundef %8901, ptr noundef @.str.65, ptr noundef @.str.2, i32 noundef 321, ptr noundef %8904, ptr noundef %8907, ptr noundef %8910, i32 noundef %8912) #9
  br label %8914

8914:                                             ; preds = %8897, %8880
  call void @llvm.lifetime.end.p0(i64 4, ptr %193) #9
  br label %8915

8915:                                             ; preds = %8914
  br label %8916

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

8917:                                             ; No predecessors!
  br label %8918

8918:                                             ; preds = %8917
  br label %8919

8919:                                             ; preds = %8918, %8861
  br label %8920

8920:                                             ; preds = %8919
  br label %8921

8921:                                             ; preds = %8920
  br label %8922

8922:                                             ; preds = %8921
  %8923 = load i32, ptr @test_count, align 4, !tbaa !5
  %8924 = add nsw i32 %8923, 1
  store i32 %8924, ptr @test_count, align 4, !tbaa !5
  %8925 = load ptr, ptr %188, align 8, !tbaa !9
  %8926 = call i32 @s2n_connection_set_io_pair(ptr noundef %8925, ptr noundef %192)
  %8927 = icmp eq i32 %8926, -1
  br i1 %8927, label %8928, label %8981

8928:                                             ; preds = %8922
  br label %8929

8929:                                             ; preds = %8928
  br label %8930

8930:                                             ; preds = %8929
  call void @llvm.lifetime.start.p0(i64 4, ptr %194) #9
  %8931 = call ptr @__errno_location() #10
  %8932 = load i32, ptr %8931, align 4, !tbaa !5
  store i32 %8932, ptr %194, align 4, !tbaa !5
  %8933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8934 = call i32 @s2n_print_stacktrace(ptr noundef %8933)
  %8935 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8936 = trunc i8 %8935 to i1
  br i1 %8936, label %8937, label %8959

8937:                                             ; preds = %8930
  %8938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8939 = call i32 @fileno(ptr noundef %8938) #9
  %8940 = call i32 @isatty(i32 noundef %8939) #9
  %8941 = icmp ne i32 %8940, 0
  br i1 %8941, label %8942, label %8959

8942:                                             ; preds = %8937
  %8943 = load i32, ptr %194, align 4, !tbaa !5
  %8944 = call ptr @__errno_location() #10
  store i32 %8943, ptr %8944, align 4, !tbaa !5
  %8945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8946 = load i32, ptr @test_count, align 4, !tbaa !5
  %8947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8948 = load i32, ptr %8947, align 4, !tbaa !5
  %8949 = call ptr @s2n_strerror(i32 noundef %8948, ptr noundef @.str.3)
  %8950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8951 = load i32, ptr %8950, align 4, !tbaa !5
  %8952 = call ptr @s2n_strerror_debug(i32 noundef %8951, ptr noundef @.str.3)
  %8953 = call ptr @__errno_location() #10
  %8954 = load i32, ptr %8953, align 4, !tbaa !5
  %8955 = call ptr @strerror(i32 noundef %8954) #9
  %8956 = call ptr @__errno_location() #10
  %8957 = load i32, ptr %8956, align 4, !tbaa !5
  %8958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8945, ptr noundef @.str, i32 noundef %8946, ptr noundef @.str.66, ptr noundef @.str.2, i32 noundef 322, ptr noundef %8949, ptr noundef %8952, ptr noundef %8955, i32 noundef %8957) #9
  br label %8976

8959:                                             ; preds = %8937, %8930
  %8960 = load i32, ptr %194, align 4, !tbaa !5
  %8961 = call ptr @__errno_location() #10
  store i32 %8960, ptr %8961, align 4, !tbaa !5
  %8962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8963 = load i32, ptr @test_count, align 4, !tbaa !5
  %8964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8965 = load i32, ptr %8964, align 4, !tbaa !5
  %8966 = call ptr @s2n_strerror(i32 noundef %8965, ptr noundef @.str.3)
  %8967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8968 = load i32, ptr %8967, align 4, !tbaa !5
  %8969 = call ptr @s2n_strerror_debug(i32 noundef %8968, ptr noundef @.str.3)
  %8970 = call ptr @__errno_location() #10
  %8971 = load i32, ptr %8970, align 4, !tbaa !5
  %8972 = call ptr @strerror(i32 noundef %8971) #9
  %8973 = call ptr @__errno_location() #10
  %8974 = load i32, ptr %8973, align 4, !tbaa !5
  %8975 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8962, ptr noundef @.str.4, i32 noundef %8963, ptr noundef @.str.66, ptr noundef @.str.2, i32 noundef 322, ptr noundef %8966, ptr noundef %8969, ptr noundef %8972, i32 noundef %8974) #9
  br label %8976

8976:                                             ; preds = %8959, %8942
  call void @llvm.lifetime.end.p0(i64 4, ptr %194) #9
  br label %8977

8977:                                             ; preds = %8976
  br label %8978

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

8979:                                             ; No predecessors!
  br label %8980

8980:                                             ; preds = %8979
  br label %8981

8981:                                             ; preds = %8980, %8922
  br label %8982

8982:                                             ; preds = %8981
  br label %8983

8983:                                             ; preds = %8982
  br label %8984

8984:                                             ; preds = %8983
  %8985 = load i32, ptr @test_count, align 4, !tbaa !5
  %8986 = add nsw i32 %8985, 1
  store i32 %8986, ptr @test_count, align 4, !tbaa !5
  %8987 = load ptr, ptr %185, align 8, !tbaa !9
  %8988 = call i32 @s2n_connection_set_io_pair(ptr noundef %8987, ptr noundef %192)
  %8989 = icmp eq i32 %8988, -1
  br i1 %8989, label %8990, label %9043

8990:                                             ; preds = %8984
  br label %8991

8991:                                             ; preds = %8990
  br label %8992

8992:                                             ; preds = %8991
  call void @llvm.lifetime.start.p0(i64 4, ptr %195) #9
  %8993 = call ptr @__errno_location() #10
  %8994 = load i32, ptr %8993, align 4, !tbaa !5
  store i32 %8994, ptr %195, align 4, !tbaa !5
  %8995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8996 = call i32 @s2n_print_stacktrace(ptr noundef %8995)
  %8997 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8998 = trunc i8 %8997 to i1
  br i1 %8998, label %8999, label %9021

8999:                                             ; preds = %8992
  %9000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9001 = call i32 @fileno(ptr noundef %9000) #9
  %9002 = call i32 @isatty(i32 noundef %9001) #9
  %9003 = icmp ne i32 %9002, 0
  br i1 %9003, label %9004, label %9021

9004:                                             ; preds = %8999
  %9005 = load i32, ptr %195, align 4, !tbaa !5
  %9006 = call ptr @__errno_location() #10
  store i32 %9005, ptr %9006, align 4, !tbaa !5
  %9007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9008 = load i32, ptr @test_count, align 4, !tbaa !5
  %9009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9010 = load i32, ptr %9009, align 4, !tbaa !5
  %9011 = call ptr @s2n_strerror(i32 noundef %9010, ptr noundef @.str.3)
  %9012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9013 = load i32, ptr %9012, align 4, !tbaa !5
  %9014 = call ptr @s2n_strerror_debug(i32 noundef %9013, ptr noundef @.str.3)
  %9015 = call ptr @__errno_location() #10
  %9016 = load i32, ptr %9015, align 4, !tbaa !5
  %9017 = call ptr @strerror(i32 noundef %9016) #9
  %9018 = call ptr @__errno_location() #10
  %9019 = load i32, ptr %9018, align 4, !tbaa !5
  %9020 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9007, ptr noundef @.str, i32 noundef %9008, ptr noundef @.str.67, ptr noundef @.str.2, i32 noundef 323, ptr noundef %9011, ptr noundef %9014, ptr noundef %9017, i32 noundef %9019) #9
  br label %9038

9021:                                             ; preds = %8999, %8992
  %9022 = load i32, ptr %195, align 4, !tbaa !5
  %9023 = call ptr @__errno_location() #10
  store i32 %9022, ptr %9023, align 4, !tbaa !5
  %9024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9025 = load i32, ptr @test_count, align 4, !tbaa !5
  %9026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9027 = load i32, ptr %9026, align 4, !tbaa !5
  %9028 = call ptr @s2n_strerror(i32 noundef %9027, ptr noundef @.str.3)
  %9029 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9030 = load i32, ptr %9029, align 4, !tbaa !5
  %9031 = call ptr @s2n_strerror_debug(i32 noundef %9030, ptr noundef @.str.3)
  %9032 = call ptr @__errno_location() #10
  %9033 = load i32, ptr %9032, align 4, !tbaa !5
  %9034 = call ptr @strerror(i32 noundef %9033) #9
  %9035 = call ptr @__errno_location() #10
  %9036 = load i32, ptr %9035, align 4, !tbaa !5
  %9037 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9024, ptr noundef @.str.4, i32 noundef %9025, ptr noundef @.str.67, ptr noundef @.str.2, i32 noundef 323, ptr noundef %9028, ptr noundef %9031, ptr noundef %9034, i32 noundef %9036) #9
  br label %9038

9038:                                             ; preds = %9021, %9004
  call void @llvm.lifetime.end.p0(i64 4, ptr %195) #9
  br label %9039

9039:                                             ; preds = %9038
  br label %9040

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

9041:                                             ; No predecessors!
  br label %9042

9042:                                             ; preds = %9041
  br label %9043

9043:                                             ; preds = %9042, %8984
  br label %9044

9044:                                             ; preds = %9043
  br label %9045

9045:                                             ; preds = %9044
  br label %9046

9046:                                             ; preds = %9045
  %9047 = load i32, ptr @test_count, align 4, !tbaa !5
  %9048 = add nsw i32 %9047, 1
  store i32 %9048, ptr @test_count, align 4, !tbaa !5
  %9049 = load ptr, ptr %185, align 8, !tbaa !9
  %9050 = load ptr, ptr %188, align 8, !tbaa !9
  %9051 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %9049, ptr noundef %9050)
  %9052 = icmp eq i32 %9051, -1
  br i1 %9052, label %9053, label %9106

9053:                                             ; preds = %9046
  br label %9054

9054:                                             ; preds = %9053
  br label %9055

9055:                                             ; preds = %9054
  call void @llvm.lifetime.start.p0(i64 4, ptr %196) #9
  %9056 = call ptr @__errno_location() #10
  %9057 = load i32, ptr %9056, align 4, !tbaa !5
  store i32 %9057, ptr %196, align 4, !tbaa !5
  %9058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9059 = call i32 @s2n_print_stacktrace(ptr noundef %9058)
  %9060 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9061 = trunc i8 %9060 to i1
  br i1 %9061, label %9062, label %9084

9062:                                             ; preds = %9055
  %9063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9064 = call i32 @fileno(ptr noundef %9063) #9
  %9065 = call i32 @isatty(i32 noundef %9064) #9
  %9066 = icmp ne i32 %9065, 0
  br i1 %9066, label %9067, label %9084

9067:                                             ; preds = %9062
  %9068 = load i32, ptr %196, align 4, !tbaa !5
  %9069 = call ptr @__errno_location() #10
  store i32 %9068, ptr %9069, align 4, !tbaa !5
  %9070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9071 = load i32, ptr @test_count, align 4, !tbaa !5
  %9072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9073 = load i32, ptr %9072, align 4, !tbaa !5
  %9074 = call ptr @s2n_strerror(i32 noundef %9073, ptr noundef @.str.3)
  %9075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9076 = load i32, ptr %9075, align 4, !tbaa !5
  %9077 = call ptr @s2n_strerror_debug(i32 noundef %9076, ptr noundef @.str.3)
  %9078 = call ptr @__errno_location() #10
  %9079 = load i32, ptr %9078, align 4, !tbaa !5
  %9080 = call ptr @strerror(i32 noundef %9079) #9
  %9081 = call ptr @__errno_location() #10
  %9082 = load i32, ptr %9081, align 4, !tbaa !5
  %9083 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9070, ptr noundef @.str, i32 noundef %9071, ptr noundef @.str.68, ptr noundef @.str.2, i32 noundef 325, ptr noundef %9074, ptr noundef %9077, ptr noundef %9080, i32 noundef %9082) #9
  br label %9101

9084:                                             ; preds = %9062, %9055
  %9085 = load i32, ptr %196, align 4, !tbaa !5
  %9086 = call ptr @__errno_location() #10
  store i32 %9085, ptr %9086, align 4, !tbaa !5
  %9087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9088 = load i32, ptr @test_count, align 4, !tbaa !5
  %9089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9090 = load i32, ptr %9089, align 4, !tbaa !5
  %9091 = call ptr @s2n_strerror(i32 noundef %9090, ptr noundef @.str.3)
  %9092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9093 = load i32, ptr %9092, align 4, !tbaa !5
  %9094 = call ptr @s2n_strerror_debug(i32 noundef %9093, ptr noundef @.str.3)
  %9095 = call ptr @__errno_location() #10
  %9096 = load i32, ptr %9095, align 4, !tbaa !5
  %9097 = call ptr @strerror(i32 noundef %9096) #9
  %9098 = call ptr @__errno_location() #10
  %9099 = load i32, ptr %9098, align 4, !tbaa !5
  %9100 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9087, ptr noundef @.str.4, i32 noundef %9088, ptr noundef @.str.68, ptr noundef @.str.2, i32 noundef 325, ptr noundef %9091, ptr noundef %9094, ptr noundef %9097, i32 noundef %9099) #9
  br label %9101

9101:                                             ; preds = %9084, %9067
  call void @llvm.lifetime.end.p0(i64 4, ptr %196) #9
  br label %9102

9102:                                             ; preds = %9101
  br label %9103

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

9104:                                             ; No predecessors!
  br label %9105

9105:                                             ; preds = %9104
  br label %9106

9106:                                             ; preds = %9105, %9046
  br label %9107

9107:                                             ; preds = %9106
  br label %9108

9108:                                             ; preds = %9107
  br label %9109

9109:                                             ; preds = %9108
  %9110 = load i32, ptr @test_count, align 4, !tbaa !5
  %9111 = add nsw i32 %9110, 1
  store i32 %9111, ptr @test_count, align 4, !tbaa !5
  %9112 = load ptr, ptr %185, align 8, !tbaa !9
  %9113 = getelementptr inbounds %struct.s2n_connection, ptr %9112, i32 0, i32 23
  %9114 = load i8, ptr %9113, align 4, !tbaa !52
  %9115 = zext i8 %9114 to i32
  %9116 = icmp eq i32 %9115, 34
  br i1 %9116, label %9170, label %9117

9117:                                             ; preds = %9109
  br label %9118

9118:                                             ; preds = %9117
  br label %9119

9119:                                             ; preds = %9118
  call void @llvm.lifetime.start.p0(i64 4, ptr %197) #9
  %9120 = call ptr @__errno_location() #10
  %9121 = load i32, ptr %9120, align 4, !tbaa !5
  store i32 %9121, ptr %197, align 4, !tbaa !5
  %9122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9123 = call i32 @s2n_print_stacktrace(ptr noundef %9122)
  %9124 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9125 = trunc i8 %9124 to i1
  br i1 %9125, label %9126, label %9148

9126:                                             ; preds = %9119
  %9127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9128 = call i32 @fileno(ptr noundef %9127) #9
  %9129 = call i32 @isatty(i32 noundef %9128) #9
  %9130 = icmp ne i32 %9129, 0
  br i1 %9130, label %9131, label %9148

9131:                                             ; preds = %9126
  %9132 = load i32, ptr %197, align 4, !tbaa !5
  %9133 = call ptr @__errno_location() #10
  store i32 %9132, ptr %9133, align 4, !tbaa !5
  %9134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9135 = load i32, ptr @test_count, align 4, !tbaa !5
  %9136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9137 = load i32, ptr %9136, align 4, !tbaa !5
  %9138 = call ptr @s2n_strerror(i32 noundef %9137, ptr noundef @.str.3)
  %9139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9140 = load i32, ptr %9139, align 4, !tbaa !5
  %9141 = call ptr @s2n_strerror_debug(i32 noundef %9140, ptr noundef @.str.3)
  %9142 = call ptr @__errno_location() #10
  %9143 = load i32, ptr %9142, align 4, !tbaa !5
  %9144 = call ptr @strerror(i32 noundef %9143) #9
  %9145 = call ptr @__errno_location() #10
  %9146 = load i32, ptr %9145, align 4, !tbaa !5
  %9147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9134, ptr noundef @.str, i32 noundef %9135, ptr noundef @.str.69, ptr noundef @.str.2, i32 noundef 327, ptr noundef %9138, ptr noundef %9141, ptr noundef %9144, i32 noundef %9146) #9
  br label %9165

9148:                                             ; preds = %9126, %9119
  %9149 = load i32, ptr %197, align 4, !tbaa !5
  %9150 = call ptr @__errno_location() #10
  store i32 %9149, ptr %9150, align 4, !tbaa !5
  %9151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9152 = load i32, ptr @test_count, align 4, !tbaa !5
  %9153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9154 = load i32, ptr %9153, align 4, !tbaa !5
  %9155 = call ptr @s2n_strerror(i32 noundef %9154, ptr noundef @.str.3)
  %9156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9157 = load i32, ptr %9156, align 4, !tbaa !5
  %9158 = call ptr @s2n_strerror_debug(i32 noundef %9157, ptr noundef @.str.3)
  %9159 = call ptr @__errno_location() #10
  %9160 = load i32, ptr %9159, align 4, !tbaa !5
  %9161 = call ptr @strerror(i32 noundef %9160) #9
  %9162 = call ptr @__errno_location() #10
  %9163 = load i32, ptr %9162, align 4, !tbaa !5
  %9164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9151, ptr noundef @.str.4, i32 noundef %9152, ptr noundef @.str.69, ptr noundef @.str.2, i32 noundef 327, ptr noundef %9155, ptr noundef %9158, ptr noundef %9161, i32 noundef %9163) #9
  br label %9165

9165:                                             ; preds = %9148, %9131
  call void @llvm.lifetime.end.p0(i64 4, ptr %197) #9
  br label %9166

9166:                                             ; preds = %9165
  br label %9167

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

9168:                                             ; No predecessors!
  br label %9169

9169:                                             ; preds = %9168
  br label %9170

9170:                                             ; preds = %9169, %9109
  br label %9171

9171:                                             ; preds = %9170
  br label %9172

9172:                                             ; preds = %9171
  br label %9173

9173:                                             ; preds = %9172
  %9174 = load i32, ptr @test_count, align 4, !tbaa !5
  %9175 = add nsw i32 %9174, 1
  store i32 %9175, ptr @test_count, align 4, !tbaa !5
  %9176 = load ptr, ptr %188, align 8, !tbaa !9
  %9177 = getelementptr inbounds %struct.s2n_connection, ptr %9176, i32 0, i32 23
  %9178 = load i8, ptr %9177, align 4, !tbaa !52
  %9179 = zext i8 %9178 to i32
  %9180 = icmp eq i32 %9179, 34
  br i1 %9180, label %9234, label %9181

9181:                                             ; preds = %9173
  br label %9182

9182:                                             ; preds = %9181
  br label %9183

9183:                                             ; preds = %9182
  call void @llvm.lifetime.start.p0(i64 4, ptr %198) #9
  %9184 = call ptr @__errno_location() #10
  %9185 = load i32, ptr %9184, align 4, !tbaa !5
  store i32 %9185, ptr %198, align 4, !tbaa !5
  %9186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9187 = call i32 @s2n_print_stacktrace(ptr noundef %9186)
  %9188 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9189 = trunc i8 %9188 to i1
  br i1 %9189, label %9190, label %9212

9190:                                             ; preds = %9183
  %9191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9192 = call i32 @fileno(ptr noundef %9191) #9
  %9193 = call i32 @isatty(i32 noundef %9192) #9
  %9194 = icmp ne i32 %9193, 0
  br i1 %9194, label %9195, label %9212

9195:                                             ; preds = %9190
  %9196 = load i32, ptr %198, align 4, !tbaa !5
  %9197 = call ptr @__errno_location() #10
  store i32 %9196, ptr %9197, align 4, !tbaa !5
  %9198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9199 = load i32, ptr @test_count, align 4, !tbaa !5
  %9200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9201 = load i32, ptr %9200, align 4, !tbaa !5
  %9202 = call ptr @s2n_strerror(i32 noundef %9201, ptr noundef @.str.3)
  %9203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9204 = load i32, ptr %9203, align 4, !tbaa !5
  %9205 = call ptr @s2n_strerror_debug(i32 noundef %9204, ptr noundef @.str.3)
  %9206 = call ptr @__errno_location() #10
  %9207 = load i32, ptr %9206, align 4, !tbaa !5
  %9208 = call ptr @strerror(i32 noundef %9207) #9
  %9209 = call ptr @__errno_location() #10
  %9210 = load i32, ptr %9209, align 4, !tbaa !5
  %9211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9198, ptr noundef @.str, i32 noundef %9199, ptr noundef @.str.70, ptr noundef @.str.2, i32 noundef 328, ptr noundef %9202, ptr noundef %9205, ptr noundef %9208, i32 noundef %9210) #9
  br label %9229

9212:                                             ; preds = %9190, %9183
  %9213 = load i32, ptr %198, align 4, !tbaa !5
  %9214 = call ptr @__errno_location() #10
  store i32 %9213, ptr %9214, align 4, !tbaa !5
  %9215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9216 = load i32, ptr @test_count, align 4, !tbaa !5
  %9217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9218 = load i32, ptr %9217, align 4, !tbaa !5
  %9219 = call ptr @s2n_strerror(i32 noundef %9218, ptr noundef @.str.3)
  %9220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9221 = load i32, ptr %9220, align 4, !tbaa !5
  %9222 = call ptr @s2n_strerror_debug(i32 noundef %9221, ptr noundef @.str.3)
  %9223 = call ptr @__errno_location() #10
  %9224 = load i32, ptr %9223, align 4, !tbaa !5
  %9225 = call ptr @strerror(i32 noundef %9224) #9
  %9226 = call ptr @__errno_location() #10
  %9227 = load i32, ptr %9226, align 4, !tbaa !5
  %9228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9215, ptr noundef @.str.4, i32 noundef %9216, ptr noundef @.str.70, ptr noundef @.str.2, i32 noundef 328, ptr noundef %9219, ptr noundef %9222, ptr noundef %9225, i32 noundef %9227) #9
  br label %9229

9229:                                             ; preds = %9212, %9195
  call void @llvm.lifetime.end.p0(i64 4, ptr %198) #9
  br label %9230

9230:                                             ; preds = %9229
  br label %9231

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

9232:                                             ; No predecessors!
  br label %9233

9233:                                             ; preds = %9232
  br label %9234

9234:                                             ; preds = %9233, %9173
  br label %9235

9235:                                             ; preds = %9234
  br label %9236

9236:                                             ; preds = %9235
  call void @llvm.lifetime.start.p0(i64 4, ptr %199) #9
  store i32 0, ptr %199, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %200) #9
  %9237 = load ptr, ptr %188, align 8, !tbaa !9
  %9238 = call ptr @s2n_connection_get_ocsp_response(ptr noundef %9237, ptr noundef %199)
  store ptr %9238, ptr %200, align 8, !tbaa !9
  br label %9239

9239:                                             ; preds = %9236
  %9240 = load i32, ptr @test_count, align 4, !tbaa !5
  %9241 = add nsw i32 %9240, 1
  store i32 %9241, ptr @test_count, align 4, !tbaa !5
  %9242 = load ptr, ptr %200, align 8, !tbaa !9
  %9243 = icmp eq ptr %9242, null
  br i1 %9243, label %9244, label %9297

9244:                                             ; preds = %9239
  br label %9245

9245:                                             ; preds = %9244
  br label %9246

9246:                                             ; preds = %9245
  call void @llvm.lifetime.start.p0(i64 4, ptr %201) #9
  %9247 = call ptr @__errno_location() #10
  %9248 = load i32, ptr %9247, align 4, !tbaa !5
  store i32 %9248, ptr %201, align 4, !tbaa !5
  %9249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9250 = call i32 @s2n_print_stacktrace(ptr noundef %9249)
  %9251 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9252 = trunc i8 %9251 to i1
  br i1 %9252, label %9253, label %9275

9253:                                             ; preds = %9246
  %9254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9255 = call i32 @fileno(ptr noundef %9254) #9
  %9256 = call i32 @isatty(i32 noundef %9255) #9
  %9257 = icmp ne i32 %9256, 0
  br i1 %9257, label %9258, label %9275

9258:                                             ; preds = %9253
  %9259 = load i32, ptr %201, align 4, !tbaa !5
  %9260 = call ptr @__errno_location() #10
  store i32 %9259, ptr %9260, align 4, !tbaa !5
  %9261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9262 = load i32, ptr @test_count, align 4, !tbaa !5
  %9263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9264 = load i32, ptr %9263, align 4, !tbaa !5
  %9265 = call ptr @s2n_strerror(i32 noundef %9264, ptr noundef @.str.3)
  %9266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9267 = load i32, ptr %9266, align 4, !tbaa !5
  %9268 = call ptr @s2n_strerror_debug(i32 noundef %9267, ptr noundef @.str.3)
  %9269 = call ptr @__errno_location() #10
  %9270 = load i32, ptr %9269, align 4, !tbaa !5
  %9271 = call ptr @strerror(i32 noundef %9270) #9
  %9272 = call ptr @__errno_location() #10
  %9273 = load i32, ptr %9272, align 4, !tbaa !5
  %9274 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9261, ptr noundef @.str, i32 noundef %9262, ptr noundef @.str.71, ptr noundef @.str.2, i32 noundef 333, ptr noundef %9265, ptr noundef %9268, ptr noundef %9271, i32 noundef %9273) #9
  br label %9292

9275:                                             ; preds = %9253, %9246
  %9276 = load i32, ptr %201, align 4, !tbaa !5
  %9277 = call ptr @__errno_location() #10
  store i32 %9276, ptr %9277, align 4, !tbaa !5
  %9278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9279 = load i32, ptr @test_count, align 4, !tbaa !5
  %9280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9281 = load i32, ptr %9280, align 4, !tbaa !5
  %9282 = call ptr @s2n_strerror(i32 noundef %9281, ptr noundef @.str.3)
  %9283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9284 = load i32, ptr %9283, align 4, !tbaa !5
  %9285 = call ptr @s2n_strerror_debug(i32 noundef %9284, ptr noundef @.str.3)
  %9286 = call ptr @__errno_location() #10
  %9287 = load i32, ptr %9286, align 4, !tbaa !5
  %9288 = call ptr @strerror(i32 noundef %9287) #9
  %9289 = call ptr @__errno_location() #10
  %9290 = load i32, ptr %9289, align 4, !tbaa !5
  %9291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9278, ptr noundef @.str.4, i32 noundef %9279, ptr noundef @.str.71, ptr noundef @.str.2, i32 noundef 333, ptr noundef %9282, ptr noundef %9285, ptr noundef %9288, i32 noundef %9290) #9
  br label %9292

9292:                                             ; preds = %9275, %9258
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #9
  br label %9293

9293:                                             ; preds = %9292
  br label %9294

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

9295:                                             ; No predecessors!
  br label %9296

9296:                                             ; preds = %9295
  br label %9297

9297:                                             ; preds = %9296, %9239
  br label %9298

9298:                                             ; preds = %9297
  br label %9299

9299:                                             ; preds = %9298
  call void @llvm.lifetime.start.p0(i64 4, ptr %202) #9
  store i32 0, ptr %202, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %203) #9
  %9300 = load ptr, ptr %185, align 8, !tbaa !9
  %9301 = call ptr @s2n_connection_get_ocsp_response(ptr noundef %9300, ptr noundef %202)
  store ptr %9301, ptr %203, align 8, !tbaa !9
  br label %9302

9302:                                             ; preds = %9299
  %9303 = load i32, ptr @test_count, align 4, !tbaa !5
  %9304 = add nsw i32 %9303, 1
  store i32 %9304, ptr @test_count, align 4, !tbaa !5
  %9305 = load ptr, ptr %203, align 8, !tbaa !9
  %9306 = icmp eq ptr %9305, null
  br i1 %9306, label %9307, label %9360

9307:                                             ; preds = %9302
  br label %9308

9308:                                             ; preds = %9307
  br label %9309

9309:                                             ; preds = %9308
  call void @llvm.lifetime.start.p0(i64 4, ptr %204) #9
  %9310 = call ptr @__errno_location() #10
  %9311 = load i32, ptr %9310, align 4, !tbaa !5
  store i32 %9311, ptr %204, align 4, !tbaa !5
  %9312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9313 = call i32 @s2n_print_stacktrace(ptr noundef %9312)
  %9314 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9315 = trunc i8 %9314 to i1
  br i1 %9315, label %9316, label %9338

9316:                                             ; preds = %9309
  %9317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9318 = call i32 @fileno(ptr noundef %9317) #9
  %9319 = call i32 @isatty(i32 noundef %9318) #9
  %9320 = icmp ne i32 %9319, 0
  br i1 %9320, label %9321, label %9338

9321:                                             ; preds = %9316
  %9322 = load i32, ptr %204, align 4, !tbaa !5
  %9323 = call ptr @__errno_location() #10
  store i32 %9322, ptr %9323, align 4, !tbaa !5
  %9324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9325 = load i32, ptr @test_count, align 4, !tbaa !5
  %9326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9327 = load i32, ptr %9326, align 4, !tbaa !5
  %9328 = call ptr @s2n_strerror(i32 noundef %9327, ptr noundef @.str.3)
  %9329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9330 = load i32, ptr %9329, align 4, !tbaa !5
  %9331 = call ptr @s2n_strerror_debug(i32 noundef %9330, ptr noundef @.str.3)
  %9332 = call ptr @__errno_location() #10
  %9333 = load i32, ptr %9332, align 4, !tbaa !5
  %9334 = call ptr @strerror(i32 noundef %9333) #9
  %9335 = call ptr @__errno_location() #10
  %9336 = load i32, ptr %9335, align 4, !tbaa !5
  %9337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9324, ptr noundef @.str, i32 noundef %9325, ptr noundef @.str.82, ptr noundef @.str.2, i32 noundef 338, ptr noundef %9328, ptr noundef %9331, ptr noundef %9334, i32 noundef %9336) #9
  br label %9355

9338:                                             ; preds = %9316, %9309
  %9339 = load i32, ptr %204, align 4, !tbaa !5
  %9340 = call ptr @__errno_location() #10
  store i32 %9339, ptr %9340, align 4, !tbaa !5
  %9341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9342 = load i32, ptr @test_count, align 4, !tbaa !5
  %9343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9344 = load i32, ptr %9343, align 4, !tbaa !5
  %9345 = call ptr @s2n_strerror(i32 noundef %9344, ptr noundef @.str.3)
  %9346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9347 = load i32, ptr %9346, align 4, !tbaa !5
  %9348 = call ptr @s2n_strerror_debug(i32 noundef %9347, ptr noundef @.str.3)
  %9349 = call ptr @__errno_location() #10
  %9350 = load i32, ptr %9349, align 4, !tbaa !5
  %9351 = call ptr @strerror(i32 noundef %9350) #9
  %9352 = call ptr @__errno_location() #10
  %9353 = load i32, ptr %9352, align 4, !tbaa !5
  %9354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9341, ptr noundef @.str.4, i32 noundef %9342, ptr noundef @.str.82, ptr noundef @.str.2, i32 noundef 338, ptr noundef %9345, ptr noundef %9348, ptr noundef %9351, i32 noundef %9353) #9
  br label %9355

9355:                                             ; preds = %9338, %9321
  call void @llvm.lifetime.end.p0(i64 4, ptr %204) #9
  br label %9356

9356:                                             ; preds = %9355
  br label %9357

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

9358:                                             ; No predecessors!
  br label %9359

9359:                                             ; preds = %9358
  br label %9360

9360:                                             ; preds = %9359, %9302
  br label %9361

9361:                                             ; preds = %9360
  br label %9362

9362:                                             ; preds = %9361
  br label %9363

9363:                                             ; preds = %9362
  %9364 = load i32, ptr @test_count, align 4, !tbaa !5
  %9365 = add nsw i32 %9364, 1
  store i32 %9365, ptr @test_count, align 4, !tbaa !5
  %9366 = load ptr, ptr %185, align 8, !tbaa !9
  %9367 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef %9366)
  %9368 = icmp eq i32 %9367, 1
  br i1 %9368, label %9422, label %9369

9369:                                             ; preds = %9363
  br label %9370

9370:                                             ; preds = %9369
  br label %9371

9371:                                             ; preds = %9370
  call void @llvm.lifetime.start.p0(i64 4, ptr %205) #9
  %9372 = call ptr @__errno_location() #10
  %9373 = load i32, ptr %9372, align 4, !tbaa !5
  store i32 %9373, ptr %205, align 4, !tbaa !5
  %9374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9375 = call i32 @s2n_print_stacktrace(ptr noundef %9374)
  %9376 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9377 = trunc i8 %9376 to i1
  br i1 %9377, label %9378, label %9400

9378:                                             ; preds = %9371
  %9379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9380 = call i32 @fileno(ptr noundef %9379) #9
  %9381 = call i32 @isatty(i32 noundef %9380) #9
  %9382 = icmp ne i32 %9381, 0
  br i1 %9382, label %9383, label %9400

9383:                                             ; preds = %9378
  %9384 = load i32, ptr %205, align 4, !tbaa !5
  %9385 = call ptr @__errno_location() #10
  store i32 %9384, ptr %9385, align 4, !tbaa !5
  %9386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9387 = load i32, ptr @test_count, align 4, !tbaa !5
  %9388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9389 = load i32, ptr %9388, align 4, !tbaa !5
  %9390 = call ptr @s2n_strerror(i32 noundef %9389, ptr noundef @.str.3)
  %9391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9392 = load i32, ptr %9391, align 4, !tbaa !5
  %9393 = call ptr @s2n_strerror_debug(i32 noundef %9392, ptr noundef @.str.3)
  %9394 = call ptr @__errno_location() #10
  %9395 = load i32, ptr %9394, align 4, !tbaa !5
  %9396 = call ptr @strerror(i32 noundef %9395) #9
  %9397 = call ptr @__errno_location() #10
  %9398 = load i32, ptr %9397, align 4, !tbaa !5
  %9399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9386, ptr noundef @.str, i32 noundef %9387, ptr noundef @.str.73, ptr noundef @.str.2, i32 noundef 341, ptr noundef %9390, ptr noundef %9393, ptr noundef %9396, i32 noundef %9398) #9
  br label %9417

9400:                                             ; preds = %9378, %9371
  %9401 = load i32, ptr %205, align 4, !tbaa !5
  %9402 = call ptr @__errno_location() #10
  store i32 %9401, ptr %9402, align 4, !tbaa !5
  %9403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9404 = load i32, ptr @test_count, align 4, !tbaa !5
  %9405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9406 = load i32, ptr %9405, align 4, !tbaa !5
  %9407 = call ptr @s2n_strerror(i32 noundef %9406, ptr noundef @.str.3)
  %9408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9409 = load i32, ptr %9408, align 4, !tbaa !5
  %9410 = call ptr @s2n_strerror_debug(i32 noundef %9409, ptr noundef @.str.3)
  %9411 = call ptr @__errno_location() #10
  %9412 = load i32, ptr %9411, align 4, !tbaa !5
  %9413 = call ptr @strerror(i32 noundef %9412) #9
  %9414 = call ptr @__errno_location() #10
  %9415 = load i32, ptr %9414, align 4, !tbaa !5
  %9416 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9403, ptr noundef @.str.4, i32 noundef %9404, ptr noundef @.str.73, ptr noundef @.str.2, i32 noundef 341, ptr noundef %9407, ptr noundef %9410, ptr noundef %9413, i32 noundef %9415) #9
  br label %9417

9417:                                             ; preds = %9400, %9383
  call void @llvm.lifetime.end.p0(i64 4, ptr %205) #9
  br label %9418

9418:                                             ; preds = %9417
  br label %9419

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

9420:                                             ; No predecessors!
  br label %9421

9421:                                             ; preds = %9420
  br label %9422

9422:                                             ; preds = %9421, %9363
  br label %9423

9423:                                             ; preds = %9422
  br label %9424

9424:                                             ; preds = %9423
  br label %9425

9425:                                             ; preds = %9424
  %9426 = load i32, ptr @test_count, align 4, !tbaa !5
  %9427 = add nsw i32 %9426, 1
  store i32 %9427, ptr @test_count, align 4, !tbaa !5
  %9428 = load ptr, ptr %188, align 8, !tbaa !9
  %9429 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef %9428)
  %9430 = icmp eq i32 %9429, 1
  br i1 %9430, label %9484, label %9431

9431:                                             ; preds = %9425
  br label %9432

9432:                                             ; preds = %9431
  br label %9433

9433:                                             ; preds = %9432
  call void @llvm.lifetime.start.p0(i64 4, ptr %206) #9
  %9434 = call ptr @__errno_location() #10
  %9435 = load i32, ptr %9434, align 4, !tbaa !5
  store i32 %9435, ptr %206, align 4, !tbaa !5
  %9436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9437 = call i32 @s2n_print_stacktrace(ptr noundef %9436)
  %9438 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9439 = trunc i8 %9438 to i1
  br i1 %9439, label %9440, label %9462

9440:                                             ; preds = %9433
  %9441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9442 = call i32 @fileno(ptr noundef %9441) #9
  %9443 = call i32 @isatty(i32 noundef %9442) #9
  %9444 = icmp ne i32 %9443, 0
  br i1 %9444, label %9445, label %9462

9445:                                             ; preds = %9440
  %9446 = load i32, ptr %206, align 4, !tbaa !5
  %9447 = call ptr @__errno_location() #10
  store i32 %9446, ptr %9447, align 4, !tbaa !5
  %9448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9449 = load i32, ptr @test_count, align 4, !tbaa !5
  %9450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9451 = load i32, ptr %9450, align 4, !tbaa !5
  %9452 = call ptr @s2n_strerror(i32 noundef %9451, ptr noundef @.str.3)
  %9453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9454 = load i32, ptr %9453, align 4, !tbaa !5
  %9455 = call ptr @s2n_strerror_debug(i32 noundef %9454, ptr noundef @.str.3)
  %9456 = call ptr @__errno_location() #10
  %9457 = load i32, ptr %9456, align 4, !tbaa !5
  %9458 = call ptr @strerror(i32 noundef %9457) #9
  %9459 = call ptr @__errno_location() #10
  %9460 = load i32, ptr %9459, align 4, !tbaa !5
  %9461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9448, ptr noundef @.str, i32 noundef %9449, ptr noundef @.str.74, ptr noundef @.str.2, i32 noundef 342, ptr noundef %9452, ptr noundef %9455, ptr noundef %9458, i32 noundef %9460) #9
  br label %9479

9462:                                             ; preds = %9440, %9433
  %9463 = load i32, ptr %206, align 4, !tbaa !5
  %9464 = call ptr @__errno_location() #10
  store i32 %9463, ptr %9464, align 4, !tbaa !5
  %9465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9466 = load i32, ptr @test_count, align 4, !tbaa !5
  %9467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9468 = load i32, ptr %9467, align 4, !tbaa !5
  %9469 = call ptr @s2n_strerror(i32 noundef %9468, ptr noundef @.str.3)
  %9470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9471 = load i32, ptr %9470, align 4, !tbaa !5
  %9472 = call ptr @s2n_strerror_debug(i32 noundef %9471, ptr noundef @.str.3)
  %9473 = call ptr @__errno_location() #10
  %9474 = load i32, ptr %9473, align 4, !tbaa !5
  %9475 = call ptr @strerror(i32 noundef %9474) #9
  %9476 = call ptr @__errno_location() #10
  %9477 = load i32, ptr %9476, align 4, !tbaa !5
  %9478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9465, ptr noundef @.str.4, i32 noundef %9466, ptr noundef @.str.74, ptr noundef @.str.2, i32 noundef 342, ptr noundef %9469, ptr noundef %9472, ptr noundef %9475, i32 noundef %9477) #9
  br label %9479

9479:                                             ; preds = %9462, %9445
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #9
  br label %9480

9480:                                             ; preds = %9479
  br label %9481

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

9482:                                             ; No predecessors!
  br label %9483

9483:                                             ; preds = %9482
  br label %9484

9484:                                             ; preds = %9483, %9425
  br label %9485

9485:                                             ; preds = %9484
  br label %9486

9486:                                             ; preds = %9485
  call void @llvm.lifetime.end.p0(i64 8, ptr %203) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %202) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %200) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %199) #9
  %9487 = call i32 @s2n_io_pair_close(ptr noundef %192)
  call void @llvm.lifetime.end.p0(i64 8, ptr %192) #9
  %9488 = call i32 @s2n_connection_ptr_free(ptr noundef %188)
  %9489 = getelementptr inbounds %struct.s2n_result, ptr %207, i32 0, i32 0
  store i32 %9488, ptr %9489, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %188) #9
  %9490 = call i32 @s2n_connection_ptr_free(ptr noundef %185)
  %9491 = getelementptr inbounds %struct.s2n_result, ptr %208, i32 0, i32 0
  store i32 %9490, ptr %9491, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %185) #9
  %9492 = call i32 @s2n_config_ptr_free(ptr noundef %178)
  %9493 = getelementptr inbounds %struct.s2n_result, ptr %209, i32 0, i32 0
  store i32 %9492, ptr %9493, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %178) #9
  %9494 = call i32 @s2n_config_ptr_free(ptr noundef %171)
  %9495 = getelementptr inbounds %struct.s2n_result, ptr %210, i32 0, i32 0
  store i32 %9494, ptr %9495, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %171) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %211) #9
  %9496 = call ptr @s2n_config_new()
  store ptr %9496, ptr %211, align 8, !tbaa !9
  br label %9497

9497:                                             ; preds = %9486
  %9498 = load i32, ptr @test_count, align 4, !tbaa !5
  %9499 = add nsw i32 %9498, 1
  store i32 %9499, ptr @test_count, align 4, !tbaa !5
  %9500 = load ptr, ptr %211, align 8, !tbaa !9
  %9501 = icmp eq ptr %9500, null
  br i1 %9501, label %9502, label %9555

9502:                                             ; preds = %9497
  br label %9503

9503:                                             ; preds = %9502
  br label %9504

9504:                                             ; preds = %9503
  call void @llvm.lifetime.start.p0(i64 4, ptr %212) #9
  %9505 = call ptr @__errno_location() #10
  %9506 = load i32, ptr %9505, align 4, !tbaa !5
  store i32 %9506, ptr %212, align 4, !tbaa !5
  %9507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9508 = call i32 @s2n_print_stacktrace(ptr noundef %9507)
  %9509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9510 = trunc i8 %9509 to i1
  br i1 %9510, label %9511, label %9533

9511:                                             ; preds = %9504
  %9512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9513 = call i32 @fileno(ptr noundef %9512) #9
  %9514 = call i32 @isatty(i32 noundef %9513) #9
  %9515 = icmp ne i32 %9514, 0
  br i1 %9515, label %9516, label %9533

9516:                                             ; preds = %9511
  %9517 = load i32, ptr %212, align 4, !tbaa !5
  %9518 = call ptr @__errno_location() #10
  store i32 %9517, ptr %9518, align 4, !tbaa !5
  %9519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9520 = load i32, ptr @test_count, align 4, !tbaa !5
  %9521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9522 = load i32, ptr %9521, align 4, !tbaa !5
  %9523 = call ptr @s2n_strerror(i32 noundef %9522, ptr noundef @.str.3)
  %9524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9525 = load i32, ptr %9524, align 4, !tbaa !5
  %9526 = call ptr @s2n_strerror_debug(i32 noundef %9525, ptr noundef @.str.3)
  %9527 = call ptr @__errno_location() #10
  %9528 = load i32, ptr %9527, align 4, !tbaa !5
  %9529 = call ptr @strerror(i32 noundef %9528) #9
  %9530 = call ptr @__errno_location() #10
  %9531 = load i32, ptr %9530, align 4, !tbaa !5
  %9532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9519, ptr noundef @.str, i32 noundef %9520, ptr noundef @.str.50, ptr noundef @.str.2, i32 noundef 348, ptr noundef %9523, ptr noundef %9526, ptr noundef %9529, i32 noundef %9531) #9
  br label %9550

9533:                                             ; preds = %9511, %9504
  %9534 = load i32, ptr %212, align 4, !tbaa !5
  %9535 = call ptr @__errno_location() #10
  store i32 %9534, ptr %9535, align 4, !tbaa !5
  %9536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9537 = load i32, ptr @test_count, align 4, !tbaa !5
  %9538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9539 = load i32, ptr %9538, align 4, !tbaa !5
  %9540 = call ptr @s2n_strerror(i32 noundef %9539, ptr noundef @.str.3)
  %9541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9542 = load i32, ptr %9541, align 4, !tbaa !5
  %9543 = call ptr @s2n_strerror_debug(i32 noundef %9542, ptr noundef @.str.3)
  %9544 = call ptr @__errno_location() #10
  %9545 = load i32, ptr %9544, align 4, !tbaa !5
  %9546 = call ptr @strerror(i32 noundef %9545) #9
  %9547 = call ptr @__errno_location() #10
  %9548 = load i32, ptr %9547, align 4, !tbaa !5
  %9549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9536, ptr noundef @.str.4, i32 noundef %9537, ptr noundef @.str.50, ptr noundef @.str.2, i32 noundef 348, ptr noundef %9540, ptr noundef %9543, ptr noundef %9546, i32 noundef %9548) #9
  br label %9550

9550:                                             ; preds = %9533, %9516
  call void @llvm.lifetime.end.p0(i64 4, ptr %212) #9
  br label %9551

9551:                                             ; preds = %9550
  br label %9552

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

9553:                                             ; No predecessors!
  br label %9554

9554:                                             ; preds = %9553
  br label %9555

9555:                                             ; preds = %9554, %9497
  br label %9556

9556:                                             ; preds = %9555
  br label %9557

9557:                                             ; preds = %9556
  br label %9558

9558:                                             ; preds = %9557
  %9559 = load i32, ptr @test_count, align 4, !tbaa !5
  %9560 = add nsw i32 %9559, 1
  store i32 %9560, ptr @test_count, align 4, !tbaa !5
  %9561 = load ptr, ptr %211, align 8, !tbaa !9
  %9562 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %9561, ptr noundef @.str.51, ptr noundef null)
  %9563 = icmp eq i32 %9562, -1
  br i1 %9563, label %9564, label %9617

9564:                                             ; preds = %9558
  br label %9565

9565:                                             ; preds = %9564
  br label %9566

9566:                                             ; preds = %9565
  call void @llvm.lifetime.start.p0(i64 4, ptr %213) #9
  %9567 = call ptr @__errno_location() #10
  %9568 = load i32, ptr %9567, align 4, !tbaa !5
  store i32 %9568, ptr %213, align 4, !tbaa !5
  %9569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9570 = call i32 @s2n_print_stacktrace(ptr noundef %9569)
  %9571 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9572 = trunc i8 %9571 to i1
  br i1 %9572, label %9573, label %9595

9573:                                             ; preds = %9566
  %9574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9575 = call i32 @fileno(ptr noundef %9574) #9
  %9576 = call i32 @isatty(i32 noundef %9575) #9
  %9577 = icmp ne i32 %9576, 0
  br i1 %9577, label %9578, label %9595

9578:                                             ; preds = %9573
  %9579 = load i32, ptr %213, align 4, !tbaa !5
  %9580 = call ptr @__errno_location() #10
  store i32 %9579, ptr %9580, align 4, !tbaa !5
  %9581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9582 = load i32, ptr @test_count, align 4, !tbaa !5
  %9583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9584 = load i32, ptr %9583, align 4, !tbaa !5
  %9585 = call ptr @s2n_strerror(i32 noundef %9584, ptr noundef @.str.3)
  %9586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9587 = load i32, ptr %9586, align 4, !tbaa !5
  %9588 = call ptr @s2n_strerror_debug(i32 noundef %9587, ptr noundef @.str.3)
  %9589 = call ptr @__errno_location() #10
  %9590 = load i32, ptr %9589, align 4, !tbaa !5
  %9591 = call ptr @strerror(i32 noundef %9590) #9
  %9592 = call ptr @__errno_location() #10
  %9593 = load i32, ptr %9592, align 4, !tbaa !5
  %9594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9581, ptr noundef @.str, i32 noundef %9582, ptr noundef @.str.52, ptr noundef @.str.2, i32 noundef 349, ptr noundef %9585, ptr noundef %9588, ptr noundef %9591, i32 noundef %9593) #9
  br label %9612

9595:                                             ; preds = %9573, %9566
  %9596 = load i32, ptr %213, align 4, !tbaa !5
  %9597 = call ptr @__errno_location() #10
  store i32 %9596, ptr %9597, align 4, !tbaa !5
  %9598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9599 = load i32, ptr @test_count, align 4, !tbaa !5
  %9600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9601 = load i32, ptr %9600, align 4, !tbaa !5
  %9602 = call ptr @s2n_strerror(i32 noundef %9601, ptr noundef @.str.3)
  %9603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9604 = load i32, ptr %9603, align 4, !tbaa !5
  %9605 = call ptr @s2n_strerror_debug(i32 noundef %9604, ptr noundef @.str.3)
  %9606 = call ptr @__errno_location() #10
  %9607 = load i32, ptr %9606, align 4, !tbaa !5
  %9608 = call ptr @strerror(i32 noundef %9607) #9
  %9609 = call ptr @__errno_location() #10
  %9610 = load i32, ptr %9609, align 4, !tbaa !5
  %9611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9598, ptr noundef @.str.4, i32 noundef %9599, ptr noundef @.str.52, ptr noundef @.str.2, i32 noundef 349, ptr noundef %9602, ptr noundef %9605, ptr noundef %9608, i32 noundef %9610) #9
  br label %9612

9612:                                             ; preds = %9595, %9578
  call void @llvm.lifetime.end.p0(i64 4, ptr %213) #9
  br label %9613

9613:                                             ; preds = %9612
  br label %9614

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

9615:                                             ; No predecessors!
  br label %9616

9616:                                             ; preds = %9615
  br label %9617

9617:                                             ; preds = %9616, %9558
  br label %9618

9618:                                             ; preds = %9617
  br label %9619

9619:                                             ; preds = %9618
  br label %9620

9620:                                             ; preds = %9619
  %9621 = load i32, ptr @test_count, align 4, !tbaa !5
  %9622 = add nsw i32 %9621, 1
  store i32 %9622, ptr @test_count, align 4, !tbaa !5
  %9623 = load ptr, ptr %211, align 8, !tbaa !9
  %9624 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %9623, ptr noundef @.str.53)
  %9625 = icmp eq i32 %9624, -1
  br i1 %9625, label %9626, label %9679

9626:                                             ; preds = %9620
  br label %9627

9627:                                             ; preds = %9626
  br label %9628

9628:                                             ; preds = %9627
  call void @llvm.lifetime.start.p0(i64 4, ptr %214) #9
  %9629 = call ptr @__errno_location() #10
  %9630 = load i32, ptr %9629, align 4, !tbaa !5
  store i32 %9630, ptr %214, align 4, !tbaa !5
  %9631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9632 = call i32 @s2n_print_stacktrace(ptr noundef %9631)
  %9633 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9634 = trunc i8 %9633 to i1
  br i1 %9634, label %9635, label %9657

9635:                                             ; preds = %9628
  %9636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9637 = call i32 @fileno(ptr noundef %9636) #9
  %9638 = call i32 @isatty(i32 noundef %9637) #9
  %9639 = icmp ne i32 %9638, 0
  br i1 %9639, label %9640, label %9657

9640:                                             ; preds = %9635
  %9641 = load i32, ptr %214, align 4, !tbaa !5
  %9642 = call ptr @__errno_location() #10
  store i32 %9641, ptr %9642, align 4, !tbaa !5
  %9643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9644 = load i32, ptr @test_count, align 4, !tbaa !5
  %9645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9646 = load i32, ptr %9645, align 4, !tbaa !5
  %9647 = call ptr @s2n_strerror(i32 noundef %9646, ptr noundef @.str.3)
  %9648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9649 = load i32, ptr %9648, align 4, !tbaa !5
  %9650 = call ptr @s2n_strerror_debug(i32 noundef %9649, ptr noundef @.str.3)
  %9651 = call ptr @__errno_location() #10
  %9652 = load i32, ptr %9651, align 4, !tbaa !5
  %9653 = call ptr @strerror(i32 noundef %9652) #9
  %9654 = call ptr @__errno_location() #10
  %9655 = load i32, ptr %9654, align 4, !tbaa !5
  %9656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9643, ptr noundef @.str, i32 noundef %9644, ptr noundef @.str.54, ptr noundef @.str.2, i32 noundef 350, ptr noundef %9647, ptr noundef %9650, ptr noundef %9653, i32 noundef %9655) #9
  br label %9674

9657:                                             ; preds = %9635, %9628
  %9658 = load i32, ptr %214, align 4, !tbaa !5
  %9659 = call ptr @__errno_location() #10
  store i32 %9658, ptr %9659, align 4, !tbaa !5
  %9660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9661 = load i32, ptr @test_count, align 4, !tbaa !5
  %9662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9663 = load i32, ptr %9662, align 4, !tbaa !5
  %9664 = call ptr @s2n_strerror(i32 noundef %9663, ptr noundef @.str.3)
  %9665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9666 = load i32, ptr %9665, align 4, !tbaa !5
  %9667 = call ptr @s2n_strerror_debug(i32 noundef %9666, ptr noundef @.str.3)
  %9668 = call ptr @__errno_location() #10
  %9669 = load i32, ptr %9668, align 4, !tbaa !5
  %9670 = call ptr @strerror(i32 noundef %9669) #9
  %9671 = call ptr @__errno_location() #10
  %9672 = load i32, ptr %9671, align 4, !tbaa !5
  %9673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9660, ptr noundef @.str.4, i32 noundef %9661, ptr noundef @.str.54, ptr noundef @.str.2, i32 noundef 350, ptr noundef %9664, ptr noundef %9667, ptr noundef %9670, i32 noundef %9672) #9
  br label %9674

9674:                                             ; preds = %9657, %9640
  call void @llvm.lifetime.end.p0(i64 4, ptr %214) #9
  br label %9675

9675:                                             ; preds = %9674
  br label %9676

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

9677:                                             ; No predecessors!
  br label %9678

9678:                                             ; preds = %9677
  br label %9679

9679:                                             ; preds = %9678, %9620
  br label %9680

9680:                                             ; preds = %9679
  br label %9681

9681:                                             ; preds = %9680
  br label %9682

9682:                                             ; preds = %9681
  %9683 = load i32, ptr @test_count, align 4, !tbaa !5
  %9684 = add nsw i32 %9683, 1
  store i32 %9684, ptr @test_count, align 4, !tbaa !5
  %9685 = load ptr, ptr %211, align 8, !tbaa !9
  %9686 = call i32 @s2n_config_set_status_request_type(ptr noundef %9685, i32 noundef 0)
  %9687 = icmp eq i32 %9686, -1
  br i1 %9687, label %9688, label %9741

9688:                                             ; preds = %9682
  br label %9689

9689:                                             ; preds = %9688
  br label %9690

9690:                                             ; preds = %9689
  call void @llvm.lifetime.start.p0(i64 4, ptr %215) #9
  %9691 = call ptr @__errno_location() #10
  %9692 = load i32, ptr %9691, align 4, !tbaa !5
  store i32 %9692, ptr %215, align 4, !tbaa !5
  %9693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9694 = call i32 @s2n_print_stacktrace(ptr noundef %9693)
  %9695 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9696 = trunc i8 %9695 to i1
  br i1 %9696, label %9697, label %9719

9697:                                             ; preds = %9690
  %9698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9699 = call i32 @fileno(ptr noundef %9698) #9
  %9700 = call i32 @isatty(i32 noundef %9699) #9
  %9701 = icmp ne i32 %9700, 0
  br i1 %9701, label %9702, label %9719

9702:                                             ; preds = %9697
  %9703 = load i32, ptr %215, align 4, !tbaa !5
  %9704 = call ptr @__errno_location() #10
  store i32 %9703, ptr %9704, align 4, !tbaa !5
  %9705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9706 = load i32, ptr @test_count, align 4, !tbaa !5
  %9707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9708 = load i32, ptr %9707, align 4, !tbaa !5
  %9709 = call ptr @s2n_strerror(i32 noundef %9708, ptr noundef @.str.3)
  %9710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9711 = load i32, ptr %9710, align 4, !tbaa !5
  %9712 = call ptr @s2n_strerror_debug(i32 noundef %9711, ptr noundef @.str.3)
  %9713 = call ptr @__errno_location() #10
  %9714 = load i32, ptr %9713, align 4, !tbaa !5
  %9715 = call ptr @strerror(i32 noundef %9714) #9
  %9716 = call ptr @__errno_location() #10
  %9717 = load i32, ptr %9716, align 4, !tbaa !5
  %9718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9705, ptr noundef @.str, i32 noundef %9706, ptr noundef @.str.75, ptr noundef @.str.2, i32 noundef 351, ptr noundef %9709, ptr noundef %9712, ptr noundef %9715, i32 noundef %9717) #9
  br label %9736

9719:                                             ; preds = %9697, %9690
  %9720 = load i32, ptr %215, align 4, !tbaa !5
  %9721 = call ptr @__errno_location() #10
  store i32 %9720, ptr %9721, align 4, !tbaa !5
  %9722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9723 = load i32, ptr @test_count, align 4, !tbaa !5
  %9724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9725 = load i32, ptr %9724, align 4, !tbaa !5
  %9726 = call ptr @s2n_strerror(i32 noundef %9725, ptr noundef @.str.3)
  %9727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9728 = load i32, ptr %9727, align 4, !tbaa !5
  %9729 = call ptr @s2n_strerror_debug(i32 noundef %9728, ptr noundef @.str.3)
  %9730 = call ptr @__errno_location() #10
  %9731 = load i32, ptr %9730, align 4, !tbaa !5
  %9732 = call ptr @strerror(i32 noundef %9731) #9
  %9733 = call ptr @__errno_location() #10
  %9734 = load i32, ptr %9733, align 4, !tbaa !5
  %9735 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9722, ptr noundef @.str.4, i32 noundef %9723, ptr noundef @.str.75, ptr noundef @.str.2, i32 noundef 351, ptr noundef %9726, ptr noundef %9729, ptr noundef %9732, i32 noundef %9734) #9
  br label %9736

9736:                                             ; preds = %9719, %9702
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #9
  br label %9737

9737:                                             ; preds = %9736
  br label %9738

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

9739:                                             ; No predecessors!
  br label %9740

9740:                                             ; preds = %9739
  br label %9741

9741:                                             ; preds = %9740, %9682
  br label %9742

9742:                                             ; preds = %9741
  br label %9743

9743:                                             ; preds = %9742
  call void @llvm.lifetime.start.p0(i64 8, ptr %216) #9
  %9744 = call ptr @s2n_config_new()
  store ptr %9744, ptr %216, align 8, !tbaa !9
  br label %9745

9745:                                             ; preds = %9743
  %9746 = load i32, ptr @test_count, align 4, !tbaa !5
  %9747 = add nsw i32 %9746, 1
  store i32 %9747, ptr @test_count, align 4, !tbaa !5
  %9748 = load ptr, ptr %216, align 8, !tbaa !9
  %9749 = icmp eq ptr %9748, null
  br i1 %9749, label %9750, label %9803

9750:                                             ; preds = %9745
  br label %9751

9751:                                             ; preds = %9750
  br label %9752

9752:                                             ; preds = %9751
  call void @llvm.lifetime.start.p0(i64 4, ptr %217) #9
  %9753 = call ptr @__errno_location() #10
  %9754 = load i32, ptr %9753, align 4, !tbaa !5
  store i32 %9754, ptr %217, align 4, !tbaa !5
  %9755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9756 = call i32 @s2n_print_stacktrace(ptr noundef %9755)
  %9757 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9758 = trunc i8 %9757 to i1
  br i1 %9758, label %9759, label %9781

9759:                                             ; preds = %9752
  %9760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9761 = call i32 @fileno(ptr noundef %9760) #9
  %9762 = call i32 @isatty(i32 noundef %9761) #9
  %9763 = icmp ne i32 %9762, 0
  br i1 %9763, label %9764, label %9781

9764:                                             ; preds = %9759
  %9765 = load i32, ptr %217, align 4, !tbaa !5
  %9766 = call ptr @__errno_location() #10
  store i32 %9765, ptr %9766, align 4, !tbaa !5
  %9767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9768 = load i32, ptr @test_count, align 4, !tbaa !5
  %9769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9770 = load i32, ptr %9769, align 4, !tbaa !5
  %9771 = call ptr @s2n_strerror(i32 noundef %9770, ptr noundef @.str.3)
  %9772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9773 = load i32, ptr %9772, align 4, !tbaa !5
  %9774 = call ptr @s2n_strerror_debug(i32 noundef %9773, ptr noundef @.str.3)
  %9775 = call ptr @__errno_location() #10
  %9776 = load i32, ptr %9775, align 4, !tbaa !5
  %9777 = call ptr @strerror(i32 noundef %9776) #9
  %9778 = call ptr @__errno_location() #10
  %9779 = load i32, ptr %9778, align 4, !tbaa !5
  %9780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9767, ptr noundef @.str, i32 noundef %9768, ptr noundef @.str.56, ptr noundef @.str.2, i32 noundef 354, ptr noundef %9771, ptr noundef %9774, ptr noundef %9777, i32 noundef %9779) #9
  br label %9798

9781:                                             ; preds = %9759, %9752
  %9782 = load i32, ptr %217, align 4, !tbaa !5
  %9783 = call ptr @__errno_location() #10
  store i32 %9782, ptr %9783, align 4, !tbaa !5
  %9784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9785 = load i32, ptr @test_count, align 4, !tbaa !5
  %9786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9787 = load i32, ptr %9786, align 4, !tbaa !5
  %9788 = call ptr @s2n_strerror(i32 noundef %9787, ptr noundef @.str.3)
  %9789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9790 = load i32, ptr %9789, align 4, !tbaa !5
  %9791 = call ptr @s2n_strerror_debug(i32 noundef %9790, ptr noundef @.str.3)
  %9792 = call ptr @__errno_location() #10
  %9793 = load i32, ptr %9792, align 4, !tbaa !5
  %9794 = call ptr @strerror(i32 noundef %9793) #9
  %9795 = call ptr @__errno_location() #10
  %9796 = load i32, ptr %9795, align 4, !tbaa !5
  %9797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9784, ptr noundef @.str.4, i32 noundef %9785, ptr noundef @.str.56, ptr noundef @.str.2, i32 noundef 354, ptr noundef %9788, ptr noundef %9791, ptr noundef %9794, i32 noundef %9796) #9
  br label %9798

9798:                                             ; preds = %9781, %9764
  call void @llvm.lifetime.end.p0(i64 4, ptr %217) #9
  br label %9799

9799:                                             ; preds = %9798
  br label %9800

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

9801:                                             ; No predecessors!
  br label %9802

9802:                                             ; preds = %9801
  br label %9803

9803:                                             ; preds = %9802, %9745
  br label %9804

9804:                                             ; preds = %9803
  br label %9805

9805:                                             ; preds = %9804
  br label %9806

9806:                                             ; preds = %9805
  %9807 = load i32, ptr @test_count, align 4, !tbaa !5
  %9808 = add nsw i32 %9807, 1
  store i32 %9808, ptr @test_count, align 4, !tbaa !5
  %9809 = load ptr, ptr %216, align 8, !tbaa !9
  %9810 = load ptr, ptr %93, align 8, !tbaa !9
  %9811 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %9809, ptr noundef %9810)
  %9812 = icmp eq i32 %9811, -1
  br i1 %9812, label %9813, label %9866

9813:                                             ; preds = %9806
  br label %9814

9814:                                             ; preds = %9813
  br label %9815

9815:                                             ; preds = %9814
  call void @llvm.lifetime.start.p0(i64 4, ptr %218) #9
  %9816 = call ptr @__errno_location() #10
  %9817 = load i32, ptr %9816, align 4, !tbaa !5
  store i32 %9817, ptr %218, align 4, !tbaa !5
  %9818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9819 = call i32 @s2n_print_stacktrace(ptr noundef %9818)
  %9820 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9821 = trunc i8 %9820 to i1
  br i1 %9821, label %9822, label %9844

9822:                                             ; preds = %9815
  %9823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9824 = call i32 @fileno(ptr noundef %9823) #9
  %9825 = call i32 @isatty(i32 noundef %9824) #9
  %9826 = icmp ne i32 %9825, 0
  br i1 %9826, label %9827, label %9844

9827:                                             ; preds = %9822
  %9828 = load i32, ptr %218, align 4, !tbaa !5
  %9829 = call ptr @__errno_location() #10
  store i32 %9828, ptr %9829, align 4, !tbaa !5
  %9830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9831 = load i32, ptr @test_count, align 4, !tbaa !5
  %9832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9833 = load i32, ptr %9832, align 4, !tbaa !5
  %9834 = call ptr @s2n_strerror(i32 noundef %9833, ptr noundef @.str.3)
  %9835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9836 = load i32, ptr %9835, align 4, !tbaa !5
  %9837 = call ptr @s2n_strerror_debug(i32 noundef %9836, ptr noundef @.str.3)
  %9838 = call ptr @__errno_location() #10
  %9839 = load i32, ptr %9838, align 4, !tbaa !5
  %9840 = call ptr @strerror(i32 noundef %9839) #9
  %9841 = call ptr @__errno_location() #10
  %9842 = load i32, ptr %9841, align 4, !tbaa !5
  %9843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9830, ptr noundef @.str, i32 noundef %9831, ptr noundef @.str.57, ptr noundef @.str.2, i32 noundef 355, ptr noundef %9834, ptr noundef %9837, ptr noundef %9840, i32 noundef %9842) #9
  br label %9861

9844:                                             ; preds = %9822, %9815
  %9845 = load i32, ptr %218, align 4, !tbaa !5
  %9846 = call ptr @__errno_location() #10
  store i32 %9845, ptr %9846, align 4, !tbaa !5
  %9847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9848 = load i32, ptr @test_count, align 4, !tbaa !5
  %9849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9850 = load i32, ptr %9849, align 4, !tbaa !5
  %9851 = call ptr @s2n_strerror(i32 noundef %9850, ptr noundef @.str.3)
  %9852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9853 = load i32, ptr %9852, align 4, !tbaa !5
  %9854 = call ptr @s2n_strerror_debug(i32 noundef %9853, ptr noundef @.str.3)
  %9855 = call ptr @__errno_location() #10
  %9856 = load i32, ptr %9855, align 4, !tbaa !5
  %9857 = call ptr @strerror(i32 noundef %9856) #9
  %9858 = call ptr @__errno_location() #10
  %9859 = load i32, ptr %9858, align 4, !tbaa !5
  %9860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9847, ptr noundef @.str.4, i32 noundef %9848, ptr noundef @.str.57, ptr noundef @.str.2, i32 noundef 355, ptr noundef %9851, ptr noundef %9854, ptr noundef %9857, i32 noundef %9859) #9
  br label %9861

9861:                                             ; preds = %9844, %9827
  call void @llvm.lifetime.end.p0(i64 4, ptr %218) #9
  br label %9862

9862:                                             ; preds = %9861
  br label %9863

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

9864:                                             ; No predecessors!
  br label %9865

9865:                                             ; preds = %9864
  br label %9866

9866:                                             ; preds = %9865, %9806
  br label %9867

9867:                                             ; preds = %9866
  br label %9868

9868:                                             ; preds = %9867
  br label %9869

9869:                                             ; preds = %9868
  %9870 = load i32, ptr @test_count, align 4, !tbaa !5
  %9871 = add nsw i32 %9870, 1
  store i32 %9871, ptr @test_count, align 4, !tbaa !5
  %9872 = load ptr, ptr %216, align 8, !tbaa !9
  %9873 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %9872, ptr noundef @.str.53)
  %9874 = icmp eq i32 %9873, -1
  br i1 %9874, label %9875, label %9928

9875:                                             ; preds = %9869
  br label %9876

9876:                                             ; preds = %9875
  br label %9877

9877:                                             ; preds = %9876
  call void @llvm.lifetime.start.p0(i64 4, ptr %219) #9
  %9878 = call ptr @__errno_location() #10
  %9879 = load i32, ptr %9878, align 4, !tbaa !5
  store i32 %9879, ptr %219, align 4, !tbaa !5
  %9880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9881 = call i32 @s2n_print_stacktrace(ptr noundef %9880)
  %9882 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9883 = trunc i8 %9882 to i1
  br i1 %9883, label %9884, label %9906

9884:                                             ; preds = %9877
  %9885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9886 = call i32 @fileno(ptr noundef %9885) #9
  %9887 = call i32 @isatty(i32 noundef %9886) #9
  %9888 = icmp ne i32 %9887, 0
  br i1 %9888, label %9889, label %9906

9889:                                             ; preds = %9884
  %9890 = load i32, ptr %219, align 4, !tbaa !5
  %9891 = call ptr @__errno_location() #10
  store i32 %9890, ptr %9891, align 4, !tbaa !5
  %9892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9893 = load i32, ptr @test_count, align 4, !tbaa !5
  %9894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9895 = load i32, ptr %9894, align 4, !tbaa !5
  %9896 = call ptr @s2n_strerror(i32 noundef %9895, ptr noundef @.str.3)
  %9897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9898 = load i32, ptr %9897, align 4, !tbaa !5
  %9899 = call ptr @s2n_strerror_debug(i32 noundef %9898, ptr noundef @.str.3)
  %9900 = call ptr @__errno_location() #10
  %9901 = load i32, ptr %9900, align 4, !tbaa !5
  %9902 = call ptr @strerror(i32 noundef %9901) #9
  %9903 = call ptr @__errno_location() #10
  %9904 = load i32, ptr %9903, align 4, !tbaa !5
  %9905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9892, ptr noundef @.str, i32 noundef %9893, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 356, ptr noundef %9896, ptr noundef %9899, ptr noundef %9902, i32 noundef %9904) #9
  br label %9923

9906:                                             ; preds = %9884, %9877
  %9907 = load i32, ptr %219, align 4, !tbaa !5
  %9908 = call ptr @__errno_location() #10
  store i32 %9907, ptr %9908, align 4, !tbaa !5
  %9909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9910 = load i32, ptr @test_count, align 4, !tbaa !5
  %9911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9912 = load i32, ptr %9911, align 4, !tbaa !5
  %9913 = call ptr @s2n_strerror(i32 noundef %9912, ptr noundef @.str.3)
  %9914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9915 = load i32, ptr %9914, align 4, !tbaa !5
  %9916 = call ptr @s2n_strerror_debug(i32 noundef %9915, ptr noundef @.str.3)
  %9917 = call ptr @__errno_location() #10
  %9918 = load i32, ptr %9917, align 4, !tbaa !5
  %9919 = call ptr @strerror(i32 noundef %9918) #9
  %9920 = call ptr @__errno_location() #10
  %9921 = load i32, ptr %9920, align 4, !tbaa !5
  %9922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9909, ptr noundef @.str.4, i32 noundef %9910, ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 356, ptr noundef %9913, ptr noundef %9916, ptr noundef %9919, i32 noundef %9921) #9
  br label %9923

9923:                                             ; preds = %9906, %9889
  call void @llvm.lifetime.end.p0(i64 4, ptr %219) #9
  br label %9924

9924:                                             ; preds = %9923
  br label %9925

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

9926:                                             ; No predecessors!
  br label %9927

9927:                                             ; preds = %9926
  br label %9928

9928:                                             ; preds = %9927, %9869
  br label %9929

9929:                                             ; preds = %9928
  br label %9930

9930:                                             ; preds = %9929
  call void @llvm.lifetime.start.p0(i64 8, ptr %220) #9
  %9931 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %9931, ptr %220, align 8, !tbaa !9
  br label %9932

9932:                                             ; preds = %9930
  %9933 = load i32, ptr @test_count, align 4, !tbaa !5
  %9934 = add nsw i32 %9933, 1
  store i32 %9934, ptr @test_count, align 4, !tbaa !5
  %9935 = load ptr, ptr %220, align 8, !tbaa !9
  %9936 = icmp eq ptr %9935, null
  br i1 %9936, label %9937, label %9990

9937:                                             ; preds = %9932
  br label %9938

9938:                                             ; preds = %9937
  br label %9939

9939:                                             ; preds = %9938
  call void @llvm.lifetime.start.p0(i64 4, ptr %221) #9
  %9940 = call ptr @__errno_location() #10
  %9941 = load i32, ptr %9940, align 4, !tbaa !5
  store i32 %9941, ptr %221, align 4, !tbaa !5
  %9942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9943 = call i32 @s2n_print_stacktrace(ptr noundef %9942)
  %9944 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9945 = trunc i8 %9944 to i1
  br i1 %9945, label %9946, label %9968

9946:                                             ; preds = %9939
  %9947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9948 = call i32 @fileno(ptr noundef %9947) #9
  %9949 = call i32 @isatty(i32 noundef %9948) #9
  %9950 = icmp ne i32 %9949, 0
  br i1 %9950, label %9951, label %9968

9951:                                             ; preds = %9946
  %9952 = load i32, ptr %221, align 4, !tbaa !5
  %9953 = call ptr @__errno_location() #10
  store i32 %9952, ptr %9953, align 4, !tbaa !5
  %9954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9955 = load i32, ptr @test_count, align 4, !tbaa !5
  %9956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9957 = load i32, ptr %9956, align 4, !tbaa !5
  %9958 = call ptr @s2n_strerror(i32 noundef %9957, ptr noundef @.str.3)
  %9959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9960 = load i32, ptr %9959, align 4, !tbaa !5
  %9961 = call ptr @s2n_strerror_debug(i32 noundef %9960, ptr noundef @.str.3)
  %9962 = call ptr @__errno_location() #10
  %9963 = load i32, ptr %9962, align 4, !tbaa !5
  %9964 = call ptr @strerror(i32 noundef %9963) #9
  %9965 = call ptr @__errno_location() #10
  %9966 = load i32, ptr %9965, align 4, !tbaa !5
  %9967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9954, ptr noundef @.str, i32 noundef %9955, ptr noundef @.str.59, ptr noundef @.str.2, i32 noundef 359, ptr noundef %9958, ptr noundef %9961, ptr noundef %9964, i32 noundef %9966) #9
  br label %9985

9968:                                             ; preds = %9946, %9939
  %9969 = load i32, ptr %221, align 4, !tbaa !5
  %9970 = call ptr @__errno_location() #10
  store i32 %9969, ptr %9970, align 4, !tbaa !5
  %9971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9972 = load i32, ptr @test_count, align 4, !tbaa !5
  %9973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9974 = load i32, ptr %9973, align 4, !tbaa !5
  %9975 = call ptr @s2n_strerror(i32 noundef %9974, ptr noundef @.str.3)
  %9976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9977 = load i32, ptr %9976, align 4, !tbaa !5
  %9978 = call ptr @s2n_strerror_debug(i32 noundef %9977, ptr noundef @.str.3)
  %9979 = call ptr @__errno_location() #10
  %9980 = load i32, ptr %9979, align 4, !tbaa !5
  %9981 = call ptr @strerror(i32 noundef %9980) #9
  %9982 = call ptr @__errno_location() #10
  %9983 = load i32, ptr %9982, align 4, !tbaa !5
  %9984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9971, ptr noundef @.str.4, i32 noundef %9972, ptr noundef @.str.59, ptr noundef @.str.2, i32 noundef 359, ptr noundef %9975, ptr noundef %9978, ptr noundef %9981, i32 noundef %9983) #9
  br label %9985

9985:                                             ; preds = %9968, %9951
  call void @llvm.lifetime.end.p0(i64 4, ptr %221) #9
  br label %9986

9986:                                             ; preds = %9985
  br label %9987

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

9988:                                             ; No predecessors!
  br label %9989

9989:                                             ; preds = %9988
  br label %9990

9990:                                             ; preds = %9989, %9932
  br label %9991

9991:                                             ; preds = %9990
  br label %9992

9992:                                             ; preds = %9991
  br label %9993

9993:                                             ; preds = %9992
  %9994 = load i32, ptr @test_count, align 4, !tbaa !5
  %9995 = add nsw i32 %9994, 1
  store i32 %9995, ptr @test_count, align 4, !tbaa !5
  %9996 = load ptr, ptr %220, align 8, !tbaa !9
  %9997 = load ptr, ptr %216, align 8, !tbaa !9
  %9998 = call i32 @s2n_connection_set_config(ptr noundef %9996, ptr noundef %9997)
  %9999 = icmp eq i32 %9998, -1
  br i1 %9999, label %10000, label %10053

10000:                                            ; preds = %9993
  br label %10001

10001:                                            ; preds = %10000
  br label %10002

10002:                                            ; preds = %10001
  call void @llvm.lifetime.start.p0(i64 4, ptr %222) #9
  %10003 = call ptr @__errno_location() #10
  %10004 = load i32, ptr %10003, align 4, !tbaa !5
  store i32 %10004, ptr %222, align 4, !tbaa !5
  %10005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10006 = call i32 @s2n_print_stacktrace(ptr noundef %10005)
  %10007 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10008 = trunc i8 %10007 to i1
  br i1 %10008, label %10009, label %10031

10009:                                            ; preds = %10002
  %10010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10011 = call i32 @fileno(ptr noundef %10010) #9
  %10012 = call i32 @isatty(i32 noundef %10011) #9
  %10013 = icmp ne i32 %10012, 0
  br i1 %10013, label %10014, label %10031

10014:                                            ; preds = %10009
  %10015 = load i32, ptr %222, align 4, !tbaa !5
  %10016 = call ptr @__errno_location() #10
  store i32 %10015, ptr %10016, align 4, !tbaa !5
  %10017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10018 = load i32, ptr @test_count, align 4, !tbaa !5
  %10019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10020 = load i32, ptr %10019, align 4, !tbaa !5
  %10021 = call ptr @s2n_strerror(i32 noundef %10020, ptr noundef @.str.3)
  %10022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10023 = load i32, ptr %10022, align 4, !tbaa !5
  %10024 = call ptr @s2n_strerror_debug(i32 noundef %10023, ptr noundef @.str.3)
  %10025 = call ptr @__errno_location() #10
  %10026 = load i32, ptr %10025, align 4, !tbaa !5
  %10027 = call ptr @strerror(i32 noundef %10026) #9
  %10028 = call ptr @__errno_location() #10
  %10029 = load i32, ptr %10028, align 4, !tbaa !5
  %10030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10017, ptr noundef @.str, i32 noundef %10018, ptr noundef @.str.60, ptr noundef @.str.2, i32 noundef 360, ptr noundef %10021, ptr noundef %10024, ptr noundef %10027, i32 noundef %10029) #9
  br label %10048

10031:                                            ; preds = %10009, %10002
  %10032 = load i32, ptr %222, align 4, !tbaa !5
  %10033 = call ptr @__errno_location() #10
  store i32 %10032, ptr %10033, align 4, !tbaa !5
  %10034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10035 = load i32, ptr @test_count, align 4, !tbaa !5
  %10036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10037 = load i32, ptr %10036, align 4, !tbaa !5
  %10038 = call ptr @s2n_strerror(i32 noundef %10037, ptr noundef @.str.3)
  %10039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10040 = load i32, ptr %10039, align 4, !tbaa !5
  %10041 = call ptr @s2n_strerror_debug(i32 noundef %10040, ptr noundef @.str.3)
  %10042 = call ptr @__errno_location() #10
  %10043 = load i32, ptr %10042, align 4, !tbaa !5
  %10044 = call ptr @strerror(i32 noundef %10043) #9
  %10045 = call ptr @__errno_location() #10
  %10046 = load i32, ptr %10045, align 4, !tbaa !5
  %10047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10034, ptr noundef @.str.4, i32 noundef %10035, ptr noundef @.str.60, ptr noundef @.str.2, i32 noundef 360, ptr noundef %10038, ptr noundef %10041, ptr noundef %10044, i32 noundef %10046) #9
  br label %10048

10048:                                            ; preds = %10031, %10014
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #9
  br label %10049

10049:                                            ; preds = %10048
  br label %10050

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

10051:                                            ; No predecessors!
  br label %10052

10052:                                            ; preds = %10051
  br label %10053

10053:                                            ; preds = %10052, %9993
  br label %10054

10054:                                            ; preds = %10053
  br label %10055

10055:                                            ; preds = %10054
  call void @llvm.lifetime.start.p0(i64 8, ptr %223) #9
  %10056 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %10056, ptr %223, align 8, !tbaa !9
  br label %10057

10057:                                            ; preds = %10055
  %10058 = load i32, ptr @test_count, align 4, !tbaa !5
  %10059 = add nsw i32 %10058, 1
  store i32 %10059, ptr @test_count, align 4, !tbaa !5
  %10060 = load ptr, ptr %223, align 8, !tbaa !9
  %10061 = icmp eq ptr %10060, null
  br i1 %10061, label %10062, label %10115

10062:                                            ; preds = %10057
  br label %10063

10063:                                            ; preds = %10062
  br label %10064

10064:                                            ; preds = %10063
  call void @llvm.lifetime.start.p0(i64 4, ptr %224) #9
  %10065 = call ptr @__errno_location() #10
  %10066 = load i32, ptr %10065, align 4, !tbaa !5
  store i32 %10066, ptr %224, align 4, !tbaa !5
  %10067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10068 = call i32 @s2n_print_stacktrace(ptr noundef %10067)
  %10069 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10070 = trunc i8 %10069 to i1
  br i1 %10070, label %10071, label %10093

10071:                                            ; preds = %10064
  %10072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10073 = call i32 @fileno(ptr noundef %10072) #9
  %10074 = call i32 @isatty(i32 noundef %10073) #9
  %10075 = icmp ne i32 %10074, 0
  br i1 %10075, label %10076, label %10093

10076:                                            ; preds = %10071
  %10077 = load i32, ptr %224, align 4, !tbaa !5
  %10078 = call ptr @__errno_location() #10
  store i32 %10077, ptr %10078, align 4, !tbaa !5
  %10079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10080 = load i32, ptr @test_count, align 4, !tbaa !5
  %10081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10082 = load i32, ptr %10081, align 4, !tbaa !5
  %10083 = call ptr @s2n_strerror(i32 noundef %10082, ptr noundef @.str.3)
  %10084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10085 = load i32, ptr %10084, align 4, !tbaa !5
  %10086 = call ptr @s2n_strerror_debug(i32 noundef %10085, ptr noundef @.str.3)
  %10087 = call ptr @__errno_location() #10
  %10088 = load i32, ptr %10087, align 4, !tbaa !5
  %10089 = call ptr @strerror(i32 noundef %10088) #9
  %10090 = call ptr @__errno_location() #10
  %10091 = load i32, ptr %10090, align 4, !tbaa !5
  %10092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10079, ptr noundef @.str, i32 noundef %10080, ptr noundef @.str.61, ptr noundef @.str.2, i32 noundef 363, ptr noundef %10083, ptr noundef %10086, ptr noundef %10089, i32 noundef %10091) #9
  br label %10110

10093:                                            ; preds = %10071, %10064
  %10094 = load i32, ptr %224, align 4, !tbaa !5
  %10095 = call ptr @__errno_location() #10
  store i32 %10094, ptr %10095, align 4, !tbaa !5
  %10096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10097 = load i32, ptr @test_count, align 4, !tbaa !5
  %10098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10099 = load i32, ptr %10098, align 4, !tbaa !5
  %10100 = call ptr @s2n_strerror(i32 noundef %10099, ptr noundef @.str.3)
  %10101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10102 = load i32, ptr %10101, align 4, !tbaa !5
  %10103 = call ptr @s2n_strerror_debug(i32 noundef %10102, ptr noundef @.str.3)
  %10104 = call ptr @__errno_location() #10
  %10105 = load i32, ptr %10104, align 4, !tbaa !5
  %10106 = call ptr @strerror(i32 noundef %10105) #9
  %10107 = call ptr @__errno_location() #10
  %10108 = load i32, ptr %10107, align 4, !tbaa !5
  %10109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10096, ptr noundef @.str.4, i32 noundef %10097, ptr noundef @.str.61, ptr noundef @.str.2, i32 noundef 363, ptr noundef %10100, ptr noundef %10103, ptr noundef %10106, i32 noundef %10108) #9
  br label %10110

10110:                                            ; preds = %10093, %10076
  call void @llvm.lifetime.end.p0(i64 4, ptr %224) #9
  br label %10111

10111:                                            ; preds = %10110
  br label %10112

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

10113:                                            ; No predecessors!
  br label %10114

10114:                                            ; preds = %10113
  br label %10115

10115:                                            ; preds = %10114, %10057
  br label %10116

10116:                                            ; preds = %10115
  br label %10117

10117:                                            ; preds = %10116
  br label %10118

10118:                                            ; preds = %10117
  %10119 = load i32, ptr @test_count, align 4, !tbaa !5
  %10120 = add nsw i32 %10119, 1
  store i32 %10120, ptr @test_count, align 4, !tbaa !5
  %10121 = load ptr, ptr %223, align 8, !tbaa !9
  %10122 = load ptr, ptr %211, align 8, !tbaa !9
  %10123 = call i32 @s2n_connection_set_config(ptr noundef %10121, ptr noundef %10122)
  %10124 = icmp eq i32 %10123, -1
  br i1 %10124, label %10125, label %10178

10125:                                            ; preds = %10118
  br label %10126

10126:                                            ; preds = %10125
  br label %10127

10127:                                            ; preds = %10126
  call void @llvm.lifetime.start.p0(i64 4, ptr %225) #9
  %10128 = call ptr @__errno_location() #10
  %10129 = load i32, ptr %10128, align 4, !tbaa !5
  store i32 %10129, ptr %225, align 4, !tbaa !5
  %10130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10131 = call i32 @s2n_print_stacktrace(ptr noundef %10130)
  %10132 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10133 = trunc i8 %10132 to i1
  br i1 %10133, label %10134, label %10156

10134:                                            ; preds = %10127
  %10135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10136 = call i32 @fileno(ptr noundef %10135) #9
  %10137 = call i32 @isatty(i32 noundef %10136) #9
  %10138 = icmp ne i32 %10137, 0
  br i1 %10138, label %10139, label %10156

10139:                                            ; preds = %10134
  %10140 = load i32, ptr %225, align 4, !tbaa !5
  %10141 = call ptr @__errno_location() #10
  store i32 %10140, ptr %10141, align 4, !tbaa !5
  %10142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10143 = load i32, ptr @test_count, align 4, !tbaa !5
  %10144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10145 = load i32, ptr %10144, align 4, !tbaa !5
  %10146 = call ptr @s2n_strerror(i32 noundef %10145, ptr noundef @.str.3)
  %10147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10148 = load i32, ptr %10147, align 4, !tbaa !5
  %10149 = call ptr @s2n_strerror_debug(i32 noundef %10148, ptr noundef @.str.3)
  %10150 = call ptr @__errno_location() #10
  %10151 = load i32, ptr %10150, align 4, !tbaa !5
  %10152 = call ptr @strerror(i32 noundef %10151) #9
  %10153 = call ptr @__errno_location() #10
  %10154 = load i32, ptr %10153, align 4, !tbaa !5
  %10155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10142, ptr noundef @.str, i32 noundef %10143, ptr noundef @.str.62, ptr noundef @.str.2, i32 noundef 364, ptr noundef %10146, ptr noundef %10149, ptr noundef %10152, i32 noundef %10154) #9
  br label %10173

10156:                                            ; preds = %10134, %10127
  %10157 = load i32, ptr %225, align 4, !tbaa !5
  %10158 = call ptr @__errno_location() #10
  store i32 %10157, ptr %10158, align 4, !tbaa !5
  %10159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10160 = load i32, ptr @test_count, align 4, !tbaa !5
  %10161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10162 = load i32, ptr %10161, align 4, !tbaa !5
  %10163 = call ptr @s2n_strerror(i32 noundef %10162, ptr noundef @.str.3)
  %10164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10165 = load i32, ptr %10164, align 4, !tbaa !5
  %10166 = call ptr @s2n_strerror_debug(i32 noundef %10165, ptr noundef @.str.3)
  %10167 = call ptr @__errno_location() #10
  %10168 = load i32, ptr %10167, align 4, !tbaa !5
  %10169 = call ptr @strerror(i32 noundef %10168) #9
  %10170 = call ptr @__errno_location() #10
  %10171 = load i32, ptr %10170, align 4, !tbaa !5
  %10172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10159, ptr noundef @.str.4, i32 noundef %10160, ptr noundef @.str.62, ptr noundef @.str.2, i32 noundef 364, ptr noundef %10163, ptr noundef %10166, ptr noundef %10169, i32 noundef %10171) #9
  br label %10173

10173:                                            ; preds = %10156, %10139
  call void @llvm.lifetime.end.p0(i64 4, ptr %225) #9
  br label %10174

10174:                                            ; preds = %10173
  br label %10175

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

10176:                                            ; No predecessors!
  br label %10177

10177:                                            ; preds = %10176
  br label %10178

10178:                                            ; preds = %10177, %10118
  br label %10179

10179:                                            ; preds = %10178
  br label %10180

10180:                                            ; preds = %10179
  br label %10181

10181:                                            ; preds = %10180
  %10182 = load i32, ptr @test_count, align 4, !tbaa !5
  %10183 = add nsw i32 %10182, 1
  store i32 %10183, ptr @test_count, align 4, !tbaa !5
  %10184 = load ptr, ptr %223, align 8, !tbaa !9
  %10185 = call i32 @s2n_set_server_name(ptr noundef %10184, ptr noundef @.str.63)
  %10186 = icmp eq i32 %10185, -1
  br i1 %10186, label %10187, label %10240

10187:                                            ; preds = %10181
  br label %10188

10188:                                            ; preds = %10187
  br label %10189

10189:                                            ; preds = %10188
  call void @llvm.lifetime.start.p0(i64 4, ptr %226) #9
  %10190 = call ptr @__errno_location() #10
  %10191 = load i32, ptr %10190, align 4, !tbaa !5
  store i32 %10191, ptr %226, align 4, !tbaa !5
  %10192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10193 = call i32 @s2n_print_stacktrace(ptr noundef %10192)
  %10194 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10195 = trunc i8 %10194 to i1
  br i1 %10195, label %10196, label %10218

10196:                                            ; preds = %10189
  %10197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10198 = call i32 @fileno(ptr noundef %10197) #9
  %10199 = call i32 @isatty(i32 noundef %10198) #9
  %10200 = icmp ne i32 %10199, 0
  br i1 %10200, label %10201, label %10218

10201:                                            ; preds = %10196
  %10202 = load i32, ptr %226, align 4, !tbaa !5
  %10203 = call ptr @__errno_location() #10
  store i32 %10202, ptr %10203, align 4, !tbaa !5
  %10204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10205 = load i32, ptr @test_count, align 4, !tbaa !5
  %10206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10207 = load i32, ptr %10206, align 4, !tbaa !5
  %10208 = call ptr @s2n_strerror(i32 noundef %10207, ptr noundef @.str.3)
  %10209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10210 = load i32, ptr %10209, align 4, !tbaa !5
  %10211 = call ptr @s2n_strerror_debug(i32 noundef %10210, ptr noundef @.str.3)
  %10212 = call ptr @__errno_location() #10
  %10213 = load i32, ptr %10212, align 4, !tbaa !5
  %10214 = call ptr @strerror(i32 noundef %10213) #9
  %10215 = call ptr @__errno_location() #10
  %10216 = load i32, ptr %10215, align 4, !tbaa !5
  %10217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10204, ptr noundef @.str, i32 noundef %10205, ptr noundef @.str.64, ptr noundef @.str.2, i32 noundef 365, ptr noundef %10208, ptr noundef %10211, ptr noundef %10214, i32 noundef %10216) #9
  br label %10235

10218:                                            ; preds = %10196, %10189
  %10219 = load i32, ptr %226, align 4, !tbaa !5
  %10220 = call ptr @__errno_location() #10
  store i32 %10219, ptr %10220, align 4, !tbaa !5
  %10221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10222 = load i32, ptr @test_count, align 4, !tbaa !5
  %10223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10224 = load i32, ptr %10223, align 4, !tbaa !5
  %10225 = call ptr @s2n_strerror(i32 noundef %10224, ptr noundef @.str.3)
  %10226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10227 = load i32, ptr %10226, align 4, !tbaa !5
  %10228 = call ptr @s2n_strerror_debug(i32 noundef %10227, ptr noundef @.str.3)
  %10229 = call ptr @__errno_location() #10
  %10230 = load i32, ptr %10229, align 4, !tbaa !5
  %10231 = call ptr @strerror(i32 noundef %10230) #9
  %10232 = call ptr @__errno_location() #10
  %10233 = load i32, ptr %10232, align 4, !tbaa !5
  %10234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10221, ptr noundef @.str.4, i32 noundef %10222, ptr noundef @.str.64, ptr noundef @.str.2, i32 noundef 365, ptr noundef %10225, ptr noundef %10228, ptr noundef %10231, i32 noundef %10233) #9
  br label %10235

10235:                                            ; preds = %10218, %10201
  call void @llvm.lifetime.end.p0(i64 4, ptr %226) #9
  br label %10236

10236:                                            ; preds = %10235
  br label %10237

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

10238:                                            ; No predecessors!
  br label %10239

10239:                                            ; preds = %10238
  br label %10240

10240:                                            ; preds = %10239, %10181
  br label %10241

10241:                                            ; preds = %10240
  br label %10242

10242:                                            ; preds = %10241
  call void @llvm.lifetime.start.p0(i64 8, ptr %227) #9
  call void @llvm.memset.p0.i64(ptr align 4 %227, i8 0, i64 8, i1 false)
  br label %10243

10243:                                            ; preds = %10242
  %10244 = load i32, ptr @test_count, align 4, !tbaa !5
  %10245 = add nsw i32 %10244, 1
  store i32 %10245, ptr @test_count, align 4, !tbaa !5
  %10246 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %227)
  %10247 = icmp eq i32 %10246, -1
  br i1 %10247, label %10248, label %10301

10248:                                            ; preds = %10243
  br label %10249

10249:                                            ; preds = %10248
  br label %10250

10250:                                            ; preds = %10249
  call void @llvm.lifetime.start.p0(i64 4, ptr %228) #9
  %10251 = call ptr @__errno_location() #10
  %10252 = load i32, ptr %10251, align 4, !tbaa !5
  store i32 %10252, ptr %228, align 4, !tbaa !5
  %10253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10254 = call i32 @s2n_print_stacktrace(ptr noundef %10253)
  %10255 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10256 = trunc i8 %10255 to i1
  br i1 %10256, label %10257, label %10279

10257:                                            ; preds = %10250
  %10258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10259 = call i32 @fileno(ptr noundef %10258) #9
  %10260 = call i32 @isatty(i32 noundef %10259) #9
  %10261 = icmp ne i32 %10260, 0
  br i1 %10261, label %10262, label %10279

10262:                                            ; preds = %10257
  %10263 = load i32, ptr %228, align 4, !tbaa !5
  %10264 = call ptr @__errno_location() #10
  store i32 %10263, ptr %10264, align 4, !tbaa !5
  %10265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10266 = load i32, ptr @test_count, align 4, !tbaa !5
  %10267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10268 = load i32, ptr %10267, align 4, !tbaa !5
  %10269 = call ptr @s2n_strerror(i32 noundef %10268, ptr noundef @.str.3)
  %10270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10271 = load i32, ptr %10270, align 4, !tbaa !5
  %10272 = call ptr @s2n_strerror_debug(i32 noundef %10271, ptr noundef @.str.3)
  %10273 = call ptr @__errno_location() #10
  %10274 = load i32, ptr %10273, align 4, !tbaa !5
  %10275 = call ptr @strerror(i32 noundef %10274) #9
  %10276 = call ptr @__errno_location() #10
  %10277 = load i32, ptr %10276, align 4, !tbaa !5
  %10278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10265, ptr noundef @.str, i32 noundef %10266, ptr noundef @.str.65, ptr noundef @.str.2, i32 noundef 368, ptr noundef %10269, ptr noundef %10272, ptr noundef %10275, i32 noundef %10277) #9
  br label %10296

10279:                                            ; preds = %10257, %10250
  %10280 = load i32, ptr %228, align 4, !tbaa !5
  %10281 = call ptr @__errno_location() #10
  store i32 %10280, ptr %10281, align 4, !tbaa !5
  %10282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10283 = load i32, ptr @test_count, align 4, !tbaa !5
  %10284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10285 = load i32, ptr %10284, align 4, !tbaa !5
  %10286 = call ptr @s2n_strerror(i32 noundef %10285, ptr noundef @.str.3)
  %10287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10288 = load i32, ptr %10287, align 4, !tbaa !5
  %10289 = call ptr @s2n_strerror_debug(i32 noundef %10288, ptr noundef @.str.3)
  %10290 = call ptr @__errno_location() #10
  %10291 = load i32, ptr %10290, align 4, !tbaa !5
  %10292 = call ptr @strerror(i32 noundef %10291) #9
  %10293 = call ptr @__errno_location() #10
  %10294 = load i32, ptr %10293, align 4, !tbaa !5
  %10295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10282, ptr noundef @.str.4, i32 noundef %10283, ptr noundef @.str.65, ptr noundef @.str.2, i32 noundef 368, ptr noundef %10286, ptr noundef %10289, ptr noundef %10292, i32 noundef %10294) #9
  br label %10296

10296:                                            ; preds = %10279, %10262
  call void @llvm.lifetime.end.p0(i64 4, ptr %228) #9
  br label %10297

10297:                                            ; preds = %10296
  br label %10298

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

10299:                                            ; No predecessors!
  br label %10300

10300:                                            ; preds = %10299
  br label %10301

10301:                                            ; preds = %10300, %10243
  br label %10302

10302:                                            ; preds = %10301
  br label %10303

10303:                                            ; preds = %10302
  br label %10304

10304:                                            ; preds = %10303
  %10305 = load i32, ptr @test_count, align 4, !tbaa !5
  %10306 = add nsw i32 %10305, 1
  store i32 %10306, ptr @test_count, align 4, !tbaa !5
  %10307 = load ptr, ptr %223, align 8, !tbaa !9
  %10308 = call i32 @s2n_connection_set_io_pair(ptr noundef %10307, ptr noundef %227)
  %10309 = icmp eq i32 %10308, -1
  br i1 %10309, label %10310, label %10363

10310:                                            ; preds = %10304
  br label %10311

10311:                                            ; preds = %10310
  br label %10312

10312:                                            ; preds = %10311
  call void @llvm.lifetime.start.p0(i64 4, ptr %229) #9
  %10313 = call ptr @__errno_location() #10
  %10314 = load i32, ptr %10313, align 4, !tbaa !5
  store i32 %10314, ptr %229, align 4, !tbaa !5
  %10315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10316 = call i32 @s2n_print_stacktrace(ptr noundef %10315)
  %10317 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10318 = trunc i8 %10317 to i1
  br i1 %10318, label %10319, label %10341

10319:                                            ; preds = %10312
  %10320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10321 = call i32 @fileno(ptr noundef %10320) #9
  %10322 = call i32 @isatty(i32 noundef %10321) #9
  %10323 = icmp ne i32 %10322, 0
  br i1 %10323, label %10324, label %10341

10324:                                            ; preds = %10319
  %10325 = load i32, ptr %229, align 4, !tbaa !5
  %10326 = call ptr @__errno_location() #10
  store i32 %10325, ptr %10326, align 4, !tbaa !5
  %10327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10328 = load i32, ptr @test_count, align 4, !tbaa !5
  %10329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10330 = load i32, ptr %10329, align 4, !tbaa !5
  %10331 = call ptr @s2n_strerror(i32 noundef %10330, ptr noundef @.str.3)
  %10332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10333 = load i32, ptr %10332, align 4, !tbaa !5
  %10334 = call ptr @s2n_strerror_debug(i32 noundef %10333, ptr noundef @.str.3)
  %10335 = call ptr @__errno_location() #10
  %10336 = load i32, ptr %10335, align 4, !tbaa !5
  %10337 = call ptr @strerror(i32 noundef %10336) #9
  %10338 = call ptr @__errno_location() #10
  %10339 = load i32, ptr %10338, align 4, !tbaa !5
  %10340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10327, ptr noundef @.str, i32 noundef %10328, ptr noundef @.str.66, ptr noundef @.str.2, i32 noundef 369, ptr noundef %10331, ptr noundef %10334, ptr noundef %10337, i32 noundef %10339) #9
  br label %10358

10341:                                            ; preds = %10319, %10312
  %10342 = load i32, ptr %229, align 4, !tbaa !5
  %10343 = call ptr @__errno_location() #10
  store i32 %10342, ptr %10343, align 4, !tbaa !5
  %10344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10345 = load i32, ptr @test_count, align 4, !tbaa !5
  %10346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10347 = load i32, ptr %10346, align 4, !tbaa !5
  %10348 = call ptr @s2n_strerror(i32 noundef %10347, ptr noundef @.str.3)
  %10349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10350 = load i32, ptr %10349, align 4, !tbaa !5
  %10351 = call ptr @s2n_strerror_debug(i32 noundef %10350, ptr noundef @.str.3)
  %10352 = call ptr @__errno_location() #10
  %10353 = load i32, ptr %10352, align 4, !tbaa !5
  %10354 = call ptr @strerror(i32 noundef %10353) #9
  %10355 = call ptr @__errno_location() #10
  %10356 = load i32, ptr %10355, align 4, !tbaa !5
  %10357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10344, ptr noundef @.str.4, i32 noundef %10345, ptr noundef @.str.66, ptr noundef @.str.2, i32 noundef 369, ptr noundef %10348, ptr noundef %10351, ptr noundef %10354, i32 noundef %10356) #9
  br label %10358

10358:                                            ; preds = %10341, %10324
  call void @llvm.lifetime.end.p0(i64 4, ptr %229) #9
  br label %10359

10359:                                            ; preds = %10358
  br label %10360

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

10361:                                            ; No predecessors!
  br label %10362

10362:                                            ; preds = %10361
  br label %10363

10363:                                            ; preds = %10362, %10304
  br label %10364

10364:                                            ; preds = %10363
  br label %10365

10365:                                            ; preds = %10364
  br label %10366

10366:                                            ; preds = %10365
  %10367 = load i32, ptr @test_count, align 4, !tbaa !5
  %10368 = add nsw i32 %10367, 1
  store i32 %10368, ptr @test_count, align 4, !tbaa !5
  %10369 = load ptr, ptr %220, align 8, !tbaa !9
  %10370 = call i32 @s2n_connection_set_io_pair(ptr noundef %10369, ptr noundef %227)
  %10371 = icmp eq i32 %10370, -1
  br i1 %10371, label %10372, label %10425

10372:                                            ; preds = %10366
  br label %10373

10373:                                            ; preds = %10372
  br label %10374

10374:                                            ; preds = %10373
  call void @llvm.lifetime.start.p0(i64 4, ptr %230) #9
  %10375 = call ptr @__errno_location() #10
  %10376 = load i32, ptr %10375, align 4, !tbaa !5
  store i32 %10376, ptr %230, align 4, !tbaa !5
  %10377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10378 = call i32 @s2n_print_stacktrace(ptr noundef %10377)
  %10379 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10380 = trunc i8 %10379 to i1
  br i1 %10380, label %10381, label %10403

10381:                                            ; preds = %10374
  %10382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10383 = call i32 @fileno(ptr noundef %10382) #9
  %10384 = call i32 @isatty(i32 noundef %10383) #9
  %10385 = icmp ne i32 %10384, 0
  br i1 %10385, label %10386, label %10403

10386:                                            ; preds = %10381
  %10387 = load i32, ptr %230, align 4, !tbaa !5
  %10388 = call ptr @__errno_location() #10
  store i32 %10387, ptr %10388, align 4, !tbaa !5
  %10389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10390 = load i32, ptr @test_count, align 4, !tbaa !5
  %10391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10392 = load i32, ptr %10391, align 4, !tbaa !5
  %10393 = call ptr @s2n_strerror(i32 noundef %10392, ptr noundef @.str.3)
  %10394 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10395 = load i32, ptr %10394, align 4, !tbaa !5
  %10396 = call ptr @s2n_strerror_debug(i32 noundef %10395, ptr noundef @.str.3)
  %10397 = call ptr @__errno_location() #10
  %10398 = load i32, ptr %10397, align 4, !tbaa !5
  %10399 = call ptr @strerror(i32 noundef %10398) #9
  %10400 = call ptr @__errno_location() #10
  %10401 = load i32, ptr %10400, align 4, !tbaa !5
  %10402 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10389, ptr noundef @.str, i32 noundef %10390, ptr noundef @.str.67, ptr noundef @.str.2, i32 noundef 370, ptr noundef %10393, ptr noundef %10396, ptr noundef %10399, i32 noundef %10401) #9
  br label %10420

10403:                                            ; preds = %10381, %10374
  %10404 = load i32, ptr %230, align 4, !tbaa !5
  %10405 = call ptr @__errno_location() #10
  store i32 %10404, ptr %10405, align 4, !tbaa !5
  %10406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10407 = load i32, ptr @test_count, align 4, !tbaa !5
  %10408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10409 = load i32, ptr %10408, align 4, !tbaa !5
  %10410 = call ptr @s2n_strerror(i32 noundef %10409, ptr noundef @.str.3)
  %10411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10412 = load i32, ptr %10411, align 4, !tbaa !5
  %10413 = call ptr @s2n_strerror_debug(i32 noundef %10412, ptr noundef @.str.3)
  %10414 = call ptr @__errno_location() #10
  %10415 = load i32, ptr %10414, align 4, !tbaa !5
  %10416 = call ptr @strerror(i32 noundef %10415) #9
  %10417 = call ptr @__errno_location() #10
  %10418 = load i32, ptr %10417, align 4, !tbaa !5
  %10419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10406, ptr noundef @.str.4, i32 noundef %10407, ptr noundef @.str.67, ptr noundef @.str.2, i32 noundef 370, ptr noundef %10410, ptr noundef %10413, ptr noundef %10416, i32 noundef %10418) #9
  br label %10420

10420:                                            ; preds = %10403, %10386
  call void @llvm.lifetime.end.p0(i64 4, ptr %230) #9
  br label %10421

10421:                                            ; preds = %10420
  br label %10422

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

10423:                                            ; No predecessors!
  br label %10424

10424:                                            ; preds = %10423
  br label %10425

10425:                                            ; preds = %10424, %10366
  br label %10426

10426:                                            ; preds = %10425
  br label %10427

10427:                                            ; preds = %10426
  br label %10428

10428:                                            ; preds = %10427
  %10429 = load i32, ptr @test_count, align 4, !tbaa !5
  %10430 = add nsw i32 %10429, 1
  store i32 %10430, ptr @test_count, align 4, !tbaa !5
  %10431 = load ptr, ptr %220, align 8, !tbaa !9
  %10432 = load ptr, ptr %223, align 8, !tbaa !9
  %10433 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %10431, ptr noundef %10432)
  %10434 = icmp eq i32 %10433, -1
  br i1 %10434, label %10435, label %10488

10435:                                            ; preds = %10428
  br label %10436

10436:                                            ; preds = %10435
  br label %10437

10437:                                            ; preds = %10436
  call void @llvm.lifetime.start.p0(i64 4, ptr %231) #9
  %10438 = call ptr @__errno_location() #10
  %10439 = load i32, ptr %10438, align 4, !tbaa !5
  store i32 %10439, ptr %231, align 4, !tbaa !5
  %10440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10441 = call i32 @s2n_print_stacktrace(ptr noundef %10440)
  %10442 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10443 = trunc i8 %10442 to i1
  br i1 %10443, label %10444, label %10466

10444:                                            ; preds = %10437
  %10445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10446 = call i32 @fileno(ptr noundef %10445) #9
  %10447 = call i32 @isatty(i32 noundef %10446) #9
  %10448 = icmp ne i32 %10447, 0
  br i1 %10448, label %10449, label %10466

10449:                                            ; preds = %10444
  %10450 = load i32, ptr %231, align 4, !tbaa !5
  %10451 = call ptr @__errno_location() #10
  store i32 %10450, ptr %10451, align 4, !tbaa !5
  %10452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10453 = load i32, ptr @test_count, align 4, !tbaa !5
  %10454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10455 = load i32, ptr %10454, align 4, !tbaa !5
  %10456 = call ptr @s2n_strerror(i32 noundef %10455, ptr noundef @.str.3)
  %10457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10458 = load i32, ptr %10457, align 4, !tbaa !5
  %10459 = call ptr @s2n_strerror_debug(i32 noundef %10458, ptr noundef @.str.3)
  %10460 = call ptr @__errno_location() #10
  %10461 = load i32, ptr %10460, align 4, !tbaa !5
  %10462 = call ptr @strerror(i32 noundef %10461) #9
  %10463 = call ptr @__errno_location() #10
  %10464 = load i32, ptr %10463, align 4, !tbaa !5
  %10465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10452, ptr noundef @.str, i32 noundef %10453, ptr noundef @.str.68, ptr noundef @.str.2, i32 noundef 372, ptr noundef %10456, ptr noundef %10459, ptr noundef %10462, i32 noundef %10464) #9
  br label %10483

10466:                                            ; preds = %10444, %10437
  %10467 = load i32, ptr %231, align 4, !tbaa !5
  %10468 = call ptr @__errno_location() #10
  store i32 %10467, ptr %10468, align 4, !tbaa !5
  %10469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10470 = load i32, ptr @test_count, align 4, !tbaa !5
  %10471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10472 = load i32, ptr %10471, align 4, !tbaa !5
  %10473 = call ptr @s2n_strerror(i32 noundef %10472, ptr noundef @.str.3)
  %10474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10475 = load i32, ptr %10474, align 4, !tbaa !5
  %10476 = call ptr @s2n_strerror_debug(i32 noundef %10475, ptr noundef @.str.3)
  %10477 = call ptr @__errno_location() #10
  %10478 = load i32, ptr %10477, align 4, !tbaa !5
  %10479 = call ptr @strerror(i32 noundef %10478) #9
  %10480 = call ptr @__errno_location() #10
  %10481 = load i32, ptr %10480, align 4, !tbaa !5
  %10482 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10469, ptr noundef @.str.4, i32 noundef %10470, ptr noundef @.str.68, ptr noundef @.str.2, i32 noundef 372, ptr noundef %10473, ptr noundef %10476, ptr noundef %10479, i32 noundef %10481) #9
  br label %10483

10483:                                            ; preds = %10466, %10449
  call void @llvm.lifetime.end.p0(i64 4, ptr %231) #9
  br label %10484

10484:                                            ; preds = %10483
  br label %10485

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

10486:                                            ; No predecessors!
  br label %10487

10487:                                            ; preds = %10486
  br label %10488

10488:                                            ; preds = %10487, %10428
  br label %10489

10489:                                            ; preds = %10488
  br label %10490

10490:                                            ; preds = %10489
  br label %10491

10491:                                            ; preds = %10490
  %10492 = load i32, ptr @test_count, align 4, !tbaa !5
  %10493 = add nsw i32 %10492, 1
  store i32 %10493, ptr @test_count, align 4, !tbaa !5
  %10494 = load ptr, ptr %220, align 8, !tbaa !9
  %10495 = getelementptr inbounds %struct.s2n_connection, ptr %10494, i32 0, i32 23
  %10496 = load i8, ptr %10495, align 4, !tbaa !52
  %10497 = zext i8 %10496 to i32
  %10498 = icmp eq i32 %10497, 34
  br i1 %10498, label %10552, label %10499

10499:                                            ; preds = %10491
  br label %10500

10500:                                            ; preds = %10499
  br label %10501

10501:                                            ; preds = %10500
  call void @llvm.lifetime.start.p0(i64 4, ptr %232) #9
  %10502 = call ptr @__errno_location() #10
  %10503 = load i32, ptr %10502, align 4, !tbaa !5
  store i32 %10503, ptr %232, align 4, !tbaa !5
  %10504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10505 = call i32 @s2n_print_stacktrace(ptr noundef %10504)
  %10506 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10507 = trunc i8 %10506 to i1
  br i1 %10507, label %10508, label %10530

10508:                                            ; preds = %10501
  %10509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10510 = call i32 @fileno(ptr noundef %10509) #9
  %10511 = call i32 @isatty(i32 noundef %10510) #9
  %10512 = icmp ne i32 %10511, 0
  br i1 %10512, label %10513, label %10530

10513:                                            ; preds = %10508
  %10514 = load i32, ptr %232, align 4, !tbaa !5
  %10515 = call ptr @__errno_location() #10
  store i32 %10514, ptr %10515, align 4, !tbaa !5
  %10516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10517 = load i32, ptr @test_count, align 4, !tbaa !5
  %10518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10519 = load i32, ptr %10518, align 4, !tbaa !5
  %10520 = call ptr @s2n_strerror(i32 noundef %10519, ptr noundef @.str.3)
  %10521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10522 = load i32, ptr %10521, align 4, !tbaa !5
  %10523 = call ptr @s2n_strerror_debug(i32 noundef %10522, ptr noundef @.str.3)
  %10524 = call ptr @__errno_location() #10
  %10525 = load i32, ptr %10524, align 4, !tbaa !5
  %10526 = call ptr @strerror(i32 noundef %10525) #9
  %10527 = call ptr @__errno_location() #10
  %10528 = load i32, ptr %10527, align 4, !tbaa !5
  %10529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10516, ptr noundef @.str, i32 noundef %10517, ptr noundef @.str.69, ptr noundef @.str.2, i32 noundef 374, ptr noundef %10520, ptr noundef %10523, ptr noundef %10526, i32 noundef %10528) #9
  br label %10547

10530:                                            ; preds = %10508, %10501
  %10531 = load i32, ptr %232, align 4, !tbaa !5
  %10532 = call ptr @__errno_location() #10
  store i32 %10531, ptr %10532, align 4, !tbaa !5
  %10533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10534 = load i32, ptr @test_count, align 4, !tbaa !5
  %10535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10536 = load i32, ptr %10535, align 4, !tbaa !5
  %10537 = call ptr @s2n_strerror(i32 noundef %10536, ptr noundef @.str.3)
  %10538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10539 = load i32, ptr %10538, align 4, !tbaa !5
  %10540 = call ptr @s2n_strerror_debug(i32 noundef %10539, ptr noundef @.str.3)
  %10541 = call ptr @__errno_location() #10
  %10542 = load i32, ptr %10541, align 4, !tbaa !5
  %10543 = call ptr @strerror(i32 noundef %10542) #9
  %10544 = call ptr @__errno_location() #10
  %10545 = load i32, ptr %10544, align 4, !tbaa !5
  %10546 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10533, ptr noundef @.str.4, i32 noundef %10534, ptr noundef @.str.69, ptr noundef @.str.2, i32 noundef 374, ptr noundef %10537, ptr noundef %10540, ptr noundef %10543, i32 noundef %10545) #9
  br label %10547

10547:                                            ; preds = %10530, %10513
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #9
  br label %10548

10548:                                            ; preds = %10547
  br label %10549

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

10550:                                            ; No predecessors!
  br label %10551

10551:                                            ; preds = %10550
  br label %10552

10552:                                            ; preds = %10551, %10491
  br label %10553

10553:                                            ; preds = %10552
  br label %10554

10554:                                            ; preds = %10553
  br label %10555

10555:                                            ; preds = %10554
  %10556 = load i32, ptr @test_count, align 4, !tbaa !5
  %10557 = add nsw i32 %10556, 1
  store i32 %10557, ptr @test_count, align 4, !tbaa !5
  %10558 = load ptr, ptr %223, align 8, !tbaa !9
  %10559 = getelementptr inbounds %struct.s2n_connection, ptr %10558, i32 0, i32 23
  %10560 = load i8, ptr %10559, align 4, !tbaa !52
  %10561 = zext i8 %10560 to i32
  %10562 = icmp eq i32 %10561, 34
  br i1 %10562, label %10616, label %10563

10563:                                            ; preds = %10555
  br label %10564

10564:                                            ; preds = %10563
  br label %10565

10565:                                            ; preds = %10564
  call void @llvm.lifetime.start.p0(i64 4, ptr %233) #9
  %10566 = call ptr @__errno_location() #10
  %10567 = load i32, ptr %10566, align 4, !tbaa !5
  store i32 %10567, ptr %233, align 4, !tbaa !5
  %10568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10569 = call i32 @s2n_print_stacktrace(ptr noundef %10568)
  %10570 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10571 = trunc i8 %10570 to i1
  br i1 %10571, label %10572, label %10594

10572:                                            ; preds = %10565
  %10573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10574 = call i32 @fileno(ptr noundef %10573) #9
  %10575 = call i32 @isatty(i32 noundef %10574) #9
  %10576 = icmp ne i32 %10575, 0
  br i1 %10576, label %10577, label %10594

10577:                                            ; preds = %10572
  %10578 = load i32, ptr %233, align 4, !tbaa !5
  %10579 = call ptr @__errno_location() #10
  store i32 %10578, ptr %10579, align 4, !tbaa !5
  %10580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10581 = load i32, ptr @test_count, align 4, !tbaa !5
  %10582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10583 = load i32, ptr %10582, align 4, !tbaa !5
  %10584 = call ptr @s2n_strerror(i32 noundef %10583, ptr noundef @.str.3)
  %10585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10586 = load i32, ptr %10585, align 4, !tbaa !5
  %10587 = call ptr @s2n_strerror_debug(i32 noundef %10586, ptr noundef @.str.3)
  %10588 = call ptr @__errno_location() #10
  %10589 = load i32, ptr %10588, align 4, !tbaa !5
  %10590 = call ptr @strerror(i32 noundef %10589) #9
  %10591 = call ptr @__errno_location() #10
  %10592 = load i32, ptr %10591, align 4, !tbaa !5
  %10593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10580, ptr noundef @.str, i32 noundef %10581, ptr noundef @.str.70, ptr noundef @.str.2, i32 noundef 375, ptr noundef %10584, ptr noundef %10587, ptr noundef %10590, i32 noundef %10592) #9
  br label %10611

10594:                                            ; preds = %10572, %10565
  %10595 = load i32, ptr %233, align 4, !tbaa !5
  %10596 = call ptr @__errno_location() #10
  store i32 %10595, ptr %10596, align 4, !tbaa !5
  %10597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10598 = load i32, ptr @test_count, align 4, !tbaa !5
  %10599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10600 = load i32, ptr %10599, align 4, !tbaa !5
  %10601 = call ptr @s2n_strerror(i32 noundef %10600, ptr noundef @.str.3)
  %10602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10603 = load i32, ptr %10602, align 4, !tbaa !5
  %10604 = call ptr @s2n_strerror_debug(i32 noundef %10603, ptr noundef @.str.3)
  %10605 = call ptr @__errno_location() #10
  %10606 = load i32, ptr %10605, align 4, !tbaa !5
  %10607 = call ptr @strerror(i32 noundef %10606) #9
  %10608 = call ptr @__errno_location() #10
  %10609 = load i32, ptr %10608, align 4, !tbaa !5
  %10610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10597, ptr noundef @.str.4, i32 noundef %10598, ptr noundef @.str.70, ptr noundef @.str.2, i32 noundef 375, ptr noundef %10601, ptr noundef %10604, ptr noundef %10607, i32 noundef %10609) #9
  br label %10611

10611:                                            ; preds = %10594, %10577
  call void @llvm.lifetime.end.p0(i64 4, ptr %233) #9
  br label %10612

10612:                                            ; preds = %10611
  br label %10613

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

10614:                                            ; No predecessors!
  br label %10615

10615:                                            ; preds = %10614
  br label %10616

10616:                                            ; preds = %10615, %10555
  br label %10617

10617:                                            ; preds = %10616
  br label %10618

10618:                                            ; preds = %10617
  call void @llvm.lifetime.start.p0(i64 4, ptr %234) #9
  store i32 0, ptr %234, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %235) #9
  %10619 = load ptr, ptr %223, align 8, !tbaa !9
  %10620 = call ptr @s2n_connection_get_ocsp_response(ptr noundef %10619, ptr noundef %234)
  store ptr %10620, ptr %235, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %236) #9
  store i32 0, ptr %236, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %237) #9
  %10621 = load ptr, ptr %220, align 8, !tbaa !9
  %10622 = call ptr @s2n_connection_get_ocsp_response(ptr noundef %10621, ptr noundef %236)
  store ptr %10622, ptr %237, align 8, !tbaa !9
  br label %10623

10623:                                            ; preds = %10618
  %10624 = load i32, ptr @test_count, align 4, !tbaa !5
  %10625 = add nsw i32 %10624, 1
  store i32 %10625, ptr @test_count, align 4, !tbaa !5
  %10626 = load ptr, ptr %235, align 8, !tbaa !9
  %10627 = icmp eq ptr %10626, null
  br i1 %10627, label %10681, label %10628

10628:                                            ; preds = %10623
  br label %10629

10629:                                            ; preds = %10628
  br label %10630

10630:                                            ; preds = %10629
  call void @llvm.lifetime.start.p0(i64 4, ptr %238) #9
  %10631 = call ptr @__errno_location() #10
  %10632 = load i32, ptr %10631, align 4, !tbaa !5
  store i32 %10632, ptr %238, align 4, !tbaa !5
  %10633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10634 = call i32 @s2n_print_stacktrace(ptr noundef %10633)
  %10635 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10636 = trunc i8 %10635 to i1
  br i1 %10636, label %10637, label %10659

10637:                                            ; preds = %10630
  %10638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10639 = call i32 @fileno(ptr noundef %10638) #9
  %10640 = call i32 @isatty(i32 noundef %10639) #9
  %10641 = icmp ne i32 %10640, 0
  br i1 %10641, label %10642, label %10659

10642:                                            ; preds = %10637
  %10643 = load i32, ptr %238, align 4, !tbaa !5
  %10644 = call ptr @__errno_location() #10
  store i32 %10643, ptr %10644, align 4, !tbaa !5
  %10645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10646 = load i32, ptr @test_count, align 4, !tbaa !5
  %10647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10648 = load i32, ptr %10647, align 4, !tbaa !5
  %10649 = call ptr @s2n_strerror(i32 noundef %10648, ptr noundef @.str.3)
  %10650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10651 = load i32, ptr %10650, align 4, !tbaa !5
  %10652 = call ptr @s2n_strerror_debug(i32 noundef %10651, ptr noundef @.str.3)
  %10653 = call ptr @__errno_location() #10
  %10654 = load i32, ptr %10653, align 4, !tbaa !5
  %10655 = call ptr @strerror(i32 noundef %10654) #9
  %10656 = call ptr @__errno_location() #10
  %10657 = load i32, ptr %10656, align 4, !tbaa !5
  %10658 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10645, ptr noundef @.str, i32 noundef %10646, ptr noundef @.str.81, ptr noundef @.str.2, i32 noundef 386, ptr noundef %10649, ptr noundef %10652, ptr noundef %10655, i32 noundef %10657) #9
  br label %10676

10659:                                            ; preds = %10637, %10630
  %10660 = load i32, ptr %238, align 4, !tbaa !5
  %10661 = call ptr @__errno_location() #10
  store i32 %10660, ptr %10661, align 4, !tbaa !5
  %10662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10663 = load i32, ptr @test_count, align 4, !tbaa !5
  %10664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10665 = load i32, ptr %10664, align 4, !tbaa !5
  %10666 = call ptr @s2n_strerror(i32 noundef %10665, ptr noundef @.str.3)
  %10667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10668 = load i32, ptr %10667, align 4, !tbaa !5
  %10669 = call ptr @s2n_strerror_debug(i32 noundef %10668, ptr noundef @.str.3)
  %10670 = call ptr @__errno_location() #10
  %10671 = load i32, ptr %10670, align 4, !tbaa !5
  %10672 = call ptr @strerror(i32 noundef %10671) #9
  %10673 = call ptr @__errno_location() #10
  %10674 = load i32, ptr %10673, align 4, !tbaa !5
  %10675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10662, ptr noundef @.str.4, i32 noundef %10663, ptr noundef @.str.81, ptr noundef @.str.2, i32 noundef 386, ptr noundef %10666, ptr noundef %10669, ptr noundef %10672, i32 noundef %10674) #9
  br label %10676

10676:                                            ; preds = %10659, %10642
  call void @llvm.lifetime.end.p0(i64 4, ptr %238) #9
  br label %10677

10677:                                            ; preds = %10676
  br label %10678

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

10679:                                            ; No predecessors!
  br label %10680

10680:                                            ; preds = %10679
  br label %10681

10681:                                            ; preds = %10680, %10623
  br label %10682

10682:                                            ; preds = %10681
  br label %10683

10683:                                            ; preds = %10682
  br label %10684

10684:                                            ; preds = %10683
  %10685 = load i32, ptr @test_count, align 4, !tbaa !5
  %10686 = add nsw i32 %10685, 1
  store i32 %10686, ptr @test_count, align 4, !tbaa !5
  %10687 = load ptr, ptr %237, align 8, !tbaa !9
  %10688 = icmp eq ptr %10687, null
  br i1 %10688, label %10742, label %10689

10689:                                            ; preds = %10684
  br label %10690

10690:                                            ; preds = %10689
  br label %10691

10691:                                            ; preds = %10690
  call void @llvm.lifetime.start.p0(i64 4, ptr %239) #9
  %10692 = call ptr @__errno_location() #10
  %10693 = load i32, ptr %10692, align 4, !tbaa !5
  store i32 %10693, ptr %239, align 4, !tbaa !5
  %10694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10695 = call i32 @s2n_print_stacktrace(ptr noundef %10694)
  %10696 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10697 = trunc i8 %10696 to i1
  br i1 %10697, label %10698, label %10720

10698:                                            ; preds = %10691
  %10699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10700 = call i32 @fileno(ptr noundef %10699) #9
  %10701 = call i32 @isatty(i32 noundef %10700) #9
  %10702 = icmp ne i32 %10701, 0
  br i1 %10702, label %10703, label %10720

10703:                                            ; preds = %10698
  %10704 = load i32, ptr %239, align 4, !tbaa !5
  %10705 = call ptr @__errno_location() #10
  store i32 %10704, ptr %10705, align 4, !tbaa !5
  %10706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10707 = load i32, ptr @test_count, align 4, !tbaa !5
  %10708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10709 = load i32, ptr %10708, align 4, !tbaa !5
  %10710 = call ptr @s2n_strerror(i32 noundef %10709, ptr noundef @.str.3)
  %10711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10712 = load i32, ptr %10711, align 4, !tbaa !5
  %10713 = call ptr @s2n_strerror_debug(i32 noundef %10712, ptr noundef @.str.3)
  %10714 = call ptr @__errno_location() #10
  %10715 = load i32, ptr %10714, align 4, !tbaa !5
  %10716 = call ptr @strerror(i32 noundef %10715) #9
  %10717 = call ptr @__errno_location() #10
  %10718 = load i32, ptr %10717, align 4, !tbaa !5
  %10719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10706, ptr noundef @.str, i32 noundef %10707, ptr noundef @.str.72, ptr noundef @.str.2, i32 noundef 387, ptr noundef %10710, ptr noundef %10713, ptr noundef %10716, i32 noundef %10718) #9
  br label %10737

10720:                                            ; preds = %10698, %10691
  %10721 = load i32, ptr %239, align 4, !tbaa !5
  %10722 = call ptr @__errno_location() #10
  store i32 %10721, ptr %10722, align 4, !tbaa !5
  %10723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10724 = load i32, ptr @test_count, align 4, !tbaa !5
  %10725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10726 = load i32, ptr %10725, align 4, !tbaa !5
  %10727 = call ptr @s2n_strerror(i32 noundef %10726, ptr noundef @.str.3)
  %10728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10729 = load i32, ptr %10728, align 4, !tbaa !5
  %10730 = call ptr @s2n_strerror_debug(i32 noundef %10729, ptr noundef @.str.3)
  %10731 = call ptr @__errno_location() #10
  %10732 = load i32, ptr %10731, align 4, !tbaa !5
  %10733 = call ptr @strerror(i32 noundef %10732) #9
  %10734 = call ptr @__errno_location() #10
  %10735 = load i32, ptr %10734, align 4, !tbaa !5
  %10736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10723, ptr noundef @.str.4, i32 noundef %10724, ptr noundef @.str.72, ptr noundef @.str.2, i32 noundef 387, ptr noundef %10727, ptr noundef %10730, ptr noundef %10733, i32 noundef %10735) #9
  br label %10737

10737:                                            ; preds = %10720, %10703
  call void @llvm.lifetime.end.p0(i64 4, ptr %239) #9
  br label %10738

10738:                                            ; preds = %10737
  br label %10739

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

10740:                                            ; No predecessors!
  br label %10741

10741:                                            ; preds = %10740
  br label %10742

10742:                                            ; preds = %10741, %10684
  br label %10743

10743:                                            ; preds = %10742
  br label %10744

10744:                                            ; preds = %10743
  br label %10745

10745:                                            ; preds = %10744
  %10746 = load i32, ptr @test_count, align 4, !tbaa !5
  %10747 = add nsw i32 %10746, 1
  store i32 %10747, ptr @test_count, align 4, !tbaa !5
  %10748 = load ptr, ptr %220, align 8, !tbaa !9
  %10749 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef %10748)
  %10750 = icmp eq i32 %10749, 0
  br i1 %10750, label %10804, label %10751

10751:                                            ; preds = %10745
  br label %10752

10752:                                            ; preds = %10751
  br label %10753

10753:                                            ; preds = %10752
  call void @llvm.lifetime.start.p0(i64 4, ptr %240) #9
  %10754 = call ptr @__errno_location() #10
  %10755 = load i32, ptr %10754, align 4, !tbaa !5
  store i32 %10755, ptr %240, align 4, !tbaa !5
  %10756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10757 = call i32 @s2n_print_stacktrace(ptr noundef %10756)
  %10758 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10759 = trunc i8 %10758 to i1
  br i1 %10759, label %10760, label %10782

10760:                                            ; preds = %10753
  %10761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10762 = call i32 @fileno(ptr noundef %10761) #9
  %10763 = call i32 @isatty(i32 noundef %10762) #9
  %10764 = icmp ne i32 %10763, 0
  br i1 %10764, label %10765, label %10782

10765:                                            ; preds = %10760
  %10766 = load i32, ptr %240, align 4, !tbaa !5
  %10767 = call ptr @__errno_location() #10
  store i32 %10766, ptr %10767, align 4, !tbaa !5
  %10768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10769 = load i32, ptr @test_count, align 4, !tbaa !5
  %10770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10771 = load i32, ptr %10770, align 4, !tbaa !5
  %10772 = call ptr @s2n_strerror(i32 noundef %10771, ptr noundef @.str.3)
  %10773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10774 = load i32, ptr %10773, align 4, !tbaa !5
  %10775 = call ptr @s2n_strerror_debug(i32 noundef %10774, ptr noundef @.str.3)
  %10776 = call ptr @__errno_location() #10
  %10777 = load i32, ptr %10776, align 4, !tbaa !5
  %10778 = call ptr @strerror(i32 noundef %10777) #9
  %10779 = call ptr @__errno_location() #10
  %10780 = load i32, ptr %10779, align 4, !tbaa !5
  %10781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10768, ptr noundef @.str, i32 noundef %10769, ptr noundef @.str.83, ptr noundef @.str.2, i32 noundef 390, ptr noundef %10772, ptr noundef %10775, ptr noundef %10778, i32 noundef %10780) #9
  br label %10799

10782:                                            ; preds = %10760, %10753
  %10783 = load i32, ptr %240, align 4, !tbaa !5
  %10784 = call ptr @__errno_location() #10
  store i32 %10783, ptr %10784, align 4, !tbaa !5
  %10785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10786 = load i32, ptr @test_count, align 4, !tbaa !5
  %10787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10788 = load i32, ptr %10787, align 4, !tbaa !5
  %10789 = call ptr @s2n_strerror(i32 noundef %10788, ptr noundef @.str.3)
  %10790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10791 = load i32, ptr %10790, align 4, !tbaa !5
  %10792 = call ptr @s2n_strerror_debug(i32 noundef %10791, ptr noundef @.str.3)
  %10793 = call ptr @__errno_location() #10
  %10794 = load i32, ptr %10793, align 4, !tbaa !5
  %10795 = call ptr @strerror(i32 noundef %10794) #9
  %10796 = call ptr @__errno_location() #10
  %10797 = load i32, ptr %10796, align 4, !tbaa !5
  %10798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10785, ptr noundef @.str.4, i32 noundef %10786, ptr noundef @.str.83, ptr noundef @.str.2, i32 noundef 390, ptr noundef %10789, ptr noundef %10792, ptr noundef %10795, i32 noundef %10797) #9
  br label %10799

10799:                                            ; preds = %10782, %10765
  call void @llvm.lifetime.end.p0(i64 4, ptr %240) #9
  br label %10800

10800:                                            ; preds = %10799
  br label %10801

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

10802:                                            ; No predecessors!
  br label %10803

10803:                                            ; preds = %10802
  br label %10804

10804:                                            ; preds = %10803, %10745
  br label %10805

10805:                                            ; preds = %10804
  br label %10806

10806:                                            ; preds = %10805
  br label %10807

10807:                                            ; preds = %10806
  %10808 = load i32, ptr @test_count, align 4, !tbaa !5
  %10809 = add nsw i32 %10808, 1
  store i32 %10809, ptr @test_count, align 4, !tbaa !5
  %10810 = load ptr, ptr %223, align 8, !tbaa !9
  %10811 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef %10810)
  %10812 = icmp eq i32 %10811, 0
  br i1 %10812, label %10866, label %10813

10813:                                            ; preds = %10807
  br label %10814

10814:                                            ; preds = %10813
  br label %10815

10815:                                            ; preds = %10814
  call void @llvm.lifetime.start.p0(i64 4, ptr %241) #9
  %10816 = call ptr @__errno_location() #10
  %10817 = load i32, ptr %10816, align 4, !tbaa !5
  store i32 %10817, ptr %241, align 4, !tbaa !5
  %10818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10819 = call i32 @s2n_print_stacktrace(ptr noundef %10818)
  %10820 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10821 = trunc i8 %10820 to i1
  br i1 %10821, label %10822, label %10844

10822:                                            ; preds = %10815
  %10823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10824 = call i32 @fileno(ptr noundef %10823) #9
  %10825 = call i32 @isatty(i32 noundef %10824) #9
  %10826 = icmp ne i32 %10825, 0
  br i1 %10826, label %10827, label %10844

10827:                                            ; preds = %10822
  %10828 = load i32, ptr %241, align 4, !tbaa !5
  %10829 = call ptr @__errno_location() #10
  store i32 %10828, ptr %10829, align 4, !tbaa !5
  %10830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10831 = load i32, ptr @test_count, align 4, !tbaa !5
  %10832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10833 = load i32, ptr %10832, align 4, !tbaa !5
  %10834 = call ptr @s2n_strerror(i32 noundef %10833, ptr noundef @.str.3)
  %10835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10836 = load i32, ptr %10835, align 4, !tbaa !5
  %10837 = call ptr @s2n_strerror_debug(i32 noundef %10836, ptr noundef @.str.3)
  %10838 = call ptr @__errno_location() #10
  %10839 = load i32, ptr %10838, align 4, !tbaa !5
  %10840 = call ptr @strerror(i32 noundef %10839) #9
  %10841 = call ptr @__errno_location() #10
  %10842 = load i32, ptr %10841, align 4, !tbaa !5
  %10843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10830, ptr noundef @.str, i32 noundef %10831, ptr noundef @.str.84, ptr noundef @.str.2, i32 noundef 391, ptr noundef %10834, ptr noundef %10837, ptr noundef %10840, i32 noundef %10842) #9
  br label %10861

10844:                                            ; preds = %10822, %10815
  %10845 = load i32, ptr %241, align 4, !tbaa !5
  %10846 = call ptr @__errno_location() #10
  store i32 %10845, ptr %10846, align 4, !tbaa !5
  %10847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10848 = load i32, ptr @test_count, align 4, !tbaa !5
  %10849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10850 = load i32, ptr %10849, align 4, !tbaa !5
  %10851 = call ptr @s2n_strerror(i32 noundef %10850, ptr noundef @.str.3)
  %10852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10853 = load i32, ptr %10852, align 4, !tbaa !5
  %10854 = call ptr @s2n_strerror_debug(i32 noundef %10853, ptr noundef @.str.3)
  %10855 = call ptr @__errno_location() #10
  %10856 = load i32, ptr %10855, align 4, !tbaa !5
  %10857 = call ptr @strerror(i32 noundef %10856) #9
  %10858 = call ptr @__errno_location() #10
  %10859 = load i32, ptr %10858, align 4, !tbaa !5
  %10860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10847, ptr noundef @.str.4, i32 noundef %10848, ptr noundef @.str.84, ptr noundef @.str.2, i32 noundef 391, ptr noundef %10851, ptr noundef %10854, ptr noundef %10857, i32 noundef %10859) #9
  br label %10861

10861:                                            ; preds = %10844, %10827
  call void @llvm.lifetime.end.p0(i64 4, ptr %241) #9
  br label %10862

10862:                                            ; preds = %10861
  br label %10863

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

10864:                                            ; No predecessors!
  br label %10865

10865:                                            ; preds = %10864
  br label %10866

10866:                                            ; preds = %10865, %10807
  br label %10867

10867:                                            ; preds = %10866
  br label %10868

10868:                                            ; preds = %10867
  call void @llvm.lifetime.end.p0(i64 8, ptr %237) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %236) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %235) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %234) #9
  %10869 = call i32 @s2n_io_pair_close(ptr noundef %227)
  call void @llvm.lifetime.end.p0(i64 8, ptr %227) #9
  %10870 = call i32 @s2n_connection_ptr_free(ptr noundef %223)
  %10871 = getelementptr inbounds %struct.s2n_result, ptr %242, i32 0, i32 0
  store i32 %10870, ptr %10871, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %223) #9
  %10872 = call i32 @s2n_connection_ptr_free(ptr noundef %220)
  %10873 = getelementptr inbounds %struct.s2n_result, ptr %243, i32 0, i32 0
  store i32 %10872, ptr %10873, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %220) #9
  %10874 = call i32 @s2n_config_ptr_free(ptr noundef %216)
  %10875 = getelementptr inbounds %struct.s2n_result, ptr %244, i32 0, i32 0
  store i32 %10874, ptr %10875, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %216) #9
  %10876 = call i32 @s2n_config_ptr_free(ptr noundef %211)
  %10877 = getelementptr inbounds %struct.s2n_result, ptr %245, i32 0, i32 0
  store i32 %10876, ptr %10877, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %211) #9
  %10878 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %93)
  %10879 = getelementptr inbounds %struct.s2n_result, ptr %246, i32 0, i32 0
  store i32 %10878, ptr %10879, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #9
  call void @llvm.lifetime.end.p0(i64 12000, ptr %89) #9
  br label %10880

10880:                                            ; preds = %10868, %4477, %4472
  br label %10881

10881:                                            ; preds = %10880
  br label %10882

10882:                                            ; preds = %10881
  %10883 = call i32 @s2n_cleanup()
  %10884 = icmp eq i32 %10883, -1
  br i1 %10884, label %10885, label %10938

10885:                                            ; preds = %10882
  br label %10886

10886:                                            ; preds = %10885
  br label %10887

10887:                                            ; preds = %10886
  call void @llvm.lifetime.start.p0(i64 4, ptr %247) #9
  %10888 = call ptr @__errno_location() #10
  %10889 = load i32, ptr %10888, align 4, !tbaa !5
  store i32 %10889, ptr %247, align 4, !tbaa !5
  %10890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10891 = call i32 @s2n_print_stacktrace(ptr noundef %10890)
  %10892 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10893 = trunc i8 %10892 to i1
  br i1 %10893, label %10894, label %10916

10894:                                            ; preds = %10887
  %10895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10896 = call i32 @fileno(ptr noundef %10895) #9
  %10897 = call i32 @isatty(i32 noundef %10896) #9
  %10898 = icmp ne i32 %10897, 0
  br i1 %10898, label %10899, label %10916

10899:                                            ; preds = %10894
  %10900 = load i32, ptr %247, align 4, !tbaa !5
  %10901 = call ptr @__errno_location() #10
  store i32 %10900, ptr %10901, align 4, !tbaa !5
  %10902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10903 = load i32, ptr @test_count, align 4, !tbaa !5
  %10904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10905 = load i32, ptr %10904, align 4, !tbaa !5
  %10906 = call ptr @s2n_strerror(i32 noundef %10905, ptr noundef @.str.3)
  %10907 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10908 = load i32, ptr %10907, align 4, !tbaa !5
  %10909 = call ptr @s2n_strerror_debug(i32 noundef %10908, ptr noundef @.str.3)
  %10910 = call ptr @__errno_location() #10
  %10911 = load i32, ptr %10910, align 4, !tbaa !5
  %10912 = call ptr @strerror(i32 noundef %10911) #9
  %10913 = call ptr @__errno_location() #10
  %10914 = load i32, ptr %10913, align 4, !tbaa !5
  %10915 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10902, ptr noundef @.str, i32 noundef %10903, ptr noundef @.str.85, ptr noundef @.str.2, i32 noundef 395, ptr noundef %10906, ptr noundef %10909, ptr noundef %10912, i32 noundef %10914) #9
  br label %10933

10916:                                            ; preds = %10894, %10887
  %10917 = load i32, ptr %247, align 4, !tbaa !5
  %10918 = call ptr @__errno_location() #10
  store i32 %10917, ptr %10918, align 4, !tbaa !5
  %10919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10920 = load i32, ptr @test_count, align 4, !tbaa !5
  %10921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10922 = load i32, ptr %10921, align 4, !tbaa !5
  %10923 = call ptr @s2n_strerror(i32 noundef %10922, ptr noundef @.str.3)
  %10924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10925 = load i32, ptr %10924, align 4, !tbaa !5
  %10926 = call ptr @s2n_strerror_debug(i32 noundef %10925, ptr noundef @.str.3)
  %10927 = call ptr @__errno_location() #10
  %10928 = load i32, ptr %10927, align 4, !tbaa !5
  %10929 = call ptr @strerror(i32 noundef %10928) #9
  %10930 = call ptr @__errno_location() #10
  %10931 = load i32, ptr %10930, align 4, !tbaa !5
  %10932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10919, ptr noundef @.str.4, i32 noundef %10920, ptr noundef @.str.85, ptr noundef @.str.2, i32 noundef 395, ptr noundef %10923, ptr noundef %10926, ptr noundef %10929, i32 noundef %10931) #9
  br label %10933

10933:                                            ; preds = %10916, %10899
  call void @llvm.lifetime.end.p0(i64 4, ptr %247) #9
  br label %10934

10934:                                            ; preds = %10933
  br label %10935

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

10936:                                            ; No predecessors!
  br label %10937

10937:                                            ; preds = %10936
  br label %10938

10938:                                            ; preds = %10937, %10882
  br label %10939

10939:                                            ; preds = %10938
  br label %10940

10940:                                            ; preds = %10939
  br label %10941

10941:                                            ; preds = %10940
  br label %10942

10942:                                            ; preds = %10941
  %10943 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %10944 = icmp eq i32 %10943, -1
  br i1 %10944, label %10945, label %10998

10945:                                            ; preds = %10942
  br label %10946

10946:                                            ; preds = %10945
  br label %10947

10947:                                            ; preds = %10946
  call void @llvm.lifetime.start.p0(i64 4, ptr %248) #9
  %10948 = call ptr @__errno_location() #10
  %10949 = load i32, ptr %10948, align 4, !tbaa !5
  store i32 %10949, ptr %248, align 4, !tbaa !5
  %10950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10951 = call i32 @s2n_print_stacktrace(ptr noundef %10950)
  %10952 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10953 = trunc i8 %10952 to i1
  br i1 %10953, label %10954, label %10976

10954:                                            ; preds = %10947
  %10955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10956 = call i32 @fileno(ptr noundef %10955) #9
  %10957 = call i32 @isatty(i32 noundef %10956) #9
  %10958 = icmp ne i32 %10957, 0
  br i1 %10958, label %10959, label %10976

10959:                                            ; preds = %10954
  %10960 = load i32, ptr %248, align 4, !tbaa !5
  %10961 = call ptr @__errno_location() #10
  store i32 %10960, ptr %10961, align 4, !tbaa !5
  %10962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10963 = load i32, ptr @test_count, align 4, !tbaa !5
  %10964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10965 = load i32, ptr %10964, align 4, !tbaa !5
  %10966 = call ptr @s2n_strerror(i32 noundef %10965, ptr noundef @.str.3)
  %10967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10968 = load i32, ptr %10967, align 4, !tbaa !5
  %10969 = call ptr @s2n_strerror_debug(i32 noundef %10968, ptr noundef @.str.3)
  %10970 = call ptr @__errno_location() #10
  %10971 = load i32, ptr %10970, align 4, !tbaa !5
  %10972 = call ptr @strerror(i32 noundef %10971) #9
  %10973 = call ptr @__errno_location() #10
  %10974 = load i32, ptr %10973, align 4, !tbaa !5
  %10975 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10962, ptr noundef @.str, i32 noundef %10963, ptr noundef @.str.86, ptr noundef @.str.2, i32 noundef 395, ptr noundef %10966, ptr noundef %10969, ptr noundef %10972, i32 noundef %10974) #9
  br label %10993

10976:                                            ; preds = %10954, %10947
  %10977 = load i32, ptr %248, align 4, !tbaa !5
  %10978 = call ptr @__errno_location() #10
  store i32 %10977, ptr %10978, align 4, !tbaa !5
  %10979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10980 = load i32, ptr @test_count, align 4, !tbaa !5
  %10981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10982 = load i32, ptr %10981, align 4, !tbaa !5
  %10983 = call ptr @s2n_strerror(i32 noundef %10982, ptr noundef @.str.3)
  %10984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10985 = load i32, ptr %10984, align 4, !tbaa !5
  %10986 = call ptr @s2n_strerror_debug(i32 noundef %10985, ptr noundef @.str.3)
  %10987 = call ptr @__errno_location() #10
  %10988 = load i32, ptr %10987, align 4, !tbaa !5
  %10989 = call ptr @strerror(i32 noundef %10988) #9
  %10990 = call ptr @__errno_location() #10
  %10991 = load i32, ptr %10990, align 4, !tbaa !5
  %10992 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10979, ptr noundef @.str.4, i32 noundef %10980, ptr noundef @.str.86, ptr noundef @.str.2, i32 noundef 395, ptr noundef %10983, ptr noundef %10986, ptr noundef %10989, i32 noundef %10991) #9
  br label %10993

10993:                                            ; preds = %10976, %10959
  call void @llvm.lifetime.end.p0(i64 4, ptr %248) #9
  br label %10994

10994:                                            ; preds = %10993
  br label %10995

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

10996:                                            ; No predecessors!
  br label %10997

10997:                                            ; preds = %10996
  br label %10998

10998:                                            ; preds = %10997, %10942
  br label %10999

10999:                                            ; preds = %10998
  br label %11000

11000:                                            ; preds = %10999
  %11001 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11002 = trunc i8 %11001 to i1
  br i1 %11002, label %11003, label %11019

11003:                                            ; preds = %11000
  %11004 = load ptr, ptr @stdout, align 8, !tbaa !9
  %11005 = call i32 @fileno(ptr noundef %11004) #9
  %11006 = call i32 @isatty(i32 noundef %11005) #9
  %11007 = icmp ne i32 %11006, 0
  br i1 %11007, label %11008, label %11019

11008:                                            ; preds = %11003
  %11009 = load i32, ptr @test_count, align 4, !tbaa !5
  %11010 = icmp ne i32 %11009, 0
  br i1 %11010, label %11011, label %11015

11011:                                            ; preds = %11008
  %11012 = load ptr, ptr @stdout, align 8, !tbaa !9
  %11013 = load i32, ptr @test_count, align 4, !tbaa !5
  %11014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11012, ptr noundef @.str.87, i32 noundef %11013) #9
  br label %11018

11015:                                            ; preds = %11008
  %11016 = load ptr, ptr @stdout, align 8, !tbaa !9
  %11017 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11016, ptr noundef @.str.88) #9
  br label %11018

11018:                                            ; preds = %11015, %11011
  br label %11030

11019:                                            ; preds = %11003, %11000
  %11020 = load i32, ptr @test_count, align 4, !tbaa !5
  %11021 = icmp ne i32 %11020, 0
  br i1 %11021, label %11022, label %11026

11022:                                            ; preds = %11019
  %11023 = load ptr, ptr @stdout, align 8, !tbaa !9
  %11024 = load i32, ptr @test_count, align 4, !tbaa !5
  %11025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11023, ptr noundef @.str.89, i32 noundef %11024) #9
  br label %11029

11026:                                            ; preds = %11019
  %11027 = load ptr, ptr @stdout, align 8, !tbaa !9
  %11028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11027, ptr noundef @.str.90) #9
  br label %11029

11029:                                            ; preds = %11026, %11022
  br label %11030

11030:                                            ; preds = %11029, %11018
  store i32 0, ptr %3, align 4
  store i32 1, ptr %249, align 4
  br label %11035

11031:                                            ; No predecessors!
  br label %11032

11032:                                            ; preds = %11031
  br label %11033

11033:                                            ; preds = %11032
  br label %11034

11034:                                            ; preds = %11033
  store i32 0, ptr %249, align 4
  br label %11035

11035:                                            ; preds = %11034, %11030
  %11036 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %9)
  %11037 = getelementptr inbounds %struct.s2n_result, ptr %250, i32 0, i32 0
  store i32 %11036, ptr %11037, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #9
  %11038 = load i32, ptr %249, align 4
  switch i32 %11038, label %11041 [
    i32 0, label %11039
    i32 1, label %11039
  ]

11039:                                            ; preds = %11035, %11035
  %11040 = load i32, ptr %3, align 4
  ret i32 %11040

11041:                                            ; preds = %11035
  unreachable
}

declare i32 @fflush(ptr noundef) #1

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #1

declare i32 @s2n_enable_atexit() #1

declare i32 @s2n_init() #1

declare i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef) #1

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

declare ptr @s2n_config_new() #1

declare ptr @s2n_connection_new(i32 noundef) #1

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

declare i32 @s2n_free(ptr noundef) #1

declare i32 @s2n_connection_free(ptr noundef) #1

declare i32 @s2n_config_free(ptr noundef) #1

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

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

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

declare i32 @s2n_stuffer_read_uint24(ptr noundef, ptr noundef) #1

declare ptr @s2n_stuffer_raw_read(ptr noundef, i32 noundef) #1

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

declare i32 @s2n_stuffer_free(ptr noundef) #1

declare ptr @s2n_config_new_minimal() #1

declare i32 @s2n_config_ptr_free(ptr noundef) #1

declare i32 @s2n_config_set_unsafe_for_testing(ptr noundef) #1

declare i32 @s2n_stuffer_write_uint8(ptr noundef, i8 noundef zeroext) #1

declare zeroext i8 @s2n_x509_ocsp_stapling_supported() #1

declare void @s2n_debug_info_reset() #1

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

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

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

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

declare i32 @s2n_config_set_status_request_type(ptr noundef, i32 noundef) #1

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

declare i32 @s2n_connection_ptr_free(ptr noundef) #1

declare i32 @s2n_set_server_name(ptr noundef, ptr noundef) #1

declare i32 @s2n_io_pair_close(ptr noundef) #1

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) #1

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

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

declare ptr @s2n_connection_get_ocsp_response(ptr noundef, ptr noundef) #1

declare i32 @s2n_connection_is_ocsp_stapled(ptr noundef) #1

declare i32 @s2n_config_set_client_auth_type(ptr noundef, i32 noundef) #1

declare i32 @s2n_cleanup() #1

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

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

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


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

%struct.s2n_extension_type = type { i16, i8, i16, ptr, ptr, ptr, ptr }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_test_io_pair = type { i32, i32 }

@s2n_use_color_in_output = external dso_local local_unnamed_addr global i8, align 1
@ocsp_data = external dso_local constant [10 x i8], align 1
@test_count = external dso_local local_unnamed_addr global i32, align 4
@stderr = external local_unnamed_addr global ptr, align 8
@.str = external hidden unnamed_addr constant [101 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [89 x i8], align 1
@s2n_errno = external thread_local local_unnamed_addr global i32, align 4
@.str.3 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [90 x i8], align 1
@stdout = external local_unnamed_addr global ptr, align 8
@.str.5 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [200 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [68 x i8], align 1
@s2n_cert_status_extension = external local_unnamed_addr constant %struct.s2n_extension_type, align 8
@.str.15 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [120 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [130 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [144 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [119 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [123 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [123 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [25 x i8], align 1

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_test_enable_sending_extension(ptr noundef, ptr noundef) local_unnamed_addr #0

declare i32 @s2n_cert_chain_and_key_set_ocsp_data(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #1

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

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

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #1

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

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

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

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

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

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

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

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

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

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @main(i32 noundef %0, ptr nocapture noundef readnone %1) local_unnamed_addr #0 {
  %3 = alloca ptr, align 8
  %4 = alloca %struct.s2n_stuffer, align 8
  %5 = alloca i8, align 1
  %6 = alloca i32, align 4
  %7 = alloca ptr, align 8
  %8 = alloca %struct.s2n_stuffer, align 8
  %9 = alloca %struct.s2n_stuffer, align 8
  %10 = alloca %struct.s2n_stuffer, align 8
  %11 = alloca [12000 x i8], align 16
  %12 = alloca i32, align 4
  %13 = alloca ptr, 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 i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca ptr, align 8
  %22 = alloca ptr, align 8
  %23 = alloca ptr, align 8
  %24 = alloca ptr, align 8
  %25 = alloca %struct.s2n_test_io_pair, align 8
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca ptr, align 8
  %29 = alloca ptr, align 8
  %30 = alloca ptr, align 8
  %31 = alloca ptr, align 8
  %32 = alloca %struct.s2n_test_io_pair, align 8
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca ptr, align 8
  %36 = alloca ptr, align 8
  %37 = alloca ptr, align 8
  %38 = alloca ptr, align 8
  %39 = alloca %struct.s2n_test_io_pair, align 8
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %42 = load ptr, ptr @stdout, align 8, !tbaa !9
  %43 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %42, ptr noundef nonnull @.str.5, ptr noundef nonnull @.str.2) #10
  %44 = load ptr, ptr @stdout, align 8, !tbaa !9
  %45 = tail call i32 @fflush(ptr noundef %44)
  %46 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #10
  %47 = icmp eq i32 %46, -1
  br i1 %47, label %48, label %72

48:                                               ; preds = %2
  %49 = tail call ptr @__errno_location() #11
  %50 = load i32, ptr %49, align 4, !tbaa !5
  %51 = load ptr, ptr @stderr, align 8, !tbaa !9
  %52 = tail call i32 @s2n_print_stacktrace(ptr noundef %51) #10
  %53 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %54 = trunc nuw i8 %53 to i1
  br i1 %54, label %55, label %59

55:                                               ; preds = %48
  %56 = load ptr, ptr @stderr, align 8, !tbaa !9
  %57 = tail call i32 @fileno(ptr noundef %56) #10
  %58 = tail call i32 @isatty(i32 noundef %57) #10
  %.not594 = icmp eq i32 %58, 0
  br i1 %.not594, label %59, label %60

59:                                               ; preds = %55, %48
  br label %60

60:                                               ; preds = %55, %59
  %.str.4.sink = phi ptr [ @.str.4, %59 ], [ @.str, %55 ]
  store i32 %50, ptr %49, align 4, !tbaa !5
  %61 = load ptr, ptr @stderr, align 8, !tbaa !9
  %62 = load i32, ptr @test_count, align 4, !tbaa !5
  %63 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %64 = load i32, ptr %63, align 4, !tbaa !5
  %65 = tail call ptr @s2n_strerror(i32 noundef %64, ptr noundef nonnull @.str.3) #10
  %66 = load i32, ptr %63, align 4, !tbaa !5
  %67 = tail call ptr @s2n_strerror_debug(i32 noundef %66, ptr noundef nonnull @.str.3) #10
  %68 = load i32, ptr %49, align 4, !tbaa !5
  %69 = tail call ptr @strerror(i32 noundef %68) #10
  %70 = load i32, ptr %49, align 4, !tbaa !5
  %71 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %61, ptr noundef nonnull %.str.4.sink, i32 noundef %62, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.2, i32 noundef 33, ptr noundef %65, ptr noundef %67, ptr noundef %69, i32 noundef %70) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

72:                                               ; preds = %2
  %73 = load i32, ptr @test_count, align 4, !tbaa !5
  %74 = add nsw i32 %73, 1
  store i32 %74, ptr @test_count, align 4, !tbaa !5
  %75 = tail call i32 @s2n_enable_atexit() #10
  %76 = icmp eq i32 %75, -1
  br i1 %76, label %77, label %101

77:                                               ; preds = %72
  %78 = tail call ptr @__errno_location() #11
  %79 = load i32, ptr %78, align 4, !tbaa !5
  %80 = load ptr, ptr @stderr, align 8, !tbaa !9
  %81 = tail call i32 @s2n_print_stacktrace(ptr noundef %80) #10
  %82 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %83 = trunc nuw i8 %82 to i1
  br i1 %83, label %84, label %88

84:                                               ; preds = %77
  %85 = load ptr, ptr @stderr, align 8, !tbaa !9
  %86 = tail call i32 @fileno(ptr noundef %85) #10
  %87 = tail call i32 @isatty(i32 noundef %86) #10
  %.not593 = icmp eq i32 %87, 0
  br i1 %.not593, label %88, label %89

88:                                               ; preds = %84, %77
  br label %89

89:                                               ; preds = %84, %88
  %.str.4.sink605 = phi ptr [ @.str.4, %88 ], [ @.str, %84 ]
  store i32 %79, ptr %78, align 4, !tbaa !5
  %90 = load ptr, ptr @stderr, align 8, !tbaa !9
  %91 = load i32, ptr @test_count, align 4, !tbaa !5
  %92 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %93 = load i32, ptr %92, align 4, !tbaa !5
  %94 = tail call ptr @s2n_strerror(i32 noundef %93, ptr noundef nonnull @.str.3) #10
  %95 = load i32, ptr %92, align 4, !tbaa !5
  %96 = tail call ptr @s2n_strerror_debug(i32 noundef %95, ptr noundef nonnull @.str.3) #10
  %97 = load i32, ptr %78, align 4, !tbaa !5
  %98 = tail call ptr @strerror(i32 noundef %97) #10
  %99 = load i32, ptr %78, align 4, !tbaa !5
  %100 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %90, ptr noundef nonnull %.str.4.sink605, i32 noundef %91, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.2, i32 noundef 33, ptr noundef %94, ptr noundef %96, ptr noundef %98, i32 noundef %99) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

101:                                              ; preds = %72
  %102 = tail call i32 @s2n_init() #10
  %103 = icmp eq i32 %102, -1
  br i1 %103, label %104, label %128

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

111:                                              ; preds = %104
  %112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %113 = tail call i32 @fileno(ptr noundef %112) #10
  %114 = tail call i32 @isatty(i32 noundef %113) #10
  %.not592 = icmp eq i32 %114, 0
  br i1 %.not592, label %115, label %116

115:                                              ; preds = %111, %104
  br label %116

116:                                              ; preds = %111, %115
  %.str.4.sink616 = phi ptr [ @.str.4, %115 ], [ @.str, %111 ]
  store i32 %106, ptr %105, align 4, !tbaa !5
  %117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %118 = load i32, ptr @test_count, align 4, !tbaa !5
  %119 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %120 = load i32, ptr %119, align 4, !tbaa !5
  %121 = tail call ptr @s2n_strerror(i32 noundef %120, ptr noundef nonnull @.str.3) #10
  %122 = load i32, ptr %119, align 4, !tbaa !5
  %123 = tail call ptr @s2n_strerror_debug(i32 noundef %122, ptr noundef nonnull @.str.3) #10
  %124 = load i32, ptr %105, align 4, !tbaa !5
  %125 = tail call ptr @strerror(i32 noundef %124) #10
  %126 = load i32, ptr %105, align 4, !tbaa !5
  %127 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %117, ptr noundef nonnull %.str.4.sink616, i32 noundef %118, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.2, i32 noundef 33, ptr noundef %121, ptr noundef %123, ptr noundef %125, i32 noundef %126) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

128:                                              ; preds = %101
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #10
  store ptr null, ptr %3, align 8, !tbaa !9
  %129 = load i32, ptr @test_count, align 4, !tbaa !5
  %130 = add nsw i32 %129, 1
  store i32 %130, ptr @test_count, align 4, !tbaa !5
  %131 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %3, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.10) #10
  %132 = icmp eq i32 %131, -1
  br i1 %132, label %133, label %157

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

140:                                              ; preds = %133
  %141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %142 = call i32 @fileno(ptr noundef %141) #10
  %143 = call i32 @isatty(i32 noundef %142) #10
  %.not591 = icmp eq i32 %143, 0
  br i1 %.not591, label %144, label %145

144:                                              ; preds = %140, %133
  br label %145

145:                                              ; preds = %140, %144
  %.str.4.sink627 = phi ptr [ @.str.4, %144 ], [ @.str, %140 ]
  store i32 %135, ptr %134, align 4, !tbaa !5
  %146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %147 = load i32, ptr @test_count, align 4, !tbaa !5
  %148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %149 = load i32, ptr %148, align 4, !tbaa !5
  %150 = call ptr @s2n_strerror(i32 noundef %149, ptr noundef nonnull @.str.3) #10
  %151 = load i32, ptr %148, align 4, !tbaa !5
  %152 = call ptr @s2n_strerror_debug(i32 noundef %151, ptr noundef nonnull @.str.3) #10
  %153 = load i32, ptr %134, align 4, !tbaa !5
  %154 = call ptr @strerror(i32 noundef %153) #10
  %155 = load i32, ptr %134, align 4, !tbaa !5
  %156 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %146, ptr noundef nonnull %.str.4.sink627, i32 noundef %147, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.2, i32 noundef 37, ptr noundef %150, ptr noundef %152, ptr noundef %154, i32 noundef %155) #12
  call void @exit(i32 noundef 1) #13
  unreachable

157:                                              ; preds = %128
  %158 = load i32, ptr @test_count, align 4, !tbaa !5
  %159 = add nsw i32 %158, 1
  store i32 %159, ptr @test_count, align 4, !tbaa !5
  %160 = call ptr @s2n_config_new() #10
  %161 = icmp eq ptr %160, null
  br i1 %161, label %162, label %186

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

169:                                              ; preds = %162
  %170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %171 = call i32 @fileno(ptr noundef %170) #10
  %172 = call i32 @isatty(i32 noundef %171) #10
  %.not590 = icmp eq i32 %172, 0
  br i1 %.not590, label %173, label %174

173:                                              ; preds = %169, %162
  br label %174

174:                                              ; preds = %169, %173
  %.str.4.sink638 = phi ptr [ @.str.4, %173 ], [ @.str, %169 ]
  store i32 %164, ptr %163, align 4, !tbaa !5
  %175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %176 = load i32, ptr @test_count, align 4, !tbaa !5
  %177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %178 = load i32, ptr %177, align 4, !tbaa !5
  %179 = call ptr @s2n_strerror(i32 noundef %178, ptr noundef nonnull @.str.3) #10
  %180 = load i32, ptr %177, align 4, !tbaa !5
  %181 = call ptr @s2n_strerror_debug(i32 noundef %180, ptr noundef nonnull @.str.3) #10
  %182 = load i32, ptr %163, align 4, !tbaa !5
  %183 = call ptr @strerror(i32 noundef %182) #10
  %184 = load i32, ptr %163, align 4, !tbaa !5
  %185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %175, ptr noundef nonnull %.str.4.sink638, i32 noundef %176, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 42, ptr noundef %179, ptr noundef %181, ptr noundef %183, i32 noundef %184) #12
  call void @exit(i32 noundef 1) #13
  unreachable

186:                                              ; preds = %157
  %187 = load i32, ptr @test_count, align 4, !tbaa !5
  %188 = add nsw i32 %187, 1
  store i32 %188, ptr @test_count, align 4, !tbaa !5
  %189 = call ptr @s2n_connection_new(i32 noundef 1) #10
  %190 = icmp eq ptr %189, null
  br i1 %190, label %191, label %215

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

198:                                              ; preds = %191
  %199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %200 = call i32 @fileno(ptr noundef %199) #10
  %201 = call i32 @isatty(i32 noundef %200) #10
  %.not589 = icmp eq i32 %201, 0
  br i1 %.not589, label %202, label %203

202:                                              ; preds = %198, %191
  br label %203

203:                                              ; preds = %198, %202
  %.str.4.sink649 = phi ptr [ @.str.4, %202 ], [ @.str, %198 ]
  store i32 %193, ptr %192, align 4, !tbaa !5
  %204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %205 = load i32, ptr @test_count, align 4, !tbaa !5
  %206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %207 = load i32, ptr %206, align 4, !tbaa !5
  %208 = call ptr @s2n_strerror(i32 noundef %207, ptr noundef nonnull @.str.3) #10
  %209 = load i32, ptr %206, align 4, !tbaa !5
  %210 = call ptr @s2n_strerror_debug(i32 noundef %209, ptr noundef nonnull @.str.3) #10
  %211 = load i32, ptr %192, align 4, !tbaa !5
  %212 = call ptr @strerror(i32 noundef %211) #10
  %213 = load i32, ptr %192, align 4, !tbaa !5
  %214 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %204, ptr noundef nonnull %.str.4.sink649, i32 noundef %205, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 45, ptr noundef %208, ptr noundef %210, ptr noundef %212, i32 noundef %213) #12
  call void @exit(i32 noundef 1) #13
  unreachable

215:                                              ; preds = %186
  %216 = load i32, ptr @test_count, align 4, !tbaa !5
  %217 = add nsw i32 %216, 1
  store i32 %217, ptr @test_count, align 4, !tbaa !5
  %218 = call i32 @s2n_connection_set_config(ptr noundef nonnull %189, ptr noundef nonnull %160) #10
  %219 = icmp eq i32 %218, -1
  br i1 %219, label %220, label %244

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

227:                                              ; preds = %220
  %228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %229 = call i32 @fileno(ptr noundef %228) #10
  %230 = call i32 @isatty(i32 noundef %229) #10
  %.not588 = icmp eq i32 %230, 0
  br i1 %.not588, label %231, label %232

231:                                              ; preds = %227, %220
  br label %232

232:                                              ; preds = %227, %231
  %.str.4.sink660 = phi ptr [ @.str.4, %231 ], [ @.str, %227 ]
  store i32 %222, ptr %221, align 4, !tbaa !5
  %233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %234 = load i32, ptr @test_count, align 4, !tbaa !5
  %235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %236 = load i32, ptr %235, align 4, !tbaa !5
  %237 = call ptr @s2n_strerror(i32 noundef %236, ptr noundef nonnull @.str.3) #10
  %238 = load i32, ptr %235, align 4, !tbaa !5
  %239 = call ptr @s2n_strerror_debug(i32 noundef %238, ptr noundef nonnull @.str.3) #10
  %240 = load i32, ptr %221, align 4, !tbaa !5
  %241 = call ptr @strerror(i32 noundef %240) #10
  %242 = load i32, ptr %221, align 4, !tbaa !5
  %243 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %233, ptr noundef nonnull %.str.4.sink660, i32 noundef %234, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.2, i32 noundef 46, ptr noundef %237, ptr noundef %239, ptr noundef %241, i32 noundef %242) #12
  call void @exit(i32 noundef 1) #13
  unreachable

244:                                              ; preds = %215
  %245 = load i32, ptr @test_count, align 4, !tbaa !5
  %246 = add nsw i32 %245, 1
  store i32 %246, ptr @test_count, align 4, !tbaa !5
  %247 = load ptr, ptr getelementptr inbounds (i8, ptr @s2n_cert_status_extension, i64 24), align 8, !tbaa !15
  %248 = call zeroext i1 %247(ptr noundef nonnull %189) #10
  br i1 %248, label %249, label %273

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

256:                                              ; preds = %249
  %257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %258 = call i32 @fileno(ptr noundef %257) #10
  %259 = call i32 @isatty(i32 noundef %258) #10
  %.not587 = icmp eq i32 %259, 0
  br i1 %.not587, label %260, label %261

260:                                              ; preds = %256, %249
  br label %261

261:                                              ; preds = %256, %260
  %.str.4.sink671 = phi ptr [ @.str.4, %260 ], [ @.str, %256 ]
  store i32 %251, ptr %250, align 4, !tbaa !5
  %262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %263 = load i32, ptr @test_count, align 4, !tbaa !5
  %264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %265 = load i32, ptr %264, align 4, !tbaa !5
  %266 = call ptr @s2n_strerror(i32 noundef %265, ptr noundef nonnull @.str.3) #10
  %267 = load i32, ptr %264, align 4, !tbaa !5
  %268 = call ptr @s2n_strerror_debug(i32 noundef %267, ptr noundef nonnull @.str.3) #10
  %269 = load i32, ptr %250, align 4, !tbaa !5
  %270 = call ptr @strerror(i32 noundef %269) #10
  %271 = load i32, ptr %250, align 4, !tbaa !5
  %272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %262, ptr noundef nonnull %.str.4.sink671, i32 noundef %263, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.2, i32 noundef 49, ptr noundef %266, ptr noundef %268, ptr noundef %270, i32 noundef %271) #12
  call void @exit(i32 noundef 1) #13
  unreachable

273:                                              ; preds = %244
  %274 = load i32, ptr @test_count, align 4, !tbaa !5
  %275 = add nsw i32 %274, 1
  store i32 %275, ptr @test_count, align 4, !tbaa !5
  %276 = load ptr, ptr %3, align 8, !tbaa !9
  %277 = call i32 @s2n_test_enable_sending_extension(ptr noundef nonnull %189, ptr noundef %276)
  %278 = icmp eq i32 %277, -1
  br i1 %278, label %279, label %303

279:                                              ; preds = %273
  %280 = tail call ptr @__errno_location() #11
  %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) #10
  %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) #10
  %289 = call i32 @isatty(i32 noundef %288) #10
  %.not586 = icmp eq i32 %289, 0
  br i1 %.not586, label %290, label %291

290:                                              ; preds = %286, %279
  br label %291

291:                                              ; preds = %286, %290
  %.str.4.sink682 = phi ptr [ @.str.4, %290 ], [ @.str, %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.3) #10
  %297 = load i32, ptr %294, align 4, !tbaa !5
  %298 = call ptr @s2n_strerror_debug(i32 noundef %297, ptr noundef nonnull @.str.3) #10
  %299 = load i32, ptr %280, align 4, !tbaa !5
  %300 = call ptr @strerror(i32 noundef %299) #10
  %301 = load i32, ptr %280, align 4, !tbaa !5
  %302 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %292, ptr noundef nonnull %.str.4.sink682, i32 noundef %293, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 52, ptr noundef %296, ptr noundef %298, ptr noundef %300, i32 noundef %301) #12
  call void @exit(i32 noundef 1) #13
  unreachable

303:                                              ; preds = %273
  %304 = load i32, ptr @test_count, align 4, !tbaa !5
  %305 = add nsw i32 %304, 1
  store i32 %305, ptr @test_count, align 4, !tbaa !5
  %306 = call zeroext i1 %247(ptr noundef nonnull %189) #10
  br i1 %306, label %331, label %307

307:                                              ; preds = %303
  %308 = tail call ptr @__errno_location() #11
  %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) #10
  %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) #10
  %317 = call i32 @isatty(i32 noundef %316) #10
  %.not = icmp eq i32 %317, 0
  br i1 %.not, label %318, label %319

318:                                              ; preds = %314, %307
  br label %319

319:                                              ; preds = %314, %318
  %.str.4.sink693 = phi ptr [ @.str.4, %318 ], [ @.str, %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.3) #10
  %325 = load i32, ptr %322, align 4, !tbaa !5
  %326 = call ptr @s2n_strerror_debug(i32 noundef %325, ptr noundef nonnull @.str.3) #10
  %327 = load i32, ptr %308, align 4, !tbaa !5
  %328 = call ptr @strerror(i32 noundef %327) #10
  %329 = load i32, ptr %308, align 4, !tbaa !5
  %330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %320, ptr noundef nonnull %.str.4.sink693, i32 noundef %321, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.2, i32 noundef 53, ptr noundef %324, ptr noundef %326, ptr noundef %328, i32 noundef %329) #12
  call void @exit(i32 noundef 1) #13
  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 = load ptr, ptr %3, align 8, !tbaa !9
  %335 = call i32 @s2n_test_enable_sending_extension(ptr noundef nonnull %189, ptr noundef %334)
  %336 = icmp eq i32 %335, -1
  br i1 %336, label %337, label %361

337:                                              ; preds = %331
  %338 = tail call ptr @__errno_location() #11
  %339 = load i32, ptr %338, align 4, !tbaa !5
  %340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %341 = call i32 @s2n_print_stacktrace(ptr noundef %340) #10
  %342 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %343 = trunc nuw i8 %342 to i1
  br i1 %343, label %344, label %348

344:                                              ; preds = %337
  %345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %346 = call i32 @fileno(ptr noundef %345) #10
  %347 = call i32 @isatty(i32 noundef %346) #10
  %.not585 = icmp eq i32 %347, 0
  br i1 %.not585, label %348, label %349

348:                                              ; preds = %344, %337
  br label %349

349:                                              ; preds = %344, %348
  %.str.4.sink704 = phi ptr [ @.str.4, %348 ], [ @.str, %344 ]
  store i32 %339, ptr %338, align 4, !tbaa !5
  %350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %351 = load i32, ptr @test_count, align 4, !tbaa !5
  %352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %353 = load i32, ptr %352, align 4, !tbaa !5
  %354 = call ptr @s2n_strerror(i32 noundef %353, ptr noundef nonnull @.str.3) #10
  %355 = load i32, ptr %352, align 4, !tbaa !5
  %356 = call ptr @s2n_strerror_debug(i32 noundef %355, ptr noundef nonnull @.str.3) #10
  %357 = load i32, ptr %338, align 4, !tbaa !5
  %358 = call ptr @strerror(i32 noundef %357) #10
  %359 = load i32, ptr %338, align 4, !tbaa !5
  %360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %350, ptr noundef nonnull %.str.4.sink704, i32 noundef %351, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 56, ptr noundef %354, ptr noundef %356, ptr noundef %358, i32 noundef %359) #12
  call void @exit(i32 noundef 1) #13
  unreachable

361:                                              ; preds = %331
  %362 = getelementptr inbounds i8, ptr %189, i64 148
  store i32 1, ptr %362, align 4, !tbaa !18
  %363 = load i32, ptr @test_count, align 4, !tbaa !5
  %364 = add nsw i32 %363, 1
  store i32 %364, ptr @test_count, align 4, !tbaa !5
  %365 = call zeroext i1 %247(ptr noundef nonnull %189) #10
  br i1 %365, label %390, label %366

366:                                              ; preds = %361
  %367 = tail call ptr @__errno_location() #11
  %368 = load i32, ptr %367, align 4, !tbaa !5
  %369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %370 = call i32 @s2n_print_stacktrace(ptr noundef %369) #10
  %371 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %372 = trunc nuw i8 %371 to i1
  br i1 %372, label %373, label %377

373:                                              ; preds = %366
  %374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %375 = call i32 @fileno(ptr noundef %374) #10
  %376 = call i32 @isatty(i32 noundef %375) #10
  %.not417 = icmp eq i32 %376, 0
  br i1 %.not417, label %377, label %378

377:                                              ; preds = %373, %366
  br label %378

378:                                              ; preds = %373, %377
  %.str.4.sink715 = phi ptr [ @.str.4, %377 ], [ @.str, %373 ]
  store i32 %368, ptr %367, align 4, !tbaa !5
  %379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %380 = load i32, ptr @test_count, align 4, !tbaa !5
  %381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %382 = load i32, ptr %381, align 4, !tbaa !5
  %383 = call ptr @s2n_strerror(i32 noundef %382, ptr noundef nonnull @.str.3) #10
  %384 = load i32, ptr %381, align 4, !tbaa !5
  %385 = call ptr @s2n_strerror_debug(i32 noundef %384, ptr noundef nonnull @.str.3) #10
  %386 = load i32, ptr %367, align 4, !tbaa !5
  %387 = call ptr @strerror(i32 noundef %386) #10
  %388 = load i32, ptr %367, align 4, !tbaa !5
  %389 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %379, ptr noundef nonnull %.str.4.sink715, i32 noundef %380, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.2, i32 noundef 58, ptr noundef %383, ptr noundef %385, ptr noundef %387, i32 noundef %388) #12
  call void @exit(i32 noundef 1) #13
  unreachable

390:                                              ; preds = %361
  %391 = load i32, ptr @test_count, align 4, !tbaa !5
  %392 = add nsw i32 %391, 1
  store i32 %392, ptr @test_count, align 4, !tbaa !5
  %393 = load ptr, ptr %3, align 8, !tbaa !9
  %394 = call i32 @s2n_test_enable_sending_extension(ptr noundef nonnull %189, ptr noundef %393)
  %395 = icmp eq i32 %394, -1
  br i1 %395, label %396, label %420

396:                                              ; preds = %390
  %397 = tail call ptr @__errno_location() #11
  %398 = load i32, ptr %397, align 4, !tbaa !5
  %399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %400 = call i32 @s2n_print_stacktrace(ptr noundef %399) #10
  %401 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %402 = trunc nuw i8 %401 to i1
  br i1 %402, label %403, label %407

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

407:                                              ; preds = %403, %396
  br label %408

408:                                              ; preds = %403, %407
  %.str.4.sink726 = phi ptr [ @.str.4, %407 ], [ @.str, %403 ]
  store i32 %398, ptr %397, align 4, !tbaa !5
  %409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %410 = load i32, ptr @test_count, align 4, !tbaa !5
  %411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %412 = load i32, ptr %411, align 4, !tbaa !5
  %413 = call ptr @s2n_strerror(i32 noundef %412, ptr noundef nonnull @.str.3) #10
  %414 = load i32, ptr %411, align 4, !tbaa !5
  %415 = call ptr @s2n_strerror_debug(i32 noundef %414, ptr noundef nonnull @.str.3) #10
  %416 = load i32, ptr %397, align 4, !tbaa !5
  %417 = call ptr @strerror(i32 noundef %416) #10
  %418 = load i32, ptr %397, align 4, !tbaa !5
  %419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %409, ptr noundef nonnull %.str.4.sink726, i32 noundef %410, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 61, ptr noundef %413, ptr noundef %415, ptr noundef %417, i32 noundef %418) #12
  call void @exit(i32 noundef 1) #13
  unreachable

420:                                              ; preds = %390
  store i32 0, ptr %362, align 4, !tbaa !18
  %421 = load i32, ptr @test_count, align 4, !tbaa !5
  %422 = add nsw i32 %421, 1
  store i32 %422, ptr @test_count, align 4, !tbaa !5
  %423 = call zeroext i1 %247(ptr noundef nonnull %189) #10
  br i1 %423, label %448, label %424

424:                                              ; preds = %420
  %425 = tail call ptr @__errno_location() #11
  %426 = load i32, ptr %425, align 4, !tbaa !5
  %427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %428 = call i32 @s2n_print_stacktrace(ptr noundef %427) #10
  %429 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %430 = trunc nuw i8 %429 to i1
  br i1 %430, label %431, label %435

431:                                              ; preds = %424
  %432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %433 = call i32 @fileno(ptr noundef %432) #10
  %434 = call i32 @isatty(i32 noundef %433) #10
  %.not418 = icmp eq i32 %434, 0
  br i1 %.not418, label %435, label %436

435:                                              ; preds = %431, %424
  br label %436

436:                                              ; preds = %431, %435
  %.str.4.sink737 = phi ptr [ @.str.4, %435 ], [ @.str, %431 ]
  store i32 %426, ptr %425, align 4, !tbaa !5
  %437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %438 = load i32, ptr @test_count, align 4, !tbaa !5
  %439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %440 = load i32, ptr %439, align 4, !tbaa !5
  %441 = call ptr @s2n_strerror(i32 noundef %440, ptr noundef nonnull @.str.3) #10
  %442 = load i32, ptr %439, align 4, !tbaa !5
  %443 = call ptr @s2n_strerror_debug(i32 noundef %442, ptr noundef nonnull @.str.3) #10
  %444 = load i32, ptr %425, align 4, !tbaa !5
  %445 = call ptr @strerror(i32 noundef %444) #10
  %446 = load i32, ptr %425, align 4, !tbaa !5
  %447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %437, ptr noundef nonnull %.str.4.sink737, i32 noundef %438, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.2, i32 noundef 63, ptr noundef %441, ptr noundef %443, ptr noundef %445, i32 noundef %446) #12
  call void @exit(i32 noundef 1) #13
  unreachable

448:                                              ; preds = %420
  %449 = load i32, ptr @test_count, align 4, !tbaa !5
  %450 = add nsw i32 %449, 1
  store i32 %450, ptr @test_count, align 4, !tbaa !5
  %451 = load ptr, ptr %3, align 8, !tbaa !9
  %452 = call i32 @s2n_test_enable_sending_extension(ptr noundef nonnull %189, ptr noundef %451)
  %453 = icmp eq i32 %452, -1
  br i1 %453, label %454, label %478

454:                                              ; preds = %448
  %455 = tail call ptr @__errno_location() #11
  %456 = load i32, ptr %455, align 4, !tbaa !5
  %457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %458 = call i32 @s2n_print_stacktrace(ptr noundef %457) #10
  %459 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %460 = trunc nuw i8 %459 to i1
  br i1 %460, label %461, label %465

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

465:                                              ; preds = %461, %454
  br label %466

466:                                              ; preds = %461, %465
  %.str.4.sink748 = phi ptr [ @.str.4, %465 ], [ @.str, %461 ]
  store i32 %456, ptr %455, align 4, !tbaa !5
  %467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %468 = load i32, ptr @test_count, align 4, !tbaa !5
  %469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %470 = load i32, ptr %469, align 4, !tbaa !5
  %471 = call ptr @s2n_strerror(i32 noundef %470, ptr noundef nonnull @.str.3) #10
  %472 = load i32, ptr %469, align 4, !tbaa !5
  %473 = call ptr @s2n_strerror_debug(i32 noundef %472, ptr noundef nonnull @.str.3) #10
  %474 = load i32, ptr %455, align 4, !tbaa !5
  %475 = call ptr @strerror(i32 noundef %474) #10
  %476 = load i32, ptr %455, align 4, !tbaa !5
  %477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %467, ptr noundef nonnull %.str.4.sink748, i32 noundef %468, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 66, ptr noundef %471, ptr noundef %473, ptr noundef %475, i32 noundef %476) #12
  call void @exit(i32 noundef 1) #13
  unreachable

478:                                              ; preds = %448
  %479 = getelementptr inbounds i8, ptr %189, i64 1544
  store ptr null, ptr %479, align 8, !tbaa !44
  %480 = load i32, ptr @test_count, align 4, !tbaa !5
  %481 = add nsw i32 %480, 1
  store i32 %481, ptr @test_count, align 4, !tbaa !5
  %482 = call zeroext i1 %247(ptr noundef nonnull %189) #10
  br i1 %482, label %483, label %507

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

490:                                              ; preds = %483
  %491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %492 = call i32 @fileno(ptr noundef %491) #10
  %493 = call i32 @isatty(i32 noundef %492) #10
  %.not582 = icmp eq i32 %493, 0
  br i1 %.not582, label %494, label %495

494:                                              ; preds = %490, %483
  br label %495

495:                                              ; preds = %490, %494
  %.str.4.sink759 = phi ptr [ @.str.4, %494 ], [ @.str, %490 ]
  store i32 %485, ptr %484, align 4, !tbaa !5
  %496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %497 = load i32, ptr @test_count, align 4, !tbaa !5
  %498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %499 = load i32, ptr %498, align 4, !tbaa !5
  %500 = call ptr @s2n_strerror(i32 noundef %499, ptr noundef nonnull @.str.3) #10
  %501 = load i32, ptr %498, align 4, !tbaa !5
  %502 = call ptr @s2n_strerror_debug(i32 noundef %501, ptr noundef nonnull @.str.3) #10
  %503 = load i32, ptr %484, align 4, !tbaa !5
  %504 = call ptr @strerror(i32 noundef %503) #10
  %505 = load i32, ptr %484, align 4, !tbaa !5
  %506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %496, ptr noundef nonnull %.str.4.sink759, i32 noundef %497, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.2, i32 noundef 68, ptr noundef %500, ptr noundef %502, ptr noundef %504, i32 noundef %505) #12
  call void @exit(i32 noundef 1) #13
  unreachable

507:                                              ; preds = %478
  %508 = load i32, ptr @test_count, align 4, !tbaa !5
  %509 = add nsw i32 %508, 1
  store i32 %509, ptr @test_count, align 4, !tbaa !5
  %510 = load ptr, ptr %3, align 8, !tbaa !9
  %511 = call i32 @s2n_test_enable_sending_extension(ptr noundef nonnull %189, ptr noundef %510)
  %512 = icmp eq i32 %511, -1
  br i1 %512, label %513, label %537

513:                                              ; preds = %507
  %514 = tail call ptr @__errno_location() #11
  %515 = load i32, ptr %514, align 4, !tbaa !5
  %516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %517 = call i32 @s2n_print_stacktrace(ptr noundef %516) #10
  %518 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %519 = trunc nuw i8 %518 to i1
  br i1 %519, label %520, label %524

520:                                              ; preds = %513
  %521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %522 = call i32 @fileno(ptr noundef %521) #10
  %523 = call i32 @isatty(i32 noundef %522) #10
  %.not581 = icmp eq i32 %523, 0
  br i1 %.not581, label %524, label %525

524:                                              ; preds = %520, %513
  br label %525

525:                                              ; preds = %520, %524
  %.str.4.sink770 = phi ptr [ @.str.4, %524 ], [ @.str, %520 ]
  store i32 %515, ptr %514, align 4, !tbaa !5
  %526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %527 = load i32, ptr @test_count, align 4, !tbaa !5
  %528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %529 = load i32, ptr %528, align 4, !tbaa !5
  %530 = call ptr @s2n_strerror(i32 noundef %529, ptr noundef nonnull @.str.3) #10
  %531 = load i32, ptr %528, align 4, !tbaa !5
  %532 = call ptr @s2n_strerror_debug(i32 noundef %531, ptr noundef nonnull @.str.3) #10
  %533 = load i32, ptr %514, align 4, !tbaa !5
  %534 = call ptr @strerror(i32 noundef %533) #10
  %535 = load i32, ptr %514, align 4, !tbaa !5
  %536 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %526, ptr noundef nonnull %.str.4.sink770, i32 noundef %527, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 71, ptr noundef %530, ptr noundef %532, ptr noundef %534, i32 noundef %535) #12
  call void @exit(i32 noundef 1) #13
  unreachable

537:                                              ; preds = %507
  %538 = load i32, ptr @test_count, align 4, !tbaa !5
  %539 = add nsw i32 %538, 1
  store i32 %539, ptr @test_count, align 4, !tbaa !5
  %540 = load ptr, ptr %479, align 8, !tbaa !44
  %541 = getelementptr inbounds i8, ptr %540, i64 16
  %542 = call i32 @s2n_free(ptr noundef nonnull %541) #10
  %543 = icmp eq i32 %542, -1
  br i1 %543, label %544, label %568

544:                                              ; preds = %537
  %545 = tail call ptr @__errno_location() #11
  %546 = load i32, ptr %545, align 4, !tbaa !5
  %547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %548 = call i32 @s2n_print_stacktrace(ptr noundef %547) #10
  %549 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %550 = trunc nuw i8 %549 to i1
  br i1 %550, label %551, label %555

551:                                              ; preds = %544
  %552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %553 = call i32 @fileno(ptr noundef %552) #10
  %554 = call i32 @isatty(i32 noundef %553) #10
  %.not580 = icmp eq i32 %554, 0
  br i1 %.not580, label %555, label %556

555:                                              ; preds = %551, %544
  br label %556

556:                                              ; preds = %551, %555
  %.str.4.sink781 = phi ptr [ @.str.4, %555 ], [ @.str, %551 ]
  store i32 %546, ptr %545, align 4, !tbaa !5
  %557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %558 = load i32, ptr @test_count, align 4, !tbaa !5
  %559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %560 = load i32, ptr %559, align 4, !tbaa !5
  %561 = call ptr @s2n_strerror(i32 noundef %560, ptr noundef nonnull @.str.3) #10
  %562 = load i32, ptr %559, align 4, !tbaa !5
  %563 = call ptr @s2n_strerror_debug(i32 noundef %562, ptr noundef nonnull @.str.3) #10
  %564 = load i32, ptr %545, align 4, !tbaa !5
  %565 = call ptr @strerror(i32 noundef %564) #10
  %566 = load i32, ptr %545, align 4, !tbaa !5
  %567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %557, ptr noundef nonnull %.str.4.sink781, i32 noundef %558, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.2, i32 noundef 72, ptr noundef %561, ptr noundef %563, ptr noundef %565, i32 noundef %566) #12
  call void @exit(i32 noundef 1) #13
  unreachable

568:                                              ; preds = %537
  %569 = load i32, ptr @test_count, align 4, !tbaa !5
  %570 = add nsw i32 %569, 1
  store i32 %570, ptr @test_count, align 4, !tbaa !5
  %571 = call zeroext i1 %247(ptr noundef nonnull %189) #10
  br i1 %571, label %572, label %596

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

579:                                              ; preds = %572
  %580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %581 = call i32 @fileno(ptr noundef %580) #10
  %582 = call i32 @isatty(i32 noundef %581) #10
  %.not579 = icmp eq i32 %582, 0
  br i1 %.not579, label %583, label %584

583:                                              ; preds = %579, %572
  br label %584

584:                                              ; preds = %579, %583
  %.str.4.sink792 = phi ptr [ @.str.4, %583 ], [ @.str, %579 ]
  store i32 %574, ptr %573, align 4, !tbaa !5
  %585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %586 = load i32, ptr @test_count, align 4, !tbaa !5
  %587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %588 = load i32, ptr %587, align 4, !tbaa !5
  %589 = call ptr @s2n_strerror(i32 noundef %588, ptr noundef nonnull @.str.3) #10
  %590 = load i32, ptr %587, align 4, !tbaa !5
  %591 = call ptr @s2n_strerror_debug(i32 noundef %590, ptr noundef nonnull @.str.3) #10
  %592 = load i32, ptr %573, align 4, !tbaa !5
  %593 = call ptr @strerror(i32 noundef %592) #10
  %594 = load i32, ptr %573, align 4, !tbaa !5
  %595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %585, ptr noundef nonnull %.str.4.sink792, i32 noundef %586, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.2, i32 noundef 73, ptr noundef %589, ptr noundef %591, ptr noundef %593, i32 noundef %594) #12
  call void @exit(i32 noundef 1) #13
  unreachable

596:                                              ; preds = %568
  %597 = load i32, ptr @test_count, align 4, !tbaa !5
  %598 = add nsw i32 %597, 1
  store i32 %598, ptr @test_count, align 4, !tbaa !5
  %599 = call i32 @s2n_connection_free(ptr noundef nonnull %189) #10
  %600 = icmp eq i32 %599, -1
  br i1 %600, label %601, label %625

601:                                              ; preds = %596
  %602 = tail call ptr @__errno_location() #11
  %603 = load i32, ptr %602, align 4, !tbaa !5
  %604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %605 = call i32 @s2n_print_stacktrace(ptr noundef %604) #10
  %606 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %607 = trunc nuw i8 %606 to i1
  br i1 %607, label %608, label %612

608:                                              ; preds = %601
  %609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %610 = call i32 @fileno(ptr noundef %609) #10
  %611 = call i32 @isatty(i32 noundef %610) #10
  %.not578 = icmp eq i32 %611, 0
  br i1 %.not578, label %612, label %613

612:                                              ; preds = %608, %601
  br label %613

613:                                              ; preds = %608, %612
  %.str.4.sink803 = phi ptr [ @.str.4, %612 ], [ @.str, %608 ]
  store i32 %603, ptr %602, align 4, !tbaa !5
  %614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %615 = load i32, ptr @test_count, align 4, !tbaa !5
  %616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %617 = load i32, ptr %616, align 4, !tbaa !5
  %618 = call ptr @s2n_strerror(i32 noundef %617, ptr noundef nonnull @.str.3) #10
  %619 = load i32, ptr %616, align 4, !tbaa !5
  %620 = call ptr @s2n_strerror_debug(i32 noundef %619, ptr noundef nonnull @.str.3) #10
  %621 = load i32, ptr %602, align 4, !tbaa !5
  %622 = call ptr @strerror(i32 noundef %621) #10
  %623 = load i32, ptr %602, align 4, !tbaa !5
  %624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %614, ptr noundef nonnull %.str.4.sink803, i32 noundef %615, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.2, i32 noundef 75, ptr noundef %618, ptr noundef %620, ptr noundef %622, i32 noundef %623) #12
  call void @exit(i32 noundef 1) #13
  unreachable

625:                                              ; preds = %596
  %626 = load i32, ptr @test_count, align 4, !tbaa !5
  %627 = add nsw i32 %626, 1
  store i32 %627, ptr @test_count, align 4, !tbaa !5
  %628 = call i32 @s2n_config_free(ptr noundef nonnull %160) #10
  %629 = icmp eq i32 %628, -1
  br i1 %629, label %630, label %654

630:                                              ; preds = %625
  %631 = tail call ptr @__errno_location() #11
  %632 = load i32, ptr %631, align 4, !tbaa !5
  %633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %634 = call i32 @s2n_print_stacktrace(ptr noundef %633) #10
  %635 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %636 = trunc nuw i8 %635 to i1
  br i1 %636, label %637, label %641

637:                                              ; preds = %630
  %638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %639 = call i32 @fileno(ptr noundef %638) #10
  %640 = call i32 @isatty(i32 noundef %639) #10
  %.not577 = icmp eq i32 %640, 0
  br i1 %.not577, label %641, label %642

641:                                              ; preds = %637, %630
  br label %642

642:                                              ; preds = %637, %641
  %.str.4.sink814 = phi ptr [ @.str.4, %641 ], [ @.str, %637 ]
  store i32 %632, ptr %631, align 4, !tbaa !5
  %643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %644 = load i32, ptr @test_count, align 4, !tbaa !5
  %645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %646 = load i32, ptr %645, align 4, !tbaa !5
  %647 = call ptr @s2n_strerror(i32 noundef %646, ptr noundef nonnull @.str.3) #10
  %648 = load i32, ptr %645, align 4, !tbaa !5
  %649 = call ptr @s2n_strerror_debug(i32 noundef %648, ptr noundef nonnull @.str.3) #10
  %650 = load i32, ptr %631, align 4, !tbaa !5
  %651 = call ptr @strerror(i32 noundef %650) #10
  %652 = load i32, ptr %631, align 4, !tbaa !5
  %653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %643, ptr noundef nonnull %.str.4.sink814, i32 noundef %644, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.2, i32 noundef 76, ptr noundef %647, ptr noundef %649, ptr noundef %651, i32 noundef %652) #12
  call void @exit(i32 noundef 1) #13
  unreachable

654:                                              ; preds = %625
  %655 = load i32, ptr @test_count, align 4, !tbaa !5
  %656 = add nsw i32 %655, 1
  store i32 %656, ptr @test_count, align 4, !tbaa !5
  %657 = call ptr @s2n_connection_new(i32 noundef 0) #10
  %658 = icmp eq ptr %657, null
  br i1 %658, label %659, label %683

659:                                              ; preds = %654
  %660 = tail call ptr @__errno_location() #11
  %661 = load i32, ptr %660, align 4, !tbaa !5
  %662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %663 = call i32 @s2n_print_stacktrace(ptr noundef %662) #10
  %664 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %665 = trunc nuw i8 %664 to i1
  br i1 %665, label %666, label %670

666:                                              ; preds = %659
  %667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %668 = call i32 @fileno(ptr noundef %667) #10
  %669 = call i32 @isatty(i32 noundef %668) #10
  %.not576 = icmp eq i32 %669, 0
  br i1 %.not576, label %670, label %671

670:                                              ; preds = %666, %659
  br label %671

671:                                              ; preds = %666, %670
  %.str.4.sink825 = phi ptr [ @.str.4, %670 ], [ @.str, %666 ]
  store i32 %661, ptr %660, align 4, !tbaa !5
  %672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %673 = load i32, ptr @test_count, align 4, !tbaa !5
  %674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %675 = load i32, ptr %674, align 4, !tbaa !5
  %676 = call ptr @s2n_strerror(i32 noundef %675, ptr noundef nonnull @.str.3) #10
  %677 = load i32, ptr %674, align 4, !tbaa !5
  %678 = call ptr @s2n_strerror_debug(i32 noundef %677, ptr noundef nonnull @.str.3) #10
  %679 = load i32, ptr %660, align 4, !tbaa !5
  %680 = call ptr @strerror(i32 noundef %679) #10
  %681 = load i32, ptr %660, align 4, !tbaa !5
  %682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %672, ptr noundef nonnull %.str.4.sink825, i32 noundef %673, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.2, i32 noundef 82, ptr noundef %676, ptr noundef %678, ptr noundef %680, i32 noundef %681) #12
  call void @exit(i32 noundef 1) #13
  unreachable

683:                                              ; preds = %654
  %684 = load i32, ptr @test_count, align 4, !tbaa !5
  %685 = add nsw i32 %684, 1
  store i32 %685, ptr @test_count, align 4, !tbaa !5
  %686 = load ptr, ptr %3, align 8, !tbaa !9
  %687 = call i32 @s2n_test_enable_sending_extension(ptr noundef nonnull %657, ptr noundef %686)
  %688 = icmp eq i32 %687, -1
  br i1 %688, label %689, label %713

689:                                              ; preds = %683
  %690 = tail call ptr @__errno_location() #11
  %691 = load i32, ptr %690, align 4, !tbaa !5
  %692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %693 = call i32 @s2n_print_stacktrace(ptr noundef %692) #10
  %694 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %695 = trunc nuw i8 %694 to i1
  br i1 %695, label %696, label %700

696:                                              ; preds = %689
  %697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %698 = call i32 @fileno(ptr noundef %697) #10
  %699 = call i32 @isatty(i32 noundef %698) #10
  %.not575 = icmp eq i32 %699, 0
  br i1 %.not575, label %700, label %701

700:                                              ; preds = %696, %689
  br label %701

701:                                              ; preds = %696, %700
  %.str.4.sink836 = phi ptr [ @.str.4, %700 ], [ @.str, %696 ]
  store i32 %691, ptr %690, align 4, !tbaa !5
  %702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %703 = load i32, ptr @test_count, align 4, !tbaa !5
  %704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %705 = load i32, ptr %704, align 4, !tbaa !5
  %706 = call ptr @s2n_strerror(i32 noundef %705, ptr noundef nonnull @.str.3) #10
  %707 = load i32, ptr %704, align 4, !tbaa !5
  %708 = call ptr @s2n_strerror_debug(i32 noundef %707, ptr noundef nonnull @.str.3) #10
  %709 = load i32, ptr %690, align 4, !tbaa !5
  %710 = call ptr @strerror(i32 noundef %709) #10
  %711 = load i32, ptr %690, align 4, !tbaa !5
  %712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %702, ptr noundef nonnull %.str.4.sink836, i32 noundef %703, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 83, ptr noundef %706, ptr noundef %708, ptr noundef %710, i32 noundef %711) #12
  call void @exit(i32 noundef 1) #13
  unreachable

713:                                              ; preds = %683
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %4) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %4, i8 0, i64 40, i1 false)
  %714 = load i32, ptr @test_count, align 4, !tbaa !5
  %715 = add nsw i32 %714, 1
  store i32 %715, ptr @test_count, align 4, !tbaa !5
  %716 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %4, i32 noundef 0) #10
  %717 = icmp eq i32 %716, -1
  br i1 %717, label %718, label %742

718:                                              ; preds = %713
  %719 = tail call ptr @__errno_location() #11
  %720 = load i32, ptr %719, align 4, !tbaa !5
  %721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %722 = call i32 @s2n_print_stacktrace(ptr noundef %721) #10
  %723 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %724 = trunc nuw i8 %723 to i1
  br i1 %724, label %725, label %729

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

729:                                              ; preds = %725, %718
  br label %730

730:                                              ; preds = %725, %729
  %.str.4.sink847 = phi ptr [ @.str.4, %729 ], [ @.str, %725 ]
  store i32 %720, ptr %719, align 4, !tbaa !5
  %731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %732 = load i32, ptr @test_count, align 4, !tbaa !5
  %733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %734 = load i32, ptr %733, align 4, !tbaa !5
  %735 = call ptr @s2n_strerror(i32 noundef %734, ptr noundef nonnull @.str.3) #10
  %736 = load i32, ptr %733, align 4, !tbaa !5
  %737 = call ptr @s2n_strerror_debug(i32 noundef %736, ptr noundef nonnull @.str.3) #10
  %738 = load i32, ptr %719, align 4, !tbaa !5
  %739 = call ptr @strerror(i32 noundef %738) #10
  %740 = load i32, ptr %719, align 4, !tbaa !5
  %741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %731, ptr noundef nonnull %.str.4.sink847, i32 noundef %732, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.2, i32 noundef 86, ptr noundef %735, ptr noundef %737, ptr noundef %739, i32 noundef %740) #12
  call void @exit(i32 noundef 1) #13
  unreachable

742:                                              ; preds = %713
  %743 = load i32, ptr @test_count, align 4, !tbaa !5
  %744 = add nsw i32 %743, 1
  store i32 %744, ptr @test_count, align 4, !tbaa !5
  %745 = load ptr, ptr getelementptr inbounds (i8, ptr @s2n_cert_status_extension, i64 8), align 8, !tbaa !45
  %746 = call i32 %745(ptr noundef nonnull %657, ptr noundef nonnull %4) #10
  %747 = icmp eq i32 %746, -1
  br i1 %747, label %748, label %772

748:                                              ; preds = %742
  %749 = tail call ptr @__errno_location() #11
  %750 = load i32, ptr %749, align 4, !tbaa !5
  %751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %752 = call i32 @s2n_print_stacktrace(ptr noundef %751) #10
  %753 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %754 = trunc nuw i8 %753 to i1
  br i1 %754, label %755, label %759

755:                                              ; preds = %748
  %756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %757 = call i32 @fileno(ptr noundef %756) #10
  %758 = call i32 @isatty(i32 noundef %757) #10
  %.not573 = icmp eq i32 %758, 0
  br i1 %.not573, label %759, label %760

759:                                              ; preds = %755, %748
  br label %760

760:                                              ; preds = %755, %759
  %.str.4.sink858 = phi ptr [ @.str.4, %759 ], [ @.str, %755 ]
  store i32 %750, ptr %749, align 4, !tbaa !5
  %761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %762 = load i32, ptr @test_count, align 4, !tbaa !5
  %763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %764 = load i32, ptr %763, align 4, !tbaa !5
  %765 = call ptr @s2n_strerror(i32 noundef %764, ptr noundef nonnull @.str.3) #10
  %766 = load i32, ptr %763, align 4, !tbaa !5
  %767 = call ptr @s2n_strerror_debug(i32 noundef %766, ptr noundef nonnull @.str.3) #10
  %768 = load i32, ptr %749, align 4, !tbaa !5
  %769 = call ptr @strerror(i32 noundef %768) #10
  %770 = load i32, ptr %749, align 4, !tbaa !5
  %771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %761, ptr noundef nonnull %.str.4.sink858, i32 noundef %762, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.2, i32 noundef 88, ptr noundef %765, ptr noundef %767, ptr noundef %769, i32 noundef %770) #12
  call void @exit(i32 noundef 1) #13
  unreachable

772:                                              ; preds = %742
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %5) #10
  store i8 0, ptr %5, align 1, !tbaa !46
  %773 = load i32, ptr @test_count, align 4, !tbaa !5
  %774 = add nsw i32 %773, 1
  store i32 %774, ptr @test_count, align 4, !tbaa !5
  %775 = call i32 @s2n_stuffer_read_uint8(ptr noundef nonnull %4, ptr noundef nonnull %5) #10
  %776 = icmp eq i32 %775, -1
  br i1 %776, label %777, label %801

777:                                              ; preds = %772
  %778 = tail call ptr @__errno_location() #11
  %779 = load i32, ptr %778, align 4, !tbaa !5
  %780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %781 = call i32 @s2n_print_stacktrace(ptr noundef %780) #10
  %782 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %783 = trunc nuw i8 %782 to i1
  br i1 %783, label %784, label %788

784:                                              ; preds = %777
  %785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %786 = call i32 @fileno(ptr noundef %785) #10
  %787 = call i32 @isatty(i32 noundef %786) #10
  %.not572 = icmp eq i32 %787, 0
  br i1 %.not572, label %788, label %789

788:                                              ; preds = %784, %777
  br label %789

789:                                              ; preds = %784, %788
  %.str.4.sink869 = phi ptr [ @.str.4, %788 ], [ @.str, %784 ]
  store i32 %779, ptr %778, align 4, !tbaa !5
  %790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %791 = load i32, ptr @test_count, align 4, !tbaa !5
  %792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %793 = load i32, ptr %792, align 4, !tbaa !5
  %794 = call ptr @s2n_strerror(i32 noundef %793, ptr noundef nonnull @.str.3) #10
  %795 = load i32, ptr %792, align 4, !tbaa !5
  %796 = call ptr @s2n_strerror_debug(i32 noundef %795, ptr noundef nonnull @.str.3) #10
  %797 = load i32, ptr %778, align 4, !tbaa !5
  %798 = call ptr @strerror(i32 noundef %797) #10
  %799 = load i32, ptr %778, align 4, !tbaa !5
  %800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %790, ptr noundef nonnull %.str.4.sink869, i32 noundef %791, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.2, i32 noundef 91, ptr noundef %794, ptr noundef %796, ptr noundef %798, i32 noundef %799) #12
  call void @exit(i32 noundef 1) #13
  unreachable

801:                                              ; preds = %772
  %802 = load i32, ptr @test_count, align 4, !tbaa !5
  %803 = add nsw i32 %802, 1
  store i32 %803, ptr @test_count, align 4, !tbaa !5
  %804 = load i8, ptr %5, align 1, !tbaa !46
  %805 = icmp eq i8 %804, 1
  br i1 %805, label %830, label %806

806:                                              ; preds = %801
  %807 = tail call ptr @__errno_location() #11
  %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) #10
  %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) #10
  %816 = call i32 @isatty(i32 noundef %815) #10
  %.not419 = icmp eq i32 %816, 0
  br i1 %.not419, label %817, label %818

817:                                              ; preds = %813, %806
  br label %818

818:                                              ; preds = %813, %817
  %.str.4.sink880 = phi ptr [ @.str.4, %817 ], [ @.str, %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.3) #10
  %824 = load i32, ptr %821, align 4, !tbaa !5
  %825 = call ptr @s2n_strerror_debug(i32 noundef %824, ptr noundef nonnull @.str.3) #10
  %826 = load i32, ptr %807, align 4, !tbaa !5
  %827 = call ptr @strerror(i32 noundef %826) #10
  %828 = load i32, ptr %807, align 4, !tbaa !5
  %829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %819, ptr noundef nonnull %.str.4.sink880, i32 noundef %820, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.2, i32 noundef 92, ptr noundef %823, ptr noundef %825, ptr noundef %827, i32 noundef %828) #12
  call void @exit(i32 noundef 1) #13
  unreachable

830:                                              ; preds = %801
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %6) #10
  store i32 0, ptr %6, align 4, !tbaa !5
  %831 = add nsw i32 %802, 2
  store i32 %831, ptr @test_count, align 4, !tbaa !5
  %832 = call i32 @s2n_stuffer_read_uint24(ptr noundef nonnull %4, ptr noundef nonnull %6) #10
  %833 = icmp eq i32 %832, -1
  br i1 %833, label %834, label %858

834:                                              ; preds = %830
  %835 = tail call ptr @__errno_location() #11
  %836 = load i32, ptr %835, align 4, !tbaa !5
  %837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %838 = call i32 @s2n_print_stacktrace(ptr noundef %837) #10
  %839 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %840 = trunc nuw i8 %839 to i1
  br i1 %840, label %841, label %845

841:                                              ; preds = %834
  %842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %843 = call i32 @fileno(ptr noundef %842) #10
  %844 = call i32 @isatty(i32 noundef %843) #10
  %.not571 = icmp eq i32 %844, 0
  br i1 %.not571, label %845, label %846

845:                                              ; preds = %841, %834
  br label %846

846:                                              ; preds = %841, %845
  %.str.4.sink891 = phi ptr [ @.str.4, %845 ], [ @.str, %841 ]
  store i32 %836, ptr %835, align 4, !tbaa !5
  %847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %848 = load i32, ptr @test_count, align 4, !tbaa !5
  %849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %850 = load i32, ptr %849, align 4, !tbaa !5
  %851 = call ptr @s2n_strerror(i32 noundef %850, ptr noundef nonnull @.str.3) #10
  %852 = load i32, ptr %849, align 4, !tbaa !5
  %853 = call ptr @s2n_strerror_debug(i32 noundef %852, ptr noundef nonnull @.str.3) #10
  %854 = load i32, ptr %835, align 4, !tbaa !5
  %855 = call ptr @strerror(i32 noundef %854) #10
  %856 = load i32, ptr %835, align 4, !tbaa !5
  %857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %847, ptr noundef nonnull %.str.4.sink891, i32 noundef %848, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.2, i32 noundef 95, ptr noundef %851, ptr noundef %853, ptr noundef %855, i32 noundef %856) #12
  call void @exit(i32 noundef 1) #13
  unreachable

858:                                              ; preds = %830
  %859 = load i32, ptr @test_count, align 4, !tbaa !5
  %860 = add nsw i32 %859, 1
  store i32 %860, ptr @test_count, align 4, !tbaa !5
  %861 = load i32, ptr %6, align 4, !tbaa !5
  %862 = getelementptr inbounds i8, ptr %4, i64 28
  %863 = load i32, ptr %862, align 4, !tbaa !47
  %864 = getelementptr inbounds i8, ptr %4, i64 24
  %865 = load i32, ptr %864, align 8, !tbaa !48
  %866 = sub i32 %863, %865
  %867 = icmp eq i32 %861, %866
  br i1 %867, label %892, label %868

868:                                              ; preds = %858
  %869 = tail call ptr @__errno_location() #11
  %870 = load i32, ptr %869, align 4, !tbaa !5
  %871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %872 = call i32 @s2n_print_stacktrace(ptr noundef %871) #10
  %873 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %874 = trunc nuw i8 %873 to i1
  br i1 %874, label %875, label %879

875:                                              ; preds = %868
  %876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %877 = call i32 @fileno(ptr noundef %876) #10
  %878 = call i32 @isatty(i32 noundef %877) #10
  %.not420 = icmp eq i32 %878, 0
  br i1 %.not420, label %879, label %880

879:                                              ; preds = %875, %868
  br label %880

880:                                              ; preds = %875, %879
  %.str.4.sink902 = phi ptr [ @.str.4, %879 ], [ @.str, %875 ]
  store i32 %870, ptr %869, align 4, !tbaa !5
  %881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %882 = load i32, ptr @test_count, align 4, !tbaa !5
  %883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %884 = load i32, ptr %883, align 4, !tbaa !5
  %885 = call ptr @s2n_strerror(i32 noundef %884, ptr noundef nonnull @.str.3) #10
  %886 = load i32, ptr %883, align 4, !tbaa !5
  %887 = call ptr @s2n_strerror_debug(i32 noundef %886, ptr noundef nonnull @.str.3) #10
  %888 = load i32, ptr %869, align 4, !tbaa !5
  %889 = call ptr @strerror(i32 noundef %888) #10
  %890 = load i32, ptr %869, align 4, !tbaa !5
  %891 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %881, ptr noundef nonnull %.str.4.sink902, i32 noundef %882, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.2, i32 noundef 96, ptr noundef %885, ptr noundef %887, ptr noundef %889, i32 noundef %890) #12
  call void @exit(i32 noundef 1) #13
  unreachable

892:                                              ; preds = %858
  %893 = add nsw i32 %859, 2
  store i32 %893, ptr @test_count, align 4, !tbaa !5
  %894 = icmp eq i32 %861, 10
  br i1 %894, label %919, label %895

895:                                              ; preds = %892
  %896 = tail call ptr @__errno_location() #11
  %897 = load i32, ptr %896, align 4, !tbaa !5
  %898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %899 = call i32 @s2n_print_stacktrace(ptr noundef %898) #10
  %900 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %901 = trunc nuw i8 %900 to i1
  br i1 %901, label %902, label %906

902:                                              ; preds = %895
  %903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %904 = call i32 @fileno(ptr noundef %903) #10
  %905 = call i32 @isatty(i32 noundef %904) #10
  %.not421 = icmp eq i32 %905, 0
  br i1 %.not421, label %906, label %907

906:                                              ; preds = %902, %895
  br label %907

907:                                              ; preds = %902, %906
  %.str.4.sink913 = phi ptr [ @.str.4, %906 ], [ @.str, %902 ]
  store i32 %897, ptr %896, align 4, !tbaa !5
  %908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %909 = load i32, ptr @test_count, align 4, !tbaa !5
  %910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %911 = load i32, ptr %910, align 4, !tbaa !5
  %912 = call ptr @s2n_strerror(i32 noundef %911, ptr noundef nonnull @.str.3) #10
  %913 = load i32, ptr %910, align 4, !tbaa !5
  %914 = call ptr @s2n_strerror_debug(i32 noundef %913, ptr noundef nonnull @.str.3) #10
  %915 = load i32, ptr %896, align 4, !tbaa !5
  %916 = call ptr @strerror(i32 noundef %915) #10
  %917 = load i32, ptr %896, align 4, !tbaa !5
  %918 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %908, ptr noundef nonnull %.str.4.sink913, i32 noundef %909, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.2, i32 noundef 97, ptr noundef %912, ptr noundef %914, ptr noundef %916, i32 noundef %917) #12
  call void @exit(i32 noundef 1) #13
  unreachable

919:                                              ; preds = %892
  %920 = add nsw i32 %859, 3
  store i32 %920, ptr @test_count, align 4, !tbaa !5
  %921 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %4, i32 noundef 10) #10
  %922 = icmp eq ptr %921, null
  br i1 %922, label %923, label %947

923:                                              ; preds = %919
  %924 = tail call ptr @__errno_location() #11
  %925 = load i32, ptr %924, align 4, !tbaa !5
  %926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %927 = call i32 @s2n_print_stacktrace(ptr noundef %926) #10
  %928 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %929 = trunc nuw i8 %928 to i1
  br i1 %929, label %930, label %934

930:                                              ; preds = %923
  %931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %932 = call i32 @fileno(ptr noundef %931) #10
  %933 = call i32 @isatty(i32 noundef %932) #10
  %.not570 = icmp eq i32 %933, 0
  br i1 %.not570, label %934, label %935

934:                                              ; preds = %930, %923
  br label %935

935:                                              ; preds = %930, %934
  %.str.4.sink924 = phi ptr [ @.str.4, %934 ], [ @.str, %930 ]
  store i32 %925, ptr %924, align 4, !tbaa !5
  %936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %937 = load i32, ptr @test_count, align 4, !tbaa !5
  %938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %939 = load i32, ptr %938, align 4, !tbaa !5
  %940 = call ptr @s2n_strerror(i32 noundef %939, ptr noundef nonnull @.str.3) #10
  %941 = load i32, ptr %938, align 4, !tbaa !5
  %942 = call ptr @s2n_strerror_debug(i32 noundef %941, ptr noundef nonnull @.str.3) #10
  %943 = load i32, ptr %924, align 4, !tbaa !5
  %944 = call ptr @strerror(i32 noundef %943) #10
  %945 = load i32, ptr %924, align 4, !tbaa !5
  %946 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %936, ptr noundef nonnull %.str.4.sink924, i32 noundef %937, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.2, i32 noundef 100, ptr noundef %940, ptr noundef %942, ptr noundef %944, i32 noundef %945) #12
  call void @exit(i32 noundef 1) #13
  unreachable

947:                                              ; preds = %919
  %948 = load i32, ptr %6, align 4, !tbaa !5
  %.not422 = icmp eq i32 %948, 0
  %.pre = load i32, ptr @test_count, align 4, !tbaa !5
  br i1 %.not422, label %977, label %949

949:                                              ; preds = %947
  %950 = add nsw i32 %.pre, 1
  store i32 %950, ptr @test_count, align 4, !tbaa !5
  %951 = zext i32 %948 to i64
  %bcmp = call i32 @bcmp(ptr nonnull %921, ptr nonnull @ocsp_data, i64 %951)
  %952 = icmp eq i32 %bcmp, 0
  br i1 %952, label %977, label %953

953:                                              ; preds = %949
  %954 = tail call ptr @__errno_location() #11
  %955 = load i32, ptr %954, align 4, !tbaa !5
  %956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %957 = call i32 @s2n_print_stacktrace(ptr noundef %956) #10
  %958 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %959 = trunc nuw i8 %958 to i1
  br i1 %959, label %960, label %964

960:                                              ; preds = %953
  %961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %962 = call i32 @fileno(ptr noundef %961) #10
  %963 = call i32 @isatty(i32 noundef %962) #10
  %.not423 = icmp eq i32 %963, 0
  br i1 %.not423, label %964, label %965

964:                                              ; preds = %960, %953
  br label %965

965:                                              ; preds = %960, %964
  %.str.4.sink935 = phi ptr [ @.str.4, %964 ], [ @.str, %960 ]
  store i32 %955, ptr %954, align 4, !tbaa !5
  %966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %967 = load i32, ptr @test_count, align 4, !tbaa !5
  %968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %969 = load i32, ptr %968, align 4, !tbaa !5
  %970 = call ptr @s2n_strerror(i32 noundef %969, ptr noundef nonnull @.str.3) #10
  %971 = load i32, ptr %968, align 4, !tbaa !5
  %972 = call ptr @s2n_strerror_debug(i32 noundef %971, ptr noundef nonnull @.str.3) #10
  %973 = load i32, ptr %954, align 4, !tbaa !5
  %974 = call ptr @strerror(i32 noundef %973) #10
  %975 = load i32, ptr %954, align 4, !tbaa !5
  %976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %966, ptr noundef nonnull %.str.4.sink935, i32 noundef %967, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i32 noundef 101, ptr noundef %970, ptr noundef %972, ptr noundef %974, i32 noundef %975) #12
  call void @exit(i32 noundef 1) #13
  unreachable

977:                                              ; preds = %947, %949
  %978 = phi i32 [ %.pre, %947 ], [ %950, %949 ]
  %979 = add nsw i32 %978, 1
  store i32 %979, ptr @test_count, align 4, !tbaa !5
  %980 = load i32, ptr %862, align 4, !tbaa !47
  %981 = load i32, ptr %864, align 8, !tbaa !48
  %982 = icmp eq i32 %980, %981
  br i1 %982, label %1007, label %983

983:                                              ; preds = %977
  %984 = tail call ptr @__errno_location() #11
  %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) #10
  %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) #10
  %993 = call i32 @isatty(i32 noundef %992) #10
  %.not424 = icmp eq i32 %993, 0
  br i1 %.not424, label %994, label %995

994:                                              ; preds = %990, %983
  br label %995

995:                                              ; preds = %990, %994
  %.str.4.sink946 = phi ptr [ @.str.4, %994 ], [ @.str, %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.3) #10
  %1001 = load i32, ptr %998, align 4, !tbaa !5
  %1002 = call ptr @s2n_strerror_debug(i32 noundef %1001, ptr noundef nonnull @.str.3) #10
  %1003 = load i32, ptr %984, align 4, !tbaa !5
  %1004 = call ptr @strerror(i32 noundef %1003) #10
  %1005 = load i32, ptr %984, align 4, !tbaa !5
  %1006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %996, ptr noundef nonnull %.str.4.sink946, i32 noundef %997, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 103, ptr noundef %1000, ptr noundef %1002, ptr noundef %1004, i32 noundef %1005) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1007:                                             ; preds = %977
  %1008 = add nsw i32 %978, 2
  store i32 %1008, ptr @test_count, align 4, !tbaa !5
  %1009 = call i32 @s2n_stuffer_free(ptr noundef nonnull %4) #10
  %1010 = icmp eq i32 %1009, -1
  br i1 %1010, label %1011, label %1035

1011:                                             ; preds = %1007
  %1012 = tail call ptr @__errno_location() #11
  %1013 = load i32, ptr %1012, align 4, !tbaa !5
  %1014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1015 = call i32 @s2n_print_stacktrace(ptr noundef %1014) #10
  %1016 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1017 = trunc nuw i8 %1016 to i1
  br i1 %1017, label %1018, label %1022

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

1022:                                             ; preds = %1018, %1011
  br label %1023

1023:                                             ; preds = %1018, %1022
  %.str.4.sink957 = phi ptr [ @.str.4, %1022 ], [ @.str, %1018 ]
  store i32 %1013, ptr %1012, align 4, !tbaa !5
  %1024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1025 = load i32, ptr @test_count, align 4, !tbaa !5
  %1026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1027 = load i32, ptr %1026, align 4, !tbaa !5
  %1028 = call ptr @s2n_strerror(i32 noundef %1027, ptr noundef nonnull @.str.3) #10
  %1029 = load i32, ptr %1026, align 4, !tbaa !5
  %1030 = call ptr @s2n_strerror_debug(i32 noundef %1029, ptr noundef nonnull @.str.3) #10
  %1031 = load i32, ptr %1012, align 4, !tbaa !5
  %1032 = call ptr @strerror(i32 noundef %1031) #10
  %1033 = load i32, ptr %1012, align 4, !tbaa !5
  %1034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1024, ptr noundef nonnull %.str.4.sink957, i32 noundef %1025, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.2, i32 noundef 105, ptr noundef %1028, ptr noundef %1030, ptr noundef %1032, i32 noundef %1033) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1035:                                             ; preds = %1007
  %1036 = load i32, ptr @test_count, align 4, !tbaa !5
  %1037 = add nsw i32 %1036, 1
  store i32 %1037, ptr @test_count, align 4, !tbaa !5
  %1038 = call i32 @s2n_connection_free(ptr noundef nonnull %657) #10
  %1039 = icmp eq i32 %1038, -1
  br i1 %1039, label %1040, label %1064

1040:                                             ; preds = %1035
  %1041 = tail call ptr @__errno_location() #11
  %1042 = load i32, ptr %1041, align 4, !tbaa !5
  %1043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1044 = call i32 @s2n_print_stacktrace(ptr noundef %1043) #10
  %1045 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1046 = trunc nuw i8 %1045 to i1
  br i1 %1046, label %1047, label %1051

1047:                                             ; preds = %1040
  %1048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1049 = call i32 @fileno(ptr noundef %1048) #10
  %1050 = call i32 @isatty(i32 noundef %1049) #10
  %.not568 = icmp eq i32 %1050, 0
  br i1 %.not568, label %1051, label %1052

1051:                                             ; preds = %1047, %1040
  br label %1052

1052:                                             ; preds = %1047, %1051
  %.str.4.sink968 = phi ptr [ @.str.4, %1051 ], [ @.str, %1047 ]
  store i32 %1042, ptr %1041, 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 nonnull @.str.3) #10
  %1058 = load i32, ptr %1055, align 4, !tbaa !5
  %1059 = call ptr @s2n_strerror_debug(i32 noundef %1058, ptr noundef nonnull @.str.3) #10
  %1060 = load i32, ptr %1041, align 4, !tbaa !5
  %1061 = call ptr @strerror(i32 noundef %1060) #10
  %1062 = load i32, ptr %1041, align 4, !tbaa !5
  %1063 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1053, ptr noundef nonnull %.str.4.sink968, i32 noundef %1054, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.2, i32 noundef 106, ptr noundef %1057, ptr noundef %1059, ptr noundef %1061, i32 noundef %1062) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1064:                                             ; preds = %1035
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %4) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #10
  %1065 = call ptr @s2n_config_new_minimal() #10
  store ptr %1065, ptr %7, align 8, !tbaa !9
  %1066 = load i32, ptr @test_count, align 4, !tbaa !5
  %1067 = add nsw i32 %1066, 1
  store i32 %1067, ptr @test_count, align 4, !tbaa !5
  %1068 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %1065) #10
  %1069 = icmp eq i32 %1068, -1
  br i1 %1069, label %1070, label %1094

1070:                                             ; preds = %1064
  %1071 = tail call ptr @__errno_location() #11
  %1072 = load i32, ptr %1071, align 4, !tbaa !5
  %1073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1074 = call i32 @s2n_print_stacktrace(ptr noundef %1073) #10
  %1075 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1076 = trunc nuw i8 %1075 to i1
  br i1 %1076, label %1077, label %1081

1077:                                             ; preds = %1070
  %1078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1079 = call i32 @fileno(ptr noundef %1078) #10
  %1080 = call i32 @isatty(i32 noundef %1079) #10
  %.not567 = icmp eq i32 %1080, 0
  br i1 %.not567, label %1081, label %1082

1081:                                             ; preds = %1077, %1070
  br label %1082

1082:                                             ; preds = %1077, %1081
  %.str.4.sink979 = phi ptr [ @.str.4, %1081 ], [ @.str, %1077 ]
  store i32 %1072, ptr %1071, align 4, !tbaa !5
  %1083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1084 = load i32, ptr @test_count, align 4, !tbaa !5
  %1085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1086 = load i32, ptr %1085, align 4, !tbaa !5
  %1087 = call ptr @s2n_strerror(i32 noundef %1086, ptr noundef nonnull @.str.3) #10
  %1088 = load i32, ptr %1085, align 4, !tbaa !5
  %1089 = call ptr @s2n_strerror_debug(i32 noundef %1088, ptr noundef nonnull @.str.3) #10
  %1090 = load i32, ptr %1071, align 4, !tbaa !5
  %1091 = call ptr @strerror(i32 noundef %1090) #10
  %1092 = load i32, ptr %1071, align 4, !tbaa !5
  %1093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1083, ptr noundef nonnull %.str.4.sink979, i32 noundef %1084, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.2, i32 noundef 113, ptr noundef %1087, ptr noundef %1089, ptr noundef %1091, i32 noundef %1092) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1094:                                             ; preds = %1064
  %1095 = load i32, ptr @test_count, align 4, !tbaa !5
  %1096 = add nsw i32 %1095, 1
  store i32 %1096, ptr @test_count, align 4, !tbaa !5
  %1097 = call ptr @s2n_connection_new(i32 noundef 0) #10
  %1098 = icmp eq ptr %1097, null
  br i1 %1098, label %1099, label %1123

1099:                                             ; preds = %1094
  %1100 = tail call ptr @__errno_location() #11
  %1101 = load i32, ptr %1100, align 4, !tbaa !5
  %1102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1103 = call i32 @s2n_print_stacktrace(ptr noundef %1102) #10
  %1104 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1105 = trunc nuw i8 %1104 to i1
  br i1 %1105, label %1106, label %1110

1106:                                             ; preds = %1099
  %1107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1108 = call i32 @fileno(ptr noundef %1107) #10
  %1109 = call i32 @isatty(i32 noundef %1108) #10
  %.not566 = icmp eq i32 %1109, 0
  br i1 %.not566, label %1110, label %1111

1110:                                             ; preds = %1106, %1099
  br label %1111

1111:                                             ; preds = %1106, %1110
  %.str.4.sink990 = phi ptr [ @.str.4, %1110 ], [ @.str, %1106 ]
  store i32 %1101, ptr %1100, align 4, !tbaa !5
  %1112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1113 = load i32, ptr @test_count, align 4, !tbaa !5
  %1114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1115 = load i32, ptr %1114, align 4, !tbaa !5
  %1116 = call ptr @s2n_strerror(i32 noundef %1115, ptr noundef nonnull @.str.3) #10
  %1117 = load i32, ptr %1114, align 4, !tbaa !5
  %1118 = call ptr @s2n_strerror_debug(i32 noundef %1117, ptr noundef nonnull @.str.3) #10
  %1119 = load i32, ptr %1100, align 4, !tbaa !5
  %1120 = call ptr @strerror(i32 noundef %1119) #10
  %1121 = load i32, ptr %1100, align 4, !tbaa !5
  %1122 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1112, ptr noundef nonnull %.str.4.sink990, i32 noundef %1113, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.2, i32 noundef 116, ptr noundef %1116, ptr noundef %1118, ptr noundef %1120, i32 noundef %1121) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1123:                                             ; preds = %1094
  %1124 = load i32, ptr @test_count, align 4, !tbaa !5
  %1125 = add nsw i32 %1124, 1
  store i32 %1125, ptr @test_count, align 4, !tbaa !5
  %1126 = load ptr, ptr %7, align 8, !tbaa !9
  %1127 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1097, ptr noundef %1126) #10
  %1128 = icmp eq i32 %1127, -1
  br i1 %1128, label %1129, label %1153

1129:                                             ; preds = %1123
  %1130 = tail call ptr @__errno_location() #11
  %1131 = load i32, ptr %1130, align 4, !tbaa !5
  %1132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1133 = call i32 @s2n_print_stacktrace(ptr noundef %1132) #10
  %1134 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1135 = trunc nuw i8 %1134 to i1
  br i1 %1135, label %1136, label %1140

1136:                                             ; preds = %1129
  %1137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1138 = call i32 @fileno(ptr noundef %1137) #10
  %1139 = call i32 @isatty(i32 noundef %1138) #10
  %.not565 = icmp eq i32 %1139, 0
  br i1 %.not565, label %1140, label %1141

1140:                                             ; preds = %1136, %1129
  br label %1141

1141:                                             ; preds = %1136, %1140
  %.str.4.sink1001 = phi ptr [ @.str.4, %1140 ], [ @.str, %1136 ]
  store i32 %1131, ptr %1130, align 4, !tbaa !5
  %1142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1143 = load i32, ptr @test_count, align 4, !tbaa !5
  %1144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1145 = load i32, ptr %1144, align 4, !tbaa !5
  %1146 = call ptr @s2n_strerror(i32 noundef %1145, ptr noundef nonnull @.str.3) #10
  %1147 = load i32, ptr %1144, align 4, !tbaa !5
  %1148 = call ptr @s2n_strerror_debug(i32 noundef %1147, ptr noundef nonnull @.str.3) #10
  %1149 = load i32, ptr %1130, align 4, !tbaa !5
  %1150 = call ptr @strerror(i32 noundef %1149) #10
  %1151 = load i32, ptr %1130, align 4, !tbaa !5
  %1152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1142, ptr noundef nonnull %.str.4.sink1001, i32 noundef %1143, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.2, i32 noundef 117, ptr noundef %1146, ptr noundef %1148, ptr noundef %1150, i32 noundef %1151) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1153:                                             ; preds = %1123
  %1154 = load i32, ptr @test_count, align 4, !tbaa !5
  %1155 = add nsw i32 %1154, 1
  store i32 %1155, ptr @test_count, align 4, !tbaa !5
  %1156 = load ptr, ptr %3, align 8, !tbaa !9
  %1157 = call i32 @s2n_test_enable_sending_extension(ptr noundef nonnull %1097, ptr noundef %1156)
  %1158 = icmp eq i32 %1157, -1
  br i1 %1158, label %1159, label %1183

1159:                                             ; preds = %1153
  %1160 = tail call ptr @__errno_location() #11
  %1161 = load i32, ptr %1160, align 4, !tbaa !5
  %1162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1163 = call i32 @s2n_print_stacktrace(ptr noundef %1162) #10
  %1164 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1165 = trunc nuw i8 %1164 to i1
  br i1 %1165, label %1166, label %1170

1166:                                             ; preds = %1159
  %1167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1168 = call i32 @fileno(ptr noundef %1167) #10
  %1169 = call i32 @isatty(i32 noundef %1168) #10
  %.not564 = icmp eq i32 %1169, 0
  br i1 %.not564, label %1170, label %1171

1170:                                             ; preds = %1166, %1159
  br label %1171

1171:                                             ; preds = %1166, %1170
  %.str.4.sink1012 = phi ptr [ @.str.4, %1170 ], [ @.str, %1166 ]
  store i32 %1161, ptr %1160, align 4, !tbaa !5
  %1172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1173 = load i32, ptr @test_count, align 4, !tbaa !5
  %1174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1175 = load i32, ptr %1174, align 4, !tbaa !5
  %1176 = call ptr @s2n_strerror(i32 noundef %1175, ptr noundef nonnull @.str.3) #10
  %1177 = load i32, ptr %1174, align 4, !tbaa !5
  %1178 = call ptr @s2n_strerror_debug(i32 noundef %1177, ptr noundef nonnull @.str.3) #10
  %1179 = load i32, ptr %1160, align 4, !tbaa !5
  %1180 = call ptr @strerror(i32 noundef %1179) #10
  %1181 = load i32, ptr %1160, align 4, !tbaa !5
  %1182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1172, ptr noundef nonnull %.str.4.sink1012, i32 noundef %1173, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 118, ptr noundef %1176, ptr noundef %1178, ptr noundef %1180, i32 noundef %1181) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1183:                                             ; preds = %1153
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %8) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %8, i8 0, i64 40, i1 false)
  %1184 = load i32, ptr @test_count, align 4, !tbaa !5
  %1185 = add nsw i32 %1184, 1
  store i32 %1185, ptr @test_count, align 4, !tbaa !5
  %1186 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %8, i32 noundef 0) #10
  %1187 = icmp eq i32 %1186, -1
  br i1 %1187, label %1188, label %1212

1188:                                             ; preds = %1183
  %1189 = tail call ptr @__errno_location() #11
  %1190 = load i32, ptr %1189, align 4, !tbaa !5
  %1191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1192 = call i32 @s2n_print_stacktrace(ptr noundef %1191) #10
  %1193 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1194 = trunc nuw i8 %1193 to i1
  br i1 %1194, label %1195, label %1199

1195:                                             ; preds = %1188
  %1196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1197 = call i32 @fileno(ptr noundef %1196) #10
  %1198 = call i32 @isatty(i32 noundef %1197) #10
  %.not563 = icmp eq i32 %1198, 0
  br i1 %.not563, label %1199, label %1200

1199:                                             ; preds = %1195, %1188
  br label %1200

1200:                                             ; preds = %1195, %1199
  %.str.4.sink1023 = phi ptr [ @.str.4, %1199 ], [ @.str, %1195 ]
  store i32 %1190, ptr %1189, align 4, !tbaa !5
  %1201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1202 = load i32, ptr @test_count, align 4, !tbaa !5
  %1203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1204 = load i32, ptr %1203, align 4, !tbaa !5
  %1205 = call ptr @s2n_strerror(i32 noundef %1204, ptr noundef nonnull @.str.3) #10
  %1206 = load i32, ptr %1203, align 4, !tbaa !5
  %1207 = call ptr @s2n_strerror_debug(i32 noundef %1206, ptr noundef nonnull @.str.3) #10
  %1208 = load i32, ptr %1189, align 4, !tbaa !5
  %1209 = call ptr @strerror(i32 noundef %1208) #10
  %1210 = load i32, ptr %1189, align 4, !tbaa !5
  %1211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1201, ptr noundef nonnull %.str.4.sink1023, i32 noundef %1202, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.2, i32 noundef 121, ptr noundef %1205, ptr noundef %1207, ptr noundef %1209, i32 noundef %1210) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1212:                                             ; preds = %1183
  %1213 = load i32, ptr @test_count, align 4, !tbaa !5
  %1214 = add nsw i32 %1213, 1
  store i32 %1214, ptr @test_count, align 4, !tbaa !5
  %1215 = call i32 %745(ptr noundef nonnull %1097, ptr noundef nonnull %8) #10
  %1216 = icmp eq i32 %1215, -1
  br i1 %1216, label %1217, label %1241

1217:                                             ; preds = %1212
  %1218 = tail call ptr @__errno_location() #11
  %1219 = load i32, ptr %1218, align 4, !tbaa !5
  %1220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1221 = call i32 @s2n_print_stacktrace(ptr noundef %1220) #10
  %1222 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1223 = trunc nuw i8 %1222 to i1
  br i1 %1223, label %1224, label %1228

1224:                                             ; preds = %1217
  %1225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1226 = call i32 @fileno(ptr noundef %1225) #10
  %1227 = call i32 @isatty(i32 noundef %1226) #10
  %.not562 = icmp eq i32 %1227, 0
  br i1 %.not562, label %1228, label %1229

1228:                                             ; preds = %1224, %1217
  br label %1229

1229:                                             ; preds = %1224, %1228
  %.str.4.sink1034 = phi ptr [ @.str.4, %1228 ], [ @.str, %1224 ]
  store i32 %1219, ptr %1218, align 4, !tbaa !5
  %1230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1231 = load i32, ptr @test_count, align 4, !tbaa !5
  %1232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1233 = load i32, ptr %1232, align 4, !tbaa !5
  %1234 = call ptr @s2n_strerror(i32 noundef %1233, ptr noundef nonnull @.str.3) #10
  %1235 = load i32, ptr %1232, align 4, !tbaa !5
  %1236 = call ptr @s2n_strerror_debug(i32 noundef %1235, ptr noundef nonnull @.str.3) #10
  %1237 = load i32, ptr %1218, align 4, !tbaa !5
  %1238 = call ptr @strerror(i32 noundef %1237) #10
  %1239 = load i32, ptr %1218, align 4, !tbaa !5
  %1240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1230, ptr noundef nonnull %.str.4.sink1034, i32 noundef %1231, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.2, i32 noundef 123, ptr noundef %1234, ptr noundef %1236, ptr noundef %1238, i32 noundef %1239) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1241:                                             ; preds = %1212
  %1242 = load i32, ptr @test_count, align 4, !tbaa !5
  %1243 = add nsw i32 %1242, 1
  store i32 %1243, ptr @test_count, align 4, !tbaa !5
  %1244 = getelementptr inbounds i8, ptr %1097, i64 2792
  %1245 = getelementptr inbounds i8, ptr %1097, i64 2800
  %1246 = load i32, ptr %1245, align 8, !tbaa !49
  %1247 = icmp eq i32 %1246, 0
  br i1 %1247, label %1272, label %1248

1248:                                             ; preds = %1241
  %1249 = tail call ptr @__errno_location() #11
  %1250 = load i32, ptr %1249, align 4, !tbaa !5
  %1251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1252 = call i32 @s2n_print_stacktrace(ptr noundef %1251) #10
  %1253 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1254 = trunc nuw i8 %1253 to i1
  br i1 %1254, label %1255, label %1259

1255:                                             ; preds = %1248
  %1256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1257 = call i32 @fileno(ptr noundef %1256) #10
  %1258 = call i32 @isatty(i32 noundef %1257) #10
  %.not425 = icmp eq i32 %1258, 0
  br i1 %.not425, label %1259, label %1260

1259:                                             ; preds = %1255, %1248
  br label %1260

1260:                                             ; preds = %1255, %1259
  %.str.4.sink1045 = phi ptr [ @.str.4, %1259 ], [ @.str, %1255 ]
  store i32 %1250, ptr %1249, align 4, !tbaa !5
  %1261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1262 = load i32, ptr @test_count, align 4, !tbaa !5
  %1263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1264 = load i32, ptr %1263, align 4, !tbaa !5
  %1265 = call ptr @s2n_strerror(i32 noundef %1264, ptr noundef nonnull @.str.3) #10
  %1266 = load i32, ptr %1263, align 4, !tbaa !5
  %1267 = call ptr @s2n_strerror_debug(i32 noundef %1266, ptr noundef nonnull @.str.3) #10
  %1268 = load i32, ptr %1249, align 4, !tbaa !5
  %1269 = call ptr @strerror(i32 noundef %1268) #10
  %1270 = load i32, ptr %1249, align 4, !tbaa !5
  %1271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1261, ptr noundef nonnull %.str.4.sink1045, i32 noundef %1262, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.2, i32 noundef 125, ptr noundef %1265, ptr noundef %1267, ptr noundef %1269, i32 noundef %1270) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1272:                                             ; preds = %1241
  %1273 = add nsw i32 %1242, 2
  store i32 %1273, ptr @test_count, align 4, !tbaa !5
  %1274 = load ptr, ptr getelementptr inbounds (i8, ptr @s2n_cert_status_extension, i64 16), align 8, !tbaa !50
  %1275 = call i32 %1274(ptr noundef nonnull %1097, ptr noundef nonnull %8) #10
  %1276 = icmp eq i32 %1275, -1
  br i1 %1276, label %1277, label %1301

1277:                                             ; preds = %1272
  %1278 = tail call ptr @__errno_location() #11
  %1279 = load i32, ptr %1278, align 4, !tbaa !5
  %1280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1281 = call i32 @s2n_print_stacktrace(ptr noundef %1280) #10
  %1282 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1283 = trunc nuw i8 %1282 to i1
  br i1 %1283, label %1284, label %1288

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

1288:                                             ; preds = %1284, %1277
  br label %1289

1289:                                             ; preds = %1284, %1288
  %.str.4.sink1056 = phi ptr [ @.str.4, %1288 ], [ @.str, %1284 ]
  store i32 %1279, ptr %1278, align 4, !tbaa !5
  %1290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1291 = load i32, ptr @test_count, align 4, !tbaa !5
  %1292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1293 = load i32, ptr %1292, align 4, !tbaa !5
  %1294 = call ptr @s2n_strerror(i32 noundef %1293, ptr noundef nonnull @.str.3) #10
  %1295 = load i32, ptr %1292, align 4, !tbaa !5
  %1296 = call ptr @s2n_strerror_debug(i32 noundef %1295, ptr noundef nonnull @.str.3) #10
  %1297 = load i32, ptr %1278, align 4, !tbaa !5
  %1298 = call ptr @strerror(i32 noundef %1297) #10
  %1299 = load i32, ptr %1278, align 4, !tbaa !5
  %1300 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1290, ptr noundef nonnull %.str.4.sink1056, i32 noundef %1291, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.2, i32 noundef 126, ptr noundef %1294, ptr noundef %1296, ptr noundef %1298, i32 noundef %1299) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1301:                                             ; preds = %1272
  %1302 = load i32, ptr @test_count, align 4, !tbaa !5
  %1303 = add nsw i32 %1302, 1
  store i32 %1303, ptr @test_count, align 4, !tbaa !5
  %1304 = load ptr, ptr %1244, align 8, !tbaa !51
  %bcmp426 = call i32 @bcmp(ptr noundef nonnull dereferenceable(10) %1304, ptr noundef nonnull dereferenceable(10) @ocsp_data, i64 10)
  %1305 = icmp eq i32 %bcmp426, 0
  br i1 %1305, label %1330, label %1306

1306:                                             ; preds = %1301
  %1307 = tail call ptr @__errno_location() #11
  %1308 = load i32, ptr %1307, align 4, !tbaa !5
  %1309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1310 = call i32 @s2n_print_stacktrace(ptr noundef %1309) #10
  %1311 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1312 = trunc nuw i8 %1311 to i1
  br i1 %1312, label %1313, label %1317

1313:                                             ; preds = %1306
  %1314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1315 = call i32 @fileno(ptr noundef %1314) #10
  %1316 = call i32 @isatty(i32 noundef %1315) #10
  %.not427 = icmp eq i32 %1316, 0
  br i1 %.not427, label %1317, label %1318

1317:                                             ; preds = %1313, %1306
  br label %1318

1318:                                             ; preds = %1313, %1317
  %.str.4.sink1067 = phi ptr [ @.str.4, %1317 ], [ @.str, %1313 ]
  store i32 %1308, ptr %1307, align 4, !tbaa !5
  %1319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1320 = load i32, ptr @test_count, align 4, !tbaa !5
  %1321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1322 = load i32, ptr %1321, align 4, !tbaa !5
  %1323 = call ptr @s2n_strerror(i32 noundef %1322, ptr noundef nonnull @.str.3) #10
  %1324 = load i32, ptr %1321, align 4, !tbaa !5
  %1325 = call ptr @s2n_strerror_debug(i32 noundef %1324, ptr noundef nonnull @.str.3) #10
  %1326 = load i32, ptr %1307, align 4, !tbaa !5
  %1327 = call ptr @strerror(i32 noundef %1326) #10
  %1328 = load i32, ptr %1307, align 4, !tbaa !5
  %1329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1319, ptr noundef nonnull %.str.4.sink1067, i32 noundef %1320, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.2, i32 noundef 127, ptr noundef %1323, ptr noundef %1325, ptr noundef %1327, i32 noundef %1328) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1330:                                             ; preds = %1301
  %1331 = add nsw i32 %1302, 2
  store i32 %1331, ptr @test_count, align 4, !tbaa !5
  %1332 = getelementptr inbounds i8, ptr %8, i64 28
  %1333 = load i32, ptr %1332, align 4, !tbaa !47
  %1334 = getelementptr inbounds i8, ptr %8, i64 24
  %1335 = load i32, ptr %1334, align 8, !tbaa !48
  %1336 = icmp eq i32 %1333, %1335
  br i1 %1336, label %1361, label %1337

1337:                                             ; preds = %1330
  %1338 = tail call ptr @__errno_location() #11
  %1339 = load i32, ptr %1338, align 4, !tbaa !5
  %1340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1341 = call i32 @s2n_print_stacktrace(ptr noundef %1340) #10
  %1342 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1343 = trunc nuw i8 %1342 to i1
  br i1 %1343, label %1344, label %1348

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
  %.not428 = icmp eq i32 %1347, 0
  br i1 %.not428, label %1348, label %1349

1348:                                             ; preds = %1344, %1337
  br label %1349

1349:                                             ; preds = %1344, %1348
  %.str.4.sink1078 = phi ptr [ @.str.4, %1348 ], [ @.str, %1344 ]
  store i32 %1339, ptr %1338, align 4, !tbaa !5
  %1350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1351 = load i32, ptr @test_count, align 4, !tbaa !5
  %1352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1353 = load i32, ptr %1352, align 4, !tbaa !5
  %1354 = call ptr @s2n_strerror(i32 noundef %1353, ptr noundef nonnull @.str.3) #10
  %1355 = load i32, ptr %1352, align 4, !tbaa !5
  %1356 = call ptr @s2n_strerror_debug(i32 noundef %1355, ptr noundef nonnull @.str.3) #10
  %1357 = load i32, ptr %1338, align 4, !tbaa !5
  %1358 = call ptr @strerror(i32 noundef %1357) #10
  %1359 = load i32, ptr %1338, align 4, !tbaa !5
  %1360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1350, ptr noundef nonnull %.str.4.sink1078, i32 noundef %1351, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i32 noundef 129, ptr noundef %1354, ptr noundef %1356, ptr noundef %1358, i32 noundef %1359) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1361:                                             ; preds = %1330
  %1362 = add nsw i32 %1302, 3
  store i32 %1362, ptr @test_count, align 4, !tbaa !5
  %1363 = call i32 @s2n_stuffer_free(ptr noundef nonnull %8) #10
  %1364 = icmp eq i32 %1363, -1
  br i1 %1364, label %1365, label %1389

1365:                                             ; preds = %1361
  %1366 = tail call ptr @__errno_location() #11
  %1367 = load i32, ptr %1366, align 4, !tbaa !5
  %1368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1369 = call i32 @s2n_print_stacktrace(ptr noundef %1368) #10
  %1370 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1371 = trunc nuw i8 %1370 to i1
  br i1 %1371, label %1372, label %1376

1372:                                             ; preds = %1365
  %1373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1374 = call i32 @fileno(ptr noundef %1373) #10
  %1375 = call i32 @isatty(i32 noundef %1374) #10
  %.not560 = icmp eq i32 %1375, 0
  br i1 %.not560, label %1376, label %1377

1376:                                             ; preds = %1372, %1365
  br label %1377

1377:                                             ; preds = %1372, %1376
  %.str.4.sink1089 = phi ptr [ @.str.4, %1376 ], [ @.str, %1372 ]
  store i32 %1367, ptr %1366, align 4, !tbaa !5
  %1378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1379 = load i32, ptr @test_count, align 4, !tbaa !5
  %1380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1381 = load i32, ptr %1380, align 4, !tbaa !5
  %1382 = call ptr @s2n_strerror(i32 noundef %1381, ptr noundef nonnull @.str.3) #10
  %1383 = load i32, ptr %1380, align 4, !tbaa !5
  %1384 = call ptr @s2n_strerror_debug(i32 noundef %1383, ptr noundef nonnull @.str.3) #10
  %1385 = load i32, ptr %1366, align 4, !tbaa !5
  %1386 = call ptr @strerror(i32 noundef %1385) #10
  %1387 = load i32, ptr %1366, align 4, !tbaa !5
  %1388 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1378, ptr noundef nonnull %.str.4.sink1089, i32 noundef %1379, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.2, i32 noundef 131, ptr noundef %1382, ptr noundef %1384, ptr noundef %1386, i32 noundef %1387) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1389:                                             ; preds = %1361
  %1390 = load i32, ptr @test_count, align 4, !tbaa !5
  %1391 = add nsw i32 %1390, 1
  store i32 %1391, ptr @test_count, align 4, !tbaa !5
  %1392 = call i32 @s2n_connection_free(ptr noundef nonnull %1097) #10
  %1393 = icmp eq i32 %1392, -1
  br i1 %1393, label %1394, label %1418

1394:                                             ; preds = %1389
  %1395 = tail call ptr @__errno_location() #11
  %1396 = load i32, ptr %1395, align 4, !tbaa !5
  %1397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1398 = call i32 @s2n_print_stacktrace(ptr noundef %1397) #10
  %1399 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1400 = trunc nuw i8 %1399 to i1
  br i1 %1400, label %1401, label %1405

1401:                                             ; preds = %1394
  %1402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1403 = call i32 @fileno(ptr noundef %1402) #10
  %1404 = call i32 @isatty(i32 noundef %1403) #10
  %.not559 = icmp eq i32 %1404, 0
  br i1 %.not559, label %1405, label %1406

1405:                                             ; preds = %1401, %1394
  br label %1406

1406:                                             ; preds = %1401, %1405
  %.str.4.sink1100 = phi ptr [ @.str.4, %1405 ], [ @.str, %1401 ]
  store i32 %1396, ptr %1395, align 4, !tbaa !5
  %1407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1408 = load i32, ptr @test_count, align 4, !tbaa !5
  %1409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1410 = load i32, ptr %1409, align 4, !tbaa !5
  %1411 = call ptr @s2n_strerror(i32 noundef %1410, ptr noundef nonnull @.str.3) #10
  %1412 = load i32, ptr %1409, align 4, !tbaa !5
  %1413 = call ptr @s2n_strerror_debug(i32 noundef %1412, ptr noundef nonnull @.str.3) #10
  %1414 = load i32, ptr %1395, align 4, !tbaa !5
  %1415 = call ptr @strerror(i32 noundef %1414) #10
  %1416 = load i32, ptr %1395, align 4, !tbaa !5
  %1417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1407, ptr noundef nonnull %.str.4.sink1100, i32 noundef %1408, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.2, i32 noundef 132, ptr noundef %1411, ptr noundef %1413, ptr noundef %1415, i32 noundef %1416) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1418:                                             ; preds = %1389
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %8) #10
  %1419 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %7) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #10
  %1420 = load i32, ptr @test_count, align 4, !tbaa !5
  %1421 = add nsw i32 %1420, 1
  store i32 %1421, ptr @test_count, align 4, !tbaa !5
  %1422 = call ptr @s2n_connection_new(i32 noundef 0) #10
  %1423 = icmp eq ptr %1422, null
  br i1 %1423, label %1424, label %1448

1424:                                             ; preds = %1418
  %1425 = tail call ptr @__errno_location() #11
  %1426 = load i32, ptr %1425, align 4, !tbaa !5
  %1427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1428 = call i32 @s2n_print_stacktrace(ptr noundef %1427) #10
  %1429 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1430 = trunc nuw i8 %1429 to i1
  br i1 %1430, label %1431, label %1435

1431:                                             ; preds = %1424
  %1432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1433 = call i32 @fileno(ptr noundef %1432) #10
  %1434 = call i32 @isatty(i32 noundef %1433) #10
  %.not558 = icmp eq i32 %1434, 0
  br i1 %.not558, label %1435, label %1436

1435:                                             ; preds = %1431, %1424
  br label %1436

1436:                                             ; preds = %1431, %1435
  %.str.4.sink1111 = phi ptr [ @.str.4, %1435 ], [ @.str, %1431 ]
  store i32 %1426, ptr %1425, align 4, !tbaa !5
  %1437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1438 = load i32, ptr @test_count, align 4, !tbaa !5
  %1439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1440 = load i32, ptr %1439, align 4, !tbaa !5
  %1441 = call ptr @s2n_strerror(i32 noundef %1440, ptr noundef nonnull @.str.3) #10
  %1442 = load i32, ptr %1439, align 4, !tbaa !5
  %1443 = call ptr @s2n_strerror_debug(i32 noundef %1442, ptr noundef nonnull @.str.3) #10
  %1444 = load i32, ptr %1425, align 4, !tbaa !5
  %1445 = call ptr @strerror(i32 noundef %1444) #10
  %1446 = load i32, ptr %1425, align 4, !tbaa !5
  %1447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1437, ptr noundef nonnull %.str.4.sink1111, i32 noundef %1438, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.2, i32 noundef 138, ptr noundef %1441, ptr noundef %1443, ptr noundef %1445, i32 noundef %1446) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1448:                                             ; preds = %1418
  %1449 = load i32, ptr @test_count, align 4, !tbaa !5
  %1450 = add nsw i32 %1449, 1
  store i32 %1450, ptr @test_count, align 4, !tbaa !5
  %1451 = load ptr, ptr %3, align 8, !tbaa !9
  %1452 = call i32 @s2n_test_enable_sending_extension(ptr noundef nonnull %1422, ptr noundef %1451)
  %1453 = icmp eq i32 %1452, -1
  br i1 %1453, label %1454, label %1478

1454:                                             ; preds = %1448
  %1455 = tail call ptr @__errno_location() #11
  %1456 = load i32, ptr %1455, align 4, !tbaa !5
  %1457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1458 = call i32 @s2n_print_stacktrace(ptr noundef %1457) #10
  %1459 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1460 = trunc nuw i8 %1459 to i1
  br i1 %1460, label %1461, label %1465

1461:                                             ; preds = %1454
  %1462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1463 = call i32 @fileno(ptr noundef %1462) #10
  %1464 = call i32 @isatty(i32 noundef %1463) #10
  %.not557 = icmp eq i32 %1464, 0
  br i1 %.not557, label %1465, label %1466

1465:                                             ; preds = %1461, %1454
  br label %1466

1466:                                             ; preds = %1461, %1465
  %.str.4.sink1122 = phi ptr [ @.str.4, %1465 ], [ @.str, %1461 ]
  store i32 %1456, ptr %1455, align 4, !tbaa !5
  %1467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1468 = load i32, ptr @test_count, align 4, !tbaa !5
  %1469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1470 = load i32, ptr %1469, align 4, !tbaa !5
  %1471 = call ptr @s2n_strerror(i32 noundef %1470, ptr noundef nonnull @.str.3) #10
  %1472 = load i32, ptr %1469, align 4, !tbaa !5
  %1473 = call ptr @s2n_strerror_debug(i32 noundef %1472, ptr noundef nonnull @.str.3) #10
  %1474 = load i32, ptr %1455, align 4, !tbaa !5
  %1475 = call ptr @strerror(i32 noundef %1474) #10
  %1476 = load i32, ptr %1455, align 4, !tbaa !5
  %1477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1467, ptr noundef nonnull %.str.4.sink1122, i32 noundef %1468, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 139, ptr noundef %1471, ptr noundef %1473, ptr noundef %1475, i32 noundef %1476) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1478:                                             ; preds = %1448
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %9) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %9, i8 0, i64 40, i1 false)
  %1479 = load i32, ptr @test_count, align 4, !tbaa !5
  %1480 = add nsw i32 %1479, 1
  store i32 %1480, ptr @test_count, align 4, !tbaa !5
  %1481 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %9, i32 noundef 0) #10
  %1482 = icmp eq i32 %1481, -1
  br i1 %1482, label %1483, label %1507

1483:                                             ; preds = %1478
  %1484 = tail call ptr @__errno_location() #11
  %1485 = load i32, ptr %1484, align 4, !tbaa !5
  %1486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1487 = call i32 @s2n_print_stacktrace(ptr noundef %1486) #10
  %1488 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1489 = trunc nuw i8 %1488 to i1
  br i1 %1489, label %1490, label %1494

1490:                                             ; preds = %1483
  %1491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1492 = call i32 @fileno(ptr noundef %1491) #10
  %1493 = call i32 @isatty(i32 noundef %1492) #10
  %.not556 = icmp eq i32 %1493, 0
  br i1 %.not556, label %1494, label %1495

1494:                                             ; preds = %1490, %1483
  br label %1495

1495:                                             ; preds = %1490, %1494
  %.str.4.sink1133 = phi ptr [ @.str.4, %1494 ], [ @.str, %1490 ]
  store i32 %1485, ptr %1484, 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 nonnull @.str.3) #10
  %1501 = load i32, ptr %1498, align 4, !tbaa !5
  %1502 = call ptr @s2n_strerror_debug(i32 noundef %1501, ptr noundef nonnull @.str.3) #10
  %1503 = load i32, ptr %1484, align 4, !tbaa !5
  %1504 = call ptr @strerror(i32 noundef %1503) #10
  %1505 = load i32, ptr %1484, align 4, !tbaa !5
  %1506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1496, ptr noundef nonnull %.str.4.sink1133, i32 noundef %1497, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.2, i32 noundef 142, ptr noundef %1500, ptr noundef %1502, ptr noundef %1504, i32 noundef %1505) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1507:                                             ; preds = %1478
  %1508 = load i32, ptr @test_count, align 4, !tbaa !5
  %1509 = add nsw i32 %1508, 1
  store i32 %1509, ptr @test_count, align 4, !tbaa !5
  %1510 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %9, i8 noundef zeroext 0) #10
  %1511 = icmp eq i32 %1510, -1
  br i1 %1511, label %1512, label %1536

1512:                                             ; preds = %1507
  %1513 = tail call ptr @__errno_location() #11
  %1514 = load i32, ptr %1513, align 4, !tbaa !5
  %1515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1516 = call i32 @s2n_print_stacktrace(ptr noundef %1515) #10
  %1517 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1518 = trunc nuw i8 %1517 to i1
  br i1 %1518, label %1519, label %1523

1519:                                             ; preds = %1512
  %1520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1521 = call i32 @fileno(ptr noundef %1520) #10
  %1522 = call i32 @isatty(i32 noundef %1521) #10
  %.not555 = icmp eq i32 %1522, 0
  br i1 %.not555, label %1523, label %1524

1523:                                             ; preds = %1519, %1512
  br label %1524

1524:                                             ; preds = %1519, %1523
  %.str.4.sink1144 = phi ptr [ @.str.4, %1523 ], [ @.str, %1519 ]
  store i32 %1514, ptr %1513, align 4, !tbaa !5
  %1525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1526 = load i32, ptr @test_count, align 4, !tbaa !5
  %1527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1528 = load i32, ptr %1527, align 4, !tbaa !5
  %1529 = call ptr @s2n_strerror(i32 noundef %1528, ptr noundef nonnull @.str.3) #10
  %1530 = load i32, ptr %1527, align 4, !tbaa !5
  %1531 = call ptr @s2n_strerror_debug(i32 noundef %1530, ptr noundef nonnull @.str.3) #10
  %1532 = load i32, ptr %1513, align 4, !tbaa !5
  %1533 = call ptr @strerror(i32 noundef %1532) #10
  %1534 = load i32, ptr %1513, align 4, !tbaa !5
  %1535 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1525, ptr noundef nonnull %.str.4.sink1144, i32 noundef %1526, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.2, i32 noundef 144, ptr noundef %1529, ptr noundef %1531, ptr noundef %1533, i32 noundef %1534) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1536:                                             ; preds = %1507
  %1537 = load i32, ptr @test_count, align 4, !tbaa !5
  %1538 = add nsw i32 %1537, 1
  store i32 %1538, ptr @test_count, align 4, !tbaa !5
  %1539 = getelementptr inbounds i8, ptr %1422, i64 2800
  %1540 = load i32, ptr %1539, align 8, !tbaa !49
  %1541 = icmp eq i32 %1540, 0
  br i1 %1541, label %1566, label %1542

1542:                                             ; preds = %1536
  %1543 = tail call ptr @__errno_location() #11
  %1544 = load i32, ptr %1543, align 4, !tbaa !5
  %1545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1546 = call i32 @s2n_print_stacktrace(ptr noundef %1545) #10
  %1547 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1548 = trunc nuw i8 %1547 to i1
  br i1 %1548, label %1549, label %1553

1549:                                             ; preds = %1542
  %1550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1551 = call i32 @fileno(ptr noundef %1550) #10
  %1552 = call i32 @isatty(i32 noundef %1551) #10
  %.not429 = icmp eq i32 %1552, 0
  br i1 %.not429, label %1553, label %1554

1553:                                             ; preds = %1549, %1542
  br label %1554

1554:                                             ; preds = %1549, %1553
  %.str.4.sink1155 = phi ptr [ @.str.4, %1553 ], [ @.str, %1549 ]
  store i32 %1544, ptr %1543, align 4, !tbaa !5
  %1555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1556 = load i32, ptr @test_count, align 4, !tbaa !5
  %1557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1558 = load i32, ptr %1557, align 4, !tbaa !5
  %1559 = call ptr @s2n_strerror(i32 noundef %1558, ptr noundef nonnull @.str.3) #10
  %1560 = load i32, ptr %1557, align 4, !tbaa !5
  %1561 = call ptr @s2n_strerror_debug(i32 noundef %1560, ptr noundef nonnull @.str.3) #10
  %1562 = load i32, ptr %1543, align 4, !tbaa !5
  %1563 = call ptr @strerror(i32 noundef %1562) #10
  %1564 = load i32, ptr %1543, align 4, !tbaa !5
  %1565 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1555, ptr noundef nonnull %.str.4.sink1155, i32 noundef %1556, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.2, i32 noundef 146, ptr noundef %1559, ptr noundef %1561, ptr noundef %1563, i32 noundef %1564) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1566:                                             ; preds = %1536
  %1567 = add nsw i32 %1537, 2
  store i32 %1567, ptr @test_count, align 4, !tbaa !5
  %1568 = call i32 %1274(ptr noundef nonnull %1422, ptr noundef nonnull %9) #10
  %1569 = icmp eq i32 %1568, -1
  br i1 %1569, label %1570, label %1594

1570:                                             ; preds = %1566
  %1571 = tail call ptr @__errno_location() #11
  %1572 = load i32, ptr %1571, align 4, !tbaa !5
  %1573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1574 = call i32 @s2n_print_stacktrace(ptr noundef %1573) #10
  %1575 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1576 = trunc nuw i8 %1575 to i1
  br i1 %1576, label %1577, label %1581

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

1581:                                             ; preds = %1577, %1570
  br label %1582

1582:                                             ; preds = %1577, %1581
  %.str.4.sink1166 = phi ptr [ @.str.4, %1581 ], [ @.str, %1577 ]
  store i32 %1572, ptr %1571, align 4, !tbaa !5
  %1583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1584 = load i32, ptr @test_count, align 4, !tbaa !5
  %1585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1586 = load i32, ptr %1585, align 4, !tbaa !5
  %1587 = call ptr @s2n_strerror(i32 noundef %1586, ptr noundef nonnull @.str.3) #10
  %1588 = load i32, ptr %1585, align 4, !tbaa !5
  %1589 = call ptr @s2n_strerror_debug(i32 noundef %1588, ptr noundef nonnull @.str.3) #10
  %1590 = load i32, ptr %1571, align 4, !tbaa !5
  %1591 = call ptr @strerror(i32 noundef %1590) #10
  %1592 = load i32, ptr %1571, align 4, !tbaa !5
  %1593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1583, ptr noundef nonnull %.str.4.sink1166, i32 noundef %1584, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.2, i32 noundef 147, ptr noundef %1587, ptr noundef %1589, ptr noundef %1591, i32 noundef %1592) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1594:                                             ; preds = %1566
  %1595 = load i32, ptr @test_count, align 4, !tbaa !5
  %1596 = add nsw i32 %1595, 1
  store i32 %1596, ptr @test_count, align 4, !tbaa !5
  %1597 = load i32, ptr %1539, align 8, !tbaa !49
  %1598 = icmp eq i32 %1597, 0
  br i1 %1598, label %1623, label %1599

1599:                                             ; preds = %1594
  %1600 = tail call ptr @__errno_location() #11
  %1601 = load i32, ptr %1600, align 4, !tbaa !5
  %1602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1603 = call i32 @s2n_print_stacktrace(ptr noundef %1602) #10
  %1604 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1605 = trunc nuw i8 %1604 to i1
  br i1 %1605, label %1606, label %1610

1606:                                             ; preds = %1599
  %1607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1608 = call i32 @fileno(ptr noundef %1607) #10
  %1609 = call i32 @isatty(i32 noundef %1608) #10
  %.not430 = icmp eq i32 %1609, 0
  br i1 %.not430, label %1610, label %1611

1610:                                             ; preds = %1606, %1599
  br label %1611

1611:                                             ; preds = %1606, %1610
  %.str.4.sink1177 = phi ptr [ @.str.4, %1610 ], [ @.str, %1606 ]
  store i32 %1601, ptr %1600, align 4, !tbaa !5
  %1612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1613 = load i32, ptr @test_count, align 4, !tbaa !5
  %1614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1615 = load i32, ptr %1614, align 4, !tbaa !5
  %1616 = call ptr @s2n_strerror(i32 noundef %1615, ptr noundef nonnull @.str.3) #10
  %1617 = load i32, ptr %1614, align 4, !tbaa !5
  %1618 = call ptr @s2n_strerror_debug(i32 noundef %1617, ptr noundef nonnull @.str.3) #10
  %1619 = load i32, ptr %1600, align 4, !tbaa !5
  %1620 = call ptr @strerror(i32 noundef %1619) #10
  %1621 = load i32, ptr %1600, align 4, !tbaa !5
  %1622 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1612, ptr noundef nonnull %.str.4.sink1177, i32 noundef %1613, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.2, i32 noundef 148, ptr noundef %1616, ptr noundef %1618, ptr noundef %1620, i32 noundef %1621) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1623:                                             ; preds = %1594
  %1624 = add nsw i32 %1595, 2
  store i32 %1624, ptr @test_count, align 4, !tbaa !5
  %1625 = call i32 @s2n_stuffer_free(ptr noundef nonnull %9) #10
  %1626 = icmp eq i32 %1625, -1
  br i1 %1626, label %1627, label %1651

1627:                                             ; preds = %1623
  %1628 = tail call ptr @__errno_location() #11
  %1629 = load i32, ptr %1628, align 4, !tbaa !5
  %1630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1631 = call i32 @s2n_print_stacktrace(ptr noundef %1630) #10
  %1632 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1633 = trunc nuw i8 %1632 to i1
  br i1 %1633, label %1634, label %1638

1634:                                             ; preds = %1627
  %1635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1636 = call i32 @fileno(ptr noundef %1635) #10
  %1637 = call i32 @isatty(i32 noundef %1636) #10
  %.not553 = icmp eq i32 %1637, 0
  br i1 %.not553, label %1638, label %1639

1638:                                             ; preds = %1634, %1627
  br label %1639

1639:                                             ; preds = %1634, %1638
  %.str.4.sink1188 = phi ptr [ @.str.4, %1638 ], [ @.str, %1634 ]
  store i32 %1629, ptr %1628, align 4, !tbaa !5
  %1640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1641 = load i32, ptr @test_count, align 4, !tbaa !5
  %1642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1643 = load i32, ptr %1642, align 4, !tbaa !5
  %1644 = call ptr @s2n_strerror(i32 noundef %1643, ptr noundef nonnull @.str.3) #10
  %1645 = load i32, ptr %1642, align 4, !tbaa !5
  %1646 = call ptr @s2n_strerror_debug(i32 noundef %1645, ptr noundef nonnull @.str.3) #10
  %1647 = load i32, ptr %1628, align 4, !tbaa !5
  %1648 = call ptr @strerror(i32 noundef %1647) #10
  %1649 = load i32, ptr %1628, align 4, !tbaa !5
  %1650 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1640, ptr noundef nonnull %.str.4.sink1188, i32 noundef %1641, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.2, i32 noundef 150, ptr noundef %1644, ptr noundef %1646, ptr noundef %1648, i32 noundef %1649) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1651:                                             ; preds = %1623
  %1652 = load i32, ptr @test_count, align 4, !tbaa !5
  %1653 = add nsw i32 %1652, 1
  store i32 %1653, ptr @test_count, align 4, !tbaa !5
  %1654 = call i32 @s2n_connection_free(ptr noundef nonnull %1422) #10
  %1655 = icmp eq i32 %1654, -1
  br i1 %1655, label %1656, label %1680

1656:                                             ; preds = %1651
  %1657 = tail call ptr @__errno_location() #11
  %1658 = load i32, ptr %1657, align 4, !tbaa !5
  %1659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1660 = call i32 @s2n_print_stacktrace(ptr noundef %1659) #10
  %1661 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1662 = trunc nuw i8 %1661 to i1
  br i1 %1662, label %1663, label %1667

1663:                                             ; preds = %1656
  %1664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1665 = call i32 @fileno(ptr noundef %1664) #10
  %1666 = call i32 @isatty(i32 noundef %1665) #10
  %.not552 = icmp eq i32 %1666, 0
  br i1 %.not552, label %1667, label %1668

1667:                                             ; preds = %1663, %1656
  br label %1668

1668:                                             ; preds = %1663, %1667
  %.str.4.sink1199 = phi ptr [ @.str.4, %1667 ], [ @.str, %1663 ]
  store i32 %1658, ptr %1657, align 4, !tbaa !5
  %1669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1670 = load i32, ptr @test_count, align 4, !tbaa !5
  %1671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1672 = load i32, ptr %1671, align 4, !tbaa !5
  %1673 = call ptr @s2n_strerror(i32 noundef %1672, ptr noundef nonnull @.str.3) #10
  %1674 = load i32, ptr %1671, align 4, !tbaa !5
  %1675 = call ptr @s2n_strerror_debug(i32 noundef %1674, ptr noundef nonnull @.str.3) #10
  %1676 = load i32, ptr %1657, align 4, !tbaa !5
  %1677 = call ptr @strerror(i32 noundef %1676) #10
  %1678 = load i32, ptr %1657, align 4, !tbaa !5
  %1679 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1669, ptr noundef nonnull %.str.4.sink1199, i32 noundef %1670, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.2, i32 noundef 151, ptr noundef %1673, ptr noundef %1675, ptr noundef %1677, i32 noundef %1678) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1680:                                             ; preds = %1651
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %9) #10
  %1681 = call ptr @s2n_connection_new(i32 noundef 1) #10
  %1682 = load i32, ptr @test_count, align 4, !tbaa !5
  %1683 = add nsw i32 %1682, 1
  store i32 %1683, ptr @test_count, align 4, !tbaa !5
  %1684 = icmp eq ptr %1681, null
  br i1 %1684, label %1685, label %1709

1685:                                             ; preds = %1680
  %1686 = tail call ptr @__errno_location() #11
  %1687 = load i32, ptr %1686, align 4, !tbaa !5
  %1688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1689 = call i32 @s2n_print_stacktrace(ptr noundef %1688) #10
  %1690 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1691 = trunc nuw i8 %1690 to i1
  br i1 %1691, label %1692, label %1696

1692:                                             ; preds = %1685
  %1693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1694 = call i32 @fileno(ptr noundef %1693) #10
  %1695 = call i32 @isatty(i32 noundef %1694) #10
  %.not551 = icmp eq i32 %1695, 0
  br i1 %.not551, label %1696, label %1697

1696:                                             ; preds = %1692, %1685
  br label %1697

1697:                                             ; preds = %1692, %1696
  %.str.4.sink1210 = phi ptr [ @.str.4, %1696 ], [ @.str, %1692 ]
  store i32 %1687, ptr %1686, align 4, !tbaa !5
  %1698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1699 = load i32, ptr @test_count, align 4, !tbaa !5
  %1700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1701 = load i32, ptr %1700, align 4, !tbaa !5
  %1702 = call ptr @s2n_strerror(i32 noundef %1701, ptr noundef nonnull @.str.3) #10
  %1703 = load i32, ptr %1700, align 4, !tbaa !5
  %1704 = call ptr @s2n_strerror_debug(i32 noundef %1703, ptr noundef nonnull @.str.3) #10
  %1705 = load i32, ptr %1686, align 4, !tbaa !5
  %1706 = call ptr @strerror(i32 noundef %1705) #10
  %1707 = load i32, ptr %1686, align 4, !tbaa !5
  %1708 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1698, ptr noundef nonnull %.str.4.sink1210, i32 noundef %1699, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.2, i32 noundef 157, ptr noundef %1702, ptr noundef %1704, ptr noundef %1706, i32 noundef %1707) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1709:                                             ; preds = %1680
  %1710 = add nsw i32 %1682, 2
  store i32 %1710, ptr @test_count, align 4, !tbaa !5
  %1711 = load ptr, ptr %3, align 8, !tbaa !9
  %1712 = call i32 @s2n_test_enable_sending_extension(ptr noundef nonnull %1681, ptr noundef %1711)
  %1713 = icmp eq i32 %1712, -1
  br i1 %1713, label %1714, label %1738

1714:                                             ; preds = %1709
  %1715 = tail call ptr @__errno_location() #11
  %1716 = load i32, ptr %1715, align 4, !tbaa !5
  %1717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1718 = call i32 @s2n_print_stacktrace(ptr noundef %1717) #10
  %1719 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1720 = trunc nuw i8 %1719 to i1
  br i1 %1720, label %1721, label %1725

1721:                                             ; preds = %1714
  %1722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1723 = call i32 @fileno(ptr noundef %1722) #10
  %1724 = call i32 @isatty(i32 noundef %1723) #10
  %.not550 = icmp eq i32 %1724, 0
  br i1 %.not550, label %1725, label %1726

1725:                                             ; preds = %1721, %1714
  br label %1726

1726:                                             ; preds = %1721, %1725
  %.str.4.sink1221 = phi ptr [ @.str.4, %1725 ], [ @.str, %1721 ]
  store i32 %1716, ptr %1715, align 4, !tbaa !5
  %1727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1728 = load i32, ptr @test_count, align 4, !tbaa !5
  %1729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1730 = load i32, ptr %1729, align 4, !tbaa !5
  %1731 = call ptr @s2n_strerror(i32 noundef %1730, ptr noundef nonnull @.str.3) #10
  %1732 = load i32, ptr %1729, align 4, !tbaa !5
  %1733 = call ptr @s2n_strerror_debug(i32 noundef %1732, ptr noundef nonnull @.str.3) #10
  %1734 = load i32, ptr %1715, align 4, !tbaa !5
  %1735 = call ptr @strerror(i32 noundef %1734) #10
  %1736 = load i32, ptr %1715, align 4, !tbaa !5
  %1737 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1727, ptr noundef nonnull %.str.4.sink1221, i32 noundef %1728, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 158, ptr noundef %1731, ptr noundef %1733, ptr noundef %1735, i32 noundef %1736) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1738:                                             ; preds = %1709
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %10) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %10, i8 0, i64 40, i1 false)
  %1739 = load i32, ptr @test_count, align 4, !tbaa !5
  %1740 = add nsw i32 %1739, 1
  store i32 %1740, ptr @test_count, align 4, !tbaa !5
  %1741 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %10, i32 noundef 0) #10
  %1742 = icmp eq i32 %1741, -1
  br i1 %1742, label %1743, label %1767

1743:                                             ; preds = %1738
  %1744 = tail call ptr @__errno_location() #11
  %1745 = load i32, ptr %1744, align 4, !tbaa !5
  %1746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1747 = call i32 @s2n_print_stacktrace(ptr noundef %1746) #10
  %1748 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1749 = trunc nuw i8 %1748 to i1
  br i1 %1749, label %1750, label %1754

1750:                                             ; preds = %1743
  %1751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1752 = call i32 @fileno(ptr noundef %1751) #10
  %1753 = call i32 @isatty(i32 noundef %1752) #10
  %.not549 = icmp eq i32 %1753, 0
  br i1 %.not549, label %1754, label %1755

1754:                                             ; preds = %1750, %1743
  br label %1755

1755:                                             ; preds = %1750, %1754
  %.str.4.sink1232 = phi ptr [ @.str.4, %1754 ], [ @.str, %1750 ]
  store i32 %1745, ptr %1744, align 4, !tbaa !5
  %1756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1757 = load i32, ptr @test_count, align 4, !tbaa !5
  %1758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1759 = load i32, ptr %1758, align 4, !tbaa !5
  %1760 = call ptr @s2n_strerror(i32 noundef %1759, ptr noundef nonnull @.str.3) #10
  %1761 = load i32, ptr %1758, align 4, !tbaa !5
  %1762 = call ptr @s2n_strerror_debug(i32 noundef %1761, ptr noundef nonnull @.str.3) #10
  %1763 = load i32, ptr %1744, align 4, !tbaa !5
  %1764 = call ptr @strerror(i32 noundef %1763) #10
  %1765 = load i32, ptr %1744, align 4, !tbaa !5
  %1766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1756, ptr noundef nonnull %.str.4.sink1232, i32 noundef %1757, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.2, i32 noundef 161, ptr noundef %1760, ptr noundef %1762, ptr noundef %1764, i32 noundef %1765) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1767:                                             ; preds = %1738
  %1768 = load i32, ptr @test_count, align 4, !tbaa !5
  %1769 = add nsw i32 %1768, 1
  store i32 %1769, ptr @test_count, align 4, !tbaa !5
  %1770 = call i32 %745(ptr noundef nonnull %1681, ptr noundef nonnull %10) #10
  %1771 = icmp eq i32 %1770, -1
  br i1 %1771, label %1772, label %1796

1772:                                             ; preds = %1767
  %1773 = tail call ptr @__errno_location() #11
  %1774 = load i32, ptr %1773, align 4, !tbaa !5
  %1775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1776 = call i32 @s2n_print_stacktrace(ptr noundef %1775) #10
  %1777 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1778 = trunc nuw i8 %1777 to i1
  br i1 %1778, label %1779, label %1783

1779:                                             ; preds = %1772
  %1780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1781 = call i32 @fileno(ptr noundef %1780) #10
  %1782 = call i32 @isatty(i32 noundef %1781) #10
  %.not548 = icmp eq i32 %1782, 0
  br i1 %.not548, label %1783, label %1784

1783:                                             ; preds = %1779, %1772
  br label %1784

1784:                                             ; preds = %1779, %1783
  %.str.4.sink1243 = phi ptr [ @.str.4, %1783 ], [ @.str, %1779 ]
  store i32 %1774, ptr %1773, align 4, !tbaa !5
  %1785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1786 = load i32, ptr @test_count, align 4, !tbaa !5
  %1787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1788 = load i32, ptr %1787, align 4, !tbaa !5
  %1789 = call ptr @s2n_strerror(i32 noundef %1788, ptr noundef nonnull @.str.3) #10
  %1790 = load i32, ptr %1787, align 4, !tbaa !5
  %1791 = call ptr @s2n_strerror_debug(i32 noundef %1790, ptr noundef nonnull @.str.3) #10
  %1792 = load i32, ptr %1773, align 4, !tbaa !5
  %1793 = call ptr @strerror(i32 noundef %1792) #10
  %1794 = load i32, ptr %1773, align 4, !tbaa !5
  %1795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1785, ptr noundef nonnull %.str.4.sink1243, i32 noundef %1786, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.2, i32 noundef 163, ptr noundef %1789, ptr noundef %1791, ptr noundef %1793, i32 noundef %1794) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1796:                                             ; preds = %1767
  %1797 = call zeroext i8 @s2n_x509_ocsp_stapling_supported() #10
  %.not431 = icmp eq i8 %1797, 0
  %1798 = load i32, ptr @test_count, align 4, !tbaa !5
  %1799 = add nsw i32 %1798, 1
  store i32 %1799, ptr @test_count, align 4, !tbaa !5
  %1800 = call i32 %1274(ptr noundef nonnull %1681, ptr noundef nonnull %10) #10
  %1801 = icmp eq i32 %1800, -1
  br i1 %.not431, label %1883, label %1802

1802:                                             ; preds = %1796
  br i1 %1801, label %1827, label %1803

1803:                                             ; preds = %1802
  %1804 = tail call ptr @__errno_location() #11
  %1805 = load i32, ptr %1804, align 4, !tbaa !5
  %1806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1807 = call i32 @s2n_print_stacktrace(ptr noundef %1806) #10
  %1808 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1809 = trunc nuw i8 %1808 to i1
  br i1 %1809, label %1810, label %1814

1810:                                             ; preds = %1803
  %1811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1812 = call i32 @fileno(ptr noundef %1811) #10
  %1813 = call i32 @isatty(i32 noundef %1812) #10
  %.not435 = icmp eq i32 %1813, 0
  br i1 %.not435, label %1814, label %1815

1814:                                             ; preds = %1810, %1803
  br label %1815

1815:                                             ; preds = %1810, %1814
  %.str.4.sink1254 = phi ptr [ @.str.4, %1814 ], [ @.str, %1810 ]
  store i32 %1805, ptr %1804, align 4, !tbaa !5
  %1816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1817 = load i32, ptr @test_count, align 4, !tbaa !5
  %1818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1819 = load i32, ptr %1818, align 4, !tbaa !5
  %1820 = call ptr @s2n_strerror(i32 noundef %1819, ptr noundef nonnull @.str.3) #10
  %1821 = load i32, ptr %1818, align 4, !tbaa !5
  %1822 = call ptr @s2n_strerror_debug(i32 noundef %1821, ptr noundef nonnull @.str.3) #10
  %1823 = load i32, ptr %1804, align 4, !tbaa !5
  %1824 = call ptr @strerror(i32 noundef %1823) #10
  %1825 = load i32, ptr %1804, align 4, !tbaa !5
  %1826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1816, ptr noundef nonnull %.str.4.sink1254, i32 noundef %1817, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.2, i32 noundef 167, ptr noundef %1820, ptr noundef %1822, ptr noundef %1824, i32 noundef %1825) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1827:                                             ; preds = %1802
  %1828 = load i32, ptr @test_count, align 4, !tbaa !5
  %1829 = add nsw i32 %1828, 1
  store i32 %1829, ptr @test_count, align 4, !tbaa !5
  %1830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1831 = load i32, ptr %1830, align 4, !tbaa !5
  %1832 = icmp eq i32 %1831, 469762074
  br i1 %1832, label %1856, label %1833

1833:                                             ; preds = %1827
  %1834 = tail call ptr @__errno_location() #11
  %1835 = load i32, ptr %1834, align 4, !tbaa !5
  %1836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1837 = call i32 @s2n_print_stacktrace(ptr noundef %1836) #10
  %1838 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1839 = trunc nuw i8 %1838 to i1
  br i1 %1839, label %1840, label %1844

1840:                                             ; preds = %1833
  %1841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1842 = call i32 @fileno(ptr noundef %1841) #10
  %1843 = call i32 @isatty(i32 noundef %1842) #10
  %.not436 = icmp eq i32 %1843, 0
  br i1 %.not436, label %1844, label %1845

1844:                                             ; preds = %1840, %1833
  br label %1845

1845:                                             ; preds = %1840, %1844
  %.str.4.sink1265 = phi ptr [ @.str.4, %1844 ], [ @.str, %1840 ]
  store i32 %1835, ptr %1834, align 4, !tbaa !5
  %1846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1847 = load i32, ptr @test_count, align 4, !tbaa !5
  %1848 = load i32, ptr %1830, align 4, !tbaa !5
  %1849 = call ptr @s2n_strerror(i32 noundef %1848, ptr noundef nonnull @.str.3) #10
  %1850 = load i32, ptr %1830, align 4, !tbaa !5
  %1851 = call ptr @s2n_strerror_debug(i32 noundef %1850, ptr noundef nonnull @.str.3) #10
  %1852 = load i32, ptr %1834, align 4, !tbaa !5
  %1853 = call ptr @strerror(i32 noundef %1852) #10
  %1854 = load i32, ptr %1834, align 4, !tbaa !5
  %1855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1846, ptr noundef nonnull %.str.4.sink1265, i32 noundef %1847, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.2, i32 noundef 167, ptr noundef %1849, ptr noundef %1851, ptr noundef %1853, i32 noundef %1854) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1856:                                             ; preds = %1827
  %1857 = add nsw i32 %1828, 2
  store i32 %1857, ptr @test_count, align 4, !tbaa !5
  %1858 = call ptr @s2n_strerror_debug(i32 noundef 469762074, ptr noundef nonnull @.str.3) #10
  %1859 = icmp eq ptr %1858, null
  br i1 %1859, label %1860, label %1964

1860:                                             ; preds = %1856
  %1861 = tail call ptr @__errno_location() #11
  %1862 = load i32, ptr %1861, align 4, !tbaa !5
  %1863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1864 = call i32 @s2n_print_stacktrace(ptr noundef %1863) #10
  %1865 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1866 = trunc nuw i8 %1865 to i1
  br i1 %1866, label %1867, label %1871

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

1871:                                             ; preds = %1867, %1860
  br label %1872

1872:                                             ; preds = %1867, %1871
  %.str.4.sink1274 = phi ptr [ @.str.4, %1871 ], [ @.str, %1867 ]
  store i32 %1862, ptr %1861, align 4, !tbaa !5
  %1873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1874 = load i32, ptr @test_count, align 4, !tbaa !5
  %1875 = load i32, ptr %1830, align 4, !tbaa !5
  %1876 = call ptr @s2n_strerror(i32 noundef %1875, ptr noundef nonnull @.str.3) #10
  %1877 = load i32, ptr %1830, align 4, !tbaa !5
  %1878 = call ptr @s2n_strerror_debug(i32 noundef %1877, ptr noundef nonnull @.str.3) #10
  %1879 = load i32, ptr %1861, align 4, !tbaa !5
  %1880 = call ptr @strerror(i32 noundef %1879) #10
  %1881 = load i32, ptr %1861, align 4, !tbaa !5
  %1882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1873, ptr noundef nonnull %.str.4.sink1274, i32 noundef %1874, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.2, i32 noundef 167, ptr noundef %1876, ptr noundef %1878, ptr noundef %1880, i32 noundef %1881) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1883:                                             ; preds = %1796
  br i1 %1801, label %1908, label %1884

1884:                                             ; preds = %1883
  %1885 = tail call ptr @__errno_location() #11
  %1886 = load i32, ptr %1885, align 4, !tbaa !5
  %1887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1888 = call i32 @s2n_print_stacktrace(ptr noundef %1887) #10
  %1889 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1890 = trunc nuw i8 %1889 to i1
  br i1 %1890, label %1891, label %1895

1891:                                             ; preds = %1884
  %1892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1893 = call i32 @fileno(ptr noundef %1892) #10
  %1894 = call i32 @isatty(i32 noundef %1893) #10
  %.not432 = icmp eq i32 %1894, 0
  br i1 %.not432, label %1895, label %1896

1895:                                             ; preds = %1891, %1884
  br label %1896

1896:                                             ; preds = %1891, %1895
  %.str.4.sink1283 = phi ptr [ @.str.4, %1895 ], [ @.str, %1891 ]
  store i32 %1886, ptr %1885, align 4, !tbaa !5
  %1897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1898 = load i32, ptr @test_count, align 4, !tbaa !5
  %1899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1900 = load i32, ptr %1899, align 4, !tbaa !5
  %1901 = call ptr @s2n_strerror(i32 noundef %1900, ptr noundef nonnull @.str.3) #10
  %1902 = load i32, ptr %1899, align 4, !tbaa !5
  %1903 = call ptr @s2n_strerror_debug(i32 noundef %1902, ptr noundef nonnull @.str.3) #10
  %1904 = load i32, ptr %1885, align 4, !tbaa !5
  %1905 = call ptr @strerror(i32 noundef %1904) #10
  %1906 = load i32, ptr %1885, align 4, !tbaa !5
  %1907 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1897, ptr noundef nonnull %.str.4.sink1283, i32 noundef %1898, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.2, i32 noundef 171, ptr noundef %1901, ptr noundef %1903, ptr noundef %1905, i32 noundef %1906) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1908:                                             ; preds = %1883
  %1909 = load i32, ptr @test_count, align 4, !tbaa !5
  %1910 = add nsw i32 %1909, 1
  store i32 %1910, ptr @test_count, align 4, !tbaa !5
  %1911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1912 = load i32, ptr %1911, align 4, !tbaa !5
  %1913 = icmp eq i32 %1912, 335544366
  br i1 %1913, label %1937, label %1914

1914:                                             ; preds = %1908
  %1915 = tail call ptr @__errno_location() #11
  %1916 = load i32, ptr %1915, align 4, !tbaa !5
  %1917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1918 = call i32 @s2n_print_stacktrace(ptr noundef %1917) #10
  %1919 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1920 = trunc nuw i8 %1919 to i1
  br i1 %1920, label %1921, label %1925

1921:                                             ; preds = %1914
  %1922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1923 = call i32 @fileno(ptr noundef %1922) #10
  %1924 = call i32 @isatty(i32 noundef %1923) #10
  %.not433 = icmp eq i32 %1924, 0
  br i1 %.not433, label %1925, label %1926

1925:                                             ; preds = %1921, %1914
  br label %1926

1926:                                             ; preds = %1921, %1925
  %.str.4.sink1294 = phi ptr [ @.str.4, %1925 ], [ @.str, %1921 ]
  store i32 %1916, ptr %1915, align 4, !tbaa !5
  %1927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1928 = load i32, ptr @test_count, align 4, !tbaa !5
  %1929 = load i32, ptr %1911, align 4, !tbaa !5
  %1930 = call ptr @s2n_strerror(i32 noundef %1929, ptr noundef nonnull @.str.3) #10
  %1931 = load i32, ptr %1911, align 4, !tbaa !5
  %1932 = call ptr @s2n_strerror_debug(i32 noundef %1931, ptr noundef nonnull @.str.3) #10
  %1933 = load i32, ptr %1915, align 4, !tbaa !5
  %1934 = call ptr @strerror(i32 noundef %1933) #10
  %1935 = load i32, ptr %1915, align 4, !tbaa !5
  %1936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1927, ptr noundef nonnull %.str.4.sink1294, i32 noundef %1928, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.2, i32 noundef 171, ptr noundef %1930, ptr noundef %1932, ptr noundef %1934, i32 noundef %1935) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1937:                                             ; preds = %1908
  %1938 = add nsw i32 %1909, 2
  store i32 %1938, ptr @test_count, align 4, !tbaa !5
  %1939 = call ptr @s2n_strerror_debug(i32 noundef 335544366, ptr noundef nonnull @.str.3) #10
  %1940 = icmp eq ptr %1939, null
  br i1 %1940, label %1941, label %1964

1941:                                             ; preds = %1937
  %1942 = tail call ptr @__errno_location() #11
  %1943 = load i32, ptr %1942, align 4, !tbaa !5
  %1944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1945 = call i32 @s2n_print_stacktrace(ptr noundef %1944) #10
  %1946 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1947 = trunc nuw i8 %1946 to i1
  br i1 %1947, label %1948, label %1952

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

1952:                                             ; preds = %1948, %1941
  br label %1953

1953:                                             ; preds = %1948, %1952
  %.str.4.sink1303 = phi ptr [ @.str.4, %1952 ], [ @.str, %1948 ]
  store i32 %1943, ptr %1942, align 4, !tbaa !5
  %1954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1955 = load i32, ptr @test_count, align 4, !tbaa !5
  %1956 = load i32, ptr %1911, align 4, !tbaa !5
  %1957 = call ptr @s2n_strerror(i32 noundef %1956, ptr noundef nonnull @.str.3) #10
  %1958 = load i32, ptr %1911, align 4, !tbaa !5
  %1959 = call ptr @s2n_strerror_debug(i32 noundef %1958, ptr noundef nonnull @.str.3) #10
  %1960 = load i32, ptr %1942, align 4, !tbaa !5
  %1961 = call ptr @strerror(i32 noundef %1960) #10
  %1962 = load i32, ptr %1942, align 4, !tbaa !5
  %1963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1954, ptr noundef nonnull %.str.4.sink1303, i32 noundef %1955, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.2, i32 noundef 171, ptr noundef %1957, ptr noundef %1959, ptr noundef %1961, i32 noundef %1962) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1964:                                             ; preds = %1937, %1856
  %.sink = phi ptr [ %1830, %1856 ], [ %1911, %1937 ]
  store i32 0, ptr %.sink, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #10
  %1965 = tail call ptr @__errno_location() #11
  store i32 0, ptr %1965, align 4, !tbaa !5
  %1966 = load i32, ptr @test_count, align 4, !tbaa !5
  %1967 = add nsw i32 %1966, 1
  store i32 %1967, ptr @test_count, align 4, !tbaa !5
  %1968 = call i32 @s2n_connection_free(ptr noundef nonnull %1681) #10
  %1969 = icmp eq i32 %1968, -1
  br i1 %1969, label %1970, label %1994

1970:                                             ; preds = %1964
  %1971 = tail call ptr @__errno_location() #11
  %1972 = load i32, ptr %1971, align 4, !tbaa !5
  %1973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1974 = call i32 @s2n_print_stacktrace(ptr noundef %1973) #10
  %1975 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1976 = trunc nuw i8 %1975 to i1
  br i1 %1976, label %1977, label %1981

1977:                                             ; preds = %1970
  %1978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1979 = call i32 @fileno(ptr noundef %1978) #10
  %1980 = call i32 @isatty(i32 noundef %1979) #10
  %.not546 = icmp eq i32 %1980, 0
  br i1 %.not546, label %1981, label %1982

1981:                                             ; preds = %1977, %1970
  br label %1982

1982:                                             ; preds = %1977, %1981
  %.str.4.sink1313 = phi ptr [ @.str.4, %1981 ], [ @.str, %1977 ]
  store i32 %1972, ptr %1971, align 4, !tbaa !5
  %1983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1984 = load i32, ptr @test_count, align 4, !tbaa !5
  %1985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1986 = load i32, ptr %1985, align 4, !tbaa !5
  %1987 = call ptr @s2n_strerror(i32 noundef %1986, ptr noundef nonnull @.str.3) #10
  %1988 = load i32, ptr %1985, align 4, !tbaa !5
  %1989 = call ptr @s2n_strerror_debug(i32 noundef %1988, ptr noundef nonnull @.str.3) #10
  %1990 = load i32, ptr %1971, align 4, !tbaa !5
  %1991 = call ptr @strerror(i32 noundef %1990) #10
  %1992 = load i32, ptr %1971, align 4, !tbaa !5
  %1993 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1983, ptr noundef nonnull %.str.4.sink1313, i32 noundef %1984, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.2, i32 noundef 174, ptr noundef %1987, ptr noundef %1989, ptr noundef %1991, i32 noundef %1992) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1994:                                             ; preds = %1964
  %1995 = call i32 @s2n_stuffer_free(ptr noundef nonnull %10) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %10) #10
  %1996 = call zeroext i8 @s2n_x509_ocsp_stapling_supported() #10
  %.not437 = icmp eq i8 %1996, 0
  br i1 %.not437, label %5023, label %1997

1997:                                             ; preds = %1994
  %1998 = call zeroext i1 (...) @s2n_is_tls13_fully_supported() #10
  br i1 %1998, label %1999, label %5023

1999:                                             ; preds = %1997
  call void @llvm.lifetime.start.p0(i64 12000, ptr nonnull %11) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(12000) %11, i8 0, i64 12000, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %12) #10
  store i32 0, ptr %12, align 4, !tbaa !5
  %2000 = load i32, ptr @test_count, align 4, !tbaa !5
  %2001 = add nsw i32 %2000, 1
  store i32 %2001, ptr @test_count, align 4, !tbaa !5
  %2002 = call i32 @s2n_read_test_pem_and_len(ptr noundef nonnull @.str.43, ptr noundef nonnull %11, ptr noundef nonnull %12, i64 noundef 12000) #10
  %2003 = icmp eq i32 %2002, -1
  br i1 %2003, label %2004, label %2028

2004:                                             ; preds = %1999
  %2005 = tail call ptr @__errno_location() #11
  %2006 = load i32, ptr %2005, align 4, !tbaa !5
  %2007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2008 = call i32 @s2n_print_stacktrace(ptr noundef %2007) #10
  %2009 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2010 = trunc nuw i8 %2009 to i1
  br i1 %2010, label %2011, label %2015

2011:                                             ; preds = %2004
  %2012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2013 = call i32 @fileno(ptr noundef %2012) #10
  %2014 = call i32 @isatty(i32 noundef %2013) #10
  %.not545 = icmp eq i32 %2014, 0
  br i1 %.not545, label %2015, label %2016

2015:                                             ; preds = %2011, %2004
  br label %2016

2016:                                             ; preds = %2011, %2015
  %.str.4.sink1325 = phi ptr [ @.str.4, %2015 ], [ @.str, %2011 ]
  store i32 %2006, ptr %2005, align 4, !tbaa !5
  %2017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2018 = load i32, ptr @test_count, align 4, !tbaa !5
  %2019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2020 = load i32, ptr %2019, align 4, !tbaa !5
  %2021 = call ptr @s2n_strerror(i32 noundef %2020, ptr noundef nonnull @.str.3) #10
  %2022 = load i32, ptr %2019, align 4, !tbaa !5
  %2023 = call ptr @s2n_strerror_debug(i32 noundef %2022, ptr noundef nonnull @.str.3) #10
  %2024 = load i32, ptr %2005, align 4, !tbaa !5
  %2025 = call ptr @strerror(i32 noundef %2024) #10
  %2026 = load i32, ptr %2005, align 4, !tbaa !5
  %2027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2017, ptr noundef nonnull %.str.4.sink1325, i32 noundef %2018, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.2, i32 noundef 181, ptr noundef %2021, ptr noundef %2023, ptr noundef %2025, i32 noundef %2026) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2028:                                             ; preds = %1999
  %2029 = load i32, ptr @test_count, align 4, !tbaa !5
  %2030 = add nsw i32 %2029, 1
  store i32 %2030, ptr @test_count, align 4, !tbaa !5
  %2031 = load i32, ptr %12, align 4, !tbaa !5
  %.not438 = icmp eq i32 %2031, 0
  br i1 %.not438, label %2032, label %2056

2032:                                             ; preds = %2028
  %2033 = tail call ptr @__errno_location() #11
  %2034 = load i32, ptr %2033, align 4, !tbaa !5
  %2035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2036 = call i32 @s2n_print_stacktrace(ptr noundef %2035) #10
  %2037 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2038 = trunc nuw i8 %2037 to i1
  br i1 %2038, label %2039, label %2043

2039:                                             ; preds = %2032
  %2040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2041 = call i32 @fileno(ptr noundef %2040) #10
  %2042 = call i32 @isatty(i32 noundef %2041) #10
  %.not439 = icmp eq i32 %2042, 0
  br i1 %.not439, label %2043, label %2044

2043:                                             ; preds = %2039, %2032
  br label %2044

2044:                                             ; preds = %2039, %2043
  %.str.4.sink1337 = phi ptr [ @.str.4, %2043 ], [ @.str, %2039 ]
  store i32 %2034, ptr %2033, align 4, !tbaa !5
  %2045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2046 = load i32, ptr @test_count, align 4, !tbaa !5
  %2047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2048 = load i32, ptr %2047, align 4, !tbaa !5
  %2049 = call ptr @s2n_strerror(i32 noundef %2048, ptr noundef nonnull @.str.3) #10
  %2050 = load i32, ptr %2047, align 4, !tbaa !5
  %2051 = call ptr @s2n_strerror_debug(i32 noundef %2050, ptr noundef nonnull @.str.3) #10
  %2052 = load i32, ptr %2033, align 4, !tbaa !5
  %2053 = call ptr @strerror(i32 noundef %2052) #10
  %2054 = load i32, ptr %2033, align 4, !tbaa !5
  %2055 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2045, ptr noundef nonnull %.str.4.sink1337, i32 noundef %2046, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.2, i32 noundef 182, ptr noundef %2049, ptr noundef %2051, ptr noundef %2053, i32 noundef %2054) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2056:                                             ; preds = %2028
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #10
  store ptr null, ptr %13, align 8, !tbaa !9
  %2057 = add nsw i32 %2029, 2
  store i32 %2057, ptr @test_count, align 4, !tbaa !5
  %2058 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %13, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.47) #10
  %2059 = icmp eq i32 %2058, -1
  br i1 %2059, label %2060, label %2084

2060:                                             ; preds = %2056
  %2061 = tail call ptr @__errno_location() #11
  %2062 = load i32, ptr %2061, align 4, !tbaa !5
  %2063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2064 = call i32 @s2n_print_stacktrace(ptr noundef %2063) #10
  %2065 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2066 = trunc nuw i8 %2065 to i1
  br i1 %2066, label %2067, label %2071

2067:                                             ; preds = %2060
  %2068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2069 = call i32 @fileno(ptr noundef %2068) #10
  %2070 = call i32 @isatty(i32 noundef %2069) #10
  %.not544 = icmp eq i32 %2070, 0
  br i1 %.not544, label %2071, label %2072

2071:                                             ; preds = %2067, %2060
  br label %2072

2072:                                             ; preds = %2067, %2071
  %.str.4.sink1349 = phi ptr [ @.str.4, %2071 ], [ @.str, %2067 ]
  store i32 %2062, ptr %2061, align 4, !tbaa !5
  %2073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2074 = load i32, ptr @test_count, align 4, !tbaa !5
  %2075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2076 = load i32, ptr %2075, align 4, !tbaa !5
  %2077 = call ptr @s2n_strerror(i32 noundef %2076, ptr noundef nonnull @.str.3) #10
  %2078 = load i32, ptr %2075, align 4, !tbaa !5
  %2079 = call ptr @s2n_strerror_debug(i32 noundef %2078, ptr noundef nonnull @.str.3) #10
  %2080 = load i32, ptr %2061, align 4, !tbaa !5
  %2081 = call ptr @strerror(i32 noundef %2080) #10
  %2082 = load i32, ptr %2061, align 4, !tbaa !5
  %2083 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2073, ptr noundef nonnull %.str.4.sink1349, i32 noundef %2074, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.2, i32 noundef 185, ptr noundef %2077, ptr noundef %2079, ptr noundef %2081, i32 noundef %2082) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2084:                                             ; preds = %2056
  %2085 = load i32, ptr @test_count, align 4, !tbaa !5
  %2086 = add nsw i32 %2085, 1
  store i32 %2086, ptr @test_count, align 4, !tbaa !5
  %2087 = load ptr, ptr %13, align 8, !tbaa !9
  %2088 = load i32, ptr %12, align 4, !tbaa !5
  %2089 = call i32 @s2n_cert_chain_and_key_set_ocsp_data(ptr noundef %2087, ptr noundef nonnull %11, i32 noundef %2088) #10
  %2090 = icmp eq i32 %2089, -1
  br i1 %2090, label %2091, label %2115

2091:                                             ; preds = %2084
  %2092 = tail call ptr @__errno_location() #11
  %2093 = load i32, ptr %2092, align 4, !tbaa !5
  %2094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2095 = call i32 @s2n_print_stacktrace(ptr noundef %2094) #10
  %2096 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2097 = trunc nuw i8 %2096 to i1
  br i1 %2097, label %2098, label %2102

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
  %.not543 = icmp eq i32 %2101, 0
  br i1 %.not543, label %2102, label %2103

2102:                                             ; preds = %2098, %2091
  br label %2103

2103:                                             ; preds = %2098, %2102
  %.str.4.sink1361 = phi ptr [ @.str.4, %2102 ], [ @.str, %2098 ]
  store i32 %2093, ptr %2092, align 4, !tbaa !5
  %2104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2105 = load i32, ptr @test_count, align 4, !tbaa !5
  %2106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2107 = load i32, ptr %2106, align 4, !tbaa !5
  %2108 = call ptr @s2n_strerror(i32 noundef %2107, ptr noundef nonnull @.str.3) #10
  %2109 = load i32, ptr %2106, align 4, !tbaa !5
  %2110 = call ptr @s2n_strerror_debug(i32 noundef %2109, ptr noundef nonnull @.str.3) #10
  %2111 = load i32, ptr %2092, align 4, !tbaa !5
  %2112 = call ptr @strerror(i32 noundef %2111) #10
  %2113 = load i32, ptr %2092, align 4, !tbaa !5
  %2114 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2104, ptr noundef nonnull %.str.4.sink1361, i32 noundef %2105, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.2, i32 noundef 186, ptr noundef %2108, ptr noundef %2110, ptr noundef %2112, i32 noundef %2113) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2115:                                             ; preds = %2084
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #10
  %2116 = call ptr @s2n_config_new() #10
  store ptr %2116, ptr %14, align 8, !tbaa !9
  %2117 = load i32, ptr @test_count, align 4, !tbaa !5
  %2118 = add nsw i32 %2117, 1
  store i32 %2118, ptr @test_count, align 4, !tbaa !5
  %2119 = icmp eq ptr %2116, null
  br i1 %2119, label %2120, label %2144

2120:                                             ; preds = %2115
  %2121 = tail call ptr @__errno_location() #11
  %2122 = load i32, ptr %2121, align 4, !tbaa !5
  %2123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2124 = call i32 @s2n_print_stacktrace(ptr noundef %2123) #10
  %2125 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2126 = trunc nuw i8 %2125 to i1
  br i1 %2126, label %2127, label %2131

2127:                                             ; preds = %2120
  %2128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2129 = call i32 @fileno(ptr noundef %2128) #10
  %2130 = call i32 @isatty(i32 noundef %2129) #10
  %.not542 = icmp eq i32 %2130, 0
  br i1 %.not542, label %2131, label %2132

2131:                                             ; preds = %2127, %2120
  br label %2132

2132:                                             ; preds = %2127, %2131
  %.str.4.sink1373 = phi ptr [ @.str.4, %2131 ], [ @.str, %2127 ]
  store i32 %2122, ptr %2121, align 4, !tbaa !5
  %2133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2134 = load i32, ptr @test_count, align 4, !tbaa !5
  %2135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2136 = load i32, ptr %2135, align 4, !tbaa !5
  %2137 = call ptr @s2n_strerror(i32 noundef %2136, ptr noundef nonnull @.str.3) #10
  %2138 = load i32, ptr %2135, align 4, !tbaa !5
  %2139 = call ptr @s2n_strerror_debug(i32 noundef %2138, ptr noundef nonnull @.str.3) #10
  %2140 = load i32, ptr %2121, align 4, !tbaa !5
  %2141 = call ptr @strerror(i32 noundef %2140) #10
  %2142 = load i32, ptr %2121, align 4, !tbaa !5
  %2143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2133, ptr noundef nonnull %.str.4.sink1373, i32 noundef %2134, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.2, i32 noundef 191, ptr noundef %2137, ptr noundef %2139, ptr noundef %2141, i32 noundef %2142) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2144:                                             ; preds = %2115
  %2145 = add nsw i32 %2117, 2
  store i32 %2145, ptr @test_count, align 4, !tbaa !5
  %2146 = call i32 @s2n_config_set_verification_ca_location(ptr noundef nonnull %2116, ptr noundef nonnull @.str.51, ptr noundef null) #10
  %2147 = icmp eq i32 %2146, -1
  br i1 %2147, label %2148, label %2172

2148:                                             ; preds = %2144
  %2149 = tail call ptr @__errno_location() #11
  %2150 = load i32, ptr %2149, align 4, !tbaa !5
  %2151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2152 = call i32 @s2n_print_stacktrace(ptr noundef %2151) #10
  %2153 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2154 = trunc nuw i8 %2153 to i1
  br i1 %2154, label %2155, label %2159

2155:                                             ; preds = %2148
  %2156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2157 = call i32 @fileno(ptr noundef %2156) #10
  %2158 = call i32 @isatty(i32 noundef %2157) #10
  %.not541 = icmp eq i32 %2158, 0
  br i1 %.not541, label %2159, label %2160

2159:                                             ; preds = %2155, %2148
  br label %2160

2160:                                             ; preds = %2155, %2159
  %.str.4.sink1385 = phi ptr [ @.str.4, %2159 ], [ @.str, %2155 ]
  store i32 %2150, ptr %2149, align 4, !tbaa !5
  %2161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2162 = load i32, ptr @test_count, align 4, !tbaa !5
  %2163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2164 = load i32, ptr %2163, align 4, !tbaa !5
  %2165 = call ptr @s2n_strerror(i32 noundef %2164, ptr noundef nonnull @.str.3) #10
  %2166 = load i32, ptr %2163, align 4, !tbaa !5
  %2167 = call ptr @s2n_strerror_debug(i32 noundef %2166, ptr noundef nonnull @.str.3) #10
  %2168 = load i32, ptr %2149, align 4, !tbaa !5
  %2169 = call ptr @strerror(i32 noundef %2168) #10
  %2170 = load i32, ptr %2149, align 4, !tbaa !5
  %2171 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2161, ptr noundef nonnull %.str.4.sink1385, i32 noundef %2162, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.2, i32 noundef 192, ptr noundef %2165, ptr noundef %2167, ptr noundef %2169, i32 noundef %2170) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2172:                                             ; preds = %2144
  %2173 = load i32, ptr @test_count, align 4, !tbaa !5
  %2174 = add nsw i32 %2173, 1
  store i32 %2174, ptr @test_count, align 4, !tbaa !5
  %2175 = load ptr, ptr %14, align 8, !tbaa !9
  %2176 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %2175, ptr noundef nonnull @.str.53) #10
  %2177 = icmp eq i32 %2176, -1
  br i1 %2177, label %2178, label %2202

2178:                                             ; preds = %2172
  %2179 = tail call ptr @__errno_location() #11
  %2180 = load i32, ptr %2179, align 4, !tbaa !5
  %2181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2182 = call i32 @s2n_print_stacktrace(ptr noundef %2181) #10
  %2183 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2184 = trunc nuw i8 %2183 to i1
  br i1 %2184, label %2185, label %2189

2185:                                             ; preds = %2178
  %2186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2187 = call i32 @fileno(ptr noundef %2186) #10
  %2188 = call i32 @isatty(i32 noundef %2187) #10
  %.not540 = icmp eq i32 %2188, 0
  br i1 %.not540, label %2189, label %2190

2189:                                             ; preds = %2185, %2178
  br label %2190

2190:                                             ; preds = %2185, %2189
  %.str.4.sink1397 = phi ptr [ @.str.4, %2189 ], [ @.str, %2185 ]
  store i32 %2180, ptr %2179, align 4, !tbaa !5
  %2191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2192 = load i32, ptr @test_count, align 4, !tbaa !5
  %2193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2194 = load i32, ptr %2193, align 4, !tbaa !5
  %2195 = call ptr @s2n_strerror(i32 noundef %2194, ptr noundef nonnull @.str.3) #10
  %2196 = load i32, ptr %2193, align 4, !tbaa !5
  %2197 = call ptr @s2n_strerror_debug(i32 noundef %2196, ptr noundef nonnull @.str.3) #10
  %2198 = load i32, ptr %2179, align 4, !tbaa !5
  %2199 = call ptr @strerror(i32 noundef %2198) #10
  %2200 = load i32, ptr %2179, align 4, !tbaa !5
  %2201 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2191, ptr noundef nonnull %.str.4.sink1397, i32 noundef %2192, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.2, i32 noundef 193, ptr noundef %2195, ptr noundef %2197, ptr noundef %2199, i32 noundef %2200) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2202:                                             ; preds = %2172
  %2203 = load i32, ptr @test_count, align 4, !tbaa !5
  %2204 = add nsw i32 %2203, 1
  store i32 %2204, ptr @test_count, align 4, !tbaa !5
  %2205 = load ptr, ptr %14, align 8, !tbaa !9
  %2206 = call i32 @s2n_config_set_status_request_type(ptr noundef %2205, i32 noundef 1) #10
  %2207 = icmp eq i32 %2206, -1
  br i1 %2207, label %2208, label %2232

2208:                                             ; preds = %2202
  %2209 = tail call ptr @__errno_location() #11
  %2210 = load i32, ptr %2209, align 4, !tbaa !5
  %2211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2212 = call i32 @s2n_print_stacktrace(ptr noundef %2211) #10
  %2213 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2214 = trunc nuw i8 %2213 to i1
  br i1 %2214, label %2215, label %2219

2215:                                             ; preds = %2208
  %2216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2217 = call i32 @fileno(ptr noundef %2216) #10
  %2218 = call i32 @isatty(i32 noundef %2217) #10
  %.not539 = icmp eq i32 %2218, 0
  br i1 %.not539, label %2219, label %2220

2219:                                             ; preds = %2215, %2208
  br label %2220

2220:                                             ; preds = %2215, %2219
  %.str.4.sink1409 = phi ptr [ @.str.4, %2219 ], [ @.str, %2215 ]
  store i32 %2210, ptr %2209, align 4, !tbaa !5
  %2221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2222 = load i32, ptr @test_count, align 4, !tbaa !5
  %2223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2224 = load i32, ptr %2223, align 4, !tbaa !5
  %2225 = call ptr @s2n_strerror(i32 noundef %2224, ptr noundef nonnull @.str.3) #10
  %2226 = load i32, ptr %2223, align 4, !tbaa !5
  %2227 = call ptr @s2n_strerror_debug(i32 noundef %2226, ptr noundef nonnull @.str.3) #10
  %2228 = load i32, ptr %2209, align 4, !tbaa !5
  %2229 = call ptr @strerror(i32 noundef %2228) #10
  %2230 = load i32, ptr %2209, align 4, !tbaa !5
  %2231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2221, ptr noundef nonnull %.str.4.sink1409, i32 noundef %2222, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.2, i32 noundef 194, ptr noundef %2225, ptr noundef %2227, ptr noundef %2229, i32 noundef %2230) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2232:                                             ; preds = %2202
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #10
  %2233 = call ptr @s2n_config_new() #10
  store ptr %2233, ptr %15, align 8, !tbaa !9
  %2234 = load i32, ptr @test_count, align 4, !tbaa !5
  %2235 = add nsw i32 %2234, 1
  store i32 %2235, ptr @test_count, align 4, !tbaa !5
  %2236 = icmp eq ptr %2233, null
  br i1 %2236, label %2237, label %2261

2237:                                             ; preds = %2232
  %2238 = tail call ptr @__errno_location() #11
  %2239 = load i32, ptr %2238, align 4, !tbaa !5
  %2240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2241 = call i32 @s2n_print_stacktrace(ptr noundef %2240) #10
  %2242 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2243 = trunc nuw i8 %2242 to i1
  br i1 %2243, label %2244, label %2248

2244:                                             ; preds = %2237
  %2245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2246 = call i32 @fileno(ptr noundef %2245) #10
  %2247 = call i32 @isatty(i32 noundef %2246) #10
  %.not538 = icmp eq i32 %2247, 0
  br i1 %.not538, label %2248, label %2249

2248:                                             ; preds = %2244, %2237
  br label %2249

2249:                                             ; preds = %2244, %2248
  %.str.4.sink1421 = phi ptr [ @.str.4, %2248 ], [ @.str, %2244 ]
  store i32 %2239, ptr %2238, align 4, !tbaa !5
  %2250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2251 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %2253, ptr noundef nonnull @.str.3) #10
  %2255 = load i32, ptr %2252, align 4, !tbaa !5
  %2256 = call ptr @s2n_strerror_debug(i32 noundef %2255, ptr noundef nonnull @.str.3) #10
  %2257 = load i32, ptr %2238, align 4, !tbaa !5
  %2258 = call ptr @strerror(i32 noundef %2257) #10
  %2259 = load i32, ptr %2238, align 4, !tbaa !5
  %2260 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2250, ptr noundef nonnull %.str.4.sink1421, i32 noundef %2251, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.2, i32 noundef 197, ptr noundef %2254, ptr noundef %2256, ptr noundef %2258, i32 noundef %2259) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2261:                                             ; preds = %2232
  %2262 = add nsw i32 %2234, 2
  store i32 %2262, ptr @test_count, align 4, !tbaa !5
  %2263 = load ptr, ptr %13, align 8, !tbaa !9
  %2264 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %2233, ptr noundef %2263) #10
  %2265 = icmp eq i32 %2264, -1
  br i1 %2265, label %2266, label %2290

2266:                                             ; preds = %2261
  %2267 = tail call ptr @__errno_location() #11
  %2268 = load i32, ptr %2267, align 4, !tbaa !5
  %2269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2270 = call i32 @s2n_print_stacktrace(ptr noundef %2269) #10
  %2271 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2272 = trunc nuw i8 %2271 to i1
  br i1 %2272, label %2273, label %2277

2273:                                             ; preds = %2266
  %2274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2275 = call i32 @fileno(ptr noundef %2274) #10
  %2276 = call i32 @isatty(i32 noundef %2275) #10
  %.not537 = icmp eq i32 %2276, 0
  br i1 %.not537, label %2277, label %2278

2277:                                             ; preds = %2273, %2266
  br label %2278

2278:                                             ; preds = %2273, %2277
  %.str.4.sink1433 = phi ptr [ @.str.4, %2277 ], [ @.str, %2273 ]
  store i32 %2268, ptr %2267, align 4, !tbaa !5
  %2279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2280 = load i32, ptr @test_count, align 4, !tbaa !5
  %2281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2282 = load i32, ptr %2281, align 4, !tbaa !5
  %2283 = call ptr @s2n_strerror(i32 noundef %2282, ptr noundef nonnull @.str.3) #10
  %2284 = load i32, ptr %2281, align 4, !tbaa !5
  %2285 = call ptr @s2n_strerror_debug(i32 noundef %2284, ptr noundef nonnull @.str.3) #10
  %2286 = load i32, ptr %2267, align 4, !tbaa !5
  %2287 = call ptr @strerror(i32 noundef %2286) #10
  %2288 = load i32, ptr %2267, align 4, !tbaa !5
  %2289 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2279, ptr noundef nonnull %.str.4.sink1433, i32 noundef %2280, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.2, i32 noundef 198, ptr noundef %2283, ptr noundef %2285, ptr noundef %2287, i32 noundef %2288) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2290:                                             ; preds = %2261
  %2291 = load i32, ptr @test_count, align 4, !tbaa !5
  %2292 = add nsw i32 %2291, 1
  store i32 %2292, ptr @test_count, align 4, !tbaa !5
  %2293 = load ptr, ptr %15, align 8, !tbaa !9
  %2294 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %2293, ptr noundef nonnull @.str.53) #10
  %2295 = icmp eq i32 %2294, -1
  br i1 %2295, label %2296, label %2320

2296:                                             ; preds = %2290
  %2297 = tail call ptr @__errno_location() #11
  %2298 = load i32, ptr %2297, align 4, !tbaa !5
  %2299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2300 = call i32 @s2n_print_stacktrace(ptr noundef %2299) #10
  %2301 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2302 = trunc nuw i8 %2301 to i1
  br i1 %2302, label %2303, label %2307

2303:                                             ; preds = %2296
  %2304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2305 = call i32 @fileno(ptr noundef %2304) #10
  %2306 = call i32 @isatty(i32 noundef %2305) #10
  %.not536 = icmp eq i32 %2306, 0
  br i1 %.not536, label %2307, label %2308

2307:                                             ; preds = %2303, %2296
  br label %2308

2308:                                             ; preds = %2303, %2307
  %.str.4.sink1445 = phi ptr [ @.str.4, %2307 ], [ @.str, %2303 ]
  store i32 %2298, ptr %2297, align 4, !tbaa !5
  %2309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2310 = load i32, ptr @test_count, align 4, !tbaa !5
  %2311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2312 = load i32, ptr %2311, align 4, !tbaa !5
  %2313 = call ptr @s2n_strerror(i32 noundef %2312, ptr noundef nonnull @.str.3) #10
  %2314 = load i32, ptr %2311, align 4, !tbaa !5
  %2315 = call ptr @s2n_strerror_debug(i32 noundef %2314, ptr noundef nonnull @.str.3) #10
  %2316 = load i32, ptr %2297, align 4, !tbaa !5
  %2317 = call ptr @strerror(i32 noundef %2316) #10
  %2318 = load i32, ptr %2297, align 4, !tbaa !5
  %2319 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2309, ptr noundef nonnull %.str.4.sink1445, i32 noundef %2310, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.2, i32 noundef 199, ptr noundef %2313, ptr noundef %2315, ptr noundef %2317, i32 noundef %2318) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2320:                                             ; preds = %2290
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #10
  %2321 = call ptr @s2n_connection_new(i32 noundef 0) #10
  store ptr %2321, ptr %16, align 8, !tbaa !9
  %2322 = load i32, ptr @test_count, align 4, !tbaa !5
  %2323 = add nsw i32 %2322, 1
  store i32 %2323, ptr @test_count, align 4, !tbaa !5
  %2324 = icmp eq ptr %2321, null
  br i1 %2324, label %2325, label %2349

2325:                                             ; preds = %2320
  %2326 = tail call ptr @__errno_location() #11
  %2327 = load i32, ptr %2326, align 4, !tbaa !5
  %2328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2329 = call i32 @s2n_print_stacktrace(ptr noundef %2328) #10
  %2330 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2331 = trunc nuw i8 %2330 to i1
  br i1 %2331, label %2332, label %2336

2332:                                             ; preds = %2325
  %2333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2334 = call i32 @fileno(ptr noundef %2333) #10
  %2335 = call i32 @isatty(i32 noundef %2334) #10
  %.not535 = icmp eq i32 %2335, 0
  br i1 %.not535, label %2336, label %2337

2336:                                             ; preds = %2332, %2325
  br label %2337

2337:                                             ; preds = %2332, %2336
  %.str.4.sink1457 = phi ptr [ @.str.4, %2336 ], [ @.str, %2332 ]
  store i32 %2327, ptr %2326, align 4, !tbaa !5
  %2338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2339 = load i32, ptr @test_count, align 4, !tbaa !5
  %2340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2341 = load i32, ptr %2340, align 4, !tbaa !5
  %2342 = call ptr @s2n_strerror(i32 noundef %2341, ptr noundef nonnull @.str.3) #10
  %2343 = load i32, ptr %2340, align 4, !tbaa !5
  %2344 = call ptr @s2n_strerror_debug(i32 noundef %2343, ptr noundef nonnull @.str.3) #10
  %2345 = load i32, ptr %2326, align 4, !tbaa !5
  %2346 = call ptr @strerror(i32 noundef %2345) #10
  %2347 = load i32, ptr %2326, align 4, !tbaa !5
  %2348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2338, ptr noundef nonnull %.str.4.sink1457, i32 noundef %2339, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.2, i32 noundef 202, ptr noundef %2342, ptr noundef %2344, ptr noundef %2346, i32 noundef %2347) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2349:                                             ; preds = %2320
  %2350 = add nsw i32 %2322, 2
  store i32 %2350, ptr @test_count, align 4, !tbaa !5
  %2351 = load ptr, ptr %15, align 8, !tbaa !9
  %2352 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2321, ptr noundef %2351) #10
  %2353 = icmp eq i32 %2352, -1
  br i1 %2353, label %2354, label %2378

2354:                                             ; preds = %2349
  %2355 = tail call ptr @__errno_location() #11
  %2356 = load i32, ptr %2355, align 4, !tbaa !5
  %2357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2358 = call i32 @s2n_print_stacktrace(ptr noundef %2357) #10
  %2359 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2360 = trunc nuw i8 %2359 to i1
  br i1 %2360, label %2361, label %2365

2361:                                             ; preds = %2354
  %2362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2363 = call i32 @fileno(ptr noundef %2362) #10
  %2364 = call i32 @isatty(i32 noundef %2363) #10
  %.not534 = icmp eq i32 %2364, 0
  br i1 %.not534, label %2365, label %2366

2365:                                             ; preds = %2361, %2354
  br label %2366

2366:                                             ; preds = %2361, %2365
  %.str.4.sink1469 = phi ptr [ @.str.4, %2365 ], [ @.str, %2361 ]
  store i32 %2356, ptr %2355, align 4, !tbaa !5
  %2367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2368 = load i32, ptr @test_count, align 4, !tbaa !5
  %2369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2370 = load i32, ptr %2369, align 4, !tbaa !5
  %2371 = call ptr @s2n_strerror(i32 noundef %2370, ptr noundef nonnull @.str.3) #10
  %2372 = load i32, ptr %2369, align 4, !tbaa !5
  %2373 = call ptr @s2n_strerror_debug(i32 noundef %2372, ptr noundef nonnull @.str.3) #10
  %2374 = load i32, ptr %2355, align 4, !tbaa !5
  %2375 = call ptr @strerror(i32 noundef %2374) #10
  %2376 = load i32, ptr %2355, align 4, !tbaa !5
  %2377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2367, ptr noundef nonnull %.str.4.sink1469, i32 noundef %2368, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.2, i32 noundef 203, ptr noundef %2371, ptr noundef %2373, ptr noundef %2375, i32 noundef %2376) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2378:                                             ; preds = %2349
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #10
  %2379 = call ptr @s2n_connection_new(i32 noundef 1) #10
  store ptr %2379, ptr %17, align 8, !tbaa !9
  %2380 = load i32, ptr @test_count, align 4, !tbaa !5
  %2381 = add nsw i32 %2380, 1
  store i32 %2381, ptr @test_count, align 4, !tbaa !5
  %2382 = icmp eq ptr %2379, null
  br i1 %2382, label %2383, label %2407

2383:                                             ; preds = %2378
  %2384 = tail call ptr @__errno_location() #11
  %2385 = load i32, ptr %2384, align 4, !tbaa !5
  %2386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2387 = call i32 @s2n_print_stacktrace(ptr noundef %2386) #10
  %2388 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2389 = trunc nuw i8 %2388 to i1
  br i1 %2389, label %2390, label %2394

2390:                                             ; preds = %2383
  %2391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2392 = call i32 @fileno(ptr noundef %2391) #10
  %2393 = call i32 @isatty(i32 noundef %2392) #10
  %.not533 = icmp eq i32 %2393, 0
  br i1 %.not533, label %2394, label %2395

2394:                                             ; preds = %2390, %2383
  br label %2395

2395:                                             ; preds = %2390, %2394
  %.str.4.sink1481 = phi ptr [ @.str.4, %2394 ], [ @.str, %2390 ]
  store i32 %2385, ptr %2384, align 4, !tbaa !5
  %2396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2397 = load i32, ptr @test_count, align 4, !tbaa !5
  %2398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2399 = load i32, ptr %2398, align 4, !tbaa !5
  %2400 = call ptr @s2n_strerror(i32 noundef %2399, ptr noundef nonnull @.str.3) #10
  %2401 = load i32, ptr %2398, align 4, !tbaa !5
  %2402 = call ptr @s2n_strerror_debug(i32 noundef %2401, ptr noundef nonnull @.str.3) #10
  %2403 = load i32, ptr %2384, align 4, !tbaa !5
  %2404 = call ptr @strerror(i32 noundef %2403) #10
  %2405 = load i32, ptr %2384, align 4, !tbaa !5
  %2406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2396, ptr noundef nonnull %.str.4.sink1481, i32 noundef %2397, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.2, i32 noundef 206, ptr noundef %2400, ptr noundef %2402, ptr noundef %2404, i32 noundef %2405) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2407:                                             ; preds = %2378
  %2408 = add nsw i32 %2380, 2
  store i32 %2408, ptr @test_count, align 4, !tbaa !5
  %2409 = load ptr, ptr %14, align 8, !tbaa !9
  %2410 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2379, ptr noundef %2409) #10
  %2411 = icmp eq i32 %2410, -1
  br i1 %2411, label %2412, label %2436

2412:                                             ; preds = %2407
  %2413 = tail call ptr @__errno_location() #11
  %2414 = load i32, ptr %2413, align 4, !tbaa !5
  %2415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2416 = call i32 @s2n_print_stacktrace(ptr noundef %2415) #10
  %2417 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2418 = trunc nuw i8 %2417 to i1
  br i1 %2418, label %2419, label %2423

2419:                                             ; preds = %2412
  %2420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2421 = call i32 @fileno(ptr noundef %2420) #10
  %2422 = call i32 @isatty(i32 noundef %2421) #10
  %.not532 = icmp eq i32 %2422, 0
  br i1 %.not532, label %2423, label %2424

2423:                                             ; preds = %2419, %2412
  br label %2424

2424:                                             ; preds = %2419, %2423
  %.str.4.sink1493 = phi ptr [ @.str.4, %2423 ], [ @.str, %2419 ]
  store i32 %2414, ptr %2413, align 4, !tbaa !5
  %2425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2426 = load i32, ptr @test_count, align 4, !tbaa !5
  %2427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2428 = load i32, ptr %2427, align 4, !tbaa !5
  %2429 = call ptr @s2n_strerror(i32 noundef %2428, ptr noundef nonnull @.str.3) #10
  %2430 = load i32, ptr %2427, align 4, !tbaa !5
  %2431 = call ptr @s2n_strerror_debug(i32 noundef %2430, ptr noundef nonnull @.str.3) #10
  %2432 = load i32, ptr %2413, align 4, !tbaa !5
  %2433 = call ptr @strerror(i32 noundef %2432) #10
  %2434 = load i32, ptr %2413, align 4, !tbaa !5
  %2435 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2425, ptr noundef nonnull %.str.4.sink1493, i32 noundef %2426, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.2, i32 noundef 207, ptr noundef %2429, ptr noundef %2431, ptr noundef %2433, i32 noundef %2434) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2436:                                             ; preds = %2407
  %2437 = load i32, ptr @test_count, align 4, !tbaa !5
  %2438 = add nsw i32 %2437, 1
  store i32 %2438, ptr @test_count, align 4, !tbaa !5
  %2439 = load ptr, ptr %17, align 8, !tbaa !9
  %2440 = call i32 @s2n_set_server_name(ptr noundef %2439, ptr noundef nonnull @.str.63) #10
  %2441 = icmp eq i32 %2440, -1
  br i1 %2441, label %2442, label %2466

2442:                                             ; preds = %2436
  %2443 = tail call ptr @__errno_location() #11
  %2444 = load i32, ptr %2443, align 4, !tbaa !5
  %2445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2446 = call i32 @s2n_print_stacktrace(ptr noundef %2445) #10
  %2447 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2448 = trunc nuw i8 %2447 to i1
  br i1 %2448, label %2449, label %2453

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

2453:                                             ; preds = %2449, %2442
  br label %2454

2454:                                             ; preds = %2449, %2453
  %.str.4.sink1505 = phi ptr [ @.str.4, %2453 ], [ @.str, %2449 ]
  store i32 %2444, ptr %2443, align 4, !tbaa !5
  %2455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2456 = load i32, ptr @test_count, align 4, !tbaa !5
  %2457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2458 = load i32, ptr %2457, align 4, !tbaa !5
  %2459 = call ptr @s2n_strerror(i32 noundef %2458, ptr noundef nonnull @.str.3) #10
  %2460 = load i32, ptr %2457, align 4, !tbaa !5
  %2461 = call ptr @s2n_strerror_debug(i32 noundef %2460, ptr noundef nonnull @.str.3) #10
  %2462 = load i32, ptr %2443, align 4, !tbaa !5
  %2463 = call ptr @strerror(i32 noundef %2462) #10
  %2464 = load i32, ptr %2443, align 4, !tbaa !5
  %2465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2455, ptr noundef nonnull %.str.4.sink1505, i32 noundef %2456, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.2, i32 noundef 208, ptr noundef %2459, ptr noundef %2461, ptr noundef %2463, i32 noundef %2464) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2466:                                             ; preds = %2436
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #10
  store i64 0, ptr %18, align 8
  %2467 = load i32, ptr @test_count, align 4, !tbaa !5
  %2468 = add nsw i32 %2467, 1
  store i32 %2468, ptr @test_count, align 4, !tbaa !5
  %2469 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %18) #10
  %2470 = icmp eq i32 %2469, -1
  br i1 %2470, label %2471, label %2495

2471:                                             ; preds = %2466
  %2472 = tail call ptr @__errno_location() #11
  %2473 = load i32, ptr %2472, align 4, !tbaa !5
  %2474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2475 = call i32 @s2n_print_stacktrace(ptr noundef %2474) #10
  %2476 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2477 = trunc nuw i8 %2476 to i1
  br i1 %2477, label %2478, label %2482

2478:                                             ; preds = %2471
  %2479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2480 = call i32 @fileno(ptr noundef %2479) #10
  %2481 = call i32 @isatty(i32 noundef %2480) #10
  %.not530 = icmp eq i32 %2481, 0
  br i1 %.not530, label %2482, label %2483

2482:                                             ; preds = %2478, %2471
  br label %2483

2483:                                             ; preds = %2478, %2482
  %.str.4.sink1517 = phi ptr [ @.str.4, %2482 ], [ @.str, %2478 ]
  store i32 %2473, ptr %2472, align 4, !tbaa !5
  %2484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2485 = load i32, ptr @test_count, align 4, !tbaa !5
  %2486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2487 = load i32, ptr %2486, align 4, !tbaa !5
  %2488 = call ptr @s2n_strerror(i32 noundef %2487, ptr noundef nonnull @.str.3) #10
  %2489 = load i32, ptr %2486, align 4, !tbaa !5
  %2490 = call ptr @s2n_strerror_debug(i32 noundef %2489, ptr noundef nonnull @.str.3) #10
  %2491 = load i32, ptr %2472, align 4, !tbaa !5
  %2492 = call ptr @strerror(i32 noundef %2491) #10
  %2493 = load i32, ptr %2472, align 4, !tbaa !5
  %2494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2484, ptr noundef nonnull %.str.4.sink1517, i32 noundef %2485, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.2, i32 noundef 211, ptr noundef %2488, ptr noundef %2490, ptr noundef %2492, i32 noundef %2493) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2495:                                             ; preds = %2466
  %2496 = load i32, ptr @test_count, align 4, !tbaa !5
  %2497 = add nsw i32 %2496, 1
  store i32 %2497, ptr @test_count, align 4, !tbaa !5
  %2498 = load ptr, ptr %17, align 8, !tbaa !9
  %2499 = call i32 @s2n_connection_set_io_pair(ptr noundef %2498, ptr noundef nonnull %18) #10
  %2500 = icmp eq i32 %2499, -1
  br i1 %2500, label %2501, label %2525

2501:                                             ; preds = %2495
  %2502 = tail call ptr @__errno_location() #11
  %2503 = load i32, ptr %2502, align 4, !tbaa !5
  %2504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2505 = call i32 @s2n_print_stacktrace(ptr noundef %2504) #10
  %2506 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2507 = trunc nuw i8 %2506 to i1
  br i1 %2507, label %2508, label %2512

2508:                                             ; preds = %2501
  %2509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2510 = call i32 @fileno(ptr noundef %2509) #10
  %2511 = call i32 @isatty(i32 noundef %2510) #10
  %.not529 = icmp eq i32 %2511, 0
  br i1 %.not529, label %2512, label %2513

2512:                                             ; preds = %2508, %2501
  br label %2513

2513:                                             ; preds = %2508, %2512
  %.str.4.sink1529 = phi ptr [ @.str.4, %2512 ], [ @.str, %2508 ]
  store i32 %2503, ptr %2502, align 4, !tbaa !5
  %2514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2515 = load i32, ptr @test_count, align 4, !tbaa !5
  %2516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2517 = load i32, ptr %2516, align 4, !tbaa !5
  %2518 = call ptr @s2n_strerror(i32 noundef %2517, ptr noundef nonnull @.str.3) #10
  %2519 = load i32, ptr %2516, align 4, !tbaa !5
  %2520 = call ptr @s2n_strerror_debug(i32 noundef %2519, ptr noundef nonnull @.str.3) #10
  %2521 = load i32, ptr %2502, align 4, !tbaa !5
  %2522 = call ptr @strerror(i32 noundef %2521) #10
  %2523 = load i32, ptr %2502, align 4, !tbaa !5
  %2524 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2514, ptr noundef nonnull %.str.4.sink1529, i32 noundef %2515, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.2, i32 noundef 212, ptr noundef %2518, ptr noundef %2520, ptr noundef %2522, i32 noundef %2523) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2525:                                             ; preds = %2495
  %2526 = load i32, ptr @test_count, align 4, !tbaa !5
  %2527 = add nsw i32 %2526, 1
  store i32 %2527, ptr @test_count, align 4, !tbaa !5
  %2528 = load ptr, ptr %16, align 8, !tbaa !9
  %2529 = call i32 @s2n_connection_set_io_pair(ptr noundef %2528, ptr noundef nonnull %18) #10
  %2530 = icmp eq i32 %2529, -1
  br i1 %2530, label %2531, label %2555

2531:                                             ; preds = %2525
  %2532 = tail call ptr @__errno_location() #11
  %2533 = load i32, ptr %2532, align 4, !tbaa !5
  %2534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2535 = call i32 @s2n_print_stacktrace(ptr noundef %2534) #10
  %2536 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2537 = trunc nuw i8 %2536 to i1
  br i1 %2537, label %2538, label %2542

2538:                                             ; preds = %2531
  %2539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2540 = call i32 @fileno(ptr noundef %2539) #10
  %2541 = call i32 @isatty(i32 noundef %2540) #10
  %.not528 = icmp eq i32 %2541, 0
  br i1 %.not528, label %2542, label %2543

2542:                                             ; preds = %2538, %2531
  br label %2543

2543:                                             ; preds = %2538, %2542
  %.str.4.sink1541 = phi ptr [ @.str.4, %2542 ], [ @.str, %2538 ]
  store i32 %2533, ptr %2532, align 4, !tbaa !5
  %2544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2545 = load i32, ptr @test_count, align 4, !tbaa !5
  %2546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2547 = load i32, ptr %2546, align 4, !tbaa !5
  %2548 = call ptr @s2n_strerror(i32 noundef %2547, ptr noundef nonnull @.str.3) #10
  %2549 = load i32, ptr %2546, align 4, !tbaa !5
  %2550 = call ptr @s2n_strerror_debug(i32 noundef %2549, ptr noundef nonnull @.str.3) #10
  %2551 = load i32, ptr %2532, align 4, !tbaa !5
  %2552 = call ptr @strerror(i32 noundef %2551) #10
  %2553 = load i32, ptr %2532, align 4, !tbaa !5
  %2554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2544, ptr noundef nonnull %.str.4.sink1541, i32 noundef %2545, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.2, i32 noundef 213, ptr noundef %2548, ptr noundef %2550, ptr noundef %2552, i32 noundef %2553) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2555:                                             ; preds = %2525
  %2556 = load i32, ptr @test_count, align 4, !tbaa !5
  %2557 = add nsw i32 %2556, 1
  store i32 %2557, ptr @test_count, align 4, !tbaa !5
  %2558 = load ptr, ptr %16, align 8, !tbaa !9
  %2559 = load ptr, ptr %17, align 8, !tbaa !9
  %2560 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %2558, ptr noundef %2559) #10
  %2561 = icmp eq i32 %2560, -1
  br i1 %2561, label %2562, label %2586

2562:                                             ; preds = %2555
  %2563 = tail call ptr @__errno_location() #11
  %2564 = load i32, ptr %2563, align 4, !tbaa !5
  %2565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2566 = call i32 @s2n_print_stacktrace(ptr noundef %2565) #10
  %2567 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2568 = trunc nuw i8 %2567 to i1
  br i1 %2568, label %2569, label %2573

2569:                                             ; preds = %2562
  %2570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2571 = call i32 @fileno(ptr noundef %2570) #10
  %2572 = call i32 @isatty(i32 noundef %2571) #10
  %.not527 = icmp eq i32 %2572, 0
  br i1 %.not527, label %2573, label %2574

2573:                                             ; preds = %2569, %2562
  br label %2574

2574:                                             ; preds = %2569, %2573
  %.str.4.sink1553 = phi ptr [ @.str.4, %2573 ], [ @.str, %2569 ]
  store i32 %2564, ptr %2563, align 4, !tbaa !5
  %2575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2576 = load i32, ptr @test_count, align 4, !tbaa !5
  %2577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2578 = load i32, ptr %2577, align 4, !tbaa !5
  %2579 = call ptr @s2n_strerror(i32 noundef %2578, ptr noundef nonnull @.str.3) #10
  %2580 = load i32, ptr %2577, align 4, !tbaa !5
  %2581 = call ptr @s2n_strerror_debug(i32 noundef %2580, ptr noundef nonnull @.str.3) #10
  %2582 = load i32, ptr %2563, align 4, !tbaa !5
  %2583 = call ptr @strerror(i32 noundef %2582) #10
  %2584 = load i32, ptr %2563, align 4, !tbaa !5
  %2585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2575, ptr noundef nonnull %.str.4.sink1553, i32 noundef %2576, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.2, i32 noundef 215, ptr noundef %2579, ptr noundef %2581, ptr noundef %2583, i32 noundef %2584) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2586:                                             ; preds = %2555
  %2587 = load i32, ptr @test_count, align 4, !tbaa !5
  %2588 = add nsw i32 %2587, 1
  store i32 %2588, ptr @test_count, align 4, !tbaa !5
  %2589 = load ptr, ptr %16, align 8, !tbaa !9
  %2590 = getelementptr inbounds i8, ptr %2589, i64 220
  %2591 = load i8, ptr %2590, align 4, !tbaa !52
  %2592 = icmp eq i8 %2591, 34
  br i1 %2592, label %2617, label %2593

2593:                                             ; preds = %2586
  %2594 = tail call ptr @__errno_location() #11
  %2595 = load i32, ptr %2594, align 4, !tbaa !5
  %2596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2597 = call i32 @s2n_print_stacktrace(ptr noundef %2596) #10
  %2598 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2599 = trunc nuw i8 %2598 to i1
  br i1 %2599, label %2600, label %2604

2600:                                             ; preds = %2593
  %2601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2602 = call i32 @fileno(ptr noundef %2601) #10
  %2603 = call i32 @isatty(i32 noundef %2602) #10
  %.not440 = icmp eq i32 %2603, 0
  br i1 %.not440, label %2604, label %2605

2604:                                             ; preds = %2600, %2593
  br label %2605

2605:                                             ; preds = %2600, %2604
  %.str.4.sink1565 = phi ptr [ @.str.4, %2604 ], [ @.str, %2600 ]
  store i32 %2595, ptr %2594, align 4, !tbaa !5
  %2606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2607 = load i32, ptr @test_count, align 4, !tbaa !5
  %2608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2609 = load i32, ptr %2608, align 4, !tbaa !5
  %2610 = call ptr @s2n_strerror(i32 noundef %2609, ptr noundef nonnull @.str.3) #10
  %2611 = load i32, ptr %2608, align 4, !tbaa !5
  %2612 = call ptr @s2n_strerror_debug(i32 noundef %2611, ptr noundef nonnull @.str.3) #10
  %2613 = load i32, ptr %2594, align 4, !tbaa !5
  %2614 = call ptr @strerror(i32 noundef %2613) #10
  %2615 = load i32, ptr %2594, align 4, !tbaa !5
  %2616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2606, ptr noundef nonnull %.str.4.sink1565, i32 noundef %2607, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.2, i32 noundef 217, ptr noundef %2610, ptr noundef %2612, ptr noundef %2614, i32 noundef %2615) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2617:                                             ; preds = %2586
  %2618 = add nsw i32 %2587, 2
  store i32 %2618, ptr @test_count, align 4, !tbaa !5
  %2619 = load ptr, ptr %17, align 8, !tbaa !9
  %2620 = getelementptr inbounds i8, ptr %2619, i64 220
  %2621 = load i8, ptr %2620, align 4, !tbaa !52
  %2622 = icmp eq i8 %2621, 34
  br i1 %2622, label %2647, label %2623

2623:                                             ; preds = %2617
  %2624 = tail call ptr @__errno_location() #11
  %2625 = load i32, ptr %2624, align 4, !tbaa !5
  %2626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2627 = call i32 @s2n_print_stacktrace(ptr noundef %2626) #10
  %2628 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2629 = trunc nuw i8 %2628 to i1
  br i1 %2629, label %2630, label %2634

2630:                                             ; preds = %2623
  %2631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2632 = call i32 @fileno(ptr noundef %2631) #10
  %2633 = call i32 @isatty(i32 noundef %2632) #10
  %.not441 = icmp eq i32 %2633, 0
  br i1 %.not441, label %2634, label %2635

2634:                                             ; preds = %2630, %2623
  br label %2635

2635:                                             ; preds = %2630, %2634
  %.str.4.sink1577 = phi ptr [ @.str.4, %2634 ], [ @.str, %2630 ]
  store i32 %2625, ptr %2624, align 4, !tbaa !5
  %2636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2637 = load i32, ptr @test_count, align 4, !tbaa !5
  %2638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2639 = load i32, ptr %2638, align 4, !tbaa !5
  %2640 = call ptr @s2n_strerror(i32 noundef %2639, ptr noundef nonnull @.str.3) #10
  %2641 = load i32, ptr %2638, align 4, !tbaa !5
  %2642 = call ptr @s2n_strerror_debug(i32 noundef %2641, ptr noundef nonnull @.str.3) #10
  %2643 = load i32, ptr %2624, align 4, !tbaa !5
  %2644 = call ptr @strerror(i32 noundef %2643) #10
  %2645 = load i32, ptr %2624, align 4, !tbaa !5
  %2646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2636, ptr noundef nonnull %.str.4.sink1577, i32 noundef %2637, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.2, i32 noundef 218, ptr noundef %2640, ptr noundef %2642, ptr noundef %2644, i32 noundef %2645) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2647:                                             ; preds = %2617
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %19) #10
  store i32 0, ptr %19, align 4, !tbaa !5
  %2648 = call ptr @s2n_connection_get_ocsp_response(ptr noundef nonnull %2619, ptr noundef nonnull %19) #10
  %2649 = load i32, ptr @test_count, align 4, !tbaa !5
  %2650 = add nsw i32 %2649, 1
  store i32 %2650, ptr @test_count, align 4, !tbaa !5
  %2651 = icmp eq ptr %2648, null
  br i1 %2651, label %2652, label %2676

2652:                                             ; preds = %2647
  %2653 = tail call ptr @__errno_location() #11
  %2654 = load i32, ptr %2653, align 4, !tbaa !5
  %2655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2656 = call i32 @s2n_print_stacktrace(ptr noundef %2655) #10
  %2657 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2658 = trunc nuw i8 %2657 to i1
  br i1 %2658, label %2659, label %2663

2659:                                             ; preds = %2652
  %2660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2661 = call i32 @fileno(ptr noundef %2660) #10
  %2662 = call i32 @isatty(i32 noundef %2661) #10
  %.not526 = icmp eq i32 %2662, 0
  br i1 %.not526, label %2663, label %2664

2663:                                             ; preds = %2659, %2652
  br label %2664

2664:                                             ; preds = %2659, %2663
  %.str.4.sink1589 = phi ptr [ @.str.4, %2663 ], [ @.str, %2659 ]
  store i32 %2654, ptr %2653, align 4, !tbaa !5
  %2665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2666 = load i32, ptr @test_count, align 4, !tbaa !5
  %2667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2668 = load i32, ptr %2667, align 4, !tbaa !5
  %2669 = call ptr @s2n_strerror(i32 noundef %2668, ptr noundef nonnull @.str.3) #10
  %2670 = load i32, ptr %2667, align 4, !tbaa !5
  %2671 = call ptr @s2n_strerror_debug(i32 noundef %2670, ptr noundef nonnull @.str.3) #10
  %2672 = load i32, ptr %2653, align 4, !tbaa !5
  %2673 = call ptr @strerror(i32 noundef %2672) #10
  %2674 = load i32, ptr %2653, align 4, !tbaa !5
  %2675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2665, ptr noundef nonnull %.str.4.sink1589, i32 noundef %2666, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.2, i32 noundef 223, ptr noundef %2669, ptr noundef %2671, ptr noundef %2673, i32 noundef %2674) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2676:                                             ; preds = %2647
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %20) #10
  store i32 0, ptr %20, align 4, !tbaa !5
  %2677 = load ptr, ptr %16, align 8, !tbaa !9
  %2678 = call ptr @s2n_connection_get_ocsp_response(ptr noundef %2677, ptr noundef nonnull %20) #10
  %2679 = load i32, ptr @test_count, align 4, !tbaa !5
  %2680 = add nsw i32 %2679, 1
  store i32 %2680, ptr @test_count, align 4, !tbaa !5
  %2681 = icmp eq ptr %2678, null
  br i1 %2681, label %2706, label %2682

2682:                                             ; preds = %2676
  %2683 = tail call ptr @__errno_location() #11
  %2684 = load i32, ptr %2683, align 4, !tbaa !5
  %2685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2686 = call i32 @s2n_print_stacktrace(ptr noundef %2685) #10
  %2687 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2688 = trunc nuw i8 %2687 to i1
  br i1 %2688, label %2689, label %2693

2689:                                             ; preds = %2682
  %2690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2691 = call i32 @fileno(ptr noundef %2690) #10
  %2692 = call i32 @isatty(i32 noundef %2691) #10
  %.not442 = icmp eq i32 %2692, 0
  br i1 %.not442, label %2693, label %2694

2693:                                             ; preds = %2689, %2682
  br label %2694

2694:                                             ; preds = %2689, %2693
  %.str.4.sink1601 = phi ptr [ @.str.4, %2693 ], [ @.str, %2689 ]
  store i32 %2684, ptr %2683, align 4, !tbaa !5
  %2695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2696 = load i32, ptr @test_count, align 4, !tbaa !5
  %2697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2698 = load i32, ptr %2697, align 4, !tbaa !5
  %2699 = call ptr @s2n_strerror(i32 noundef %2698, ptr noundef nonnull @.str.3) #10
  %2700 = load i32, ptr %2697, align 4, !tbaa !5
  %2701 = call ptr @s2n_strerror_debug(i32 noundef %2700, ptr noundef nonnull @.str.3) #10
  %2702 = load i32, ptr %2683, align 4, !tbaa !5
  %2703 = call ptr @strerror(i32 noundef %2702) #10
  %2704 = load i32, ptr %2683, align 4, !tbaa !5
  %2705 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2695, ptr noundef nonnull %.str.4.sink1601, i32 noundef %2696, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.2, i32 noundef 229, ptr noundef %2699, ptr noundef %2701, ptr noundef %2703, i32 noundef %2704) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2706:                                             ; preds = %2676
  %2707 = add nsw i32 %2679, 2
  store i32 %2707, ptr @test_count, align 4, !tbaa !5
  %2708 = load ptr, ptr %16, align 8, !tbaa !9
  %2709 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef %2708) #10
  %2710 = icmp eq i32 %2709, 1
  br i1 %2710, label %2735, label %2711

2711:                                             ; preds = %2706
  %2712 = tail call ptr @__errno_location() #11
  %2713 = load i32, ptr %2712, align 4, !tbaa !5
  %2714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2715 = call i32 @s2n_print_stacktrace(ptr noundef %2714) #10
  %2716 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2717 = trunc nuw i8 %2716 to i1
  br i1 %2717, label %2718, label %2722

2718:                                             ; preds = %2711
  %2719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2720 = call i32 @fileno(ptr noundef %2719) #10
  %2721 = call i32 @isatty(i32 noundef %2720) #10
  %.not443 = icmp eq i32 %2721, 0
  br i1 %.not443, label %2722, label %2723

2722:                                             ; preds = %2718, %2711
  br label %2723

2723:                                             ; preds = %2718, %2722
  %.str.4.sink1613 = phi ptr [ @.str.4, %2722 ], [ @.str, %2718 ]
  store i32 %2713, ptr %2712, align 4, !tbaa !5
  %2724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2725 = load i32, ptr @test_count, align 4, !tbaa !5
  %2726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2727 = load i32, ptr %2726, align 4, !tbaa !5
  %2728 = call ptr @s2n_strerror(i32 noundef %2727, ptr noundef nonnull @.str.3) #10
  %2729 = load i32, ptr %2726, align 4, !tbaa !5
  %2730 = call ptr @s2n_strerror_debug(i32 noundef %2729, ptr noundef nonnull @.str.3) #10
  %2731 = load i32, ptr %2712, align 4, !tbaa !5
  %2732 = call ptr @strerror(i32 noundef %2731) #10
  %2733 = load i32, ptr %2712, align 4, !tbaa !5
  %2734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2724, ptr noundef nonnull %.str.4.sink1613, i32 noundef %2725, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.2, i32 noundef 232, ptr noundef %2728, ptr noundef %2730, ptr noundef %2732, i32 noundef %2733) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2735:                                             ; preds = %2706
  %2736 = load i32, ptr @test_count, align 4, !tbaa !5
  %2737 = add nsw i32 %2736, 1
  store i32 %2737, ptr @test_count, align 4, !tbaa !5
  %2738 = load ptr, ptr %17, align 8, !tbaa !9
  %2739 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef %2738) #10
  %2740 = icmp eq i32 %2739, 1
  br i1 %2740, label %2765, label %2741

2741:                                             ; preds = %2735
  %2742 = tail call ptr @__errno_location() #11
  %2743 = load i32, ptr %2742, align 4, !tbaa !5
  %2744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2745 = call i32 @s2n_print_stacktrace(ptr noundef %2744) #10
  %2746 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2747 = trunc nuw i8 %2746 to i1
  br i1 %2747, label %2748, label %2752

2748:                                             ; preds = %2741
  %2749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2750 = call i32 @fileno(ptr noundef %2749) #10
  %2751 = call i32 @isatty(i32 noundef %2750) #10
  %.not444 = icmp eq i32 %2751, 0
  br i1 %.not444, label %2752, label %2753

2752:                                             ; preds = %2748, %2741
  br label %2753

2753:                                             ; preds = %2748, %2752
  %.str.4.sink1625 = phi ptr [ @.str.4, %2752 ], [ @.str, %2748 ]
  store i32 %2743, ptr %2742, align 4, !tbaa !5
  %2754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2755 = load i32, ptr @test_count, align 4, !tbaa !5
  %2756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2757 = load i32, ptr %2756, align 4, !tbaa !5
  %2758 = call ptr @s2n_strerror(i32 noundef %2757, ptr noundef nonnull @.str.3) #10
  %2759 = load i32, ptr %2756, align 4, !tbaa !5
  %2760 = call ptr @s2n_strerror_debug(i32 noundef %2759, ptr noundef nonnull @.str.3) #10
  %2761 = load i32, ptr %2742, align 4, !tbaa !5
  %2762 = call ptr @strerror(i32 noundef %2761) #10
  %2763 = load i32, ptr %2742, align 4, !tbaa !5
  %2764 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2754, ptr noundef nonnull %.str.4.sink1625, i32 noundef %2755, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.2, i32 noundef 233, ptr noundef %2758, ptr noundef %2760, ptr noundef %2762, i32 noundef %2763) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2765:                                             ; preds = %2735
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %19) #10
  %2766 = call i32 @s2n_io_pair_close(ptr noundef nonnull %18) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #10
  %2767 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %17) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #10
  %2768 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %16) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #10
  %2769 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %15) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #10
  %2770 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %14) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #10
  %2771 = call ptr @s2n_config_new() #10
  store ptr %2771, ptr %21, align 8, !tbaa !9
  %2772 = load i32, ptr @test_count, align 4, !tbaa !5
  %2773 = add nsw i32 %2772, 1
  store i32 %2773, ptr @test_count, align 4, !tbaa !5
  %2774 = icmp eq ptr %2771, null
  br i1 %2774, label %2775, label %2799

2775:                                             ; preds = %2765
  %2776 = tail call ptr @__errno_location() #11
  %2777 = load i32, ptr %2776, align 4, !tbaa !5
  %2778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2779 = call i32 @s2n_print_stacktrace(ptr noundef %2778) #10
  %2780 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2781 = trunc nuw i8 %2780 to i1
  br i1 %2781, label %2782, label %2786

2782:                                             ; preds = %2775
  %2783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2784 = call i32 @fileno(ptr noundef %2783) #10
  %2785 = call i32 @isatty(i32 noundef %2784) #10
  %.not525 = icmp eq i32 %2785, 0
  br i1 %.not525, label %2786, label %2787

2786:                                             ; preds = %2782, %2775
  br label %2787

2787:                                             ; preds = %2782, %2786
  %.str.4.sink1637 = phi ptr [ @.str.4, %2786 ], [ @.str, %2782 ]
  store i32 %2777, ptr %2776, align 4, !tbaa !5
  %2788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2789 = load i32, ptr @test_count, align 4, !tbaa !5
  %2790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2791 = load i32, ptr %2790, align 4, !tbaa !5
  %2792 = call ptr @s2n_strerror(i32 noundef %2791, ptr noundef nonnull @.str.3) #10
  %2793 = load i32, ptr %2790, align 4, !tbaa !5
  %2794 = call ptr @s2n_strerror_debug(i32 noundef %2793, ptr noundef nonnull @.str.3) #10
  %2795 = load i32, ptr %2776, align 4, !tbaa !5
  %2796 = call ptr @strerror(i32 noundef %2795) #10
  %2797 = load i32, ptr %2776, align 4, !tbaa !5
  %2798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2788, ptr noundef nonnull %.str.4.sink1637, i32 noundef %2789, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.2, i32 noundef 239, ptr noundef %2792, ptr noundef %2794, ptr noundef %2796, i32 noundef %2797) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2799:                                             ; preds = %2765
  %2800 = add nsw i32 %2772, 2
  store i32 %2800, ptr @test_count, align 4, !tbaa !5
  %2801 = call i32 @s2n_config_set_verification_ca_location(ptr noundef nonnull %2771, ptr noundef nonnull @.str.51, ptr noundef null) #10
  %2802 = icmp eq i32 %2801, -1
  br i1 %2802, label %2803, label %2827

2803:                                             ; preds = %2799
  %2804 = tail call ptr @__errno_location() #11
  %2805 = load i32, ptr %2804, align 4, !tbaa !5
  %2806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2807 = call i32 @s2n_print_stacktrace(ptr noundef %2806) #10
  %2808 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2809 = trunc nuw i8 %2808 to i1
  br i1 %2809, label %2810, label %2814

2810:                                             ; preds = %2803
  %2811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2812 = call i32 @fileno(ptr noundef %2811) #10
  %2813 = call i32 @isatty(i32 noundef %2812) #10
  %.not524 = icmp eq i32 %2813, 0
  br i1 %.not524, label %2814, label %2815

2814:                                             ; preds = %2810, %2803
  br label %2815

2815:                                             ; preds = %2810, %2814
  %.str.4.sink1649 = phi ptr [ @.str.4, %2814 ], [ @.str, %2810 ]
  store i32 %2805, ptr %2804, align 4, !tbaa !5
  %2816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2817 = load i32, ptr @test_count, align 4, !tbaa !5
  %2818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2819 = load i32, ptr %2818, align 4, !tbaa !5
  %2820 = call ptr @s2n_strerror(i32 noundef %2819, ptr noundef nonnull @.str.3) #10
  %2821 = load i32, ptr %2818, align 4, !tbaa !5
  %2822 = call ptr @s2n_strerror_debug(i32 noundef %2821, ptr noundef nonnull @.str.3) #10
  %2823 = load i32, ptr %2804, align 4, !tbaa !5
  %2824 = call ptr @strerror(i32 noundef %2823) #10
  %2825 = load i32, ptr %2804, align 4, !tbaa !5
  %2826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2816, ptr noundef nonnull %.str.4.sink1649, i32 noundef %2817, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.2, i32 noundef 240, ptr noundef %2820, ptr noundef %2822, ptr noundef %2824, i32 noundef %2825) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2827:                                             ; preds = %2799
  %2828 = load i32, ptr @test_count, align 4, !tbaa !5
  %2829 = add nsw i32 %2828, 1
  store i32 %2829, ptr @test_count, align 4, !tbaa !5
  %2830 = load ptr, ptr %21, align 8, !tbaa !9
  %2831 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %2830, ptr noundef nonnull @.str.53) #10
  %2832 = icmp eq i32 %2831, -1
  br i1 %2832, label %2833, label %2857

2833:                                             ; preds = %2827
  %2834 = tail call ptr @__errno_location() #11
  %2835 = load i32, ptr %2834, align 4, !tbaa !5
  %2836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2837 = call i32 @s2n_print_stacktrace(ptr noundef %2836) #10
  %2838 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2839 = trunc nuw i8 %2838 to i1
  br i1 %2839, label %2840, label %2844

2840:                                             ; preds = %2833
  %2841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2842 = call i32 @fileno(ptr noundef %2841) #10
  %2843 = call i32 @isatty(i32 noundef %2842) #10
  %.not523 = icmp eq i32 %2843, 0
  br i1 %.not523, label %2844, label %2845

2844:                                             ; preds = %2840, %2833
  br label %2845

2845:                                             ; preds = %2840, %2844
  %.str.4.sink1661 = phi ptr [ @.str.4, %2844 ], [ @.str, %2840 ]
  store i32 %2835, ptr %2834, align 4, !tbaa !5
  %2846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2847 = load i32, ptr @test_count, align 4, !tbaa !5
  %2848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2849 = load i32, ptr %2848, align 4, !tbaa !5
  %2850 = call ptr @s2n_strerror(i32 noundef %2849, ptr noundef nonnull @.str.3) #10
  %2851 = load i32, ptr %2848, align 4, !tbaa !5
  %2852 = call ptr @s2n_strerror_debug(i32 noundef %2851, ptr noundef nonnull @.str.3) #10
  %2853 = load i32, ptr %2834, align 4, !tbaa !5
  %2854 = call ptr @strerror(i32 noundef %2853) #10
  %2855 = load i32, ptr %2834, align 4, !tbaa !5
  %2856 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2846, ptr noundef nonnull %.str.4.sink1661, i32 noundef %2847, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.2, i32 noundef 241, ptr noundef %2850, ptr noundef %2852, ptr noundef %2854, i32 noundef %2855) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2857:                                             ; preds = %2827
  %2858 = load i32, ptr @test_count, align 4, !tbaa !5
  %2859 = add nsw i32 %2858, 1
  store i32 %2859, ptr @test_count, align 4, !tbaa !5
  %2860 = load ptr, ptr %21, align 8, !tbaa !9
  %2861 = call i32 @s2n_config_set_status_request_type(ptr noundef %2860, i32 noundef 0) #10
  %2862 = icmp eq i32 %2861, -1
  br i1 %2862, label %2863, label %2887

2863:                                             ; preds = %2857
  %2864 = tail call ptr @__errno_location() #11
  %2865 = load i32, ptr %2864, align 4, !tbaa !5
  %2866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2867 = call i32 @s2n_print_stacktrace(ptr noundef %2866) #10
  %2868 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2869 = trunc nuw i8 %2868 to i1
  br i1 %2869, label %2870, label %2874

2870:                                             ; preds = %2863
  %2871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2872 = call i32 @fileno(ptr noundef %2871) #10
  %2873 = call i32 @isatty(i32 noundef %2872) #10
  %.not522 = icmp eq i32 %2873, 0
  br i1 %.not522, label %2874, label %2875

2874:                                             ; preds = %2870, %2863
  br label %2875

2875:                                             ; preds = %2870, %2874
  %.str.4.sink1673 = phi ptr [ @.str.4, %2874 ], [ @.str, %2870 ]
  store i32 %2865, ptr %2864, align 4, !tbaa !5
  %2876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2877 = load i32, ptr @test_count, align 4, !tbaa !5
  %2878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2879 = load i32, ptr %2878, align 4, !tbaa !5
  %2880 = call ptr @s2n_strerror(i32 noundef %2879, ptr noundef nonnull @.str.3) #10
  %2881 = load i32, ptr %2878, align 4, !tbaa !5
  %2882 = call ptr @s2n_strerror_debug(i32 noundef %2881, ptr noundef nonnull @.str.3) #10
  %2883 = load i32, ptr %2864, align 4, !tbaa !5
  %2884 = call ptr @strerror(i32 noundef %2883) #10
  %2885 = load i32, ptr %2864, align 4, !tbaa !5
  %2886 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2876, ptr noundef nonnull %.str.4.sink1673, i32 noundef %2877, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.2, i32 noundef 242, ptr noundef %2880, ptr noundef %2882, ptr noundef %2884, i32 noundef %2885) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2887:                                             ; preds = %2857
  %2888 = load i32, ptr @test_count, align 4, !tbaa !5
  %2889 = add nsw i32 %2888, 1
  store i32 %2889, ptr @test_count, align 4, !tbaa !5
  %2890 = load ptr, ptr %21, align 8, !tbaa !9
  %2891 = call i32 @s2n_config_set_client_auth_type(ptr noundef %2890, i32 noundef 2) #10
  %2892 = icmp eq i32 %2891, -1
  br i1 %2892, label %2893, label %2917

2893:                                             ; preds = %2887
  %2894 = tail call ptr @__errno_location() #11
  %2895 = load i32, ptr %2894, align 4, !tbaa !5
  %2896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2897 = call i32 @s2n_print_stacktrace(ptr noundef %2896) #10
  %2898 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2899 = trunc nuw i8 %2898 to i1
  br i1 %2899, label %2900, label %2904

2900:                                             ; preds = %2893
  %2901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2902 = call i32 @fileno(ptr noundef %2901) #10
  %2903 = call i32 @isatty(i32 noundef %2902) #10
  %.not521 = icmp eq i32 %2903, 0
  br i1 %.not521, label %2904, label %2905

2904:                                             ; preds = %2900, %2893
  br label %2905

2905:                                             ; preds = %2900, %2904
  %.str.4.sink1685 = phi ptr [ @.str.4, %2904 ], [ @.str, %2900 ]
  store i32 %2895, ptr %2894, align 4, !tbaa !5
  %2906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2907 = load i32, ptr @test_count, align 4, !tbaa !5
  %2908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2909 = load i32, ptr %2908, align 4, !tbaa !5
  %2910 = call ptr @s2n_strerror(i32 noundef %2909, ptr noundef nonnull @.str.3) #10
  %2911 = load i32, ptr %2908, align 4, !tbaa !5
  %2912 = call ptr @s2n_strerror_debug(i32 noundef %2911, ptr noundef nonnull @.str.3) #10
  %2913 = load i32, ptr %2894, align 4, !tbaa !5
  %2914 = call ptr @strerror(i32 noundef %2913) #10
  %2915 = load i32, ptr %2894, align 4, !tbaa !5
  %2916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2906, ptr noundef nonnull %.str.4.sink1685, i32 noundef %2907, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.2, i32 noundef 244, ptr noundef %2910, ptr noundef %2912, ptr noundef %2914, i32 noundef %2915) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2917:                                             ; preds = %2887
  %2918 = load i32, ptr @test_count, align 4, !tbaa !5
  %2919 = add nsw i32 %2918, 1
  store i32 %2919, ptr @test_count, align 4, !tbaa !5
  %2920 = load ptr, ptr %21, align 8, !tbaa !9
  %2921 = load ptr, ptr %13, align 8, !tbaa !9
  %2922 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %2920, ptr noundef %2921) #10
  %2923 = icmp eq i32 %2922, -1
  br i1 %2923, label %2924, label %2948

2924:                                             ; preds = %2917
  %2925 = tail call ptr @__errno_location() #11
  %2926 = load i32, ptr %2925, align 4, !tbaa !5
  %2927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2928 = call i32 @s2n_print_stacktrace(ptr noundef %2927) #10
  %2929 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2930 = trunc nuw i8 %2929 to i1
  br i1 %2930, label %2931, label %2935

2931:                                             ; preds = %2924
  %2932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2933 = call i32 @fileno(ptr noundef %2932) #10
  %2934 = call i32 @isatty(i32 noundef %2933) #10
  %.not520 = icmp eq i32 %2934, 0
  br i1 %.not520, label %2935, label %2936

2935:                                             ; preds = %2931, %2924
  br label %2936

2936:                                             ; preds = %2931, %2935
  %.str.4.sink1697 = phi ptr [ @.str.4, %2935 ], [ @.str, %2931 ]
  store i32 %2926, ptr %2925, align 4, !tbaa !5
  %2937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2938 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %2940, ptr noundef nonnull @.str.3) #10
  %2942 = load i32, ptr %2939, align 4, !tbaa !5
  %2943 = call ptr @s2n_strerror_debug(i32 noundef %2942, ptr noundef nonnull @.str.3) #10
  %2944 = load i32, ptr %2925, align 4, !tbaa !5
  %2945 = call ptr @strerror(i32 noundef %2944) #10
  %2946 = load i32, ptr %2925, align 4, !tbaa !5
  %2947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2937, ptr noundef nonnull %.str.4.sink1697, i32 noundef %2938, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.2, i32 noundef 245, ptr noundef %2941, ptr noundef %2943, ptr noundef %2945, i32 noundef %2946) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2948:                                             ; preds = %2917
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #10
  %2949 = call ptr @s2n_config_new() #10
  store ptr %2949, ptr %22, align 8, !tbaa !9
  %2950 = load i32, ptr @test_count, align 4, !tbaa !5
  %2951 = add nsw i32 %2950, 1
  store i32 %2951, ptr @test_count, align 4, !tbaa !5
  %2952 = icmp eq ptr %2949, null
  br i1 %2952, label %2953, label %2977

2953:                                             ; preds = %2948
  %2954 = tail call ptr @__errno_location() #11
  %2955 = load i32, ptr %2954, align 4, !tbaa !5
  %2956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2957 = call i32 @s2n_print_stacktrace(ptr noundef %2956) #10
  %2958 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2959 = trunc nuw i8 %2958 to i1
  br i1 %2959, label %2960, label %2964

2960:                                             ; preds = %2953
  %2961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2962 = call i32 @fileno(ptr noundef %2961) #10
  %2963 = call i32 @isatty(i32 noundef %2962) #10
  %.not519 = icmp eq i32 %2963, 0
  br i1 %.not519, label %2964, label %2965

2964:                                             ; preds = %2960, %2953
  br label %2965

2965:                                             ; preds = %2960, %2964
  %.str.4.sink1709 = phi ptr [ @.str.4, %2964 ], [ @.str, %2960 ]
  store i32 %2955, ptr %2954, align 4, !tbaa !5
  %2966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2967 = load i32, ptr @test_count, align 4, !tbaa !5
  %2968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2969 = load i32, ptr %2968, align 4, !tbaa !5
  %2970 = call ptr @s2n_strerror(i32 noundef %2969, ptr noundef nonnull @.str.3) #10
  %2971 = load i32, ptr %2968, align 4, !tbaa !5
  %2972 = call ptr @s2n_strerror_debug(i32 noundef %2971, ptr noundef nonnull @.str.3) #10
  %2973 = load i32, ptr %2954, align 4, !tbaa !5
  %2974 = call ptr @strerror(i32 noundef %2973) #10
  %2975 = load i32, ptr %2954, align 4, !tbaa !5
  %2976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2966, ptr noundef nonnull %.str.4.sink1709, i32 noundef %2967, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.2, i32 noundef 248, ptr noundef %2970, ptr noundef %2972, ptr noundef %2974, i32 noundef %2975) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2977:                                             ; preds = %2948
  %2978 = add nsw i32 %2950, 2
  store i32 %2978, ptr @test_count, align 4, !tbaa !5
  %2979 = load ptr, ptr %13, align 8, !tbaa !9
  %2980 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %2949, ptr noundef %2979) #10
  %2981 = icmp eq i32 %2980, -1
  br i1 %2981, label %2982, label %3006

2982:                                             ; preds = %2977
  %2983 = tail call ptr @__errno_location() #11
  %2984 = load i32, ptr %2983, align 4, !tbaa !5
  %2985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2986 = call i32 @s2n_print_stacktrace(ptr noundef %2985) #10
  %2987 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2988 = trunc nuw i8 %2987 to i1
  br i1 %2988, label %2989, label %2993

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
  %.not518 = icmp eq i32 %2992, 0
  br i1 %.not518, label %2993, label %2994

2993:                                             ; preds = %2989, %2982
  br label %2994

2994:                                             ; preds = %2989, %2993
  %.str.4.sink1721 = phi ptr [ @.str.4, %2993 ], [ @.str, %2989 ]
  store i32 %2984, ptr %2983, align 4, !tbaa !5
  %2995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2996 = load i32, ptr @test_count, align 4, !tbaa !5
  %2997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2998 = load i32, ptr %2997, align 4, !tbaa !5
  %2999 = call ptr @s2n_strerror(i32 noundef %2998, ptr noundef nonnull @.str.3) #10
  %3000 = load i32, ptr %2997, align 4, !tbaa !5
  %3001 = call ptr @s2n_strerror_debug(i32 noundef %3000, ptr noundef nonnull @.str.3) #10
  %3002 = load i32, ptr %2983, align 4, !tbaa !5
  %3003 = call ptr @strerror(i32 noundef %3002) #10
  %3004 = load i32, ptr %2983, align 4, !tbaa !5
  %3005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2995, ptr noundef nonnull %.str.4.sink1721, i32 noundef %2996, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.2, i32 noundef 249, ptr noundef %2999, ptr noundef %3001, ptr noundef %3003, i32 noundef %3004) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3006:                                             ; preds = %2977
  %3007 = load i32, ptr @test_count, align 4, !tbaa !5
  %3008 = add nsw i32 %3007, 1
  store i32 %3008, ptr @test_count, align 4, !tbaa !5
  %3009 = load ptr, ptr %22, align 8, !tbaa !9
  %3010 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %3009, ptr noundef nonnull @.str.53) #10
  %3011 = icmp eq i32 %3010, -1
  br i1 %3011, label %3012, label %3036

3012:                                             ; preds = %3006
  %3013 = tail call ptr @__errno_location() #11
  %3014 = load i32, ptr %3013, align 4, !tbaa !5
  %3015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3016 = call i32 @s2n_print_stacktrace(ptr noundef %3015) #10
  %3017 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3018 = trunc nuw i8 %3017 to i1
  br i1 %3018, label %3019, label %3023

3019:                                             ; preds = %3012
  %3020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3021 = call i32 @fileno(ptr noundef %3020) #10
  %3022 = call i32 @isatty(i32 noundef %3021) #10
  %.not517 = icmp eq i32 %3022, 0
  br i1 %.not517, label %3023, label %3024

3023:                                             ; preds = %3019, %3012
  br label %3024

3024:                                             ; preds = %3019, %3023
  %.str.4.sink1733 = phi ptr [ @.str.4, %3023 ], [ @.str, %3019 ]
  store i32 %3014, ptr %3013, align 4, !tbaa !5
  %3025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3026 = load i32, ptr @test_count, align 4, !tbaa !5
  %3027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3028 = load i32, ptr %3027, align 4, !tbaa !5
  %3029 = call ptr @s2n_strerror(i32 noundef %3028, ptr noundef nonnull @.str.3) #10
  %3030 = load i32, ptr %3027, align 4, !tbaa !5
  %3031 = call ptr @s2n_strerror_debug(i32 noundef %3030, ptr noundef nonnull @.str.3) #10
  %3032 = load i32, ptr %3013, align 4, !tbaa !5
  %3033 = call ptr @strerror(i32 noundef %3032) #10
  %3034 = load i32, ptr %3013, align 4, !tbaa !5
  %3035 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3025, ptr noundef nonnull %.str.4.sink1733, i32 noundef %3026, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.2, i32 noundef 250, ptr noundef %3029, ptr noundef %3031, ptr noundef %3033, i32 noundef %3034) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3036:                                             ; preds = %3006
  %3037 = load i32, ptr @test_count, align 4, !tbaa !5
  %3038 = add nsw i32 %3037, 1
  store i32 %3038, ptr @test_count, align 4, !tbaa !5
  %3039 = load ptr, ptr %22, align 8, !tbaa !9
  %3040 = call i32 @s2n_config_set_status_request_type(ptr noundef %3039, i32 noundef 1) #10
  %3041 = icmp eq i32 %3040, -1
  br i1 %3041, label %3042, label %3066

3042:                                             ; preds = %3036
  %3043 = tail call ptr @__errno_location() #11
  %3044 = load i32, ptr %3043, align 4, !tbaa !5
  %3045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3046 = call i32 @s2n_print_stacktrace(ptr noundef %3045) #10
  %3047 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3048 = trunc nuw i8 %3047 to i1
  br i1 %3048, label %3049, label %3053

3049:                                             ; preds = %3042
  %3050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3051 = call i32 @fileno(ptr noundef %3050) #10
  %3052 = call i32 @isatty(i32 noundef %3051) #10
  %.not516 = icmp eq i32 %3052, 0
  br i1 %.not516, label %3053, label %3054

3053:                                             ; preds = %3049, %3042
  br label %3054

3054:                                             ; preds = %3049, %3053
  %.str.4.sink1745 = phi ptr [ @.str.4, %3053 ], [ @.str, %3049 ]
  store i32 %3044, ptr %3043, align 4, !tbaa !5
  %3055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3056 = load i32, ptr @test_count, align 4, !tbaa !5
  %3057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3058 = load i32, ptr %3057, align 4, !tbaa !5
  %3059 = call ptr @s2n_strerror(i32 noundef %3058, ptr noundef nonnull @.str.3) #10
  %3060 = load i32, ptr %3057, align 4, !tbaa !5
  %3061 = call ptr @s2n_strerror_debug(i32 noundef %3060, ptr noundef nonnull @.str.3) #10
  %3062 = load i32, ptr %3043, align 4, !tbaa !5
  %3063 = call ptr @strerror(i32 noundef %3062) #10
  %3064 = load i32, ptr %3043, align 4, !tbaa !5
  %3065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3055, ptr noundef nonnull %.str.4.sink1745, i32 noundef %3056, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.2, i32 noundef 251, ptr noundef %3059, ptr noundef %3061, ptr noundef %3063, i32 noundef %3064) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3066:                                             ; preds = %3036
  %3067 = load i32, ptr @test_count, align 4, !tbaa !5
  %3068 = add nsw i32 %3067, 1
  store i32 %3068, ptr @test_count, align 4, !tbaa !5
  %3069 = load ptr, ptr %22, align 8, !tbaa !9
  %3070 = call i32 @s2n_config_set_client_auth_type(ptr noundef %3069, i32 noundef 1) #10
  %3071 = icmp eq i32 %3070, -1
  br i1 %3071, label %3072, label %3096

3072:                                             ; preds = %3066
  %3073 = tail call ptr @__errno_location() #11
  %3074 = load i32, ptr %3073, align 4, !tbaa !5
  %3075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3076 = call i32 @s2n_print_stacktrace(ptr noundef %3075) #10
  %3077 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3078 = trunc nuw i8 %3077 to i1
  br i1 %3078, label %3079, label %3083

3079:                                             ; preds = %3072
  %3080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3081 = call i32 @fileno(ptr noundef %3080) #10
  %3082 = call i32 @isatty(i32 noundef %3081) #10
  %.not515 = icmp eq i32 %3082, 0
  br i1 %.not515, label %3083, label %3084

3083:                                             ; preds = %3079, %3072
  br label %3084

3084:                                             ; preds = %3079, %3083
  %.str.4.sink1757 = phi ptr [ @.str.4, %3083 ], [ @.str, %3079 ]
  store i32 %3074, ptr %3073, align 4, !tbaa !5
  %3085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3086 = load i32, ptr @test_count, align 4, !tbaa !5
  %3087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3088 = load i32, ptr %3087, align 4, !tbaa !5
  %3089 = call ptr @s2n_strerror(i32 noundef %3088, ptr noundef nonnull @.str.3) #10
  %3090 = load i32, ptr %3087, align 4, !tbaa !5
  %3091 = call ptr @s2n_strerror_debug(i32 noundef %3090, ptr noundef nonnull @.str.3) #10
  %3092 = load i32, ptr %3073, align 4, !tbaa !5
  %3093 = call ptr @strerror(i32 noundef %3092) #10
  %3094 = load i32, ptr %3073, align 4, !tbaa !5
  %3095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3085, ptr noundef nonnull %.str.4.sink1757, i32 noundef %3086, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.2, i32 noundef 253, ptr noundef %3089, ptr noundef %3091, ptr noundef %3093, i32 noundef %3094) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3096:                                             ; preds = %3066
  %3097 = load i32, ptr @test_count, align 4, !tbaa !5
  %3098 = add nsw i32 %3097, 1
  store i32 %3098, ptr @test_count, align 4, !tbaa !5
  %3099 = load ptr, ptr %22, align 8, !tbaa !9
  %3100 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %3099, ptr noundef nonnull @.str.51, ptr noundef null) #10
  %3101 = icmp eq i32 %3100, -1
  br i1 %3101, label %3102, label %3126

3102:                                             ; preds = %3096
  %3103 = tail call ptr @__errno_location() #11
  %3104 = load i32, ptr %3103, align 4, !tbaa !5
  %3105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3106 = call i32 @s2n_print_stacktrace(ptr noundef %3105) #10
  %3107 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3108 = trunc nuw i8 %3107 to i1
  br i1 %3108, label %3109, label %3113

3109:                                             ; preds = %3102
  %3110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3111 = call i32 @fileno(ptr noundef %3110) #10
  %3112 = call i32 @isatty(i32 noundef %3111) #10
  %.not514 = icmp eq i32 %3112, 0
  br i1 %.not514, label %3113, label %3114

3113:                                             ; preds = %3109, %3102
  br label %3114

3114:                                             ; preds = %3109, %3113
  %.str.4.sink1769 = phi ptr [ @.str.4, %3113 ], [ @.str, %3109 ]
  store i32 %3104, ptr %3103, align 4, !tbaa !5
  %3115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3116 = load i32, ptr @test_count, align 4, !tbaa !5
  %3117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3118 = load i32, ptr %3117, align 4, !tbaa !5
  %3119 = call ptr @s2n_strerror(i32 noundef %3118, ptr noundef nonnull @.str.3) #10
  %3120 = load i32, ptr %3117, align 4, !tbaa !5
  %3121 = call ptr @s2n_strerror_debug(i32 noundef %3120, ptr noundef nonnull @.str.3) #10
  %3122 = load i32, ptr %3103, align 4, !tbaa !5
  %3123 = call ptr @strerror(i32 noundef %3122) #10
  %3124 = load i32, ptr %3103, align 4, !tbaa !5
  %3125 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3115, ptr noundef nonnull %.str.4.sink1769, i32 noundef %3116, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.2, i32 noundef 254, ptr noundef %3119, ptr noundef %3121, ptr noundef %3123, i32 noundef %3124) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3126:                                             ; preds = %3096
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #10
  %3127 = call ptr @s2n_connection_new(i32 noundef 0) #10
  store ptr %3127, ptr %23, align 8, !tbaa !9
  %3128 = load i32, ptr @test_count, align 4, !tbaa !5
  %3129 = add nsw i32 %3128, 1
  store i32 %3129, ptr @test_count, align 4, !tbaa !5
  %3130 = icmp eq ptr %3127, null
  br i1 %3130, label %3131, label %3155

3131:                                             ; preds = %3126
  %3132 = tail call ptr @__errno_location() #11
  %3133 = load i32, ptr %3132, align 4, !tbaa !5
  %3134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3135 = call i32 @s2n_print_stacktrace(ptr noundef %3134) #10
  %3136 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3137 = trunc nuw i8 %3136 to i1
  br i1 %3137, label %3138, label %3142

3138:                                             ; preds = %3131
  %3139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3140 = call i32 @fileno(ptr noundef %3139) #10
  %3141 = call i32 @isatty(i32 noundef %3140) #10
  %.not513 = icmp eq i32 %3141, 0
  br i1 %.not513, label %3142, label %3143

3142:                                             ; preds = %3138, %3131
  br label %3143

3143:                                             ; preds = %3138, %3142
  %.str.4.sink1781 = phi ptr [ @.str.4, %3142 ], [ @.str, %3138 ]
  store i32 %3133, ptr %3132, align 4, !tbaa !5
  %3144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3145 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3147, ptr noundef nonnull @.str.3) #10
  %3149 = load i32, ptr %3146, align 4, !tbaa !5
  %3150 = call ptr @s2n_strerror_debug(i32 noundef %3149, ptr noundef nonnull @.str.3) #10
  %3151 = load i32, ptr %3132, align 4, !tbaa !5
  %3152 = call ptr @strerror(i32 noundef %3151) #10
  %3153 = load i32, ptr %3132, align 4, !tbaa !5
  %3154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3144, ptr noundef nonnull %.str.4.sink1781, i32 noundef %3145, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.2, i32 noundef 257, ptr noundef %3148, ptr noundef %3150, ptr noundef %3152, i32 noundef %3153) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3155:                                             ; preds = %3126
  %3156 = add nsw i32 %3128, 2
  store i32 %3156, ptr @test_count, align 4, !tbaa !5
  %3157 = load ptr, ptr %22, align 8, !tbaa !9
  %3158 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3127, ptr noundef %3157) #10
  %3159 = icmp eq i32 %3158, -1
  br i1 %3159, label %3160, label %3184

3160:                                             ; preds = %3155
  %3161 = tail call ptr @__errno_location() #11
  %3162 = load i32, ptr %3161, align 4, !tbaa !5
  %3163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3164 = call i32 @s2n_print_stacktrace(ptr noundef %3163) #10
  %3165 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3166 = trunc nuw i8 %3165 to i1
  br i1 %3166, label %3167, label %3171

3167:                                             ; preds = %3160
  %3168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3169 = call i32 @fileno(ptr noundef %3168) #10
  %3170 = call i32 @isatty(i32 noundef %3169) #10
  %.not512 = icmp eq i32 %3170, 0
  br i1 %.not512, label %3171, label %3172

3171:                                             ; preds = %3167, %3160
  br label %3172

3172:                                             ; preds = %3167, %3171
  %.str.4.sink1793 = phi ptr [ @.str.4, %3171 ], [ @.str, %3167 ]
  store i32 %3162, ptr %3161, align 4, !tbaa !5
  %3173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3174 = load i32, ptr @test_count, align 4, !tbaa !5
  %3175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3176 = load i32, ptr %3175, align 4, !tbaa !5
  %3177 = call ptr @s2n_strerror(i32 noundef %3176, ptr noundef nonnull @.str.3) #10
  %3178 = load i32, ptr %3175, align 4, !tbaa !5
  %3179 = call ptr @s2n_strerror_debug(i32 noundef %3178, ptr noundef nonnull @.str.3) #10
  %3180 = load i32, ptr %3161, align 4, !tbaa !5
  %3181 = call ptr @strerror(i32 noundef %3180) #10
  %3182 = load i32, ptr %3161, align 4, !tbaa !5
  %3183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3173, ptr noundef nonnull %.str.4.sink1793, i32 noundef %3174, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.2, i32 noundef 258, ptr noundef %3177, ptr noundef %3179, ptr noundef %3181, i32 noundef %3182) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3184:                                             ; preds = %3155
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #10
  %3185 = call ptr @s2n_connection_new(i32 noundef 1) #10
  store ptr %3185, ptr %24, align 8, !tbaa !9
  %3186 = load i32, ptr @test_count, align 4, !tbaa !5
  %3187 = add nsw i32 %3186, 1
  store i32 %3187, ptr @test_count, align 4, !tbaa !5
  %3188 = icmp eq ptr %3185, null
  br i1 %3188, label %3189, label %3213

3189:                                             ; preds = %3184
  %3190 = tail call ptr @__errno_location() #11
  %3191 = load i32, ptr %3190, align 4, !tbaa !5
  %3192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3193 = call i32 @s2n_print_stacktrace(ptr noundef %3192) #10
  %3194 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3195 = trunc nuw i8 %3194 to i1
  br i1 %3195, label %3196, label %3200

3196:                                             ; preds = %3189
  %3197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3198 = call i32 @fileno(ptr noundef %3197) #10
  %3199 = call i32 @isatty(i32 noundef %3198) #10
  %.not511 = icmp eq i32 %3199, 0
  br i1 %.not511, label %3200, label %3201

3200:                                             ; preds = %3196, %3189
  br label %3201

3201:                                             ; preds = %3196, %3200
  %.str.4.sink1805 = phi ptr [ @.str.4, %3200 ], [ @.str, %3196 ]
  store i32 %3191, ptr %3190, align 4, !tbaa !5
  %3202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3203 = load i32, ptr @test_count, align 4, !tbaa !5
  %3204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3205 = load i32, ptr %3204, align 4, !tbaa !5
  %3206 = call ptr @s2n_strerror(i32 noundef %3205, ptr noundef nonnull @.str.3) #10
  %3207 = load i32, ptr %3204, align 4, !tbaa !5
  %3208 = call ptr @s2n_strerror_debug(i32 noundef %3207, ptr noundef nonnull @.str.3) #10
  %3209 = load i32, ptr %3190, align 4, !tbaa !5
  %3210 = call ptr @strerror(i32 noundef %3209) #10
  %3211 = load i32, ptr %3190, align 4, !tbaa !5
  %3212 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3202, ptr noundef nonnull %.str.4.sink1805, i32 noundef %3203, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.2, i32 noundef 261, ptr noundef %3206, ptr noundef %3208, ptr noundef %3210, i32 noundef %3211) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3213:                                             ; preds = %3184
  %3214 = add nsw i32 %3186, 2
  store i32 %3214, ptr @test_count, align 4, !tbaa !5
  %3215 = load ptr, ptr %21, align 8, !tbaa !9
  %3216 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3185, ptr noundef %3215) #10
  %3217 = icmp eq i32 %3216, -1
  br i1 %3217, label %3218, label %3242

3218:                                             ; preds = %3213
  %3219 = tail call ptr @__errno_location() #11
  %3220 = load i32, ptr %3219, align 4, !tbaa !5
  %3221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3222 = call i32 @s2n_print_stacktrace(ptr noundef %3221) #10
  %3223 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3224 = trunc nuw i8 %3223 to i1
  br i1 %3224, label %3225, label %3229

3225:                                             ; preds = %3218
  %3226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3227 = call i32 @fileno(ptr noundef %3226) #10
  %3228 = call i32 @isatty(i32 noundef %3227) #10
  %.not510 = icmp eq i32 %3228, 0
  br i1 %.not510, label %3229, label %3230

3229:                                             ; preds = %3225, %3218
  br label %3230

3230:                                             ; preds = %3225, %3229
  %.str.4.sink1817 = phi ptr [ @.str.4, %3229 ], [ @.str, %3225 ]
  store i32 %3220, ptr %3219, align 4, !tbaa !5
  %3231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3232 = load i32, ptr @test_count, align 4, !tbaa !5
  %3233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3234 = load i32, ptr %3233, align 4, !tbaa !5
  %3235 = call ptr @s2n_strerror(i32 noundef %3234, ptr noundef nonnull @.str.3) #10
  %3236 = load i32, ptr %3233, align 4, !tbaa !5
  %3237 = call ptr @s2n_strerror_debug(i32 noundef %3236, ptr noundef nonnull @.str.3) #10
  %3238 = load i32, ptr %3219, align 4, !tbaa !5
  %3239 = call ptr @strerror(i32 noundef %3238) #10
  %3240 = load i32, ptr %3219, align 4, !tbaa !5
  %3241 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3231, ptr noundef nonnull %.str.4.sink1817, i32 noundef %3232, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.2, i32 noundef 262, ptr noundef %3235, ptr noundef %3237, ptr noundef %3239, i32 noundef %3240) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3242:                                             ; preds = %3213
  %3243 = load i32, ptr @test_count, align 4, !tbaa !5
  %3244 = add nsw i32 %3243, 1
  store i32 %3244, ptr @test_count, align 4, !tbaa !5
  %3245 = load ptr, ptr %24, align 8, !tbaa !9
  %3246 = call i32 @s2n_set_server_name(ptr noundef %3245, ptr noundef nonnull @.str.63) #10
  %3247 = icmp eq i32 %3246, -1
  br i1 %3247, label %3248, label %3272

3248:                                             ; preds = %3242
  %3249 = tail call ptr @__errno_location() #11
  %3250 = load i32, ptr %3249, align 4, !tbaa !5
  %3251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3252 = call i32 @s2n_print_stacktrace(ptr noundef %3251) #10
  %3253 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3254 = trunc nuw i8 %3253 to i1
  br i1 %3254, label %3255, label %3259

3255:                                             ; preds = %3248
  %3256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3257 = call i32 @fileno(ptr noundef %3256) #10
  %3258 = call i32 @isatty(i32 noundef %3257) #10
  %.not509 = icmp eq i32 %3258, 0
  br i1 %.not509, label %3259, label %3260

3259:                                             ; preds = %3255, %3248
  br label %3260

3260:                                             ; preds = %3255, %3259
  %.str.4.sink1829 = phi ptr [ @.str.4, %3259 ], [ @.str, %3255 ]
  store i32 %3250, ptr %3249, align 4, !tbaa !5
  %3261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3262 = load i32, ptr @test_count, align 4, !tbaa !5
  %3263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3264 = load i32, ptr %3263, align 4, !tbaa !5
  %3265 = call ptr @s2n_strerror(i32 noundef %3264, ptr noundef nonnull @.str.3) #10
  %3266 = load i32, ptr %3263, align 4, !tbaa !5
  %3267 = call ptr @s2n_strerror_debug(i32 noundef %3266, ptr noundef nonnull @.str.3) #10
  %3268 = load i32, ptr %3249, align 4, !tbaa !5
  %3269 = call ptr @strerror(i32 noundef %3268) #10
  %3270 = load i32, ptr %3249, align 4, !tbaa !5
  %3271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3261, ptr noundef nonnull %.str.4.sink1829, i32 noundef %3262, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.2, i32 noundef 263, ptr noundef %3265, ptr noundef %3267, ptr noundef %3269, i32 noundef %3270) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3272:                                             ; preds = %3242
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #10
  store i64 0, ptr %25, align 8
  %3273 = load i32, ptr @test_count, align 4, !tbaa !5
  %3274 = add nsw i32 %3273, 1
  store i32 %3274, ptr @test_count, align 4, !tbaa !5
  %3275 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %25) #10
  %3276 = icmp eq i32 %3275, -1
  br i1 %3276, label %3277, label %3301

3277:                                             ; preds = %3272
  %3278 = tail call ptr @__errno_location() #11
  %3279 = load i32, ptr %3278, align 4, !tbaa !5
  %3280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3281 = call i32 @s2n_print_stacktrace(ptr noundef %3280) #10
  %3282 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3283 = trunc nuw i8 %3282 to i1
  br i1 %3283, label %3284, label %3288

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

3288:                                             ; preds = %3284, %3277
  br label %3289

3289:                                             ; preds = %3284, %3288
  %.str.4.sink1841 = phi ptr [ @.str.4, %3288 ], [ @.str, %3284 ]
  store i32 %3279, ptr %3278, align 4, !tbaa !5
  %3290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3291 = load i32, ptr @test_count, align 4, !tbaa !5
  %3292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3293 = load i32, ptr %3292, align 4, !tbaa !5
  %3294 = call ptr @s2n_strerror(i32 noundef %3293, ptr noundef nonnull @.str.3) #10
  %3295 = load i32, ptr %3292, align 4, !tbaa !5
  %3296 = call ptr @s2n_strerror_debug(i32 noundef %3295, ptr noundef nonnull @.str.3) #10
  %3297 = load i32, ptr %3278, align 4, !tbaa !5
  %3298 = call ptr @strerror(i32 noundef %3297) #10
  %3299 = load i32, ptr %3278, align 4, !tbaa !5
  %3300 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3290, ptr noundef nonnull %.str.4.sink1841, i32 noundef %3291, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.2, i32 noundef 266, ptr noundef %3294, ptr noundef %3296, ptr noundef %3298, i32 noundef %3299) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3301:                                             ; preds = %3272
  %3302 = load i32, ptr @test_count, align 4, !tbaa !5
  %3303 = add nsw i32 %3302, 1
  store i32 %3303, ptr @test_count, align 4, !tbaa !5
  %3304 = load ptr, ptr %24, align 8, !tbaa !9
  %3305 = call i32 @s2n_connection_set_io_pair(ptr noundef %3304, ptr noundef nonnull %25) #10
  %3306 = icmp eq i32 %3305, -1
  br i1 %3306, label %3307, label %3331

3307:                                             ; preds = %3301
  %3308 = tail call ptr @__errno_location() #11
  %3309 = load i32, ptr %3308, align 4, !tbaa !5
  %3310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3311 = call i32 @s2n_print_stacktrace(ptr noundef %3310) #10
  %3312 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3313 = trunc nuw i8 %3312 to i1
  br i1 %3313, label %3314, label %3318

3314:                                             ; preds = %3307
  %3315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3316 = call i32 @fileno(ptr noundef %3315) #10
  %3317 = call i32 @isatty(i32 noundef %3316) #10
  %.not507 = icmp eq i32 %3317, 0
  br i1 %.not507, label %3318, label %3319

3318:                                             ; preds = %3314, %3307
  br label %3319

3319:                                             ; preds = %3314, %3318
  %.str.4.sink1853 = phi ptr [ @.str.4, %3318 ], [ @.str, %3314 ]
  store i32 %3309, ptr %3308, align 4, !tbaa !5
  %3320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3321 = load i32, ptr @test_count, align 4, !tbaa !5
  %3322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3323 = load i32, ptr %3322, align 4, !tbaa !5
  %3324 = call ptr @s2n_strerror(i32 noundef %3323, ptr noundef nonnull @.str.3) #10
  %3325 = load i32, ptr %3322, align 4, !tbaa !5
  %3326 = call ptr @s2n_strerror_debug(i32 noundef %3325, ptr noundef nonnull @.str.3) #10
  %3327 = load i32, ptr %3308, align 4, !tbaa !5
  %3328 = call ptr @strerror(i32 noundef %3327) #10
  %3329 = load i32, ptr %3308, align 4, !tbaa !5
  %3330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3320, ptr noundef nonnull %.str.4.sink1853, i32 noundef %3321, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.2, i32 noundef 267, ptr noundef %3324, ptr noundef %3326, ptr noundef %3328, i32 noundef %3329) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3331:                                             ; preds = %3301
  %3332 = load i32, ptr @test_count, align 4, !tbaa !5
  %3333 = add nsw i32 %3332, 1
  store i32 %3333, ptr @test_count, align 4, !tbaa !5
  %3334 = load ptr, ptr %23, align 8, !tbaa !9
  %3335 = call i32 @s2n_connection_set_io_pair(ptr noundef %3334, ptr noundef nonnull %25) #10
  %3336 = icmp eq i32 %3335, -1
  br i1 %3336, label %3337, label %3361

3337:                                             ; preds = %3331
  %3338 = tail call ptr @__errno_location() #11
  %3339 = load i32, ptr %3338, align 4, !tbaa !5
  %3340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3341 = call i32 @s2n_print_stacktrace(ptr noundef %3340) #10
  %3342 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3343 = trunc nuw i8 %3342 to i1
  br i1 %3343, label %3344, label %3348

3344:                                             ; preds = %3337
  %3345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3346 = call i32 @fileno(ptr noundef %3345) #10
  %3347 = call i32 @isatty(i32 noundef %3346) #10
  %.not506 = icmp eq i32 %3347, 0
  br i1 %.not506, label %3348, label %3349

3348:                                             ; preds = %3344, %3337
  br label %3349

3349:                                             ; preds = %3344, %3348
  %.str.4.sink1865 = phi ptr [ @.str.4, %3348 ], [ @.str, %3344 ]
  store i32 %3339, ptr %3338, align 4, !tbaa !5
  %3350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3351 = load i32, ptr @test_count, align 4, !tbaa !5
  %3352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3353 = load i32, ptr %3352, align 4, !tbaa !5
  %3354 = call ptr @s2n_strerror(i32 noundef %3353, ptr noundef nonnull @.str.3) #10
  %3355 = load i32, ptr %3352, align 4, !tbaa !5
  %3356 = call ptr @s2n_strerror_debug(i32 noundef %3355, ptr noundef nonnull @.str.3) #10
  %3357 = load i32, ptr %3338, align 4, !tbaa !5
  %3358 = call ptr @strerror(i32 noundef %3357) #10
  %3359 = load i32, ptr %3338, align 4, !tbaa !5
  %3360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3350, ptr noundef nonnull %.str.4.sink1865, i32 noundef %3351, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.2, i32 noundef 268, ptr noundef %3354, ptr noundef %3356, ptr noundef %3358, i32 noundef %3359) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3361:                                             ; preds = %3331
  %3362 = load i32, ptr @test_count, align 4, !tbaa !5
  %3363 = add nsw i32 %3362, 1
  store i32 %3363, ptr @test_count, align 4, !tbaa !5
  %3364 = load ptr, ptr %23, align 8, !tbaa !9
  %3365 = load ptr, ptr %24, align 8, !tbaa !9
  %3366 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %3364, ptr noundef %3365) #10
  %3367 = icmp eq i32 %3366, -1
  br i1 %3367, label %3368, label %3392

3368:                                             ; preds = %3361
  %3369 = tail call ptr @__errno_location() #11
  %3370 = load i32, ptr %3369, align 4, !tbaa !5
  %3371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3372 = call i32 @s2n_print_stacktrace(ptr noundef %3371) #10
  %3373 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3374 = trunc nuw i8 %3373 to i1
  br i1 %3374, label %3375, label %3379

3375:                                             ; preds = %3368
  %3376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3377 = call i32 @fileno(ptr noundef %3376) #10
  %3378 = call i32 @isatty(i32 noundef %3377) #10
  %.not505 = icmp eq i32 %3378, 0
  br i1 %.not505, label %3379, label %3380

3379:                                             ; preds = %3375, %3368
  br label %3380

3380:                                             ; preds = %3375, %3379
  %.str.4.sink1877 = phi ptr [ @.str.4, %3379 ], [ @.str, %3375 ]
  store i32 %3370, ptr %3369, align 4, !tbaa !5
  %3381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3382 = load i32, ptr @test_count, align 4, !tbaa !5
  %3383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3384 = load i32, ptr %3383, align 4, !tbaa !5
  %3385 = call ptr @s2n_strerror(i32 noundef %3384, ptr noundef nonnull @.str.3) #10
  %3386 = load i32, ptr %3383, align 4, !tbaa !5
  %3387 = call ptr @s2n_strerror_debug(i32 noundef %3386, ptr noundef nonnull @.str.3) #10
  %3388 = load i32, ptr %3369, align 4, !tbaa !5
  %3389 = call ptr @strerror(i32 noundef %3388) #10
  %3390 = load i32, ptr %3369, align 4, !tbaa !5
  %3391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3381, ptr noundef nonnull %.str.4.sink1877, i32 noundef %3382, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.2, i32 noundef 270, ptr noundef %3385, ptr noundef %3387, ptr noundef %3389, i32 noundef %3390) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3392:                                             ; preds = %3361
  %3393 = load i32, ptr @test_count, align 4, !tbaa !5
  %3394 = add nsw i32 %3393, 1
  store i32 %3394, ptr @test_count, align 4, !tbaa !5
  %3395 = load ptr, ptr %23, align 8, !tbaa !9
  %3396 = getelementptr inbounds i8, ptr %3395, i64 220
  %3397 = load i8, ptr %3396, align 4, !tbaa !52
  %3398 = icmp eq i8 %3397, 34
  br i1 %3398, label %3423, label %3399

3399:                                             ; preds = %3392
  %3400 = tail call ptr @__errno_location() #11
  %3401 = load i32, ptr %3400, align 4, !tbaa !5
  %3402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3403 = call i32 @s2n_print_stacktrace(ptr noundef %3402) #10
  %3404 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3405 = trunc nuw i8 %3404 to i1
  br i1 %3405, label %3406, label %3410

3406:                                             ; preds = %3399
  %3407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3408 = call i32 @fileno(ptr noundef %3407) #10
  %3409 = call i32 @isatty(i32 noundef %3408) #10
  %.not445 = icmp eq i32 %3409, 0
  br i1 %.not445, label %3410, label %3411

3410:                                             ; preds = %3406, %3399
  br label %3411

3411:                                             ; preds = %3406, %3410
  %.str.4.sink1889 = phi ptr [ @.str.4, %3410 ], [ @.str, %3406 ]
  store i32 %3401, ptr %3400, align 4, !tbaa !5
  %3412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3413 = load i32, ptr @test_count, align 4, !tbaa !5
  %3414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3415 = load i32, ptr %3414, align 4, !tbaa !5
  %3416 = call ptr @s2n_strerror(i32 noundef %3415, ptr noundef nonnull @.str.3) #10
  %3417 = load i32, ptr %3414, align 4, !tbaa !5
  %3418 = call ptr @s2n_strerror_debug(i32 noundef %3417, ptr noundef nonnull @.str.3) #10
  %3419 = load i32, ptr %3400, align 4, !tbaa !5
  %3420 = call ptr @strerror(i32 noundef %3419) #10
  %3421 = load i32, ptr %3400, align 4, !tbaa !5
  %3422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3412, ptr noundef nonnull %.str.4.sink1889, i32 noundef %3413, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.2, i32 noundef 272, ptr noundef %3416, ptr noundef %3418, ptr noundef %3420, i32 noundef %3421) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3423:                                             ; preds = %3392
  %3424 = add nsw i32 %3393, 2
  store i32 %3424, ptr @test_count, align 4, !tbaa !5
  %3425 = load ptr, ptr %24, align 8, !tbaa !9
  %3426 = getelementptr inbounds i8, ptr %3425, i64 220
  %3427 = load i8, ptr %3426, align 4, !tbaa !52
  %3428 = icmp eq i8 %3427, 34
  br i1 %3428, label %3453, label %3429

3429:                                             ; preds = %3423
  %3430 = tail call ptr @__errno_location() #11
  %3431 = load i32, ptr %3430, align 4, !tbaa !5
  %3432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3433 = call i32 @s2n_print_stacktrace(ptr noundef %3432) #10
  %3434 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3435 = trunc nuw i8 %3434 to i1
  br i1 %3435, label %3436, label %3440

3436:                                             ; preds = %3429
  %3437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3438 = call i32 @fileno(ptr noundef %3437) #10
  %3439 = call i32 @isatty(i32 noundef %3438) #10
  %.not446 = icmp eq i32 %3439, 0
  br i1 %.not446, label %3440, label %3441

3440:                                             ; preds = %3436, %3429
  br label %3441

3441:                                             ; preds = %3436, %3440
  %.str.4.sink1901 = phi ptr [ @.str.4, %3440 ], [ @.str, %3436 ]
  store i32 %3431, ptr %3430, align 4, !tbaa !5
  %3442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3443 = load i32, ptr @test_count, align 4, !tbaa !5
  %3444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3445 = load i32, ptr %3444, align 4, !tbaa !5
  %3446 = call ptr @s2n_strerror(i32 noundef %3445, ptr noundef nonnull @.str.3) #10
  %3447 = load i32, ptr %3444, align 4, !tbaa !5
  %3448 = call ptr @s2n_strerror_debug(i32 noundef %3447, ptr noundef nonnull @.str.3) #10
  %3449 = load i32, ptr %3430, align 4, !tbaa !5
  %3450 = call ptr @strerror(i32 noundef %3449) #10
  %3451 = load i32, ptr %3430, align 4, !tbaa !5
  %3452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3442, ptr noundef nonnull %.str.4.sink1901, i32 noundef %3443, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.2, i32 noundef 273, ptr noundef %3446, ptr noundef %3448, ptr noundef %3450, i32 noundef %3451) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3453:                                             ; preds = %3423
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %26) #10
  store i32 0, ptr %26, align 4, !tbaa !5
  %3454 = call ptr @s2n_connection_get_ocsp_response(ptr noundef nonnull %3425, ptr noundef nonnull %26) #10
  %3455 = load i32, ptr @test_count, align 4, !tbaa !5
  %3456 = add nsw i32 %3455, 1
  store i32 %3456, ptr @test_count, align 4, !tbaa !5
  %3457 = icmp eq ptr %3454, null
  br i1 %3457, label %3482, label %3458

3458:                                             ; preds = %3453
  %3459 = tail call ptr @__errno_location() #11
  %3460 = load i32, ptr %3459, align 4, !tbaa !5
  %3461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3462 = call i32 @s2n_print_stacktrace(ptr noundef %3461) #10
  %3463 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3464 = trunc nuw i8 %3463 to i1
  br i1 %3464, label %3465, label %3469

3465:                                             ; preds = %3458
  %3466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3467 = call i32 @fileno(ptr noundef %3466) #10
  %3468 = call i32 @isatty(i32 noundef %3467) #10
  %.not447 = icmp eq i32 %3468, 0
  br i1 %.not447, label %3469, label %3470

3469:                                             ; preds = %3465, %3458
  br label %3470

3470:                                             ; preds = %3465, %3469
  %.str.4.sink1913 = phi ptr [ @.str.4, %3469 ], [ @.str, %3465 ]
  store i32 %3460, ptr %3459, align 4, !tbaa !5
  %3471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3472 = load i32, ptr @test_count, align 4, !tbaa !5
  %3473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3474 = load i32, ptr %3473, align 4, !tbaa !5
  %3475 = call ptr @s2n_strerror(i32 noundef %3474, ptr noundef nonnull @.str.3) #10
  %3476 = load i32, ptr %3473, align 4, !tbaa !5
  %3477 = call ptr @s2n_strerror_debug(i32 noundef %3476, ptr noundef nonnull @.str.3) #10
  %3478 = load i32, ptr %3459, align 4, !tbaa !5
  %3479 = call ptr @strerror(i32 noundef %3478) #10
  %3480 = load i32, ptr %3459, align 4, !tbaa !5
  %3481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3471, ptr noundef nonnull %.str.4.sink1913, i32 noundef %3472, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.2, i32 noundef 279, ptr noundef %3475, ptr noundef %3477, ptr noundef %3479, i32 noundef %3480) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3482:                                             ; preds = %3453
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %27) #10
  store i32 0, ptr %27, align 4, !tbaa !5
  %3483 = load ptr, ptr %23, align 8, !tbaa !9
  %3484 = call ptr @s2n_connection_get_ocsp_response(ptr noundef %3483, ptr noundef nonnull %27) #10
  %3485 = load i32, ptr @test_count, align 4, !tbaa !5
  %3486 = add nsw i32 %3485, 1
  store i32 %3486, ptr @test_count, align 4, !tbaa !5
  %3487 = icmp eq ptr %3484, null
  br i1 %3487, label %3488, label %3512

3488:                                             ; preds = %3482
  %3489 = tail call ptr @__errno_location() #11
  %3490 = load i32, ptr %3489, align 4, !tbaa !5
  %3491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3492 = call i32 @s2n_print_stacktrace(ptr noundef %3491) #10
  %3493 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3494 = trunc nuw i8 %3493 to i1
  br i1 %3494, label %3495, label %3499

3495:                                             ; preds = %3488
  %3496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3497 = call i32 @fileno(ptr noundef %3496) #10
  %3498 = call i32 @isatty(i32 noundef %3497) #10
  %.not504 = icmp eq i32 %3498, 0
  br i1 %.not504, label %3499, label %3500

3499:                                             ; preds = %3495, %3488
  br label %3500

3500:                                             ; preds = %3495, %3499
  %.str.4.sink1925 = phi ptr [ @.str.4, %3499 ], [ @.str, %3495 ]
  store i32 %3490, ptr %3489, align 4, !tbaa !5
  %3501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3502 = load i32, ptr @test_count, align 4, !tbaa !5
  %3503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3504 = load i32, ptr %3503, align 4, !tbaa !5
  %3505 = call ptr @s2n_strerror(i32 noundef %3504, ptr noundef nonnull @.str.3) #10
  %3506 = load i32, ptr %3503, align 4, !tbaa !5
  %3507 = call ptr @s2n_strerror_debug(i32 noundef %3506, ptr noundef nonnull @.str.3) #10
  %3508 = load i32, ptr %3489, align 4, !tbaa !5
  %3509 = call ptr @strerror(i32 noundef %3508) #10
  %3510 = load i32, ptr %3489, align 4, !tbaa !5
  %3511 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3501, ptr noundef nonnull %.str.4.sink1925, i32 noundef %3502, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.2, i32 noundef 284, ptr noundef %3505, ptr noundef %3507, ptr noundef %3509, i32 noundef %3510) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3512:                                             ; preds = %3482
  %3513 = add nsw i32 %3485, 2
  store i32 %3513, ptr @test_count, align 4, !tbaa !5
  %3514 = load ptr, ptr %23, align 8, !tbaa !9
  %3515 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef %3514) #10
  %3516 = icmp eq i32 %3515, 0
  br i1 %3516, label %3541, label %3517

3517:                                             ; preds = %3512
  %3518 = tail call ptr @__errno_location() #11
  %3519 = load i32, ptr %3518, align 4, !tbaa !5
  %3520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3521 = call i32 @s2n_print_stacktrace(ptr noundef %3520) #10
  %3522 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3523 = trunc nuw i8 %3522 to i1
  br i1 %3523, label %3524, label %3528

3524:                                             ; preds = %3517
  %3525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3526 = call i32 @fileno(ptr noundef %3525) #10
  %3527 = call i32 @isatty(i32 noundef %3526) #10
  %.not448 = icmp eq i32 %3527, 0
  br i1 %.not448, label %3528, label %3529

3528:                                             ; preds = %3524, %3517
  br label %3529

3529:                                             ; preds = %3524, %3528
  %.str.4.sink1937 = phi ptr [ @.str.4, %3528 ], [ @.str, %3524 ]
  store i32 %3519, ptr %3518, align 4, !tbaa !5
  %3530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3531 = load i32, ptr @test_count, align 4, !tbaa !5
  %3532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3533 = load i32, ptr %3532, align 4, !tbaa !5
  %3534 = call ptr @s2n_strerror(i32 noundef %3533, ptr noundef nonnull @.str.3) #10
  %3535 = load i32, ptr %3532, align 4, !tbaa !5
  %3536 = call ptr @s2n_strerror_debug(i32 noundef %3535, ptr noundef nonnull @.str.3) #10
  %3537 = load i32, ptr %3518, align 4, !tbaa !5
  %3538 = call ptr @strerror(i32 noundef %3537) #10
  %3539 = load i32, ptr %3518, align 4, !tbaa !5
  %3540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3530, ptr noundef nonnull %.str.4.sink1937, i32 noundef %3531, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.2, i32 noundef 287, ptr noundef %3534, ptr noundef %3536, ptr noundef %3538, i32 noundef %3539) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3541:                                             ; preds = %3512
  %3542 = load i32, ptr @test_count, align 4, !tbaa !5
  %3543 = add nsw i32 %3542, 1
  store i32 %3543, ptr @test_count, align 4, !tbaa !5
  %3544 = load ptr, ptr %24, align 8, !tbaa !9
  %3545 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef %3544) #10
  %3546 = icmp eq i32 %3545, 0
  br i1 %3546, label %3571, label %3547

3547:                                             ; preds = %3541
  %3548 = tail call ptr @__errno_location() #11
  %3549 = load i32, ptr %3548, align 4, !tbaa !5
  %3550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3551 = call i32 @s2n_print_stacktrace(ptr noundef %3550) #10
  %3552 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3553 = trunc nuw i8 %3552 to i1
  br i1 %3553, label %3554, label %3558

3554:                                             ; preds = %3547
  %3555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3556 = call i32 @fileno(ptr noundef %3555) #10
  %3557 = call i32 @isatty(i32 noundef %3556) #10
  %.not449 = icmp eq i32 %3557, 0
  br i1 %.not449, label %3558, label %3559

3558:                                             ; preds = %3554, %3547
  br label %3559

3559:                                             ; preds = %3554, %3558
  %.str.4.sink1949 = phi ptr [ @.str.4, %3558 ], [ @.str, %3554 ]
  store i32 %3549, ptr %3548, align 4, !tbaa !5
  %3560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3561 = load i32, ptr @test_count, align 4, !tbaa !5
  %3562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3563 = load i32, ptr %3562, align 4, !tbaa !5
  %3564 = call ptr @s2n_strerror(i32 noundef %3563, ptr noundef nonnull @.str.3) #10
  %3565 = load i32, ptr %3562, align 4, !tbaa !5
  %3566 = call ptr @s2n_strerror_debug(i32 noundef %3565, ptr noundef nonnull @.str.3) #10
  %3567 = load i32, ptr %3548, align 4, !tbaa !5
  %3568 = call ptr @strerror(i32 noundef %3567) #10
  %3569 = load i32, ptr %3548, align 4, !tbaa !5
  %3570 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3560, ptr noundef nonnull %.str.4.sink1949, i32 noundef %3561, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.2, i32 noundef 288, ptr noundef %3564, ptr noundef %3566, ptr noundef %3568, i32 noundef %3569) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3571:                                             ; preds = %3541
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %27) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #10
  %3572 = call i32 @s2n_io_pair_close(ptr noundef nonnull %25) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #10
  %3573 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %24) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #10
  %3574 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %23) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #10
  %3575 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %22) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #10
  %3576 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %21) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #10
  %3577 = call ptr @s2n_config_new() #10
  store ptr %3577, ptr %28, align 8, !tbaa !9
  %3578 = load i32, ptr @test_count, align 4, !tbaa !5
  %3579 = add nsw i32 %3578, 1
  store i32 %3579, ptr @test_count, align 4, !tbaa !5
  %3580 = icmp eq ptr %3577, null
  br i1 %3580, label %3581, label %3605

3581:                                             ; preds = %3571
  %3582 = tail call ptr @__errno_location() #11
  %3583 = load i32, ptr %3582, align 4, !tbaa !5
  %3584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3585 = call i32 @s2n_print_stacktrace(ptr noundef %3584) #10
  %3586 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3587 = trunc nuw i8 %3586 to i1
  br i1 %3587, label %3588, label %3592

3588:                                             ; preds = %3581
  %3589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3590 = call i32 @fileno(ptr noundef %3589) #10
  %3591 = call i32 @isatty(i32 noundef %3590) #10
  %.not503 = icmp eq i32 %3591, 0
  br i1 %.not503, label %3592, label %3593

3592:                                             ; preds = %3588, %3581
  br label %3593

3593:                                             ; preds = %3588, %3592
  %.str.4.sink1961 = phi ptr [ @.str.4, %3592 ], [ @.str, %3588 ]
  store i32 %3583, ptr %3582, align 4, !tbaa !5
  %3594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3595 = load i32, ptr @test_count, align 4, !tbaa !5
  %3596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3597 = load i32, ptr %3596, align 4, !tbaa !5
  %3598 = call ptr @s2n_strerror(i32 noundef %3597, ptr noundef nonnull @.str.3) #10
  %3599 = load i32, ptr %3596, align 4, !tbaa !5
  %3600 = call ptr @s2n_strerror_debug(i32 noundef %3599, ptr noundef nonnull @.str.3) #10
  %3601 = load i32, ptr %3582, align 4, !tbaa !5
  %3602 = call ptr @strerror(i32 noundef %3601) #10
  %3603 = load i32, ptr %3582, align 4, !tbaa !5
  %3604 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3594, ptr noundef nonnull %.str.4.sink1961, i32 noundef %3595, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.2, i32 noundef 294, ptr noundef %3598, ptr noundef %3600, ptr noundef %3602, i32 noundef %3603) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3605:                                             ; preds = %3571
  %3606 = add nsw i32 %3578, 2
  store i32 %3606, ptr @test_count, align 4, !tbaa !5
  %3607 = call i32 @s2n_config_set_verification_ca_location(ptr noundef nonnull %3577, ptr noundef nonnull @.str.51, ptr noundef null) #10
  %3608 = icmp eq i32 %3607, -1
  br i1 %3608, label %3609, label %3633

3609:                                             ; preds = %3605
  %3610 = tail call ptr @__errno_location() #11
  %3611 = load i32, ptr %3610, align 4, !tbaa !5
  %3612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3613 = call i32 @s2n_print_stacktrace(ptr noundef %3612) #10
  %3614 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3615 = trunc nuw i8 %3614 to i1
  br i1 %3615, label %3616, label %3620

3616:                                             ; preds = %3609
  %3617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3618 = call i32 @fileno(ptr noundef %3617) #10
  %3619 = call i32 @isatty(i32 noundef %3618) #10
  %.not502 = icmp eq i32 %3619, 0
  br i1 %.not502, label %3620, label %3621

3620:                                             ; preds = %3616, %3609
  br label %3621

3621:                                             ; preds = %3616, %3620
  %.str.4.sink1973 = phi ptr [ @.str.4, %3620 ], [ @.str, %3616 ]
  store i32 %3611, ptr %3610, align 4, !tbaa !5
  %3622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3623 = load i32, ptr @test_count, align 4, !tbaa !5
  %3624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3625 = load i32, ptr %3624, align 4, !tbaa !5
  %3626 = call ptr @s2n_strerror(i32 noundef %3625, ptr noundef nonnull @.str.3) #10
  %3627 = load i32, ptr %3624, align 4, !tbaa !5
  %3628 = call ptr @s2n_strerror_debug(i32 noundef %3627, ptr noundef nonnull @.str.3) #10
  %3629 = load i32, ptr %3610, align 4, !tbaa !5
  %3630 = call ptr @strerror(i32 noundef %3629) #10
  %3631 = load i32, ptr %3610, align 4, !tbaa !5
  %3632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3622, ptr noundef nonnull %.str.4.sink1973, i32 noundef %3623, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.2, i32 noundef 295, ptr noundef %3626, ptr noundef %3628, ptr noundef %3630, i32 noundef %3631) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3633:                                             ; preds = %3605
  %3634 = load i32, ptr @test_count, align 4, !tbaa !5
  %3635 = add nsw i32 %3634, 1
  store i32 %3635, ptr @test_count, align 4, !tbaa !5
  %3636 = load ptr, ptr %28, align 8, !tbaa !9
  %3637 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %3636, ptr noundef nonnull @.str.53) #10
  %3638 = icmp eq i32 %3637, -1
  br i1 %3638, label %3639, label %3663

3639:                                             ; preds = %3633
  %3640 = tail call ptr @__errno_location() #11
  %3641 = load i32, ptr %3640, align 4, !tbaa !5
  %3642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3643 = call i32 @s2n_print_stacktrace(ptr noundef %3642) #10
  %3644 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3645 = trunc nuw i8 %3644 to i1
  br i1 %3645, label %3646, label %3650

3646:                                             ; preds = %3639
  %3647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3648 = call i32 @fileno(ptr noundef %3647) #10
  %3649 = call i32 @isatty(i32 noundef %3648) #10
  %.not501 = icmp eq i32 %3649, 0
  br i1 %.not501, label %3650, label %3651

3650:                                             ; preds = %3646, %3639
  br label %3651

3651:                                             ; preds = %3646, %3650
  %.str.4.sink1985 = phi ptr [ @.str.4, %3650 ], [ @.str, %3646 ]
  store i32 %3641, ptr %3640, align 4, !tbaa !5
  %3652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3653 = load i32, ptr @test_count, align 4, !tbaa !5
  %3654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3655 = load i32, ptr %3654, align 4, !tbaa !5
  %3656 = call ptr @s2n_strerror(i32 noundef %3655, ptr noundef nonnull @.str.3) #10
  %3657 = load i32, ptr %3654, align 4, !tbaa !5
  %3658 = call ptr @s2n_strerror_debug(i32 noundef %3657, ptr noundef nonnull @.str.3) #10
  %3659 = load i32, ptr %3640, align 4, !tbaa !5
  %3660 = call ptr @strerror(i32 noundef %3659) #10
  %3661 = load i32, ptr %3640, align 4, !tbaa !5
  %3662 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3652, ptr noundef nonnull %.str.4.sink1985, i32 noundef %3653, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.2, i32 noundef 296, ptr noundef %3656, ptr noundef %3658, ptr noundef %3660, i32 noundef %3661) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3663:                                             ; preds = %3633
  %3664 = load i32, ptr @test_count, align 4, !tbaa !5
  %3665 = add nsw i32 %3664, 1
  store i32 %3665, ptr @test_count, align 4, !tbaa !5
  %3666 = load ptr, ptr %28, align 8, !tbaa !9
  %3667 = call i32 @s2n_config_set_status_request_type(ptr noundef %3666, i32 noundef 1) #10
  %3668 = icmp eq i32 %3667, -1
  br i1 %3668, label %3669, label %3693

3669:                                             ; preds = %3663
  %3670 = tail call ptr @__errno_location() #11
  %3671 = load i32, ptr %3670, align 4, !tbaa !5
  %3672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3673 = call i32 @s2n_print_stacktrace(ptr noundef %3672) #10
  %3674 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3675 = trunc nuw i8 %3674 to i1
  br i1 %3675, label %3676, label %3680

3676:                                             ; preds = %3669
  %3677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3678 = call i32 @fileno(ptr noundef %3677) #10
  %3679 = call i32 @isatty(i32 noundef %3678) #10
  %.not500 = icmp eq i32 %3679, 0
  br i1 %.not500, label %3680, label %3681

3680:                                             ; preds = %3676, %3669
  br label %3681

3681:                                             ; preds = %3676, %3680
  %.str.4.sink1997 = phi ptr [ @.str.4, %3680 ], [ @.str, %3676 ]
  store i32 %3671, ptr %3670, align 4, !tbaa !5
  %3682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3683 = load i32, ptr @test_count, align 4, !tbaa !5
  %3684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3685 = load i32, ptr %3684, align 4, !tbaa !5
  %3686 = call ptr @s2n_strerror(i32 noundef %3685, ptr noundef nonnull @.str.3) #10
  %3687 = load i32, ptr %3684, align 4, !tbaa !5
  %3688 = call ptr @s2n_strerror_debug(i32 noundef %3687, ptr noundef nonnull @.str.3) #10
  %3689 = load i32, ptr %3670, align 4, !tbaa !5
  %3690 = call ptr @strerror(i32 noundef %3689) #10
  %3691 = load i32, ptr %3670, align 4, !tbaa !5
  %3692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3682, ptr noundef nonnull %.str.4.sink1997, i32 noundef %3683, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.2, i32 noundef 297, ptr noundef %3686, ptr noundef %3688, ptr noundef %3690, i32 noundef %3691) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3693:                                             ; preds = %3663
  %3694 = load i32, ptr @test_count, align 4, !tbaa !5
  %3695 = add nsw i32 %3694, 1
  store i32 %3695, ptr @test_count, align 4, !tbaa !5
  %3696 = load ptr, ptr %28, align 8, !tbaa !9
  %3697 = call i32 @s2n_config_set_client_auth_type(ptr noundef %3696, i32 noundef 2) #10
  %3698 = icmp eq i32 %3697, -1
  br i1 %3698, label %3699, label %3723

3699:                                             ; preds = %3693
  %3700 = tail call ptr @__errno_location() #11
  %3701 = load i32, ptr %3700, align 4, !tbaa !5
  %3702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3703 = call i32 @s2n_print_stacktrace(ptr noundef %3702) #10
  %3704 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3705 = trunc nuw i8 %3704 to i1
  br i1 %3705, label %3706, label %3710

3706:                                             ; preds = %3699
  %3707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3708 = call i32 @fileno(ptr noundef %3707) #10
  %3709 = call i32 @isatty(i32 noundef %3708) #10
  %.not499 = icmp eq i32 %3709, 0
  br i1 %.not499, label %3710, label %3711

3710:                                             ; preds = %3706, %3699
  br label %3711

3711:                                             ; preds = %3706, %3710
  %.str.4.sink2009 = phi ptr [ @.str.4, %3710 ], [ @.str, %3706 ]
  store i32 %3701, ptr %3700, align 4, !tbaa !5
  %3712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3713 = load i32, ptr @test_count, align 4, !tbaa !5
  %3714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3715 = load i32, ptr %3714, align 4, !tbaa !5
  %3716 = call ptr @s2n_strerror(i32 noundef %3715, ptr noundef nonnull @.str.3) #10
  %3717 = load i32, ptr %3714, align 4, !tbaa !5
  %3718 = call ptr @s2n_strerror_debug(i32 noundef %3717, ptr noundef nonnull @.str.3) #10
  %3719 = load i32, ptr %3700, align 4, !tbaa !5
  %3720 = call ptr @strerror(i32 noundef %3719) #10
  %3721 = load i32, ptr %3700, align 4, !tbaa !5
  %3722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3712, ptr noundef nonnull %.str.4.sink2009, i32 noundef %3713, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.2, i32 noundef 299, ptr noundef %3716, ptr noundef %3718, ptr noundef %3720, i32 noundef %3721) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3723:                                             ; preds = %3693
  %3724 = load i32, ptr @test_count, align 4, !tbaa !5
  %3725 = add nsw i32 %3724, 1
  store i32 %3725, ptr @test_count, align 4, !tbaa !5
  %3726 = load ptr, ptr %28, align 8, !tbaa !9
  %3727 = load ptr, ptr %13, align 8, !tbaa !9
  %3728 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %3726, ptr noundef %3727) #10
  %3729 = icmp eq i32 %3728, -1
  br i1 %3729, label %3730, label %3754

3730:                                             ; preds = %3723
  %3731 = tail call ptr @__errno_location() #11
  %3732 = load i32, ptr %3731, align 4, !tbaa !5
  %3733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3734 = call i32 @s2n_print_stacktrace(ptr noundef %3733) #10
  %3735 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3736 = trunc nuw i8 %3735 to i1
  br i1 %3736, label %3737, label %3741

3737:                                             ; preds = %3730
  %3738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3739 = call i32 @fileno(ptr noundef %3738) #10
  %3740 = call i32 @isatty(i32 noundef %3739) #10
  %.not498 = icmp eq i32 %3740, 0
  br i1 %.not498, label %3741, label %3742

3741:                                             ; preds = %3737, %3730
  br label %3742

3742:                                             ; preds = %3737, %3741
  %.str.4.sink2021 = phi ptr [ @.str.4, %3741 ], [ @.str, %3737 ]
  store i32 %3732, ptr %3731, align 4, !tbaa !5
  %3743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3744 = load i32, ptr @test_count, align 4, !tbaa !5
  %3745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3746 = load i32, ptr %3745, align 4, !tbaa !5
  %3747 = call ptr @s2n_strerror(i32 noundef %3746, ptr noundef nonnull @.str.3) #10
  %3748 = load i32, ptr %3745, align 4, !tbaa !5
  %3749 = call ptr @s2n_strerror_debug(i32 noundef %3748, ptr noundef nonnull @.str.3) #10
  %3750 = load i32, ptr %3731, align 4, !tbaa !5
  %3751 = call ptr @strerror(i32 noundef %3750) #10
  %3752 = load i32, ptr %3731, align 4, !tbaa !5
  %3753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3743, ptr noundef nonnull %.str.4.sink2021, i32 noundef %3744, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.2, i32 noundef 300, ptr noundef %3747, ptr noundef %3749, ptr noundef %3751, i32 noundef %3752) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3754:                                             ; preds = %3723
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #10
  %3755 = call ptr @s2n_config_new() #10
  store ptr %3755, ptr %29, align 8, !tbaa !9
  %3756 = load i32, ptr @test_count, align 4, !tbaa !5
  %3757 = add nsw i32 %3756, 1
  store i32 %3757, ptr @test_count, align 4, !tbaa !5
  %3758 = icmp eq ptr %3755, null
  br i1 %3758, label %3759, label %3783

3759:                                             ; preds = %3754
  %3760 = tail call ptr @__errno_location() #11
  %3761 = load i32, ptr %3760, align 4, !tbaa !5
  %3762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3763 = call i32 @s2n_print_stacktrace(ptr noundef %3762) #10
  %3764 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3765 = trunc nuw i8 %3764 to i1
  br i1 %3765, label %3766, label %3770

3766:                                             ; preds = %3759
  %3767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3768 = call i32 @fileno(ptr noundef %3767) #10
  %3769 = call i32 @isatty(i32 noundef %3768) #10
  %.not497 = icmp eq i32 %3769, 0
  br i1 %.not497, label %3770, label %3771

3770:                                             ; preds = %3766, %3759
  br label %3771

3771:                                             ; preds = %3766, %3770
  %.str.4.sink2033 = phi ptr [ @.str.4, %3770 ], [ @.str, %3766 ]
  store i32 %3761, ptr %3760, align 4, !tbaa !5
  %3772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3773 = load i32, ptr @test_count, align 4, !tbaa !5
  %3774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3775 = load i32, ptr %3774, align 4, !tbaa !5
  %3776 = call ptr @s2n_strerror(i32 noundef %3775, ptr noundef nonnull @.str.3) #10
  %3777 = load i32, ptr %3774, align 4, !tbaa !5
  %3778 = call ptr @s2n_strerror_debug(i32 noundef %3777, ptr noundef nonnull @.str.3) #10
  %3779 = load i32, ptr %3760, align 4, !tbaa !5
  %3780 = call ptr @strerror(i32 noundef %3779) #10
  %3781 = load i32, ptr %3760, align 4, !tbaa !5
  %3782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3772, ptr noundef nonnull %.str.4.sink2033, i32 noundef %3773, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.2, i32 noundef 303, ptr noundef %3776, ptr noundef %3778, ptr noundef %3780, i32 noundef %3781) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3783:                                             ; preds = %3754
  %3784 = add nsw i32 %3756, 2
  store i32 %3784, ptr @test_count, align 4, !tbaa !5
  %3785 = load ptr, ptr %13, align 8, !tbaa !9
  %3786 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %3755, ptr noundef %3785) #10
  %3787 = icmp eq i32 %3786, -1
  br i1 %3787, label %3788, label %3812

3788:                                             ; preds = %3783
  %3789 = tail call ptr @__errno_location() #11
  %3790 = load i32, ptr %3789, align 4, !tbaa !5
  %3791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3792 = call i32 @s2n_print_stacktrace(ptr noundef %3791) #10
  %3793 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3794 = trunc nuw i8 %3793 to i1
  br i1 %3794, label %3795, label %3799

3795:                                             ; preds = %3788
  %3796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3797 = call i32 @fileno(ptr noundef %3796) #10
  %3798 = call i32 @isatty(i32 noundef %3797) #10
  %.not496 = icmp eq i32 %3798, 0
  br i1 %.not496, label %3799, label %3800

3799:                                             ; preds = %3795, %3788
  br label %3800

3800:                                             ; preds = %3795, %3799
  %.str.4.sink2045 = phi ptr [ @.str.4, %3799 ], [ @.str, %3795 ]
  store i32 %3790, ptr %3789, align 4, !tbaa !5
  %3801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3802 = load i32, ptr @test_count, align 4, !tbaa !5
  %3803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3804 = load i32, ptr %3803, align 4, !tbaa !5
  %3805 = call ptr @s2n_strerror(i32 noundef %3804, ptr noundef nonnull @.str.3) #10
  %3806 = load i32, ptr %3803, align 4, !tbaa !5
  %3807 = call ptr @s2n_strerror_debug(i32 noundef %3806, ptr noundef nonnull @.str.3) #10
  %3808 = load i32, ptr %3789, align 4, !tbaa !5
  %3809 = call ptr @strerror(i32 noundef %3808) #10
  %3810 = load i32, ptr %3789, align 4, !tbaa !5
  %3811 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3801, ptr noundef nonnull %.str.4.sink2045, i32 noundef %3802, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.2, i32 noundef 304, ptr noundef %3805, ptr noundef %3807, ptr noundef %3809, i32 noundef %3810) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3812:                                             ; preds = %3783
  %3813 = load i32, ptr @test_count, align 4, !tbaa !5
  %3814 = add nsw i32 %3813, 1
  store i32 %3814, ptr @test_count, align 4, !tbaa !5
  %3815 = load ptr, ptr %29, align 8, !tbaa !9
  %3816 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %3815, ptr noundef nonnull @.str.53) #10
  %3817 = icmp eq i32 %3816, -1
  br i1 %3817, label %3818, label %3842

3818:                                             ; preds = %3812
  %3819 = tail call ptr @__errno_location() #11
  %3820 = load i32, ptr %3819, align 4, !tbaa !5
  %3821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3822 = call i32 @s2n_print_stacktrace(ptr noundef %3821) #10
  %3823 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3824 = trunc nuw i8 %3823 to i1
  br i1 %3824, label %3825, label %3829

3825:                                             ; preds = %3818
  %3826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3827 = call i32 @fileno(ptr noundef %3826) #10
  %3828 = call i32 @isatty(i32 noundef %3827) #10
  %.not495 = icmp eq i32 %3828, 0
  br i1 %.not495, label %3829, label %3830

3829:                                             ; preds = %3825, %3818
  br label %3830

3830:                                             ; preds = %3825, %3829
  %.str.4.sink2057 = phi ptr [ @.str.4, %3829 ], [ @.str, %3825 ]
  store i32 %3820, ptr %3819, align 4, !tbaa !5
  %3831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3832 = load i32, ptr @test_count, align 4, !tbaa !5
  %3833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3834 = load i32, ptr %3833, align 4, !tbaa !5
  %3835 = call ptr @s2n_strerror(i32 noundef %3834, ptr noundef nonnull @.str.3) #10
  %3836 = load i32, ptr %3833, align 4, !tbaa !5
  %3837 = call ptr @s2n_strerror_debug(i32 noundef %3836, ptr noundef nonnull @.str.3) #10
  %3838 = load i32, ptr %3819, align 4, !tbaa !5
  %3839 = call ptr @strerror(i32 noundef %3838) #10
  %3840 = load i32, ptr %3819, align 4, !tbaa !5
  %3841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3831, ptr noundef nonnull %.str.4.sink2057, i32 noundef %3832, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.2, i32 noundef 305, ptr noundef %3835, ptr noundef %3837, ptr noundef %3839, i32 noundef %3840) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3842:                                             ; preds = %3812
  %3843 = load i32, ptr @test_count, align 4, !tbaa !5
  %3844 = add nsw i32 %3843, 1
  store i32 %3844, ptr @test_count, align 4, !tbaa !5
  %3845 = load ptr, ptr %29, align 8, !tbaa !9
  %3846 = call i32 @s2n_config_set_status_request_type(ptr noundef %3845, i32 noundef 1) #10
  %3847 = icmp eq i32 %3846, -1
  br i1 %3847, label %3848, label %3872

3848:                                             ; preds = %3842
  %3849 = tail call ptr @__errno_location() #11
  %3850 = load i32, ptr %3849, align 4, !tbaa !5
  %3851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3852 = call i32 @s2n_print_stacktrace(ptr noundef %3851) #10
  %3853 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3854 = trunc nuw i8 %3853 to i1
  br i1 %3854, label %3855, label %3859

3855:                                             ; preds = %3848
  %3856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3857 = call i32 @fileno(ptr noundef %3856) #10
  %3858 = call i32 @isatty(i32 noundef %3857) #10
  %.not494 = icmp eq i32 %3858, 0
  br i1 %.not494, label %3859, label %3860

3859:                                             ; preds = %3855, %3848
  br label %3860

3860:                                             ; preds = %3855, %3859
  %.str.4.sink2069 = phi ptr [ @.str.4, %3859 ], [ @.str, %3855 ]
  store i32 %3850, ptr %3849, align 4, !tbaa !5
  %3861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3862 = load i32, ptr @test_count, align 4, !tbaa !5
  %3863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3864 = load i32, ptr %3863, align 4, !tbaa !5
  %3865 = call ptr @s2n_strerror(i32 noundef %3864, ptr noundef nonnull @.str.3) #10
  %3866 = load i32, ptr %3863, align 4, !tbaa !5
  %3867 = call ptr @s2n_strerror_debug(i32 noundef %3866, ptr noundef nonnull @.str.3) #10
  %3868 = load i32, ptr %3849, align 4, !tbaa !5
  %3869 = call ptr @strerror(i32 noundef %3868) #10
  %3870 = load i32, ptr %3849, align 4, !tbaa !5
  %3871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3861, ptr noundef nonnull %.str.4.sink2069, i32 noundef %3862, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.2, i32 noundef 306, ptr noundef %3865, ptr noundef %3867, ptr noundef %3869, i32 noundef %3870) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3872:                                             ; preds = %3842
  %3873 = load i32, ptr @test_count, align 4, !tbaa !5
  %3874 = add nsw i32 %3873, 1
  store i32 %3874, ptr @test_count, align 4, !tbaa !5
  %3875 = load ptr, ptr %29, align 8, !tbaa !9
  %3876 = call i32 @s2n_config_set_client_auth_type(ptr noundef %3875, i32 noundef 1) #10
  %3877 = icmp eq i32 %3876, -1
  br i1 %3877, label %3878, label %3902

3878:                                             ; preds = %3872
  %3879 = tail call ptr @__errno_location() #11
  %3880 = load i32, ptr %3879, align 4, !tbaa !5
  %3881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3882 = call i32 @s2n_print_stacktrace(ptr noundef %3881) #10
  %3883 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3884 = trunc nuw i8 %3883 to i1
  br i1 %3884, label %3885, label %3889

3885:                                             ; preds = %3878
  %3886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3887 = call i32 @fileno(ptr noundef %3886) #10
  %3888 = call i32 @isatty(i32 noundef %3887) #10
  %.not493 = icmp eq i32 %3888, 0
  br i1 %.not493, label %3889, label %3890

3889:                                             ; preds = %3885, %3878
  br label %3890

3890:                                             ; preds = %3885, %3889
  %.str.4.sink2081 = phi ptr [ @.str.4, %3889 ], [ @.str, %3885 ]
  store i32 %3880, ptr %3879, align 4, !tbaa !5
  %3891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3892 = load i32, ptr @test_count, align 4, !tbaa !5
  %3893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3894 = load i32, ptr %3893, align 4, !tbaa !5
  %3895 = call ptr @s2n_strerror(i32 noundef %3894, ptr noundef nonnull @.str.3) #10
  %3896 = load i32, ptr %3893, align 4, !tbaa !5
  %3897 = call ptr @s2n_strerror_debug(i32 noundef %3896, ptr noundef nonnull @.str.3) #10
  %3898 = load i32, ptr %3879, align 4, !tbaa !5
  %3899 = call ptr @strerror(i32 noundef %3898) #10
  %3900 = load i32, ptr %3879, align 4, !tbaa !5
  %3901 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3891, ptr noundef nonnull %.str.4.sink2081, i32 noundef %3892, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.2, i32 noundef 308, ptr noundef %3895, ptr noundef %3897, ptr noundef %3899, i32 noundef %3900) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3902:                                             ; preds = %3872
  %3903 = load i32, ptr @test_count, align 4, !tbaa !5
  %3904 = add nsw i32 %3903, 1
  store i32 %3904, ptr @test_count, align 4, !tbaa !5
  %3905 = load ptr, ptr %29, align 8, !tbaa !9
  %3906 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %3905, ptr noundef nonnull @.str.51, ptr noundef null) #10
  %3907 = icmp eq i32 %3906, -1
  br i1 %3907, label %3908, label %3932

3908:                                             ; preds = %3902
  %3909 = tail call ptr @__errno_location() #11
  %3910 = load i32, ptr %3909, align 4, !tbaa !5
  %3911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3912 = call i32 @s2n_print_stacktrace(ptr noundef %3911) #10
  %3913 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3914 = trunc nuw i8 %3913 to i1
  br i1 %3914, label %3915, label %3919

3915:                                             ; preds = %3908
  %3916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3917 = call i32 @fileno(ptr noundef %3916) #10
  %3918 = call i32 @isatty(i32 noundef %3917) #10
  %.not492 = icmp eq i32 %3918, 0
  br i1 %.not492, label %3919, label %3920

3919:                                             ; preds = %3915, %3908
  br label %3920

3920:                                             ; preds = %3915, %3919
  %.str.4.sink2093 = phi ptr [ @.str.4, %3919 ], [ @.str, %3915 ]
  store i32 %3910, ptr %3909, align 4, !tbaa !5
  %3921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3922 = load i32, ptr @test_count, align 4, !tbaa !5
  %3923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3924 = load i32, ptr %3923, align 4, !tbaa !5
  %3925 = call ptr @s2n_strerror(i32 noundef %3924, ptr noundef nonnull @.str.3) #10
  %3926 = load i32, ptr %3923, align 4, !tbaa !5
  %3927 = call ptr @s2n_strerror_debug(i32 noundef %3926, ptr noundef nonnull @.str.3) #10
  %3928 = load i32, ptr %3909, align 4, !tbaa !5
  %3929 = call ptr @strerror(i32 noundef %3928) #10
  %3930 = load i32, ptr %3909, align 4, !tbaa !5
  %3931 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3921, ptr noundef nonnull %.str.4.sink2093, i32 noundef %3922, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.2, i32 noundef 309, ptr noundef %3925, ptr noundef %3927, ptr noundef %3929, i32 noundef %3930) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3932:                                             ; preds = %3902
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #10
  %3933 = call ptr @s2n_connection_new(i32 noundef 0) #10
  store ptr %3933, ptr %30, align 8, !tbaa !9
  %3934 = load i32, ptr @test_count, align 4, !tbaa !5
  %3935 = add nsw i32 %3934, 1
  store i32 %3935, ptr @test_count, align 4, !tbaa !5
  %3936 = icmp eq ptr %3933, null
  br i1 %3936, label %3937, label %3961

3937:                                             ; preds = %3932
  %3938 = tail call ptr @__errno_location() #11
  %3939 = load i32, ptr %3938, align 4, !tbaa !5
  %3940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3941 = call i32 @s2n_print_stacktrace(ptr noundef %3940) #10
  %3942 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3943 = trunc nuw i8 %3942 to i1
  br i1 %3943, label %3944, label %3948

3944:                                             ; preds = %3937
  %3945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3946 = call i32 @fileno(ptr noundef %3945) #10
  %3947 = call i32 @isatty(i32 noundef %3946) #10
  %.not491 = icmp eq i32 %3947, 0
  br i1 %.not491, label %3948, label %3949

3948:                                             ; preds = %3944, %3937
  br label %3949

3949:                                             ; preds = %3944, %3948
  %.str.4.sink2105 = phi ptr [ @.str.4, %3948 ], [ @.str, %3944 ]
  store i32 %3939, ptr %3938, align 4, !tbaa !5
  %3950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3951 = load i32, ptr @test_count, align 4, !tbaa !5
  %3952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3953 = load i32, ptr %3952, align 4, !tbaa !5
  %3954 = call ptr @s2n_strerror(i32 noundef %3953, ptr noundef nonnull @.str.3) #10
  %3955 = load i32, ptr %3952, align 4, !tbaa !5
  %3956 = call ptr @s2n_strerror_debug(i32 noundef %3955, ptr noundef nonnull @.str.3) #10
  %3957 = load i32, ptr %3938, align 4, !tbaa !5
  %3958 = call ptr @strerror(i32 noundef %3957) #10
  %3959 = load i32, ptr %3938, align 4, !tbaa !5
  %3960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3950, ptr noundef nonnull %.str.4.sink2105, i32 noundef %3951, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.2, i32 noundef 312, ptr noundef %3954, ptr noundef %3956, ptr noundef %3958, i32 noundef %3959) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3961:                                             ; preds = %3932
  %3962 = add nsw i32 %3934, 2
  store i32 %3962, ptr @test_count, align 4, !tbaa !5
  %3963 = load ptr, ptr %29, align 8, !tbaa !9
  %3964 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3933, ptr noundef %3963) #10
  %3965 = icmp eq i32 %3964, -1
  br i1 %3965, label %3966, label %3990

3966:                                             ; preds = %3961
  %3967 = tail call ptr @__errno_location() #11
  %3968 = load i32, ptr %3967, align 4, !tbaa !5
  %3969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3970 = call i32 @s2n_print_stacktrace(ptr noundef %3969) #10
  %3971 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3972 = trunc nuw i8 %3971 to i1
  br i1 %3972, label %3973, label %3977

3973:                                             ; preds = %3966
  %3974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3975 = call i32 @fileno(ptr noundef %3974) #10
  %3976 = call i32 @isatty(i32 noundef %3975) #10
  %.not490 = icmp eq i32 %3976, 0
  br i1 %.not490, label %3977, label %3978

3977:                                             ; preds = %3973, %3966
  br label %3978

3978:                                             ; preds = %3973, %3977
  %.str.4.sink2117 = phi ptr [ @.str.4, %3977 ], [ @.str, %3973 ]
  store i32 %3968, ptr %3967, align 4, !tbaa !5
  %3979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3980 = load i32, ptr @test_count, align 4, !tbaa !5
  %3981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3982 = load i32, ptr %3981, align 4, !tbaa !5
  %3983 = call ptr @s2n_strerror(i32 noundef %3982, ptr noundef nonnull @.str.3) #10
  %3984 = load i32, ptr %3981, align 4, !tbaa !5
  %3985 = call ptr @s2n_strerror_debug(i32 noundef %3984, ptr noundef nonnull @.str.3) #10
  %3986 = load i32, ptr %3967, align 4, !tbaa !5
  %3987 = call ptr @strerror(i32 noundef %3986) #10
  %3988 = load i32, ptr %3967, align 4, !tbaa !5
  %3989 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3979, ptr noundef nonnull %.str.4.sink2117, i32 noundef %3980, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.2, i32 noundef 313, ptr noundef %3983, ptr noundef %3985, ptr noundef %3987, i32 noundef %3988) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3990:                                             ; preds = %3961
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #10
  %3991 = call ptr @s2n_connection_new(i32 noundef 1) #10
  store ptr %3991, ptr %31, align 8, !tbaa !9
  %3992 = load i32, ptr @test_count, align 4, !tbaa !5
  %3993 = add nsw i32 %3992, 1
  store i32 %3993, ptr @test_count, align 4, !tbaa !5
  %3994 = icmp eq ptr %3991, null
  br i1 %3994, label %3995, label %4019

3995:                                             ; preds = %3990
  %3996 = tail call ptr @__errno_location() #11
  %3997 = load i32, ptr %3996, align 4, !tbaa !5
  %3998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3999 = call i32 @s2n_print_stacktrace(ptr noundef %3998) #10
  %4000 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4001 = trunc nuw i8 %4000 to i1
  br i1 %4001, label %4002, label %4006

4002:                                             ; preds = %3995
  %4003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4004 = call i32 @fileno(ptr noundef %4003) #10
  %4005 = call i32 @isatty(i32 noundef %4004) #10
  %.not489 = icmp eq i32 %4005, 0
  br i1 %.not489, label %4006, label %4007

4006:                                             ; preds = %4002, %3995
  br label %4007

4007:                                             ; preds = %4002, %4006
  %.str.4.sink2129 = phi ptr [ @.str.4, %4006 ], [ @.str, %4002 ]
  store i32 %3997, ptr %3996, align 4, !tbaa !5
  %4008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4009 = load i32, ptr @test_count, align 4, !tbaa !5
  %4010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4011 = load i32, ptr %4010, align 4, !tbaa !5
  %4012 = call ptr @s2n_strerror(i32 noundef %4011, ptr noundef nonnull @.str.3) #10
  %4013 = load i32, ptr %4010, align 4, !tbaa !5
  %4014 = call ptr @s2n_strerror_debug(i32 noundef %4013, ptr noundef nonnull @.str.3) #10
  %4015 = load i32, ptr %3996, align 4, !tbaa !5
  %4016 = call ptr @strerror(i32 noundef %4015) #10
  %4017 = load i32, ptr %3996, align 4, !tbaa !5
  %4018 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4008, ptr noundef nonnull %.str.4.sink2129, i32 noundef %4009, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.2, i32 noundef 316, ptr noundef %4012, ptr noundef %4014, ptr noundef %4016, i32 noundef %4017) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4019:                                             ; preds = %3990
  %4020 = add nsw i32 %3992, 2
  store i32 %4020, ptr @test_count, align 4, !tbaa !5
  %4021 = load ptr, ptr %28, align 8, !tbaa !9
  %4022 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3991, ptr noundef %4021) #10
  %4023 = icmp eq i32 %4022, -1
  br i1 %4023, label %4024, label %4048

4024:                                             ; preds = %4019
  %4025 = tail call ptr @__errno_location() #11
  %4026 = load i32, ptr %4025, align 4, !tbaa !5
  %4027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4028 = call i32 @s2n_print_stacktrace(ptr noundef %4027) #10
  %4029 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4030 = trunc nuw i8 %4029 to i1
  br i1 %4030, label %4031, label %4035

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

4035:                                             ; preds = %4031, %4024
  br label %4036

4036:                                             ; preds = %4031, %4035
  %.str.4.sink2141 = phi ptr [ @.str.4, %4035 ], [ @.str, %4031 ]
  store i32 %4026, ptr %4025, align 4, !tbaa !5
  %4037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4038 = load i32, ptr @test_count, align 4, !tbaa !5
  %4039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4040 = load i32, ptr %4039, align 4, !tbaa !5
  %4041 = call ptr @s2n_strerror(i32 noundef %4040, ptr noundef nonnull @.str.3) #10
  %4042 = load i32, ptr %4039, align 4, !tbaa !5
  %4043 = call ptr @s2n_strerror_debug(i32 noundef %4042, ptr noundef nonnull @.str.3) #10
  %4044 = load i32, ptr %4025, align 4, !tbaa !5
  %4045 = call ptr @strerror(i32 noundef %4044) #10
  %4046 = load i32, ptr %4025, align 4, !tbaa !5
  %4047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4037, ptr noundef nonnull %.str.4.sink2141, i32 noundef %4038, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.2, i32 noundef 317, ptr noundef %4041, ptr noundef %4043, ptr noundef %4045, i32 noundef %4046) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4048:                                             ; preds = %4019
  %4049 = load i32, ptr @test_count, align 4, !tbaa !5
  %4050 = add nsw i32 %4049, 1
  store i32 %4050, ptr @test_count, align 4, !tbaa !5
  %4051 = load ptr, ptr %31, align 8, !tbaa !9
  %4052 = call i32 @s2n_set_server_name(ptr noundef %4051, ptr noundef nonnull @.str.63) #10
  %4053 = icmp eq i32 %4052, -1
  br i1 %4053, label %4054, label %4078

4054:                                             ; preds = %4048
  %4055 = tail call ptr @__errno_location() #11
  %4056 = load i32, ptr %4055, align 4, !tbaa !5
  %4057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4058 = call i32 @s2n_print_stacktrace(ptr noundef %4057) #10
  %4059 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4060 = trunc nuw i8 %4059 to i1
  br i1 %4060, label %4061, label %4065

4061:                                             ; preds = %4054
  %4062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4063 = call i32 @fileno(ptr noundef %4062) #10
  %4064 = call i32 @isatty(i32 noundef %4063) #10
  %.not487 = icmp eq i32 %4064, 0
  br i1 %.not487, label %4065, label %4066

4065:                                             ; preds = %4061, %4054
  br label %4066

4066:                                             ; preds = %4061, %4065
  %.str.4.sink2153 = phi ptr [ @.str.4, %4065 ], [ @.str, %4061 ]
  store i32 %4056, ptr %4055, align 4, !tbaa !5
  %4067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4068 = load i32, ptr @test_count, align 4, !tbaa !5
  %4069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4070 = load i32, ptr %4069, align 4, !tbaa !5
  %4071 = call ptr @s2n_strerror(i32 noundef %4070, ptr noundef nonnull @.str.3) #10
  %4072 = load i32, ptr %4069, align 4, !tbaa !5
  %4073 = call ptr @s2n_strerror_debug(i32 noundef %4072, ptr noundef nonnull @.str.3) #10
  %4074 = load i32, ptr %4055, align 4, !tbaa !5
  %4075 = call ptr @strerror(i32 noundef %4074) #10
  %4076 = load i32, ptr %4055, align 4, !tbaa !5
  %4077 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4067, ptr noundef nonnull %.str.4.sink2153, i32 noundef %4068, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.2, i32 noundef 318, ptr noundef %4071, ptr noundef %4073, ptr noundef %4075, i32 noundef %4076) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4078:                                             ; preds = %4048
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #10
  store i64 0, ptr %32, align 8
  %4079 = load i32, ptr @test_count, align 4, !tbaa !5
  %4080 = add nsw i32 %4079, 1
  store i32 %4080, ptr @test_count, align 4, !tbaa !5
  %4081 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %32) #10
  %4082 = icmp eq i32 %4081, -1
  br i1 %4082, label %4083, label %4107

4083:                                             ; preds = %4078
  %4084 = tail call ptr @__errno_location() #11
  %4085 = load i32, ptr %4084, align 4, !tbaa !5
  %4086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4087 = call i32 @s2n_print_stacktrace(ptr noundef %4086) #10
  %4088 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4089 = trunc nuw i8 %4088 to i1
  br i1 %4089, label %4090, label %4094

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
  %.not486 = icmp eq i32 %4093, 0
  br i1 %.not486, label %4094, label %4095

4094:                                             ; preds = %4090, %4083
  br label %4095

4095:                                             ; preds = %4090, %4094
  %.str.4.sink2165 = phi ptr [ @.str.4, %4094 ], [ @.str, %4090 ]
  store i32 %4085, ptr %4084, align 4, !tbaa !5
  %4096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4097 = load i32, ptr @test_count, align 4, !tbaa !5
  %4098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4099 = load i32, ptr %4098, align 4, !tbaa !5
  %4100 = call ptr @s2n_strerror(i32 noundef %4099, ptr noundef nonnull @.str.3) #10
  %4101 = load i32, ptr %4098, align 4, !tbaa !5
  %4102 = call ptr @s2n_strerror_debug(i32 noundef %4101, ptr noundef nonnull @.str.3) #10
  %4103 = load i32, ptr %4084, align 4, !tbaa !5
  %4104 = call ptr @strerror(i32 noundef %4103) #10
  %4105 = load i32, ptr %4084, align 4, !tbaa !5
  %4106 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4096, ptr noundef nonnull %.str.4.sink2165, i32 noundef %4097, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.2, i32 noundef 321, ptr noundef %4100, ptr noundef %4102, ptr noundef %4104, i32 noundef %4105) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4107:                                             ; preds = %4078
  %4108 = load i32, ptr @test_count, align 4, !tbaa !5
  %4109 = add nsw i32 %4108, 1
  store i32 %4109, ptr @test_count, align 4, !tbaa !5
  %4110 = load ptr, ptr %31, align 8, !tbaa !9
  %4111 = call i32 @s2n_connection_set_io_pair(ptr noundef %4110, ptr noundef nonnull %32) #10
  %4112 = icmp eq i32 %4111, -1
  br i1 %4112, label %4113, label %4137

4113:                                             ; preds = %4107
  %4114 = tail call ptr @__errno_location() #11
  %4115 = load i32, ptr %4114, align 4, !tbaa !5
  %4116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4117 = call i32 @s2n_print_stacktrace(ptr noundef %4116) #10
  %4118 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4119 = trunc nuw i8 %4118 to i1
  br i1 %4119, label %4120, label %4124

4120:                                             ; preds = %4113
  %4121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4122 = call i32 @fileno(ptr noundef %4121) #10
  %4123 = call i32 @isatty(i32 noundef %4122) #10
  %.not485 = icmp eq i32 %4123, 0
  br i1 %.not485, label %4124, label %4125

4124:                                             ; preds = %4120, %4113
  br label %4125

4125:                                             ; preds = %4120, %4124
  %.str.4.sink2177 = phi ptr [ @.str.4, %4124 ], [ @.str, %4120 ]
  store i32 %4115, ptr %4114, align 4, !tbaa !5
  %4126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4127 = load i32, ptr @test_count, align 4, !tbaa !5
  %4128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4129 = load i32, ptr %4128, align 4, !tbaa !5
  %4130 = call ptr @s2n_strerror(i32 noundef %4129, ptr noundef nonnull @.str.3) #10
  %4131 = load i32, ptr %4128, align 4, !tbaa !5
  %4132 = call ptr @s2n_strerror_debug(i32 noundef %4131, ptr noundef nonnull @.str.3) #10
  %4133 = load i32, ptr %4114, align 4, !tbaa !5
  %4134 = call ptr @strerror(i32 noundef %4133) #10
  %4135 = load i32, ptr %4114, align 4, !tbaa !5
  %4136 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4126, ptr noundef nonnull %.str.4.sink2177, i32 noundef %4127, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.2, i32 noundef 322, ptr noundef %4130, ptr noundef %4132, ptr noundef %4134, i32 noundef %4135) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4137:                                             ; preds = %4107
  %4138 = load i32, ptr @test_count, align 4, !tbaa !5
  %4139 = add nsw i32 %4138, 1
  store i32 %4139, ptr @test_count, align 4, !tbaa !5
  %4140 = load ptr, ptr %30, align 8, !tbaa !9
  %4141 = call i32 @s2n_connection_set_io_pair(ptr noundef %4140, ptr noundef nonnull %32) #10
  %4142 = icmp eq i32 %4141, -1
  br i1 %4142, label %4143, label %4167

4143:                                             ; preds = %4137
  %4144 = tail call ptr @__errno_location() #11
  %4145 = load i32, ptr %4144, align 4, !tbaa !5
  %4146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4147 = call i32 @s2n_print_stacktrace(ptr noundef %4146) #10
  %4148 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4149 = trunc nuw i8 %4148 to i1
  br i1 %4149, label %4150, label %4154

4150:                                             ; preds = %4143
  %4151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4152 = call i32 @fileno(ptr noundef %4151) #10
  %4153 = call i32 @isatty(i32 noundef %4152) #10
  %.not484 = icmp eq i32 %4153, 0
  br i1 %.not484, label %4154, label %4155

4154:                                             ; preds = %4150, %4143
  br label %4155

4155:                                             ; preds = %4150, %4154
  %.str.4.sink2189 = phi ptr [ @.str.4, %4154 ], [ @.str, %4150 ]
  store i32 %4145, ptr %4144, align 4, !tbaa !5
  %4156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4157 = load i32, ptr @test_count, align 4, !tbaa !5
  %4158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4159 = load i32, ptr %4158, align 4, !tbaa !5
  %4160 = call ptr @s2n_strerror(i32 noundef %4159, ptr noundef nonnull @.str.3) #10
  %4161 = load i32, ptr %4158, align 4, !tbaa !5
  %4162 = call ptr @s2n_strerror_debug(i32 noundef %4161, ptr noundef nonnull @.str.3) #10
  %4163 = load i32, ptr %4144, align 4, !tbaa !5
  %4164 = call ptr @strerror(i32 noundef %4163) #10
  %4165 = load i32, ptr %4144, align 4, !tbaa !5
  %4166 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4156, ptr noundef nonnull %.str.4.sink2189, i32 noundef %4157, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.2, i32 noundef 323, ptr noundef %4160, ptr noundef %4162, ptr noundef %4164, i32 noundef %4165) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4167:                                             ; preds = %4137
  %4168 = load i32, ptr @test_count, align 4, !tbaa !5
  %4169 = add nsw i32 %4168, 1
  store i32 %4169, ptr @test_count, align 4, !tbaa !5
  %4170 = load ptr, ptr %30, align 8, !tbaa !9
  %4171 = load ptr, ptr %31, align 8, !tbaa !9
  %4172 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %4170, ptr noundef %4171) #10
  %4173 = icmp eq i32 %4172, -1
  br i1 %4173, label %4174, label %4198

4174:                                             ; preds = %4167
  %4175 = tail call ptr @__errno_location() #11
  %4176 = load i32, ptr %4175, align 4, !tbaa !5
  %4177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4178 = call i32 @s2n_print_stacktrace(ptr noundef %4177) #10
  %4179 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4180 = trunc nuw i8 %4179 to i1
  br i1 %4180, label %4181, label %4185

4181:                                             ; preds = %4174
  %4182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4183 = call i32 @fileno(ptr noundef %4182) #10
  %4184 = call i32 @isatty(i32 noundef %4183) #10
  %.not483 = icmp eq i32 %4184, 0
  br i1 %.not483, label %4185, label %4186

4185:                                             ; preds = %4181, %4174
  br label %4186

4186:                                             ; preds = %4181, %4185
  %.str.4.sink2201 = phi ptr [ @.str.4, %4185 ], [ @.str, %4181 ]
  store i32 %4176, ptr %4175, align 4, !tbaa !5
  %4187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4188 = load i32, ptr @test_count, align 4, !tbaa !5
  %4189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4190 = load i32, ptr %4189, align 4, !tbaa !5
  %4191 = call ptr @s2n_strerror(i32 noundef %4190, ptr noundef nonnull @.str.3) #10
  %4192 = load i32, ptr %4189, align 4, !tbaa !5
  %4193 = call ptr @s2n_strerror_debug(i32 noundef %4192, ptr noundef nonnull @.str.3) #10
  %4194 = load i32, ptr %4175, align 4, !tbaa !5
  %4195 = call ptr @strerror(i32 noundef %4194) #10
  %4196 = load i32, ptr %4175, align 4, !tbaa !5
  %4197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4187, ptr noundef nonnull %.str.4.sink2201, i32 noundef %4188, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.2, i32 noundef 325, ptr noundef %4191, ptr noundef %4193, ptr noundef %4195, i32 noundef %4196) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4198:                                             ; preds = %4167
  %4199 = load i32, ptr @test_count, align 4, !tbaa !5
  %4200 = add nsw i32 %4199, 1
  store i32 %4200, ptr @test_count, align 4, !tbaa !5
  %4201 = load ptr, ptr %30, align 8, !tbaa !9
  %4202 = getelementptr inbounds i8, ptr %4201, i64 220
  %4203 = load i8, ptr %4202, align 4, !tbaa !52
  %4204 = icmp eq i8 %4203, 34
  br i1 %4204, label %4229, label %4205

4205:                                             ; preds = %4198
  %4206 = tail call ptr @__errno_location() #11
  %4207 = load i32, ptr %4206, align 4, !tbaa !5
  %4208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4209 = call i32 @s2n_print_stacktrace(ptr noundef %4208) #10
  %4210 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4211 = trunc nuw i8 %4210 to i1
  br i1 %4211, label %4212, label %4216

4212:                                             ; preds = %4205
  %4213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4214 = call i32 @fileno(ptr noundef %4213) #10
  %4215 = call i32 @isatty(i32 noundef %4214) #10
  %.not450 = icmp eq i32 %4215, 0
  br i1 %.not450, label %4216, label %4217

4216:                                             ; preds = %4212, %4205
  br label %4217

4217:                                             ; preds = %4212, %4216
  %.str.4.sink2213 = phi ptr [ @.str.4, %4216 ], [ @.str, %4212 ]
  store i32 %4207, ptr %4206, align 4, !tbaa !5
  %4218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4219 = load i32, ptr @test_count, align 4, !tbaa !5
  %4220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4221 = load i32, ptr %4220, align 4, !tbaa !5
  %4222 = call ptr @s2n_strerror(i32 noundef %4221, ptr noundef nonnull @.str.3) #10
  %4223 = load i32, ptr %4220, align 4, !tbaa !5
  %4224 = call ptr @s2n_strerror_debug(i32 noundef %4223, ptr noundef nonnull @.str.3) #10
  %4225 = load i32, ptr %4206, align 4, !tbaa !5
  %4226 = call ptr @strerror(i32 noundef %4225) #10
  %4227 = load i32, ptr %4206, align 4, !tbaa !5
  %4228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4218, ptr noundef nonnull %.str.4.sink2213, i32 noundef %4219, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.2, i32 noundef 327, ptr noundef %4222, ptr noundef %4224, ptr noundef %4226, i32 noundef %4227) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4229:                                             ; preds = %4198
  %4230 = add nsw i32 %4199, 2
  store i32 %4230, ptr @test_count, align 4, !tbaa !5
  %4231 = load ptr, ptr %31, align 8, !tbaa !9
  %4232 = getelementptr inbounds i8, ptr %4231, i64 220
  %4233 = load i8, ptr %4232, align 4, !tbaa !52
  %4234 = icmp eq i8 %4233, 34
  br i1 %4234, label %4259, label %4235

4235:                                             ; preds = %4229
  %4236 = tail call ptr @__errno_location() #11
  %4237 = load i32, ptr %4236, align 4, !tbaa !5
  %4238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4239 = call i32 @s2n_print_stacktrace(ptr noundef %4238) #10
  %4240 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4241 = trunc nuw i8 %4240 to i1
  br i1 %4241, label %4242, label %4246

4242:                                             ; preds = %4235
  %4243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4244 = call i32 @fileno(ptr noundef %4243) #10
  %4245 = call i32 @isatty(i32 noundef %4244) #10
  %.not451 = icmp eq i32 %4245, 0
  br i1 %.not451, label %4246, label %4247

4246:                                             ; preds = %4242, %4235
  br label %4247

4247:                                             ; preds = %4242, %4246
  %.str.4.sink2225 = phi ptr [ @.str.4, %4246 ], [ @.str, %4242 ]
  store i32 %4237, ptr %4236, align 4, !tbaa !5
  %4248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4249 = load i32, ptr @test_count, align 4, !tbaa !5
  %4250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4251 = load i32, ptr %4250, align 4, !tbaa !5
  %4252 = call ptr @s2n_strerror(i32 noundef %4251, ptr noundef nonnull @.str.3) #10
  %4253 = load i32, ptr %4250, align 4, !tbaa !5
  %4254 = call ptr @s2n_strerror_debug(i32 noundef %4253, ptr noundef nonnull @.str.3) #10
  %4255 = load i32, ptr %4236, align 4, !tbaa !5
  %4256 = call ptr @strerror(i32 noundef %4255) #10
  %4257 = load i32, ptr %4236, align 4, !tbaa !5
  %4258 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4248, ptr noundef nonnull %.str.4.sink2225, i32 noundef %4249, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.2, i32 noundef 328, ptr noundef %4252, ptr noundef %4254, ptr noundef %4256, i32 noundef %4257) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4259:                                             ; preds = %4229
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %33) #10
  store i32 0, ptr %33, align 4, !tbaa !5
  %4260 = call ptr @s2n_connection_get_ocsp_response(ptr noundef nonnull %4231, ptr noundef nonnull %33) #10
  %4261 = load i32, ptr @test_count, align 4, !tbaa !5
  %4262 = add nsw i32 %4261, 1
  store i32 %4262, ptr @test_count, align 4, !tbaa !5
  %4263 = icmp eq ptr %4260, null
  br i1 %4263, label %4264, label %4288

4264:                                             ; preds = %4259
  %4265 = tail call ptr @__errno_location() #11
  %4266 = load i32, ptr %4265, align 4, !tbaa !5
  %4267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4268 = call i32 @s2n_print_stacktrace(ptr noundef %4267) #10
  %4269 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4270 = trunc nuw i8 %4269 to i1
  br i1 %4270, label %4271, label %4275

4271:                                             ; preds = %4264
  %4272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4273 = call i32 @fileno(ptr noundef %4272) #10
  %4274 = call i32 @isatty(i32 noundef %4273) #10
  %.not482 = icmp eq i32 %4274, 0
  br i1 %.not482, label %4275, label %4276

4275:                                             ; preds = %4271, %4264
  br label %4276

4276:                                             ; preds = %4271, %4275
  %.str.4.sink2237 = phi ptr [ @.str.4, %4275 ], [ @.str, %4271 ]
  store i32 %4266, ptr %4265, align 4, !tbaa !5
  %4277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4278 = load i32, ptr @test_count, align 4, !tbaa !5
  %4279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4280 = load i32, ptr %4279, align 4, !tbaa !5
  %4281 = call ptr @s2n_strerror(i32 noundef %4280, ptr noundef nonnull @.str.3) #10
  %4282 = load i32, ptr %4279, align 4, !tbaa !5
  %4283 = call ptr @s2n_strerror_debug(i32 noundef %4282, ptr noundef nonnull @.str.3) #10
  %4284 = load i32, ptr %4265, align 4, !tbaa !5
  %4285 = call ptr @strerror(i32 noundef %4284) #10
  %4286 = load i32, ptr %4265, align 4, !tbaa !5
  %4287 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4277, ptr noundef nonnull %.str.4.sink2237, i32 noundef %4278, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.2, i32 noundef 333, ptr noundef %4281, ptr noundef %4283, ptr noundef %4285, i32 noundef %4286) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4288:                                             ; preds = %4259
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %34) #10
  store i32 0, ptr %34, align 4, !tbaa !5
  %4289 = load ptr, ptr %30, align 8, !tbaa !9
  %4290 = call ptr @s2n_connection_get_ocsp_response(ptr noundef %4289, ptr noundef nonnull %34) #10
  %4291 = load i32, ptr @test_count, align 4, !tbaa !5
  %4292 = add nsw i32 %4291, 1
  store i32 %4292, ptr @test_count, align 4, !tbaa !5
  %4293 = icmp eq ptr %4290, null
  br i1 %4293, label %4294, label %4318

4294:                                             ; preds = %4288
  %4295 = tail call ptr @__errno_location() #11
  %4296 = load i32, ptr %4295, align 4, !tbaa !5
  %4297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4298 = call i32 @s2n_print_stacktrace(ptr noundef %4297) #10
  %4299 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4300 = trunc nuw i8 %4299 to i1
  br i1 %4300, label %4301, label %4305

4301:                                             ; preds = %4294
  %4302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4303 = call i32 @fileno(ptr noundef %4302) #10
  %4304 = call i32 @isatty(i32 noundef %4303) #10
  %.not481 = icmp eq i32 %4304, 0
  br i1 %.not481, label %4305, label %4306

4305:                                             ; preds = %4301, %4294
  br label %4306

4306:                                             ; preds = %4301, %4305
  %.str.4.sink2249 = phi ptr [ @.str.4, %4305 ], [ @.str, %4301 ]
  store i32 %4296, ptr %4295, align 4, !tbaa !5
  %4307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4308 = load i32, ptr @test_count, align 4, !tbaa !5
  %4309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4310 = load i32, ptr %4309, align 4, !tbaa !5
  %4311 = call ptr @s2n_strerror(i32 noundef %4310, ptr noundef nonnull @.str.3) #10
  %4312 = load i32, ptr %4309, align 4, !tbaa !5
  %4313 = call ptr @s2n_strerror_debug(i32 noundef %4312, ptr noundef nonnull @.str.3) #10
  %4314 = load i32, ptr %4295, align 4, !tbaa !5
  %4315 = call ptr @strerror(i32 noundef %4314) #10
  %4316 = load i32, ptr %4295, align 4, !tbaa !5
  %4317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4307, ptr noundef nonnull %.str.4.sink2249, i32 noundef %4308, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.2, i32 noundef 338, ptr noundef %4311, ptr noundef %4313, ptr noundef %4315, i32 noundef %4316) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4318:                                             ; preds = %4288
  %4319 = add nsw i32 %4291, 2
  store i32 %4319, ptr @test_count, align 4, !tbaa !5
  %4320 = load ptr, ptr %30, align 8, !tbaa !9
  %4321 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef %4320) #10
  %4322 = icmp eq i32 %4321, 1
  br i1 %4322, label %4347, label %4323

4323:                                             ; preds = %4318
  %4324 = tail call ptr @__errno_location() #11
  %4325 = load i32, ptr %4324, align 4, !tbaa !5
  %4326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4327 = call i32 @s2n_print_stacktrace(ptr noundef %4326) #10
  %4328 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4329 = trunc nuw i8 %4328 to i1
  br i1 %4329, label %4330, label %4334

4330:                                             ; preds = %4323
  %4331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4332 = call i32 @fileno(ptr noundef %4331) #10
  %4333 = call i32 @isatty(i32 noundef %4332) #10
  %.not452 = icmp eq i32 %4333, 0
  br i1 %.not452, label %4334, label %4335

4334:                                             ; preds = %4330, %4323
  br label %4335

4335:                                             ; preds = %4330, %4334
  %.str.4.sink2261 = phi ptr [ @.str.4, %4334 ], [ @.str, %4330 ]
  store i32 %4325, ptr %4324, align 4, !tbaa !5
  %4336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4337 = load i32, ptr @test_count, align 4, !tbaa !5
  %4338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4339 = load i32, ptr %4338, align 4, !tbaa !5
  %4340 = call ptr @s2n_strerror(i32 noundef %4339, ptr noundef nonnull @.str.3) #10
  %4341 = load i32, ptr %4338, align 4, !tbaa !5
  %4342 = call ptr @s2n_strerror_debug(i32 noundef %4341, ptr noundef nonnull @.str.3) #10
  %4343 = load i32, ptr %4324, align 4, !tbaa !5
  %4344 = call ptr @strerror(i32 noundef %4343) #10
  %4345 = load i32, ptr %4324, align 4, !tbaa !5
  %4346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4336, ptr noundef nonnull %.str.4.sink2261, i32 noundef %4337, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.2, i32 noundef 341, ptr noundef %4340, ptr noundef %4342, ptr noundef %4344, i32 noundef %4345) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4347:                                             ; preds = %4318
  %4348 = load i32, ptr @test_count, align 4, !tbaa !5
  %4349 = add nsw i32 %4348, 1
  store i32 %4349, ptr @test_count, align 4, !tbaa !5
  %4350 = load ptr, ptr %31, align 8, !tbaa !9
  %4351 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef %4350) #10
  %4352 = icmp eq i32 %4351, 1
  br i1 %4352, label %4377, label %4353

4353:                                             ; preds = %4347
  %4354 = tail call ptr @__errno_location() #11
  %4355 = load i32, ptr %4354, align 4, !tbaa !5
  %4356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4357 = call i32 @s2n_print_stacktrace(ptr noundef %4356) #10
  %4358 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4359 = trunc nuw i8 %4358 to i1
  br i1 %4359, label %4360, label %4364

4360:                                             ; preds = %4353
  %4361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4362 = call i32 @fileno(ptr noundef %4361) #10
  %4363 = call i32 @isatty(i32 noundef %4362) #10
  %.not453 = icmp eq i32 %4363, 0
  br i1 %.not453, label %4364, label %4365

4364:                                             ; preds = %4360, %4353
  br label %4365

4365:                                             ; preds = %4360, %4364
  %.str.4.sink2273 = phi ptr [ @.str.4, %4364 ], [ @.str, %4360 ]
  store i32 %4355, ptr %4354, 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 nonnull @.str.3) #10
  %4371 = load i32, ptr %4368, align 4, !tbaa !5
  %4372 = call ptr @s2n_strerror_debug(i32 noundef %4371, ptr noundef nonnull @.str.3) #10
  %4373 = load i32, ptr %4354, align 4, !tbaa !5
  %4374 = call ptr @strerror(i32 noundef %4373) #10
  %4375 = load i32, ptr %4354, align 4, !tbaa !5
  %4376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4366, ptr noundef nonnull %.str.4.sink2273, i32 noundef %4367, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.2, i32 noundef 342, ptr noundef %4370, ptr noundef %4372, ptr noundef %4374, i32 noundef %4375) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4377:                                             ; preds = %4347
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %34) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %33) #10
  %4378 = call i32 @s2n_io_pair_close(ptr noundef nonnull %32) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #10
  %4379 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %31) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #10
  %4380 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %30) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #10
  %4381 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %29) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #10
  %4382 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %28) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #10
  %4383 = call ptr @s2n_config_new() #10
  store ptr %4383, ptr %35, align 8, !tbaa !9
  %4384 = load i32, ptr @test_count, align 4, !tbaa !5
  %4385 = add nsw i32 %4384, 1
  store i32 %4385, ptr @test_count, align 4, !tbaa !5
  %4386 = icmp eq ptr %4383, null
  br i1 %4386, label %4387, label %4411

4387:                                             ; preds = %4377
  %4388 = tail call ptr @__errno_location() #11
  %4389 = load i32, ptr %4388, align 4, !tbaa !5
  %4390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4391 = call i32 @s2n_print_stacktrace(ptr noundef %4390) #10
  %4392 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4393 = trunc nuw i8 %4392 to i1
  br i1 %4393, label %4394, label %4398

4394:                                             ; preds = %4387
  %4395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4396 = call i32 @fileno(ptr noundef %4395) #10
  %4397 = call i32 @isatty(i32 noundef %4396) #10
  %.not480 = icmp eq i32 %4397, 0
  br i1 %.not480, label %4398, label %4399

4398:                                             ; preds = %4394, %4387
  br label %4399

4399:                                             ; preds = %4394, %4398
  %.str.4.sink2285 = phi ptr [ @.str.4, %4398 ], [ @.str, %4394 ]
  store i32 %4389, ptr %4388, align 4, !tbaa !5
  %4400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4401 = load i32, ptr @test_count, align 4, !tbaa !5
  %4402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4403 = load i32, ptr %4402, align 4, !tbaa !5
  %4404 = call ptr @s2n_strerror(i32 noundef %4403, ptr noundef nonnull @.str.3) #10
  %4405 = load i32, ptr %4402, align 4, !tbaa !5
  %4406 = call ptr @s2n_strerror_debug(i32 noundef %4405, ptr noundef nonnull @.str.3) #10
  %4407 = load i32, ptr %4388, align 4, !tbaa !5
  %4408 = call ptr @strerror(i32 noundef %4407) #10
  %4409 = load i32, ptr %4388, align 4, !tbaa !5
  %4410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4400, ptr noundef nonnull %.str.4.sink2285, i32 noundef %4401, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.2, i32 noundef 348, ptr noundef %4404, ptr noundef %4406, ptr noundef %4408, i32 noundef %4409) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4411:                                             ; preds = %4377
  %4412 = add nsw i32 %4384, 2
  store i32 %4412, ptr @test_count, align 4, !tbaa !5
  %4413 = call i32 @s2n_config_set_verification_ca_location(ptr noundef nonnull %4383, ptr noundef nonnull @.str.51, ptr noundef null) #10
  %4414 = icmp eq i32 %4413, -1
  br i1 %4414, label %4415, label %4439

4415:                                             ; preds = %4411
  %4416 = tail call ptr @__errno_location() #11
  %4417 = load i32, ptr %4416, align 4, !tbaa !5
  %4418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4419 = call i32 @s2n_print_stacktrace(ptr noundef %4418) #10
  %4420 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4421 = trunc nuw i8 %4420 to i1
  br i1 %4421, label %4422, label %4426

4422:                                             ; preds = %4415
  %4423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4424 = call i32 @fileno(ptr noundef %4423) #10
  %4425 = call i32 @isatty(i32 noundef %4424) #10
  %.not479 = icmp eq i32 %4425, 0
  br i1 %.not479, label %4426, label %4427

4426:                                             ; preds = %4422, %4415
  br label %4427

4427:                                             ; preds = %4422, %4426
  %.str.4.sink2297 = phi ptr [ @.str.4, %4426 ], [ @.str, %4422 ]
  store i32 %4417, ptr %4416, align 4, !tbaa !5
  %4428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4429 = load i32, ptr @test_count, align 4, !tbaa !5
  %4430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4431 = load i32, ptr %4430, align 4, !tbaa !5
  %4432 = call ptr @s2n_strerror(i32 noundef %4431, ptr noundef nonnull @.str.3) #10
  %4433 = load i32, ptr %4430, align 4, !tbaa !5
  %4434 = call ptr @s2n_strerror_debug(i32 noundef %4433, ptr noundef nonnull @.str.3) #10
  %4435 = load i32, ptr %4416, align 4, !tbaa !5
  %4436 = call ptr @strerror(i32 noundef %4435) #10
  %4437 = load i32, ptr %4416, align 4, !tbaa !5
  %4438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4428, ptr noundef nonnull %.str.4.sink2297, i32 noundef %4429, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.2, i32 noundef 349, ptr noundef %4432, ptr noundef %4434, ptr noundef %4436, i32 noundef %4437) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4439:                                             ; preds = %4411
  %4440 = load i32, ptr @test_count, align 4, !tbaa !5
  %4441 = add nsw i32 %4440, 1
  store i32 %4441, ptr @test_count, align 4, !tbaa !5
  %4442 = call i32 @s2n_config_set_cipher_preferences(ptr noundef nonnull %4383, ptr noundef nonnull @.str.53) #10
  %4443 = icmp eq i32 %4442, -1
  br i1 %4443, label %4444, label %4468

4444:                                             ; preds = %4439
  %4445 = tail call ptr @__errno_location() #11
  %4446 = load i32, ptr %4445, align 4, !tbaa !5
  %4447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4448 = call i32 @s2n_print_stacktrace(ptr noundef %4447) #10
  %4449 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4450 = trunc nuw i8 %4449 to i1
  br i1 %4450, label %4451, label %4455

4451:                                             ; preds = %4444
  %4452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4453 = call i32 @fileno(ptr noundef %4452) #10
  %4454 = call i32 @isatty(i32 noundef %4453) #10
  %.not478 = icmp eq i32 %4454, 0
  br i1 %.not478, label %4455, label %4456

4455:                                             ; preds = %4451, %4444
  br label %4456

4456:                                             ; preds = %4451, %4455
  %.str.4.sink2309 = phi ptr [ @.str.4, %4455 ], [ @.str, %4451 ]
  store i32 %4446, ptr %4445, align 4, !tbaa !5
  %4457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4458 = load i32, ptr @test_count, align 4, !tbaa !5
  %4459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4460 = load i32, ptr %4459, align 4, !tbaa !5
  %4461 = call ptr @s2n_strerror(i32 noundef %4460, ptr noundef nonnull @.str.3) #10
  %4462 = load i32, ptr %4459, align 4, !tbaa !5
  %4463 = call ptr @s2n_strerror_debug(i32 noundef %4462, ptr noundef nonnull @.str.3) #10
  %4464 = load i32, ptr %4445, align 4, !tbaa !5
  %4465 = call ptr @strerror(i32 noundef %4464) #10
  %4466 = load i32, ptr %4445, align 4, !tbaa !5
  %4467 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4457, ptr noundef nonnull %.str.4.sink2309, i32 noundef %4458, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.2, i32 noundef 350, ptr noundef %4461, ptr noundef %4463, ptr noundef %4465, i32 noundef %4466) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4468:                                             ; preds = %4439
  %4469 = load i32, ptr @test_count, align 4, !tbaa !5
  %4470 = add nsw i32 %4469, 1
  store i32 %4470, ptr @test_count, align 4, !tbaa !5
  %4471 = call i32 @s2n_config_set_status_request_type(ptr noundef nonnull %4383, i32 noundef 0) #10
  %4472 = icmp eq i32 %4471, -1
  br i1 %4472, label %4473, label %4497

4473:                                             ; preds = %4468
  %4474 = tail call ptr @__errno_location() #11
  %4475 = load i32, ptr %4474, align 4, !tbaa !5
  %4476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4477 = call i32 @s2n_print_stacktrace(ptr noundef %4476) #10
  %4478 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4479 = trunc nuw i8 %4478 to i1
  br i1 %4479, label %4480, label %4484

4480:                                             ; preds = %4473
  %4481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4482 = call i32 @fileno(ptr noundef %4481) #10
  %4483 = call i32 @isatty(i32 noundef %4482) #10
  %.not477 = icmp eq i32 %4483, 0
  br i1 %.not477, label %4484, label %4485

4484:                                             ; preds = %4480, %4473
  br label %4485

4485:                                             ; preds = %4480, %4484
  %.str.4.sink2321 = phi ptr [ @.str.4, %4484 ], [ @.str, %4480 ]
  store i32 %4475, ptr %4474, align 4, !tbaa !5
  %4486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4487 = load i32, ptr @test_count, align 4, !tbaa !5
  %4488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4489 = load i32, ptr %4488, align 4, !tbaa !5
  %4490 = call ptr @s2n_strerror(i32 noundef %4489, ptr noundef nonnull @.str.3) #10
  %4491 = load i32, ptr %4488, align 4, !tbaa !5
  %4492 = call ptr @s2n_strerror_debug(i32 noundef %4491, ptr noundef nonnull @.str.3) #10
  %4493 = load i32, ptr %4474, align 4, !tbaa !5
  %4494 = call ptr @strerror(i32 noundef %4493) #10
  %4495 = load i32, ptr %4474, align 4, !tbaa !5
  %4496 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4486, ptr noundef nonnull %.str.4.sink2321, i32 noundef %4487, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.2, i32 noundef 351, ptr noundef %4490, ptr noundef %4492, ptr noundef %4494, i32 noundef %4495) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4497:                                             ; preds = %4468
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #10
  %4498 = call ptr @s2n_config_new() #10
  store ptr %4498, ptr %36, align 8, !tbaa !9
  %4499 = load i32, ptr @test_count, align 4, !tbaa !5
  %4500 = add nsw i32 %4499, 1
  store i32 %4500, ptr @test_count, align 4, !tbaa !5
  %4501 = icmp eq ptr %4498, null
  br i1 %4501, label %4502, label %4526

4502:                                             ; preds = %4497
  %4503 = tail call ptr @__errno_location() #11
  %4504 = load i32, ptr %4503, align 4, !tbaa !5
  %4505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4506 = call i32 @s2n_print_stacktrace(ptr noundef %4505) #10
  %4507 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4508 = trunc nuw i8 %4507 to i1
  br i1 %4508, label %4509, label %4513

4509:                                             ; preds = %4502
  %4510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4511 = call i32 @fileno(ptr noundef %4510) #10
  %4512 = call i32 @isatty(i32 noundef %4511) #10
  %.not476 = icmp eq i32 %4512, 0
  br i1 %.not476, label %4513, label %4514

4513:                                             ; preds = %4509, %4502
  br label %4514

4514:                                             ; preds = %4509, %4513
  %.str.4.sink2333 = phi ptr [ @.str.4, %4513 ], [ @.str, %4509 ]
  store i32 %4504, ptr %4503, align 4, !tbaa !5
  %4515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4516 = load i32, ptr @test_count, align 4, !tbaa !5
  %4517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4518 = load i32, ptr %4517, align 4, !tbaa !5
  %4519 = call ptr @s2n_strerror(i32 noundef %4518, ptr noundef nonnull @.str.3) #10
  %4520 = load i32, ptr %4517, align 4, !tbaa !5
  %4521 = call ptr @s2n_strerror_debug(i32 noundef %4520, ptr noundef nonnull @.str.3) #10
  %4522 = load i32, ptr %4503, align 4, !tbaa !5
  %4523 = call ptr @strerror(i32 noundef %4522) #10
  %4524 = load i32, ptr %4503, align 4, !tbaa !5
  %4525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4515, ptr noundef nonnull %.str.4.sink2333, i32 noundef %4516, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.2, i32 noundef 354, ptr noundef %4519, ptr noundef %4521, ptr noundef %4523, i32 noundef %4524) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4526:                                             ; preds = %4497
  %4527 = add nsw i32 %4499, 2
  store i32 %4527, ptr @test_count, align 4, !tbaa !5
  %4528 = load ptr, ptr %13, align 8, !tbaa !9
  %4529 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %4498, ptr noundef %4528) #10
  %4530 = icmp eq i32 %4529, -1
  br i1 %4530, label %4531, label %4555

4531:                                             ; preds = %4526
  %4532 = tail call ptr @__errno_location() #11
  %4533 = load i32, ptr %4532, align 4, !tbaa !5
  %4534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4535 = call i32 @s2n_print_stacktrace(ptr noundef %4534) #10
  %4536 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4537 = trunc nuw i8 %4536 to i1
  br i1 %4537, label %4538, label %4542

4538:                                             ; preds = %4531
  %4539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4540 = call i32 @fileno(ptr noundef %4539) #10
  %4541 = call i32 @isatty(i32 noundef %4540) #10
  %.not475 = icmp eq i32 %4541, 0
  br i1 %.not475, label %4542, label %4543

4542:                                             ; preds = %4538, %4531
  br label %4543

4543:                                             ; preds = %4538, %4542
  %.str.4.sink2345 = phi ptr [ @.str.4, %4542 ], [ @.str, %4538 ]
  store i32 %4533, ptr %4532, align 4, !tbaa !5
  %4544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4545 = load i32, ptr @test_count, align 4, !tbaa !5
  %4546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4547 = load i32, ptr %4546, align 4, !tbaa !5
  %4548 = call ptr @s2n_strerror(i32 noundef %4547, ptr noundef nonnull @.str.3) #10
  %4549 = load i32, ptr %4546, align 4, !tbaa !5
  %4550 = call ptr @s2n_strerror_debug(i32 noundef %4549, ptr noundef nonnull @.str.3) #10
  %4551 = load i32, ptr %4532, align 4, !tbaa !5
  %4552 = call ptr @strerror(i32 noundef %4551) #10
  %4553 = load i32, ptr %4532, align 4, !tbaa !5
  %4554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4544, ptr noundef nonnull %.str.4.sink2345, i32 noundef %4545, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.2, i32 noundef 355, ptr noundef %4548, ptr noundef %4550, ptr noundef %4552, i32 noundef %4553) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4555:                                             ; preds = %4526
  %4556 = load i32, ptr @test_count, align 4, !tbaa !5
  %4557 = add nsw i32 %4556, 1
  store i32 %4557, ptr @test_count, align 4, !tbaa !5
  %4558 = call i32 @s2n_config_set_cipher_preferences(ptr noundef nonnull %4498, ptr noundef nonnull @.str.53) #10
  %4559 = icmp eq i32 %4558, -1
  br i1 %4559, label %4560, label %4584

4560:                                             ; preds = %4555
  %4561 = tail call ptr @__errno_location() #11
  %4562 = load i32, ptr %4561, align 4, !tbaa !5
  %4563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4564 = call i32 @s2n_print_stacktrace(ptr noundef %4563) #10
  %4565 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4566 = trunc nuw i8 %4565 to i1
  br i1 %4566, label %4567, label %4571

4567:                                             ; preds = %4560
  %4568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4569 = call i32 @fileno(ptr noundef %4568) #10
  %4570 = call i32 @isatty(i32 noundef %4569) #10
  %.not474 = icmp eq i32 %4570, 0
  br i1 %.not474, label %4571, label %4572

4571:                                             ; preds = %4567, %4560
  br label %4572

4572:                                             ; preds = %4567, %4571
  %.str.4.sink2357 = phi ptr [ @.str.4, %4571 ], [ @.str, %4567 ]
  store i32 %4562, ptr %4561, align 4, !tbaa !5
  %4573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4574 = load i32, ptr @test_count, align 4, !tbaa !5
  %4575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4576 = load i32, ptr %4575, align 4, !tbaa !5
  %4577 = call ptr @s2n_strerror(i32 noundef %4576, ptr noundef nonnull @.str.3) #10
  %4578 = load i32, ptr %4575, align 4, !tbaa !5
  %4579 = call ptr @s2n_strerror_debug(i32 noundef %4578, ptr noundef nonnull @.str.3) #10
  %4580 = load i32, ptr %4561, align 4, !tbaa !5
  %4581 = call ptr @strerror(i32 noundef %4580) #10
  %4582 = load i32, ptr %4561, align 4, !tbaa !5
  %4583 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4573, ptr noundef nonnull %.str.4.sink2357, i32 noundef %4574, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.2, i32 noundef 356, ptr noundef %4577, ptr noundef %4579, ptr noundef %4581, i32 noundef %4582) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4584:                                             ; preds = %4555
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #10
  %4585 = call ptr @s2n_connection_new(i32 noundef 0) #10
  store ptr %4585, ptr %37, align 8, !tbaa !9
  %4586 = load i32, ptr @test_count, align 4, !tbaa !5
  %4587 = add nsw i32 %4586, 1
  store i32 %4587, ptr @test_count, align 4, !tbaa !5
  %4588 = icmp eq ptr %4585, null
  br i1 %4588, label %4589, label %4613

4589:                                             ; preds = %4584
  %4590 = tail call ptr @__errno_location() #11
  %4591 = load i32, ptr %4590, align 4, !tbaa !5
  %4592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4593 = call i32 @s2n_print_stacktrace(ptr noundef %4592) #10
  %4594 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4595 = trunc nuw i8 %4594 to i1
  br i1 %4595, label %4596, label %4600

4596:                                             ; preds = %4589
  %4597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4598 = call i32 @fileno(ptr noundef %4597) #10
  %4599 = call i32 @isatty(i32 noundef %4598) #10
  %.not473 = icmp eq i32 %4599, 0
  br i1 %.not473, label %4600, label %4601

4600:                                             ; preds = %4596, %4589
  br label %4601

4601:                                             ; preds = %4596, %4600
  %.str.4.sink2369 = phi ptr [ @.str.4, %4600 ], [ @.str, %4596 ]
  store i32 %4591, ptr %4590, align 4, !tbaa !5
  %4602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4603 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %4605, ptr noundef nonnull @.str.3) #10
  %4607 = load i32, ptr %4604, align 4, !tbaa !5
  %4608 = call ptr @s2n_strerror_debug(i32 noundef %4607, ptr noundef nonnull @.str.3) #10
  %4609 = load i32, ptr %4590, align 4, !tbaa !5
  %4610 = call ptr @strerror(i32 noundef %4609) #10
  %4611 = load i32, ptr %4590, align 4, !tbaa !5
  %4612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4602, ptr noundef nonnull %.str.4.sink2369, i32 noundef %4603, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.2, i32 noundef 359, ptr noundef %4606, ptr noundef %4608, ptr noundef %4610, i32 noundef %4611) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4613:                                             ; preds = %4584
  %4614 = add nsw i32 %4586, 2
  store i32 %4614, ptr @test_count, align 4, !tbaa !5
  %4615 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4585, ptr noundef nonnull %4498) #10
  %4616 = icmp eq i32 %4615, -1
  br i1 %4616, label %4617, label %4641

4617:                                             ; preds = %4613
  %4618 = tail call ptr @__errno_location() #11
  %4619 = load i32, ptr %4618, align 4, !tbaa !5
  %4620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4621 = call i32 @s2n_print_stacktrace(ptr noundef %4620) #10
  %4622 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4623 = trunc nuw i8 %4622 to i1
  br i1 %4623, label %4624, label %4628

4624:                                             ; preds = %4617
  %4625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4626 = call i32 @fileno(ptr noundef %4625) #10
  %4627 = call i32 @isatty(i32 noundef %4626) #10
  %.not472 = icmp eq i32 %4627, 0
  br i1 %.not472, label %4628, label %4629

4628:                                             ; preds = %4624, %4617
  br label %4629

4629:                                             ; preds = %4624, %4628
  %.str.4.sink2381 = phi ptr [ @.str.4, %4628 ], [ @.str, %4624 ]
  store i32 %4619, ptr %4618, align 4, !tbaa !5
  %4630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4631 = load i32, ptr @test_count, align 4, !tbaa !5
  %4632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4633 = load i32, ptr %4632, align 4, !tbaa !5
  %4634 = call ptr @s2n_strerror(i32 noundef %4633, ptr noundef nonnull @.str.3) #10
  %4635 = load i32, ptr %4632, align 4, !tbaa !5
  %4636 = call ptr @s2n_strerror_debug(i32 noundef %4635, ptr noundef nonnull @.str.3) #10
  %4637 = load i32, ptr %4618, align 4, !tbaa !5
  %4638 = call ptr @strerror(i32 noundef %4637) #10
  %4639 = load i32, ptr %4618, align 4, !tbaa !5
  %4640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4630, ptr noundef nonnull %.str.4.sink2381, i32 noundef %4631, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.2, i32 noundef 360, ptr noundef %4634, ptr noundef %4636, ptr noundef %4638, i32 noundef %4639) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4641:                                             ; preds = %4613
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #10
  %4642 = call ptr @s2n_connection_new(i32 noundef 1) #10
  store ptr %4642, ptr %38, align 8, !tbaa !9
  %4643 = load i32, ptr @test_count, align 4, !tbaa !5
  %4644 = add nsw i32 %4643, 1
  store i32 %4644, ptr @test_count, align 4, !tbaa !5
  %4645 = icmp eq ptr %4642, null
  br i1 %4645, label %4646, label %4670

4646:                                             ; preds = %4641
  %4647 = tail call ptr @__errno_location() #11
  %4648 = load i32, ptr %4647, align 4, !tbaa !5
  %4649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4650 = call i32 @s2n_print_stacktrace(ptr noundef %4649) #10
  %4651 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4652 = trunc nuw i8 %4651 to i1
  br i1 %4652, label %4653, label %4657

4653:                                             ; preds = %4646
  %4654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4655 = call i32 @fileno(ptr noundef %4654) #10
  %4656 = call i32 @isatty(i32 noundef %4655) #10
  %.not471 = icmp eq i32 %4656, 0
  br i1 %.not471, label %4657, label %4658

4657:                                             ; preds = %4653, %4646
  br label %4658

4658:                                             ; preds = %4653, %4657
  %.str.4.sink2393 = phi ptr [ @.str.4, %4657 ], [ @.str, %4653 ]
  store i32 %4648, ptr %4647, align 4, !tbaa !5
  %4659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4660 = load i32, ptr @test_count, align 4, !tbaa !5
  %4661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4662 = load i32, ptr %4661, align 4, !tbaa !5
  %4663 = call ptr @s2n_strerror(i32 noundef %4662, ptr noundef nonnull @.str.3) #10
  %4664 = load i32, ptr %4661, align 4, !tbaa !5
  %4665 = call ptr @s2n_strerror_debug(i32 noundef %4664, ptr noundef nonnull @.str.3) #10
  %4666 = load i32, ptr %4647, align 4, !tbaa !5
  %4667 = call ptr @strerror(i32 noundef %4666) #10
  %4668 = load i32, ptr %4647, align 4, !tbaa !5
  %4669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4659, ptr noundef nonnull %.str.4.sink2393, i32 noundef %4660, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.2, i32 noundef 363, ptr noundef %4663, ptr noundef %4665, ptr noundef %4667, i32 noundef %4668) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4670:                                             ; preds = %4641
  %4671 = add nsw i32 %4643, 2
  store i32 %4671, ptr @test_count, align 4, !tbaa !5
  %4672 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4642, ptr noundef nonnull %4383) #10
  %4673 = icmp eq i32 %4672, -1
  br i1 %4673, label %4674, label %4698

4674:                                             ; preds = %4670
  %4675 = tail call ptr @__errno_location() #11
  %4676 = load i32, ptr %4675, align 4, !tbaa !5
  %4677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4678 = call i32 @s2n_print_stacktrace(ptr noundef %4677) #10
  %4679 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4680 = trunc nuw i8 %4679 to i1
  br i1 %4680, label %4681, label %4685

4681:                                             ; preds = %4674
  %4682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4683 = call i32 @fileno(ptr noundef %4682) #10
  %4684 = call i32 @isatty(i32 noundef %4683) #10
  %.not470 = icmp eq i32 %4684, 0
  br i1 %.not470, label %4685, label %4686

4685:                                             ; preds = %4681, %4674
  br label %4686

4686:                                             ; preds = %4681, %4685
  %.str.4.sink2405 = phi ptr [ @.str.4, %4685 ], [ @.str, %4681 ]
  store i32 %4676, ptr %4675, align 4, !tbaa !5
  %4687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4688 = load i32, ptr @test_count, align 4, !tbaa !5
  %4689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4690 = load i32, ptr %4689, align 4, !tbaa !5
  %4691 = call ptr @s2n_strerror(i32 noundef %4690, ptr noundef nonnull @.str.3) #10
  %4692 = load i32, ptr %4689, align 4, !tbaa !5
  %4693 = call ptr @s2n_strerror_debug(i32 noundef %4692, ptr noundef nonnull @.str.3) #10
  %4694 = load i32, ptr %4675, align 4, !tbaa !5
  %4695 = call ptr @strerror(i32 noundef %4694) #10
  %4696 = load i32, ptr %4675, align 4, !tbaa !5
  %4697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4687, ptr noundef nonnull %.str.4.sink2405, i32 noundef %4688, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.2, i32 noundef 364, ptr noundef %4691, ptr noundef %4693, ptr noundef %4695, i32 noundef %4696) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4698:                                             ; preds = %4670
  %4699 = load i32, ptr @test_count, align 4, !tbaa !5
  %4700 = add nsw i32 %4699, 1
  store i32 %4700, ptr @test_count, align 4, !tbaa !5
  %4701 = call i32 @s2n_set_server_name(ptr noundef nonnull %4642, ptr noundef nonnull @.str.63) #10
  %4702 = icmp eq i32 %4701, -1
  br i1 %4702, label %4703, label %4727

4703:                                             ; preds = %4698
  %4704 = tail call ptr @__errno_location() #11
  %4705 = load i32, ptr %4704, align 4, !tbaa !5
  %4706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4707 = call i32 @s2n_print_stacktrace(ptr noundef %4706) #10
  %4708 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4709 = trunc nuw i8 %4708 to i1
  br i1 %4709, label %4710, label %4714

4710:                                             ; preds = %4703
  %4711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4712 = call i32 @fileno(ptr noundef %4711) #10
  %4713 = call i32 @isatty(i32 noundef %4712) #10
  %.not469 = icmp eq i32 %4713, 0
  br i1 %.not469, label %4714, label %4715

4714:                                             ; preds = %4710, %4703
  br label %4715

4715:                                             ; preds = %4710, %4714
  %.str.4.sink2417 = phi ptr [ @.str.4, %4714 ], [ @.str, %4710 ]
  store i32 %4705, ptr %4704, align 4, !tbaa !5
  %4716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4717 = load i32, ptr @test_count, align 4, !tbaa !5
  %4718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4719 = load i32, ptr %4718, align 4, !tbaa !5
  %4720 = call ptr @s2n_strerror(i32 noundef %4719, ptr noundef nonnull @.str.3) #10
  %4721 = load i32, ptr %4718, align 4, !tbaa !5
  %4722 = call ptr @s2n_strerror_debug(i32 noundef %4721, ptr noundef nonnull @.str.3) #10
  %4723 = load i32, ptr %4704, align 4, !tbaa !5
  %4724 = call ptr @strerror(i32 noundef %4723) #10
  %4725 = load i32, ptr %4704, align 4, !tbaa !5
  %4726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4716, ptr noundef nonnull %.str.4.sink2417, i32 noundef %4717, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.2, i32 noundef 365, ptr noundef %4720, ptr noundef %4722, ptr noundef %4724, i32 noundef %4725) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4727:                                             ; preds = %4698
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) #10
  store i64 0, ptr %39, align 8
  %4728 = load i32, ptr @test_count, align 4, !tbaa !5
  %4729 = add nsw i32 %4728, 1
  store i32 %4729, ptr @test_count, align 4, !tbaa !5
  %4730 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %39) #10
  %4731 = icmp eq i32 %4730, -1
  br i1 %4731, label %4732, label %4756

4732:                                             ; preds = %4727
  %4733 = tail call ptr @__errno_location() #11
  %4734 = load i32, ptr %4733, align 4, !tbaa !5
  %4735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4736 = call i32 @s2n_print_stacktrace(ptr noundef %4735) #10
  %4737 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4738 = trunc nuw i8 %4737 to i1
  br i1 %4738, label %4739, label %4743

4739:                                             ; preds = %4732
  %4740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4741 = call i32 @fileno(ptr noundef %4740) #10
  %4742 = call i32 @isatty(i32 noundef %4741) #10
  %.not468 = icmp eq i32 %4742, 0
  br i1 %.not468, label %4743, label %4744

4743:                                             ; preds = %4739, %4732
  br label %4744

4744:                                             ; preds = %4739, %4743
  %.str.4.sink2429 = phi ptr [ @.str.4, %4743 ], [ @.str, %4739 ]
  store i32 %4734, ptr %4733, align 4, !tbaa !5
  %4745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4746 = load i32, ptr @test_count, align 4, !tbaa !5
  %4747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4748 = load i32, ptr %4747, align 4, !tbaa !5
  %4749 = call ptr @s2n_strerror(i32 noundef %4748, ptr noundef nonnull @.str.3) #10
  %4750 = load i32, ptr %4747, align 4, !tbaa !5
  %4751 = call ptr @s2n_strerror_debug(i32 noundef %4750, ptr noundef nonnull @.str.3) #10
  %4752 = load i32, ptr %4733, align 4, !tbaa !5
  %4753 = call ptr @strerror(i32 noundef %4752) #10
  %4754 = load i32, ptr %4733, align 4, !tbaa !5
  %4755 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4745, ptr noundef nonnull %.str.4.sink2429, i32 noundef %4746, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.2, i32 noundef 368, ptr noundef %4749, ptr noundef %4751, ptr noundef %4753, i32 noundef %4754) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4756:                                             ; preds = %4727
  %4757 = load i32, ptr @test_count, align 4, !tbaa !5
  %4758 = add nsw i32 %4757, 1
  store i32 %4758, ptr @test_count, align 4, !tbaa !5
  %4759 = call i32 @s2n_connection_set_io_pair(ptr noundef nonnull %4642, ptr noundef nonnull %39) #10
  %4760 = icmp eq i32 %4759, -1
  br i1 %4760, label %4761, label %4785

4761:                                             ; preds = %4756
  %4762 = tail call ptr @__errno_location() #11
  %4763 = load i32, ptr %4762, align 4, !tbaa !5
  %4764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4765 = call i32 @s2n_print_stacktrace(ptr noundef %4764) #10
  %4766 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4767 = trunc nuw i8 %4766 to i1
  br i1 %4767, label %4768, label %4772

4768:                                             ; preds = %4761
  %4769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4770 = call i32 @fileno(ptr noundef %4769) #10
  %4771 = call i32 @isatty(i32 noundef %4770) #10
  %.not467 = icmp eq i32 %4771, 0
  br i1 %.not467, label %4772, label %4773

4772:                                             ; preds = %4768, %4761
  br label %4773

4773:                                             ; preds = %4768, %4772
  %.str.4.sink2441 = phi ptr [ @.str.4, %4772 ], [ @.str, %4768 ]
  store i32 %4763, ptr %4762, align 4, !tbaa !5
  %4774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4775 = load i32, ptr @test_count, align 4, !tbaa !5
  %4776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4777 = load i32, ptr %4776, align 4, !tbaa !5
  %4778 = call ptr @s2n_strerror(i32 noundef %4777, ptr noundef nonnull @.str.3) #10
  %4779 = load i32, ptr %4776, align 4, !tbaa !5
  %4780 = call ptr @s2n_strerror_debug(i32 noundef %4779, ptr noundef nonnull @.str.3) #10
  %4781 = load i32, ptr %4762, align 4, !tbaa !5
  %4782 = call ptr @strerror(i32 noundef %4781) #10
  %4783 = load i32, ptr %4762, align 4, !tbaa !5
  %4784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4774, ptr noundef nonnull %.str.4.sink2441, i32 noundef %4775, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.2, i32 noundef 369, ptr noundef %4778, ptr noundef %4780, ptr noundef %4782, i32 noundef %4783) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4785:                                             ; preds = %4756
  %4786 = load i32, ptr @test_count, align 4, !tbaa !5
  %4787 = add nsw i32 %4786, 1
  store i32 %4787, ptr @test_count, align 4, !tbaa !5
  %4788 = call i32 @s2n_connection_set_io_pair(ptr noundef nonnull %4585, ptr noundef nonnull %39) #10
  %4789 = icmp eq i32 %4788, -1
  br i1 %4789, label %4790, label %4814

4790:                                             ; preds = %4785
  %4791 = tail call ptr @__errno_location() #11
  %4792 = load i32, ptr %4791, align 4, !tbaa !5
  %4793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4794 = call i32 @s2n_print_stacktrace(ptr noundef %4793) #10
  %4795 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4796 = trunc nuw i8 %4795 to i1
  br i1 %4796, label %4797, label %4801

4797:                                             ; preds = %4790
  %4798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4799 = call i32 @fileno(ptr noundef %4798) #10
  %4800 = call i32 @isatty(i32 noundef %4799) #10
  %.not466 = icmp eq i32 %4800, 0
  br i1 %.not466, label %4801, label %4802

4801:                                             ; preds = %4797, %4790
  br label %4802

4802:                                             ; preds = %4797, %4801
  %.str.4.sink2453 = phi ptr [ @.str.4, %4801 ], [ @.str, %4797 ]
  store i32 %4792, ptr %4791, align 4, !tbaa !5
  %4803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4804 = load i32, ptr @test_count, align 4, !tbaa !5
  %4805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4806 = load i32, ptr %4805, align 4, !tbaa !5
  %4807 = call ptr @s2n_strerror(i32 noundef %4806, ptr noundef nonnull @.str.3) #10
  %4808 = load i32, ptr %4805, align 4, !tbaa !5
  %4809 = call ptr @s2n_strerror_debug(i32 noundef %4808, ptr noundef nonnull @.str.3) #10
  %4810 = load i32, ptr %4791, align 4, !tbaa !5
  %4811 = call ptr @strerror(i32 noundef %4810) #10
  %4812 = load i32, ptr %4791, align 4, !tbaa !5
  %4813 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4803, ptr noundef nonnull %.str.4.sink2453, i32 noundef %4804, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.2, i32 noundef 370, ptr noundef %4807, ptr noundef %4809, ptr noundef %4811, i32 noundef %4812) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4814:                                             ; preds = %4785
  %4815 = load i32, ptr @test_count, align 4, !tbaa !5
  %4816 = add nsw i32 %4815, 1
  store i32 %4816, ptr @test_count, align 4, !tbaa !5
  %4817 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %4585, ptr noundef nonnull %4642) #10
  %4818 = icmp eq i32 %4817, -1
  br i1 %4818, label %4819, label %4843

4819:                                             ; preds = %4814
  %4820 = tail call ptr @__errno_location() #11
  %4821 = load i32, ptr %4820, align 4, !tbaa !5
  %4822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4823 = call i32 @s2n_print_stacktrace(ptr noundef %4822) #10
  %4824 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4825 = trunc nuw i8 %4824 to i1
  br i1 %4825, label %4826, label %4830

4826:                                             ; preds = %4819
  %4827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4828 = call i32 @fileno(ptr noundef %4827) #10
  %4829 = call i32 @isatty(i32 noundef %4828) #10
  %.not465 = icmp eq i32 %4829, 0
  br i1 %.not465, label %4830, label %4831

4830:                                             ; preds = %4826, %4819
  br label %4831

4831:                                             ; preds = %4826, %4830
  %.str.4.sink2465 = phi ptr [ @.str.4, %4830 ], [ @.str, %4826 ]
  store i32 %4821, ptr %4820, align 4, !tbaa !5
  %4832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4833 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %4835, ptr noundef nonnull @.str.3) #10
  %4837 = load i32, ptr %4834, align 4, !tbaa !5
  %4838 = call ptr @s2n_strerror_debug(i32 noundef %4837, ptr noundef nonnull @.str.3) #10
  %4839 = load i32, ptr %4820, align 4, !tbaa !5
  %4840 = call ptr @strerror(i32 noundef %4839) #10
  %4841 = load i32, ptr %4820, align 4, !tbaa !5
  %4842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4832, ptr noundef nonnull %.str.4.sink2465, i32 noundef %4833, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.2, i32 noundef 372, ptr noundef %4836, ptr noundef %4838, ptr noundef %4840, i32 noundef %4841) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4843:                                             ; preds = %4814
  %4844 = load i32, ptr @test_count, align 4, !tbaa !5
  %4845 = add nsw i32 %4844, 1
  store i32 %4845, ptr @test_count, align 4, !tbaa !5
  %4846 = getelementptr inbounds i8, ptr %4585, i64 220
  %4847 = load i8, ptr %4846, align 4, !tbaa !52
  %4848 = icmp eq i8 %4847, 34
  br i1 %4848, label %4873, label %4849

4849:                                             ; preds = %4843
  %4850 = tail call ptr @__errno_location() #11
  %4851 = load i32, ptr %4850, align 4, !tbaa !5
  %4852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4853 = call i32 @s2n_print_stacktrace(ptr noundef %4852) #10
  %4854 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4855 = trunc nuw i8 %4854 to i1
  br i1 %4855, label %4856, label %4860

4856:                                             ; preds = %4849
  %4857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4858 = call i32 @fileno(ptr noundef %4857) #10
  %4859 = call i32 @isatty(i32 noundef %4858) #10
  %.not454 = icmp eq i32 %4859, 0
  br i1 %.not454, label %4860, label %4861

4860:                                             ; preds = %4856, %4849
  br label %4861

4861:                                             ; preds = %4856, %4860
  %.str.4.sink2477 = phi ptr [ @.str.4, %4860 ], [ @.str, %4856 ]
  store i32 %4851, ptr %4850, align 4, !tbaa !5
  %4862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4863 = load i32, ptr @test_count, align 4, !tbaa !5
  %4864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4865 = load i32, ptr %4864, align 4, !tbaa !5
  %4866 = call ptr @s2n_strerror(i32 noundef %4865, ptr noundef nonnull @.str.3) #10
  %4867 = load i32, ptr %4864, align 4, !tbaa !5
  %4868 = call ptr @s2n_strerror_debug(i32 noundef %4867, ptr noundef nonnull @.str.3) #10
  %4869 = load i32, ptr %4850, align 4, !tbaa !5
  %4870 = call ptr @strerror(i32 noundef %4869) #10
  %4871 = load i32, ptr %4850, align 4, !tbaa !5
  %4872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4862, ptr noundef nonnull %.str.4.sink2477, i32 noundef %4863, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.2, i32 noundef 374, ptr noundef %4866, ptr noundef %4868, ptr noundef %4870, i32 noundef %4871) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4873:                                             ; preds = %4843
  %4874 = add nsw i32 %4844, 2
  store i32 %4874, ptr @test_count, align 4, !tbaa !5
  %4875 = getelementptr inbounds i8, ptr %4642, i64 220
  %4876 = load i8, ptr %4875, align 4, !tbaa !52
  %4877 = icmp eq i8 %4876, 34
  br i1 %4877, label %4902, label %4878

4878:                                             ; preds = %4873
  %4879 = tail call ptr @__errno_location() #11
  %4880 = load i32, ptr %4879, align 4, !tbaa !5
  %4881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4882 = call i32 @s2n_print_stacktrace(ptr noundef %4881) #10
  %4883 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4884 = trunc nuw i8 %4883 to i1
  br i1 %4884, label %4885, label %4889

4885:                                             ; preds = %4878
  %4886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4887 = call i32 @fileno(ptr noundef %4886) #10
  %4888 = call i32 @isatty(i32 noundef %4887) #10
  %.not455 = icmp eq i32 %4888, 0
  br i1 %.not455, label %4889, label %4890

4889:                                             ; preds = %4885, %4878
  br label %4890

4890:                                             ; preds = %4885, %4889
  %.str.4.sink2489 = phi ptr [ @.str.4, %4889 ], [ @.str, %4885 ]
  store i32 %4880, ptr %4879, align 4, !tbaa !5
  %4891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4892 = load i32, ptr @test_count, align 4, !tbaa !5
  %4893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4894 = load i32, ptr %4893, align 4, !tbaa !5
  %4895 = call ptr @s2n_strerror(i32 noundef %4894, ptr noundef nonnull @.str.3) #10
  %4896 = load i32, ptr %4893, align 4, !tbaa !5
  %4897 = call ptr @s2n_strerror_debug(i32 noundef %4896, ptr noundef nonnull @.str.3) #10
  %4898 = load i32, ptr %4879, align 4, !tbaa !5
  %4899 = call ptr @strerror(i32 noundef %4898) #10
  %4900 = load i32, ptr %4879, align 4, !tbaa !5
  %4901 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4891, ptr noundef nonnull %.str.4.sink2489, i32 noundef %4892, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.2, i32 noundef 375, ptr noundef %4895, ptr noundef %4897, ptr noundef %4899, i32 noundef %4900) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4902:                                             ; preds = %4873
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %40) #10
  store i32 0, ptr %40, align 4, !tbaa !5
  %4903 = call ptr @s2n_connection_get_ocsp_response(ptr noundef nonnull %4642, ptr noundef nonnull %40) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %41) #10
  store i32 0, ptr %41, align 4, !tbaa !5
  %4904 = call ptr @s2n_connection_get_ocsp_response(ptr noundef nonnull %4585, ptr noundef nonnull %41) #10
  %4905 = load i32, ptr @test_count, align 4, !tbaa !5
  %4906 = add nsw i32 %4905, 1
  store i32 %4906, ptr @test_count, align 4, !tbaa !5
  %4907 = icmp eq ptr %4903, null
  br i1 %4907, label %4932, label %4908

4908:                                             ; preds = %4902
  %4909 = tail call ptr @__errno_location() #11
  %4910 = load i32, ptr %4909, align 4, !tbaa !5
  %4911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4912 = call i32 @s2n_print_stacktrace(ptr noundef %4911) #10
  %4913 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4914 = trunc nuw i8 %4913 to i1
  br i1 %4914, label %4915, label %4919

4915:                                             ; preds = %4908
  %4916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4917 = call i32 @fileno(ptr noundef %4916) #10
  %4918 = call i32 @isatty(i32 noundef %4917) #10
  %.not456 = icmp eq i32 %4918, 0
  br i1 %.not456, label %4919, label %4920

4919:                                             ; preds = %4915, %4908
  br label %4920

4920:                                             ; preds = %4915, %4919
  %.str.4.sink2501 = phi ptr [ @.str.4, %4919 ], [ @.str, %4915 ]
  store i32 %4910, ptr %4909, align 4, !tbaa !5
  %4921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4922 = load i32, ptr @test_count, align 4, !tbaa !5
  %4923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4924 = load i32, ptr %4923, align 4, !tbaa !5
  %4925 = call ptr @s2n_strerror(i32 noundef %4924, ptr noundef nonnull @.str.3) #10
  %4926 = load i32, ptr %4923, align 4, !tbaa !5
  %4927 = call ptr @s2n_strerror_debug(i32 noundef %4926, ptr noundef nonnull @.str.3) #10
  %4928 = load i32, ptr %4909, align 4, !tbaa !5
  %4929 = call ptr @strerror(i32 noundef %4928) #10
  %4930 = load i32, ptr %4909, align 4, !tbaa !5
  %4931 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4921, ptr noundef nonnull %.str.4.sink2501, i32 noundef %4922, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.2, i32 noundef 386, ptr noundef %4925, ptr noundef %4927, ptr noundef %4929, i32 noundef %4930) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4932:                                             ; preds = %4902
  %4933 = add nsw i32 %4905, 2
  store i32 %4933, ptr @test_count, align 4, !tbaa !5
  %4934 = icmp eq ptr %4904, null
  br i1 %4934, label %4959, label %4935

4935:                                             ; preds = %4932
  %4936 = tail call ptr @__errno_location() #11
  %4937 = load i32, ptr %4936, align 4, !tbaa !5
  %4938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4939 = call i32 @s2n_print_stacktrace(ptr noundef %4938) #10
  %4940 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4941 = trunc nuw i8 %4940 to i1
  br i1 %4941, label %4942, label %4946

4942:                                             ; preds = %4935
  %4943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4944 = call i32 @fileno(ptr noundef %4943) #10
  %4945 = call i32 @isatty(i32 noundef %4944) #10
  %.not457 = icmp eq i32 %4945, 0
  br i1 %.not457, label %4946, label %4947

4946:                                             ; preds = %4942, %4935
  br label %4947

4947:                                             ; preds = %4942, %4946
  %.str.4.sink2513 = phi ptr [ @.str.4, %4946 ], [ @.str, %4942 ]
  store i32 %4937, ptr %4936, align 4, !tbaa !5
  %4948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4949 = load i32, ptr @test_count, align 4, !tbaa !5
  %4950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4951 = load i32, ptr %4950, align 4, !tbaa !5
  %4952 = call ptr @s2n_strerror(i32 noundef %4951, ptr noundef nonnull @.str.3) #10
  %4953 = load i32, ptr %4950, align 4, !tbaa !5
  %4954 = call ptr @s2n_strerror_debug(i32 noundef %4953, ptr noundef nonnull @.str.3) #10
  %4955 = load i32, ptr %4936, align 4, !tbaa !5
  %4956 = call ptr @strerror(i32 noundef %4955) #10
  %4957 = load i32, ptr %4936, align 4, !tbaa !5
  %4958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4948, ptr noundef nonnull %.str.4.sink2513, i32 noundef %4949, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.2, i32 noundef 387, ptr noundef %4952, ptr noundef %4954, ptr noundef %4956, i32 noundef %4957) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4959:                                             ; preds = %4932
  %4960 = add nsw i32 %4905, 3
  store i32 %4960, ptr @test_count, align 4, !tbaa !5
  %4961 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef nonnull %4585) #10
  %4962 = icmp eq i32 %4961, 0
  br i1 %4962, label %4987, label %4963

4963:                                             ; preds = %4959
  %4964 = tail call ptr @__errno_location() #11
  %4965 = load i32, ptr %4964, align 4, !tbaa !5
  %4966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4967 = call i32 @s2n_print_stacktrace(ptr noundef %4966) #10
  %4968 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4969 = trunc nuw i8 %4968 to i1
  br i1 %4969, label %4970, label %4974

4970:                                             ; preds = %4963
  %4971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4972 = call i32 @fileno(ptr noundef %4971) #10
  %4973 = call i32 @isatty(i32 noundef %4972) #10
  %.not458 = icmp eq i32 %4973, 0
  br i1 %.not458, label %4974, label %4975

4974:                                             ; preds = %4970, %4963
  br label %4975

4975:                                             ; preds = %4970, %4974
  %.str.4.sink2525 = phi ptr [ @.str.4, %4974 ], [ @.str, %4970 ]
  store i32 %4965, ptr %4964, align 4, !tbaa !5
  %4976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4977 = load i32, ptr @test_count, align 4, !tbaa !5
  %4978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4979 = load i32, ptr %4978, align 4, !tbaa !5
  %4980 = call ptr @s2n_strerror(i32 noundef %4979, ptr noundef nonnull @.str.3) #10
  %4981 = load i32, ptr %4978, align 4, !tbaa !5
  %4982 = call ptr @s2n_strerror_debug(i32 noundef %4981, ptr noundef nonnull @.str.3) #10
  %4983 = load i32, ptr %4964, align 4, !tbaa !5
  %4984 = call ptr @strerror(i32 noundef %4983) #10
  %4985 = load i32, ptr %4964, align 4, !tbaa !5
  %4986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4976, ptr noundef nonnull %.str.4.sink2525, i32 noundef %4977, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.2, i32 noundef 390, ptr noundef %4980, ptr noundef %4982, ptr noundef %4984, i32 noundef %4985) #12
  call void @exit(i32 noundef 1) #13
  unreachable

4987:                                             ; preds = %4959
  %4988 = load i32, ptr @test_count, align 4, !tbaa !5
  %4989 = add nsw i32 %4988, 1
  store i32 %4989, ptr @test_count, align 4, !tbaa !5
  %4990 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef nonnull %4642) #10
  %4991 = icmp eq i32 %4990, 0
  br i1 %4991, label %5016, label %4992

4992:                                             ; preds = %4987
  %4993 = tail call ptr @__errno_location() #11
  %4994 = load i32, ptr %4993, align 4, !tbaa !5
  %4995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4996 = call i32 @s2n_print_stacktrace(ptr noundef %4995) #10
  %4997 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4998 = trunc nuw i8 %4997 to i1
  br i1 %4998, label %4999, label %5003

4999:                                             ; preds = %4992
  %5000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5001 = call i32 @fileno(ptr noundef %5000) #10
  %5002 = call i32 @isatty(i32 noundef %5001) #10
  %.not459 = icmp eq i32 %5002, 0
  br i1 %.not459, label %5003, label %5004

5003:                                             ; preds = %4999, %4992
  br label %5004

5004:                                             ; preds = %4999, %5003
  %.str.4.sink2537 = phi ptr [ @.str.4, %5003 ], [ @.str, %4999 ]
  store i32 %4994, ptr %4993, align 4, !tbaa !5
  %5005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5006 = load i32, ptr @test_count, align 4, !tbaa !5
  %5007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5008 = load i32, ptr %5007, align 4, !tbaa !5
  %5009 = call ptr @s2n_strerror(i32 noundef %5008, ptr noundef nonnull @.str.3) #10
  %5010 = load i32, ptr %5007, align 4, !tbaa !5
  %5011 = call ptr @s2n_strerror_debug(i32 noundef %5010, ptr noundef nonnull @.str.3) #10
  %5012 = load i32, ptr %4993, align 4, !tbaa !5
  %5013 = call ptr @strerror(i32 noundef %5012) #10
  %5014 = load i32, ptr %4993, align 4, !tbaa !5
  %5015 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5005, ptr noundef nonnull %.str.4.sink2537, i32 noundef %5006, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.2, i32 noundef 391, ptr noundef %5009, ptr noundef %5011, ptr noundef %5013, i32 noundef %5014) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5016:                                             ; preds = %4987
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %41) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %40) #10
  %5017 = call i32 @s2n_io_pair_close(ptr noundef nonnull %39) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #10
  %5018 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %38) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #10
  %5019 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %37) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #10
  %5020 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %36) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #10
  %5021 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %35) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #10
  %5022 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %13) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #10
  call void @llvm.lifetime.end.p0(i64 12000, ptr nonnull %11) #10
  br label %5023

5023:                                             ; preds = %5016, %1997, %1994
  %5024 = call i32 @s2n_cleanup() #10
  %5025 = icmp eq i32 %5024, -1
  br i1 %5025, label %5026, label %5050

5026:                                             ; preds = %5023
  %5027 = tail call ptr @__errno_location() #11
  %5028 = load i32, ptr %5027, align 4, !tbaa !5
  %5029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5030 = call i32 @s2n_print_stacktrace(ptr noundef %5029) #10
  %5031 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5032 = trunc nuw i8 %5031 to i1
  br i1 %5032, label %5033, label %5037

5033:                                             ; preds = %5026
  %5034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5035 = call i32 @fileno(ptr noundef %5034) #10
  %5036 = call i32 @isatty(i32 noundef %5035) #10
  %.not464 = icmp eq i32 %5036, 0
  br i1 %.not464, label %5037, label %5038

5037:                                             ; preds = %5033, %5026
  br label %5038

5038:                                             ; preds = %5033, %5037
  %.str.4.sink2549 = phi ptr [ @.str.4, %5037 ], [ @.str, %5033 ]
  store i32 %5028, ptr %5027, align 4, !tbaa !5
  %5039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5040 = load i32, ptr @test_count, align 4, !tbaa !5
  %5041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5042 = load i32, ptr %5041, align 4, !tbaa !5
  %5043 = call ptr @s2n_strerror(i32 noundef %5042, ptr noundef nonnull @.str.3) #10
  %5044 = load i32, ptr %5041, align 4, !tbaa !5
  %5045 = call ptr @s2n_strerror_debug(i32 noundef %5044, ptr noundef nonnull @.str.3) #10
  %5046 = load i32, ptr %5027, align 4, !tbaa !5
  %5047 = call ptr @strerror(i32 noundef %5046) #10
  %5048 = load i32, ptr %5027, align 4, !tbaa !5
  %5049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5039, ptr noundef nonnull %.str.4.sink2549, i32 noundef %5040, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.2, i32 noundef 395, ptr noundef %5043, ptr noundef %5045, ptr noundef %5047, i32 noundef %5048) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5050:                                             ; preds = %5023
  %5051 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #10
  %5052 = icmp eq i32 %5051, -1
  br i1 %5052, label %5053, label %5077

5053:                                             ; preds = %5050
  %5054 = tail call ptr @__errno_location() #11
  %5055 = load i32, ptr %5054, align 4, !tbaa !5
  %5056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5057 = call i32 @s2n_print_stacktrace(ptr noundef %5056) #10
  %5058 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5059 = trunc nuw i8 %5058 to i1
  br i1 %5059, label %5060, label %5064

5060:                                             ; preds = %5053
  %5061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5062 = call i32 @fileno(ptr noundef %5061) #10
  %5063 = call i32 @isatty(i32 noundef %5062) #10
  %.not463 = icmp eq i32 %5063, 0
  br i1 %.not463, label %5064, label %5065

5064:                                             ; preds = %5060, %5053
  br label %5065

5065:                                             ; preds = %5060, %5064
  %.str.4.sink2561 = phi ptr [ @.str.4, %5064 ], [ @.str, %5060 ]
  store i32 %5055, ptr %5054, align 4, !tbaa !5
  %5066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5067 = load i32, ptr @test_count, align 4, !tbaa !5
  %5068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5069 = load i32, ptr %5068, align 4, !tbaa !5
  %5070 = call ptr @s2n_strerror(i32 noundef %5069, ptr noundef nonnull @.str.3) #10
  %5071 = load i32, ptr %5068, align 4, !tbaa !5
  %5072 = call ptr @s2n_strerror_debug(i32 noundef %5071, ptr noundef nonnull @.str.3) #10
  %5073 = load i32, ptr %5054, align 4, !tbaa !5
  %5074 = call ptr @strerror(i32 noundef %5073) #10
  %5075 = load i32, ptr %5054, align 4, !tbaa !5
  %5076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5066, ptr noundef nonnull %.str.4.sink2561, i32 noundef %5067, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.2, i32 noundef 395, ptr noundef %5070, ptr noundef %5072, ptr noundef %5074, i32 noundef %5075) #12
  call void @exit(i32 noundef 1) #13
  unreachable

5077:                                             ; preds = %5050
  %5078 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5079 = trunc nuw i8 %5078 to i1
  br i1 %5079, label %5080, label %5091

5080:                                             ; preds = %5077
  %5081 = load ptr, ptr @stdout, align 8, !tbaa !9
  %5082 = call i32 @fileno(ptr noundef %5081) #10
  %5083 = call i32 @isatty(i32 noundef %5082) #10
  %.not460 = icmp eq i32 %5083, 0
  br i1 %.not460, label %5091, label %5084

5084:                                             ; preds = %5080
  %5085 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not462 = icmp eq i32 %5085, 0
  %5086 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not462, label %5089, label %5087

5087:                                             ; preds = %5084
  %5088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5086, ptr noundef nonnull @.str.87, i32 noundef %5085) #10
  br label %5098

5089:                                             ; preds = %5084
  %5090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5086, ptr noundef nonnull @.str.88) #10
  br label %5098

5091:                                             ; preds = %5080, %5077
  %5092 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not461 = icmp eq i32 %5092, 0
  %5093 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not461, label %5096, label %5094

5094:                                             ; preds = %5091
  %5095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5093, ptr noundef nonnull @.str.89, i32 noundef %5092) #10
  br label %5098

5096:                                             ; preds = %5091
  %5097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5093, ptr noundef nonnull @.str.90) #10
  br label %5098

5098:                                             ; preds = %5094, %5096, %5087, %5089
  %5099 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %3) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #10
  ret i32 0
}

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

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) local_unnamed_addr #1

declare i32 @s2n_enable_atexit() local_unnamed_addr #1

declare i32 @s2n_init() local_unnamed_addr #1

declare i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef) local_unnamed_addr #1

declare i32 @s2n_test_cert_chain_and_key_new(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #1

declare ptr @s2n_config_new() local_unnamed_addr #1

declare ptr @s2n_connection_new(i32 noundef) local_unnamed_addr #1

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

declare i32 @s2n_free(ptr noundef) local_unnamed_addr #1

declare i32 @s2n_connection_free(ptr noundef) local_unnamed_addr #1

declare i32 @s2n_config_free(ptr noundef) local_unnamed_addr #1

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

declare i32 @s2n_stuffer_growable_alloc(ptr noundef, i32 noundef) local_unnamed_addr #1

declare i32 @s2n_stuffer_read_uint8(ptr noundef, ptr noundef) local_unnamed_addr #1

declare i32 @s2n_stuffer_read_uint24(ptr noundef, ptr noundef) local_unnamed_addr #1

declare ptr @s2n_stuffer_raw_read(ptr noundef, i32 noundef) local_unnamed_addr #1

declare i32 @s2n_stuffer_free(ptr noundef) local_unnamed_addr #1

declare ptr @s2n_config_new_minimal() local_unnamed_addr #1

declare i32 @s2n_config_ptr_free(ptr noundef) local_unnamed_addr #1

declare i32 @s2n_config_set_unsafe_for_testing(ptr noundef) local_unnamed_addr #1

declare i32 @s2n_stuffer_write_uint8(ptr noundef, i8 noundef zeroext) local_unnamed_addr #1

declare zeroext i8 @s2n_x509_ocsp_stapling_supported() local_unnamed_addr #1

declare void @s2n_debug_info_reset() local_unnamed_addr #1

declare zeroext i1 @s2n_is_tls13_fully_supported(...) local_unnamed_addr #1

declare i32 @s2n_read_test_pem_and_len(ptr noundef, ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #1

declare i32 @s2n_config_set_verification_ca_location(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #1

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

declare i32 @s2n_config_set_status_request_type(ptr noundef, i32 noundef) local_unnamed_addr #1

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

declare i32 @s2n_connection_ptr_free(ptr noundef) local_unnamed_addr #1

declare i32 @s2n_set_server_name(ptr noundef, ptr noundef) local_unnamed_addr #1

declare i32 @s2n_io_pair_close(ptr noundef) local_unnamed_addr #1

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) local_unnamed_addr #1

declare i32 @s2n_connection_set_io_pair(ptr noundef, ptr noundef) local_unnamed_addr #1

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

declare ptr @s2n_connection_get_ocsp_response(ptr noundef, ptr noundef) local_unnamed_addr #1

declare i32 @s2n_connection_is_ocsp_stapled(ptr noundef) local_unnamed_addr #1

declare i32 @s2n_config_set_client_auth_type(ptr noundef, i32 noundef) local_unnamed_addr #1

declare i32 @s2n_cleanup() local_unnamed_addr #1

; Function Attrs: nofree nounwind willreturn memory(argmem: read)
declare i32 @bcmp(ptr nocapture, ptr nocapture, i64) local_unnamed_addr #9

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

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

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


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